<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > H.323-SIP信令網(wǎng)關(guān)的實(shí)現(xiàn)

          H.323-SIP信令網(wǎng)關(guān)的實(shí)現(xiàn)

          作者: 時間:2008-02-20 來源: 收藏

            隨著計算機(jī)運(yùn)算能力的提高和網(wǎng)絡(luò)帶寬的不斷增加,傳統(tǒng)電信網(wǎng)絡(luò)和計算機(jī)網(wǎng)絡(luò)正逐漸融合,以分組交換技術(shù)為核心的IP電話業(yè)務(wù)逐漸成為市場的主流。目前被廣泛接受的網(wǎng)絡(luò)電話(VoIP)控制信令體系包括國際電信聯(lián)盟遠(yuǎn)程通信標(biāo)準(zhǔn)化組(ITU-T)的H.323協(xié)議和互聯(lián)網(wǎng)工程任務(wù)組(IETF)的會話初始化協(xié)議(SIP),二者實(shí)現(xiàn)的信令控制功能基本相同,但設(shè)計風(fēng)格和實(shí)現(xiàn)方法不同。H.323協(xié)議與傳統(tǒng)電信網(wǎng)絡(luò)互通性較好,應(yīng)用廣泛,技術(shù)較為成熟;而SIP與IP網(wǎng)絡(luò)結(jié)合得更好,信令簡單,易于擴(kuò)充。因此,在實(shí)際應(yīng)用中考慮到多媒體通信對兩種協(xié)議優(yōu)點(diǎn)的依賴,在相當(dāng)長的時間里SIP與H.323將共存,這使得H.323網(wǎng)絡(luò)與SIP網(wǎng)絡(luò)互通具有重要意義。

          本文引用地址:http://www.ex-cimer.com/article/79027.htm

            1 信令網(wǎng)關(guān)的含義

            H.323是ITU-T制定的關(guān)于多媒體通訊的標(biāo)準(zhǔn),它通過一組協(xié)議的相互協(xié)作來實(shí)現(xiàn)對呼叫的控制,主要包括H.245控制協(xié)議、H.225.0連接建立協(xié)議、H.235安全協(xié)議和音頻編碼器 G.711、G.722等,其控制區(qū)域包括注冊、許可和狀態(tài)(RAS)信令部分、呼叫控制信令部分、媒體控制和傳輸部分3部分。

            H.323中呼叫的建立過程和媒體、參數(shù)協(xié)商等的信令控制過程是分開進(jìn)行的,它先通過H.225.0協(xié)議在終端之間建立呼叫連接,為H.245協(xié)議打開傳輸控制協(xié)議(TCP)通道,然后在終端之間進(jìn)行性能交換、參數(shù)協(xié)商、主從確定等控制[1]。

            SIP協(xié)議是由IETF提出的一種開放的IP電話信令協(xié)議,它基于文本,其消息的句法和報頭與超文本傳輸協(xié)議(HTTP)相同,它利用HTTP的幀頭域、編碼規(guī)則、錯誤代碼和認(rèn)證機(jī)制來實(shí)現(xiàn)信令控制。SIP中呼叫控制的信息封裝在SIP消息的報頭中,因此會話請求過程與媒體協(xié)商過程是同時進(jìn)行的,這樣SIP呼叫建立過程就相對短一些,而且簡單明了。

            H.323和SIP都是多媒體通信的應(yīng)用層協(xié)議,都提供呼叫建立、呼叫撤銷、呼叫控制、補(bǔ)充業(yè)務(wù)和可交換能力,這使得實(shí)現(xiàn)兩個協(xié)議的互通相對比較容易。H.323和SIP都是基于IP網(wǎng)絡(luò)的多媒體通信協(xié)議,采用實(shí)時傳送協(xié)議(RTP)傳送實(shí)時的音頻視頻傳輸,二者之間通信的復(fù)雜度不高,可以通過設(shè)置信令網(wǎng)關(guān)(SGW)來解決二者的互通,完成信令消息的翻譯和轉(zhuǎn)換功能。

            為了便于區(qū)別軟交換網(wǎng)絡(luò)和公共交換電話網(wǎng)絡(luò)(PSTN)之間的7號信令網(wǎng)關(guān),下面將把H.323和SIP之間的網(wǎng)關(guān)稱為信令網(wǎng)關(guān)。

            2 H.323與SIP的技術(shù)實(shí)現(xiàn)

            SIP和H.323在技術(shù)實(shí)現(xiàn)上有很大的不同,具體表現(xiàn)在以下幾個方面。

            在開發(fā)速度上SIP優(yōu)于H.323協(xié)議,不過如果H.323協(xié)議原語部分解析得較好的話,事實(shí)上兩者開發(fā)速度相差不大。

            在多播方面SIP具有優(yōu)勢,已經(jīng)應(yīng)用于很多多播骨干網(wǎng)絡(luò)。而H.323v1、H.323v2要使用多單播同時進(jìn)行的方式才能完成,不過H.323v3版本對多播的支持已有很大改善。

            在地址的運(yùn)用上,SIP使用統(tǒng)一資源定位器(URL)機(jī)制,使SIP能以一種非常靈活的方式重定向到非SIP服務(wù)器上去,另外一個SIP呼叫的SIP終端也能重定向到某個網(wǎng)頁或者是電子郵件地址,而H.323的命名的機(jī)制比較混亂。

            對于SIP而言,所有的消息都采用文本編碼,所以SIP消息非常簡單,這樣開發(fā)時通過簡單的網(wǎng)絡(luò)檢測就可以調(diào)試。反觀H.323協(xié)議采用了誤碼率(PER)或者誤包率(BER)的二進(jìn)制編碼方式,信令不是非常直觀。

            系統(tǒng)資源的消耗上,SIP可以說是開銷驚人,每次服務(wù)器發(fā)出通告的時候,都需要建立一個監(jiān)聽套接字,這樣的結(jié)果勢必造成大量的閑置套接字,假設(shè)在建立一個完整的代理/注冊/流網(wǎng)關(guān)三者合而為一的園區(qū)出口網(wǎng)關(guān)的時候,資源上勢必會非常的緊張,這個是不能不予以考慮的問題。相反H.323在打開邏輯通道的情況下,只建立一個套接字。

            SIP沒有會議控制能力,所以只能做到點(diǎn)對點(diǎn)的媒體通訊。而H.323一開始就考慮了會議功能,其中還包含了H.332會議控制協(xié)議。

            基于無線的網(wǎng)絡(luò)而言,H.323有很大優(yōu)勢,由于其信令采用二進(jìn)制編碼,所以比較適合手持設(shè)備的實(shí)現(xiàn),而SIP由于采用文本方式就沒有這樣的能力。

            3 H.323與SIP網(wǎng)絡(luò)互通的實(shí)現(xiàn)

            盡管H.323和SIP作為多媒體通信應(yīng)用層控制協(xié)議實(shí)現(xiàn)的信令功能基本相同,都是用RTP/RTCP作為媒體傳輸?shù)膮f(xié)議,但是從本質(zhì)上看,這兩個協(xié)議之間還存在著較大的區(qū)別。

            通過表1的比較可以知道,要實(shí)現(xiàn)H.323與SIP網(wǎng)絡(luò)之間的互通,必須解決地址格式的轉(zhuǎn)換、消息映射和終端能力協(xié)商等方面的問題[2]。

            

          H

           

            圖1為信令網(wǎng)關(guān)的框架結(jié)構(gòu), H.323和SIP信令網(wǎng)關(guān)包含一個H.3 23協(xié)議棧和一個SIP協(xié)議棧,同時包含一個H.323-SIP翻譯單元。H.323協(xié)議棧負(fù)責(zé)接收和發(fā)送呼叫信令以及控制消息與H.323網(wǎng)絡(luò)通信,SIP協(xié)議棧負(fù)責(zé)接收和發(fā)送SIP消息同時與SIP網(wǎng)絡(luò)通信。H.323-SIP翻譯單元則實(shí)現(xiàn)H.323消息和 SIP消息的翻譯與地址映射。在整個通信過程中H.323-SIP信令網(wǎng)關(guān)將提供呼叫流程的信令轉(zhuǎn)換。

            

          H

           

            3.1H.323與SIP之間的地址轉(zhuǎn)換

            在H.323與SIP的互通中,H.323和SIP各自所支持的地址格式不同。SIP系統(tǒng)中地址典型格式是SIP:User@Host,而 H.323系統(tǒng)中地址格式不受限制,可以是E.164標(biāo)識、各種URL格式、H.323 ID、Email ID等。在跨越不同的系統(tǒng)時必須對地址進(jìn)行轉(zhuǎn)換,這就要求H.323-SIP信令網(wǎng)關(guān)不但能夠識別消息中所包含的地址類型,而且還可以根據(jù)地址映射的規(guī)則將其變換為對端地址類型,實(shí)現(xiàn)一致和唯一的SIP URL到H.323地址或者H.323地址到SIP URL的映射[3]。

            (1) H.323到SIP的地址映射

            H.323別名地址轉(zhuǎn)換為SIP地址,要盡可能把別名地址中的URL ID轉(zhuǎn)換為”SIP:User@Host”格式;在SIP URL中,Host是必須的。如果H.323的E.l64 ID格式中不含有Host部分信息,該Host可以用H.323-SIP信令網(wǎng)關(guān)的IP地址代替;如果是傳輸端口標(biāo)識,則將該傳輸端口標(biāo)識映射為SIP URL的Host部分。SIP URL的user部分可以是H.323 ID和E.l64 ID,若端口號沒有指定可以使用默認(rèn)的5060端口;如果是Email ID格式,則在該地址前加上“SIP:”后直接當(dāng)作SIP URL。

            (2) SIP到H.323的地址映射

            將SIP地址轉(zhuǎn)換為H.323地址較簡單,如果SIP URL為電話號碼形式的話,則可以將其映射為H.323的E.164標(biāo)識,并且將SIP電話用戶部分的“+”、“-”、“.”都去掉;如果SIP URL的形式是User@Group的話,則可直接映射為H.323的Email ID,并將SIP字段去掉;如果SIP URL的格式是SIP:User@IP address,那么該地址就可以映射為一個傳輸端口標(biāo)識,并在這之前加上“IP:”。

            3.2消息的轉(zhuǎn)換

            在呼叫控制和相關(guān)消息等方面,H.323和SIP存在很大的區(qū)別。H.323中H.225呼叫控制信令主要包括RAS消息和Q391呼叫信令消息兩個部分,而SIP消息包括請求和響應(yīng)兩種。這就需要H.323-SIP信令網(wǎng)關(guān)中將其轉(zhuǎn)換成SIP網(wǎng)絡(luò)的OK響應(yīng)消息;而H.323網(wǎng)絡(luò)發(fā)出的呼叫振鈴消息則被轉(zhuǎn)換成SIP網(wǎng)絡(luò)的180振鈴響應(yīng)消息。

            通常消息映射是一對一映射,但有時也可能是一個消息到多個消息的映射。例如SIP網(wǎng)絡(luò)的INVIITE消息,被轉(zhuǎn)換成H.323網(wǎng)絡(luò)發(fā)出的呼叫建立SETIP消息(網(wǎng)絡(luò)中不存在網(wǎng)守)或接入請求ARQ消息(網(wǎng)絡(luò)中存在網(wǎng)守)。

            此外,還存在消息參數(shù)的轉(zhuǎn)換,如:H.225.0的Display-Info參數(shù)對應(yīng)于SIP中的From字段,而DestinationCallsignalAdderss參數(shù)對應(yīng)于TO字段。

            在信令消息的轉(zhuǎn)換中,H.323-SIP信令網(wǎng)關(guān)還需考慮以下問題:

            一個給定協(xié)議的信令消息或參數(shù)可能沒有一個完全匹配的另一協(xié)議的響應(yīng)信令消息或參數(shù),這時需要由H.323-SIP信令網(wǎng)關(guān)創(chuàng)建消息信令之間的映射或者H.323-SIP信令網(wǎng)關(guān)做一定的處理以在共同理解的基礎(chǔ)上產(chǎn)生統(tǒng)一的標(biāo)準(zhǔn)。

            兩個協(xié)議對信令消息的理解出現(xiàn)錯誤時,H.323-SIP信令網(wǎng)關(guān)能夠產(chǎn)生基于共同理解統(tǒng)一標(biāo)準(zhǔn)基礎(chǔ)上的錯誤信息。

            3.3媒體能力協(xié)商

            H.323采用H.245協(xié)議來描述主、被叫方能力的協(xié)商,而SIP中媒體信息描述則由會話描述協(xié)議(SDP)完成,因此媒體協(xié)商的過程就是SDP協(xié)議與H.245的交互過程。媒體能力協(xié)商的關(guān)鍵在于媒體能力的交換和媒體能務(wù)的解釋。

            (1) 媒體能力交換

            SIP會話請求過程和媒體協(xié)商過程等是一起進(jìn)行的,因此呼叫建立時間短;而H.323中呼叫建立過程和媒體參數(shù)協(xié)商的信令控制過程是分開進(jìn)行的。當(dāng)進(jìn)行媒體能力協(xié)商的時候, H.323-SIP信令網(wǎng)關(guān)將SIP轉(zhuǎn)換到H.323,只需把SIP的INVITE消息進(jìn)行拆分就能實(shí)現(xiàn);反之就很復(fù)雜,必須隨H.323進(jìn)程一步一步地疊加。

            由于H.323的呼叫建立存在快速連接和非快速連接兩種模式,H.323到SIP的轉(zhuǎn)換過程中媒體能力交換方式也有所不同。

            H.323終端在支持快速連接時,H.323的SETUP消息中實(shí)際上包含了快速啟動 單元,該單元攜帶了媒體能力參數(shù)。因此,H.323-SIP信令網(wǎng)關(guān)只需將SETUP消息中的快速啟動單元所指明的信息用SDP描述,并加載在INVITE消息中發(fā)送給SIP用戶,SIP用戶就能獲得媒體交換能力。而SIP用戶在收到主叫的INVITE消息后,可以通過SIP的OK消息傳遞SIP的媒體交換能力。

            H.323終端不支持快速連接時,由于建立呼叫、協(xié)商能力和RTP端口號是分開的,而SIP要求這兩種信息在一個INVITE消息中發(fā)出,因此SIP只有等到H.323-SIP信令網(wǎng)關(guān)與H.323終端建立起H.245邏輯信道后才能獲得媒體交換能力。

            (2) 媒體能力的解釋

            H.323的媒體交換能力由H.245協(xié)議定義,它的媒體描述為優(yōu)先遞減的描述符集。例如{[a1,a2][v1,v2][dl]}表示同時支持音頻、視頻、數(shù)據(jù)的傳送,音頻的格式只能為a1或a2,視頻格式只能為v1或v2。而SIP的媒體交換能力由SDP協(xié)議定義,SDP不具備H.245中描述各集合復(fù)雜關(guān)系的功能。因此,這種媒體交換能力的不同定義可能會在呼叫中產(chǎn)生一些誤解,給正常通信造成一定的麻煩。這就需要H.323-SIP信令網(wǎng)關(guān)具備能務(wù)解釋一致性的能力,即要求H.323-SIP信令網(wǎng)關(guān)接收到SIP網(wǎng)絡(luò)發(fā)出的呼叫請求時,信令網(wǎng)關(guān)就從其SDP中的媒體字段獲得關(guān)于媒體格式和媒體能力的數(shù)據(jù),并把他們轉(zhuǎn)換成對應(yīng)的H.245能力交換信息。同樣,H.323-SIP信令網(wǎng)關(guān)也能將H.245協(xié)議描述的媒體格式和媒體能力轉(zhuǎn)換成對應(yīng)的 SDP能力交換信息。

            4 結(jié)束語

            綜上所述,H.323-SIP信令網(wǎng)關(guān)在SIP和H.323互通中占有得要的地位。它能夠使位于不同網(wǎng)絡(luò)的用戶直接和對端進(jìn)行媒體交換,實(shí)現(xiàn)點(diǎn)到點(diǎn)、點(diǎn)到多點(diǎn)之間的通信,降低網(wǎng)絡(luò)的成本,提高網(wǎng)絡(luò)的運(yùn)行質(zhì)量,滿足下一代網(wǎng)絡(luò)體系的開放性和多業(yè)務(wù)性的需要。因此隨著下一代網(wǎng)絡(luò)的不斷發(fā)展,H.323-SIP信令網(wǎng)關(guān)的功能會越來越完善,也會越來越適應(yīng)用戶更加廣泛的業(yè)務(wù)需要。



          關(guān)鍵詞: H.323-SIP

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();