sponsored links

SIP網路移動性及相關Dialog,Call-ID和tag說明

我們處在一個每天或者每小時,甚至於每分鐘都在變化的時代。大資料,人工智慧,5G,以至於XG都是推動變化的發動機。新的IP企業通訊環境中,和傳統的或者以前的企業通訊相比,一個比較重要的變化是SIP端的變化。SIP終端從單一固定物理形態改變為可移動的多形態終端。這個變化是革命性的變化,透過這個變化,才使得IP企業通訊的使用者可以實現移動辦公,遠端辦公,包括現在的物聯網IOT終端等應用場景,也實現了立體的雲端IPPBX和使用者終端的連線。但是,如果實現SIP移動支援的話,SIP呼叫的信令互動就因為多終端處理,它們相關的dialog,tag和事務可能會發生相應的變化。今天,筆者就SIP的移動性和SIP移動性引發的Dialog,Call-ID等方面的變化做一些討論說明。

此圖片以及以下部分圖片均來自於網際網路資源

自從2005年起, 著名的基於開源的Asterisk被Linksys WRT54G series應用到低端的企業和中小型企業的路由器中以後,緊接著在2006年,SIP協議棧被諾基亞遷移到了基於塞班作業系統的E系列諾基亞終端以後,SIP的移動性才真正開始獲得認可。隨著業務場景和需求的變化,網路系統的變化,現在的IPPBX或者電話系統中,SIP終端可以支援很多不同的型別,包括智慧手機端APP,物理SIP話機和PC端的SIP軟電話等幾種不同的形態,但是,無論SIP終端以何種形態或者存在方式,同一SIP賬號下的多種形態都需要註冊到SIP代理伺服器,透過SIP代理伺服器結合定位服務來實現不同形態SIP終端的呼叫控制。

1

SIP移動性背景說明

關於SIP移動性討論的分享,筆者在以前的文章中有過比較詳細的描述,讀者也可以參考歷史文件來獲得這方面的討論:SIP系列講座-SIP移動性的場景介紹。此文件是針對歷史文章的進一步補充,主要特別針對SIP移動場景中針對Dialog,Call-ID進行進一步闡述。

透過以上圖例,我們可以看到,SIP移動性主要針對SIP終端的移動性進行物理上的移動處理支援,SIP移動性支援了使用者終端自由移動,透過SIP代理伺服器實現對移動地址的靈活支援,使用者可以使用已註冊的任意一種移動終端接聽電話,因此SIP移動性必須具備以下四個方面的特徵:

  1. SIP透過SIP代理和轉發請求方式支援使用者的移動性,查詢地址後轉發到新的線上狀態地址。
  2. SIP使用者端形態可以是PC端的軟電話,物理SIP話機,手機APP,IOT終端或者其他無線SIP話機。
  3. 使用者必須註冊其當前的地址到SIP代理伺服器。
  4. 代理伺服器根據其定位地址來決定最終呼叫目的地。

2

SIP分叉呼叫中的併發呼叫和按序呼叫討論

在以上關於移動性的討論中,我們注意到一個比較重要的問題。當呼叫方呼叫被呼叫方時,如果SIP代理伺服器配置了不同方式的呼叫的話,被呼叫方就會因為移動端支援的不同,可能出現不同被呼叫方具體的結果。在SIP代理伺服器可以支援SIP分叉並行呼叫和SIP按序呼叫兩種方式。關於SIP fork的細節,讀者可以參考:分叉呼叫(Fork) 具體處理流程分析,筆者這裡僅重新回顧這些細節以便讀者方便了解後續的討論。這兩種方式會按照SIP呼叫流程的協商形式的不同而產生不同的呼叫流程和呼叫結果,最終會影響被呼叫方呼叫狀態。

在以上的並行呼叫處理中,SIP代理伺服器會同時呼叫兩個SIP終端使用者。如果其中一個首先應答的話(SIP物理話機-鼎信SIP話機(B-1)),代理伺服器然後執行呼叫方和之間的呼叫流程(180 ring),然後代理伺服器會取消另外一個呼叫(B-2的PC端軟電話),最後確認ACK握手,對另外一臺終端執行最終ACK處理。然後再執行應答終端之間的RTP建立,並且開始雙方RTP流的傳輸。

SIP分叉呼叫中的按序處理方式則和並行呼叫的處理方式有所不同,按序方式中,SIP代理伺服器會根據呼叫順序依次進行呼叫。讀者參考以下SIP分叉處理的按序呼叫流程示意圖,如果其中一臺SIP終端因為其他原因(Busy或者其他狀態)不能接聽了SIP的話,則返回302,然後確認302以後。代理伺服器依次進行下一個SIP終端呼叫,直到其中一個SIP使用者應答了呼叫,然後進行RTP流建立,雙方開始語音傳輸。

