新四季網

一種VoIP應用進行NAT穿越的方法及系統的製作方法

2023-05-14 04:15:06 1

專利名稱:一種VoIP應用進行NAT穿越的方法及系統的製作方法
技術領域:
本發明涉及通信領域,更具體地涉及一種VoIP應用進行NAT穿越的方法和系統。
背景技術:
網絡地址轉換(NAT,Network Address Translation)屬接入廣域網(WAN)技術, 是一種將私有(保留)地址轉化為合法IP位址的轉換技術,它被廣泛應用於各種類型網際網路(Internet)接入方式和各種類型的網絡中。NAT能夠解決IP位址不足的問題。家庭網關是伴隨家庭網絡概念提出而誕生的,是家庭網絡設備匯聚,並與網際網路互聯的智能接入網關。典型的家庭網關包括但不限於家庭SOHO路由器、DSL modem網關、 IPTV機頂盒、家庭安全網關等。運營商級網絡轉換(CGN,Carrier Grade Network Address Translation)是一種在運營商網絡中進行地址信息轉換的技術。隨著IPv4地址資源的枯竭,運營商迫切需要解決地址資源問題。運營商在內部使用私有(保留)地址,在運營商hternet的入口處部署 CGN設備,當用戶訪問hternet,內部IPv4地址在CGN設備上轉換成公網地址,從hternet 訪問運營商網絡,公網地址在CGN設備上轉換成運營商的內部地址。典型的CGN設備包括但不限於業務路由器、寬帶接入伺服器、防火牆、核心路由器、無線核心網網關(GGSN/PGW)寸。埠控制協議(PCP,Port Control Protocol)是解決NAT內部網絡數據流接收的一種協議。當NAT內部網絡的節點接收外部網絡的流量時,如果內部節點沒有和該流量的源端進行過連接,那麼該流量在NAT設備上被丟棄。當流量經過NAT網絡之前,使用PCP技術在NAT網絡上建立關於該流量的NAT映射條目,當流量到來時,能夠穿過NAT網絡而到達到其內部接收節點。PCP分為PCP客戶端和PCP伺服器端,PCP客戶端通過PCP請求消息向 PCP伺服器端申請或者釋放NAT映射條目。網絡電話(VoIP,Voice over Internet Protocol),即指在 IP 網絡上使用 IP 協議以數據包的方式傳輸語音。使用VoIP協議,不管是網際網路、企業內部互連網還是區域網都可以實現語音通信。VoIP信令協議用於建立和取消呼叫,傳輸用於定位用戶以及協商能力所需的信息。VoIP常用的信令協議是H. 323和會話發起協議(SIP,SeSSi0n Initiation Protocol) 0在信令階段,通信雙方會協商包含語音傳輸階段的地址、協議和埠信息。信令階段結束後,進行語音傳輸。VoIP在語音傳輸階段的協議一般是實時傳送協議(RTP, Real-time Transport Protocol)。H. 323是一種國際電信聯盟遠程通信標準化組織(ITU-T,ITU-T for ITU Telecommunication Standardization Sector) t示}t,MtJffi(LAN)
會議,後來擴展至覆蓋VoIP。H. 323廣泛用於軟交換IP多媒體系統(IMS,IP Multimedia Subsystem)等語音視頻通信技術中。SIP是建立VoIP連接的 hternet 工程任務組(IETFJnternet Engineering Task Force)標準。SIP是一種應用層控制協議,用於和一個或多個參與者創建、修改和終止會
4話。SIP的結構與客戶-伺服器協議(HTTP)相似。客戶機發出請求,並發送給伺服器,伺服器處理這些請求後給客戶機返回一個響應。該請求與響應形成一次事務。SIP消息的正文一般用會話描述協議(SDP)來進行媒體協商,如傳輸語音所使用的協議、IP位址和埠以及採用的編碼方式。SIP廣泛用於軟體換、IMS等語音視頻通信技術中。在CGN網絡中,VoIP的終端在內部網絡、終端和伺服器以及終端和終端之間的通信需要經過CGN設備。VoIP的信令報文中包含終端信令連接的地址和埠信息、以及語音傳輸階段的地址、協議類型和埠信息。當信令報文到達伺服器或者另一個終端後,目的端從報文中解析出這些地址信息。由於地址和埠屬於內部地址信息,地址標示的目的不可達,所以這些地址信息不能進行後續通信。因此,對於VoIP應用在CGN網絡中的場景,信令協議需要進行NAT穿越。對於VoIP應用在CGN網絡中進行NAT穿越的方式可以是在CGN上部署VoIP信令協議的應用層網關(ALG,Application Level Gateway)功能,即 SIP ALG 禾Π H. 323 ALG, 實現NAT穿越;或者,部署專門用於進行NAT穿越的伺服器,如對於SIP協議,部署SIP會話邊界控制器(SBC, Session Border Controller),實現 NAT 穿越。CGN設備部署在運營商網絡和hternet的出口處,流量較大,如果在CGN部署ALG 功能,會加重CGN設備的處理負擔,容易造成擁塞,並且降低處理效率。架設專門用於NAT 的伺服器,不僅會增加建網成本,而且對於伺服器的處理性能、安全性也有較高要求。

