移動內部瘋傳的11篇VoLTE學習筆記,看懂了你也是技術大神(一)

作者:中國移動集團公司 張陽 (章末附作者介紹)
作者微信公眾號:網優小談(wireless_talk)


俗話說的好,一入豪門深似海,對於VoLTE這個新技術領域的學習認知也一樣,相比傳統的電信技術,它糅合了大量計算機互聯網的理念,正可謂吸毒毀一生,學習VoLTE毀三代。但是任何複雜、先進的技術都是人類制定的,因此對於VoLTE的理解只要循序漸進,把握住總體脈絡,以需求入手,應該也不是什麼天方夜譚。本系列撰文擬從一個傳統的無線優化工程師的思維入手,嘗試逐步揭開VoLTE神秘的面紗。

1 重要網元和基礎概念

如果單從電信網路的眼光去看,VoLTE不過是承載在目前4G網路中的一種數據業務而已,只不過對於這種數據業務的QOS管理、調度需要引入新的系統或者功能進行管控,這也就是我們常常說的IPmultimedia subsystem(IP多媒體子系統)或者IMS域的職責。對於無線網路優化工程師來講,VoLTE時代的來臨對於傳統的網優工作存在不小的挑戰,因為大量的優化工作會從無線層面上移到業務層面的優化,熟悉一些IMS域核心網路的知識變得不可缺少。這一篇簡單得從一些IMS域的重要網元以及基礎概念入手。

只能永遠把艱辛的勞力看作是生命的必要;即使沒有收獲的指望,也心平氣靜地繼續耕種。

—平凡的世界

IMS域核心網網元及接口

IMS域核心網的網元、接口眾多,如果單純從IMS子系統的角度來看,各個網元、功能實體以及接口是如下這樣的

如果需要全部掌握了解,需要花費相當的功夫,所以理解這些網元不可能眉毛鬍子一把抓,需要循序漸進。這裡從IMS域內的協議流程需要涉及的網元入手,逐步進行摸索與理解。

這裡主要有5個功能實體Proxy-CSCF、Interrogating-CSCF、Serving-CSCF和Breakout Gateway Control Function、MultimediaResource Function(其中MRF包含兩個邏輯網元MultimediaResource Function Controller和Multimedia Resource FunctionProcessor)。

Proxy-CSCF

全稱為Proxy-Call Session Control Function,只要是IMS域中涉及的會話流程,不可避免都要與P-CSCF、I-CSCF和S-CSCF這三個網元進行交互。P-CSCF比較好理解,類似一個代理服務器,主要負責接收服務請求並在IMS子網內部中轉這些服務請求。如果需要中轉到其他的域,則要通過本地出口節點(IBCF)這個網元去做到。P-CSCF不僅轉POSIP註冊消息,同時轉POSIP消息到相應的SIP服務器(S-CSCF)。在轉POSIP消息請求與反饋中,P-CSCF需要確保SIP消息中包含了當前UE所處接入網的信息。除此之外,P-CSCF還有一些功能,包括檢測處理緊急呼叫請求、產生計費話單、對會話的安全性管控、執行SIP消息的壓縮與解壓縮、QoS管理、以及對於不同業務優先級的檢測與處理。P-CSCF可以分別在拜訪地網路以及歸屬地網路進行設置,當P-CSCF設置在拜訪地網路,見下圖

這兩種設置方式的區別在於,P-CSCF設置在拜訪地網路時,需要通過IBCF功能實體與不同域的S-CSCF進行互聯,而當P-CSCF設置在歸屬地網路時,需要通過「發現」機制被UE來確定進行信息交互,詳見3GPP 23.228 5.1.1.0。簡單的來看,P-CSCF功能實體起到了電信域與IMS域溝通互聯的作用,而IBCF則是不同IMS域之間的聯絡節點。

Interrogating-CSCF

I-CSCF是用戶接入IMS子系統的節點,這裡容易和IBCF的功能混淆,其實這兩個功能實體有類似之處,只不過I-CSCF作為本域接入點,而IBCF往往作為跨域(跨IMS域或者與IMS域與其他IP多媒體網路)的出口或者訪問節點,這兩個功能上不同的邏輯節點往往可以合設為一個物理節點。除了二者對於所處IMS子系統的邏輯位置的不同,二者還是有很多相似之處。例如I-CSCF在UE註冊過程先從HSS獲取S-CSCF的地址,然後將該S-CSCF分配給該UE用來SIP註冊,之後將SIP請求或者反饋路由到註冊的S-CSCF。I-CSCF在某些場景下還起到了地址翻譯的作用,當需要進行HSS位置查詢時,I-CSCF需要提前將SIP請求裡的SIP URI轉換成電信URI的格式,如果當某些場合不需要對用戶尋址的時候,I-CSCF又可能起到了將電信URI翻譯成SIP URI的作用。另外當會話的目的地並不在IMS域內,I-CSCF又可以將請求轉PO出去,實際起到了IBCF的作用,或者直接回復接入失敗。I-CSCF域IBCF皆具有產生計費話單的功能,這為漫遊結算提供了支撐。

