譚洪川,孫建華
(中國電子科技集團公司第三十研究所,四川 成都 610041)
網(wǎng)絡電話(VoIP)是隨著互聯(lián)網(wǎng)的發(fā)展而出現(xiàn)的一種技術,其基本原理是采用語音編碼算法對語音采樣,然后將編碼壓縮處理后的語音碼流在分組網(wǎng)絡上進行傳輸,并由目的端進行解碼還原為模擬語音,從而實現(xiàn)通過互聯(lián)網(wǎng)互通語音的目的[1-2]。
VoIP中,主流的協(xié)議標準有兩個,一個是由國際電信聯(lián)盟(ITU-T)提出的H.323系列協(xié)議,目標就是把網(wǎng)絡電話當作傳統(tǒng)電話使用,僅是把原電信網(wǎng)的電路交換傳輸變成了互聯(lián)網(wǎng)的分組交換傳輸;另一個是由互聯(lián)網(wǎng)工程任務組(IETF)提出的會話初始協(xié)議(SIP,Session Initiation Protocol),目標是將網(wǎng)絡電話作為互聯(lián)網(wǎng)上的一個應用而非傳統(tǒng)電話。
H.323和SIP具有較多相似之處,如:信令控制相同,都需完成呼叫控制過程;支持的業(yè)務相同,都以語音為主的多媒體業(yè)務;媒體傳輸協(xié)議相同,都采用實時傳輸協(xié)議(RTP,Real-time Transport Protocol)。但二者由于提出方的理念不同也存在一定的差異。H.323和SIP在VoIP中均得到了不同程度的應用,在相當長的一段時間內(nèi)都將長期共存,因此解決這兩種不同網(wǎng)絡之間的互通至關重要。
H.323定義了在分組網(wǎng)絡上多媒體通信的協(xié)議集,由一系列功能清晰的協(xié)議模塊組成。H.323協(xié)議包括用于建立連接的H.225,用于安全的H.235,用于媒體控制的H.245,用于業(yè)務互操作的H.246,用于大型會議的H.332,用于補充業(yè)務的H.450等[3]。
H.323系統(tǒng)一般由網(wǎng)關(Gateway)、網(wǎng)守(Gatekeeper)、多點控制單元(MCU)、終端(Terminal)等部分構成[4],其網(wǎng)絡結構如圖1所示。
圖1 H.323系統(tǒng)的網(wǎng)絡結構
H.323網(wǎng)關是電路交換網(wǎng)絡與分組網(wǎng)絡之間的網(wǎng)關設備,分別完成電路交換側與IP側的呼叫建立和釋放;完成語音編碼方式的轉(zhuǎn)換、信令協(xié)議的轉(zhuǎn)換;實現(xiàn) H.225、H.235、H.245等協(xié)議;支持的語音編碼包括G.711、G.723、G.729等。
H.323網(wǎng)守的功能主要是實現(xiàn)對網(wǎng)關的控制,提供地址翻譯、訪問控制、帶寬控制等功能,需支持H.225、H.235、H.245、H.323等協(xié)議,通常采用分級網(wǎng)守的組網(wǎng)方式實現(xiàn)。
H.323多點控制單元(MCU)是構成多點會議的終端設備,主要包括兩部分:多點控制(MC)和多點處理(MP)。MCU對H.323會議終端的所有信令和媒體數(shù)據(jù)進行處理與轉(zhuǎn)發(fā)。
H.323終端是直接面向用戶,提供雙向?qū)崟r通信的節(jié)點設備,如IP電話機、PC軟電話、多媒體終端等。而模擬電話則是通過網(wǎng)關接入H.323系統(tǒng)的。
SIP協(xié)議是類似于超文本傳送協(xié)議(HTTP)的基于文本的信令協(xié)議,充分利用HTTP幀中的頭域、認證機制、編碼規(guī)則以及錯誤代碼等。SIP采用客戶端/服務器(CS,Client/Server)的控制方式進行信息交換,并采用會話描述協(xié)議(SDP,Session Description Protocol)進行媒體及會話能力的描述。
SIP協(xié)議堅持簡單化與開放性原則,設備的復雜性在網(wǎng)絡邊緣。SIP主要完成五項功能:找到用戶位置、確定用戶是否可用、確定用戶能力、建立會話、管理會話[5]。SIP共規(guī)定了6種信令:呼叫邀請和會話響應信令、屬性查詢信令、客戶注冊信令、取消已發(fā)出請求信令、結束會話信令。
圖2描述了SIP系統(tǒng)的網(wǎng)絡結構,包括用戶代理(UA,UserAgent)和網(wǎng)絡服務器。
(1)UA
UA是指向網(wǎng)絡服務器發(fā)送請求并與之建立連接的終端設備或者應用程序,包括支持SIP協(xié)議的軟硬件,如IP電話機、含SIP客戶端軟件的PC機。每個 UA又包括用戶代理客戶系統(tǒng)(UserAgent Client)和用戶代理服務系統(tǒng)(UserAgent Server)。用戶代理客戶系統(tǒng)用于向用戶代理服務系統(tǒng)發(fā)出SIP請求并建立連接。用戶代理服務系統(tǒng)接收用戶代理客戶系統(tǒng)的請求,并給予接受、重定向或拒絕的應答。
圖2 SIP系統(tǒng)的網(wǎng)絡結構
(2)網(wǎng)絡服務器
SIP系統(tǒng)中,網(wǎng)絡服務器主要有4類:代理服務器、注冊服務器、定位服務器、重定向服務器,它們可分布在不同的物理實體中,也可以共存于一個設備。
1)代理服務器:負責接收UA發(fā)來的呼叫請求消息,并代表UA將請求發(fā)送給相應的服務器,并根據(jù)收到的應答對用戶做出響應。它可以改寫原請求消息中的內(nèi)容。
2)注冊服務器:接收客戶端的注冊請求,完成用戶地址的注冊。并從用戶當前的地址中接收更新信息,同時還負責維護數(shù)據(jù)庫中所有用戶的當前位置列表。
3)定位服務器:SIP系統(tǒng)中,除通過注冊服務器來維護用戶的位置列表以外,也可以利用其他定位服務器的域名系統(tǒng)(DNS)、輕量目錄訪問協(xié)議(LDAP)等提供的定位服務來增強其定位功能。
4)重定向服務器:接收代理服務器的SIP請求,并為其指出轉(zhuǎn)發(fā)消息下一次應該送達的代理服務器的地址。
H.323協(xié)議和SIP協(xié)議都能通過IP網(wǎng)實現(xiàn)建立、維持、監(jiān)控和終止設備間的連接過程,在功能實現(xiàn)層面是完全相同的,但在協(xié)議本身實現(xiàn)的過程卻有較大的區(qū)別[6-7]。
1)編碼方式:H.323協(xié)議采用了抽象語法標記(ASN.1)的二進制編碼方式,信令復雜、不直觀;SIP協(xié)議采用的是文本編碼方式,頭域含義一目了然,如From、To等域名,所以消息非常簡單。
2)地址格式:H.323支持多種地址格式,有H.323-ID、E.164-ID、電子郵件(Email)身份標識、統(tǒng)一資源定位符(URL)標識、傳送身份標識(transport-ID)等地址類型;而 SIP協(xié)議支持的地址類型主要是類似于Email形式的SIP URL格式。
3)控制消息:H.323的呼叫控制信令包括注冊、認證、狀態(tài)消息和H.225控制消息;SIP的呼叫信令采用SIP消息。
4)會話能力協(xié)商:H.323采用H.254協(xié)議來進行能力協(xié)商的會話控制,媒體參數(shù)協(xié)商信令和呼叫建立過程是分開進行的;而SIP采用的是SDP進行媒體及會話能力的描述,其會話請求過程和媒體參數(shù)協(xié)商是同時進行的。
5)呼叫建立過程:H.323的呼叫建立涉及3條信令:用于終端與網(wǎng)守之間注冊、授權、改變帶寬、脫離解除等過程的 RAS(Registration Admission Status)信令;用于建立兩個終端之間連接的H.225呼叫信令;用于傳送終端間的主從判別、能力交換、邏輯信道的打開和關閉、模式參數(shù)請求等的 H.245控制信令,H.323的呼叫建立時間較長。
SIP是基于文本的CS模式的協(xié)議,利用請求、響應、證實的機制實現(xiàn)會話控制,呼叫控制的信息是封裝在SIP消息的報頭里面,呼叫建立過程相對較短,簡單明了。
H.323和SIP的互通其實就是信令的互通(或轉(zhuǎn)換),需要一種互通信令網(wǎng)關來實現(xiàn)?;ネㄐ帕罹W(wǎng)關的結構如圖3所示,包含H.323協(xié)議棧、SIP協(xié)議棧和控制與轉(zhuǎn)換單元?;ネㄐ帕罹W(wǎng)關既可以同H.323網(wǎng)絡中的網(wǎng)守合并為一個設備,也可以同SIP網(wǎng)絡中的代理服務器合并為一個設備,部署方式十分靈活[7-8]。
圖3 互通信令網(wǎng)關的結構
1)H.323協(xié)議棧:負責呼叫信令及控制消息與H.323網(wǎng)絡之間的收發(fā),包含向H.323網(wǎng)守進行注冊,使互通信令網(wǎng)關成為H.323網(wǎng)絡的一個網(wǎng)關設備。
2)SIP協(xié)議棧:負責SIP消息與SIP網(wǎng)絡之間的收發(fā),包含向服務器的注冊與定位,使互通信令網(wǎng)關成為SIP網(wǎng)絡的一個網(wǎng)關設備。
3)控制與轉(zhuǎn)換單元:實現(xiàn)H.323的各控制信令和SIP消息的翻譯與映射,包括地址轉(zhuǎn)換與映射、消息轉(zhuǎn)換與映射、媒體能力協(xié)商。
(1)地址轉(zhuǎn)換與映射
H.323和SIP所支持的地址格式是不同的,在兩個網(wǎng)絡之間交互必須首先對地址進行轉(zhuǎn)換,這就要求互通信令網(wǎng)關不但能夠自動識別消息中的地址類型,而且還要根據(jù)地址映射的規(guī)則將其變換為對端的地址類型。如將SIP URL中的電話號碼形式映射為H.323的E.164標識;將H.323中的IP地址或者傳輸端口標識映射為SIP URL中的主機(Host)字段等。
(2)消息轉(zhuǎn)換與映射
消息轉(zhuǎn)換與映射主要包括消息格式的轉(zhuǎn)換和消息內(nèi)容的映射兩個方面。
消息格式的轉(zhuǎn)換:H.323 協(xié)議采用ASN.1編碼方式,而SIP消息是基于文本的,采用通用轉(zhuǎn)換格式(UTF-8)編碼方式,兩種協(xié)議的消息格式轉(zhuǎn)換主要是ASN.1編碼和UTF-8編碼之間的轉(zhuǎn)換。
消息內(nèi)容的映射:H.323與SIP之間的消息映射是根據(jù)通信流程的規(guī)則進行不同協(xié)議消息內(nèi)容的轉(zhuǎn)換。通常,消息映射是一對一映射的,如:將 SIP側的邀請消息映射為H.323側的呼叫建立或接入請求消息;將H.323側的建立連接消息映射為SIP側的“200 OK”成功響應消息。消息映射也有一到多映射的情況,如釋放呼叫的消息轉(zhuǎn)換,即是將 SIP側的BYE消息映射為H.323側的一系列呼叫,包括:H.245 會話結束、H.225釋放結束、RAS呼叫退出請求。
(3)媒體能力協(xié)商
兩個不同類型網(wǎng)絡中的終端雙方在呼叫發(fā)起時需相互協(xié)商對方的媒體能力,才能打開RTP通道以發(fā)送雙方均支持的編解碼媒體包。H.323是采用H.245進行媒體能力協(xié)商,而SIP采用SDP進行媒體能力協(xié)商。媒體能力協(xié)商主要包括語音碼流的編解碼方式集合、IP 地址和端口號、回聲控制的使用等。因此,互通信令網(wǎng)關在進行呼叫信令轉(zhuǎn)換的同時,需具備H.323 網(wǎng)絡和SIP網(wǎng)絡的媒體協(xié)商能力,并且需準確解釋媒體能力,避免產(chǎn)生誤解。即:要求互通信令網(wǎng)關接收到SIP網(wǎng)絡發(fā)出的呼叫請求時,就從其媒體字段獲得媒體格式和能力的數(shù)據(jù),并轉(zhuǎn)換為對應的 H.245能力交換信息;同樣它也能將H.245協(xié)議描述的媒體格式和能力轉(zhuǎn)換為對應的SDP能力交換信息。
VoIP 技術已逐漸成為語音技術發(fā)展的主流,其中的H.323協(xié)議沿用的是傳統(tǒng)的電話信令模式,最大優(yōu)勢在于技術成熟,有不少的H.323產(chǎn)品;而SIP協(xié)議則借鑒了互聯(lián)網(wǎng)的標準和協(xié)議,具有簡單、開放和可擴展的優(yōu)勢??傮w來說,H.323和SIP是兩個各有側重、目標相同、相對完整的協(xié)議體系,協(xié)議本身并沒有絕對的先進性,不會出現(xiàn)絕對取代的情況。因此,解決H.323與SIP之間網(wǎng)絡互通的信令網(wǎng)關具有重要的地位。隨著IP網(wǎng)絡的不斷發(fā)展和協(xié)議的不斷完善,互通信令網(wǎng)關的功能與適配性將會越來越成熟,使兩類網(wǎng)絡能更加緊密得結合在一起,滿足更廣泛的用戶需求。
[1] 魏迎春.VoIP網(wǎng)絡電話技術及其應用[J].通信技術,2003(12):47-50.
[2] 張鵬,張繼棠.VoIP體系協(xié)議的分析與研究[J].信息安全與通信保密, 2007(06):89-93.
[3] 馮雁,彭宇,劉芳.SIP與 H.323協(xié)議互通的研究[J].通信技術,2007,40(11):260-261.
[4] 楊多學,鄭有才.H.323與MGCP在VoIP應用中的分析與比較[J].計算機技術與發(fā)展,2006(07):108-110.
[5] 倪云霞.基于軟交換體系下的 VoIP技術實現(xiàn)[J]. 信息安全與通信保密, 2008(08):55-56.
[6] 孫培元,陳啟美.SIP與H.323可視通話的互通實現(xiàn)[J].數(shù)據(jù)通信,2003(05):43-46.
[7] 陳亮.淺析 SIP-H.323信令網(wǎng)關的實現(xiàn)[J].數(shù)字通信世界,2009(04):50-53.
[8] 沈鑫剡.多媒體傳輸網(wǎng)絡與 VoIP 系統(tǒng)設計[M].北京:人民郵電出版社,2005:103-136.