SDP 簡易通話能力宣告
定義一組新 SDP 屬性,在一個 session 描述裡放一個 capability set,列出所有支援的媒體功能,可作為其它 session 協商的資訊來源。
SDP simcap 新增的屬性有:
a=sqn: <sqn-num>可以放在 session-level 或 media-level。一個 capability set 以 a=sqn 開始,緊接著第 1 個 a=cdsc,剩下可以散落各處。
a=cdsc: <cap-num> <media> <proto> <fmt list>
a=cpar: <cap-par>
a=cparmin: <cap-par>
a=cparmax: <cap-par>
a=sqn 說明 capability set 的序號 (sequence number),<sqn-num> 從 0 開始。每次新發表一個 capability set 取代舊的,序號加 1 後 modulo 256。接收端可能不會收到所有序號的 capability set,不能因為有跳號而拒絕。
a=cdsc 是 capability description,類似 m= 行,不需要 <port>,但多了 <cap-num>。全部 a=cdsc 中的 fmt 從 1 開始編號,<cap-num> 是每個 a=cdsc 中第一個 fmt 的編號。如此一來,傳送或接收端、<sqn-num>、加上 fmt 的編號就可以參照到一個特定媒體。接收端不能因為 fmt 編號有跳號而拒絕。
註:fmt 本身在不同 a=cdsc 可能重複。
註:包含在 m= 行的所有 fmt 也必須出現在 capability set。
cpar、cparmin、cparmax 可分別指定 capability 能支援的參數值、最小值、和最大值。
<cap-par> 可以是 "b=" 頻寬資訊或完整的 "a=" 屬性。
範例:
v=0準備送收 G.729 語音和 telephone-event 0-15、32-35。告知對方另外還可以支援:
o=- 25678 753849 IN IP4 128.96.41.1
s=
c=IN IP4 128.96.41.1
t=0 0
m=audio 3456 RTP/AVP 18 96
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-15,32-35
a=sqn: 0
a=cdsc: 1 audio RTP/AVP 0 18 96
a=cpar: a=fmtp:96 0-16,32-35
a=cdsc: 4 image udptl t38
a=cdsc: 5 image tcp t38
- PCMU 語音
- telephone event 16
- udp 或 tcp T.38 傳真 (見 T.38 Annex D, "SIP/SDP Call Establishment Procedures").
範例 (多個媒體串流):
v=0準備送收 G.729 語音和 H.261 影像。告知對方還可以支援:
o=- 25678 753849 IN IP4 128.96.41.1
s=
c=IN IP4 128.96.41.1
t=0 0
m=audio 3456 RTP/AVP 18
a=sqn: 0
a=cdsc: 1 audio RTP/AVP 0 18
m=video 3458 RTP/AVP 31
a=cdsc: 3 video RTP/AVP 31 34
- PCMU 語音
- H.263 影像
v=0
o=- 25678 753849 IN IP4 128.96.41.1
s=
c=IN IP4 128.96.41.1
t=0 0
a=sqn: 0
a=cdsc: 1 audio RTP/AVP 0 18
a=cdsc: 3 video RTP/AVP 31 34
m=audio 3456 RTP/AVP 18
m=video 3458 RTP/AVP 31
沒有留言:
張貼留言