在分叉呼叫中,如果同一賬號支援了不同SIP終端例項註冊的話,在分叉呼叫中就會出現不同的連線狀態。當出現問題使用者,對其進行跟蹤排查是一個比較困難的事情。因此,如何對這些終端進行跟蹤就顯得比較重要。比較幸運的是,所有的SIP終端在不同事務中都根據不同的SIP頭和其他終端進行了區別。

我們現在討論一個在分叉呼叫中比較極端的場景,如果呼叫方A呼叫了被呼叫方B,被呼叫方B的兩個終端同時應答了呼叫的話,然後一段時間後,其中一個被呼叫方終端結束通話了呼叫,那麼,接下來的SIP呼叫流程會如何處理呢?在進行詳細說明之前,筆者首先對呼叫的兩個重要概念做一點提前說明。這兩個基本概念是call leg和dialog。在早期的SIP協議規範RFC2543中,call leg是定義兩個UA之間的SIP信令之間的關係,在RFC3261中使用dialog替代了call leg的定義。

 Call Leg: Another name for a dialog [31]; no longer used in this
 specification. (RFC3261 section 8)

因此,在後續介紹中為了避免使用者的困惑,我們這裡首先說明。目前,很多使用者為了表達的方便,或者也有部分讀者對dialog比較迷惑,容易對這些功能誤用,希望讀者能夠引起注意。如果需要詳細瞭解dialog的規範說明,建議讀者參考RFC3261和RFC2543的規範。在以下的特殊呼叫場景中,我們可以看到,呼叫方A收到了請求的200 OK響應,一個呼叫產生了兩個call legs或者dialogs。

3

SIP分叉呼叫中dialog建立

根據以下這個特殊的流程,如果我們取消了移動端的呼叫的話,我們看一下如何處理不同的dialog以及其後續流程的變化。

在進一步討論之前,我們首先說明一下關於SIP dialog的定義。一個SIP dialog 是透過Call-ID,From中的local/本地tag和To遠端的tag組合定義的。現在讓我們一步步結合這個特殊示例進行呼叫分析,說明Call-ID,本地tag,遠端tag以及2以及CSeq的變化。在呼叫方發起第一個呼叫時,在以下的示例中,已經生成了Call-ID,本地的tag,但是沒有生成遠端的tag值。

SIP代理拒絕了第一個呼叫以後,同一呼叫方另外應該呼叫發起以後,SIP INVITE中出現了稍微不同的訊息內容。Call-ID相同,但是CSeq 出現了遞增(遞增1),並且因為這是應該新的事務,而且branch也出現了不同。

現在,被呼叫方回覆了200 OK以後,dialog建立就已經完成,針對此Call-ID和From tag=86aee210添加了本地的tag。

到此為止,一個完整的dialog就生成了。如果是另外一個終端應答了呼叫,其處理流程基本一致,Call-ID,From tag 始終是一樣的,To tag會有所不同。因此,分叉呼叫會導致多個dialog,每個dialog是完全唯一,它本身具有其獨特的。dialog建立以後,SIP代理負責綁定了雙方終端具體的呼叫業務關係,呼叫方和被呼叫方之間可以繼續進行其他的業務操作,例如呼叫保持,呼叫保持重啟,訂閱等等業務控制。這些業務都會生成不同的事務,但是,這些事務都屬於此dialog中。

如果讀者想了解更多關於dialog 和事務的詳解,讀者可以參考歷史文章:

再論SIP呼叫中的Call,Dialog和Transaction。透過以上流程詳解,我們可以看到SIP代理是如何一步步針對SIP的移動性功能支援流程進行處理的。

4

總結

SIP的移動性支援是來自於網路發展的必然,也是現代企業融合通訊的要求。越來越多的員工使用了移動裝置,多點辦公也逐漸成為常態。透過SIP移動性的支援,各種移動終端可以實現無縫呼叫連線。

筆者首先介紹了關於SIP移動端的起源,然後介紹了SIP移動性所引起的呼叫不同型別。在SIP代理伺服器端,代理伺服器可能根據配置的不同,支援了併發呼叫或者按序呼叫兩種形態。SIP代理伺服器根據不同型別的呼叫產生了不同的dialog以及其他tag的變化。在特殊場景中,SIP的dialog根據呼叫狀態也發生了變化。最後,筆者根據示例介紹了具體的tag,dialog等相關概念在SIP移動性方面的支援和變化情況,這些變化可能導致SIP移動支援中產生多個dialog。雖然,SIP移動性透過代理伺服器以後,產生了多種SIP訊息變化,只要讀者在排查過程中重點找到相關的dialog以及繫結的tag標籤,可以比較輕鬆獲得呼叫的完整路徑。

