VoIP協(xié)議標(biāo)準(zhǔn)淺析
目前在國(guó)際上,應(yīng)用的標(biāo)準(zhǔn)協(xié)議包括ITU-T提出的H.323協(xié)議和IEEE提出的SIP協(xié)議。
1、H.323協(xié)議
H.323協(xié)議是目前在VoIP網(wǎng)絡(luò)中被用得最廣泛的一種信令協(xié)議,其作用范圍如圖1所示。這一體系結(jié)構(gòu)包括了H.323終端、網(wǎng)關(guān)、關(guān)守及多點(diǎn)控制單元(MCU)。H.323的總體目標(biāo)實(shí)現(xiàn)H.323端點(diǎn)之間媒體流交換。
圖1 H.323的范圍及H.323終端的交互
其中,H.323終端是與其他H.323端點(diǎn)進(jìn)行實(shí)時(shí)通信的端點(diǎn); 網(wǎng)關(guān)是在H.323網(wǎng)絡(luò)和其他類型網(wǎng)絡(luò)之間提供轉(zhuǎn)換服務(wù)的H.323端點(diǎn),網(wǎng)關(guān)兩側(cè)信令協(xié)議及媒體格式之間的轉(zhuǎn)換在網(wǎng)關(guān)內(nèi)部進(jìn)行;關(guān)守在H.323網(wǎng)絡(luò)中,是一個(gè)可選實(shí)體,存在時(shí),可以控制(指對(duì)來(lái)自一個(gè)或多個(gè)端點(diǎn)的訪問(wèn)進(jìn)行授權(quán),并可允許或拒絕端點(diǎn)發(fā)來(lái)的任何呼叫)許多H.323終端、網(wǎng)關(guān)和多點(diǎn)控制器;多點(diǎn)控制器(MC)是一個(gè)管理多個(gè)終端和/或網(wǎng)關(guān)之間多點(diǎn)會(huì)議的 H.323端點(diǎn)。MC指出可被各個(gè)實(shí)體共享的媒體,還可以改變資源的配置。MC的位置,可以被安置在一個(gè)獨(dú)立的MCU中,也可以與網(wǎng)關(guān)、關(guān)守或H.323 終端等實(shí)體結(jié)合在一起。
H.323協(xié)議是一個(gè)龐大的協(xié)議族,包括許多相關(guān)的協(xié)議,形成了一個(gè)協(xié)議棧,如圖2所示。媒體交換是通過(guò)運(yùn)行在UDP上的RTP來(lái)實(shí)現(xiàn)的,只要有RTP則RTCP是不可少的。RTP協(xié)議為音頻、視頻等實(shí)時(shí)數(shù)據(jù)提供端到端的傳遞服務(wù),可以向接收端點(diǎn)傳送恢復(fù)實(shí)時(shí)信號(hào)必需的定時(shí)和順序信息, RTCP協(xié)議能向收發(fā)雙方和網(wǎng)絡(luò)運(yùn)營(yíng)者提供QoS的監(jiān)測(cè)手段。
圖2 H.323協(xié)議棧
實(shí)際中在H.323端點(diǎn)之間交換的消息是由H.225.0和H.245這兩個(gè)協(xié)議定義。H.225.0協(xié)議包括兩個(gè)部分,一部分是IUT-T Q.931建議的變體,用于在H.323端點(diǎn)之間建立以及拆除連接,被稱作呼叫信令或是Q.931信令。另一部分被稱作登錄、許可和狀態(tài)(RSA)信令,用于端點(diǎn)和關(guān)守之間,使關(guān)守用該信令來(lái)許可或是拒絕端點(diǎn)對(duì)網(wǎng)絡(luò)資源的訪問(wèn)。H.245是用于兩個(gè)或多個(gè)端點(diǎn)之間的控制協(xié)議,它可以確保一個(gè)實(shí)體只發(fā)送能夠被另一個(gè)實(shí)體接收和理解的媒體,其運(yùn)行在端點(diǎn)之間的一條或多條邏輯信道上。
上述這三個(gè)信令協(xié)議——RAS,Q.931和H.245,可用來(lái)建立呼叫、維持呼叫和拆除呼叫。不同協(xié)議消息的傳遞是交替進(jìn)行的,圖3簡(jiǎn)單描述了一個(gè)呼叫的建立過(guò)程以及呼叫過(guò)程中各相關(guān)協(xié)議的控制作用??梢赃@樣理解:當(dāng)一個(gè)端點(diǎn)想要與另一個(gè)端點(diǎn)建立呼叫時(shí),首先,源端點(diǎn)使用RAS信令來(lái)從一個(gè)關(guān)守那里獲得許可;然后,源端點(diǎn)用Q.931信令來(lái)建立與目的端點(diǎn)的通信;最后,源端點(diǎn)使用H.245控制信令與目的端點(diǎn)協(xié)商媒體參數(shù)并建立媒體傳送。
圖3 呼叫過(guò)程與協(xié)議控制
2、SIP協(xié)議
SIP是由IETF開(kāi)發(fā)的一種信令協(xié)議,用來(lái)處理多媒體會(huì)話的建立、更改、拆卸,與其他協(xié)議比較,SIP描述了潛在的會(huì)話參與者的會(huì)話特征。SIP中定義了兩類基本的網(wǎng)絡(luò)實(shí)體,客戶機(jī)和服務(wù)器??蛻魴C(jī)是指為了向服務(wù)器發(fā)送請(qǐng)求而與服務(wù)器建立連接的應(yīng)用程序,服務(wù)器是用于向客戶機(jī)發(fā)出的請(qǐng)求提供服務(wù)并回送應(yīng)答的應(yīng)用程序。共有四種不同類型的服務(wù)器:
(1)用戶代理服務(wù)器:當(dāng)接到SIP請(qǐng)求時(shí)它聯(lián)系用戶,并代表用戶返回響應(yīng)。
(2)代理服務(wù)器:代表其他客戶機(jī)發(fā)起請(qǐng)求,既充當(dāng)服務(wù)器又充當(dāng)客戶機(jī)的媒介程序。在轉(zhuǎn)發(fā)請(qǐng)求之前,它可以改寫原請(qǐng)求消息中的內(nèi)容。
(3)重定向服務(wù)器:它接收SIP請(qǐng)求,并把請(qǐng)求中的原地址映射成零個(gè)或多個(gè)新地址,返回給客戶機(jī)。
(4)注冊(cè)服務(wù)器:它接收客戶機(jī)的注冊(cè)請(qǐng)求,完成用戶地址的注冊(cè)。
SIP網(wǎng)絡(luò)實(shí)體之間的溝通是由SIP消息來(lái)完成,其語(yǔ)法構(gòu)成是基于文本的,可以分為兩類消息類型,即請(qǐng)求消息和回應(yīng)消息。
每個(gè)消息都是由一個(gè)起始行,零個(gè)或多個(gè)首部和任意的消息體組成。對(duì)于請(qǐng)求消息,起始行為請(qǐng)求行,規(guī)定了所提交請(qǐng)求的類型,語(yǔ)法結(jié)構(gòu)為: request-line=method SP Request URI SP SIP-Version CRLF,其中定義了7種方法,名稱和描述如表1所示。對(duì)于回應(yīng)消息,起始行為狀態(tài)行,指出某個(gè)請(qǐng)求是成功還是失敗,語(yǔ)法結(jié)構(gòu)為status-line= SIP version SP status code DP reason-phrase CRLF,基中定義了狀態(tài)代碼,它的值在100和699之間,第一個(gè)數(shù)字表示回應(yīng)的級(jí)別,不同級(jí)別的說(shuō)明如表2所示。消息首部提供了關(guān)于請(qǐng)求或回應(yīng)的更多信息以及用來(lái)承載額外信息的方式。消息體通常描述將要建立的會(huì)話類型,但SIP并不定義消息體的結(jié)構(gòu)或內(nèi)容,它是由另一個(gè)不同的協(xié)議來(lái)描述,最常見(jiàn)的為 SDP(會(huì)話描述協(xié)議)。
表1 SIP請(qǐng)求方法描述
方法 - 說(shuō)明
INVITE - 用來(lái)回應(yīng)呼叫用戶的一個(gè)請(qǐng)求
ACK - 用來(lái)初始化一個(gè)會(huì)話
BYE - 結(jié)束一個(gè)已連接的呼叫
CANCLE - 用于取消一個(gè)已發(fā)出但未連接的呼叫
REGISTER - 用于向注冊(cè)服務(wù)器注冊(cè)客戶端的相關(guān)信息
OPTI0N - 用于查詢服務(wù)器的相關(guān)信息和功能
INF0 - 用來(lái)送出通信中的資訊但并不改變?nèi)魏瓮ㄐ诺臓顟B(tài)
表2 SIP請(qǐng)求方法描述
狀態(tài)碼 - 描述
1XX - 通知
2XX - 成功
3XX - 重定向
4XX - 請(qǐng)求失敗
5XX - 服務(wù)器錯(cuò)誤
6XX - 全局性錯(cuò)誤
SIP協(xié)議支持三種呼叫方式,用戶代理客戶機(jī)向用戶代理服務(wù)器直接呼叫,用戶代理客戶機(jī)在重定向服務(wù)器輔助下重定向呼叫,由代理服務(wù)器代表用戶客戶機(jī)向被叫發(fā)起呼叫。以應(yīng)用代理服務(wù)器為例,說(shuō)明一個(gè)簡(jiǎn)單呼叫的建立過(guò)程,如圖4所示。
圖4 代理服務(wù)器建立呼叫過(guò)程
3、H.323協(xié)議與SIP協(xié)議的比較
(1)兩種協(xié)議的編碼機(jī)制不同,H.323是使用二進(jìn)制編碼方式,實(shí)現(xiàn)比較復(fù)雜,而SIP是基于文本的協(xié)議,實(shí)現(xiàn)簡(jiǎn)單。
(2)SIP會(huì)話請(qǐng)求過(guò)程和媒體協(xié)商過(guò)程等是一起進(jìn)行的,因此呼叫建立時(shí)間短,而在H.323中呼叫建立過(guò)程和進(jìn)行媒體參數(shù)等協(xié)商的信令控制過(guò)程是分開(kāi)進(jìn)行的。
(3)H.323中定義了專門的協(xié)議用于補(bǔ)充業(yè)務(wù),而SIP只要充分利用已定義的頭域,必要時(shí)對(duì)頭域進(jìn)行簡(jiǎn)單擴(kuò)展就能很方便地支持補(bǔ)充業(yè)務(wù)或智能業(yè)務(wù),可擴(kuò)展性強(qiáng)。
(4)H.323進(jìn)行集中,層次式控制,而SIP類似于其他的Internet協(xié)議,設(shè)計(jì)上就為分布式的呼叫模型服務(wù)的,具有分布的組播功能。
總之,H.323沿用的是傳統(tǒng)的電話信令模式,符合通信領(lǐng)域傳統(tǒng)的設(shè)計(jì)思想,已被廣泛接受,應(yīng)用比較成熟。而SIP協(xié)議借鑒了互聯(lián)網(wǎng)的標(biāo)準(zhǔn)和協(xié)議的設(shè)計(jì)思想,簡(jiǎn)單、靈活等特點(diǎn)正吸引著越來(lái)越多的設(shè)備廠商關(guān)注和支持,并逐漸成為未來(lái)發(fā)展的方向,但還不夠成熟。目前,這兩種協(xié)議都在積極的尋求改進(jìn),很長(zhǎng)時(shí)間內(nèi)將在VoIP服務(wù)中共存。
評(píng)論