Serving-CSCF

S-CSCF是IMS子系統中極為重要的功能實體,主要負責會話控制服務。在IMS子系統中,可能存在多個S-CSCF邏輯網元,並且這些邏輯網元有各自不同的功能。S-CSCF可執行如下功能

1、通過從HSS獲取的用戶信息完成註冊

2、當UE在註冊階段上報支持GRUU能力,S-CSCF負責為UE分配唯一的P-GRUU,同時在每次重新註冊時分配唯一對應的T-GRUU,並將該UE的GRUU分配情況反饋UE(當註冊信息改變的時候,例如T-GRUU改變的時候,S-CSCF也需要及時通知用戶),這有點類似EPS中MME在每次UE附著時為UE分配的TMSI的流程。

3、在註冊階段,S-CSCF還應向P-CSCF和/或者UE提供基於公共用戶標識的一些諸如用戶優先級信息

4、對於註冊後的會話流程進行管理,例如,在獲知用戶被禁止接入信息後,可以將會話流程拒絕掉。同時,S-CSCF可以具備代理服務器或者用戶代理的一些功能,例如中轉服務請求或者獨立產生、終止SIP流程。

對於主叫會話發起的流程,S-CSCF首先通過呼叫用戶的電話號碼或者SIP URI獲取呼叫用戶所在網路的接入點地址,然後將SIP請求轉PO至該接入點。如果主叫用戶和被叫用戶均在同一經營商網路下,則將SIP請求轉PO至該網路下的I-CSCF網元。如果呼叫到PSTN網路或者CS域,則需要將SIP請求轉PO至BGCF網元。同時,S-CSCF需要確保主叫SIP請求和響應的內容符合IMS子網路通信服務定義。如果INVITE消息裡麵包含用戶優先級設置或者相應的字符串,需要將這些信息同時轉PO轉PO。值得注意的一點,如果主叫請求來自於IMS內部的應用服務器,且該主叫請求所表征的用戶並沒有註冊,那麼S-CSCF需要先完成相應的註冊流程,之後才會將來自應用服務器的這些請求進行相應的轉PO。

對於被叫會話的流程,S-CSCF需要將SIP請求與響應轉PO至P-CSCF,如果被叫用戶位於PSTN或者電信網路的CS域,S-CSCF需要修改SIP請求信息,並通過BGCF網元將請求或者反饋進行轉PO。如同對主叫會話流程的管理,在轉POSIP請求或者反饋的時候,需要確保SIP消息的格式滿足IMS子網路通信服務定義。如果是跨IMS域的請求轉PO,S-CSCF需要將請求通過IBCF網元進行路由轉PO。

一如既往,S-CSCF也同樣兼具產生計費話單功能。

Breakout Gateway Control Function

Breakout這個英文單詞的釋義為「突圍;中斷」,因此也就隱含了兩層意思,就是離開IMS域,中轉到其他的域,例如PSTN/CS域等。BGCF起到了對被叫用戶的識別以及路由。如果被叫用戶是本網路的PSTN/CS域用戶,BGCF將下一跳路由到本網MGCF,後續由MGCF進行與PSTN/CS域的交互。如果被叫用戶是位於其他網路的PSTN/CS域用戶,那麼BGCF會首先將下一跳路由到其他網路的BGCF。如果被叫用戶位於其他的IMS網路,BGCF會將消息路由到該IMS網路的I-CSCF(接入節點)。

Multimedia Resource Function

多媒體資源功能可以被分成多媒體資源功能控制單元(MRFC)和多媒體資源功能處理單元(MRFP)兩個邏輯網元,如下圖所示

電信網設計的基本架構思想是將控制面與業務面進行分離,例如在LTE核心網中,MME被設計用來進行信令層面的處理,而SGW/PGW則被設計用來對業務層面進行處理。IMS的核心網功能做到也存在類似的思想,就是IMS域的控制面(信令面)與業務面。對於信令的處理可以在以上介紹的網元中做到,如P-CSCF、I-CSCF、S-CSCF、BGCF等,對於媒體業務的處理主要位於應用服務器中(AS),MRF(含MRFC和MRFP)的主要功能是媒體流的處理以及提供相應的媒體資源,例如音頻編碼轉換、媒體業務分析、多媒體放音等等。

