VoLTE的前世今生...說清楚VoIP、VoLTE、CSFB、VoWiFi、SIP、IMS那些事...


轉:https://mp.weixin.qq.com/s?__biz=MzA3MTA3OTIwMw==&mid=401344844&idx=1&sn=497b351f524af77586943a357fff52ac&pass_ticket=CTp4f2hDiw%2F2GvtcPyZV8XBwxwKDPkIaCDcD9fy6SCwXvu7IiT7XIH8eRPnztU42

 

VoLTE就像一位優雅的敗家姑娘,千呼萬喚使出來!難免有人會在VoLTE與VoIP之間打量對比。關於兩者之間的對比分析太多,盡管如此,也是依然一頭霧水。我們今天就從她們的前世說起,希望能夠說清楚關於VoIP、VoLTE、CSFB、VoWiFi、SIP、IMS那些事...

 

從VoIP到VoLTE

 

觀察家們認為VoIP的出現起始於1995年,那個時候GSM剛進入中國。20年來,VoIP語音服務和2/3G網絡的CS語音業務一直共存。盡管兩者都提供語音服務,但其技術原理是有本質的區別的。語音傳輸的本質實際上有兩種形式:電路交換(CS,Circuited Switched)和分組交換(PS,Packet Switched)。

 

CS,是指通話前需在網絡中建立一條線路,這是“獨占”的資源,直到通話結束才拆除。

 

PS,是將數據打包傳輸,這就像快遞打包一樣,當你的物件被放進快遞包后,快遞員就不能拆包,必須完好無損的將包裹送到收件者手里,由收件者拆開,無需“獨占”資源。

 

下面這張圖說明了兩者的區別:

 

 

傳統2/3G語音采用CS傳輸;VoIP采用PS傳輸,是將數據封包(Data Packet)的形式在IP網絡上傳輸。

 

到了4G時代,4G所有的資源都用來跑數據,也就是說LTE只支持PS(分組交換),這時候必須將電話語音也變成數據,大家“共享”網絡帶寬速率,於是就引入了VoLTE。VoLTE本質上是承載於LTE網絡上的VoIP,但也有很多區別。

 

首先,我們從VoIP說起。

 

VoIP是如何建立雙方通話的呢?現實生活中,我們想找別人談話,通常分為:對話建立— 對話 — 對話結束,三個步驟。以老王和小明的對話為例:

 

老王想找小明幫他修手機:

 

老王:Hi,小明!

 

小明:什么事?老王!

 

這就是現實生活中的對話建立過程,老王的“Hi,小明!”是向小明發起對話請求,小明的“什么事?老王!”是對老王的對話請求的響應。

 

現在他們開始談論修手機的事,這是雙方的對話內容。

 

對話結束時:

 

老王:謝謝,小明!再見!

 

小明:再見!

 

這是對話的結束過程。同樣,老王的“謝謝!小明!再見!”是向小明發起對話結束請求,小明的“再見!”是對老王的對話結束請求的響應。

 

如果老王和小明的對話,通過模擬/數字轉換、編碼、封裝后打包成IP數據包后,再通過IP網絡傳送,這就叫VoIP。老王和小明的對話實際上會打包成兩種類型的數據包:信令包和媒體包。

 

 

如上圖所示,“Say hello”和“Say goodbye”那部分被封裝成信令包,而具體談話內容被封裝成媒體包,它們都通過數據包傳送到對方。

 

IP網絡中建立對話比現實生活要復雜得多,要在IP網絡建立對話,通話雙方必須知道對方地址,怎樣編碼,如何封裝數據包...等等,所以大家必須遵守一個統一的規則,這就引入了SIP協議。

 

SIP,Session Initiation Protocol,會話發起協議,用於建立、修改和終止IP網上的雙方或多方的多媒體會話,類似於HTTP的基於文本的協議。VoIP的信令包就是根據SIP協議封裝的。

 

SIP消息分兩種:請求消息(比如INVITE)和響應消息,響應包括一個最終響應及可能的多個臨時響應。

 

具體協議這里就不介紹了,附一張流程圖:

 

 

所以,整個VoIP通話過程是這樣的:

 

 

一個完整的SIP網絡還需要加一些功能實體,這些功能實體包括:

 

 

User Agents - 用戶代理

發起和終止會話的實體,比如電話終端。

 

SIP服務器

SIP服務器包括:登記服務器,代理服務器,位置服務器和重定向服務器。

 

