摘要:隨著通信設備制造商和標準化組織,以及電信運營商的紛紛加入,VoIP系統(tǒng)得到了廣泛的應用。VoIP技術的發(fā)展有兩大方向:國際電聯(lián)的H.323協(xié)議棧、IETF的SIP協(xié)議棧。
本文詳細介紹VoIP系統(tǒng)及其相關協(xié)議棧以及所用VoIP系統(tǒng)的具體情況,對H.323和SIP協(xié)議分別做了介紹和對比:重點討論了基于H.323和SIP協(xié)議之間的互通問題,及硬件系統(tǒng)的結(jié)構設計。
主要內(nèi)容分析內(nèi)容:不同網(wǎng)絡之間的尋址與定位;消息的映射預處理;終端地址的轉(zhuǎn)換;硬件模塊的組成。
具體設計了網(wǎng)關會話層軟件程序的結(jié)構和功能模塊的劃分,給出了實現(xiàn)互通時的外部通信流程與內(nèi)部消息流程,及硬件模塊化設計。
關鍵詞:SIP;H.323;轉(zhuǎn)換網(wǎng)關
中圖分類號:TN915 文獻標識碼:A 文章編號:1007—9599 (2012) 14—0000—02
一、SIP與H.323的區(qū)別
(一)協(xié)議的出發(fā)點:H.323的傳輸從電路交換方式變更為分組交換方式;SIP協(xié)議主要是完成了基于Internet上IP電話的應用同時增加了QoS呼叫保障機制。
(二)消息編碼的不同:H.323采用壓縮編碼規(guī)則和ASN.1的二進制方法;SIP是基于文本的協(xié)議,與H.323相比具有較強的優(yōu)越性。
(三)會話能力的協(xié)商和調(diào)整方法:
H.323利用H.245進行能力協(xié)商的會話控制;
SIP采用SDP協(xié)議描述。
(四)Session管理的方式:
H.323的session由MCU執(zhí)行會議控制功能,參加會議的終端全部都向MCU發(fā)送控制消息;H.323設計便于計費,對帶寬的管理也比較簡單。
SIP session設計為分布式,他具有分布式的多播功能,多播功能能夠?qū)崿F(xiàn)更方便的會議控制,簡化用戶定位、群組邀請等,節(jié)約帶寬。
通過以上對比分析,從協(xié)議互通角度考慮,SIP和H.323網(wǎng)絡互通需要解決以下問題:
H.323和SIP地址的轉(zhuǎn)換;尋址定位的實現(xiàn);消息映射和呼叫過程同步。
二、H.323地址與SIP地址的轉(zhuǎn)換
SIP和H.323支持的地址格式不同:
H.323支持地址類型:H.323 ID、E—mail地址、IP地址和主機名,URL地址。
SIP地址由URL定義其結(jié)構,用以指示主叫、被叫、重定向和請求目的地址,在SIP消息內(nèi)的From,To,Contact字段和Request—URL字段中。
因此,如果完成H.323和SIP網(wǎng)絡之間的互通,就必須要實現(xiàn)H.323和SIP網(wǎng)絡之間的地址解析和映射,當網(wǎng)關收到來自H.323網(wǎng)絡或SIP網(wǎng)絡的消息,需要在消息內(nèi)解析所包含的地址單元,再按地址映射表,轉(zhuǎn)換成對方網(wǎng)地址格式,然后封裝在需要發(fā)出的消息中。
SIP 地址轉(zhuǎn)換成 H.323地址的轉(zhuǎn)換規(guī)則:
(一)e164部分:當SIP地址中userinfo為Tel格式例如+86—010—****@IP地址,這部分將被轉(zhuǎn)化成為H.323地址中e164部分,其中的+,—號會去掉。地址被轉(zhuǎn)化成H.323地址中e164部分,為“86010****”。
(二)h323—ID部分:SIP地址中的userinfo部分會直接轉(zhuǎn)成為h323—ID,例如sip:terminal@IP轉(zhuǎn)成h323— ID就是sip:jack@IP地址。
(三)url—ID部分:SIP地址中的存在類似的user@domain,可以直接轉(zhuǎn)化成為H.323 url—ID部分。sip:terminal@bell—tel.com轉(zhuǎn)為url—ID就是sip:terminal @bell—tel.com。
(四)email—ID部分:SIP地址存在user@group這中email地址格式,那么將email地址轉(zhuǎn)化為h.323地址的email—ID部分,如sip:terminal@IP地址可以轉(zhuǎn) terminal @IP地址。
(五)transport—ID部分:SIP地址中存在IP地址和端口的部分,H.323地址需要用transport—ID表示,如SIP地址如果是sip:terminal@IP,那么轉(zhuǎn)成H.323地址:transport—ID是IPAddress IP地址:端口號。
從H.323地址轉(zhuǎn)換到SIP地址時:
1.e164部分:e164部分轉(zhuǎn)換成一個電話號碼的SIP地址,規(guī)則是:sip:telephone@host:user=phone.
例如e164ID為86010****轉(zhuǎn)化成SIP地址就是:sip:+86—010—****@host:user=phone。
2.h323—ID部分:這部分可以轉(zhuǎn)化成為SIP地址的userinfo部分, 但是如果地址是terminal @IP地址這種類型的話,需要將mailto轉(zhuǎn)化成sip。
3.email—ID:需要將sip標識符加在email—ID的前面,例如email—ID 是
terminal@IP變換到SIP地址就是:sip:terminal@IP。
4.url—ID :需要將sip標識符加在url—ID的前面,如url—ID是h323:userA@gateway.com
變換成SIP地址就是:sip:userA@gateway.com.
5.transport—ID部分:將SIP地址用IP地址和端口表示,如果沒有指定端口,那么用5060代替。例如在H.323地址中,transport ID部分為IP地址:端口轉(zhuǎn)成SIP地址就是 sip:IP地址:端口,而transport ID是IP轉(zhuǎn)成SIP地址就是sip:IP地址:端口
三、SIP—H.323尋址和定位
在網(wǎng)關啟動時可以通過內(nèi)部消息或者調(diào)用協(xié)議棧程序,向SIP和H.323網(wǎng)絡分別注冊。這時,網(wǎng)關既作為H.323網(wǎng)絡側(cè)的一個終端,向H.323網(wǎng)守注冊成為H.323網(wǎng)絡中的語音網(wǎng)關,同時也是向SIP網(wǎng)絡的SIP Server進行注冊。終端發(fā)起呼叫時,網(wǎng)關接收來自本網(wǎng)的呼叫請求,轉(zhuǎn)發(fā)消息到被叫所在的網(wǎng)絡。
SIP網(wǎng)絡和H.323網(wǎng)絡互通需要解決尋址定位和路由的問題。在H.323網(wǎng)絡中,尋址定位采用H.225的RAS協(xié)議。各端點將自己的別名地址和網(wǎng)絡地址注冊到網(wǎng)守,由網(wǎng)守完成地址翻譯的過程。SIP用戶終端向注冊服務器注冊,發(fā)起呼叫時通過DNS、SIP代理機制、重定向機制尋址。
可以通過網(wǎng)關來完成SIP網(wǎng)絡和H.323網(wǎng)絡之間的尋址定位工作。當網(wǎng)關收到來自SIP和H.323網(wǎng)絡呼叫的時候,如果主叫所在服務器中沒有找到被叫的注冊消息,可以網(wǎng)關需要在對方網(wǎng)絡中尋找被叫信息。
信令網(wǎng)關尋址定位 H.323到SIP
信令網(wǎng)關尋址定位SIP到H.323
四、SIP到H.323消息映射與處理
在H.323和SIP中,呼叫控制方式和控制消息都有很大的區(qū)別,下面簡單介紹SIP和H.323協(xié)議體系中的消息。
H.323中H.225呼叫控制主要包括RAS消息和H.225呼叫消息兩部分。SIP消息包括請求和響應兩種,SIP請求定義了6種方法,分別是Inivte、ACK、Option、BYE、Cancel、Register。SIP 響應消息一般是從100到6XX,常見lXX(臨時相應消息),2XX(成功相應消息),3XX(重定位相應消息)、4XX(請求失敗相應消息)、5XX(服務器失敗相應消息)、6XX(整體失敗相應消息)。
SIP和H.323之間的消息映射就是網(wǎng)關收到消息,按照通信流程的規(guī)則,進行不同協(xié)議消息的轉(zhuǎn)換,這是完成互通工作的重要部分。消息映射一般情況下是一對一的映射,有的時候一條消息會被映射成一個消息隊列(連續(xù)的幾個消息的集合),在這種情況在,消息的映射就是一到多的映射。
五、轉(zhuǎn)換網(wǎng)關的體系結(jié)構
SIP—H.323信令網(wǎng)關的體系結(jié)構采用分層次模型、客戶機/服務器模型和面向?qū)ο竽P偷哪K化設計方法來實現(xiàn)。網(wǎng)關中定義了H.323 GateKeeper (H.323網(wǎng)守模塊)、SIP Server模塊、終端信息模塊、信令翻譯模塊這4個主要模塊,另還有SIP協(xié)議棧、H.323協(xié)議棧以及連接總控的接口。這其中:信令翻譯模塊,終端信息模塊,總控模塊屬于協(xié)議互通(IWF)部分。
網(wǎng)關模塊構成
網(wǎng)關的主要模塊:
(一)H.323網(wǎng)守模塊
網(wǎng)守模塊是H.323定義的標準組件之一,在VoIP系統(tǒng)中作為H.323呼叫信令中RAS消的接入點,負責處理H.323終端呼叫接入請求,終端以及其他網(wǎng)守的注冊請求,在網(wǎng)關內(nèi)同H.323協(xié)議棧模塊和尋址模塊之間完成信息交互,將收到的H.225和H.245消息發(fā)送給H.323 協(xié)議棧模塊,由H.323 協(xié)議棧模塊處理。
(二)SIP Server模塊
模塊主要作用向相連的SIP終端發(fā)送SIP消息,同時接收來自SIP終端的SIP消息。在網(wǎng)關內(nèi)同SIP 協(xié)議棧和尋址模塊通過內(nèi)部消息通信。
(三)H.323協(xié)議棧
H.323的編解碼工作,提供基本的H.323呼叫信令控制,控制H.323通信過程中的通信流程,同時和網(wǎng)守模塊以及信令翻譯模塊通過內(nèi)部消息通信。
(四)SIP協(xié)議棧
SIP協(xié)議棧服務于SIP Server模塊和信令翻譯模塊,解釋基本的SIP方法,完成對SIP消息的編碼、解碼工作,采用的是Osip協(xié)議棧。
(五)終端信息模塊
負責各通話時對終端的尋址工作。網(wǎng)絡互通時只需通過尋址模塊來查找對方的注冊信息即可。它的作用相當于地址服務器。
(六)信令翻譯模塊。
完成SIP消息和H.323信令之間的消息的翻譯和映射,在內(nèi)部通過消息和H.323網(wǎng)守模塊和SIP Server模塊通信。
(七)總控模塊
當網(wǎng)關作為VoIP系統(tǒng)中的翻譯模塊時,負責通話的管理和各個模塊的調(diào)用。
六、小結(jié)
對基于H.323與SIP的VoIP系統(tǒng)進行了熟悉與研究,并完成了SIP—H.323信令網(wǎng)關的通信要解決的主要矛盾,依據(jù)分析制定了SIP與H.323信令轉(zhuǎn)換網(wǎng)關的主要模塊,為實現(xiàn)兩個協(xié)議互聯(lián)互通做好前期的準備工作。