標識

任何信令的交互首先涉及的是尋址或者基於用戶、訂閱業務的標識,例如電信網路中有IMSI、TMSI、P-TMSI、RNTI(RA-RNTI、P-RNTI、C-RNTI、SPS-RNTI)、GUTI等等常用的用戶或者業務標識,在IMS域中同樣存在類似的標識,主要有如下三種,Private User Identities、 Public UserIdentities, Globally Routable User Agent URI(GRUU)。

Private User Identities:

該標識最大的特點不是區分用戶,而是標識用戶不同的訂閱業務。因此,對於每個用戶而言,都可以包含一個或者幾個這樣的私有用戶標識,該標識並不被用來進行SIP消息的路由尋址,而是被用來進行註冊、鑒權、管理和統計。私有標識由歸屬地網路經營商進行分配,遵循Network Access Identifier(網路訪問標識)的格式,如果沒有ISIM應用,通常該私有標識會從IMSI標識中繼承。通常,該私有標識的格式為用戶名@域,如果從IMSI中繼承,則變成了」<IMSI>@ims.mnc<MNC>.mcc<MCC>.3gppnetwork.org」。除此之外,私有用戶標識不是動態標識,而是對於該用戶訂閱業務的永久性標識,並且在歸屬地網路中對於該訂閱業務始終有效。在IMS域註冊/去註冊階段,該私有標識需要被鑒權,HSS與S-CSCF需要存儲該私有標識一邊區分用戶信息

Public User Identities

公共用戶標識在IMS子系統內被用來進行用戶間的通信。公共用戶標識可以被任何用戶使用,這就好比名片一樣,是一種通用的載體格式。公共用戶標識遵循SIP URI或者Tel URI的格式,例如,當遵循SIP URI格式時,應表示為」sip:[email protected];如果遵循電信URI格式,則應表示為」tel:+<cc><NDC><SN>,詳見IETF RFC 3966。一個用戶可以包含一個或者多個公共用戶標識,換言之,僅僅獲得公共用戶標識無法與用戶進行映射。對於ISIM應用,至少需要安全的存儲一個公共用戶標識,但並不要求存貯該用戶其他的公共用戶標識。對於擁有同一化名的一組公共用戶標識的操作,有點類似「一榮俱榮」,也就是需要對組內的公共用戶標識進行同樣的操作,這樣的公共用戶標識組需要分別被存儲在HSS、AS(應用服務器)、S-CSCF以及UE中。在IMS主叫或者被叫會話流程中,公共用戶標識需要提前被顯式或隱式的註冊,值得注意的是,在註冊過程中,公共用戶標識並不需要被鑒權。單從格式來講,私有用戶標識更像電信網中的IMSI,而公共用戶標識則更像電信網中的電話號碼或者計算機網路中的用戶名,這也說明在註冊過程中為什麼只對私有用戶標識進行鑒權,而僅僅是將公共用戶標識作為通信的對象。

Globally Routable UserAgent URI(GRUU)

全局路由用戶代理用戶資源標識,顧名思義,該標識天生就是為了路由尋址而生的,之前提到,一個用戶可能有多個公共用戶標識,而且同一個公共用戶標識也可以被多個用戶使用,那麼在尋址路由的時候僅僅依靠公共用戶標識就可能產生誤判(forking)。因此需要將該公共標識與特定的用戶實體進行結合,因此這就是GRUU.GRUU分兩種,公共GRUU、臨時GRUU,前者映射公共用戶標識,而後者只在IMS域註冊狀態下存在,與公共用戶標識無關。公共GRUU與臨時GRUU由IMS核心網在用戶註冊時對用戶進行分配,SIP信令就是通過GRUU進行特定用戶之間的尋址路由。

2 註冊信令流程

對於一個網路工程師而言,解讀電信網路的信令是分析定位網路問題的有效手段之一。所謂兵馬未動,糧草先行,網路信令就是先於業務流程的「糧草」,當信令流程先打通時,才能保障後續業務流程的通暢與質量。網路信令不僅是UE與網路信息交互的基礎,同時也是各個網路節點之間對話的「標準語言」。對於IMS子系統中的信令也是同樣的道理,因此熟悉一些基本流程的信令對於網路優化中的排障、分析工作不無裨益。