雖然筆者在以上的討論中列舉了應該比較特殊的示例,但是足以說明SIP移動性支援中關於SIP信令的處理。讀者可以根據SIPdialog做更深入學習。

參考資料:

https://en.wikipedia.org/wiki/Session_Initiation_Protocol

www.dinstar.cn

www.asterisk.org.cn

https://datatracker.ietf.org/doc/html/rfc3261#section-8

分類: 科學
時間: 2021-12-06

相關文章

山西大學化學學科晶態材料研究所在手性雜化鈣鈦礦非線性光學研究方面取得新進展
近日,山西大學化學學科晶態材料研究所張獻明.符冬營團隊的研究成果"Chirality-Dependent Second-Order Nonlinear Optical Effect in 1 ...

學術頭條:不是哥倫布發現的美洲大陸,月球竟在地球大氣層中,85%人口生活在受人為影響氣候變化地區

學術頭條:不是哥倫布發現的美洲大陸,月球竟在地球大氣層中,85%人口生活在受人為影響氣候變化地區
首款治療新冠的口服抗病毒療法提交緊急使用授權申請 美國製藥企業默沙東和Ridgeback Biotherapeutics宣佈,已經向美國FDA遞交尚在3期臨床試驗的口服抗病毒藥物Molnupiravi ...

又登《自然》,南科大近期科研成果一覽

又登《自然》,南科大近期科研成果一覽
南科大國際研究團隊在<自然>雜誌上釋出觀測到原子手性超流的重大研究成果 南方科技大學物理系副教授.量子科學與工程研究院創始研究員許志芳領導的團隊與南科大量子科學與工程研究院和美國匹茲堡大學 ...

學術頭條:寮國發現和新冠病毒最接近的冠狀病毒,科學家研究出可充電的發光植物,火星生命的產生或受火星大小限制

學術頭條:寮國發現和新冠病毒最接近的冠狀病毒,科學家研究出可充電的發光植物,火星生命的產生或受火星大小限制
莫德納疫苗加強針的安全性和效力 隨著多種新冠病毒變異株的出現以及抗體對一些突變株的中和作用減弱,科學家開始關注疫苗加強針.為了評估新冠疫苗加強針的安全性和效力,研究人員讓打過2針莫德納mRNA-127 ...

中科院最新科研進展、科技動態 2021.10.11 星期一
科研進展 1.紫金山天文臺新發現一顆"紫金山"彗星 2.卡林型金礦中"不可見金"定量表徵研究取得進展 3.底層魚類阻礙湖泊清水重建機理研究取得新進展 4.大連化 ...

1975年,漁民在渤海底發現“神秘”化石,證明一萬年前這裡是陸地

1975年,漁民在渤海底發現“神秘”化石,證明一萬年前這裡是陸地
上世紀七十年代,我國漁民在渤海的海底處,發現一塊相當神秘的化石,考古專家鑑定之後發現,一萬年前的渤海地區居然是古陸地.這塊神秘的化石究竟是什麼?它的背後又隱藏著怎樣的秘密?如果您想知道,就讓小編來為您 ...

丁仲禮院士:中國碳中和框架路線圖研究

丁仲禮院士:中國碳中和框架路線圖研究
各位院士,針對"雙碳目標"(編者注:"雙碳目標"指碳達峰.碳中和),中國科學院學部設立了一個重大諮詢專案--"中國碳中和框架路線圖研究",由 ...

碳中和——週期行業的投資機會

碳中和——週期行業的投資機會
一.前文回顧 前文詳細介紹了在能源利用的終端,汽車產業作為最大的消費市場,在推動實現碳中和目標上,不可或缺,而目前新能源車的主要技術路線分為純電動汽車和氫燃料電池汽車. 純電動車是指完全由動力蓄電池提 ...

犧牲後所在連隊用他的名字命名!張德勝:不能忘卻的英雄
"烈士張德勝,系山東省諸城市枳溝鎮小河北村人,1944年參加革命,曾任華東野戰軍第三縱隊九師二十五團一營二連連長.1947年1月,在魯南戰役洋橋戰鬥中,張德勝率領連隊與數倍於己之敵展開殊死搏 ...

一文看懂碳中和40年轉型機遇