發明內容
有鑑於此,本發明的主要目的在於提供一種VoIP應用進行NAT穿越的方法及系統,解決VoIP應用在CGN網絡場景下進行NAT穿越成本高、容易擁塞以及效率低的問題。為達到上述目的,本發明的技術方案是這樣實現的本發明提供了一種VoIP應用進行網絡地址轉換NAT穿越的方法,所述方法包括家庭網關根據VoIP信令報文載荷中的內部地址、內部埠和協議類型,分配外部地址和外部埠,並將所述內部地址、內部埠和協議類型、以及所分配到的外部地址和外部埠發送給運營商級網絡轉換CGN設備;CGN設備在本地建立包含有所述內部地址、內部埠、協議類型、外部地址和外部埠的NAT映射條目。在上述方案中,所述家庭網關根據所接收VoIP信令報文載荷中的內部地址、內部埠和協議類型,分配外部地址和外部埠,包括所述家庭網關預先從所述CGN設備上申請外部埠資源塊並保存到本地;根據所述VoIP信令報文載荷中的內部地址、內部埠和協議類型,從本地保存的所述外部埠資源塊中分配所述外部地址和外部埠。在上述方案中,所述從所述CGN設備上申請外部埠資源塊,包括家庭網關向所述CGN設備發送包含有需申請外部埠資源塊信息的外部埠資源塊請求消息;所述CGN設備接收所述外部埠資源塊請求消息,為所述家庭網關分配外部埠資源塊,並向所述家庭網關返回包含有所分配外部埠資源塊信息的PCP響應消息;所述家庭網關接收所述PCP響應消息,獲取所述CGN設備分配的外部埠資源塊並保存到本地。在上述方案中,所述將所述內部地址、內部埠和協議類型、以及所分配到的外部地址和外部埠發送給CGN設備,包括所述家庭網關生成包含有所述內部地址、內部埠、協議類型、外部地址和外部埠的本地映射條目,將所述本地映射條目保存到本地並封裝到埠控制協議PCP映射請求消息中發送給所述CGN設備。在上述方案中,所述分配外部地址和外部埠之後,所述方法還包括所述家庭網關將所述VoIP信令報文載荷中的內部地址和內部埠替換成所分配的所述外部地址和外部埠,並發送所述VoIP信令報文。在上述方案中,所述家庭網關根據VoIP信令報文載荷中的內部地址、內部埠和協議類型,分配外部地址和外部埠之前,所述方法還包括所述家庭網關監聽所述VoIP信令報文,並對所述VoIP信令報文進行解析,得到所述VoIP信令報文載荷中攜帶的內部地址、內部埠和協議類型。本發明還提供了一種VoIP應用進行NAT穿越的系統,所述系統包括家庭網關和 CGN設備,家庭網關包括PCP客戶端,CGN設備包括PCP伺服器;其中,PCP客戶端,用於根據Vo IP信令報文載荷中的內部地址、內部埠和協議類型,分配外部地址和外部埠,並將所述內部地址、內部埠和協議類型、以及所分配到的外部地址和外部埠發送給CGN設備的PCP伺服器;PCP伺服器,用於接收所述PCP客戶端發送的所述內部地址、內部埠、協議類型、 外部地址和外部埠,在本地建立包含有所述內部地址、內部埠、協議類型、外部地址和外部埠的NAT映射條目。在上述方案中,所述PCP客戶端,具體用於預先從所述CGN設備的PCP伺服器上申請外部埠資源塊並保存到本地;根據所述VoIP信令報文載荷中的內部地址、內部埠和協議類型,從本地保存的所述外部埠資源塊中分配所述外部地址和外部埠。在上述方案中,所述PCP客戶端,具體用於向所述PCP伺服器發送包含有需申請外部埠資源塊信息的外部埠資源塊請求消息;接收所述PCP伺服器返回的PCP響應消息, 獲取所述PCP伺服器分配的外部埠資源塊並保存到本地。所述PCP伺服器,具體用於接收所述PCP客戶端發送的外部埠資源塊請求消息, 為所述PCP客戶端分配外部埠資源塊,並向所述PCP客戶端返回包含有所分配外部埠資源塊信息的PCP響應消息。在上述方案中,所述PCP客戶端,具體用於生成包含有所述內部地址、內部埠、 協議類型、外部地址和外部埠的本地映射條目,將所述本地映射條目保存到本地並封裝到PCP映射請求消息中發送給所述CGN設備的PCP伺服器。在上述方案中,所述家庭網關還包括VoIP代理單元,用於將所述VoIP信令報文載荷中的內部地址和內部埠替換成所述PCP客戶端分配的所述外部地址和外部埠,並發送所述VoIP信令報文;所述PCP客戶端,還用於將所分配的所述外部地址和外部埠返回給所述VoIP代理單元。在上述方案中,所述VoIP代理單元,還用於監聽所述VoIP信令報文,對所述VoIP 信令報文進行解析,得到所述VoIP信令報文載荷中攜帶的內部地址、內部埠和協議類型,並向所述PCP客戶端發送外部地址和外部埠申請消息,所述外部地址和外部埠申請消息包含有所述VoIP信令報文載荷中的內部地址、內部埠和協議類型;所述PCP客戶端,還用於接收所述VoIP代理單元發送的外部地址和外部埠申請消息。本發明中,由家庭網關實現針對VoIP信令報文載荷的外部地址和外部埠的分配,並通知CGN設備建立相應的NAT映射條目,從而可以通過家庭網關實現VoIP信令報文載荷部分的NAT處理,不需要在CGN設備上部署VoIP的ALG功能,減輕了 CGN設備的處理負擔,避免擁塞,並且提高了 NAT處理效率;同時,也不需要架設專門用於NAT穿越的伺服器, 從而節約成本。