在IMS子系統中,只存在一種信令流程控制協議,就是Session Initiation Protocol,簡稱SIP協議。該信令不僅存在於UE與P-CSCF之間的Gm接口,同時存在於IMS核心網其他眾多網元節點之間的接口消息中,例如Mw,Mm,Mg,Mi,Mj,Mk,Mx等。值得注意的是,IMS網元之間的SIP協議可能與UE與網路之間的SIP協議並不完全一樣。

SIP協議最早起源於互聯網機構IETF所制定的多媒體通信協議,對於電信網路的從業者來說,可能會相對比較陌生。對於傳統的電信網路核心網,大家耳熟能詳,涉及較多的諸如著名的7號信令,GPRS信令,NAS層協議,S1-AP協議,GTP-U隧道協議。而對於無線網路優化工程師而言,對於無線網協議(一般指的接入層協議)較熟悉的有GSM的RR信令,3G/4G網路的RRC信令等。因此,看待SIP協議有時候需要拋開固有的電信網路思維,以互聯網協議的角度入手進行理解。

SIP是一個應用層的信令控制協議。用於創建、修改和釋放一個或者多個參與者的會話。這些會話可以是Internet多媒體會議、IP電話或者多媒體分發,其中最重要的應用當屬對 VoLTE(VoIP)會話流程的管理。SIP的一個重要特點是它不定義要建立的會話類型,而只定義如何管理會話,由於這樣的管控機制,對於眾多的基於IP的多媒體應用(語音、影片、音樂與影片點播、交互式遊戲)都可以由SIP協議來進行管理。Session Description Protocal(SDP)則是對會話內容定義的一種協議類型,它本身與傳輸控制協議無關,僅僅可以看成對會話內容的一種描述,例如,可以描述會話內容是音頻,文本,影片,短消息等。可以通俗把SIP比喻成維護管道的,對交互管道進行控制的協議。而在管道裡面走的內容採取什麼樣的格式,則是由SDP協議來進行定義和描述。

由於在電信網的視角觀察,IMS的信令與媒體其實可以看成電信網的一種業務,那麼在UE發出SIP信令請求之前,首先需要為UE分配合適的IP-Connectivity Access Network(IP-CAN)承載,同時對於UE分配到的IP地址在IMS子系統中涉及的信令以及媒體業務需要保持一致。一個VoLTE語音電話,無非需要經歷註冊/去註冊、IMS域內主被叫,跨域主被叫,下面從IMS會話的的幾個關鍵信令流程進行說明:

註冊

如同4G網路需要開機或者outof service一段時間後進行註冊附著流程一樣,IMS子系統的用戶同樣需要進行在S-CSCF的註冊,該IMS註冊流程可以在4G網路完成註冊分配到了IP地址之後進行。從註冊信息流的意義來看,用戶總是位於漫遊狀態發起的,換句話講,就是註冊流程對於用戶位於拜訪地網路或者歸屬地網路都是一樣的,只不過「漫遊」在歸屬地網路的用戶可以認為其歸屬地網路同時起到了拜訪地網路和歸屬地網路網元功能的作用。這句話說的像協議一樣如老太太太裹腳布一樣的嚴謹晦澀,其實說白了就是單從註冊信令流程看,不區分漫遊或非漫遊用戶。

對於無線網路優化工程師來講,一般只關注UE與網路側交互的流程信令,至於IMS網元節點內部的信令交互,暫時可以放一放,這樣會使切入點更加直觀,流程的掌握更加高效。

當UE在接入網完成附著獲得IP分配後,就可以開始進行IMS域的註冊流程。UE首先將註冊信息發送給P-CSCF(當然之前需要進行借助DHCP/DNS服務器進行P-CSCF的「發現」流程),該註冊流程需要包含公共用戶標識,私有用戶標識,歸屬地網路域名稱,UE分配的IP地址,UE實例標識,是否支持GRUU的指示。