Registrar Server - 登記服務器

接收REGISTER 請求完成用戶注冊,可以支持鑒權的功能。

 

Proxy Server - 代理服務器

對SIP請求及響應進行路由,它對收到的請求消息進行翻譯和處理后,傳遞給其他的服務器。它與重定向服務器(Redirect Server)及位置服務器(Location Server)有聯系。

 

Location Server - 位置服務器

跟蹤用戶的位置,代理服務器或重定向服務器從位置服務器獲取被叫當前可能的位置信息。

 

Redirect Server - 重定向服務器

將用戶新的位置返回給呼叫方。呼叫方可根據得到的新位置重新呼叫。與代理服務器proxy server不同的是, redirect server不會發起自己的呼叫。與User Agents不同的是, redirect server不接受呼叫終止或主動終止呼叫。

 

它們之間是如何相互工作的呢?舉一個簡單的例子。

 

當老王的終端要呼叫小明的終端,老王的終端是怎么知道小明終端的IP地址的呢?

 

 

老王和小明的終端在接入網絡時,首先會向Registrar Server發送 REGISTER 請求注冊,Registrar Server根據請求信息建立用戶標識與終端 IP 地址的對應綁定關系。

 

老王撥打小明的電話時,老王向Location Server發送含有小明的統一資源標識符地址的 INVITE請求。(統一資源標識符稱作 SIP URI。SIP URI 很像一個 E-mail 地址,典型的統一資源標識符包括一個用戶名和主機名。)

 

由於老王和小明的終端都已經在Registrar Server注冊,並建立用戶標識與終端 IP 地址的對應綁定關系。Location Server就向Registrar Server查詢,此時,Registrar Server就根據INVITE請求中的小明的統一資源標識符地址查找到小明的IP地址,這樣就可以生成路由信息,聯系到小明,並回應老王,建立通話。

 

SIP Proxy Server、Redirect Server、Register Server、Location Server可共存於一個設備,也可以分布在不同的物理實體中。

 

有了VoIP和SIP的基礎認識,現在我們來聊一聊VoLTE。

 

VoLTE引入了IMS。IMS(IP Multimedia Subsystem),即IP多媒體子系統,它提供多媒體IP服務,包括VoIP。

 

因為LTE網絡只傳送數據包,所以,LTE把語音和相關信令看成和其它數據一樣,都打包於數據包傳輸(只是具有更高的優先級);IMS網絡接收處理這些數據包,並區分這些數據包的信令和語音數據部分,管理語音的控制面(IMS signalling)和用戶面(IMS traffic)。

 

和VoIP一樣,IMS管理的數據包分為:信令包(控制面)和媒體包(用戶面)。IMS管理信令部分的功能實體就相當於SIP服務器,負責用戶面的就是媒體網關。這樣,整個IMS網絡結構可以簡化兩部分:SIP Server 和 媒體網關。

 

 

SIP Server也類似於2/3G網絡的MSC。

 

實際上,IMS是一個在應用層上的網絡,它工作於2G,3G,4G,甚至WiFi網絡等之上,其包含了很多實體、接口、協議等。IMS具體的網絡構架大概是這樣:

 

 

IMS干的第一件是,就是加入了一個HSS子服務(Home Subscriber Server),這個是什么東西呢?SIP雖然也分為注冊服務器Register Server、呼叫代理服務器Proxy Server,但SIP的注冊服務器只是記錄一下一個SIP賬號的當前的IP地址數據、認證一下賬號密碼是不是正確;但IMS里的HSS就不簡單了,他是在SIP的注冊服務器基礎上,增加了一個很明顯的運營商特征——業務訂購數據庫,也就是在移動開手機卡時,那一堆附加增值服務,好了,你在這里可以看到來電顯示業務、呼叫等待業務、彩鈴業務……的開關——也意味着收費的計費點。

 

因為VoIP很簡單,一般是企業內部用,或者小規模的虛擬運營商在有限的幾台服務器上提供服務,所以VoIP的SIP軟件、SIP電話機網關就可以直接通過IP地址和賬號就能注冊上去,然后呼叫在多台服務器上互相路由就可以完成呼叫的目的了,這些服務器,一般就是SIP Proxy Server,涉及到和固定電話、手機號碼互通時,會有FXO網關,E1網關等負責轉換,這里不多說了。

 

而IMS作為運營商的方案,動輒上億用戶規模,而且又分為各省市地分公司,當然,還有一個不得不提的 — 漫游。

 

