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