例如上圖,Sip Message = REGISTER sip:ims.mnc002.mcc460.3gppnetwork.org SIP/2.0這條消息就是Request-URI,主要標識位置服務的域名,值得一提的是,與To標頭域提供的內容不同,Request-URI並不提供用戶名。From(f)與To(t)標頭域包含的就是臨時公共用戶標識(值得注意的是,[email protected]就是私有用戶標識),一般來講,如果不是第三方設備發起註冊,這兩個標頭域的內容往往保持一致,其中含的內容就是UE的IMSI信息,這裡就是460024211900023;Call ID是對一組往返消息進行標識,在該UE的每個註冊過程,Call-ID一般對於同一用戶的多次註冊流程都保持一致,同時對於同一用戶的不同會話要求有可能不同,例如,某次多媒體會議通話期間,對同一個用戶的邀請可能分配多個不同的Call ID,Call ID需要保持全球唯一(例如SIP Call ID,可採用IMEI填充),並且為了安全目的可以採取適當的加密機制;Cseq保證註冊請求的順序,當每次註冊請求發生的時候,Cseq的值應該+1;Max-Forwards該值決定request消息在IMS內部傳遞到目標服務器所需經歷的最大條數,為了確保消息順利到達,同時兼顧由於內部循環導致的跳轉資源被過度消耗,該值一般設置為70,每一條以-1的方式進行計算,直到0為止,將反饋483(too many hops)的錯誤響應;Via(v)裡面的信息主要說明傳輸層的協議信息,例如這裡傳輸層使用的協議就是TCP協議。同時,還需含SIP 2.0,標識著發送請求的協議名稱以及協議版本,另外,Via裡還需要插入響應發送的地址。這裡還要包含branch參數,除了CANCEL和ACK消息之外,該參數值是唯一的,且前7位一定是z9hG4bK(RFC3261),該參數的主要作用是標識SIP請求所創建的交互(UE與IMS網路之間);m對應的內容進行了媒體描述,首先包含媒體類型,例如這裡的媒體類型就是影片流(video),同時也包含接收媒體協議的端口號,以及媒體格式描述(例如,傳輸包的格式描述)

Authorization鑒權標頭域中所含的內容也有詳細的規定,例如username中含有的就是用戶私有標識,realm所含的是歸屬地網路域名,uri所含的就是歸屬地域名的SIP URI格式,nonce中設置應為空;Security-Client標頭域指明了UE所支持的信令面的安全機制、IP層的安全機制算法,同時還有安全協商所需要的參數。UE需要支持建立兩對安全協商機制。

當UE收到來自網路401(Unauthorized)的響應的時候,說明網路需要對UE進行鑒權。其中最重要的一點,UE需要校驗Security-Server標頭域所含的內容,如果該項內容未出現的在響應消息裡或者沒有包含安全協商所需要的相關參數,UE可以丟棄這次的鑒權過程,另起爐灶的以新的call-ID發送新的註冊請求。當校驗通過後,UE需要根據P-CSCF要求和本身能力支持的鑒權算法同時結合IK和CK加密算法建立臨時的安全協商機制,並規定該臨時安全機制的有效時長。接下來,UE使用臨時安全協商機制再次發送註冊請求到P-CSCF受保護端口(通過401 chanllenge獲取)。

除了初始未鑒權保護的註冊請求中的相關參數,本次註冊請求中還應包括如下參數:

realm:設為從401消息中收到的realm值;

username:設為私有用戶標識;

response:包含RES參數;

uri:設置為歸屬地網路域名的SIP URI;

algorithm:設為從401消息中收到的對應值;

nonce:設置為從401消息中收到的對應值;

P-Access-Network-Info標頭域說明了IMS承載的接入網路類型,這裡就是TD-LTE網路(3GPP-E-UTRAN-TDD),同時還說明了接入小區信息,utran-cell-id-3gpp=4600018DA1A64B02;Security-Clientheader標頭域說明了UE所支持的媒體面加密機制情況。

1、當P-CSCF收到註冊信息流的時候,P-CSCF需要通過歸屬地域名稱去確認歸屬地的接入點( I-CSCF)。然後,P-CSCF需要將包含P-CSCF地址/名稱,公共用戶標識,私有用戶標識,P-CSCF網路標識,UE IP地址等信息在註冊信息流利轉PO到I-CSCF。名稱-地址解決機制被用來通過歸屬地域名解析出歸屬地的地址。P-CSCF網路標識是用來被歸屬地網路確認P-CSCF所在網路的字符串。

2、I-CSCF需要將收到的信息發送給HSS進行校驗是否該用戶已經註冊。同時HSS需要確認用戶是否允許註冊。

3、如果校驗通過,HSS將S-CSCF的名稱或S-CSCF的能力反饋給I-CSCF,以供I-CSCF進行合適的S-CSCF選擇。如果校驗不通過,這裡將反饋註冊請求拒絕(reject)

