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

SIP協(xié)議規(guī)范RFC3261中文分享-19

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


  今天接上期文檔。
  12 Dialogs
  對(duì)用戶代理來(lái)說(shuō),一個(gè)重要的概念是 dialog。一個(gè)dialog表示兩個(gè)用戶代理之間 在特定時(shí)間內(nèi)保持的一個(gè)點(diǎn)對(duì)點(diǎn)關(guān)系。 Dialog用來(lái)支持用戶代理之間一系列的消 息,并且在它們之間提供正確的請(qǐng)求路 由。dialog通過(guò)SIP消 息解析,表示為文本 內(nèi)容。Section 8討論過(guò)針對(duì)外部dialog的 請(qǐng)求和響應(yīng)環(huán)境中對(duì)于method獨(dú)立的UA 場(chǎng)景的處理流程。此章節(jié)討論如何使用請(qǐng) 求和響應(yīng)來(lái)構(gòu)建一個(gè)dialog,以及如何在 dialog中發(fā)送后續(xù)的請(qǐng)求和響應(yīng)。
  在每個(gè)UA中,dialog 是通過(guò)dialog ID來(lái)確 認(rèn)的,它由一個(gè)Call-ID值,一個(gè)本地標(biāo)簽 和遠(yuǎn)端標(biāo)簽構(gòu)成。在此dialog中,每個(gè)UA涉及的dialog ID是不同的。具體來(lái)說(shuō),在-端UA的本地標(biāo)簽等同于在對(duì)端點(diǎn)UA的遠(yuǎn) 端標(biāo)簽。此標(biāo)簽是一個(gè)不透明度標(biāo)識(shí)符 號(hào),此標(biāo)識(shí)符號(hào)支持唯一的dialog IDs生 成。
  Dialog ID不但關(guān)聯(lián)所有的響應(yīng)消息,并且 關(guān)聯(lián)任何請(qǐng)求,此請(qǐng)求在To頭中含有一個(gè) 標(biāo)簽。一個(gè)消息的dialogID計(jì)算規(guī)則取決 于SIP要素是一個(gè)UAC還是UAS。對(duì)于UAC 來(lái)說(shuō),dialog ID的Call-ID設(shè)置為此消息的 Call-ID,遠(yuǎn)端標(biāo)簽設(shè)置為消息中To頭中的 這個(gè)標(biāo)簽,本地標(biāo)簽設(shè)置為消息中From頭 中的標(biāo)簽(此規(guī)則適用于請(qǐng)求和響應(yīng) 中)
  對(duì)于UAS來(lái)說(shuō),dialog ID中的Call-ID值設(shè)置為消息的Call-ID,遠(yuǎn)端標(biāo)簽設(shè)置為消息中From頭中的標(biāo)簽,本地標(biāo)簽設(shè)置為消息中To頭中的標(biāo)簽。
  一個(gè)dialog包含某些特別狀態(tài)消息,這些消息用來(lái)支持在此dialog中的后續(xù)的消息傳輸。這個(gè)狀態(tài)消息由這個(gè)dialog ID,一個(gè)本地序列號(hào)(用來(lái)支持從UA發(fā)送到對(duì)端的請(qǐng)求的順序),一個(gè)遠(yuǎn)端序列號(hào)(用來(lái)支持從遠(yuǎn)端到UA請(qǐng)求的順序),一個(gè)本地URL,一個(gè)遠(yuǎn)端URL,遠(yuǎn)端目的地,一個(gè)命名為“secure”的布爾flag,和一個(gè)路由組,此路由組是一個(gè)按續(xù)排列的URL列表。路由組是一個(gè)服務(wù)器列表,請(qǐng)求需要通過(guò)此列表服務(wù)器路徑發(fā)送到對(duì)端。
  Dialog可以是一種“早期”狀態(tài),這種早期狀態(tài)發(fā)生在當(dāng)它創(chuàng)建時(shí),它攜帶了一個(gè)臨時(shí)響應(yīng),當(dāng)收到一個(gè)2xx最終響應(yīng)消息后,此狀態(tài)會(huì)轉(zhuǎn)化為一個(gè)“確認(rèn)”狀態(tài)。在上面的dialog中,對(duì)于其他響應(yīng)或者完全沒(méi)有收到任何響應(yīng),這個(gè)早期dialog就會(huì)結(jié)束。
  12.1 Creation of a Dialog
  Dialogs是通過(guò)具體的methods來(lái)創(chuàng)建的,由一系列對(duì)請(qǐng)求的非失敗響應(yīng)生成。在此規(guī)范中,僅2xx和101-199響應(yīng)攜帶To標(biāo)簽的,請(qǐng)求是INVITE請(qǐng)求的響應(yīng)將會(huì)創(chuàng)建dialog。對(duì)于由非最終響應(yīng)創(chuàng)建的dialog來(lái)說(shuō),這種dialog是處于“早期”狀態(tài),稱之為一個(gè)早期dialog。拓展可定義其他含義支持創(chuàng)建dialogs。Section 13 列出了更多細(xì)節(jié),這些細(xì)節(jié)提供了針對(duì)INVITE method的說(shuō)明。這里,我們討論dialog狀態(tài)創(chuàng)建的流程,不依賴于這個(gè)method。
  關(guān)注微信公眾號(hào):asterisk-cn,獲得有價(jià)值的通信行業(yè)技術(shù)分享
  AsteriskFreepbx/FreeSBC技術(shù)文檔: www.freepbx.org.cn
  融合通信/IPPBX/FreePBX商業(yè)解決方案:www.hiastar.com
  如何使用FreeSBC,qq技術(shù)分享群:334023047

【免責(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è)