專利名稱:在通信客戶機(jī)之間建立通信會話的方法和通信客戶機(jī)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)。更準(zhǔn)確而言,它涉及通過諸如"網(wǎng)絡(luò)地址轉(zhuǎn)換
器(NAT)"的地址轉(zhuǎn)換設(shè)備進(jìn)行信號消息傳輸?shù)膯栴}。
背景技術(shù):
通過諸如H.323、媒體網(wǎng)關(guān)控制協(xié)議(MGCP)或會話初始協(xié)議(SIP)以 及會話描述協(xié)議(SDP)的信號協(xié)議,現(xiàn)有的通信網(wǎng)絡(luò)可以用來建立通信會 話。
這個SIP協(xié)議由互聯(lián)網(wǎng)工程任務(wù)組(IETF ) RFC 3261予以定義,它 具有兩個目的,即
-使兩方建立聯(lián)系,
-通過SDP協(xié)議來協(xié)商將要建立的會話的特征(視頻流,將要使用的 編解碼器(CODEC )編碼器等等)。
想要呼叫另一方的主叫方可以發(fā)送"邀請(Invite)"信號消息給稱作 "代理(Proxy)"的信號單元,該消息包含它的個人地址、它的終端(或 更一般地,客戶機(jī))的物理地址以及該被叫方的個人地址。該信號單元具 有"登記服務(wù)器(registrar),,裝置,使該被叫方的個人地址與相應(yīng)的終 端的物理地址相對應(yīng)。由于這種對應(yīng),該信號消息可以被路由到主叫方。
如果主叫方接受該呼叫,則該主叫方以包含該終端或客戶機(jī)的物理地 址的新的信號消息來應(yīng)答。因此,當(dāng)該兩終端各自知道另一方的物理地址 時,它們就可以建立一個IP(網(wǎng)際協(xié)議)連接以傳輸數(shù)據(jù)(話音,視頻等 等)。
然而,如RFC 1631 "IP網(wǎng)絡(luò)地址轉(zhuǎn)換器"及RFC 3022 "傳統(tǒng)IP網(wǎng)
絡(luò)地址轉(zhuǎn)換器(NAT)"中所定義的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)或網(wǎng)絡(luò)地址端 口轉(zhuǎn)換(NAPT)設(shè)備有時會產(chǎn)生問題。這種設(shè)備設(shè)計(jì)來接口子網(wǎng)絡(luò)(典 型地為私有網(wǎng)絡(luò))與公用互聯(lián)網(wǎng)。在這種子網(wǎng)絡(luò)中的該設(shè)備(終端)的物 理IP地址的有效性受限于該子網(wǎng)絡(luò)。當(dāng)這種設(shè)備想要與該子網(wǎng)絡(luò)之外的設(shè) 備建立通信時,地址轉(zhuǎn)換設(shè)備將對于公用網(wǎng)絡(luò)是有效的臨時公用地址分配 給它,并且記住該客戶機(jī)的私有地址及其臨時公用地址之間的關(guān)聯(lián)。
因此,網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備通過如下修改了在這個傳輸期間在 該私有網(wǎng)絡(luò)與該公用網(wǎng)絡(luò)之間傳輸?shù)南?br>
-在出局報(bào)文的IP頭中將終端私有地址轉(zhuǎn)換為公用地址,換句話說, 從該私有網(wǎng)絡(luò)轉(zhuǎn)換到該公用網(wǎng)絡(luò),以及
-在輸入消息的IP頭中將終端的公用地址轉(zhuǎn)換為私有地址,換句話說,消 息從該7〉用網(wǎng)絡(luò)到該私有網(wǎng)絡(luò)。
因此,對于地址轉(zhuǎn)換穿越i殳備4吏用SIP/SDP(或H.323或其它的)信號 消息會產(chǎn)生一個問題。這個問題在"NAT穿越"術(shù)語下是已知的。
例如,它在地址為http:〃en.wikiDedia.or2/wiki/NAT traversal.html的 "維基(wikipedia)"百科全書中被描述,并且在題為"網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT) —簡易應(yīng)用設(shè)計(jì)指南"的IETF RFC 3235中被提及。
諸如SIP以及SDP的信號協(xié)議被認(rèn)為是應(yīng)用協(xié)議。例如,SIP/SDP協(xié) 議可以由TCP或UDP協(xié)議來傳輸,它們自己在協(xié)議棧中處于比IP更高 層的位置。因此,SIP消息實(shí)際上是被封裝在TCP或UDP消息中的^lt 序列,其本身又凈皮封裝在IP消息中。
網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)M僅修改在IP層一級的參數(shù),并且對處
于更高層的參數(shù)保留不被修改。
換句話說,與包含在IP頭中的地址不同,包含在SIP和SDP消息中 的物理地址沒有,皮地址轉(zhuǎn)換設(shè)備修改。
結(jié)果是該信號消息的地址(稱作客戶機(jī))將僅僅知道該主叫客戶機(jī)的 私有地址。但是該私有地址僅僅在私有網(wǎng)絡(luò)中有意義,因此,通信會話不 能被建立。 由于此問^l:眾所周知的,已經(jīng)提出了大量的解決方案來解決它。解 決此問題方法可以主要分為兩類基于主叫客戶機(jī)的方法以及基于服務(wù)器 或通信網(wǎng)絡(luò)i殳備的方法。
第一類包括在RFC 3489中所描述的STUN("通過網(wǎng)絡(luò)地址轉(zhuǎn)換器 (NAT)的用戶數(shù)據(jù)報(bào)(UDP)簡單穿越")機(jī)制。此機(jī)制使客戶機(jī)(或終 端)能夠知道它的公用地址。因此,在向公用網(wǎng)絡(luò)發(fā)送消息之前,主叫客戶 機(jī)發(fā)送請求給位于這個公用網(wǎng)絡(luò)中的STUN服務(wù)器。此STUN服務(wù)器將以 包含可以"看到"該客戶機(jī)的地址(以及端口)的消息,換句話說以其公用 地址來應(yīng)答。
于是該客戶機(jī)可以通過SDP協(xié)議使用此公用地址來表示它想要接收 響應(yīng)的地址。
然而,此解決方案受到較多的限制,因?yàn)榧俣ㄔS多NAT是"對稱的" 并且雙方通過公用地址關(guān)聯(lián)。因此用于和該STUN服務(wù)器進(jìn)行的通信的、 NAT分配給客戶機(jī)的公用地址可以與用于與另一方要建立的會話、NAT 分配給客戶機(jī)的公用地址不同。在這種情況下,就不可能建立客戶機(jī)與另 一方之間的通信。
基于相同的原則提出了改善該狀況的其他提議,例如TURN("使用中 繼(Relay) NAT穿越")機(jī)制。2006年3月發(fā)表在IETF網(wǎng)站上的 "draft-rosenberg-midcom-tuni-09.txt"文件描述了該TORN機(jī)制。 然而,STUN機(jī)制和TURN機(jī)制兩者都不適合SIP協(xié)議。 因此,新的機(jī)制ICE(交互式連通性建立)被提出來適應(yīng)SIP信號消息 的穿越。當(dāng)適應(yīng)時,其基于STUN和TURN機(jī)制。ICE機(jī)制在 "draft-ietf-mmusic-ice國09.txt ,,文件中進(jìn)行了描述,該文件也在2006年6 月發(fā)表在IETF網(wǎng)站上,題為"交互式連通性建立 一種多媒體會話建立 協(xié)議的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)穿越的方法"。
第二類解決方案基于通信網(wǎng)絡(luò)中的i殳備。應(yīng)注意的是,第一類解決方 案使用該網(wǎng)絡(luò)中的服務(wù)器(例如STUN服務(wù)器),但A^起方是客戶機(jī)。 相反,在該第二類解決方案族中,網(wǎng)絡(luò)設(shè)備進(jìn)行^并且執(zhí)行NAT穿越
解決方案。
例如屬于該族的第一解決方案可以是將應(yīng)用網(wǎng)關(guān)與網(wǎng)絡(luò)轉(zhuǎn)換設(shè)備
NAT關(guān)聯(lián)。此機(jī)制以名為ALG "應(yīng)用層網(wǎng)關(guān)"或"應(yīng)用級網(wǎng)關(guān)"而已知, 并且在發(fā)表于1999年8月的題為"IP網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)術(shù)語和思考,, 的RFC 2663的2.9節(jié)中予以定義。
此網(wǎng)關(guān)(或帶有這樣網(wǎng)關(guān)功能的NAT)具有理解消息所使用的應(yīng)用協(xié) 議的裝置。更具體地,它可以理解信號消息的內(nèi)容并且轉(zhuǎn)換包含在SDP消 息中的物理地址,以便雙方交換它們的公用地址而不是它們的私有地址, 因此可以建立通信^"。
此解決方案的 一個變化包括使用將位于信號消息通路上的所謂的M 邊界控制器(SBC)。此類產(chǎn)品能夠控制在兩個網(wǎng)絡(luò)之間的通信會話和信 號消息的傳輸。更準(zhǔn)確而言,該SBC可以擔(dān)當(dāng)SIP信令"代理",提供通 過諸如Megaco的協(xié)議控制媒體傳輸裝置("媒體代理,,)的裝置,以便 雙方之間建立合適的通信會話。
在這兩個主要類別中的其它解決方案仍然是有用的,盡管沒有一個最 后領(lǐng)先于其它。
因此,特定的通信網(wǎng)絡(luò)可以同時執(zhí)行幾個解決方案。通信客戶機(jī)預(yù)先 并不知道它所關(guān)聯(lián)的網(wǎng)絡(luò)是否使用了穿越解決方案當(dāng)該網(wǎng)絡(luò)使用ALG 或SBC類型的解決方案時,于是它可以執(zhí)行ICE類型的解決方案。
事實(shí)上配置兩個解決方案是多余的,并且會導(dǎo)致資源的損失,而且解 決方案也可以相互干擾而導(dǎo)致通信網(wǎng)絡(luò)的錯誤操作;ALG或SBC設(shè)R 錯誤地修改包含在SIP/SDP信號消息中的地址或當(dāng)它們不應(yīng)該被修改時而 修改。最終,不能建立通信會話。
顯然此問題仍還沒有解決。
可以提出的一個解決方案將是當(dāng)SIP客戶機(jī)知道它被"綁定"到SBC 或ALG網(wǎng)關(guān)時由這個客戶機(jī)(ICE、 STUN、 TURN...)手動無效所使用 的機(jī)制。
然而,執(zhí)行這樣的方法將是復(fù)雜的;除非客戶機(jī)知道其接入提供者的
網(wǎng)絡(luò)拓樸,否則該客戶機(jī)不能知道它綁定到ALG網(wǎng)關(guān)還是綁定到SBC。 此外,每次客戶機(jī)綁定到新的網(wǎng)絡(luò)時必須手動修改配置。
此外,此方法不是最適宜的,因?yàn)橹灰徊捎没贏LG網(wǎng)關(guān)或SBC 的解決方案,按照架構(gòu)(by construction)其對于基于客戶機(jī)的解決方案 就是優(yōu)選的。但是基于客戶機(jī)的解決方案通常是最適宜的,因?yàn)榭蛻魴C(jī)可 以使用它來控制建立通信會話,并且該解決方案并不使用像SBC或ALG 解決方案的媒體中繼。
發(fā)明內(nèi)容
本發(fā)明的目的是通過使基于客戶機(jī)的解決方案和基于通信網(wǎng)絡(luò) (ALG,SBC,等等)的解決方案能夠最適宜的共存來克服這些缺點(diǎn)。
本發(fā)明要達(dá)到的第一個目的是一種通過包括至少一個地址轉(zhuǎn)換設(shè)備 (NAT、 NAPT、 SBC,等等)的通信網(wǎng)絡(luò)在主叫通信客戶機(jī)與被叫通信客戶 機(jī)之間建立通信會話的方法。
所述方法包括以其自身已知的方式通過這種地址轉(zhuǎn)換設(shè)備來進(jìn)行信號 消息傳輸?shù)牟襟E,以使通信客戶機(jī)的物理地址能夠進(jìn)行交換來建立所述通 信M。
根據(jù)本發(fā)明的所述方法是創(chuàng)新的,其特征在于至少一個客戶機(jī)傳輸至 少一個信號消息,所述消息包含
-在第一位置中的物理地址,以及
-在不同的第二位置中的包含該特定物理地址的編碼信息。 就其編碼程度而言,包含所述物理地址的所述信息不能被地址轉(zhuǎn)換設(shè)
備(NAT、 NAPT、 SBC,等等)修改。于是該信號消息要發(fā)送到的通信
客戶機(jī)具有發(fā)il^戶機(jī)的未修改的物理地址。他可以優(yōu)先使用此地址,確
保它沒有被修改過。
此外,事實(shí)上沒有刪除非編碼地址而冗余增加所述編碼地址,這4吏得
與現(xiàn)有的IETF規(guī)范以及所述不同的地址轉(zhuǎn)換設(shè)備保持兼容成為可能。 越解決方案來獲得。例如,該解決方案可以是STUN機(jī)制。
因此,本發(fā)明解決了配置諸如ICE或STUN的地址轉(zhuǎn)換穿越裝置機(jī)制 的體系架構(gòu)面臨的技術(shù)問題。
根據(jù)本發(fā)明的一個變化,所述信號消息也包含 -在第一端口位置中的端口號,以及
-在不同的第二端口位置中的一個或多個包含所述端口號的編碼信息 的條目。
取決于本發(fā)明的執(zhí)行,所述不同位置是由IETF RFC 2327所定義的 SDP協(xié)議字段。第二位置(對于地址以及可能對于端口號)是該SDP的 屬性字段,換句話說,如在RFC2327笫6段中所定義的'V,字段。
本發(fā)明的另一個目的是一種通信客戶機(jī),具有發(fā)送信號消息以與至少 一個其它通信客戶機(jī)建立通信會話的裝置,和地址轉(zhuǎn)換穿越設(shè)備。
所i^戶機(jī)的特征在于,其具有在所述信號消息M送之前,將包含 由這些地址轉(zhuǎn)換穿越設(shè)備獲得的所述物理地址的編碼信息,添加到所述信
號消息中的裝置。
這些裝置也能夠添加包含端口號的編碼信息。
所述編碼信息可以被添加到所述符合SIP協(xié)議的信號消息的符合SDP 協(xié)議的部分的字段中,更具體地在所述"a"屬性字段中。
本發(fā)明的另一個目的是一種通信網(wǎng)絡(luò),執(zhí)行上述的通信客戶機(jī),以及 一種使用上述方法的軟件產(chǎn)品。
在參考附圖閱讀下列實(shí)施例的描述之后,本發(fā)明將變得更清楚。 圖l示出了可以使用本發(fā)明的通信網(wǎng)絡(luò)。
具體實(shí)施例方式
在圖1所示的示例中,通信網(wǎng)絡(luò)包括由兩個地址轉(zhuǎn)換設(shè)備NAT1和 NAT2連接起來的三個網(wǎng)絡(luò)SN1、 SN2和SN。這是每個通信客戶機(jī)C1和
C2分別連接到私有子網(wǎng)絡(luò)SN1和SN2的典型情況。這些私有子網(wǎng)絡(luò)中的 每一個分別通過地址轉(zhuǎn)換設(shè)備NAT1和NAT2連接到/>用網(wǎng)絡(luò)SN。
然而,其他情況是可能的。例如,單一地址轉(zhuǎn)換設(shè)備NAT可以被配 置在屬于一個公司兩個部分的兩個私有子網(wǎng)絡(luò)之間。設(shè)想這樣的情形也是 可能的,其中兩個客戶機(jī)之一不用NAT而連接到私有子網(wǎng)絡(luò)。在這種情 況下,單一的地址轉(zhuǎn)換設(shè)備NAT被配置在另一個私有子網(wǎng)絡(luò)與公用子網(wǎng) 絡(luò)之間。
通信網(wǎng)絡(luò)(主要是公用網(wǎng)絡(luò)SN)至少包含一項(xiàng)設(shè)備。該設(shè)備可以是 諸如路由器的IP傳輸節(jié)點(diǎn),但也可以^Ji務(wù)器,信號單元,SIP代理,呼 叫服務(wù)器,等等。為清楚起見,在圖1中只示出了地址轉(zhuǎn)換設(shè)備NAT1和 NAT2,以及呼叫服務(wù)器CS。
接下來,以最通用接受范圍來考慮該呼叫服務(wù)器CS,因此其包括"SIP 代理"信號單元、"軟交換,,、呼叫控制器、在IMS( "IP多媒體子系統(tǒng),,) 體系結(jié)構(gòu)中的CSCF("呼叫M控制功能"),等等。
建立通信會話成為本領(lǐng)域熟練技術(shù)人員熟知的技術(shù)發(fā)展水平的一部 分。示意性地,其包括在兩個通信客戶機(jī)C1和C2之間傳輸信號消息的步 驟。該信號流fs由處于公用網(wǎng)絡(luò)SN中的呼叫服務(wù)器CS來傳輸。如上所 述,這些信號消息傳輸使通信客戶機(jī)C1和C2之間能夠交換物理地址,因 此有助于在兩個通信客戶機(jī)之間建立通信會話fm:于是使用這兩個交換的 物理地址可以在該兩客戶機(jī)之間傳g體流(話音,數(shù)據(jù),視頻,等等) fm。
該信號消息通過地址轉(zhuǎn)換設(shè)備NAT1和NAT2。因此,兩個通信客戶 機(jī)C1和C2中的每一個都具有由其所綁定的地址轉(zhuǎn)換設(shè)備所分配的與其私 有物理地址不同的公用物理地址(在會話期間)。
為了能夠建立通信會話fm,兩客戶機(jī)必須交換它們的公用物理地址 (不是它們的私有物理地址)。
在圖1所示的示例中,假定呼叫通信客戶機(jī)Cl提供地址轉(zhuǎn)換穿越 ("NAT穿越")設(shè)備裝置。由"提供裝置"的措辭可以理解為客戶機(jī)具
有穿越地址轉(zhuǎn)換^:備裝置,而且這些裝置是激活的。設(shè)想這樣的情形是可 能的,其中由于不同的原因(故障、由于用戶i人為它們不夠高性能而手動 解除配置,等等)這些裝置是無效的。
這些穿越裝置可以遵從現(xiàn)有的以及未來的基于通信客戶機(jī)的技術(shù)U 水平的各種可能的解決方案。因此,存在如上所述的STUN、 TURN或ICE 機(jī)制。
在發(fā)送信號消息之前,呼叫通信客戶機(jī)Cl將如下添加到該消息中 -其物理地址,更具體地其通過地址轉(zhuǎn)換穿越設(shè)備解決方案已經(jīng)得到 的7>用物理地址,以及
-包含此物理地址的編碼信息。
因此,本發(fā)明的一個特征在于將與該物理地址相應(yīng)的編碼和冗余信息 添加到發(fā)送到目標(biāo)方的信號消息中。
對于使用SIP協(xié)議的實(shí)施例,該信號消息是典型的"邀請"消息。該 "邀請"信號信息包括符合用來描述將要執(zhí)行的通信會話的SDP協(xié)議的一 部分。因此,SDP協(xié)議在題為"SDP:絲描述協(xié)議"的IETF RFC 2328 中被描述。
通信客戶機(jī)Cl在為此目的而由該協(xié)議指定的位置上,將它的公用物 理地址以及可能端口號添加到該SDP部分中(或在信號消息包含幾個SDP 部分的情況下添加到SDP部分之一中)。
SDP協(xié)議包括許多字段,每一個還可能包含子字段。這些字段可以被 分解為兩類
要描述所要建立的會話的字段,即
v 協(xié)議版本
0 會話的所有者/創(chuàng)建者以及標(biāo)識符 s ^!"名稱
1 會話信息
u描述的URI
e 電子的(電子郵件)地址
P 電話號碼
C 連接信息
b 傳輸頻帶信息
t 會話有效期間
r 重復(fù)間隔 z 時隙調(diào)整 k 密鑰 a 屬性
第二類字段由與介質(zhì)(媒體)的描勤目關(guān)的字段組成,即
m 介質(zhì)名稱以及傳輸?shù)刂?br>
i 介質(zhì)標(biāo)題
c 連接信息
b 傳輸頻帶信息
k 密鑰
a 屬性
根據(jù)SDP協(xié)議的規(guī)范,這些字段按順序放置,使得通信客戶機(jī)協(xié) 議接口能夠快速有效地讀取。
有些字段包含通信客戶機(jī)可以或必須添加物理地址的位置。其它位置 設(shè)計(jì)來包含許多端口。
因此,如RFC2327所指定的那樣,"o"字段包含下列子字段 <用 戶名> <會話IDx版4^x網(wǎng)絡(luò)類型x地址類型x地址、
〈地址〉子字段包含通信客戶機(jī)C1的物理地址。如果該客戶機(jī)具有幾 個物理地址,那么該地址是要建立通信會話的物理地址。優(yōu)選的為其>{^用 物理地址,換句話說,是在通信網(wǎng)絡(luò)SN中已知的的和有用的。
"m"字段可以包含〈媒體x端口x傳輸xfmt列表〉子字段。因此, 第二個子字段可以包含端口號。
"c"字段可以包含<網(wǎng)絡(luò)類型><地址類型><連接地址>子字段。
"a"屬性字段是一個開放的字段,它包含<屬性>和<值>兩個子字段。
它也可以包含物理地址。
根據(jù)本發(fā)明,通信客戶機(jī)在不同于第一位置的第二位置中添加包含物 理地址的編碼信息。換句話說,在第一位置(以非編碼形式)和第二位置 (以編碼形式)中都可以包含物理地址。
第二位置可以是"a"屬性字段。它可以包含任意選擇的屬性名稱,但 是對于可以是通信會話各方的所有通信客戶機(jī)是已知的。在下列的示例中, 該屬性的名稱是"rdd"。
考慮到由于SDP協(xié)議字段的強(qiáng)制順序而出現(xiàn)的問題,第二位置可以添 加在下一個可能的位置。如果物理地址或端口號包含在為 "o" , "c"或 "m"字段的笫一位置中,則第二位置是其后的第一個"a"字段。如果第 一位置是"a"字段,那么第二位置是緊臨其后的"a"字段。
這些規(guī)則使得信號消息目的地的通信客戶機(jī)C2的協(xié)議接口的設(shè)計(jì)變 得容易。
該物理地址和端口號的冗余添加可以對包含在信號消息中的所有物理 地址和端口號進(jìn)行,或僅僅對于其中的一部分進(jìn)行。
根據(jù)本發(fā)明的一個實(shí)施例,地址和端口號是獨(dú)立編碼。當(dāng)一個字段(換 句話說, 一 "行")包含物理地址,只有該物理地址被編碼并且添加到與 該字段相應(yīng)的第二位置中。
根據(jù)另一個實(shí)施例,整個字段被編碼并且添加到第二位置中。這樣, 如果一個特定的字段既包含端口號也包含物理地址,則必需單一編碼,所 有信息可以容易的添加到單一的第二位置中(換句話說,單一的"a"字段)。
換句話說,該編碼信息可以僅僅包含一個物理地址(編碼的)或一個 端口號(編碼的),或者它也可以包含其它信息(更具體地既包含端口號 也包含物理地址)。
下面將根據(jù)本發(fā)明的該第二實(shí)施例給出SIP信號消息的SDP部分的示
例
v=0
o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
i=A Seminar on the session description protocol c=IN IP4 224.2.17.12/127
a=rdd:bzltaGFuZGxleSAyODkwODQ0NTI2IDI4OTA4NDI4MDcgS U4gSVA0IDEyNi4xM42NC40
a=rdd:YzlJTiBJUDQgMjI0LjIuMTcuMTIvMTI3 m=audio 49170 RTP/AVP 0
a=rdd:bTlhdWRpbyAOOTE3MCBSVFAvOVZ(JIDA= a=rtcp:53020
a=rdd:YTlydGNwOjUzMDIw a=rtpmap:96 L8/8000 a=rtpmap:97 L16/8000 m=application 32416 udp wb
a=rdd:bTlhcHBsaWNhdGlvbiAzMjQxNiBlZHAgd2I=
根據(jù)上面給出的規(guī)則,第一個"a"字段對于包含在"o"字段中的地 址是第二位置。第二個"a"字段對于包含在"c"字段中的物理地址是第 二位置。第三個"a"字段對于包含在第一個"m"字段(49170)中的端 口號是第二位置。第五個"a"字段對于包含在第四個"a"字段中的端口 號(532020)是第二位置。最后,最后的"a"字段對于包含在緊鄰其前的 "m"字段中的端口號(32416)是第二位置。
然而,在所有這些字段中,包含物理地址或端口號的整個行都被編碼。 換句話說,包含物理地址和/或端口號的字段被編碼,而不是單獨(dú)拿來物理 地址或端口號進(jìn)行編碼。
因此,該編碼信息 "rdd:bzltaGFuZGxleSAyODkwODQ0NTI2IDI4OTA4NDI4MDcgS U4gSVA0IDEyNi4xNi42NC40"包含物理地址"126.16.64.4",也包含其 它呈現(xiàn)在字段 "o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4"中的數(shù)據(jù)。
在該示例中,物理地址和端口號使用基數(shù)64來進(jìn)行編碼。例如,
IETF(互聯(lián)網(wǎng)工程任務(wù)組)RFC 3548描述了此類編碼,但是有不同的變化。
然而,所有的編碼類型都是可能的。然而,必需的是,各方共享所使 用的編碼類型(可能是密鑰)的知識(knowledge),并且網(wǎng)絡(luò)設(shè)備(NAPT、 NAT、 SBC,等等)不能識別編碼信息項(xiàng)是物理端口號和/或地址。
在某些情況下,執(zhí)行更高級的加密技術(shù)是有用的。
在信號消息內(nèi)傳送關(guān)于編碼類型的信息也是可能的,并且可能是密鑰 或相同性質(zhì)的由目的通信客戶機(jī)C2用來解碼的其它信息。
在只有物理地址和端口號被編碼的實(shí)施例中,其被簡單修改來欺騙通 信網(wǎng)絡(luò)中的設(shè)備。
對于物理IP地址,僅僅將點(diǎn)轉(zhuǎn)換為斜杠就足夠。因此,地址 "126.16.64.4"將變成"126/16/64/4"。另一個可能性是將該物理地址中 的每個阿拉伯?dāng)?shù)字轉(zhuǎn)換為相應(yīng)等級(rank)的字母。在該示例中的地址將 變成"abf.af.fd.d"。
一旦發(fā)送,信號消息傳輸?shù)骄W(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備NAT1,然后到公用網(wǎng) 絡(luò)SN上的其它設(shè)備。可能地,也可以在到達(dá)網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備NAT1之 前已穿越通過在私有子網(wǎng)SN1中的設(shè)備。
這種設(shè)備中的一些可以設(shè)置有地址轉(zhuǎn)換穿越裝置。這些裝置可以遵從 上述的解決方案可以是ALG (應(yīng)用層網(wǎng)關(guān))或SBC(會話邊界控制器) 服務(wù)器。
于是該設(shè)備可以修改包含在SIP信號消息的SDP部分中的物理地址和 端口號。因此,在到達(dá)通信客戶機(jī)C2之前,包含在"m" 、 "c" 、 "o" 字段的地址可以被修改。正如在示例中的第四'V,字段的情況那樣,當(dāng)包 含端口號或未編碼的物理地址時,有些"a,,字段也可以被修改。
然而,包含在"a"字段中的端口號和物理地址由于被編碼而不能被這 些設(shè)備修改。它們未經(jīng)修改而到達(dá)通信客戶機(jī)C2,并且該通信客戶機(jī)能夠 較之包含在其它字段中可能已經(jīng)被修改的物理地址和端口號而優(yōu)先使用它 們。
同樣地,在由通信客戶機(jī)Cl發(fā)送消息或由通信客戶機(jī)C2發(fā)送消息的
情況下,其它信號消息也可以包含編碼的物理地址和端口號。因此所有信 號流fs可以與上面所描述的一致。
因此,使用物理地址和端口號并且保證它們沒有被修改,使這兩個通
信客戶機(jī)建立通信會話和一個(或更多的)媒體流fm成為可能。
權(quán)利要求
1.在主叫通信客戶機(jī)(C1)和被叫通信客戶機(jī)(C2)之間通過包括至少一個地址轉(zhuǎn)換設(shè)備(NAT1,NAT2)的通信網(wǎng)絡(luò)(SN1,SN,SN2)建立通信會話(fm)的方法,所述方法包括傳輸信號消息(fs)的步驟,所述信號消息通過所述至少一個地址轉(zhuǎn)換設(shè)備并且使得所述通信客戶機(jī)的物理地址能夠進(jìn)行交換以建立所述通信會話,其特征在于至少一個客戶機(jī)傳輸至少一個在第一位置中包含物理地址的信號消息,所述物理地址先前已經(jīng)由地址轉(zhuǎn)換穿越設(shè)備獲得,以及在不同的第二位置中包含該特定物理地址的編碼信息。
2. 根據(jù)前^利要求所述的方法,其中所述物理地址通過由所述至少 一個通信客戶機(jī)執(zhí)行的網(wǎng)絡(luò)地址轉(zhuǎn)換穿越解決方案而獲得。
3. 根據(jù)權(quán)利要求l所述的方法,其中所述至少一個信號消息還在第一 端口位置中包含一個或幾個端口號,以及在不同的第二端口位置中包含一 個或更多個包含所述端口號的編碼信息的條目。
4. 根據(jù)權(quán)利要求1所述的方法,其中所述位置是所述信號消息符合 SDP協(xié)議的部分的字段,所述信號消息符合SIP協(xié)議。
5. 根據(jù)權(quán)利要求1所述的方法,其中所述第二位置是所述SDP協(xié)議 的屬性字段。
6. 通信客戶機(jī)(Cl),具有發(fā)送信號消息(fs)以與至少一個其它的 通信客戶機(jī)(C2)建立通信會話(fm)的裝置,以及地址轉(zhuǎn)換穿越設(shè)備裝 置,其特征在于具有在所述信號消息祐l送之前將包含由所述地址轉(zhuǎn)換穿越裝置獲得 的物理地址的編碼信息添加到所述信號消息中的裝置。
7. 根據(jù)前述權(quán)利要求所述的通信客戶機(jī),其中所述裝置還能夠添加包 含端口號的編碼信息。
8. 根據(jù)權(quán)利要求6所述的通信客戶機(jī),其中所述編碼信息被添加到符 合SIP協(xié)議的所述信號消息的符合SDP協(xié)議的部分的字段中。
9. 一種通信網(wǎng)絡(luò),使用根據(jù)權(quán)利要求6至8中的任一所述的通信客戶機(jī)。
10. 根據(jù)前i^L利要求所述的通信網(wǎng)絡(luò),符合IMS規(guī)范。
11. 一種軟件產(chǎn)品,設(shè)計(jì)來使用根據(jù)權(quán)利要求1至5中的一個所述的 方法。
全文摘要
在主叫通信客戶機(jī)(C1)和被叫通信客戶機(jī)(C2)之間通過包括至少一個地址轉(zhuǎn)換設(shè)備(NAT1,NAT2)的通信網(wǎng)絡(luò)(SN1,SN,SN2)建立通信會話(fm)的方法。其包括傳輸信號消息(fs)的步驟,所述信號消息通過地址轉(zhuǎn)換設(shè)備并且使得通信客戶機(jī)的物理地址能夠進(jìn)行交換以建立所述通信會話。這種方法其特征在于至少一個客戶機(jī)傳輸至少一個在第一位置中包含物理地址的信號消息,以及在不同的第二位置中包含該特定物理地址的編碼信息。
文檔編號H04L29/06GK101170556SQ20071016746
公開日2008年4月30日 申請日期2007年10月25日 優(yōu)先權(quán)日2006年10月26日
發(fā)明者T·萊維, V·希里巴倫 申請人:阿爾卡特朗訊公司