4、I-CSCF從HSS獲取的S-CSCF名稱,通過名稱-地址解決機制獲取對應的S-CSCF地址,將註冊請求發送給S-CSCF(含P-CSCF名稱/地址,公共用戶標識,私有用戶標識,歸屬地網路域名稱,P-CSCF網路標識,UE分配的IP地址)。如果對同一個公告標識的註冊聯繫地址超過S-CSCF預設的門限,S-CSCF可以拒絕該註冊請求。S-CSCF需要存貯拜訪地網路P-CSCF的地址/名稱,一旦有被叫呼叫,則可將信令請求進行轉PO,同時S-CSCF還需要記錄P-CSCF的網路ID。

5、S-CSCF需要將公共用戶標識,私有用戶標識,S-CSCF名稱通過Cx接口發送HSS。

6、HSS存貯S-CSCF名稱,並將一些包含用戶名/地址或者安全的用戶信息發送給S-CSCF,以便用來進行一些基於平台的服務管控。

7、S-CSCF將存貯的用戶信息發送給服務平台,並進行適合的服務管控。

8、S-CSCF將返回200 ok消息(包含歸屬地接入信息,GRUU組合)給I-CSCF。

9、如同上述,I-CSCF需要將200 ok消息(包含歸屬地接入信息,GRUU組合)轉PO給P-CSCF,在轉PO之後,I-CSCF需要釋放存貯的相應用戶註冊信息。

10、P-CSCF需要存貯歸屬地網路接入信息,並將200 ok消息轉PO給UE(含GRUU組)。

UE在收到200 ok響應之後,存貯此時的超時定時器,將P-Associated-URI header裡麵包含的第一個URI存儲為默認的公共用戶標識,這裡為<sip:[email protected]>,並且將之進行相應的安全關聯。如果該標頭域中不含該公共用戶標識,則認為該標識註冊被禁止。另外,UE需要變更前期的臨時安全協商機制固化為新建立的安全協商機制.

當收到200 ok響應後,UE需要向S-CSCF訂閱註冊事件包。該消息中所含的參數意義如下:

Sip Message =SUBSCRIBE sip:[email protected] SIP/2.0,說明需要訂閱的公共用戶標識的SIP URI

f:需要包含公共用戶標識,這裡+8618421195023其實就是電話號碼

t:內容與f一致

o:事件標頭域,應設置為需要訂閱的「reg」事件包

重新註冊

UE需要在適當的時候發起重選註冊流程,例如以周期形式刷新已有的註冊信息或者響應UE註冊信息的變動。另外,當承載IMS會話的IP-CAN發生了變化,UE也需要發起重新註冊流程。UE重新註冊流程與上述UE註冊流程類似。UE需要與網路側依據上次註冊時間同步更新周期註冊的定時器,只不過該定時器比網路側的定時器略小。

1、UE需要在網路側的周期註冊定時器超時前發起重新註冊流程。UE將註冊信息發送給P-CSCF,其中需要含公共用戶標識、私有用戶標識、歸屬地域名、UE的IP地址、能力信息、IMEI標識、是否支持GRUU的標識。

2、當收到註冊請求後,P-CSCF並不用之前緩存的歸屬地網路接入點信息,而是重新通過歸屬地網路名稱去發現歸屬地的接入點信息(I-CSCF)。P-CSCF會將註冊請求轉PO給I-CSCF。

後續註冊流程與前述一致。

註冊取消

註冊取消可以有兩個層面來發起,一個是UE層面,另外一個是網路層面。UE層面的註冊取消流程與註冊發起流程是一致的,只不過註冊消息裡面的超時時間設置為0秒,值得注意的註冊流程裡的超時時間設置為600000秒。

區別於註冊流程的有以下幾個步驟需要注意:

1、在註冊請求流程中將超時(expiration)值設置為0。

4、當I-CSCF發送S-CSCF尋址請求後,HSS根據該用戶公共標識的註冊狀態,將S-CSCF名稱發送給I-CSCF。

6、S-CSCF收到註冊取消信令後,會將該消息轉PO服務控制平台,服務控制平台會將該公共用戶標識訂閱的相關服務信息清除。

7、根據經營商定制策略,S-CSCF會將含公共用戶標識、私有用戶標識、清除S-CSCF名稱或者保留S-CSCF名稱的Cx接口信令發送HSS。HSS根據收到的清除S-CSCF名稱/保留S-CSCF名稱來進行相應的S-CSCF名稱保留,即使保留S-CSCF名稱,後續HSS可以決定在任何時刻進行清除。

9、當S-CSCF發出200 ok響應信息給I-CSCF後,S-CSCF釋放該公共用戶標識所有相關的註冊信息。

11、當P-CSCF發出200 ok響應信息給UE後,P-CSCF釋放該公共用戶標識相關的註冊信息,而如果存在關於IMS信令鏈接狀態的訂閱通知,P-CSCF需要取消該訂閱通知。