IMS的核心是SIP,所以類似SIP Proxy Server這么重要的核心組件,IMS是不會少的,IMS里稱它為Call Session Control Function,即CSCF,並且又把它分成了多個子系統,其中代理CSCF(P-CSCF)從用戶終端角度看,基本就是SIP里的Proxy Server了(但其實不是,下述),負責直接與IMS的終端(類似SIP的軟電話、硬件電話等等,但同樣的,也擴展了不少東西,這里跳過不述);P-CSCF直接與終端交互,可能會把SIP進行壓縮或者加密,然后就交給查詢CSCF(I-CSCF),I-CSCF會查詢HSS數據,來對用戶名和密碼進行認證,當然,他也從HSS里查詢你是否欠費了,開通或關閉了某些業務,以及你是從哪個P-CSCF來的,用來判斷你是不是漫游。

 

整個呼叫過程中,P-CSCF是不做復雜工作的,P-CSCF只負責接收SIP消息,它相當於是對外聯絡點,然后SIP消息會到達I-CSCF,I-CSCF是運營商的核心網絡——就是運營商內部網絡的入口,他會根據HSS查找到用戶是屬於哪個地區的,會對應分配一個空閑的為該地區服務的服務CSCF(S-CSCF),一直到了這里,S-CSCF才是真正的VoIP里Proxy Server的角色,S-CSCF完成用戶注冊認證和呼叫的路由處理,以及電話業務的觸發(IMS稱為AS,另外獨立成一個子系統,下述)。

 

所以如果綜合來分析,P-CSCF和I-CSCF只是起到一個邊界安全防護SBC服務器和負載平衡、服務器分流這一類功能,真正處理SIP注冊和呼叫的原先VoIP里標准邏輯的組件,是S-CSCF,從物理上看,P-CSCF可能是全國或省一級中心統一的服務器集群,配合更多的I-CSCF服務器分布在主干核心網上做分流,背靠一個大的HSS服務器群,將不同市縣的用戶分配到各地的S-CSCF上進行實際的處理,並且S-CSCF會更多地與當地的通訊機房里原有的2G、3G發生交流,也就是媒體網關(MGW),負責把新的走4G的手機終端和舊的3G、2G以及固定電話之類的對接起來,保持兼容(也就是PS、CS域的互通)。

 

所以,一個最最精簡的IMS系統,它的核心組件是包含HSS、CSCF(P、I、S)即可,即把VoIP SIP的核心Register和Proxy Server進行按運營需求的發展。

 

而MGW,其實就是市面上大量被使用的VoIP的模擬網關,數字中繼網關,而已……當然,運營商對穩定性要求需要更高一些,並且需要額外的集中管理和控制能力。

 

但如果上了4G也只是為了提供和原來類似的語音通話功能,運營商的面子還是掛不住的,得與時俱進,提供一些IM服務,面向個人用戶,所以一般還要加一個Presence Server,推送服務器,離線存儲服務器等雲的概念,提供的無非是類似qq或微信的功能了。

 

同樣的,通信不只是面向個人的,也要面向企業,所以上面也提到了AS子系統,即Application Server,其實就是現在的通信行業內的增值方案服務供應商了,一般就是提供例如電話會議、語音留言,企業語音導航IVR,電話呼入自動分配ACD等等;

 

就這樣,VoIP發展成為具備運營商級的VoLTE。

 

從CS語音到VoLTE

 

2/3G網絡語音業務是通過傳統CS域傳送,而VoLTE傳送的是語音數據包,運營商網絡將長期2G/3G/LTE共存,如何保證語音通話在多網絡結構中的連續性呢?

 

 

下面這張圖是運營商2G/3G/4G共存的網絡結構(未引入IMS):

 

 

我們看到,LTE(EPC)並沒有直接鏈路連接到CS網絡(紫色部分),也沒有媒體網關連接到CS網絡,所以,此時的LTE網絡並不支持CS語音。同樣,在未引入IMS之前,早期的LTE網絡也不支持IP語音。

 

為了讓用戶在LTE網絡下能夠撥打語音電話,主要有三種解決方案:

●VoLGA(LTE通用訪問傳送語音)

●CSFB(電路域回落)

●VoLTE

 

VoLGA

 

VoLGA方案是在網絡中加入一個VNC (VoLGA Network Controller,VoLGA網絡控制器),其功能相當於2G網絡的BSC和3G網絡的RNC,它直接與GSM MSC和UMTS MSC通信。

 

 

