search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

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

小編今天加班,一篇老文復讀!

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)和響應消息,響應包括一個最終響應及可能的多個臨時響應。

一個完整的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 和 媒體網關。

實際上,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方案是在網路中加入一個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),這個應用伺服器管理「切換」過程中的信令。

我們來看一個簡單的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一路走好!

網優雇傭軍投稿郵箱:[email protected]

通信路上,一起走!



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