專利名稱:呼叫建立系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及呼叫建立系統(tǒng)。
呼叫建立系統(tǒng)是已知的,其中呼叫建立涉及多個與通過NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)設(shè)備彼此連接的相應(yīng)的分組交換網(wǎng)絡(luò)相關(guān)聯(lián)的呼叫代理,其中NAT設(shè)備還稱為地址轉(zhuǎn)換器。NAT設(shè)備定義在一個網(wǎng)絡(luò)內(nèi)的提供至它連接的另一個網(wǎng)絡(luò)的連接路徑的地址。呼叫建立設(shè)備定義據(jù)以發(fā)送呼叫的媒體分組的一系列地址,包括NAT設(shè)備的地址。例如在兩個用戶終端之間的呼叫中,在這兩個終端之間有兩個路徑,每個方向上一個。通常,媒體呼叫發(fā)生在一個或更多個通過因特網(wǎng)連接的專用網(wǎng)絡(luò)之間。
本發(fā)明具體涉及語音呼叫。對將IP(因特網(wǎng)協(xié)議)用于語音來替代常規(guī)電路交換電信網(wǎng)絡(luò)存在與日俱增的興趣,因為如果一個網(wǎng)絡(luò)可以用于兩種不同的功能,則有維護(hù)節(jié)省。
用于經(jīng)因特網(wǎng)發(fā)起語音呼叫的一個已知協(xié)議是會話發(fā)起協(xié)議(SIP-RFC 3261),而它還可以用于使用如視頻或游戲的其他交互式媒體來發(fā)起呼叫。該協(xié)議適用于呼叫涉及專用網(wǎng)絡(luò)和因特網(wǎng)的情況。
圖1示出兩個網(wǎng)絡(luò)之間使用SIP信令的呼叫建立。
從在例如專用網(wǎng)絡(luò)的網(wǎng)絡(luò)1中的用戶代理P向例如因特網(wǎng)的中央網(wǎng)絡(luò)2中的用戶X(未示出)進(jìn)行呼叫。由呼叫代理S代表用戶X將其轉(zhuǎn)發(fā)到用戶代理V,用戶代理V與主叫在同一專用網(wǎng)絡(luò)1中。
圖1中示出所有SIP信令消息,但是未示出消息文本。SIP消息是其格式可以從IETF呼叫示例文檔中看到的標(biāo)準(zhǔn)消息。
用戶代理P通過向其本地呼叫代理Q發(fā)送SIP“邀請”消息來發(fā)起呼叫。該消息包含會話描述(會話描述協(xié)議-RFC 2327),指示媒體特征和地址(1.1.1.1),用戶代理P希望在此地址處接收媒體分組。為了方便起見,圖1中僅示出該地址的后兩段和其他地址的后兩段。
呼叫代理Q以SIP“100嘗試”消息響應(yīng)。
呼叫代理Q確定呼叫的目的地X在中央網(wǎng)絡(luò)2中,以及這經(jīng)它控制的網(wǎng)絡(luò)NAT設(shè)備R到達(dá)。因此,它打開NAT設(shè)備R中的針孔(pinhole)以允許媒體流從中央網(wǎng)絡(luò)到用戶代理P的媒體地址(1.1.1.1)。然后將由NAT R返回到呼叫代理Q的地址(2.2.2.1)用在由呼叫代理Q發(fā)送到中央網(wǎng)絡(luò)中的呼叫代理S的“邀請”消息中。(針孔是專門為單個媒體流打開的通過NAT設(shè)備的路徑。術(shù)語“針孔”強(qiáng)調(diào)僅具有源和目的地址的特殊組合的分組將通過NAT設(shè)備,而不匹配針孔的其他分組將被阻止。)呼叫代理S以“100嘗試”消息響應(yīng)。
呼叫代理S確定用戶X已請求其呼叫應(yīng)轉(zhuǎn)發(fā)到用戶代理V,以及經(jīng)專用網(wǎng)絡(luò)1中的呼叫代理U到達(dá)新目的地。用戶X可以是可經(jīng)因特網(wǎng)訪問的家庭電話號碼,以及該用戶可以已為將其呼叫轉(zhuǎn)發(fā)到專用網(wǎng)絡(luò)1中的其辦公室而建立一種布置。因此呼叫代理S將含有更改的URI(統(tǒng)一資源標(biāo)識符)的“邀請”消息傳遞到呼叫代理U,在該情況中,更改的URI為定義呼叫的目的地的通信資源的名稱。
呼叫代理U以“100嘗試”消息響應(yīng)。
呼叫代理U識別出呼叫已從不同網(wǎng)絡(luò)經(jīng)它控制的NAT設(shè)備T到達(dá)。因此,它打開NAT設(shè)備T中的針孔來允許媒體流從邊緣網(wǎng)絡(luò)1到中央網(wǎng)絡(luò)內(nèi)的媒體地址(2.2.2.1)。然后在發(fā)送到用戶代理V的“邀請”消息中使用由NAT設(shè)備T返回的地址(1.1.1.3)。
呼叫現(xiàn)在已到達(dá)它的目的地。用戶代理V以經(jīng)呼叫代理鏈傳遞回主叫的“180振鈴”消息響應(yīng)。
當(dāng)呼叫被應(yīng)答時,用戶代理V向呼叫代理U發(fā)送回“200認(rèn)可(OK)”消息。該消息包含會話描述,指示媒體特征和用戶代理V希望接收媒體分組的地址(1.1.1.4)。
呼叫代理U識別此消息是針對經(jīng)它控制的NAT設(shè)備T到達(dá)的呼叫。因此,它打開NAT設(shè)備T中的針孔來允許媒體流從中央網(wǎng)絡(luò)2到邊緣網(wǎng)絡(luò)內(nèi)的媒體地址(1.1.1.4)。然后在傳遞到呼叫代理S的“認(rèn)可”消息中使用由NAT設(shè)備T返回的地址(2.2.2.2)。
由呼叫代理S將“認(rèn)可”消息傳遞回呼叫代理Q。
呼叫代理Q識別出此呼叫通過它控制的NAT設(shè)備R。因此,它打開NAT設(shè)備R中的針孔來允許媒體流從邊緣網(wǎng)絡(luò)1到中央網(wǎng)絡(luò)內(nèi)的媒體地址(2.2.2.2)。然后在傳遞到用戶代理P的“認(rèn)可”消息中使用由NAT設(shè)備R返回的地址(1.1.1.2)。
用戶代理P然后通過發(fā)送ACK消息來完成該SIP信令序列。這沿著呼叫代理鏈傳遞到被叫用戶代理V。
用戶代理已分別接收到媒體分組應(yīng)該發(fā)往的其本地網(wǎng)絡(luò)內(nèi)的地址。這是其本地網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備R和T的地址。這些NAT設(shè)備已配置為將從邊緣網(wǎng)絡(luò)1接收到的媒體分組發(fā)送到中間網(wǎng)絡(luò)2內(nèi)的另一NAT設(shè)備的地址。這些NAT設(shè)備還已配置為將從中間網(wǎng)絡(luò)接收到的媒體分組發(fā)送到邊緣網(wǎng)絡(luò)1中的用戶代理的地址。因此,媒體分組可以經(jīng)這兩個NAT設(shè)備R和T、經(jīng)一個方向上的媒體路徑3、4、5以及經(jīng)返回方向上的媒體路徑3a、4a、5a在這兩個用戶代理P、V之間傳送。
結(jié)果媒體流不一定通過中央網(wǎng)絡(luò)2、通過路徑4、4a構(gòu)成回路。
將看到遍歷多個NAT設(shè)備的IP呼叫在每個NAT設(shè)備丟失有關(guān)前面網(wǎng)絡(luò)的信息。如果呼叫經(jīng)過路由選擇回到它已經(jīng)遍歷的網(wǎng)段,則無法在該網(wǎng)段中直接連接。這可能導(dǎo)致非必要的網(wǎng)絡(luò)業(yè)務(wù)以及一些網(wǎng)絡(luò)路徑的過度使用。
在一個特殊應(yīng)用中,邊緣網(wǎng)絡(luò)可以是小型辦公室,NAT T和R可以被集合到可以與因特網(wǎng)2通信的一個個人計算機(jī)中,以及用戶代理P和V可以是其他個人計算機(jī),以及在邊緣網(wǎng)絡(luò)中還可以有另外的個人計算機(jī)(未示出)。這些個人計算機(jī)可以全部使用SIP彼此間進(jìn)行語音通信,雖然是經(jīng)與因特網(wǎng)通信的個人計算機(jī)。遺憾的是,每次如在用戶代理P和V之間建立呼叫時,它都遍歷NAT T和R并用盡稀缺的媒體路徑。經(jīng)NAT針孔行進(jìn)的原因是常規(guī)的SIP協(xié)議要求在呼叫代理確定呼叫的最終目的地之前選擇媒體地址。如果選擇經(jīng)NAT的路由,則呼叫將在它端接于不同網(wǎng)絡(luò)的情況下成功,以及(通過構(gòu)造另一個針孔來重進(jìn)入原網(wǎng)絡(luò))還將在呼叫端接回與其源相同的網(wǎng)絡(luò)的情況下成功。因此,為所有呼叫選擇NAT路由是安全的選擇,它將始終有效,雖然效率不高。
參考圖2,示出再一個例子,示出在三個網(wǎng)絡(luò)之間使用SIP信令的呼叫建立。始發(fā)于網(wǎng)絡(luò)6(辦公室LAN 1)中的設(shè)備A的呼叫最初經(jīng)因特網(wǎng)7路由選擇到網(wǎng)絡(luò)8(辦公室LAN 2)中的設(shè)備B,然后轉(zhuǎn)發(fā)到網(wǎng)絡(luò)6中的設(shè)備C。當(dāng)呼叫遍歷連接這些網(wǎng)絡(luò)的每個NAT設(shè)備9、10時,丟失有關(guān)前一個網(wǎng)絡(luò)的信息。因此,結(jié)果呼叫耗用所有三個網(wǎng)絡(luò)中的資源。將注意,在圖2中,呼叫的外向和返回路徑示為單個線路。該約定還適用于其他附圖。
已提出一種稱為回退再路由選擇(dropback re-routing)的解決方案,它使用如在SIP RFC3261中定義的“302已暫時移動”響應(yīng)的技術(shù),在這些技術(shù)下,在A和C之間直接建立新呼叫,但是這意味著網(wǎng)絡(luò)中別處的設(shè)備(如設(shè)備B)不再能夠控制呼叫。
本發(fā)明提供一種用于使用多個呼叫代理在通過網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備彼此連接的多個分組交換網(wǎng)絡(luò)中建立呼叫的呼叫建立系統(tǒng),包括執(zhí)行如下步驟的部件向逐個呼叫代理發(fā)送消息,該消息包括在與這些呼叫代理相關(guān)聯(lián)的網(wǎng)絡(luò)內(nèi)的媒體分組的地址信息,定義呼叫的媒體路徑,至少一些消息還包括發(fā)送到參與呼叫建立的前面呼叫代理的媒體分組的地址信息。
該系統(tǒng)使呼叫的媒體路徑能夠利用可能的捷徑,因為呼叫建立確實不僅如現(xiàn)有技術(shù)那樣傳遞在與呼叫建立設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)內(nèi)的媒體分組的地址信息,還傳遞在與先前的呼叫建立設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)內(nèi)的地址信息。由此,如果從第一網(wǎng)絡(luò)到第二網(wǎng)絡(luò)然后返回第一網(wǎng)絡(luò)來建立呼叫,則傳遞的消息會使呼叫的媒體路徑能夠僅對于第一網(wǎng)絡(luò)是本地的,而非如現(xiàn)有技術(shù)那樣遍歷在第二網(wǎng)絡(luò)中的地址。本發(fā)明使相關(guān)聯(lián)的媒體流的路由能夠得以優(yōu)化。耗用不多網(wǎng)絡(luò)資源的呼叫信令可以保留它的原始路徑。
現(xiàn)在將參考附圖以示例形式詳細(xì)地描述根據(jù)本發(fā)明的呼叫建立系統(tǒng),圖中圖3示出根據(jù)本發(fā)明使用修改的SIP信令的呼叫建立;圖4示出應(yīng)用于修改的SIP信令的規(guī)則;圖5示出將修改的SIP信令用于一系列網(wǎng)絡(luò)的呼叫建立,其中呼叫遍歷若干網(wǎng)絡(luò)但是不重進(jìn)入早前的網(wǎng)絡(luò);圖6至8示出將修改的SIP信令用于一系列網(wǎng)絡(luò)的呼叫建立,其中呼叫確實重進(jìn)入早前的網(wǎng)絡(luò);以及圖9示出將修改的SIP信令用于一系列網(wǎng)絡(luò)的呼叫建立,其中呼叫確實重進(jìn)入早前的網(wǎng)絡(luò),但是各種網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備及其控制呼叫代理都是使用未修改的SIP信令的遺留設(shè)備。
圖3中示出所有SIP信令消息,但是僅在下面示出來自消息文本的摘錄??梢詮腎ETF呼叫示例文檔中看到SIP消息的基本格式。
與參考圖1所述的已知SIP信令的例子一樣,網(wǎng)絡(luò)1可以是專用網(wǎng)絡(luò),以及網(wǎng)絡(luò)2可以是因特網(wǎng)。
用戶代理P通過向其本地呼叫代理Q發(fā)送SIP“邀請”消息來發(fā)起呼叫。該消息包含會話描述,指示媒體特征和地址(1.1.1.1),用戶代理P希望在此地址處接收媒體分組。為了方便起見,圖3中僅示出該地址的后兩段和其他地址的后兩段。
典型“邀請”消息的完整文本如下所示,遵循IETF文檔中的標(biāo)準(zhǔn)INVITE sipxxx@uax.middle.com SIP/2.0ViaSIP/2.0/UDP uap.edge.com5060;branch=z9hG4bK74bf9Max-Forwards70FromUserP;tag=9fxced76sl
ToUserXCall-ID3848276298220188511@uap.edge.comCSeq2 INVITEContact<sipppp@uap.edge.comContent-Typeapplication/sdpContent-Length151v=0o=ppps=-c=IN IP4 1.1.1.1t=0 0m=audio 49172 RTP/AVP 0a=rtpmap0PCMU/8000呼叫代理Q以SIP“100嘗試”消息響應(yīng)。
呼叫代理Q確定呼叫的目的地在中央網(wǎng)絡(luò)2中,以及這經(jīng)它控制的NAT設(shè)備R到達(dá)。因此,它打開NAT設(shè)備R中的針孔以允許媒體流從中央網(wǎng)絡(luò)到用戶代理P的媒體地址(1.1.1.1)。然后在發(fā)送到中央網(wǎng)絡(luò)中的呼叫代理S的“邀請”消息中使用由NAT設(shè)備R返回的地址(2.2.2.1)。
INVITE sipxxx@uax.middle.com SIP/2.0ViaSIP/2.0/UDP caq.edge.com5060;branch=298bnsdhj2kaViaSIP/2.0/UDP uap.edge.com5060;branch=z9hG4bK74bf9Max-Forwards69FromUserP;tag=9fxced76slToUserXCall-ID3848276298220188511@uap.edge.comCSeq2 INVITEContact<sipppp@uap.edge.comContent-Typemultipart/mixedBoundary″****part separator****″
Content-Typeapplication/sdpContent-Length151v=0o=ppps=-c=IN IP4 2.2.2.1t=0 0m=audio 5378 RTP/AVP 0a=rtpmap0 PCMU/8000--****part separator****Content-Typeapplication/localswitchstackNetworkIDedge.comv=0o=ppps=-c=IN IP4 1.1.1.1t=0 0m=audio 49172 RTP/AVP 0a=rtpmap0PCMU/8000--****part separator****SIP消息語法要求定義串來分隔消息的各種“附件”。
與典型的SIP“邀請”消息一樣,該消息包含地址“c==IN IP42.2.2.1”,在此地址處,NAT設(shè)備R接收要傳輸?shù)接脩舸鞵的消息。但是,根據(jù)本發(fā)明,呼叫代理Q還將先前的會話描述作為SIP消息的多部分(multipart)附件置于棧結(jié)構(gòu)內(nèi),以及這包含網(wǎng)絡(luò)ID(在此例中為“edge.com”)和邊緣網(wǎng)絡(luò)1中的地址“c=IN IP4 1.1.1.1”,用戶代理P希望在此地址處接收媒體分組。這在圖3中以從呼叫代理Q延伸到呼叫代理S的下行方向上的第一個箭頭示出。該協(xié)議依賴于(NAT設(shè)備之間的)具有可以被該區(qū)域內(nèi)所有呼叫建立設(shè)備識別的全球唯一標(biāo)識符的每個地址區(qū)域。對于SIP,在許多情況中這可以從SIP服務(wù)器的域名導(dǎo)出(如在SIP全球呼叫引用標(biāo)識符中所用的)。
呼叫代理S以“100嘗試”消息響應(yīng)。
呼叫代理S確定用戶X已請求其呼叫應(yīng)轉(zhuǎn)發(fā)到用戶代理V,以及經(jīng)專用網(wǎng)絡(luò)1中的呼叫代理U到達(dá)新目的地。用戶X可以是可經(jīng)因特網(wǎng)訪問的家庭電話號碼,以及該用戶可以已為其呼叫轉(zhuǎn)發(fā)到專用網(wǎng)絡(luò)1中的其辦公室而建立一種布置。因此它傳遞含有更改的URI的“邀請”。但是保留上述的棧結(jié)構(gòu)。
呼叫代理U以“100嘗試”消息響應(yīng)。
呼叫代理U識別出呼叫從不同網(wǎng)絡(luò)經(jīng)它控制的NAT設(shè)備T到達(dá)。它注意到SIP消息包含本地切換棧,并檢查棧中的項的網(wǎng)絡(luò)ID值以查看之前呼叫是否已經(jīng)過本網(wǎng)絡(luò)。在此情況中,它找到關(guān)于它自己的網(wǎng)絡(luò)的項(“edge.com”),并由此在它傳遞的消息中使用來自該棧項的會話描述。因此無需在NAT設(shè)備T中打開針孔。由此發(fā)送到用戶代理V的“邀請”消息僅包含網(wǎng)絡(luò)1中的地址(1.1.1.1),即僅本地地址,而非棧。該“邀請”消息如下所示。
INVITE sipvvv@uav.edge.com SIP/2.0ViaSIP/2.0/UDP cau.edge.com5060;branch=7tfvjyufh67ViaSIP/2.0/UDP cas.middle.com5060;branch=345hg2kuffsViaSIP/2.0/UDP caq.edge.com5060;branch=298bnsdhj2kaViaSIP/2.0/UDP uap.edge.com5060;branch=z9hG4bK74bf9Max-Forwards67FromUserP;tag=9fxced76slToUserXCall-ID3848276298220188511@uap.edge.comCSeq2 INVITEContact<sipppp@uap.edge.comContent-Typeapplication/sdpContent-Length151
v=0o=ppps=-c=IN IP4 1.1.1.1t=0 0m=audio 49172 RTP/AVP 0a=rtpmap0PCMU/8000呼叫現(xiàn)在已到達(dá)它的目的地。用戶代理V以經(jīng)呼叫代理鏈傳遞回主叫的“180振鈴”消息響應(yīng)。
當(dāng)呼叫被應(yīng)答時,用戶代理V向呼叫代理U發(fā)送回“200認(rèn)可”消息。該消息包含會話描述,指示媒體特征和地址(1.4),在此地址處用戶代理V希望接收媒體分組。典型的消息全文會如下所示。
SIP/2.0 200 OKViaSIP/2.0/UDP cau.edge.com5060;branch=7tfvjyufh67ViaSIP/2.0/UDP cas.middle.com5060;branch=345hg2kuffsViaSIP/2.0/UDP caq.edge.com5060;branch=298bnsdhj2kaViaSIP/2.0/UDP uap.edge.com5060;branch=z9hG4bK74bf9FromUserP;tag=9fxced76slToUserXCall-ID3848276298220188511@uap.edge.comCSeq2 INVITEContact<sipvvv@uav.edge.comContent-Typeapplication/sdpContent-Length151v=0o=vvvs=-c=IN IP4 1.1.1.4t=0 0m=audio 45678 RTP/AVP 0
a=rtpmap0PCMU/8000呼叫代理U識別出此消息是針對它為其調(diào)用本地切換功能的呼叫。為了能夠與尚未實施本地切換功能(即使用未修改的SIP信令)的呼叫代理兼容,它構(gòu)造含有由用戶代理V提供的會話描述的副本的棧,并將該“200認(rèn)可”消息發(fā)送到呼叫代理S,呼叫代理S將該“200認(rèn)可”消息傳遞回呼叫代理Q。
呼叫代理Q識別出此呼叫經(jīng)過它控制的NAT設(shè)備R,以及該消息包含本地切換棧。因此,它檢查該棧以查找關(guān)于它自己的網(wǎng)絡(luò)的項。找到匹配項,并從該棧中彈出,即移除并廢棄該棧上所有更高項,使用匹配項作為新的SDP,以及任何余下的較低項留在棧上,從而形成將被傳遞到用戶代理P的SIP消息中的會話描述。因為已調(diào)用本地切換,所以不再需要在處理“邀請”消息期間創(chuàng)建的針孔,并因此將其刪除。
用戶代理P然后通過發(fā)送ACK消息來完成該SIP信令序列。這沿著呼叫代理鏈傳遞到被叫用戶代理。
用戶代理已分別接收到媒體分組應(yīng)該發(fā)往的其本地網(wǎng)絡(luò)內(nèi)的地址。因為已調(diào)用本地切換,所以這是另一用戶代理的地址。將單個本地媒體路徑11用于該業(yè)務(wù)。NAT設(shè)備內(nèi)的所有多余的針孔已被關(guān)閉。
在常規(guī)SIP操作中,NAT控制器重寫SDP(會話描述協(xié)議(RFC2616))地址信息并廢棄進(jìn)入地址。如果呼叫隨后循環(huán)回到始發(fā)網(wǎng)絡(luò)中,則已丟失來自該網(wǎng)絡(luò)的地址信息且無法實施本地連接。根據(jù)本發(fā)明具有本地切換的方案通過將先前的會話描述推入到SIP信令消息中向前載送的棧上來避免信息丟失。當(dāng)呼叫進(jìn)入新網(wǎng)絡(luò)時,掃描該棧以查看是否有由該網(wǎng)絡(luò)先前插入的項。如果找到項且允許本地切換,則將該棧彈出回到該網(wǎng)絡(luò)區(qū)域中的原始狀態(tài)。這意味著將不需要在重進(jìn)入該區(qū)域期間最近分配的針孔,并可以立即將其關(guān)閉。
將認(rèn)識到,本發(fā)明是對SIP的補(bǔ)充,它允許在呼叫遍歷多個NAT設(shè)備的情況中靈活地控制本地切換。應(yīng)該注意,因存在本地切換功能而不更改由用戶代理執(zhí)行的SIP信令,但是媒體路徑已優(yōu)化。該協(xié)議通過控制通過NAT設(shè)備的SIP媒體流的轉(zhuǎn)接的呼叫代理來實施,以及這些可以如在圖3的實施例中是單獨的設(shè)備或如在圖5至圖9的實施例中是被結(jié)合在NAT設(shè)備中。再者,如果需要的話,呼叫代理Q和U可以位于網(wǎng)絡(luò)2中,而非網(wǎng)絡(luò)1中。這在小辦公室邊緣網(wǎng)絡(luò)的情況中是有用的,其中可以使用因特網(wǎng)2中的呼叫代理。這些實施例還可以如在圖9中結(jié)合遺留呼叫建立設(shè)備,以及此類遺留設(shè)備只需要轉(zhuǎn)接由這些呼叫建立設(shè)備生成的附加信息。
雖然上文說明與SIP信令相關(guān),但是該原理可以基于提供/應(yīng)答會話描述擴(kuò)展到其他信令協(xié)議來獲得相同的好處。無論何種信令協(xié)議,(NAT設(shè)備之間的)地址區(qū)域必須具有可以被該區(qū)域內(nèi)所有呼叫建立設(shè)備識別的全球唯一標(biāo)識符。
對于SIP,在許多情況中該標(biāo)識符可以從SIP服務(wù)器的域名導(dǎo)出(如在SIP全球呼叫引用標(biāo)識符中所用的)。SIP使用提供/應(yīng)答協(xié)議(RFC3264)來傳送承載信息。在每個方向上發(fā)送會話描述,指示要使用的媒體信道、地址和編解碼器。NAT控制設(shè)備(如ALG(應(yīng)用級網(wǎng)關(guān)))重寫在會話描述中的地址信息以匹配在它的本地NAT設(shè)備中配置的地址轉(zhuǎn)換。
如果存在要求禁止本地切換的特征,則當(dāng)它們轉(zhuǎn)接消息時,它們應(yīng)該只需刪除該棧。這將強(qiáng)制媒體流通過本地網(wǎng)絡(luò)地址。該方法可以獨立地應(yīng)用于每個方向的會話描述,但是在一些情況中,這會導(dǎo)致對于每個方向使用不同的NAT設(shè)備,并會導(dǎo)致被旁路的針孔仍是打開的。因此,對于反向會話描述修改棧的處理。
現(xiàn)在將參考圖4至圖9進(jìn)一步解釋本發(fā)明。
圖4示出要應(yīng)用于每個呼叫代理的規(guī)則和操作。應(yīng)該按所示的順序檢查規(guī)則,直到找到匹配規(guī)則為止。可以看到,規(guī)則在兩個方向上是相同的,除了規(guī)則1和3將從不應(yīng)用于“提供”消息且無需檢查。當(dāng)在每個NAT設(shè)備處理消息時使用的規(guī)則編號在參考圖5至圖9所述的每個如下實施例中的六邊形中示出。
在圖5至圖9的實施例中,呼叫代理被結(jié)合在NAT設(shè)備中,且未單獨示出。在圖5的實施例中,有由四個NAT設(shè)備17-20連接的五個網(wǎng)絡(luò)12-16。字母A和K表示用戶終端21、22的地址,以及字母B-J表示通過NAT設(shè)備的針孔的地址。所有網(wǎng)絡(luò)都不對超過一對的NAT設(shè)備是公共的。與圖3的實施例一樣,NAT設(shè)備中的呼叫代理將先前的會話描述作為對發(fā)送到每個后續(xù)NAT設(shè)備的SIP“邀請”消息的多部分附件置于棧結(jié)構(gòu)內(nèi)。例如,發(fā)送到NAT設(shè)備18的“邀請”SIP消息包括通過NAT設(shè)備17打開的針孔的地址C,而且還包括用戶終端21在網(wǎng)絡(luò)12中的地址A(參見圖5中第一行箭頭中向右的第二個箭頭)。
雖然向前傳遞先前的會話描述,但是因為沒有公共網(wǎng)絡(luò),所以對于終端21和22之間的媒體路徑?jīng)]有可能的捷徑。僅規(guī)則4適用。將會話描述中接收到的地址發(fā)送到NAT設(shè)備,并在由呼叫代理傳遞的消息中被來自NAT設(shè)備的地址替換。這可以被視為“轉(zhuǎn)換”SDP內(nèi)的地址,以及它必須匹配將由NAT設(shè)備本身對媒體分組執(zhí)行的地址轉(zhuǎn)換。
圖5的實施例是要演示本發(fā)明不破壞遍歷若干網(wǎng)絡(luò)但是不重進(jìn)入早前網(wǎng)絡(luò)的呼叫。
參考圖6的實施例,有由NAT設(shè)備17-20連接的三個網(wǎng)絡(luò)23-25。網(wǎng)絡(luò)23對于NAT設(shè)備17和20是公共的,以及網(wǎng)絡(luò)24對于NAT設(shè)備對17、18和19、20是公共的。
由此,當(dāng)SIP“邀請”消息從網(wǎng)絡(luò)25的呼叫代理傳遞到網(wǎng)絡(luò)24的呼叫代理時,規(guī)則2適用,掃描整個會話描述棧,并以棧中由網(wǎng)絡(luò)24的最早的前面會話描述開頭的部分替換它。由此,棧(G)[E,C,A]被(C)[A]替換。無需針孔重進(jìn)入網(wǎng)絡(luò)24,如圓圈26所示。
同樣地,當(dāng)“邀請”SIP消息傳遞到與重進(jìn)入網(wǎng)絡(luò)23相關(guān)聯(lián)的呼叫建立設(shè)備時,會話描述恢復(fù)到網(wǎng)絡(luò)23的會話描述。規(guī)則2適用,以及地址(J)[C,A]的棧僅被(A)[]替換,并關(guān)閉用于重進(jìn)入?yún)^(qū)域23的針孔。由此建立的呼叫的媒體路徑整體發(fā)生在網(wǎng)絡(luò)23內(nèi),如路徑27。
由于對“認(rèn)可”應(yīng)答消息的規(guī)則3的操作,針孔被關(guān)閉。在應(yīng)答路徑中有多個而不僅僅一個K是由處理規(guī)則1和3得到的,它們復(fù)制棧上的會話描述。為了處理包含未實施本發(fā)明的舊呼叫代理/NAT的網(wǎng)絡(luò)(如圖9),這是必要的。沒有此操作,SDP可能在它經(jīng)過舊呼叫代理時丟失。但是,當(dāng)它未丟失時,該操作在棧上產(chǎn)生該SDP的多個副本。如果呼叫循環(huán)回到先前的網(wǎng)絡(luò)中,則在隨后的處理期間將這些廢棄。
在圖7的實施例中,終端和NAT設(shè)備28-33由網(wǎng)絡(luò)34-36連接,并且結(jié)果媒體路徑具有三個部分37-39。圖7中示出提供/應(yīng)答消息以及當(dāng)在NAT設(shè)備處理消息時可適用的規(guī)則。
圖8的實施例有一個另外的NAT設(shè)備,使得這些終端和NAT設(shè)備表示為40-46,以及仍只有三個網(wǎng)絡(luò)47-49,因為網(wǎng)絡(luò)47對于終端40、46是公共的,所以允許為呼叫最終建立一個本地媒體路徑50。圖8中示出提供/應(yīng)答消息以及當(dāng)在NAT設(shè)備處理消息時可適用的規(guī)則。
會話描述??梢韵蛞恍┻\營商希望保持專用的其他網(wǎng)絡(luò)揭示呼叫的細(xì)節(jié)。因為對棧項的格式的唯一要求是,網(wǎng)絡(luò)可以遍歷棧,并識別它自己的項,所以沒有什么阻止網(wǎng)絡(luò)設(shè)備使用加密來確保它們棧數(shù)據(jù)的保密性?;蛘撸W(wǎng)絡(luò)可以發(fā)送對棧數(shù)據(jù)的引用(URL),如同它在它們的網(wǎng)絡(luò)中出現(xiàn)一樣,以替代會話描述。這要求它們以如下方式保存呼叫狀態(tài)可以由接收引用的任何將來的呼叫在承載信息棧(例如可經(jīng)HTTP(超文本傳輸協(xié)議(RFC 2616))的XML(可擴(kuò)展標(biāo)記語言)文檔)中查詢該呼叫狀態(tài)。但是使用URL將導(dǎo)致在使用該技術(shù)的任何網(wǎng)絡(luò)中的呼叫處理設(shè)備之間的附加信令。
NAT控制器(呼叫代理,如Q、T但非S)以及SIP服務(wù)器已經(jīng)被廣泛地部署,而沒有對本文所述的本地切換技術(shù)的支持。圖9示出此類設(shè)備對本地切換可能有的影響。該實施例與圖8的實施例完全相同,但是逐個線路對示出當(dāng)各種NAT設(shè)備是使用常規(guī)而非修改的SIP信令的遺留設(shè)備時的影響。由此,第一對線路示出當(dāng)NAT設(shè)備41是遺留設(shè)備時的情況。至與網(wǎng)絡(luò)48相關(guān)聯(lián)的呼叫建立設(shè)備的“邀請”消息只需以地址(C)替換地址(A)。示出當(dāng)在NAT設(shè)備處理消息時各種可適用的規(guī)則。
SIP設(shè)備(非NAT控制器)可能不作更改地轉(zhuǎn)接棧信息,或可能刪除該棧信息。如果不作更改地轉(zhuǎn)接該棧,則本地切換將正常運作。如果該棧被刪除,則將強(qiáng)制媒體遍歷包含不兼容設(shè)備的網(wǎng)絡(luò)。不兼容的NAT控制器可以不作更改地轉(zhuǎn)接棧,或可能刪除該棧。假定沒有NAT控制器會嘗試轉(zhuǎn)換它不理解的在SIP消息的部分中的可能的地址字段。如果確實發(fā)生此情況,則其他網(wǎng)絡(luò)可以通過在棧項內(nèi)使用簡單的數(shù)據(jù)置亂來防止該問題。這會以與有關(guān)數(shù)據(jù)隱藏部分中所述的加密技術(shù)相同的方式運作。如果該棧被刪除,則將強(qiáng)制媒體遍歷由該不兼容控制器控制的NAT。如果不作更改轉(zhuǎn)接該棧,則可能在一些區(qū)域中禁止本地切換,以及即使隨后不使用針孔,它們?nèi)钥赡鼙3执蜷_。
在圖9中的所有情況中,都建立雙向媒體流,但是并不總是找到最優(yōu)本地切換路徑,以及未關(guān)閉一些未使用的針孔。
權(quán)利要求
1.一種用于使用多個呼叫代理在通過網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備彼此連接的多個分組交換網(wǎng)絡(luò)中建立呼叫的呼叫建立系統(tǒng),包括執(zhí)行如下步驟的部件向逐個呼叫代理發(fā)送消息,所述消息包括在與所述呼叫代理相關(guān)聯(lián)的網(wǎng)絡(luò)內(nèi)的媒體分組的地址信息,定義所述呼叫的媒體路徑,至少一些所述消息還包括發(fā)送到參與所述呼叫建立的前面呼叫代理的媒體分組的地址信息。
2.如權(quán)利要求1所述的呼叫建立系統(tǒng),其中至少一些所述呼叫代理安排為掃描接收到的呼叫建立消息,以查明所述地址信息是否包括關(guān)于所述相關(guān)聯(lián)的網(wǎng)絡(luò)且向前面呼叫代理發(fā)送過的項。
3.如權(quán)利要求2所述的呼叫建立系統(tǒng),其中每個所述呼叫代理安排為使所述地址信息恢復(fù)到由所述前面呼叫代理產(chǎn)生的形式,使最終的媒體路徑能夠成為捷徑。
4.如權(quán)利要求2或權(quán)利要求3所述的呼叫建立系統(tǒng),其中關(guān)閉用于重進(jìn)入網(wǎng)絡(luò)的通過NAT設(shè)備打開的媒體路徑。
5.如權(quán)利要求1至4中任何一項所述的呼叫建立系統(tǒng),其中至少一些所述消息包括會話描述。
6.如權(quán)利要求1至4中任何一項所述的呼叫建立系統(tǒng),其中至少一些所述消息包括加密的地址信息。
7.如權(quán)利要求1至4中任何一項所述的呼叫建立系統(tǒng),其中至少一些所述消息包括對存儲在所述網(wǎng)絡(luò)內(nèi)的地址信息的引用。
8.如權(quán)利要求1至4中任何一項所述的呼叫建立系統(tǒng),其中至少一些所述消息包括所述媒體分組要遍歷的網(wǎng)絡(luò)的標(biāo)識符。
9.如權(quán)利要求8所述的呼叫建立系統(tǒng),其中每個網(wǎng)絡(luò)具有全球唯一標(biāo)識符。
10.如權(quán)利要求1至9中任何一項所述的呼叫建立系統(tǒng),其中所述呼叫代理使用提供/應(yīng)答協(xié)議。
11.如權(quán)利要求10所述的呼叫建立系統(tǒng),其中所述提供/應(yīng)答協(xié)議是會話發(fā)起協(xié)議(SIP)。
12.如權(quán)利要求11所述的呼叫建立系統(tǒng),其中發(fā)送到呼叫代理的媒體分組的地址信息作為所述SIP消息的多部分附件被包含在棧結(jié)構(gòu)內(nèi)。
13.如權(quán)利要求12所述的呼叫建立系統(tǒng),其中如果消息棧包含關(guān)于通過提供或應(yīng)答消息進(jìn)入的區(qū)域的項,則掃描整個所述棧直到最深的匹配項變成新的會話描述為止。
14.如權(quán)利要求13所述的呼叫建立系統(tǒng),其中關(guān)閉在NAT設(shè)備中打開以進(jìn)入通過所述提供或應(yīng)答消息進(jìn)入的區(qū)域的任何針孔。
15.如權(quán)利要求12至14中任何一項所述的呼叫建立,其中如果消息棧沒有關(guān)于通過所述應(yīng)答消息留下的區(qū)域的項,則關(guān)閉NAT設(shè)備中通往所述區(qū)域的任何針孔。
16.如權(quán)利要求1至15中任何一項所述的呼叫建立設(shè)備,其中所述呼叫代理安排為控制所述NAT設(shè)備。
17.如權(quán)利要求1至16中任何一項所述的呼叫建立系統(tǒng),其中所述呼叫代理被結(jié)合在所述NAT設(shè)備中。
18.如權(quán)利要求1至17中任何一項所述的呼叫建立系統(tǒng),其中至少一個所述網(wǎng)絡(luò)是3G無線電網(wǎng)絡(luò)。
19.一種用于使用多個呼叫代理在通過網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備彼此連接的多個分組交換網(wǎng)絡(luò)中建立呼叫的呼叫建立方法,所述方法包括如下步驟向逐個呼叫代理發(fā)送消息,所述消息包括在與所述呼叫代理相關(guān)聯(lián)的網(wǎng)絡(luò)內(nèi)的媒體分組的地址信息,定義所述呼叫的媒體路徑,至少一些所述消息還包括發(fā)送到參與所述呼叫建立的前面呼叫代理的媒體分組的地址信息。
全文摘要
一種呼叫建立系統(tǒng)使用呼叫代理Q、S和U通過多個分組交換網(wǎng)絡(luò)1、2在例如終端P和V之間建立可以是語音呼叫的呼叫,其中多個分組交換網(wǎng)絡(luò)1、2通過網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備R、T互連。至逐個呼叫代理的消息包括當(dāng)已建立呼叫時在相關(guān)聯(lián)的網(wǎng)絡(luò)中的呼叫的實際數(shù)據(jù)分組的媒體地址。可以是,例如呼叫信令從與網(wǎng)絡(luò)1相關(guān)聯(lián)的呼叫代理Q傳遞到與網(wǎng)絡(luò)2相關(guān)聯(lián)的呼叫代理S,然后傳遞到再次與網(wǎng)絡(luò)1相關(guān)聯(lián)的呼叫代理U,因為網(wǎng)絡(luò)2(可以是因特網(wǎng))中的用戶將其呼叫重定向回可以是專用網(wǎng)絡(luò)的網(wǎng)絡(luò)1中的終端(V)。在目前的會話發(fā)起協(xié)議(SIP)下,由S傳遞到U的呼叫建立消息僅包括網(wǎng)絡(luò)2中的地址(2.1),以及U會將網(wǎng)絡(luò)1中的地址(1.3)發(fā)送到終端V,強(qiáng)制媒體路徑遍歷NAT設(shè)備R和T。利用可以是SIP修改版的本發(fā)明的修改的信令,呼叫建立消息還包括發(fā)送到至少一些前面呼叫代理的媒體地址,由此S將(2.1)[1.1]傳遞到U,這樣使U能夠向V提供對于它的網(wǎng)絡(luò)1是本地的媒體地址(1.1),從而能夠節(jié)省NAT資源。呼叫代理Q、S、U可以被結(jié)合到NAT設(shè)備中,媒體地址可以被加密或采取引用的形式。
文檔編號H04L29/12GK1902889SQ200480039865
公開日2007年1月24日 申請日期2004年11月5日 優(yōu)先權(quán)日2003年11月8日
發(fā)明者J·A·艾倫 申請人:馬科尼英國知識產(chǎn)權(quán)有限公司