會話描述協議-SDP協議介紹
流媒體傳輸過程中看到或聽到的內容,SDP包通常包括以下資訊:
(1)會話資訊
· 會話名和目的
· 會話活動時間
由於參與會話的資源是受限制的,因此包括以下附加資訊是非常有用的
· 會話使用的頻寬資訊
· 會話負責人的聯絡資訊
(2)媒體資訊
· 媒體型別,例如視訊和音訊
· 傳輸協議,例如RTP/UDP/IP和H.320。
· 多播地址和媒體傳輸埠(IP多播會話)
· 用於聯絡地址的媒體和傳輸埠的遠端地址(IP單播會話)
SDP描述通常由許多文字行組成,其文字行格式為<型別>=<值>,<型別>是一個字母,<值>是結構化的文字串,格式依<型別>而定,如: SDP格式(帶*為可選):
Session description
v= (protocol version) //該行指示協議的版本
o= (owner/creator and session identifier)
例如: o=hybase 2890844526 2890842807 IN IP4 126.16.64.4 //o行中包含與會話所有者有關的引數(
1:第一個引數表明會話發起者的名稱,該引數可不填寫,如填寫和SIP訊息中,from訊息頭的內容一致;
2:第二個引數為主叫方的會話識別符號;
3:第三個引數為主叫方會話的版本,會話資料有改變時,版本號遞增;
4:第四個引數定義了網路型別,IN表示Internet網路型別,目前僅定義該網路型別;
5:第五個引數為地址型別,目前支援IPV4和IPV6兩種地址型別;
6:第六個引數為地址:表明會話發起者的IP地址,該地址為信令面的IP地址,信令PDP啟用時為手機分配。)
s= (session name) //表明本次會話的標題,或會話的名稱
i=* (session information)
u=* (URI of description)
e=* (email address)
p=* (phone number)
c=* (connection information - not required if included in all media)
b=* (zero or more bandwidth information lines)
One or more time descriptions ("t=" and "r=" lines, see below)
z=* (time zone adjustments)
k=* (encryption key)
a=* (zero or more session attribute lines)
Zero or more media descriptions
Time description
t= (time the session is active)
r=* (zero or more repeat times)
Media description, if present
m= (media name and transport address)例如: m=audio 3458 RTP/AVP 0 96 97 // m行又稱媒體行,描述了傳送方所支援的媒體型別等資訊(
1: 第一個引數為媒體名稱:表明支援音訊型別。
2: 第二個引數為埠號,表明UE在本地埠為3458上傳送音訊流。
3: 第三個引數為傳輸協議,一般為RTP/AVP協議;
4:第四~第七引數為所支援的四種淨荷型別編號)
m=video 3400 RTP/AVP 98 99 //m行又稱媒體行,描述了傳送方所支援的媒體型別等資訊
i=* (media title)
c=* (connection information - optional if included at session-level)
b=* (zero or more bandwidth information lines)
k=* (encryption key)
a=* (zero or more media attribute lines)