SIP 會(huì)話描述協(xié)議

2018-12-28 18:43 更新

SDP代表會(huì)話描述協(xié)議。它用于描述參與者通過(guò)網(wǎng)絡(luò)理解的格式的多媒體會(huì)話。根據(jù)該描述,一方?jīng)Q定是否加入會(huì)議或者何時(shí)或如何加入會(huì)議。

  • 會(huì)議的所有者通過(guò)發(fā)送包含會(huì)話描述的多播消息在網(wǎng)絡(luò)上廣告它。所有者的名稱,會(huì)話的名稱,編碼,時(shí)間等。根據(jù)這些信息,廣告的接收者做出關(guān)于參與會(huì)話的決定。

  • SDP通常包含在通常稱為SIP的會(huì)話發(fā)起協(xié)議的主體部分中。

  • SDP在RFC 2327中定義。SDP消息由一系列稱為字段的行組成,其名稱由單個(gè)小寫字母縮寫,并且以所需順序來(lái)簡(jiǎn)化解析。

SDP的目的

SDP的目的是在多媒體會(huì)話中傳達(dá)關(guān)于媒體流的信息,以幫助參與者加入或收集特定會(huì)話的信息。

  • SDP是一個(gè)短結(jié)構(gòu)化文本描述。

  • 它傳達(dá)會(huì)話的名稱和目的,媒體,協(xié)議,編解碼格式,定時(shí)和傳輸信息。

  • 臨時(shí)參與者檢查這些信息并決定是否加入會(huì)話,以及如果它決定如何以及何時(shí)加入會(huì)話。

  • 格式具有< type>形式的條目。 =< value>,其中< type> 定義唯一會(huì)話參數(shù),并且< value> 提供該參數(shù)的特定值。

  • SDP消息的一般形式是 -

    x = parameter1參數(shù)2 ...參數(shù)N

  • 行以單個(gè)小寫字母開頭,例如x。字母和=之間從不存在任何空格,每個(gè)參數(shù)之間只有一個(gè)空格。每個(gè)字段都有一定數(shù)量的參數(shù)。

會(huì)話描述參數(shù)

會(huì)話描述(*表示可選)

  • v = (protocol version)
  • o = (owner/creator and session identifier)
  • 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 =* (bandwidth information)
  • z =* (time zone adjustments)
  • k =* (encryption key)
  • a =* (zero or more session attribute lines)

協(xié)議版本

v =字段包含SDP版本號(hào)。因?yàn)镾DP的當(dāng)前版本是0,所以有效的SDP消息將始終以v = 0開始。

所有者/創(chuàng)建者和會(huì)話標(biāo)識(shí)符

o =字段包含有關(guān)會(huì)話發(fā)起者和會(huì)話標(biāo)識(shí)符的信息。此字段用于唯一標(biāo)識(shí)會(huì)話。

  • 該字段包含 -

    o =< username>< session-id>< version>< network-type>< address-type>

  • 用戶名參數(shù)包含發(fā)起方的登錄名或主機(jī)。

  • session-id 參數(shù)是用于確保唯一性的網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)時(shí)間戳或隨機(jī)數(shù)。

  • 版本是一個(gè)數(shù)字字段,對(duì)于會(huì)話的每個(gè)更改都會(huì)增加,也建議為NTP時(shí)間戳。

  • 對(duì)于Internet,網(wǎng)絡(luò)類型始終為IN。address-type參數(shù)為IPv4或IPv6地址的IP4或IP6(點(diǎn)分十進(jìn)制形式或完全限定的主機(jī)名)。

會(huì)話名稱

s =字段包含會(huì)話的名稱。 它可以包含任何非零數(shù)字的字符。可選的i =字段包含有關(guān)會(huì)話的信息。它可以包含任意數(shù)量的字符。

URI

可選的u =字段包含具有關(guān)于會(huì)話的更多信息的統(tǒng)一資源指示符(URI)

電子郵件地址

可選的e =字段包含會(huì)話主機(jī)的電子郵件地址。可選的p =字段包含電話號(hào)碼。

連接信息

c =字段包含有關(guān)介質(zhì)連接的信息。

  • 該字段包含 -

    c =< network-type>< address-type>< connection-address>

  • 對(duì)于Internet, network-type 參數(shù)定義為IN。

  • 地址類型定義為IPv4地址的IP4和IPv6地址的IP6。

  • connection-address 是將發(fā)送媒體數(shù)據(jù)包的IP地址或主機(jī),可以是多播或單播。

  • 如果組播,則connection-address字段包含 -

    connection-address = base-multicast-address / ttl / number-of-addresses

  • 其中 ttl 是生存時(shí)間值,并且地址數(shù)量指示從基本多播地址開始包括多少個(gè)連續(xù)的多播地址。

帶寬信息

可選b =字段包含有關(guān)所需帶寬的信息。 它的形式 -

b = modifier:bandwidth - value

時(shí)間,重復(fù)次數(shù)和時(shí)區(qū)

t =字段包含會(huì)話的開始時(shí)間和停止時(shí)間。

t =開始時(shí)間停止時(shí)間

可選的r =字段包含有關(guān)可以在NTP或天( d 小>),小時(shí)( h 小>)或分鐘( > m )。

可選的 z =字段包含有關(guān)時(shí)區(qū)偏移的信息。如果發(fā)生的會(huì)話跨越從夏令時(shí)到標(biāo)準(zhǔn)時(shí)間的更改,則使用此字段,反之亦然。

媒體公告

可選的 m =字段包含有關(guān)媒體會(huì)話類型的信息。 該字段包含 -

m =媒體端口傳輸格式列表

  • 媒體參數(shù)是音頻,視頻,文本,應(yīng)用程序,消息,圖像或控件。port參數(shù)包含端口號(hào)。

  • 傳輸參數(shù)包含使用的傳輸協(xié)議或RTP配置文件。

  • 格式列表包含有關(guān)介質(zhì)的更多信息。通常,它包含在RTP音頻視頻簡(jiǎn)檔中定義的媒體有效載荷類型。

Example:
m = audio 49430 RTP/AVP 0 6 8 99

這三個(gè)編解碼器之一可以用于音頻媒體會(huì)話。如果意圖是建立三個(gè)音頻通道,則將使用三個(gè)單獨(dú)的媒體字段。

屬性

可選的a =字段包含前面的媒體會(huì)話的屬性。 此字段可用于擴(kuò)展SDP以提供有關(guān)介質(zhì)的更多信息 如果SDP用戶沒(méi)有完全理解,則可以忽略屬性字段。 媒體字段中列出的每個(gè)媒體有效內(nèi)容類型可以有一個(gè)或多個(gè)屬性字段。

SDP中的屬性可以是

  • session level, or
  • media level.

會(huì)話級(jí)別意味著該屬性在SDP中的第一個(gè)媒體行之前列出。 如果是這種情況,該屬性將應(yīng)用于其下的所有媒體行。

媒體級(jí)別表示它在媒體行之后列出。 在這種情況下,屬性僅適用于該特定媒體流。

SDP可以包括會(huì)話級(jí)和媒體級(jí)屬性。 如果相同的屬性同時(shí)出現(xiàn),則媒體級(jí)屬性將覆蓋該特定媒體流的會(huì)話級(jí)屬性。 請(qǐng)注意,連接數(shù)據(jù)字段也可以是會(huì)話級(jí)或媒體級(jí)。

SDP示例

下面給出一個(gè)示例會(huì)話描述,取自RFC 2327 -

v = 0
o = mhandley2890844526 2890842807 IN IP4 126.16.64.4
s = SDP Seminar
i = A Seminar on the session description protocol
u = http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
e = mjh@isi.edu(Mark Handley)
c = IN IP4 224.2.17.12/127
t = 2873397496 2873404696
a = recvonly
m = audio 49170 RTP/AVP 0
m = video 51372 RTP/AVP 31
m = application 32416udp wb
a = orient:portrait
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)