專利名稱:穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng)及方法
技術領域:
本發(fā)明涉及多媒體通信領域,特別涉及穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng)及方法。
背景技術:
隨著IP網(wǎng)寬帶業(yè)務的迅速發(fā)展,基于分組的多媒體通信系統(tǒng)標準H.323、SIP(Session Initiation Protocol,會話初始協(xié)議)、MGCP(Media Gateway Control Protocol,媒體網(wǎng)關控制協(xié)議)等廣泛運用于視頻會議和IP電話中,尤其是IP電話業(yè)務得到的迅猛發(fā)展,例如遍及全國各大城市的IP公話超市,企業(yè)專有數(shù)據(jù)語音統(tǒng)一網(wǎng)絡等。同時,出于對網(wǎng)絡安全的考慮,大多數(shù)單位和企業(yè)都使用了NAT(NetworkAddress Translation,網(wǎng)絡地址轉(zhuǎn)換)技術或部署了防火墻。多媒體通信協(xié)議要求終端之間彼此使用IP地址和端口建立數(shù)據(jù)信道,由于防火墻通常被設置成限制未經(jīng)請求的外部數(shù)據(jù)包進入,因此防火墻內(nèi)部的終端不能接收外部的呼叫,即使防火墻打開一個端口接收呼叫的初始數(shù)據(jù)包,有的協(xié)議(例如H.323)還要求動態(tài)分配一些端口用來接收呼叫控制信息和建立語音、視頻數(shù)據(jù)通道,因此除非打開防火墻的所有端口,才可以進行多媒體通信,而防火墻也就失去了意義。
而另一方面,有的單位和企業(yè)為便于管理和應用,都建設了使用私有IP地址的局域網(wǎng)(LAN),當需要訪問公網(wǎng)時必須使用NAT。局域網(wǎng)內(nèi)的終端之間進行呼叫和通信時沒有任何問題,但與公網(wǎng)終端進行通信時就會有問題產(chǎn)生,原因是局域網(wǎng)中的IP地址是私有的,在Internet中不可路由。首先,當局域網(wǎng)內(nèi)的終端呼叫外部終端時可以建立呼叫連接,但局域網(wǎng)內(nèi)的終端不能收到公網(wǎng)終端發(fā)送的語音和視頻數(shù)據(jù)包;其次,局域網(wǎng)內(nèi)的終端也不能收到公網(wǎng)終端的呼叫。
因此,可以用代理技術解決NAT和防火墻的穿越問題。代理使終端到終端的呼叫過程看起來為兩個分離的呼叫一個是從私網(wǎng)上的終端到代理,另一個是從代理到公網(wǎng)上的終端,代理通過這個呼叫中轉(zhuǎn)解決了NAT和防火墻的穿越問題。
為了解決以上問題,目前所采用的普遍方式為隧道穿越技術。該技術主要由兩個重要組件構成多媒體穿越服務器和訪問網(wǎng)絡服務器。隧道穿越基本原理類似HTTP服務,都是基于私網(wǎng)先向Internet網(wǎng)絡發(fā)起連接,而后,在NAT上形成訪問網(wǎng)絡服務器與公網(wǎng)代理之間的地址映射關系,這樣公共網(wǎng)絡和私有網(wǎng)絡就可以在一條或者多條鏈路上通信,同樣防火墻也允許這樣的服務。
雖然,此項技術在一定程度上能夠穿越NAT和防火墻,但是由于當一個私網(wǎng)網(wǎng)關要訪問同一私網(wǎng)下的私網(wǎng)網(wǎng)關時,也需要通過外部網(wǎng)絡完成,這樣經(jīng)過私網(wǎng)到公網(wǎng)和公網(wǎng)到私網(wǎng)的過程會占用雙倍的出口網(wǎng)絡帶寬,造成網(wǎng)絡資源的浪費。另外,由于目前私網(wǎng)的處理功能普遍集成在網(wǎng)關中,使其的應用范圍僅限于單一廠商的產(chǎn)品,與其它廠商的產(chǎn)品無法兼容及互通;并且,此方案中的公網(wǎng)處理設備均集成了媒體流轉(zhuǎn)發(fā)功能,無法實現(xiàn)分布式的媒體交換。
發(fā)明內(nèi)容
本發(fā)明要解決的問題是提供一種穿越NAT和防火墻的多媒體通信代理系統(tǒng),以克服現(xiàn)有技術中一個私網(wǎng)網(wǎng)關要訪問同一私網(wǎng)下的私網(wǎng)網(wǎng)關時,需要通過公網(wǎng)迂回完成,因而占用雙倍出口帶寬的缺陷。
本發(fā)明進一步解決現(xiàn)有技術應用范圍小,與其它廠商的產(chǎn)品不兼容的缺陷。
本發(fā)明還解決了公網(wǎng)處理設備集成媒體流轉(zhuǎn)發(fā)功能,無法實現(xiàn)分布式的媒體交換的缺陷。
為此,本發(fā)明提供一種穿越NAT和防火墻的多媒體通信代理系統(tǒng),包括私網(wǎng)代理、公網(wǎng)代理、媒體轉(zhuǎn)發(fā)服務器、私網(wǎng)網(wǎng)關、公網(wǎng)設備;所述私網(wǎng)代理,用于管理所述私網(wǎng)網(wǎng)關,轉(zhuǎn)發(fā)所述私網(wǎng)網(wǎng)關與所述公網(wǎng)代理之間的信息。在同一私網(wǎng)中,屬于同一私網(wǎng)代理的私網(wǎng)網(wǎng)關之間的通信由該私網(wǎng)代理管理;屬于不同私網(wǎng)代理的私網(wǎng)網(wǎng)關之間的通信由各自的私網(wǎng)代理協(xié)商管理;所述公網(wǎng)代理,用于轉(zhuǎn)發(fā)所述私網(wǎng)代理與所述公網(wǎng)設備之間的消息;所述媒體轉(zhuǎn)發(fā)服務器通過互聯(lián)網(wǎng)與所述私網(wǎng)代理和所述公網(wǎng)設備通信。
所述私網(wǎng)代理集成私網(wǎng)通信管理功能。
所述媒體轉(zhuǎn)發(fā)服務器同時連接一個以上的私網(wǎng)代理,每個媒體轉(zhuǎn)發(fā)服務器都同時通過互聯(lián)網(wǎng)與所述私網(wǎng)代理和所述公網(wǎng)設備通信。
所述公網(wǎng)設備包括公網(wǎng)網(wǎng)關和公網(wǎng)軟交換平臺。
所述媒體轉(zhuǎn)發(fā)服務器與所述私網(wǎng)代理使用傳輸控制協(xié)議連接。
所述私網(wǎng)代理與所述公網(wǎng)代理使用傳輸控制協(xié)議連接。
私網(wǎng)網(wǎng)關向私網(wǎng)代理及私網(wǎng)代理向公網(wǎng)代理發(fā)送的標準信令,包括H.323、SIP、MGCP呼叫過程中的各種信令。
本發(fā)明提供了一種使用所述的多媒體通信代理系統(tǒng)實現(xiàn)多媒體數(shù)據(jù)穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的方法,包括以下步驟(1)私網(wǎng)網(wǎng)關向私網(wǎng)代理發(fā)送注冊請求,此時,私網(wǎng)代理要求公網(wǎng)代理分配相應端口用于替換私網(wǎng)網(wǎng)關的注冊端口,并將分配的端口信息回報給私網(wǎng)代理,由私網(wǎng)代理修改其中地址信息后向公網(wǎng)軟交換平臺進行轉(zhuǎn)發(fā)。
(2)在所述私網(wǎng)代理與所述公網(wǎng)代理之間建立呼叫通道當所述私網(wǎng)代理的信令監(jiān)聽端口收到呼叫接納請求時,判斷被叫網(wǎng)關是否為同一私網(wǎng)代理所管理,如果是,則將被叫網(wǎng)關地址發(fā)給主叫網(wǎng)關,否則判斷被叫網(wǎng)關是否屬于同一私網(wǎng)中不同私網(wǎng)代理管理,如果是,則將被叫網(wǎng)關地址發(fā)給主叫網(wǎng)關,否則通過私網(wǎng)代理與公網(wǎng)代理之間的通信,得到被叫網(wǎng)關的地址。
(3)由私網(wǎng)代理與公網(wǎng)代理協(xié)作,進行私網(wǎng)網(wǎng)關與公網(wǎng)設備的呼叫建立,協(xié)商媒體地址。再通過私網(wǎng)代理與媒體轉(zhuǎn)發(fā)服務器進行協(xié)作,建立多媒體信道。
(4)通過所述建立的多媒體信道進行多媒體數(shù)據(jù)轉(zhuǎn)發(fā)。在步驟(1)之前要在所述私網(wǎng)代理與所述公網(wǎng)代理之間建立一條“傳輸控制協(xié)議”連接。
在步驟(3)所述的媒體轉(zhuǎn)發(fā)過程之前需要在所述私網(wǎng)代理與媒體轉(zhuǎn)發(fā)服務器間建立一條“傳輸控制協(xié)議”連接。
由以上本發(fā)明提供的技術方案可以看出,該系統(tǒng)將私網(wǎng)的呼叫管理功能集成在了私網(wǎng)代理上,使得同一個私網(wǎng)中的網(wǎng)關通信時,不需要經(jīng)過公網(wǎng)迂回,節(jié)省了一半的出口帶寬。另外,私網(wǎng)代理獨立于網(wǎng)關設備,使其可以接入多種廠商的網(wǎng)關設備;并且,一個媒體流轉(zhuǎn)發(fā)服務器可以與多個私網(wǎng)代理進行協(xié)作,同時,互聯(lián)網(wǎng)上可同時配置多個媒體服務器,可以避免網(wǎng)絡中某一區(qū)域的流量過大,使網(wǎng)絡工作更平穩(wěn),效率得到提高;因此,本發(fā)明明顯改善了現(xiàn)有技術中的缺陷,對解決多媒體數(shù)據(jù)穿越NAT和防火墻的問題具有重大意義。
圖1是使多媒體數(shù)據(jù)穿越NAT和防火墻的多媒體通信代理系統(tǒng)的結(jié)構圖;圖2是使多媒體數(shù)據(jù)穿越NAT和防火墻的多媒體通信代理系統(tǒng)進行注冊的過程;圖3是使多媒體數(shù)據(jù)穿越NAT和防火墻的多媒體通信代理系統(tǒng)進行退出注冊的過程;圖4是使多媒體數(shù)據(jù)穿越NAT和防火墻的多媒體通信代理系統(tǒng)進行媒體轉(zhuǎn)發(fā)的過程;圖5是使多媒體數(shù)據(jù)穿越NAT和防火墻的多媒體通信代理系統(tǒng)進行H.323呼叫建立的過程;圖6是使多媒體數(shù)據(jù)穿越NAT和防火墻的多媒體通信代理系統(tǒng)進行MGCP呼叫建立的過程;圖7是使多媒體數(shù)據(jù)穿越NAT和防火墻的多媒體通信代理系統(tǒng)進行SIP呼叫建立的過程;具體實施方式
主要涉及如何使H.323、MGCP、SIP協(xié)議穿越NAT和防火墻。適用于安裝了NAT網(wǎng)關,或擁有自己私網(wǎng)地址,并同時希望使用VoIP(voiceover IP,基于IP的語音)等依賴于端到端應用的企業(yè)或小區(qū)。
基本網(wǎng)絡結(jié)構如圖1,包括私網(wǎng)代理A-4、私網(wǎng)網(wǎng)關A-5、公網(wǎng)代理-1、公網(wǎng)設備-2、媒體轉(zhuǎn)發(fā)服務器-3、私網(wǎng)代理B-6、私網(wǎng)網(wǎng)關B-7。
其中,公網(wǎng)代理與媒體轉(zhuǎn)發(fā)服務器分離,使同一系統(tǒng)中可以同時配置一個以上的媒體流轉(zhuǎn)發(fā)服務器,實現(xiàn)了分布式的媒體交換,一路通話中的兩條相向的媒體流從不同的媒體轉(zhuǎn)發(fā)器進行轉(zhuǎn)發(fā)。媒體轉(zhuǎn)發(fā)服務器與所述私網(wǎng)代理之間使用傳輸控制協(xié)議連接。
在使用H.323協(xié)議的系統(tǒng)中,圖1中的公網(wǎng)設備-2包括公網(wǎng)H.323網(wǎng)關和公網(wǎng)網(wǎng)守,其中,公網(wǎng)網(wǎng)守即為公網(wǎng)軟交換平臺。私網(wǎng)代理A管理私網(wǎng)網(wǎng)關A,私網(wǎng)代理B管理私網(wǎng)網(wǎng)關B,并且都與公網(wǎng)代理通信;公網(wǎng)代理負責將來自私網(wǎng)代理的消息轉(zhuǎn)發(fā)給公網(wǎng)設備;媒體轉(zhuǎn)發(fā)服務器在媒體轉(zhuǎn)發(fā)過程中與私網(wǎng)代理和公網(wǎng)設備通信。其中,私網(wǎng)代理集成了私網(wǎng)網(wǎng)守功能,其中,私網(wǎng)網(wǎng)守功能即為私網(wǎng)呼叫管理功能。網(wǎng)守為IP電話網(wǎng)的管理設備,它提供地址解析、設備接入認證管理、帶寬管理、資源管理等功能。
在每個私網(wǎng)中可以有一個以上私網(wǎng)代理,每個私網(wǎng)代理可以管理一個以上私網(wǎng)網(wǎng)關;當私網(wǎng)代理的信令監(jiān)聽端口收到呼叫接納請求時,首先,判斷被叫網(wǎng)關是否與主叫網(wǎng)關屬于同一私網(wǎng)代理管理,如果是,則將被叫網(wǎng)關地址發(fā)給主叫網(wǎng)關,否則再判斷被叫網(wǎng)關是否屬于同一私網(wǎng)中不同私網(wǎng)代理管理,如果是,則通過不同私網(wǎng)代理間的協(xié)作,獲得被叫網(wǎng)關地址,再將被叫網(wǎng)關地址發(fā)給主叫網(wǎng)關,否則通過私網(wǎng)代理與公網(wǎng)代理之間的通信與信令轉(zhuǎn)發(fā),得到被叫網(wǎng)關的地址。
私網(wǎng)代理與公網(wǎng)代理的隧道連接為傳輸控制信道連接。私網(wǎng)代理處于主動工作模式,加電后主動與公網(wǎng)代理進行連接;公網(wǎng)代理處于被動工作模式,接受私網(wǎng)代理發(fā)起的連接。私網(wǎng)網(wǎng)關向私網(wǎng)代理及私網(wǎng)代理向公網(wǎng)代理發(fā)送的信令包括私網(wǎng)網(wǎng)關向私網(wǎng)代理及私網(wǎng)代理向公網(wǎng)代理發(fā)送的標準信令,包括H.323、SIP、MGCP呼叫過程中的各種信令。
私網(wǎng)代理具有私網(wǎng)網(wǎng)守功能,即私網(wǎng)的所有網(wǎng)關實際上是向各自的私網(wǎng)代理發(fā)起注冊,然后由私網(wǎng)代理與公網(wǎng)代理協(xié)作,使用公網(wǎng)代理上分配的端口替代私網(wǎng)網(wǎng)關的注冊信息,由私網(wǎng)代理模擬私網(wǎng)網(wǎng)關向公網(wǎng)網(wǎng)守發(fā)起注冊。當系統(tǒng)初始化時私網(wǎng)代理作為私網(wǎng)網(wǎng)守,監(jiān)聽UDP(user diagram protocol,用戶數(shù)據(jù)協(xié)議)1719(RAS注冊默認端口),TCP1720端口(H.225.0呼叫信令默認端口),等待私網(wǎng)網(wǎng)關網(wǎng)關發(fā)過來的RAS信令與H.225.0的信令。
本發(fā)明的應用包括注冊過程,退出注冊過程,呼叫建立過程,呼叫釋放過程,多媒體轉(zhuǎn)發(fā)過程。
其中,注冊過程如圖2所示,當私網(wǎng)代理的RAS信令端口接收到私網(wǎng)網(wǎng)關發(fā)送的注冊請求報文時,通過私網(wǎng)代理與公網(wǎng)代理的隧道向公網(wǎng)代理請求打開監(jiān)聽一個TCP地址與一個UDP地址。公網(wǎng)代理分配本地的TCP地址TA1和UDP地址UA1替代注冊請求的注冊地址信息,即私網(wǎng)網(wǎng)關的TCP地址TA2和UDP地址UA2,并將這兩組地址進行關聯(lián)并回復給私網(wǎng)代理。私網(wǎng)代理收到公網(wǎng)代理回復的端口信息后,將注冊報文內(nèi)的注冊字段進行替換,將其通過隧道傳送給公網(wǎng)代理,由公網(wǎng)代理轉(zhuǎn)發(fā)至公網(wǎng)網(wǎng)守。當公網(wǎng)代理的UDP地址UA1收到公網(wǎng)網(wǎng)守的注冊請求證實報文后,將注冊請求證實報文依次轉(zhuǎn)發(fā)送到私網(wǎng)代理,并且由私網(wǎng)代理轉(zhuǎn)發(fā)給私網(wǎng)網(wǎng)關。
圖3為退出注冊過程,其原理與注冊過程相同,私網(wǎng)網(wǎng)關向私網(wǎng)代理發(fā)出退出注冊請求,私網(wǎng)代理通過與公網(wǎng)代理之間的通道向公網(wǎng)網(wǎng)守發(fā)送退出注冊請求;然后,公網(wǎng)網(wǎng)守向公網(wǎng)代理發(fā)送退出注冊確認,公網(wǎng)代理向私網(wǎng)代理發(fā)送退出注冊確認,私網(wǎng)代理向私網(wǎng)網(wǎng)關發(fā)送退出注冊確認并向公網(wǎng)網(wǎng)守發(fā)送關閉地址指示。
呼叫建立過程如圖4所示,當私網(wǎng)代理1的RAS信令端口接收到私網(wǎng)網(wǎng)關發(fā)送的“呼叫請求”報文時,根據(jù)“呼叫請求”報文中的目的端號碼,先在本地進行查找,若找到目標,則表示此次呼叫為同一私網(wǎng)同一私網(wǎng)代理管理下的兩個網(wǎng)關的呼叫,則直接回“呼叫接納”報文,將被叫網(wǎng)關的地址信息通報給主叫網(wǎng)關。當本地未找到目標時,查找是否存在域間路由,匹配域前綴,若有符合條件的表項,則向該前綴對應的同一私網(wǎng)下的另一私網(wǎng)代理2(網(wǎng)守)發(fā)出“定位請求”查詢報文。另一私網(wǎng)代理2收到“定位請求”后,查詢自己管理下的網(wǎng)關,找到目標則用“定位確認”報文回送地址信息。發(fā)起查詢的私網(wǎng)代理1得到“定位證實”后,將其中的地址信息取出,用“呼叫接納”回給主叫網(wǎng)關。若另一私網(wǎng)代理2的管理域中無此地址信息,則回送“定位拒絕”。此時,發(fā)起查詢的私網(wǎng)代理1即可判斷此呼叫為出到公網(wǎng)的呼叫,則將“呼叫請求”的相關字段修改后,發(fā)送給公網(wǎng)網(wǎng)守。公網(wǎng)網(wǎng)守查詢注冊信息,回復“呼叫接納”報文至公網(wǎng)代理的相應端口。公網(wǎng)代理得到“呼叫接納”后向該私網(wǎng)代理發(fā)送“打開連接請求”;私網(wǎng)代理收到“打開連接請求”后,儲存其中的目的信息,然后發(fā)送“打開連接證實”給公網(wǎng)代理,并發(fā)送“呼叫接納”給主叫網(wǎng)關,通知該網(wǎng)關,此次呼叫改為網(wǎng)守路由呼叫,呼叫信令地址為本私網(wǎng)代理的呼叫信令地址。呼叫的釋放過程是呼叫建立過程的逆過程。
當私網(wǎng)代理的呼叫信令端口1720接收到私網(wǎng)網(wǎng)關網(wǎng)關發(fā)送的H.225.0呼叫控制信令時,把TCP的信令內(nèi)部的私網(wǎng)網(wǎng)關地址信息進行替換,再通過隧道通知公網(wǎng)代理向?qū)Χ斯W(wǎng)設備建立TCP連接,收到建立連接確認后,封裝信令報文通過隧道轉(zhuǎn)發(fā)至公網(wǎng)代理,再轉(zhuǎn)發(fā)至對端公網(wǎng)設備。對端設備的報文回復到公網(wǎng)代理分配給該私網(wǎng)網(wǎng)關的TCP端口上,再由公網(wǎng)代理轉(zhuǎn)發(fā)至私網(wǎng)代理,最后由私網(wǎng)代理轉(zhuǎn)給私網(wǎng)網(wǎng)關。
當呼叫建立完成之后,將進入媒體轉(zhuǎn)發(fā)的過程,如圖5。協(xié)商媒體地址信息的過程有可能采用H.245標準過程,也有可能是快速啟動過程。因此,私網(wǎng)代理對于TCP 1720端口上收到的TCP報文和收到的隧道報文需要解析判斷。當私網(wǎng)代理收到轉(zhuǎn)發(fā)來的“呼叫建立”信令時,就要通過與所屬的媒體轉(zhuǎn)發(fā)服務器的TCP線路發(fā)送“打開通道請求”請求,此時,媒體轉(zhuǎn)發(fā)服務器分配兩對UDP地址UA3、UA4、UA5、UA6,其中UA3(RTP,Real-time Transport Protocol,實時傳輸協(xié)議)和UA4(RTCP,Real-time Transport Control Protocol,實時傳輸控制協(xié)議)作為此次呼叫的對端接收媒體地址,即私網(wǎng)代理向私網(wǎng)網(wǎng)關通告公網(wǎng)設備的媒體地址信息,由私網(wǎng)網(wǎng)關直接向此地址發(fā)送語音包;。UA5(RTP)和UA5(RTCP)被填入轉(zhuǎn)發(fā)給公網(wǎng)代理的H.225.0信令中,通過公網(wǎng)代理轉(zhuǎn)發(fā)給公網(wǎng)的通信終端。此時,公網(wǎng)的設備向媒體轉(zhuǎn)發(fā)服務器上的那個端口發(fā)送語音包,媒體轉(zhuǎn)發(fā)服務器將收到的語音包通過分配給私網(wǎng)的RTP端口,發(fā)給私網(wǎng)代理,私網(wǎng)代理根據(jù)端口映射表區(qū)分該轉(zhuǎn)到哪個私網(wǎng)網(wǎng)關,然后轉(zhuǎn)發(fā)語音包。等到通話結(jié)束,私網(wǎng)代理再向媒體轉(zhuǎn)發(fā)服務器發(fā)送“關閉通道請求”,要求不再監(jiān)聽這兩組端口。從而釋放資源,結(jié)束通話。
本方案同樣適用于MGCP協(xié)議,在使用MGCP協(xié)議的系統(tǒng)中,私網(wǎng)代理A管理私網(wǎng)網(wǎng)關A,其中私網(wǎng)代理B管理私網(wǎng)網(wǎng)關B,并與公網(wǎng)代理通信;公網(wǎng)代理負責將來自私網(wǎng)代理的消息轉(zhuǎn)發(fā)給公網(wǎng)設備;媒體轉(zhuǎn)發(fā)服務器在媒體轉(zhuǎn)發(fā)過程中與私網(wǎng)代理和公網(wǎng)設備通信。其中如圖1中,公網(wǎng)設備-2為MGCP系統(tǒng)中的公網(wǎng)媒體網(wǎng)關控制器和公網(wǎng)媒體網(wǎng)關,公網(wǎng)媒體網(wǎng)關控制器主要負責呼叫邏輯的控制,完成呼叫業(yè)務。
在一個私網(wǎng)有一個以上私網(wǎng)代理,一個私網(wǎng)代理管理一個以上私網(wǎng)網(wǎng)關。私網(wǎng)代理與所述公網(wǎng)代理的連接為傳輸控制信道連接。私網(wǎng)網(wǎng)關向私網(wǎng)代理及私網(wǎng)代理向公網(wǎng)代理發(fā)送的信令為MGCP控制消息。
私網(wǎng)代理在私網(wǎng)內(nèi)充當媒體網(wǎng)關控制器角色,私網(wǎng)網(wǎng)關以私網(wǎng)代理作為媒體網(wǎng)關控制器,向其注冊、發(fā)送通告。私網(wǎng)代理監(jiān)聽媒體網(wǎng)關控制器的服務端口,在通信過程中,私網(wǎng)代理的呼叫管理模塊在呼叫過程中記錄關鍵參數(shù),修改相應的信令地址,轉(zhuǎn)發(fā)給公網(wǎng)代理,由公網(wǎng)代理轉(zhuǎn)發(fā)給公網(wǎng)媒體網(wǎng)關控制器。
當私網(wǎng)網(wǎng)關向私網(wǎng)代理發(fā)起請求時,如果私網(wǎng)代理還沒有和公網(wǎng)代理綁定,私網(wǎng)代理向公網(wǎng)代理發(fā)起綁定請求。公網(wǎng)代理則等待私網(wǎng)代理與其建鏈,接收私網(wǎng)代理發(fā)過來的MGCP控制消息信令。
私網(wǎng)網(wǎng)關預先配置私網(wǎng)代理為媒體網(wǎng)關控制器,媒體網(wǎng)關控制器的配置信息除了I P地址以外,均與公網(wǎng)媒體網(wǎng)關控制器一致。
其中,注冊過程如圖2所示,當私網(wǎng)代理的MGCP信令端口接收到私網(wǎng)網(wǎng)關發(fā)送的注冊請求報文時,通過私網(wǎng)代理與公網(wǎng)代理的控制通道向公網(wǎng)代理請求一個UDP端口。公網(wǎng)代理分配本地的UDP端口(假設為5001),并將這組地址進行關聯(lián)并回復給私網(wǎng)代理。私網(wǎng)代理收到公網(wǎng)代理回復的端口信息后,建立綁定表項。
圖3為退出注冊過程,其原理與注冊過程相同,私網(wǎng)網(wǎng)關向私網(wǎng)代理發(fā)出退出注冊請求,私網(wǎng)代理通過與公網(wǎng)代理之間的通道向公網(wǎng)網(wǎng)關發(fā)送退出注冊請求;然后,公網(wǎng)網(wǎng)關向公網(wǎng)代理發(fā)送退出注冊應答,公網(wǎng)代理向私網(wǎng)代理發(fā)送退出注冊應答,私網(wǎng)代理向私網(wǎng)網(wǎng)關發(fā)送退出注冊應答并向公網(wǎng)代理發(fā)送關閉端口請求,關閉控制通道。
呼叫處理過程如圖6所示,所有當私網(wǎng)網(wǎng)關向私網(wǎng)代理發(fā)送MGCP通告消息,私網(wǎng)代理根據(jù)不同消息的類型進行相應的處理(處理規(guī)則見下節(jié))后通過控制信道轉(zhuǎn)發(fā)給公網(wǎng)代理,在通過公網(wǎng)代理轉(zhuǎn)發(fā)給公網(wǎng)媒體網(wǎng)關控制器,因為系統(tǒng)普遍適用原則的要求,所有控制消息不能直接由私網(wǎng)代理發(fā)送給公網(wǎng)媒體網(wǎng)關控制器。
在呼叫過程中,私網(wǎng)代理監(jiān)視MGCP控制消息的類型,其對于含有SDP(Session Description Protocol,會話描述協(xié)議)的呼叫控制消息和不含SDP的控制消息進行區(qū)分處理。對于不含有SDP消息,私網(wǎng)代理不修改消息內(nèi)容,直接向公網(wǎng)代理或私網(wǎng)網(wǎng)關轉(zhuǎn)發(fā)。對于包含SDP消息的命令,需要做相應處理(處理方式見以下闡述)然后向公網(wǎng)代理轉(zhuǎn)發(fā)。
私網(wǎng)代理收到從私網(wǎng)網(wǎng)關接收到的包含SDP信息的控制消息后,需要檢查通信端點是否已經(jīng)和媒體轉(zhuǎn)發(fā)服務器綁定,如果沒有綁定,通過私網(wǎng)代理和媒體轉(zhuǎn)發(fā)服務器之間的控制通道向媒體轉(zhuǎn)發(fā)服務器發(fā)送打開媒體通道請求,媒體轉(zhuǎn)發(fā)服務器為這個請求分配兩組(RTP/RTCP端口對)端口,一對地址(公網(wǎng)地址1)提供作為與私網(wǎng)網(wǎng)關媒體通信的地址,一對(公網(wǎng)地址2)用于接收公網(wǎng)網(wǎng)關發(fā)送過來的媒體流,并轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)關。媒體轉(zhuǎn)發(fā)服務器將分配兩對的地址信息在打開媒體通道回復中發(fā)送給私網(wǎng)代理。
當私網(wǎng)代理收到媒體轉(zhuǎn)發(fā)服務器的回復后,記錄地址映射,并將原MGCP控制消息中的媒體地址(私網(wǎng)地址1)替換為媒體轉(zhuǎn)發(fā)服務器上的公網(wǎng)地址2,轉(zhuǎn)發(fā)給公網(wǎng)代理,由公網(wǎng)代理轉(zhuǎn)發(fā)給公網(wǎng)媒體網(wǎng)關控制器。這樣公網(wǎng)網(wǎng)關將得到媒體轉(zhuǎn)發(fā)服務器上的媒體監(jiān)聽地址(公網(wǎng)地址2)。同時私網(wǎng)代理采用私用方式向媒體轉(zhuǎn)發(fā)服務器打開并維持一條從私網(wǎng)代理到媒體轉(zhuǎn)發(fā)服務器的公網(wǎng)地址1的媒體通道,入呼叫的媒體流通過公網(wǎng)網(wǎng)關-媒體轉(zhuǎn)發(fā)服務器-私網(wǎng)代理-私網(wǎng)網(wǎng)關的路徑完成。
當私網(wǎng)代理接收到從公網(wǎng)代理轉(zhuǎn)發(fā)進來的帶有SDP信息的媒體通道控制控制消息,假設SDP攜帶的公網(wǎng)網(wǎng)關媒體地址為公網(wǎng)地址3,首先檢查連接是否使回環(huán)連接,即私網(wǎng)網(wǎng)關-私網(wǎng)代理-媒體轉(zhuǎn)發(fā)服務器-私網(wǎng)代理-私網(wǎng)網(wǎng)關(這里的所有私網(wǎng)設備均指同一私網(wǎng)內(nèi)部的設備),如果由環(huán)回,表明是該呼叫是私網(wǎng)內(nèi)部呼叫。
如果是回環(huán)連接,設控制消息的目的私網(wǎng)網(wǎng)關為私網(wǎng)網(wǎng)關1,其媒體通信地址為私網(wǎng)地址1,對端私網(wǎng)網(wǎng)關為私網(wǎng)網(wǎng)關2,其媒體通信地址為私網(wǎng)地址2。這些信息在呼叫過程中都會保留在私網(wǎng)代理上,則進行如下操作以避免回環(huán)。替換公網(wǎng)地址3為私網(wǎng)地址2,轉(zhuǎn)發(fā)給私網(wǎng)網(wǎng)關1;并向?qū)Χ怂骄W(wǎng)網(wǎng)關2發(fā)送MGCP修改連接請求,請求中攜帶的媒體地址為私網(wǎng)地址1。
如果不是回環(huán)連接,私網(wǎng)代理記錄相關參數(shù)之后,將未作修改的控制消息轉(zhuǎn)發(fā)給私網(wǎng)網(wǎng)關,私網(wǎng)網(wǎng)關的出媒體流通過了私網(wǎng)網(wǎng)關-公網(wǎng)網(wǎng)關的路徑完成。
呼叫釋放過程私網(wǎng)網(wǎng)關檢查刪除連接控制消息,在刪除連接時通過私網(wǎng)代理和媒體轉(zhuǎn)發(fā)服務器之間的控制通道向媒體轉(zhuǎn)發(fā)服務器發(fā)送關閉媒體通道請求,關閉私網(wǎng)代理和媒體轉(zhuǎn)發(fā)服務器之間的媒體轉(zhuǎn)發(fā)通道。
媒體轉(zhuǎn)發(fā)過程如呼叫建立過程中描述,與公網(wǎng)網(wǎng)關媒體通信時出媒體流路徑為私網(wǎng)網(wǎng)關-公網(wǎng)網(wǎng)關,如媒體流為公網(wǎng)網(wǎng)關-媒體轉(zhuǎn)發(fā)服務器-私網(wǎng)代理-私網(wǎng)網(wǎng)關。對于私網(wǎng)內(nèi)部通信的媒體流私網(wǎng)網(wǎng)關1-私網(wǎng)網(wǎng)關2。
本方案同樣適用于SIP協(xié)議,在使用SIP協(xié)議的系統(tǒng)中,如圖1,私網(wǎng)代理A管理私網(wǎng)網(wǎng)關A,其中私網(wǎng)代理B管理私網(wǎng)網(wǎng)關B,并與公網(wǎng)代理通信;公網(wǎng)代理負責將來自私網(wǎng)代理的消息轉(zhuǎn)發(fā)給公網(wǎng)設備;媒體轉(zhuǎn)發(fā)服務器在媒體轉(zhuǎn)發(fā)過程中與私網(wǎng)代理和公網(wǎng)設備通信。其中公網(wǎng)設備-2在SIP中包括公網(wǎng)呼叫代理、公網(wǎng)注冊服務器和公網(wǎng)網(wǎng)關。
在一個私網(wǎng)有一個以上私網(wǎng)代理,一個私網(wǎng)代理包括一個以上私網(wǎng)網(wǎng)關。私網(wǎng)代理與所述公網(wǎng)代理的連接為傳輸控制信道連接。私網(wǎng)網(wǎng)關向私網(wǎng)代理及私網(wǎng)代理向公網(wǎng)代理發(fā)送的信令為SIP消息。
注冊過程如圖2所示,當私網(wǎng)代理的SIP信令端口接收到私網(wǎng)網(wǎng)關發(fā)送的注冊請求報文時,通過私網(wǎng)代理與公網(wǎng)代理的隧道向公網(wǎng)代理請求一個UDP端口。公網(wǎng)代理分配本地的UDP端口,并將這組地址進行關聯(lián)并回復給私網(wǎng)代理。私網(wǎng)代理收到公網(wǎng)代理回復的端口信息后,建立綁定表項。
圖3為退出注冊過程,其原理與注冊過程相同,私網(wǎng)網(wǎng)關向私網(wǎng)代理發(fā)出退出注冊請求,私網(wǎng)代理通過與公網(wǎng)代理之間的通道向公網(wǎng)網(wǎng)關發(fā)送退出注冊請求;然后,公網(wǎng)網(wǎng)關向公網(wǎng)代理發(fā)送退出注冊應答,公網(wǎng)代理向私網(wǎng)代理發(fā)送退出注冊應答,私網(wǎng)代理向私網(wǎng)網(wǎng)關發(fā)送退出注冊應答并向公網(wǎng)網(wǎng)關發(fā)送關閉端口信息。
呼叫處理過程如圖7所示,所有當私網(wǎng)網(wǎng)關向私網(wǎng)代理發(fā)送SIP通告消息,私網(wǎng)代理根據(jù)不同消息的類型進行相應的處理(處理規(guī)則見下節(jié))后通過控制信道轉(zhuǎn)發(fā)給公網(wǎng)代理,在通過公網(wǎng)代理轉(zhuǎn)發(fā)給公網(wǎng)呼叫代理或公網(wǎng)注冊服務器。
在呼叫過程中,私網(wǎng)代理監(jiān)視SIP控制消息的類型,其對于含有SDP的呼叫控制消息和不含SDP的控制消息進行區(qū)分處理。對于不含有SDP消息,私網(wǎng)代理不修改消息內(nèi)容,向公網(wǎng)代理轉(zhuǎn)發(fā),在由公網(wǎng)代理向公網(wǎng)呼叫代理或公網(wǎng)注冊服務器轉(zhuǎn)發(fā)。對于包含SDP消息的命令,需要做相應處理然后向公網(wǎng)代理轉(zhuǎn)發(fā)。
SIP對信令內(nèi)容的修改和媒體處理方式與MGCP相同。
另外,本發(fā)明主要用于使多媒體數(shù)據(jù)穿越NAT和防火墻的多媒體通信代理系統(tǒng)及方法,但本發(fā)明并不僅限于此,本發(fā)明同樣適用于其他多媒體通信協(xié)議;另外,對于在其它網(wǎng)絡中,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,采用同樣原理的系統(tǒng)和方法也屬于本發(fā)明的保護范圍。
權利要求
1.穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng),包括私網(wǎng)代理、公網(wǎng)代理、媒體轉(zhuǎn)發(fā)服務器、私網(wǎng)網(wǎng)關、公網(wǎng)設備;其特征在于所述私網(wǎng)代理,用于管理所述私網(wǎng)網(wǎng)關,轉(zhuǎn)發(fā)所述私網(wǎng)網(wǎng)關與所述公網(wǎng)代理之間的信息。在同一私網(wǎng)中,屬于同一私網(wǎng)代理的私網(wǎng)網(wǎng)關之間的通信由該私網(wǎng)代理管理;屬于不同私網(wǎng)代理的私網(wǎng)網(wǎng)關之間的通信由各自的私網(wǎng)代理協(xié)商管理;所述公網(wǎng)代理,用于轉(zhuǎn)發(fā)所述私網(wǎng)代理與所述公網(wǎng)設備之間的消息;所述媒體轉(zhuǎn)發(fā)服務器通過互聯(lián)網(wǎng)與所述私網(wǎng)代理和所述公網(wǎng)設備通信。
2.如權利要求1所述的穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng),其特征在于所述私網(wǎng)代理集成私網(wǎng)通信管理功能。
3.如權利要求1所述的穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng),其特征在于所述媒體轉(zhuǎn)發(fā)服務器同時連接一個以上的私網(wǎng)代理,每個媒體轉(zhuǎn)發(fā)服務器都同時通過互聯(lián)網(wǎng)與所述私網(wǎng)代理和所述公網(wǎng)設備通信。
4.如權利要求1所述的穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng),其特征在于所述公網(wǎng)設備包括公網(wǎng)網(wǎng)關和公網(wǎng)軟交換平臺。
5.如權利要求1所述的穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng),其特征在于所述媒體轉(zhuǎn)發(fā)服務器與所述私網(wǎng)代理使用傳輸控制協(xié)議連接。
6.如權利要求1所述的穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng),其特征在于,所述私網(wǎng)代理與所述公網(wǎng)代理使用傳輸控制協(xié)議連接。
7.如權利要求1所述的穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng),其特征在于私網(wǎng)網(wǎng)關向私網(wǎng)代理及私網(wǎng)代理向公網(wǎng)代理發(fā)送的標準信令,包括H.323、SIP、MGCP呼叫過程中的各種信令。
8.一種用權利要求1所述的多媒體通信代理系統(tǒng)實現(xiàn)多媒體數(shù)據(jù)穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的方法,其特征在于包括以下步驟(1)私網(wǎng)網(wǎng)關向私網(wǎng)代理發(fā)送注冊請求,此時,私網(wǎng)代理要求公網(wǎng)代理分配相應端口用于替換私網(wǎng)網(wǎng)關的注冊端口,并將分配的端口信息回報給私網(wǎng)代理,由私網(wǎng)代理修改其中地址信息后向公網(wǎng)軟交換平臺進行轉(zhuǎn)發(fā);(2)在所述私網(wǎng)代理與所述公網(wǎng)代理之間建立呼叫通道當所述私網(wǎng)代理的信令監(jiān)聽端口收到呼叫接納請求時,判斷被叫網(wǎng)關是否為同一私網(wǎng)代理所管理,如果是,則將被叫網(wǎng)關地址發(fā)給主叫網(wǎng)關,否則判斷被叫網(wǎng)關是否屬于同一私網(wǎng)中不同私網(wǎng)代理管理,如果是,則將被叫網(wǎng)關地址發(fā)給主叫網(wǎng)關,否則通過私網(wǎng)代理與公網(wǎng)代理之間的通信,得到被叫網(wǎng)關的地址;(3)由私網(wǎng)代理與公網(wǎng)代理協(xié)作,進行私網(wǎng)網(wǎng)關與公網(wǎng)設備的呼叫建立,協(xié)商媒體地址。再通過私網(wǎng)代理與媒體轉(zhuǎn)發(fā)服務器進行協(xié)作,建立多媒體信道;(4)通過所述建立的多媒體信道進行多媒體數(shù)據(jù)轉(zhuǎn)發(fā)。
9.如權利要求8所述的多媒體數(shù)據(jù)穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的方法,其特征在于在步驟(1)之前要在所述私網(wǎng)代理與所述公網(wǎng)代理之間建立一條“傳輸控制協(xié)議”連接。
10.如權利要求8所述的多媒體數(shù)據(jù)穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的方法,其特征在于在步驟(3)所述的媒體轉(zhuǎn)發(fā)過程之前需要在所述私網(wǎng)代理與媒體轉(zhuǎn)發(fā)服務器間建立一條“傳輸控制協(xié)議”連接。
全文摘要
本發(fā)明公開了一種穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻的多媒體通信代理系統(tǒng)及方法,公網(wǎng)代理-1、公網(wǎng)設備-2、媒體轉(zhuǎn)發(fā)服務器-3、私網(wǎng)代理A-4、私網(wǎng)網(wǎng)關A-5、私網(wǎng)代理B-6、私網(wǎng)網(wǎng)關B-7。其中,私網(wǎng)代理管理私網(wǎng)網(wǎng)關,并與公網(wǎng)代理通信;公網(wǎng)代理負責將來自私網(wǎng)代理的消息轉(zhuǎn)發(fā)給公網(wǎng)設備并將來自公網(wǎng)設備的消息轉(zhuǎn)發(fā)給私網(wǎng)代理;媒體轉(zhuǎn)發(fā)服務器在媒體轉(zhuǎn)發(fā)過程中用來中轉(zhuǎn)私網(wǎng)代理和公網(wǎng)設備之間的媒體流。該系統(tǒng)將私網(wǎng)代理獨立于私網(wǎng)網(wǎng)關,使其可以連接多種廠商的網(wǎng)關;并且,一個私網(wǎng)代理可以接多個媒體流轉(zhuǎn)發(fā)服務器,使得處理效率提高;又將私網(wǎng)網(wǎng)關的功能集成在了私網(wǎng)代理上,使得同一個私網(wǎng)中的網(wǎng)關通信時,不需要通過公網(wǎng)迂回,節(jié)省了公網(wǎng)帶寬。因此,本發(fā)明對多媒體數(shù)據(jù)穿越網(wǎng)絡地址轉(zhuǎn)換和防火墻具有重大意義。
文檔編號H04L12/54GK1764172SQ200410084070
公開日2006年4月26日 申請日期2004年10月18日 優(yōu)先權日2004年10月18日
發(fā)明者馬躍, 王煒, 皮人杰, 黃楊, 周長樹, 俞利強 申請人:北京萬林克網(wǎng)絡技術有限公司