網路層面發起的註冊取消。

有些特殊情況下,例如終端沒電了,或者UE移出了服務區,網路側需要發起對用戶的註冊取消流程。網路側發起註冊取消流程主要是為了在這些場景下對用戶後續提供穩定有保障的服務。網路側發起的註冊流程取消僅僅針對IMS子系統內,與接入網狀態無關。即IMS域註冊取消後,LTE網路並不一定去附著。一般,IMS子系統發起註冊取消流程有如下的原因:

網路維護:解決用戶重新註冊帶來的網路節點相關數據缺失;

網路業務:當用戶漫遊到其他網路而並沒有在源網路進行註冊取消;

應用服務:由服務能力受限導致的註冊取消;

訂閱管理:當用戶欠費、惡意欺詐、取消訂閱等等導致的網路發起的IMS註冊取消。另外對於用戶變更服務,也可能導致網路側發起IMS註冊取消。

諸如以上的原因,網路側發起的註冊取消可以通過兩個流程觸發,一個是註冊超時,另外一個則是強制流程。

對於註冊超時而言,P-CSCF與S-CSCF各自維護一個定時器,這兩個定時器需要時間足夠接近,並且彼此之間不做同步。因此,當S-CSCF定時器超時後,P-CSCF的定時器也認為超時,這樣P-CSCF可以直接將UE註冊取消,而不需要等待S-CSCF註冊取消的指令。詳見23.228.

註冊取消流程可以由HSS、S-CSCF或者第三方網元(第三方網元通過HSS)發起,下圖說明了由HSS(含通過HSS流程發起的第三方)發起的情況

在這裡不對註冊取消流程細節做詳細的說明,不過需要提及值得注意的幾個關鍵步驟。對於步驟3,S-CSCF在向P-CSCF發起註冊取消流程的同時,需要內部同步該用戶的註冊信息。如果收到HSS關於註冊取消的原因,可將原因一並轉PO。一般由於UE不在服務區的原因,P-CSCF在向UE發出註冊取消流程後,不一定能收到UE的響應,這時,PCSCF可以不必等待該200 ok響應,直接向S-CSCF發起響應流程。

下圖說明的是由S-CSCF(或第三方網元通過S-CSCF)、服務控制平台發起的註冊取消流程。

於HSS發起的註冊取消流程唯一不同的是,S-CSCF在接收到P-CSCF註冊取消流程完成響應之後,才通過Cx接口向HSS發送註冊信息清空流程。

後記:初學VoLTE,感覺IMS涉及的協議SIP、SDP不像傳統電信網路協議那麼標準化、規範化。有時,現網的一些實測log與協議描述又不是完全的一致;有時,由於精力的原因,光靠沒有太多的背景知識,三兩手邊資料的個人解讀很難有多深入的理解。不過,技術領域的更新換代開啟的思考與領悟的旅程也許才是網優工程師最大的樂趣!

3 主叫信令流程

登高,坡頂自有青雲;倘若正有一朵白雲閃耀,那就望雲爬坡吧!

註冊的目的是信息登記,並為後續的主被叫提前進行了相應的尋址。例如,主叫流程中信令所經歷的網元路徑就是在註冊階段被分配好的,並在該UE註冊期間保持不變。

IMS域的的主叫信令流程總覽如下:

1、首先UE向P-CSCF發出SIP INVITE請求,包含初始SDP消息,該初始SDP消息包含一個多媒體會話的一個或多個媒體流。

UE需要在INVITE消息了嵌入Accept:application/sdp,application/3gpp-ims+xml,這裡主要指明了MIME(MultipurposeInternet Mail Extensions)的業務格式類型(例如XML、HTML或者還是WMV等業務媒體格式),以便被服務器進行正確的解碼處理,這一點在計算機應用中很普遍,如果沒有註明正確的類型,後果很難評估;

P-Early-Media: supported,支持該消息意味著支持主叫早放,例如,當收到180振鈴指示,UE按授權進行相應的媒體播放;

P-Preferred-Identity: sip:[email protected],這裡提供了用戶的公共標識,與後續從S-CSCF傳來的P-Asserted-Identity保持一致;

P-Preferred-Service:urn:urn-7:3gpp-service.ims.icsi.mmtel, IMS Communication Service Identifier(ICSI),IMS通信服務標識符在UE與網路側標記著應用。UE通過該標識符分發SIP消息到正確的應用,而網路側通過該標識選擇正確的應用服務器;