VNC負責在MSC和LTE網絡之間協調語音和其它相關消息。不過,由於成本投入問題和VoLTE的快速發展,VoLGA方案已被3GPP放棄。

 

CSFB

 

當VoLTE還未到來之前,CSFB為LTE網絡提供語音業務的過渡解決方案。

CSFB(Circuit Switched Fallback),電路域回落,顧名思義,就是UE駐留在LTE網絡時,當需要完成語音業務時再回落到2G/3G網絡的CS域。當在2G/3G網絡完成呼叫后,重新返回LTE網絡。

 

為了支持CSFB,需引入一個新的網絡接口:SGs,該接口連接MME和2/3G網絡的MSC。

 

 

CSFB-注冊和位置

當UE開機時,會注冊兩個網絡:LTE網絡和傳統2/3G網絡。為了快速的轉移到傳統2/3G網絡,網絡需要知道UE的位置,為此,負責追蹤UE位置的MME會不斷的通過新引入的SGs接口向MSC提供位置信息。SGs消息支持移動性管理,尋呼和SMS。

 

CSFB-主叫

當主叫發生在LTE網絡時,UE會發送一條SRM (Service Request Message)給MME,MME通知eNodeB“轉移”UE到2/3G網絡。在執行“轉移”之前,eNodeB會要求UE對鄰近的2G/3G網絡進行RF測量,以決定將UE轉移到信號最好的2/3G小區上。一旦UE進入2/3網絡,開始在2/3G網絡下進行呼叫控制流程。

 

CSFB-語音呼叫與數據連接

當UE正在LTE網絡中上網(數據連接)時,突然決定要撥打電話,怎么辦?通常有兩種選擇:

1)將數據業務轉移到3G網絡

2)暫停數據業務,直到UE返回LTE網絡

 

看起來第一種選擇還不錯,不過,需要考慮“切換”到3G網絡后數據速率下降影響用戶感知,另外,3G網絡可能會因資源不足等原因拒絕IP對話。不支持數據業務“切換”到2G網絡,這種情況下,暫停數據業務。

 

CSFB-被叫

當被叫發生在LTE網絡時,MSC將呼叫請求通過SGs發送尋呼消息給相關MME,這一消息被轉發給UE,然后,UE發送SRM (Service Request Message) 消息給MME,MME通知eNodeB“轉移”UE到傳統2/3G網絡。

 

CSFB-CS語音呼叫結束

當CSFB的CS通話結束后,通常會通過空閑態重選會LTE網絡。運營商需要根據網絡規划及實際覆蓋情況配置相關參數。

 

VoLTE

 

VoLTE即4G語音的終極解決方案,它需要引入IMS網絡,其網絡結構如下:

 

關於VoLTE,上文已經講了很多。這里主要介紹一下SRVCC。

 

SRVCC(Single Radio Voice Call Continuity)是3GPP提出的一種VoLTE語音業務連續性方案,主要是為了解決當單射頻UE 在LTE網絡和2G/3G CS 網絡之間移動時,如何保證語音呼叫連續性的問題,即保證單射頻UE 在IMS 控制的VoIP 語音和CS 域語音之間的平滑切換。

 

當我們正在LTE網絡下VoLTE通話時,移動到了LTE覆蓋盲區,此時只有2/3G網絡覆蓋,為了不至於掉話,保持通話的連續性,我們需要將通話“切換”到2/3G網絡,這個時候就要用到SRVCC。

 

 

為了支持SRVCC,IMS網絡需引入一個應用服務器 — SCC AS (Server Centralization and Continuity Application Server),這個應用服務器管理“切換”過程中的信令。

 

帶SCC AS的VoLTE網絡結構:

 

我們來看一個簡單的SRVCC 切換流程(以SRVCC到GSM為例):

 

 

當UE在LTE網絡進行IMS語音呼叫,隨着用戶的移動,UE移出LTE網絡的覆蓋區域,此時LTE信號越來越弱,UE發送測量報告給EnodeB,EnodeB判定需向GSM進行SRVCC 切換,EnobeB向MME發送切換請求(需說明該切換為SRVCC類型)。

 

一個新的呼叫請求被發送到IMS,該呼叫請求包含STN-SR號碼(STN-SR是存儲在HSS的由每一台UE生成的唯一號碼,該號碼在UE首次接觸網絡時由MME發送給HSS)。

 