一文看懂碳中和40年轉型機遇
圖片來源@視覺中國 整編|譚麗平,內容來源|<一本書讀懂碳中和>安永碳中和課題組,機械工業出版社 碳中和概念正迎來高增長期. 今年年初,國家將"做好碳達峰.碳中和工作" ...

「共赴春城之約」科普 | 碳匯:用生態手段減少溫室氣體濃度

「共赴春城之約」科普 | 碳匯:用生態手段減少溫室氣體濃度
央視網訊息:要實現碳達峰.碳中和的"雙碳"目標,除了要減少二氧化碳的排放,還有一個重要抓手就是提升生態碳匯能力,增加對二氧化碳的吸收.那麼,什麼是碳匯,生態碳匯包括哪些內容? 碳匯 ...

海洋哺乳動物“重返搖籃”還需經過“七十二變”
來源:科技日報 海洋哺乳動物"重返搖籃" 還需經過"七十二變" 海洋是生命的搖籃.根據生物進化史,哺乳動物的出現經過了從地球生命起源到遠古魚類誕生,繼而部分魚類 ...

研究發現土地利用遺留效應削弱土壤有機碳穩定性

研究發現土地利用遺留效應削弱土壤有機碳穩定性
熱帶亞熱帶森林土壤有機碳固存在緩解全球氣候變化中扮演關鍵角色.人類活動對該區域土壤碳匯潛力的影響受到廣泛關注,但土地利用歷史帶來的遺留效應(legacy effect)如何影響土壤有機碳穩定性尚不清楚 ...

標緻4008環青海長測Day4:城市SUV穿越火星一號公路是怎樣的體驗

標緻4008環青海長測Day4:城市SUV穿越火星一號公路是怎樣的體驗
昨天,我們在南八仙魔鬼城放肆地撒歡,不知道大家看得還爽不爽?前文提到過,我們開著這臺全新標緻4008這次出來,就是把它當成硬派越野車這樣子玩兒.而今天,咱們來點更刺激的:穿越無人區,而且還要走穿越路段 ...

美華盛頓國家廣場成白色海洋 66萬面白旗紀念新冠逝者

美華盛頓國家廣場成白色海洋 66萬面白旗紀念新冠逝者
據美國中文網報道,從本週開始,美國華盛頓國家廣場佔地20英畝的草地上將插滿白色旗幟,以紀念在新冠疫情中病亡的美國人. 9月16日,在美國首都華盛頓,白色旗幟擺放在草坪上悼念新冠逝者.新華社記者 劉傑 ...

碳關稅到底會對我國造成怎樣的影響?

碳關稅到底會對我國造成怎樣的影響?
據新華社報道,日前,歐盟在比利時布魯塞爾召開了一場新聞釋出會,表示打算在環保領域搞一個類似WTO的組織. 字越少,事越大. WTO是什麼組織?世貿組織,說白了是個做生意的組織.在環保領域,搞一個類似於 ...

碳中和,未來40年中國最確定的投資方向

碳中和,未來40年中國最確定的投資方向
我國計劃在2030年"碳達峰",也就是在這一年碳排放達到峰值:在2060年要達到"碳中和",也就是中國土地上排放的二氧化碳需要透過植樹造林.節能減排等來抵消,最 ...

遨遊海洋不是夢,科學研究讓人類初步具備液體呼吸技能

遨遊海洋不是夢,科學研究讓人類初步具備液體呼吸技能
我們背上氧氣瓶,是不是就可以像魚一樣,可以游到海洋最深處?可惜答案並不是可以的,冒險背上呼吸裝置進入深海,會導致你出現生命危險. 但是你知道人類帶上氧氣瓶,潛水的極限是多少麼?其實只有短短的332米, ...

國務院發展研究中心王金照:“雙碳”目標下,電動車仍需政策支援

國務院發展研究中心王金照:“雙碳”目標下,電動車仍需政策支援
21世紀經濟報道記者 彭蘇平 南京報道在節能減排的大背景下,新能源汽車的發展迎來更高的呼聲. "按照產業規劃,新能源汽車到2025年在新車中佔比20%,現在來看,我們覺得,如果要想實現'雙碳 ...

合成生物學技術助力生物固碳,溫室氣體成為第三代生物煉製原料

合成生物學技術助力生物固碳,溫室氣體成為第三代生物煉製原料
石炭紀末的天氣微涼,恰如此時北京的初秋. 石炭紀是一個植物物種大繁榮的時代,大部分陸地被森林覆蓋,植物瘋狂生長.老死又新生,在這週而復始的過程中,空氣中的二氧化碳被生物作用固定,隨著植物的死亡一同被埋 ...