a: *;+g.3gpp.icsi-ref=”urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel”,媒體類型標籤,標識著終端可支持的軟體應用,同時也表征著終端的能力(例如該終端是個電話或者是PDA);

在初始SIP請求中包含的SDP消息應嚴格符合RFC 4566中定義的SDP協議格式,包含不同域的排列順序、以及域中內容的格式要求。

例如,從以上信令截圖就可以解讀如下信息:

該SDP協議版本為0,採取IPv6協議進行傳輸,會話類型是VOIP業務,這是一個單播業務,RTP包的帶寬,會話活躍授時是不受限的,媒體類型為音頻,傳輸端口為50010,傳輸協議RTP/AVP,同時還指明20ms產生一個音頻包。音頻採用動態編碼格式,並且該媒體格式是收發式的。

當P-CSCF收到INVITE消息時候,需要反饋100(Trying)消息,意味著該消息P-CSCF已經收到,後續信令還在繼續前送;

2、P-CSCF通過用戶註冊信息進行下一跳S-CSCF的轉接。同時,P-CSCF根據用戶註冊信息或者存在INVITE消息裡的用戶優先級信息進行相應的優先級處理,並更新後的INVITE消息轉POS-CSCF;

3、S-CSCF需要校驗服務類型,如果請求中含有GRUU,需要確保GRUU與公共用戶標識屬於同一服務類型,同時基於用戶的訂閱的多媒體類型對用戶SDP消息進行鑒權;

4、S-CSCF將INVITE消息轉PO到被叫的S-CSCF,如果INVITE消息裡含有用戶優先級信息,應一並轉PO;

5、S-CSCF接收反饋,其中包含了目的網路媒體流的能力;

6、S-CSCF將Offer Response消息轉PO到P-CSCF;

7、P-CSCF確保為此次會話提供的資源情況;

8、P-CSCF將Offer Response消息轉PO到終端;

183會話進程響應用來傳遞會話進程的信息,183消息裡面的消息原因、標頭域、消息實體可被用來傳遞關於會話進程更多的細節。

9、UE確認接收Offer Response消息,並將響應確認消息發送P-CSCF;

10、資源預留階段,取決於IP接入網的策略,該資源預留既可以由UE發起也可以由接入網路發起,如果由UE發起,則在步驟8完成之後,如果由IP接入網發起,則在步驟7完成之後就可以觸發;

11、P-CSCF將響應確認消息轉POS-CSCF;

12、S-CSCF轉PO響應確認消息到被叫端網路;

13-15、被叫向主叫進行響應確認應答(這裡真是來來回回的確認,不像電信網最多三次握手確認)

16-18、一旦資源預留完成,主叫UE發送資源預留消息並經P-CSCF中轉至被叫端;

19-21、當被叫端資源預留成功後,反饋主叫端資源預留成功

22-24,被叫側產生振鈴,通過一系列網元轉PO主叫側;

25、主叫UE通知用戶被叫振鈴;

26、當被叫接續後,被叫側產生SIP-200最終響應;

27、S-CSCF將SIP200最終響應沿已建立好的信令通道發送P-CSCF;

28、P-CSCF指示已鑒權的媒體面啟動(即後續可以傳送話音);

29、P-CSCF將SIP200最終響應回送至主叫端;

30、UE開始進行媒體傳送(話音)

31-33、UE對200 OK進行SIP ACK的反饋

200 ok是對INVITE的最終反饋,如果收到最終反饋後,UE還應該發送BYE消息將之前的對話終止,這裡BYE結合後續的無線側信令看,應該是一個主叫用戶掛機釋放指示。

(未完,因微信限制20000字,請繼續閱讀《移動內部瘋傳的11篇VoLTE大作,看懂了你也是技術大神(二)》)

作者介紹

作者公眾號:網優小談

張陽,英國布魯內爾大學(Brunel Univ.)設計與工程學院電子與計算機工程博士,高級工程師,博士階段主要進行LTE物理層、處理優化算法研究。主要從事TD-LTE/TD-SCDMA網路優化工作。曾參加中國移動無線網路優化技術高級培訓,榮獲優秀學員稱號,參加中國移動LTE維護優化技能競賽,榮獲一等獎。長期關注跟蹤一線實際優化工作,具有豐富的理論基礎及實踐經驗。在國內外通信期刊發表學術論文數十篇,並合著有《TD-LTE無線網路優化與應用》一書。


網優雇傭軍投稿郵箱:[email protected]
長按二維碼關注

通信路上,一起走!

閱讀原文


關於作者:
通信、科技、未來!通信路上,一起走!

微信號:hr_opt