當IMS接收到STN-SR號碼后,SCC AS確認相應的呼叫應轉移到GSM網絡,開始將的IMS語音平滑切換至GSM。

 

當GSM資源准備好之后,MME向EnodeB 發送切換命令消息。

 

EnodeB 向用戶終端發送切換命令消息,消息包含目標小區信息。

 

最后一步,UE檢測GSM網絡,並重新建立呼叫於GSM網絡。

 

SRVCC切換完成。

 

不僅是語音數據包,其它數據包也可以用這種方法完成LTE向3G網絡的轉移。

 

為了提升SRVCC切換性能,3GPP R10還引入了eSRVCC (SRVCC enhancement) ,這一基於IMS的錨定解決方案還引入了 ATCF (Transfer Control Access Function ) 和 ATGW (Transfer Access Gateway)兩個新的功能實體。eSRVCC在保證語音呼叫連續性的同時,盡可能地減小了切換時延,將時延控制在人類所能感知的范圍之內,使正在進行的通話不會感覺到有中斷的跡象。

 

 

具體來說,信令是從UE通過EPC網絡到P-CSCF(Proxy-Call Session Control Function,代理呼叫會話控制功能),再錨定到拜訪地的ATCF(Access Transfer Control Function,接入轉換控制功能),然后連接到S-CSCF(Serving-Call Session Control Function,服務呼叫會話控制功能)和SCC AS,再通過SCC AS同遠端用戶建立連接;此時的媒體連接是UE通過EPC網絡錨定到拜訪地的ATGW(Access Transfer Gateway,接入轉換網關),再由ATGW連接到遠端的媒體網關。這里的兩個關鍵網元:ATCF和ATGW,就是eSRVCC比SRVCC可以縮小通話時延的關鍵所在哦。

 

最后一個問題,

 

VoIP,VoLTE和VoWiFi的區別

 

因為LTE是只傳送數據的網絡,而WiFi也一樣傳送數據,有人就想,能不能像VoLTE一樣,把WiFi作為接入網,接入IMS呢?當然可以。

 

下圖是VoLTE和VoWiFi並存的4G網絡結構圖,綠色部分叫可信任WiFi(運營商自己的WiFi),紅色部分叫不可信任WiFi(比如,你家里的WiFi或星巴克里的公共WiFi)。當然,你也看到了,不管是可信任的WiFi還是不可信任的WiFi,它們最后都接入了IMS域。

 

 

所以,VoWiFi 和VoIP是有區別的。有人以為VoWiFi就是基於WiFi上的VoIP,這並不准確!正如上圖中所示,VoWiFi只是將WiFi作為接入網,最終是要接入IMS的,它是運營商可以控制和管理的IP語音服務。

 

網絡采用IMS來控制和管理語音數據包后,IMS就像一個交通警察,專門把守在那里為語音數據包或者其它實時數據流(比如視頻電話或在線游戲等)開綠燈。

 

IMS 為每一個數據連接分配一個代碼,叫QoS (quality-of-service) class identifier,或者叫QCI,這個QCI確定了每個數據連接的優先級。QCI被存儲在路由表里,描述了傳輸要求,包括最大時延、可接受的丟包數量、是否要求保證速率。比如,視頻電話,QCI為1,這就要求,無論網絡是否擁擠,必須保證99.99%的數據包在100ms內到達目的地。而通常的Internet 數據,比如e-mail 或瀏覽網頁,被分配一個較低的優先級,QCI為8或9. 路由器根據QCI對數據包序列排隊,這樣就防止了VoLTE 數據包卡在交通堵塞的道路上。當然,VoLTE還有一些技術優勢,這里就不一一介紹了。

 

關於VoIP,由於數據分組交換遵循“誰先到,誰先服務”的原則,語音包和數據包混在一起傳輸,不能保證語音包的優先級別,這就會引起丟包和時延問題,無法確保語音質量。由於語音包並沒有受到更好的保護,它們和其它數據包一樣,遵循着“盡力而為”的原則在網絡里傳輸,所以VoIP無法保證通話質量的穩定性,這也是VoIP電話的語音質量時好時壞的原因。不過,隨着這幾年寬帶的提速,VoIP的通話質量也在逐漸改善。

 

最后,引用比爾蓋茨的一句話來作為結束吧!

 

所有的新技術,其短期影響力都會被高估,而長期影響力都會被低估。

 

人間正道是滄桑,願VoLTE一路走好!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM