a级片网址,www.一级毛片,日批国产,中文字幕日韩精品有码视频,黄色毛片免费网站,久久久精品午夜免费不卡,天堂福利视频

您當(dāng)前的位置是:  首頁(yè) > 資訊 > 國(guó)內(nèi) >
 首頁(yè) > 資訊 > 國(guó)內(nèi) >

完整SIP/SDP媒體協(xié)商概論-SDP基礎(chǔ)-會(huì)話描述說(shuō)明

2020-03-04 09:44:26   作者:james.zhu    來(lái)源:CTI論壇   評(píng)論:0  點(diǎn)擊:


  在上一章節(jié) SDP基礎(chǔ)-使用和要求的章節(jié)中,筆者討論了關(guān)于SDP的使用場(chǎng)景和一些SDP語(yǔ)法構(gòu)建。這里,我們根據(jù)SDP的規(guī)范說(shuō)明,重點(diǎn)介紹SDP具體的會(huì)話描述和媒體描述參數(shù)。
  5、SDP規(guī)范標(biāo)準(zhǔn)
  總體來(lái)說(shuō),SDP會(huì)話描述的語(yǔ)法由五個(gè)核心部分構(gòu)成,它們分別是:會(huì)話元數(shù)據(jù),流媒體,服務(wù)保障,網(wǎng)絡(luò)和安全。
  Session metadata(會(huì)話元數(shù)據(jù))描述了會(huì)話本身所需要的數(shù)據(jù)標(biāo)識(shí),包括SDP協(xié)議版本,會(huì)話發(fā)起方描述,會(huì)話身份確認(rèn)描述和會(huì)話活動(dòng)時(shí)間。
  Stream description包含了媒體功能的描述細(xì)節(jié)和參數(shù)。
  QoS描述包含了所有媒體流性能參數(shù),它可能通過(guò)其他信息的調(diào)用對(duì)多媒體流打包支持帶寬和其他資源的優(yōu)化。
  Network description可能包括各種傳輸協(xié)議(TCP,UDP等)和網(wǎng)絡(luò)協(xié)議以便支持多媒體會(huì)議參與方之間的媒體收發(fā)。
  Security 描述包括了密鑰,簽權(quán),認(rèn)證,不可否認(rèn)性,完整性內(nèi)容。
  一個(gè)SDP會(huì)話描述通過(guò)媒體類型標(biāo)識(shí)為:"application/sdp"。SDP會(huì)話描述完全是一種文本格式,其格式遵從UTF-8解碼規(guī)范。其基本的語(yǔ)法規(guī)范是:
  <type>=<value>
  這里,type必須是一個(gè)大小寫(xiě)敏感的字符,value是一種具有一定結(jié)構(gòu)的文本,value的格式完全取決于type的取值。通常情況下,value可以是多個(gè)值域或者一個(gè)自由文本格式。如果value包含多個(gè)值域的話,通過(guò)單空格隔離。注意,“=”兩邊決定不能使用空格。
  SDP會(huì)話描述由會(huì)話級(jí)描述緊接著零或多個(gè)媒體級(jí)的描述構(gòu)成。其中,會(huì)話級(jí)描述以"v="行開(kāi)始,一直繼續(xù)到第一個(gè)媒體級(jí)的"m="行之前結(jié)束。媒體級(jí)會(huì)話描述以"m="行開(kāi)始,然后繼續(xù)到下一個(gè)媒體級(jí)或整個(gè)會(huì)話描述結(jié)束。通常來(lái)說(shuō),除非媒體級(jí)的值覆蓋默認(rèn)設(shè)置,一般來(lái)說(shuō),對(duì)所有媒體來(lái)說(shuō),會(huì)話級(jí)的設(shè)置是默認(rèn)的。會(huì)話描述行分為必要設(shè)置和可選設(shè)置兩個(gè)部分,其會(huì)話描述文本格式必須按照固定順序呈現(xiàn),這樣可以方便處理,避免語(yǔ)法錯(cuò)誤。其中,可選會(huì)話描述設(shè)置帶一個(gè)"*"字符作為標(biāo)識(shí)。
  v=(protocol version) // "v" 開(kāi)始
  o=(originator 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=* (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, 這里可能無(wú)媒體會(huì)話
  媒體描述示例:
  m=(media name and transport address) // "m" 開(kāi)始
  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)
  接下來(lái),筆者重點(diǎn)介紹幾個(gè)常用的會(huì)話描述設(shè)置,主要包括會(huì)話級(jí)參數(shù),時(shí)間和媒體級(jí)參數(shù)設(shè)置。其他的會(huì)話描述在后續(xù)具體章節(jié)中再做闡述。
  Protocol Version ("v="),其語(yǔ)法格式為:
  v=0
  "v"定義了SDP版本。此規(guī)范定義的是0,沒(méi)有子版本。
  Origin ("o="),其語(yǔ)法格式為:
  o=<username> <sess-id> <sess-version> <nettype> <addrtype>
  <unicast-address>
  "o=" 定義了會(huì)話發(fā)起方名稱,sess-id 是一個(gè)數(shù)值字符串,通過(guò)用戶名稱,sess-id,nettype,addrtype,和unicast-address構(gòu)成了一個(gè)全局唯一認(rèn)證ID,<sess-version>是此會(huì)話描述的版本號(hào),<nettype>是一個(gè)文本字符串,表示網(wǎng)絡(luò)類型,初始設(shè)置是”IN"表示Internet。<addrtype>是一個(gè)文本字符串地址,表示是IP4或IP6,也可能使用其他的值。<unicast-address>,此地址是一個(gè)創(chuàng)建此會(huì)話的機(jī)器地址。
  Session Name ("s="), 其語(yǔ)法格式為:
  s=<session name>
  "s="定義了文本會(huì)話名稱,這里必須是僅一個(gè)會(huì)話名稱,此名稱不能為空,其字符串應(yīng)該包含ISO 10646字符。
  Session Information ("i="), 其語(yǔ)法格式為:
  i=<session description>
  "i=" 提供了關(guān)于此會(huì)話的文本信息,每個(gè)會(huì)話描述必須有一個(gè)"i=",一個(gè)媒體至少有一個(gè)"i="。如果出現(xiàn)了"a=charset"屬性的話,它會(huì)設(shè)定"i="的字符設(shè)置。如果沒(méi)有出現(xiàn)"a=charset"的話,"i="必須包含用UTF-8解碼的ISO 1646字符。單個(gè)"i="也可以使用在每個(gè)媒體定義中。在媒體定義中,"i="的主要目的是為了標(biāo)注媒體流。因此,這種標(biāo)注方式對(duì)單會(huì)話環(huán)境中有同一媒體類型,它需要支持完全不同的媒體流時(shí)非常有用。例如,兩個(gè)不同的白板功能,一個(gè)白板是支持自己的幻燈片播放,另外一個(gè)白板支持問(wèn)題答疑和回復(fù)處理。
  URI ("u="),其語(yǔ)法格式為:
  u=<uri>
  URL是WWW用戶使用的處理方式,URL應(yīng)該指向一個(gè)針對(duì)此會(huì)話的其他另外資源地址。此描述是可選描述。但是,如果它出現(xiàn)的話,它必須出現(xiàn)在第一個(gè)媒體前面。在每個(gè)會(huì)話描述中不允許第二個(gè)URL出現(xiàn)。
  Email Address 和 Phone Number ("e=" 和 "p="),其語(yǔ)法格式為:
  e=<email-address>
  p=<phone-number>
  "e=" 和 "p="定義了負(fù)責(zé)會(huì)議的聯(lián)系人信息。是否包含"e=" 和 "p="是可選的。這兩個(gè)會(huì)話描述使用不是非常廣泛。但是,如果出現(xiàn)了郵箱和電話號(hào)碼的話,它們必須出現(xiàn)在第一個(gè)媒體域前面。一個(gè)會(huì)話可以支持一個(gè)或者多個(gè)郵箱或者電話號(hào)碼。電話號(hào)碼的格式必須按照ITU-T推薦格式來(lái)定義,號(hào)碼前加一個(gè)”+“前綴,并且使用”-“分離電話號(hào)碼,方便用戶閱讀。例如:
  p=+1 617 555-6011
  如果是電子郵件的話,兩種格式都可以支持:
  e=j.doe@example.com (Jane Doe)
  或者
  e=Jane Doe <j.doe@example.com>
  Connection Data ("c="), 其語(yǔ)法格式為:
  c=<nettype> <addrtype> <connection-address>
  它包含一些連接數(shù)據(jù)。在會(huì)話描述中,媒體描述必須至少包含一個(gè)"c="行,或者在會(huì)話級(jí)包含一個(gè)單個(gè)"c="行。在某些應(yīng)用場(chǎng)景中,預(yù)設(shè)的媒體設(shè)置可以覆蓋默認(rèn)的設(shè)置會(huì)話級(jí)的參數(shù)。因此,在每個(gè)媒體會(huì)話中,"c="可以包含一個(gè)單個(gè)的會(huì)話級(jí)的"c="和其他另外的子"c="行。這里的<nettype>和<addrtype>值和前面介紹的一樣,讀者參考前面的介紹。<connection-address>是一個(gè)連接地址,在連接地址后可以增加另外的子項(xiàng),這些子項(xiàng)取決于<addrtype>類型(是IP4還是IP6地址)。如果會(huì)話在多播方式做工作,連接地址必須是一個(gè)多播地址組,如果會(huì)話在單播方式工作,則廣播地址是單播地址。如果會(huì)話使用的是一個(gè)多播IP4類型的話,多播連接地址必須支持存活時(shí)間(TTL),TTL取值范圍在0-255之間(例如:c=IN IP4 224.2.36.42/127,TTL是127)。注意,IP6沒(méi)有使用TTL,因此也沒(méi)有TTL設(shè)置,TTL肯定不會(huì)出現(xiàn)在IP4中。IP6使用的是一種繼承或?qū)蛹?jí)方式來(lái)實(shí)現(xiàn)連接地址的處理(例如:c=IN IP6 FF15::101, 無(wú)TTL)。
  Bandwidth ("b="),其語(yǔ)法格式為:
  b=<bwtype>:<bandwidth>  // kilobits per second
  它是一個(gè)可選會(huì)話描述,表示對(duì)會(huì)話或者媒體建議使用的帶寬。帶寬類型子項(xiàng)是以字母方式表示(我們這里討論的是支持兩種類型:CT和AS,還有可能出現(xiàn)TIAS),針對(duì)后面的帶寬數(shù)值描述。CT和AS在創(chuàng)建使用上有明顯的不同。CT(Conference Total)表示多會(huì)話廣播中會(huì)話或者媒體使用的最大帶寬建議值,CT值相當(dāng)于所有會(huì)話帶寬值。AS(Application-Specific)是指具體某個(gè)應(yīng)用程序所占用的總帶寬建議值,相當(dāng)于最大應(yīng)用程序帶寬值,它僅值單媒體在單點(diǎn)所占用的帶寬。如果讀者對(duì)AS有興趣的話,可以閱讀RFC3550-6,RFC3556-2中的RS/PR收發(fā)帶寬修改機(jī)制和RFC3890關(guān)于Bandwidth Modifier的規(guī)范說(shuō)明。
  Timing ("t="),其語(yǔ)法格式為:
  t=<start-time> <stop-time>
  它設(shè)置了啟動(dòng)和停止會(huì)話的時(shí)間。如果在非正常周期時(shí)間段啟動(dòng)會(huì)話,此會(huì)話需要增加多"t="行。每個(gè)"t="支持另外一個(gè)時(shí)間段表示會(huì)話在此時(shí)間段是活動(dòng)狀態(tài)。如果會(huì)話使用在正常時(shí)間周期,"t="后面加了一個(gè)"r="行表示重復(fù)次數(shù)。這兩個(gè)時(shí)間標(biāo)識(shí)使用的是NTP的十進(jìn)制的方式表示,以秒為單位。此時(shí)間規(guī)范在RFC1305中有非常明確的發(fā)明,此時(shí)間不是UNIX定義的時(shí)間,用戶可以參考轉(zhuǎn)換方式來(lái)進(jìn)一步了解如何轉(zhuǎn)換。 如果<stop-time>設(shè)置為0,則表示會(huì)話不受限,除非<start-time>后,此會(huì)話才會(huì)被啟動(dòng)。如果<start-time>設(shè)置為0,則表示此會(huì)話是一個(gè)永久會(huì)話。通常情況下,規(guī)范不建議在用戶接口或者其他應(yīng)用控制界面設(shè)置這兩個(gè)時(shí)間取值,這樣會(huì)導(dǎo)致會(huì)話時(shí)間錯(cuò)亂,會(huì)話控制失效。
  Repeat Times ("r="),其語(yǔ)法規(guī)則為:
  r=<repeat interval> <active duration> <offsets from start-time>
  它定義了對(duì)此會(huì)話的時(shí)間重復(fù)次數(shù)。"r="行的取值是根據(jù)前面的"t="決定的。
  Time Zones ("z="), 其語(yǔ)法格式為:
  z=<adjustment time> <offset> <adjustment time> <offset> …
  會(huì)話時(shí)差處理。為了對(duì)重復(fù)的會(huì)話(此會(huì)話貫穿一個(gè)白天晚上到標(biāo)準(zhǔn)時(shí)間的修改流程,或者相反處理)進(jìn)行定時(shí)處理,有必要對(duì)標(biāo)準(zhǔn)時(shí)間設(shè)定一個(gè)偏移時(shí)間數(shù)值。這樣就要求針對(duì)不同的時(shí)間對(duì)應(yīng)不同的時(shí)間標(biāo)準(zhǔn)。每個(gè)國(guó)家可能都有自己的時(shí)差日期基準(zhǔn)。因此,為了保證對(duì)同一會(huì)話在不同時(shí)期進(jìn)行定時(shí)處理,必須對(duì)數(shù)據(jù)雙方雙方明確設(shè)定一個(gè)時(shí)間基準(zhǔn)和偏移值。
  Encryption Keys ("k="),其語(yǔ)法結(jié)構(gòu)如下:
  k=<method>
  k=<method>:<encryption key>
  如果傳輸消息需要通過(guò)一個(gè)安全的傳輸方式進(jìn)行的話,SDP可以用來(lái)傳輸密鑰。"k=" 行提供了一個(gè)簡(jiǎn)單的密鑰交換機(jī)制。為什么說(shuō)是簡(jiǎn)單的交換機(jī)制?因?yàn)楫?dāng)初設(shè)計(jì)"k="行的主要目的是考慮和舊部署規(guī)范的兼容性支持,也不是規(guī)范所推薦的使用方式。"k="本身不具有拓展性,支持不了更多傳輸參數(shù)和密鑰管理功能,一些比較新的密鑰交換機(jī)制也逐步使用在了SDP會(huì)話描述中。"k="使用仍然在更新中,一些語(yǔ)法和內(nèi)容相對(duì)比較舊(例如缺少安全協(xié)議中要求的兩個(gè)密鑰的支持:confidentiality 和integrity),因此,筆者不打算在這里再展開(kāi)討論。關(guān)于"k="具體的使用方式,用戶可以通過(guò)RFC 4567規(guī)范和RFC4568做更加詳細(xì)的理解,這兩個(gè)規(guī)范中增加了更多對(duì)SDP的拓展支持。這些交換機(jī)制和密鑰管理也會(huì)使用在一些新的應(yīng)用場(chǎng)景中。
  Attributes ("a="),其語(yǔ)法格式為:
  a=<attribute>
  a=<attribute>:<value>
  Attributes 表示拓展的SDP的基本含義,我們這里翻譯為特征屬性。特征屬性參數(shù)可以定義在會(huì)話級(jí)和媒體級(jí)。媒體描述中可以定義多個(gè)"a="行來(lái)定義具體的媒體特性。"a="可以出現(xiàn)在第一個(gè)媒體描述前,這是會(huì)話級(jí)的屬性參數(shù),這樣的屬性是針對(duì)整個(gè)會(huì)議會(huì)議定義的,不是針對(duì)單獨(dú)媒體定義的屬性。特征Attributes屬性可以支持兩種屬性格式:
  "a=<flag>."  // 例如:"a=recvonly."
  "a=<attribute>:<value>. // 例如 "a=orient: landscape."
  特征屬性的取值取決于使用的媒體工具。特征屬性的值除了0x00 (Null),0x0A (LF),和 0x0D (CR)以外,可以是任何octet字符串。默認(rèn)取值解析為ISO-10646字符形式,通過(guò)UTF-8解碼取值。如果接收方不理解已接收的特征屬性值,接收方必須忽略此特征屬性值。
  Media Descriptions ("m="): 其語(yǔ)法格式為:
  m=<media> <port> <proto> <fmt> …
  一個(gè)會(huì)話描述中可以包含多個(gè)媒體描述。每個(gè)媒體描述以"m="開(kāi)始,媒體描述結(jié)束以下一個(gè)媒體描述開(kāi)始或者以會(huì)話描述結(jié)束來(lái)結(jié)尾。一個(gè)媒體描述包含幾個(gè)媒體描述子項(xiàng):
  <media>,它表示媒體類型,目前定義的媒體類型包括語(yǔ)音,視頻,應(yīng)用程序,和消息。未來(lái)可能還有其他類型,用戶需要密切關(guān)注。
  <port>,它是一個(gè)傳輸端口,媒體發(fā)送到此端口。此端口依賴于"c="行定義的網(wǎng)絡(luò)傳輸協(xié)議。其他被媒體應(yīng)用程序使用的端口,例如RTCP端口需要根據(jù)其基準(zhǔn)端口來(lái)設(shè)定相應(yīng)的端口,或者分開(kāi)特征屬性設(shè)置。如果使用了非連續(xù)端口或者沒(méi)有遵從偶數(shù)-RTP端口,奇數(shù)-RTCP端口的規(guī)則處理的話,必須增加一個(gè)"a=rtcp:"行。應(yīng)用程序被發(fā)送到一個(gè)端口,此端口是一個(gè)奇數(shù)端口,并且出現(xiàn)"a=rtcp:"行時(shí),此媒體一定不能從RTP端口減一,應(yīng)用程序必須發(fā)送RTP數(shù)據(jù)到<port>指定的端口,并且發(fā)送RTCP到"a=rtcp"屬性設(shè)定的端口。對(duì)于某些應(yīng)用程序,它們的媒體流通過(guò)層級(jí)解碼發(fā)送到單播地址時(shí),它們有必要設(shè)定多個(gè)傳輸端口。使用語(yǔ)法和多播地址的方式類似: m=<media> <port>/<number of ports> <proto> <fmt> …這種場(chǎng)景中,使用的端口依賴于傳輸協(xié)議類型。一些讀者可能明白,通常默情況下,RTP使用偶數(shù)端口傳輸數(shù)據(jù),它的RTCP使用高一位數(shù)的奇數(shù)端口控制RTP會(huì)話。<number of ports>表示RTP會(huì)話數(shù)量。例如:
  m=video 49170/2 RTP/AVP 31
  這里,媒體會(huì)話將設(shè)定一個(gè)視頻媒體類型,端口從49170開(kāi)始計(jì)算,包括兩對(duì)RTP媒體會(huì)話,其中第一對(duì)媒體會(huì)話是49170端 口(RTP)和 49171 端口(RTCP)。第二對(duì)是從49172(RTP)和49173端 口(RTCP)端口。RTP/AVP是傳輸協(xié)議,31是媒體格式(fmt,H261)。以上介紹的是默認(rèn)環(huán)境中使 用的連續(xù)端口,如果端口使用的是非連續(xù)的端口,需要增加屬 性"a=rtcp:" 分開(kāi)獨(dú)立的端口屬性。
  <proto>,它是傳輸協(xié)議。這里的傳輸協(xié)議依賴于"c="行定義的地址類型。目前支持的主要的幾個(gè)類型包括:UDP,RTP/AVP,RTP/SAVP。這里專門(mén)針對(duì)媒體格式設(shè)定不同的傳輸協(xié)議是因?yàn)橥痪W(wǎng)絡(luò)協(xié)議時(shí),標(biāo)準(zhǔn)的媒體格式可以通過(guò)不同的傳輸協(xié)議來(lái)進(jìn)行傳輸。這樣的設(shè)定可以支持不同的網(wǎng)絡(luò)傳輸和滿足不同檢測(cè)工具部署。
  <fmt>,它表示一種媒體格式描述。前面第四個(gè)子項(xiàng)或者其他后續(xù)子項(xiàng)都表示媒體格式。媒體格式描述的解析依賴于<proto>子項(xiàng)的值。如果<proto> 子項(xiàng)是"RTP/AVP"或者"RTP/SAVP,媒體格式描述會(huì)包含RTP payload 類型號(hào)碼。當(dāng)給定了一個(gè)payload類型列表時(shí)(靜態(tài)方式,從96-127),這表示所有的媒體格式可以適用于此會(huì)話中,但是,通常列表中的第一個(gè)格式應(yīng)該作為此會(huì)話默認(rèn)支持格式。如果payload類型列表是動(dòng)態(tài)的payload類型列表的話,SDP使用"a=rtpmap:"屬性來(lái)執(zhí)行一個(gè)映射(從RTP payload 類型號(hào)碼到媒體解碼名稱),通過(guò)媒體類型號(hào)碼到媒體解碼名稱的對(duì)應(yīng)關(guān)系來(lái)確認(rèn)payload格式。"a=fmtp:" 行可以用來(lái)設(shè)定具體的媒體格式參數(shù)。在很多應(yīng)用場(chǎng)景中,用戶可以看到動(dòng)態(tài)payload不匹配導(dǎo)致的問(wèn)題,例如Asterisk或者FreeSWITCH的運(yùn)行環(huán)境中,我們經(jīng)常看到類似的錯(cuò)誤:
  Unsupported payload type received
  關(guān)于動(dòng)態(tài)payload的規(guī)范定義,用戶可以查閱RFC3551-6。
  6、SDP屬性說(shuō)明/IANA/ABNF
  除了我們前面介紹的會(huì)話描述和媒體描述說(shuō)明以外,SDP以支持了特征屬性的拓展,通過(guò)拓展的屬性可以支持更多的屬性參數(shù)。SDP屬性支持了會(huì)話級(jí)和媒體級(jí)屬性兩種。會(huì)話級(jí)屬性顧名思義,它是針對(duì)會(huì)話層級(jí)的屬性。媒體級(jí)屬性針對(duì)媒體屬性設(shè)置所設(shè)置的屬性。大家經(jīng)常遇到的也是一些在應(yīng)用場(chǎng)景中常見(jiàn)的屬性設(shè)置,我們這里也不可能做一個(gè)非常完整的歸納。因此,因?yàn)槠蓿P者只能介紹一下其基本的語(yǔ)法構(gòu)成:
  a=tool:<name and version of tool>
  具體在一般場(chǎng)景中看到的例如:
  a=ptime:<packet time>
  此特征屬性表示一個(gè)數(shù)據(jù)包中的媒體打包時(shí)長(zhǎng)的特征屬性。如果使用RTP映射的話,使用的語(yǔ)法為:
  a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding
  parameters>]
  另外,為了規(guī)范SDP會(huì)話描述中的語(yǔ)法格式,讀者也需要了解幾個(gè)相關(guān)的規(guī)范,這些規(guī)范定義了SDP的語(yǔ)法規(guī)則。IANA和ABNF是在SDP規(guī)范中需要了解的基本語(yǔ)法,其中,ABNF規(guī)定了一些基本的規(guī)則,包括空格,大小寫(xiě),分割行和各種會(huì)話描述,媒體描述以及特征屬性的完整說(shuō)明。
  7、總結(jié)
  在本章節(jié)中,筆者重點(diǎn)介紹了關(guān)于SDP規(guī)范細(xì)節(jié)的會(huì)話描述部分以及相關(guān)的拓展屬性介紹。筆者通過(guò)三個(gè)子章節(jié)的篇幅,基本介紹了SDP的使用方式和要求,增加針對(duì)SDP會(huì)話描述和媒體描述的規(guī)范細(xì)節(jié)做了充分說(shuō)明和拓展介紹,并且對(duì)SDP的特征屬性已經(jīng)IANA和ABFN做了一些簡(jiǎn)單介紹。以上內(nèi)容都相對(duì)比較抽象,讀者需要在實(shí)際生產(chǎn)環(huán)境中不斷練習(xí),不斷解決排查問(wèn)題,才能對(duì)這些內(nèi)容有進(jìn)一步的了解。
  到此為止,筆者已經(jīng)完整介紹了SDP的基礎(chǔ)和核心語(yǔ)法。這些基礎(chǔ)的內(nèi)容為我們后續(xù)章節(jié)的介紹打下了一個(gè)比較好的基礎(chǔ)。在接下來(lái)的章節(jié)中,我們將首先完整介紹SDP的協(xié)商模式。
  再次說(shuō)明,因?yàn)楹芏嗉s定用語(yǔ)需要翻譯成中文的含義,本文中的翻譯風(fēng)格或者理解不同可能有一些出入,希望讀者諒解。
  參考鏈接:
  https://www.rfc-editor.org/rfc/rfc3556
  https://www.rfc-editor.org/rfc/rfc3890
  https://www.rfc-editor.org/rfc/rfc4567
  關(guān)注微信公眾號(hào):asterisk-cn,獲得有價(jià)值的Asterisk行業(yè)分享
  Asterisk freepbx FreeSBC技術(shù)文檔: www.freepbx.org.cn
  融合通信/IPPBX商業(yè)解決方案:www.hiastar.com
  如何使用FreeSBC,qq技術(shù)分享群:334023047, www.freesbc.cn
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

相關(guān)閱讀:

專題

CTI論壇會(huì)員企業(yè)

福鼎市| 西贡区| 怀仁县| 屏南县| 高唐县| 鄯善县| 澄城县| 万全县| 南安市| 邵东县| 安龙县| 华坪县| 松滋市| 深圳市| 龙游县| 随州市| 新和县| 乌鲁木齐市| 青铜峡市| 平利县| 衡山县| 乐亭县| 江孜县| 措美县| 固镇县| 嘉义市| 航空| 探索| 长子县| 崇明县| 中宁县| 岗巴县| 临泽县| 松溪县| 怀安县| 唐海县| 红原县| 蓬溪县| 从化市| 叶城县| 永福县|