圖1為本發明實施例一 VoIP應用進行NAT穿越的系統組成結構示意圖;圖2為本發明實施例一 VoIP應用進行NAT穿越的具體實現流程示意圖;圖3為不同運營商時CGN網絡的架構示意圖;圖4為相同運營商時CGN網絡的架構示意圖;圖5為本發明實施例二外部埠資源塊申請階段的具體實現流程示意圖;圖6為本發明實施例二註冊階段的具體實現流程圖;圖7為本發明實施例二邀請階段的具體實現流程圖。
具體實施例方式VoIP具體實現過程包括信令階段和語音傳輸階段。其中,在信令階段,VoIP信令報文的載荷攜帶語音傳輸階段用於接收語音數據的地址和埠。當VoIP信令報文達到另一個終端後,在語音數據傳輸階段,另一個終端使用VoIP信令報文載荷攜帶的地址和埠發送語音數據。如果VoIP終端在私網中,需要在信令階段把VoIP信令報文載荷中攜帶的、用於語音數據傳輸階段使用的內部地址和內部埠轉換成外部地址和外部埠,並在CGN設備上生成相應的NAT映射條目。在進行語音數據傳輸時,CGN設備根據該NAT映射條目將語音數據使用的外部地址和外部埠轉換成相應的內部地址和內部埠,這樣,私網中的終端才能夠接收所述語音數據。本發明的基本思想是在信令階段,由家庭網關將VoIP信令報文載荷中攜帶的、 用於語音數據傳輸階段使用的內部地址和內部埠轉換成外部地址和外部埠,並通知 CGN設備生成相應的NAT映射條目。實施例一本實施例對於本發明VoIP應用進行NAT穿越的系統組成結構、以及方法的具體實現過程做詳細說明。本實施例中,如圖1所示,VoIP應用進行NAT穿越的系統可以包括家庭網關和 CGN設備,所述家庭網關包括PCP客戶端和VoIP代理單元;所述CGN設備包括PCP伺服器。 這裡,所述家庭網關與所述CGN設備屬於同一 CGN網絡。其中,家庭網關的PCP客戶端具體可以用於向CGN設備上的PCP伺服器發送外部埠資源塊請求消息,所述外部埠資源塊消息中可以包括需申請的外部埠資源塊的相關信息,例如,可以包含需申請的外部埠個數和相應的外部埠描述等信息;接收CGN 設備上PCP伺服器返回的外部埠資源塊響應消息,獲取所述PCP伺服器分配給自身的外部埠資源塊並保存到本地,所述外部埠資源塊響應消息中包括分配給所述PCP客戶端的外部埠資源塊的相關信息,例如,可以包含所分配的外部埠個數、外部地址和外部埠列表;接收所述VoIP代理單元發送的外部地址和外部埠申請消息,從本地保存的外部埠資源塊中分配外部地址和外部埠,將所分配的外部地址和外部埠返回給所述VoIP 代理單元,並生成包含內部地址、內部埠、協議類型、外部地址、外部埠的本地映射條目保存到本地;將所述本地映射條目封裝到PCP映射請求消息中發送給所述CGN設備的PCP 伺服器。家庭網關的VoIP代理單元具體可以用於監聽VoIP信令報文並解析,標示VoIP 終端的地址和埠信息;向PCP客戶端發送外部地址和外部埠的申請消息,所述申請消息包括內部地址、內部埠和協議類型等信息;接收PCP客戶端返回的外部地址和外部埠,並將所述VoIP信令報文載荷中的內部地址和內部埠替換成所述外部地址和外部埠後,發送所述VoIP信令報文給所述CGN設備。CGN設備的PCP伺服器具體可以用於接收家庭網關的PCP客戶端發送的外部埠資源塊請求消息,從CGN設備的地址池中批量申請外部埠資源塊分配給所述PCP客戶端,向所述PCP客戶端返回所述外部埠資源塊響應消息,並將已分配的外部埠資源塊在CGN設備上設置為不可用;接收家庭網關的PCP客戶端發送的PCP映射請求消息,根據所述PCP映射請求消息中的本地映射條目在本地建立相應的NAT映射條目並保存。家庭網關的VoIP代理單元可以針對各個H. 323開啟或者關閉,針對各個H. 323開啟或關閉的狀態可以通過預配置的方式進行設置,具體的,可以通過WEB界面配置、網管配置、或命令行配置的方式進行設置。家庭網關的VoIP代理單元可以針對各個SIP開啟或者關閉,針對各個SIP開啟或者關閉的狀態可以通過預配置的方式進行設置,具體的,可以通過WEB界面配置、網管配置、或命令行配置的方式進行設置。如圖2所示,在VoIP信令報文的傳輸過程中,VoIP應用進行NAT穿越的具體實現流程可以包括如下步驟步驟201 家庭網關的PCP客戶端發送外部埠資源塊請求消息給PCP伺服器,申請外部埠資源塊;這裡,所述外部埠資源塊請求消息中可以包含需申請的外部埠資源塊的相關信息。例如,可以包含需申請的外部埠數量N。步驟202 =CGN設備上的PCP伺服器接收所述外部埠資源塊請求消息,為所述 PCP客戶端分配外部埠資源塊,PCP客戶端獲取PCP伺服器分配的外部埠資源塊並保存到本地。 具體地,CGN設備上的PCP伺服器接收所述外部埠資源塊請求消息,根據所述外部埠資源塊請求消息中需申請的外部埠資源塊的相關信息(如需申請的外部埠數量N),從CGN設備上的地址池中申請相應的外部埠資源塊(如,個數為N的外部埠和相應的外部地址),將申請到的外部埠資源塊封裝到PCP響應消息中返回給所述PCP客戶端,PCP客戶端接收所述PCP響應消息,從中獲取申請到的外部埠資源塊並保存到本地,
8至此,完成外部埠資源塊到所述PCP客戶端的分配。之後,CGN設備上的PCP伺服器還將所述地址池中已分配的外部埠資源塊設置為不可用。這裡,所述外部埠資源塊的相關信息可以包括外部埠個數N、外部地址和外部埠列表。步驟203 =VoIP終端發送VoIP信令報文。步驟204 家庭網關上的VoIP代理單元監聽到所述VoIP信令報文,並基於所述 VoIP信令報文中載荷的內部地址、內部埠和協議類型,從家庭網關上的PCP客戶端上獲取外部地址和外部埠。具體地,家庭網關上的VoIP代理單元監聽到所述VoIP信令報文並解析所述VoIP 信令報文的載荷,得到其內部地址、內部埠和協議類型,並向家庭網關上的PCP客戶端申請相應的外部地址和外部埠(發送外部地址和外部埠申請消息,該申請消息中包含解析所述VoIP信令報文的載荷所得到的內部地址、內部埠和協議類型),PCP客戶端從本地保存的外部埠資源塊中分配外部地址和外部埠,將所分配的外部地址和外部埠返回給所述VoIP代理單元,並在本地生成包含所述內部地址、內部埠、外部地址、外部埠、 協議類型的本地映射條目。步驟205 家庭網關上的VoIP代理單元將所述VoIP信令報文中的內部地址和內部埠替換為所述PCP客戶端分配的外部地址和外部埠。步驟206 家庭網關上的VoIP代理單元將所述VoIP信令報文發送給CGN設備。步驟207 為了能夠在CGN設備上生成語音數據傳輸階段需要的NAT映射條目,家庭網關上的PCP客戶端將步驟204中生成的本地映射條目封裝到PCP映射請求消息中,發送給CGN設備上的PCP伺服器。步驟208 =CGN設備上的PCP伺服器接收所述PCP映射請求消息,解析出包含有所述內部地址、內部埠、協議類型、外部地址和外部埠的本地映射條目,建立相應的NAT 映射條目並保存到本地。這裡,所述NAT映射條目包含有所述本地映射條目中的內部地址、內部埠、協議類型、外部地址和外部埠。步驟209 =CGN設備接收所述VoIP代理單元發送的VoIP信令報文,對所述VoIP信令報文中IP頭部的內部地址和傳輸層的內部埠進行NAT處理,並發送處理後的所述VoIP 信令報文給VoIP伺服器/VoIP終端。實施例二本實施例以實施例一為基礎,將本發明在VoIP的SIP呼叫流程中的具體應用過程做詳細說明。圖3和圖4為不同CGN網絡的網絡架構示意圖,圖3是不同運營商CGN網絡的架構示意圖,圖4是相同運營商CGN網絡的結構示意圖。其中,不同運營商的CGN設備之間通過網際網路連接。在CGN網絡中,SIP終端在運營商的內部網絡中,使用的地址為內部地址,連接家庭網關。SIP代理伺服器連接在網際網路上,使用的地址是公網地址。SIP終端訪問SIP 代理伺服器時需要經過家庭網關、運營商的CGN設備以及網際網路。本實施例中,SIP呼叫流程包括三個階段外部埠資源塊申請階段、註冊階段和邀請階段。其中,首先進行外部埠資源塊申請階段。如圖5所示,家庭網關1與CGN_1之間
9進行外部埠資源塊申請,家庭網關2與CGN_2之間進行外部埠資源塊申請,具體地,外部埠資源塊申請的流程可以包括如下步驟步驟501 家庭網關上的PCP客戶端發送外部埠資源塊請求消息到CGN上申請外部埠資源塊。步驟502 :CGN上的PCP伺服器接收所述外部埠資源塊請求消息,從本地的地址池中分配外部埠資源塊,將所分配的外部埠資源塊封裝到PCP外部埠資源塊響應消息中返回給家庭網關,並將已分配的所述外部埠資源塊設置為不可用;家庭網關上的 PCP客戶端接收所述PCP外部埠資源塊響應消息,獲取所述CGN分配的外部埠資源塊並保存到本地。其中,所述外部埠資源塊具體可以包括如下信息外部埠個數、外部地址和外部埠列表。這裡,外部埠列表中可以包含多條外部埠信息,其中,外部埠列表中所包含外部埠信息的數目與所述「外部埠個數」相同。這裡,需要說明的是,「外部埠個數」的指定方式可以是在家庭網關通過預配置的方式指定或者在CGN通過預配置的方式指定。其中,當在家庭網關上指定所述外部埠個數時,所述外部埠資源塊請求消息中攜帶所述外部埠個數,CGN以所述外部埠資源塊請求消息中攜帶的外部埠個數為準進行外部埠資源塊的分配;如果在CGN上指定所述外部埠個數,無論所述外部埠資源塊請求消息中是否攜帶外部埠個數或者無論所攜帶的外部埠個數取值為何,CGN都以自身的配置為準進行外部埠資源塊的分配。其中,第二個階段是註冊階段,SIP終端1和SIP終端2分別到SIP伺服器上註冊。 如圖6所示,其中,註冊的流程具體可以包括如下步驟步驟601 :SIP終端1發送註冊報文給自身所在網絡中的家庭網關1,所述註冊報文的載荷中包含其內部地址A』和內部埠 a』 ;SIP終端2發送註冊報文給自身所在網絡中的家庭網關2,所述註冊報文的載荷中包含其內部地址B 』和內部埠 b 』。步驟602 家庭網關1上的VoIP代理單元監聽到註冊報文,從所述註冊報文的載荷中提取到SIP終端1的內部地址A』和內部埠 a』,向家庭網關1上的PCP客戶端申請到相應的外部地址A和外部埠 a,PCP客戶端從本地保存的外部埠資源塊中分配外部地址A和外部埠 a,生成相應的本地映射條目並保存,將所分配的外部地址A和外部埠 a 返回給VoIP代理單元,VoIP代理單元將所述註冊報文的載荷中內部地址Α』和內部埠 a』 替換成所申請到的外部地址A和外部埠 a後發送給CGN_1 ;同理,家庭網關2上也進行相同的處理,具體地,家庭網關2上的VoIP代理單元從家庭網關2上的PCP客戶端上申請到外部地址B和外部埠 b,將所述註冊報文的載荷中內部地址B』和內部埠 b』替換成所述外部地址B和外部埠 b後發送給CGN_2,家庭網關2 上的PCP客戶端生成本地映射條目並保存。這裡,所述PCP客戶端生成的本地映射條目中包含針對報文載荷的外部地址、外部埠、內部地址、內部埠和協議類型等信息,其中,外部地址與所述內部地址對應,外部埠與所述內部埠對應。本實施例中,家庭網關1上的PCP客戶端所生成的本地映射條目具體包含外部地址A、外部埠 a、內部地址A』、內部埠 a』和協議類型UDP。家庭網關2上的PCP客戶端所生成的本地映射條目具體包含外部地址B、外部埠 b、內部地址B』、內部埠 b』和協議類型UDP。步驟603 家庭網關1上的PCP客戶端將所生成的本地映射條目封裝到PCP映射請求消息中發送給CGN_1,CGN_1接收所述PCP映射請求消息,在本地建立用於報文中載荷的NAT轉換的第一 NAT映射條目;同理,家庭網關2上的PCP客戶端將所生成的本地映射條目封裝到PCP映射請求消息中發送給CGN_2,CGN_2接收所述PCP映射請求消息,在本地建立用於報文中載荷的NAT 轉換的第一 NAT映射條目;具體地,CGN_1所建立的第一 NAT映射條目中包含外部地址A、外部埠 a、內部地址A』、內部埠 a』和協議類型UDP ;CGN_2所建立的第一 NAT映射條目中包含外部地址B、 外部埠 b、內部地址B』、內部埠 b』和協議類型UDP。步驟604 :CGN_1接收家庭網關1的VoIP代理單元發送的註冊報文,為了私網中的 SIP終端1能夠接收信令響應協議報文,CGN_1對所述註冊報文的IP頭部的內部地址和傳輸層的內部埠進行NAT轉換,並將轉換後的註冊報文發送給SIP伺服器;CGN_2接收家庭網關2的VoIP代理單元發送的註冊報文,為了私網中的SIP終端 2能夠接收信令響應協議報文,CGN_2對所述註冊報文的IP頭部的內部地址和傳輸層的內部埠進行NAT轉換,並將轉換後的註冊報文發送給SIP伺服器;這裡,CGN對註冊報文的IP頭部的內部地址和傳輸層的內部埠進行NAT轉換, 可以包括CGN從自身的地址池中申請並分配相應的外部地址和外部埠,將所述註冊報文中IP頭部的內部地址和傳輸層的內部埠替換成所分配的外部地址和外部埠後發送給SIP伺服器,同時生成包含所述IP頭部的內部地址、傳輸層的內部埠、協議類型、IP頭部的外部地址和傳輸層的外部埠的第二 NAT映射條目並保存到本地。這裡,針對註冊報文的IP頭部的內部地址和傳輸層的內部埠進行的NAT轉換, 與相關的現有技術相同,不再贅述,在圖6中未示出該NAT轉換。步驟605 如果需要認證,則進行認證。步驟606 =SIP伺服器響應0K。需要說明的是,圖6中SIP終端1的註冊與SIP終端2的註冊可以分別進行,也可以同時進行。第三階段是邀請階段,SIP終端1通過邀請消息呼叫SIP終端2,如圖7所示,該邀請階段的具體實現流程包括如下步驟步驟701 =SIP終端1發送邀請消息,所述邀請消息的報文載荷中包含被叫SIP終端2的外部地址B和外部埠 b、SIP終端1自身的內部地址A』和內部埠 a』、和主叫RTP 連接的地址C』和埠 c』。步驟702 家庭網關1的VoIP代理單元接收所述邀請消息,根據家庭網關1的PCP 客戶端所保存的所述本地映射條目,將所述邀請消息的報文載荷中的內部地址和內部埠 (A』a』)替換成相應的外部地址和外部埠(A:a);之後,對於主叫RTP連接的內部地址和內部埠(C』 c』),VoIP代理單元向家庭網關1上的PCP客戶端上申請外部地址和外部埠(C:c),PCP客戶端基於自身保存的外部埠資源塊分配外部地址和外部埠(C:c), 生成對應所述主叫RTP連接的本地映射條目,並將所分配的外部地址和外部埠(C:c)返回給VoIP代理單元,VoIP代理單元將所述邀請消息的報文載荷中內部地址和內部埠(C』 :c')替換成相應的外部地址和外部埠(C:c);最後,VoIP代理單元將所述邀請消息發送給CGN_1。這裡,家庭網關1上的PCP客戶端針對主叫RTP連接所生成的本地映射條目具體包括外部地址和外部埠(C:c)、內部地址和內部埠(C』 :c')和協議類型UDP。需要說明的是,本步驟中,將所述邀請消息的報文載荷中的內部地址和內部埠 (A』 :a')替換成相應的外部地址和外部埠(A:a)、與將所述邀請消息的報文載荷中內部地址和內部埠(C』 :c')替換成相應的外部地址和外部埠(C:c)的兩個動作,可以同時進行,也可以分別進行,不分先後。步驟703 家庭網關1上的PCP客戶端將步驟702中所生成的本地映射條目封裝到PCP映射請求消息中,並將所述PCP映射請求消息發送給CGN_1,CGN_1接收所述PCP映射請求消息,生成主叫RTP連接所需要的、用於對報文的載荷進行NAT轉換的第一 NAT映射條目,該第一 NAT映射條目具體可以包括外部地址和外部埠(C: c)、內部地址和內部埠(C』 c』)和協議類型UDP。步驟704 :CGN_1接收所述邀請消息,對所述邀請消息中報文的IP頭部的內部地址和傳輸層的內部埠進行NAT轉換,並將轉換後的所述邀請消息發送給SIP伺服器。這裡,由於SIP終端1使用了與註冊階段相同的內部地址和內部埠,並且CGN_1 在步驟604進行相應NAT轉換時,已生成了相應的第二 NAT映射條目,這裡,直接把從私網到公網的所述邀請消息的IP頭部的內部地址和傳輸層的內部埠替換成所述第二 NAT映射條目中的外部地址和外部埠即可。步驟705 =SIP伺服器轉發所述邀請消息給CGN_2。步驟706 :CGN_2接收所述邀請消息,由於註冊階段和邀請階段SIP終端使用相同的內部地址和內部埠,對所述邀請消息中報文的IP頭部的外部地址和傳輸層的外部埠進行NAT轉換,並將轉換後的所述邀請消息發送給家庭網關2。這裡,CGN_2將所述邀請消息中報文的IP頭部的外部地址和傳輸層的外部埠替換成相應的第二 NAT映射條目中IP頭部的內部地址和傳輸層的內部埠。步驟707 家庭網關2的VoIP代理單元接收所述邀請消息,查詢從家庭網關2的 PCP客戶端所保存的本地映射條目,把所述邀請消息報文載荷中的外部地址B和外部埠 b 修改成相應的內部地址B』和內部埠 b』,並把所述邀請消息發送給被叫SIP終端2。步驟708 被叫SIP終端2接收所述邀請消息,從所述邀請消息中獲取主叫SIP終端1在語音數據傳輸階段使用的主叫RTP連接的地址和埠,並向SIP伺服器返回ringing 響應。步驟709 =SIP伺服器轉發ringing響應到主叫SIP終端1。步驟710 被叫SIP終端2發送OK消息給家庭網關2,所述OK消息的報文載荷中包含主叫SIP終端1的外部地址A和外部埠 a、SIP終端2本身的內部地址B』和內部埠 b』、被叫RTP連接的內部地址D』和內部埠 d』。步驟711 家庭網關2的VoIP代理單元接收所述OK消息,查詢家庭網關2的PCP 客戶端所保存的本地映射條目,將所述OK消息報文載荷中的內部地址B』和內部埠 b』替換成相應的外部地址B和外部埠 b ;之後,家庭網關2上的VoIP代理單元為被叫RTP連接的內部地址D』和外部埠 d』向家庭網關2上的PCP客戶端申請外部地址D和外部埠d,家庭網關2上的PCP客戶端從本地保存的外部埠資源塊中分配外部地址D和外部埠 d,生成對應被叫RTP連接的本地映射條目,並將所分配的外部地址D和外部埠 d返回家庭網關2上的VoIP代理單元,家庭網關2上的VoIP代理單元將所述OK消息報文載荷中的內部地址D』和外部埠 d』替換成相應的外部地址D和外部埠 d ;最後,VoIP代理單元將所述OK消息發送給CGN_2。這裡,家庭網關2上的PCP客戶端針對被叫RTP連接所生成的本地映射條目具體包括外部地址D和外部埠 d、內部地址D』和外部埠 d』和協議類型UDP。需要說明的是,本步驟中,將所述OK消息報文載荷中的內部地址D』和外部埠 d』 替換成相應的外部地址D和外部埠 d、與將所述OK消息報文載荷中的內部地址B』和內部埠 b』替換成相應的外部地址B和外部埠 b的兩個動作,可以同時進行,也可以分別進行,沒有先後順序。步驟712 家庭網關2上的PCP客戶端將步驟711中所生成的本地映射條目封裝到PCP映射請求消息中,並將所述PCP映射請求消息發送給CGN_2,CGN_2接收所述PCP映射請求消息,生成被叫RTP連接所需要的、用於對報文的載荷進行NAT轉換的第一 NAT映射條目,該第一 NAT映射條目具體可以包括外部地址和外部埠(D:d)、內部地址和內部埠(D』 d』)和協議類型UDP。步驟713 :CGN_2接收所述家庭網關2上的VoIP單元所發送的OK消息,對所述OK 消息中報文的IP頭部的內部地址和傳輸層的內部埠進行NAT轉換,並將轉換後的所述邀請消息發送給SIP伺服器。這裡,步驟713的具體過程與步驟704中相似,不再贅述。步驟714 =SIP伺服器轉發所述OK消息給CGN_1。步驟715 :CGN_1接收所述OK消息,對所述OK消息中報文的IP頭部的外部地址和傳輸層的外部埠進行NAT轉換,並將轉換後的所述OK消息發送給家庭網關1。這裡,步驟714的具體過程與步驟706中相似,不再贅述。步驟716 家庭網關1的VoIP代理單元接收所述OK消息,查詢從家庭網關1的PCP 客戶端所保存的本地映射條目,把所述OK消息報文載荷中的外部地址A和外部埠 a修改成相應的內部地址A』和內部地址a』,並把所述OK消息發送給主叫SIP終端1。步驟717 主叫SIP終端1接收所述OK消息,從所述OK消息中獲取被叫SIP終端 2在語音數據傳輸階段使用的被叫RTP連接的地址和埠,並直接向被叫SIP終端2返回 ACK消息。步驟718 主叫SIP終端1向被叫SIP終端2發送語音數據報文,採用的協議為 RTP,目的地址為被叫RTP連接的外部地址D,目的埠為被叫RTP連接的外部埠 d。步驟719 當主叫SIP終端1的語音數據報文到達被叫網絡上的CGN_2上時,CGN_2 根據本地保存的、對應被叫RTP連接的第一 NAT映射條目,將所述語音數據報文的目的地址 D和目的埠 d(設置在IP頭部和UDP頭部)修改成相應的內部地址D』和內部埠 d』,並把修改後的所述語音數據報文發送給被叫SIP終端2。步驟720 被叫SIP終端2向主叫SIP終端1發送語音數據報文,採用的協議為 RTP,目的地址為主叫RTP連接的外部地址C,目的埠為主叫RTP連接的外部埠 c。步驟721 被叫SIP終端2發送的語音數據報文到達主叫網絡上的CGN_1上時,CGN_1根據本地保存的、對應主叫RTP連接的第一 NAT映射條目,將所述語音數據報文中目的地址C和目的埠 c (設置在IP頭部和UDP頭部)修改成相應的內部地址C』和內部埠 C』,並把修改後的所述語音數據報文發送給主叫SIP終端1。至此,SIP終端1與SIP終端2之間呼叫成功。 以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。
權利要求
1.一種VoIP應用進行網絡地址轉換NAT穿越的方法,其特徵在於,所述方法包括家庭網關根據VoIP信令報文載荷中的內部地址、內部埠和協議類型,分配外部地址和外部埠,並將所述內部地址、內部埠和協議類型、以及所分配到的外部地址和外部埠發送給運營商級網絡轉換CGN設備;CGN設備在本地建立包含有所述內部地址、內部埠、協議類型、外部地址和外部埠的NAT映射條目。
2.根據權利要求1所述VoIP應用進行NAT穿越的方法,其特徵在於,所述家庭網關根據所接收VoIP信令報文載荷中的內部地址、內部埠和協議類型,分配外部地址和外部埠,包括所述家庭網關預先從所述CGN設備上申請外部埠資源塊並保存到本地;根據所述 VoIP信令報文載荷中的內部地址、內部埠和協議類型,從本地保存的所述外部埠資源塊中分配所述外部地址和外部埠。
3.根據權利要求2所述VoIP應用進行NAT穿越的方法,其特徵在於,所述從所述CGN 設備上申請外部埠資源塊,包括家庭網關向所述CGN設備發送包含有需申請外部埠資源塊信息的外部埠資源塊請求消息;所述CGN設備接收所述外部埠資源塊請求消息,為所述家庭網關分配外部埠資源塊,並向所述家庭網關返回包含有所分配外部埠資源塊信息的PCP響應消息;所述家庭網關接收所述PCP響應消息,獲取所述CGN設備分配的外部埠資源塊並保存到本地。
4.根據權利要求1所述VoIP應用進行NAT穿越的方法,其特徵在於,所述將所述內部地址、內部埠和協議類型、以及所分配到的外部地址和外部埠發送給CGN設備,包括所述家庭網關生成包含有所述內部地址、內部埠、協議類型、外部地址和外部埠的本地映射條目,將所述本地映射條目保存到本地並封裝到埠控制協議PCP映射請求消息中發送給所述CGN設備。
5.根據權利要求1所述VoIP應用進行NAT穿越的方法,其特徵在於,所述分配外部地址和外部埠之後,所述方法還包括所述家庭網關將所述VoIP信令報文載荷中的內部地址和內部埠替換成所分配的所述外部地址和外部埠,並發送所述VoIP信令報文。
6.根據權利要求1所述VoIP應用進行NAT穿越的方法,其特徵在於,所述家庭網關根據VoIP信令報文載荷中的內部地址、內部埠和協議類型,分配外部地址和外部埠之前,所述方法還包括所述家庭網關監聽所述VoIP信令報文,並對所述VoIP信令報文進行解析,得到所述 VoIP信令報文載荷中攜帶的內部地址、內部埠和協議類型。
7.一種VoIP應用進行NAT穿越的系統,其特徵在於,所述系統包括家庭網關和CGN設備,家庭網關包括PCP客戶端,CGN設備包括PCP伺服器;其中,PCP客戶端,用於根據Vo IP信令報文載荷中的內部地址、內部埠和協議類型,分配外部地址和外部埠,並將所述內部地址、內部埠和協議類型、以及所分配到的外部地址和外部埠發送給CGN設備的PCP伺服器;PCP伺服器,用於接收所述PCP客戶端發送的所述內部地址、內部埠、協議類型、外部地址和外部埠,在本地建立包含有所述內部地址、內部埠、協議類型、外部地址和外部埠的NAT映射條目。
8.根據權利要求7所述VoIP應用進行網絡地址轉換NAT穿越的系統,其特徵在於,所述PCP客戶端,具體用於預先從所述CGN設備的PCP伺服器上申請外部埠資源塊並保存到本地;根據所述VoIP信令報文載荷中的內部地址、內部埠和協議類型,從本地保存的所述外部埠資源塊中分配所述外部地址和外部埠。
9.根據權利要求8所述VoIP應用進行網絡地址轉換NAT穿越的系統,其特徵在於, 所述PCP客戶端,具體用於向所述PCP伺服器發送包含有需申請外部埠資源塊信息的外部埠資源塊請求消息;接收所述PCP伺服器返回的PCP響應消息,獲取所述PCP伺服器分配的外部埠資源塊並保存到本地;所述PCP伺服器,具體用於接收所述PCP客戶端發送的外部埠資源塊請求消息,為所述PCP客戶端分配外部埠資源塊,並向所述PCP客戶端返回包含有所分配外部埠資源塊信息的PCP響應消息。
10.根據權利要求7至9任一項所述VoIP應用進行網絡地址轉換NAT穿越的系統,其特徵在於,所述PCP客戶端,具體用於生成包含有所述內部地址、內部埠、協議類型、外部地址和外部埠的本地映射條目,將所述本地映射條目保存到本地並封裝到PCP映射請求消息中發送給所述CGN設備的PCP伺服器。
11.根據權利要求7所述VoIP應用進行網絡地址轉換NAT穿越的系統,其特徵在於,所述家庭網關還包括=VoIP代理單元,用於將所述VoIP信令報文載荷中的內部地址和內部埠替換成所述PCP客戶端分配的所述外部地址和外部埠,並發送所述VoIP信令報文;所述PCP客戶端,還用於將所分配的所述外部地址和外部埠返回給所述VoIP代理單兀。
12.根據權利要求11所述VoIP應用進行網絡地址轉換NAT穿越的系統,其特徵在於, 所述VoIP代理單元,還用於監聽所述VoIP信令報文,對所述VoIP信令報文進行解析,得到所述VoIP信令報文載荷中攜帶的內部地址、內部埠和協議類型,並向所述PCP客戶端發送外部地址和外部埠申請消息,所述外部地址和外部埠申請消息包含有所述VoIP 信令報文載荷中的內部地址、內部埠和協議類型;所述PCP客戶端,還用於接收所述VoIP代理單元發送的外部地址和外部埠申請消肩、O
全文摘要
本發明公開了一種VoIP應用進行NAT穿越的方法,所述方法包括家庭網關根據VoIP信令報文載荷中的內部地址、內部埠和協議類型,分配外部地址和外部埠,並將所述內部地址、內部埠和協議類型、以及所分配到的外部地址和外部埠發送給運營商級網絡轉換CGN設備;CGN設備在本地建立包含有所述內部地址、內部埠、協議類型、外部地址和外部埠的NAT映射條目。相應的,本發明還公開了一種VoIP應用進行NAT穿越的系統,減輕了CGN設備的處理負擔,避免擁塞,提高了NAT處理效率,還可以節約成本。
文檔編號H04L29/12GK102447751SQ201210010899
公開日2012年5月9日 申請日期2012年1月13日 優先權日2012年1月13日
發明者蘭光華, 鄭坤 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