專利名稱:用于防火墻穿越的設備和方法
用于防火墻穿越的設備和方法
交叉引用
本申請涉及2003年9月8日提出的美國專利申請系列號 NO.10/657,813,其與本申請一起凈皮轉讓給同一受讓人,并以此全文結合 與此作為參考。
背景技術:
譬如那些用于企業(yè)和家庭網(wǎng)絡的防火墻、網(wǎng)絡地址轉換(NAT)、 以及網(wǎng)絡地址端口轉換(NAPT)設備,通常是基于阻止來自外部源端的 請求的數(shù)據(jù)安全模式。具體而言,從由受設備所保護的網(wǎng)絡(例如,從 該設備的專用側)接收的數(shù)據(jù)請求通常被提供服務,但是該受保護的網(wǎng) 絡外部的請求(例如,來自該設備的公共側)被阻塞。由于假定有效的 數(shù)據(jù)請求是從受保護的網(wǎng)絡的內部發(fā)起的,并且包含容易利用的地址信 息,這不是問題。
因此,這些設備對某些類型的請求和消息i殳立了屏障,包括外部發(fā) 起的具有內埋地址信息的請求和消息,比如那些被某些對等通信和媒體 應用(例如,因特網(wǎng)協(xié)議語音(VoIP))所使用的請求和消息。防火墻 和NAT/NAPT設備可能不僅僅阻塞VoIP連接和類似業(yè)務,而且還可能 向服務提供商摒棄端對端分布VoIP的能力,并且防止服務提供商監(jiān)控、 升級或者重新配置位于這些設備的專用側的設備(例如,IP電話)。
因此,所需要的是一種用于解決這種問題的設備和方法。
圖l是用于穿越防火墻設備的方法的實施例的流程圖。 圖2是其內可以實現(xiàn)圖1的方法的網(wǎng),系結構的一個實施例圖。 圖3是可以在圖2的網(wǎng),系結構內發(fā)生的數(shù)據(jù)流的一個實施例的 序列圖。
圖4是可以在圖2的網(wǎng),系結構內發(fā)生的數(shù)據(jù)流的另一個實施例
的序列圖。
具體實施例方式
^/〉開涉及通信,尤其涉及用于穿越防火墻的設備和方法。然而, 應當理解的是,以下的公開提供了許多不同的實施例或實例。為了簡化 ^/>開,下面描述組件和設備的特定實例。當然,這些僅僅是實例并且 不意欲受到限制。另外,本公開在各個實例中可以重復附圖標記和/或字 母。這種重復是為了簡單明了起見,并且在本質上不指明所討論的各種 實施例和/或配置之間的關系。
參考圖1,在一個實施例中,方法IOO可以被用于穿越防火墻設備
以維持被防火墻設備分離的兩個設備(例如,IP電話和寄存器)之間的 注冊。為了方便起見,在此使用的"防火墻設備"這一術語包括提供防火
墻功能的設備,以及具有網(wǎng)絡地址轉換(NAT)和/或網(wǎng)絡地址端口轉換 (NAPT)功能的設備。在之前結合的美國專利申請系列號No,10/657,831 中提供了 NAT和NAPT功能更為詳細的討論。如同稍后以特定實例更 詳細的描述地那樣,方法100可以通過包含在防火墻i殳備內,分離的設 備內,或者跨越多個設備分布的硬件和/軟件來執(zhí)行。
盡管下面的描述涉及基于會話發(fā)起協(xié)議(SIP)的消息收發(fā),應當 理解的是,各種實施例可應用于其它協(xié)議,比如MEGACO, H.323,以 及MGCP。此外,可以使用包括音頻、視頻和傳真的各種媒體類型。
在該實例中,應當理解的是,IP電話之前已經(jīng)向寄存器注冊,并且 注冊消息(例如, 一個或多個分組或數(shù)據(jù)^L)將要更新或保持現(xiàn)有的注 冊,而不是獲得原始注冊。如果該注冊消息不是在由寄存器定義的超時 周期(例如,3600秒)內發(fā)送的,則IP電話的注冊將截止。然而,防火 墻設備可以利用與該寄存器不同的超時周期(例如,30秒),并且如果 IP電話將其注冊請求的頻率基于寄存器的超時周期,可以關閉IP電話和 寄存器之間的連接。由于沒有呼叫可以由其穿過防火墻設備的開放連接 存在,這將阻止外部呼叫到達IP電話。盡管可以基于防火墻設備的超時 周期發(fā)送注冊消息,增加的注冊業(yè)務可能消極地影響寄存器。因此,可 以使用方法100保持防火墻設備暫停該連接,并維持IP電話與寄存器的 注冊,而不會將注冊請求消息溢出寄存器。
在步驟102,從IP電話發(fā)送到寄存器的注冊消息在被寄存器接收之
前被截取。該注冊消息可以是;陂一個設備用來通知另一i殳備其仍然是活 動的任何消息。應該理解的是,"截取"這一術語僅^明該消息在到達 寄存器之前停止,并且任何數(shù)量的設備(包括截取設備)可以被置于IP 電話和寄存器之間。那么,該截取設備可以合法地接收該消息作為IP電 話和寄存器之間的路徑的一部分。
在步驟104,作出關于是否正是基于由寄存器設立的超時周期更新 注冊的時候的確定。如果正是更新注冊的時候,方法100繼續(xù)到步驟106 并且將注冊消息轉發(fā)到寄存器。(應該指出的是,如果注冊消息意欲建 立與寄存器的IP電話的原始注冊,該方法可以繼續(xù)到步驟106,但是可 以轉發(fā)該消息,而不作出是否正是更新時候的任何確定)。如同稍后描 述的,由于該消息是從IP電話傳遞到寄存器的,可以對源和/或目的地 址進行各種修正。
在步驟108和110,寄存器對注冊請求的響應消息被截取,并且響 應消息中的截止時間(例如,截止字段)從由寄存器定義的超時周期被 修正為替代的超時周期(例如,比防火墻設備的超時周期更小的超時周 期)。在步驟112,修正的消息被轉發(fā)到IP電話。
返回到步驟104,如果不是更新注冊的時候,該方法繼續(xù)到步驟114, 在此包括替代超時周期的替代響應消息被發(fā)送到IP電話。在這種情況下, 盡管注冊消息沒有被轉發(fā)到寄存器,IP電話假定替代響應消息是來自寄 存器的有效消息。因此,利用方法IOO, —個或多個對等或多媒體業(yè)^ft 道可以保持打開,同時當將需要由網(wǎng)絡處理的消息數(shù)量降至最小。此外, 如同下面參照圖2描述的,可以在不需要改變用戶的網(wǎng)絡設備的情況下 實現(xiàn)方法100。
參考圖2,網(wǎng)絡體系結構200舉例說明了其中可以實現(xiàn)圖1的方法 IOO的環(huán)境的一個實施例。防火墻設備202將專用網(wǎng)絡,比如家庭網(wǎng)絡從 公共網(wǎng)絡204分離。例如,防火墻設備202可以是比如具有防火墻、NAT 和/或NAPT能力的電纜或數(shù)字用戶線(DSL)路由器的邊緣設備。這種 路由器可以由專用和公共網(wǎng)^間的家庭網(wǎng)絡的所有者來安裝,以便為 諸如IP電話206、經(jīng)由模擬電話適配器(TA) 208與防火墻設備202耦 合的模擬電話207,以及計算機209的各種設備提供到公共網(wǎng)絡204的接
入。如同所舉例說明的,公共網(wǎng)絡204可以與包括寄存器210和IP電話 212的各種組件耦合。
防火墻設備202典型地被配置用于從專用網(wǎng)絡發(fā)起的請求/響應業(yè) 務,但是對于諸如VoIP的對等業(yè)務會出現(xiàn)問題。例如,如果防火墻設備 202包括NAPT功能,當進入的語音呼叫來自防火墻設備的公共側上的 電話時,比如來自IP電話212的VoIP呼叫,被放置到防火墻i殳備的專 用側上的IP電話206時, 一個問題涉及NAPT表格條目。通常,在防火 墻設備202接收從專用網(wǎng)絡始發(fā)的請求之后,創(chuàng)建表格條目以跟蹤源地 址,并且該條目允許對該請求的響應返回到用戶。在VoIP中,當防火墻 設備202接收來自網(wǎng)絡的公共側的消息并比較目的地址時,在該目的地 址處,請求分組需要去對照該表格,沒有條目并且消息將被丟棄。入站 媒介業(yè)務將具有相同的問題,
另一個問題隨著信令分組,比如那些用于會話發(fā)起協(xié)議(SIP)消 息JJUC的信令分組中出現(xiàn)的專用地址時產(chǎn)生。專用網(wǎng)絡內發(fā)起的信令分 組包含專用IP地址。公共IP網(wǎng)絡上的路由器不負責路由預定用于專用 IP網(wǎng)絡的專用IP地址的分組。另外,用于實時傳輸協(xié)議(RTP)媒體流 的地址被內埋在信令分組的凈荷中。防火墻202不可能看到這些地址并 且不能使自己允許來自外部電話212的業(yè)務。因此需要攜帶語音呼叫的 RTP流將不被允i午通過防火墻i殳備202。
作為對這些問題的解決方案,會話控制器214被置于防火墻設備202 的公共側,并且被用作來自專用網(wǎng)絡的出站業(yè)務的代理。在之前結合的 美國專利申請系列號No. 10/657,813中更詳細地描述了M控制器214 的一個實例。盡管以單個、分離的設備示出,應當理解的是,由M控 制器214提供的功能可以在多個組件之間分布,并且在某些實施例中可 以完全去掉會話控制器。如同下文將描述的,會話控制器214維持一個 開放的信道,以使得從公共網(wǎng)絡204發(fā)起的消息能夠到達專用網(wǎng)絡內的 設備。例如,由于由會話控制器214提供的功能,可能被防火墻設備202 阻塞的由IP電話212發(fā)起的呼叫可以穿過防火墻設備,并到達IP電話 206。
為了解釋說明的目的,盡管涉及IP電話206和/或TA 208的電話呼 叫通常用于下列實例,應當理解的是,該公開同樣應用于其它類型的通
信和^^體^套,并且可以包括除了或者代替IP電話206和TA 208的計 算機209。此外,在與防火墻設備202、會話控制器214和寄存器210交 互作用的方面,IP電話206和TA 208可以包括類似的功能,并且利用 IP電話和TA其中一個的實例可以同樣應用到其它實例。
另外參考圖3,序列圖300提供了在圖2的網(wǎng),系結構200的各 個組件之間的呼叫流的一個實施例。在所示的序列之前,應當理解的是 可能發(fā)生某些動作。例如,IP電話206可以在初始化期間完成引導序列, 并且該引導序列可以給IP電話分配其IP地址并通知IP電話其它信息, 比如^控制器214的IP地址用作出站代理。
呼叫流中涉及的組件包括防火墻設備202、 IP電話206、寄存器210 和會活控制器214。為了示例的目的,利用SIP說明序列圖300, SIP依 賴于用于會活描述的會話描述協(xié)議(SDP)和用于傳輸?shù)腞TP。因此, 使用信令信道和媒體傳輸信道兩種信道,IP電話206和會話控制器214 均具有分配^fT令信道的一個端口以及分配g體信道的另一個端口 。 為了示例的目的,IP電話206具有內部(例如,在專用網(wǎng)絡內)IP地址 10.1.1.10,端口 8766被分配用于媒體,而端口 5060被分配用于信令。防 火墻"^殳備202具有內部IP地址10.1,1.1 (以^M目關端口 )和外部(例如, 專用網(wǎng)絡之外)IP地址65.119.52.2,外部端口 9101 (在本實例中將分配 g體信道),以及另一個外部端口 9500 (用于信令信道)。應當理解 的是,端口 9500表示可以由防火墻設備202分配^fT4^ff道的任何端口 -^t控制器214包括一個IP地址(可訪問防火墻+殳備202 )216.206.79.2, 內部端口 10000用于媒體,而內部端口 5060用于信令,以及外部端口 10002用于媒體,而外部端口 5000用于信令。
在步驟302, IP電話206經(jīng)由防火墻設備202發(fā)送注冊消息(例如, SIP REGISTER消息)到M控制器214。在步驟302,當由IP電話206 發(fā)送時,該消息包括作為源地址的IP電話的內部地址,以及作為目的地 址的會話控制器214的地址(Dst: 216.206.79.2:5060; Src:10.1.1.10:5060 )。 在步驟304,防火墻設備202接收來自IP電話206的消息,分S^〉共IP 地址和端口,并在傳遞該消息到^控制器214之前,將源信息修改為 分配的/〉共IP地址和端口的源信息(Dst: 216.206.79.2: 5060; Src: 65.119.52.2:9500)。在步驟306, 一旦接收到注冊消息,會話控制器206
查明由防火墻設備202分配的公共IP地址和端口 ,并利用自身作為源地 址,將該消息轉發(fā)到寄存器210。在步驟308,在鑒權(以及任何其它活 動)之后,寄存器210以接受消息(例如,200 OK消息)響應會活控制 器214。在步驟310和312,接受消息經(jīng)由防火墻設備202返回到IP電 話206,由于消息通過會活控制器214和防火墻i殳備202,目的地址被^務 正。更具體的,目的地址被會話控制器214從M控制器的外部信令地 址/端口 ( Dst:216.206.79.2:5000 )修正為防火墻^殳備的外部信令地址/端 口 (Dst:65.119.52.2:9500),并且再次被防火墻設備202從防火墻設備 的外部信令地址/端口 (Dst:65.119.52.2:9500)修正為IP電話的信令地址 /端口 (Dst:10.1.1.10:5060)。會話控制器214還將源地址從寄存器210 的源地址變更到會話控制器的源地址(Src:寄存器地址端口到 Src:216.206.79.2: 5060)。
此刻,在序列圖300中,利用所建立的信令信道,寄存器210已知 IP電話206 (其具有對會話控制器上的地址和端口的當前注冊),并且 可以引導電話呼叫從外部電話(例如,IP電話212)到IP電話206。在 該實例中,在某段時間周期逝去之后,防火墻設備202和寄存器210都 被配置成超時。為了解釋說明的目的,如果在30秒內防火墻設備202沒 有檢測到活動,其將關閉連接。然而,在3600秒內沒有接收注冊消息或 其它更新消息后,該寄存器被配置成暫停IP電話的注冊。因此,防火墻 設備202將在寄存器210之前超時,但是利用防火墻設備30秒的超時周 期可能以業(yè)務淹沒寄存器,特別是,如果多個i更備基于30秒間隔重復地 注冊。
盡管圖3中未詳細示出,會話控制器214可以執(zhí)行諸如圖1的方法 IOO的方法,以如下控制用于發(fā)送到IP電話206的消息的超時周期。這 例如可能發(fā)生在重復圖3的步驟302-312的某些或全部時。
再次參照圖1,在步驟102,從IP電話206發(fā)送到寄存器的注冊消 息在其被寄存器接收之前被截取。在步驟104,作出關于是否正是基于由 寄存器設立的3600秒的超時周期,更新注冊的時候的確定。例如, 控制器214可以計算出其是否在由寄存器210設置的3600秒的截止之前, 從IP電話206接收另一注冊消息。如果正是更新該注冊的時候,方法100 繼續(xù)到步驟106,并且將注冊消息轉發(fā)到寄存器。在步驟108和110,由
會話控制器214接收寄存器對注冊請求的響應消息,并且響應消息中的 截止時間(例如,截止字段)從由寄存器定義的3600秒超時周期被修正 為基于由防火墻定義的30秒超時周期的超時周期。例如,經(jīng)修正的超時 周期可以等于防火墻i殳備的超時周期,或者比防火墻設備的超時周期更 短。在步驟112,經(jīng)修正的消息經(jīng)由防火墻設備202轉發(fā)到IP電話。IP 電話206假定寄存器210想要IP電話每30秒更新其注冊,并因此將注 冊請求發(fā)送出去。
返回到步驟104,如果不是更新注冊的時候,該方法繼續(xù)到步驟114 (并跳過圖3的步驟306和308),在此包括替代的30秒超時周期的替 代響應消息M送到IP電話。在這種情況下,盡管注冊消息沒有轉發(fā)到 寄存器,IP電話假定替代的響應消息為來自寄存器的有效消息。因此, 會話控制器214可以控制被IP電話212使用的超時周期,以阻止防火墻 設備202暫停連接,并且還可以將由寄存器210接收的注冊消息的數(shù)量 降至最小。這就使得IP電話206和寄存器210之間的綁定保持無限的活 性。
再次參考圖3,在步驟314,請求建立媒體信道的進入呼叫(例如, INVITE消息)可由會話控制器214從外部源,比如IP電話212接收。 在步驟316 ,會話控制器將該消息轉發(fā)到防火墻設備202
(Dst:65.119.52.2:9500; Src:216.206.79.2:5060),并且在步驟318,該 消息經(jīng)由注冊期間為信令信道建立的地址和端口組合,從防火墻設備202
(Dst:10.1.1.10:5060; Src:216.206.79.2:5060 )到達IP電話206。在步驟 320、 322和324,諸如200 OK消息的響應消息,可以從IP電話206返 回到IP電話212。隨后防火墻設備202可以為d^體信道分配一個端口(例 如,端口9101),其被會話控制器214查明并用于維持所建立的會話。 如步驟326、 328和330所示,IP電話206隨后可以使用所建立的媒體信 道經(jīng)由RTP發(fā)送話音數(shù)據(jù),并可以如步驟332、 334和336所示接收話 音數(shù)據(jù)。
盡管沒有示出, 一旦接收到呼叫結束終止符(例如,BYE消息), 會活控制器214可以關閉媒體信道。當防火墻設備202超時時,其^ 將關閉針孑U pinhole )。如果IP電話發(fā)送出一個請求消息(例如,INVITE ), 或者另一個請求消息被會話控制器214接收,則隨后可以建立新的媒體
信道。應當理解的是,如上所述,之前建立的信令信道可以保持開放。
在該實例中,利用對稱的RTP建立IP電話呼叫。這就意味著動態(tài) 分配的用戶數(shù)據(jù)報協(xié)議(UDP)端口和地址被用于發(fā)送出站分組,并且 出站分組包含入站分組定位IP電話所需的地址信息。因此,當建立呼叫 時,會活控制器214首先查明信^Ht道信息(例如,地址和端口 ),并 隨后查明媒體信道信息。由于會話控制器214已知由防火墻設備202分 配給IP電話206的公共IP地址和信令端口 ,其可以轉發(fā)進入的信令消 息到適當?shù)腎P地址和端口。另外,由于會話控制器214已知由防火墻設 備202分配給IP電話206的公共IP地址和媒體端口 ,其可以轉發(fā)i^ 的媒體消息到適當?shù)腎P地址和端口 。盡管防火墻設備202可以保持信令 信道無限期的開放,會話控制器214通過不公布防火墻的地址或開放端 口 (以及改為發(fā)送會話控制器的地址/端口到IP電話212 )提供了安全層。
現(xiàn)在參照圖4,序列圖400提供了圖2的網(wǎng)絡體系結構200的各種 組件之間的呼叫流的另一個實施例。在示出的序列圖之前,應當理解的 是可能發(fā)生某些活動。例如,IP電話206可以在初始化期間完成引導序 列,并且該引導序列可以給IP電話分配其IP地址,并通知IP電話其它 信息,比如會話控制器214的IP地址。本實例可以與對稱RTP—起<吏 用(例如,利用不同的發(fā)送和接收端口 )。
如圖3所示,組件包括防火墻設備202、 IP電話206、寄存器210 和M控制器214。如同之前描述的,同時使用信令信道和媒體傳輸信道, 其中IP電話206和M控制器214均具有分配^ff^Ht道的一個端口以 及分配g體信道的另一個端口 。為了示例的目的,IP電話206具有內 部(例如專用網(wǎng)絡內)IP地址lO丄l.lO,端口 8766被分配用于媒體,而 端口 5060被分配用于信令。防火墻設備202具有內部IP地址10.1.1.1 (以 及相關端口 )和外部(例如專用網(wǎng)絡外)IP地址65.119.52.2,外部端口 9101 (其在本實例中將被分配g體信道),以及另 一外部端口 9500 (對 于信令信道)。會話控制器214包括一個IP地址(可訪問防火墻設備202 ) 216.206.79.2,內部端口 10000用于媒體以及內部端口 5060用于信令,以 及外部端口 10002用于媒體和外部端口 5000用于信令,
在步驟402, IP電話206經(jīng)由防火墻設備202發(fā)送注冊消息(例如, SIP REGISTER消息)到會活控制器214。在步驟402,當由IP電話206發(fā)送時,該消息包括作為源地址的IP電話的內部地址和作為目的地址的
會話控制器214的地址(Dst: 216.206.79.2: 5060; Src:10.1.1.10: 5060)。 在步驟404,防火墻設備202接收來自IP電話206的消息,分配/>共IP 地址和端口,并在傳遞該消息到會話控制器214之前,將源地址《務改為 所分配的/>共IP地址和端口的源地址(Dst: 216.206.79.2: 5060; Src:65.119.52.2: 9500)。在步驟406, 一旦接收到注冊消息,會話控制 器206就查明由防火墻^L備202分配的7>共IP地址和端口 ,并利用其自 身作為源地址,轉發(fā)該消息到寄存器210。在步驟408,在鑒權(和任何 其它活動)后,寄存器210以接受消息(例如,200 OK消息)響應^" 控制器214。在步驟410和412,該接受消息經(jīng)由防火墻設備202返回到 IP電話206,由于消息是從會話控制器214和防火墻設備202傳遞的, 目的地址被修正。更具體的,目的地址被會話控制器214從會話控制器 的外部信令地址/端口 (Dst: 216.206.79.2: 5000)修正為防火墻設備的 外部信令地址/端口 (Dst: 65.199.52.2: 9500),并再次由防火墻i更備202 從防火墻設備的外部信令地址/端口 (Dst: 65.119.52.2: 9500)修正為IP 電話的信令地址/端口 (Dst: 10.1.1.10: 5060) 。 ^t控制器214還將源 地址從寄存器210的源地址更改為會話控制器的源地址(Src:寄存器地 址端口到Src: 216.206.79.2: 5060)。
此刻,在序列圖400中,寄存器210已知IP電話206 (其具有當前 注冊)并且可以從外部電話(例如,IP電話212)引導電話呼叫到代表 IP電話206的會話控制器214。如同參照圖3描述的,在某段時間周期 逝去之后(例如,分別為30和3600秒),防火墻設備202和寄存器210 被配置成超時。因此,可以如前描述一樣,使用諸如圖1的方法100的 處理,以維持IP電話206和寄存器210之間的綁定。
在步驟414,可以由會話控制器214從諸如IP電話212的外部源接 收進入的呼叫(例如,INVITE消息)。在步驟416,會話控制器轉發(fā)該 消息到防火墻設備202,并且在步驟418,該消息到達IP電話206。在步 驟420和422,諸如200 OK消息的響應消息可以從IP電話206返回到 會話控制器214。然而,在步驟424和426,會話控制器214發(fā)送定錨請 求信息到IP電話,而不是轉發(fā)200 OK消息到IP電話212。如同在之前 結合的美國專利申請系列號No. 10/657,813中詳細描述的,定錨請求可以
是通過信^HT道發(fā)送的被封裝的請求,以從防火墻設備202的專用網(wǎng)絡 側開放通信信道。在步踝428和430, 一旦接收到定錨請求,1P電話206 將請求解封裝,并將其發(fā)送返回作為定錨響應。該請求詢問防火墻設備 202以在IP電話206和會話控制器214之間開放媒體信道。
從防火墻的角度來看,該請求是從防火墻設備202的專用側接收的 (即使其是由會話控制器214發(fā)起的)。因此,防火墻設備將為媒體信 道分配端口 ,好象請求實際上是由IP電話206 ^的。在某些實施例中, IP電話206可能需要另外的指令(比如軟件客戶)以便處理定錨請求。
在步驟432, 一旦在IP電話206和會話控制器214之間建立了定錨, 會話控制器轉發(fā)200 OK消息(在步驟422接收)到IP電話212。由于 有了定錨,RTP分組可以被非對稱地發(fā)送到IP電話206 (在步驟434、 436和438),而不需要IP電話206發(fā)送第一RTP分組。在步驟440、 442和444,由IP電話206發(fā)送的RTP分組被分別發(fā)送到防火墻設備202、 會話控制器214和IP電話212。
在另一個實施例中,可以使用SIP NOTIFY請求來保持信道活動 (而不是圖3和4中使用的REGISTER消息)。例如,會話控制器214 (圖2)可以經(jīng)由防火墻設備202從IP電話206接收REGISTER請求。 如同之前描述的,會話控制器214將查明防火墻設備對通過UDP建立的 信令信道的綁定,會話控制器214隨后經(jīng)由在REGISTER請求期間查明 的地址/端口 ,發(fā)送NOTIFY請求到IP電話206。 NOTIFY請求將在預 定時間周期(例如,比防火墻設備202的超時周期更小的時間周期)逝 去之后發(fā)送,并且IP電話206將以"200 OK"響應對NOTIFY請求作出 響應。如同與之前描述的依賴于REGISTER消息的方法相反的,當前的 方法不需要IP電話206重復地REGISTER以防止防火墻設備202暫停 信令信道。取而代之的是,會話控制器214通過生成每個NOTIFY請求 并將其發(fā)送到IP電話206,在保持信令信道活性中充當積極的角色。
在另一個實施例中,發(fā)現(xiàn)防火墻設備202的超時周期(例如,綁定 壽命)可以如同以下利用諸如與模擬電話207連接的TA 208的設備來完 成。TA可以發(fā)送注冊清求到會話控制器214,會話控制器214從該請求 中查明防火墻設備的地址/端口,并隨后等待預定的時間周期(T秒)。 在周期截止后,TA從不同的插口 (例如,地址/或端口 )發(fā)送綁定請求(例如,SIP OPTIONS消息)到會話控制器214。會話控制器214被配 置成將對綁定請求的響應發(fā)送回從原始寄存器請求查明的地址。如果TA 在特定端口 (例如,端口 5060)接收到該響應,那么綁定壽^t沒置為 T秒。如果沒有接收到響應,那么在開始并發(fā)送另一個注冊請求之前, 超時已經(jīng)發(fā)生并且T被減小(例如,T-T-5)。如果T被減小到其等于 預定最小值(例如,T-10秒),那么該處理可以停止。
在另一個實施例中,諸如TA 208的設備可以如下處理話音激活檢 測(VAD)以及靜默抑制,以防止由于業(yè)務的缺乏(例如,如果有人偵 聽會議電話但是沒有說話)而使連接終止。TA可以基于之前描述的防火 墻設備202的綁定發(fā)現(xiàn)壽命,通過RTP/RTCP信itiC送合成的周期分組 (例如,RTP或RTCP分組)。一^R接收到該分組,會話控制器214將 例如基于該分組內的專有字符串來過濾該分組,這就使得連接保持活性 而不讓不需要的分組通過^"控制器214。
在再一個實施例中,由防火墻設備202描繪的專用網(wǎng)絡外的服務提 供商或其他外部用戶可以執(zhí)行監(jiān)視、重新配置、升級、服務質量檢查以 及專用網(wǎng)絡內的類似功能。盡管防火墻設備通常會拒絕從公共網(wǎng)絡204 發(fā)起的分組,在IP電話206和會話控制器214之間建立的現(xiàn)有通信信道 能夠使得服務提供商利用會話控制器用于外部發(fā)起的請求。
例如,可以利用諸如簡單網(wǎng)絡管理協(xié)議(SNMP)的支持協(xié)i義發(fā)送 狀態(tài)和告警信息。SNMP消息可以被封裝到SIP消息主體內,并利用IP 電話206/TA 208和會話控制器214之間的現(xiàn)有呼叫信itiC送到IP電話 206或TA 208。要注意的是,端點標識符(例如,TA序列號和/或媒體 接入控制(MAC)地址)可以被用于校驗被查詢的設備是正確的設備。
在另一個實施例中,本^〉開內容可以在專用網(wǎng)絡中為諸如服務提供 商的外部用戶提供設備的ping能力。在該實施例中,會話控制器214和 設備206、 208和209的一個或多個之間的現(xiàn)有通信信道可以被用于接收 和發(fā)送ping請求。該ping請求例如可以被封裝到SIP消息中。
在再一個實施例中,本公開可以提供服務質量(QoS)功能。例如, 為了測量現(xiàn)有連接中的往返行程延遲,可以經(jīng)由建立的RTCP信道如下 發(fā)送RTCP分組。QoS分組可以是打上時間標記的并且通過RTCP信道 發(fā)送。端點(例如,設備206、 208、 209的其中之一)可以接收分組并
將其轉發(fā)回會話控制器214,會話控制器14基于接收分組時的時間和包 括在分組內的時間標記值之間的差值來計算延遲。附加的QoS功能包括 利用序列號檢測不同步的分組,以及記錄最小、最大和平均到達之間時 間(inter-arrival time)以包含在^^詳細記錄(SDR)中。這種QoS 功能可以被選擇性地應用于連接。
應當理解的是,可以利用預定的或者動態(tài)地計算的閾值來調節(jié)、過 濾或者調整上述各種功能。例如,由SNMP提供的告警可以被用于監(jiān)控 大量的用戶和設備,其中告警被理想地過濾。此外,各種QoSM可以 與閾值相比較,如果參數(shù)指示發(fā)生QoS的某些損耗,就會產(chǎn)生告警。
雖然之前的說明示意和描述了一個或多個實施例,本領域的技術人 員將理解的是,可以在不偏離本公開的精神和范圍的情況下在其中進行 形式和細節(jié)上的改變。例如,所描述的方法的各種步驟可以以不同的順 序執(zhí)行或者按順序執(zhí)行、合并、進一步劃分、以可選步驟代替或者完全 去掉。另外,可以合并在方法中說明的或在公開中別處描述的各種功能 以提供另外的和/或可選的功能。因此,應當以廣義方式,與本乂>開一致 地來解釋權利要求書。
權利要求
1、一種用于穿越防火墻設備以維持被所述防火墻設備分離的第一設備和第二設備之間的注冊的方法,所述方法包括截取從所述第一設備到所述第二設備的注冊消息;確定是否正是更新所述第一設備的注冊的時候,其中所述確定是基于由所述第二設備定義的第一超時周期;如果正是更新所述第一設備的注冊的時候,轉發(fā)所述注冊消息到所述第二設備;截取從所述第二設備到所述第一設備的響應消息,其中所述響應消息包括所述第一超時周期;以及在轉發(fā)所述響應消息到所述第一設備之前,基于所述防火墻設備的綁定壽命,以第二超時周期代替所述響應消息中的第一超時周期。
2、 根據(jù)權利要求l的方法,進一步包括如果不是更新所述第一設備的注冊的時候,發(fā)送替代響應到所述笫 一設備,而不轉發(fā)所述注冊消息到所述第二設備,其中所述替代響應包 括所述第二超時周期。
3、 根據(jù)權利要求l的方法,進一步包括在所述轉發(fā)注冊消息到所述第二i殳備之前,修改所述注冊消息的源地址。
4、 根據(jù)權利要求3的方法,進一步包括在轉發(fā)所述響應消息到所述第 一設備之前,修改所述響應消息的目 的地址。
5、 根據(jù)權利要求l的方法,進一步包括在所述第 一設備和位于所述防火墻設備與所述第二設備之間的第 三設備之間建立定錨,其中所述定錨形成通信信道,用于所述第一和第 三設備通過所迷防火墻設備。
6、 根據(jù)權利要求5的方法,其中所述建立定錨包括 從所述第三設備發(fā)送封裝的請求消息到所述第 一設備; 由所述笫一設備解封裝所述請求消息;以及經(jīng)由所述防火墻設備發(fā)送所述解封裝的請求消息到所述第三設備, 其中所述防火墻設備基于來自所述第一設備的請求消息開放信道。
7、 根據(jù)權利要求l的方法,進一步包括 發(fā)現(xiàn)所述第二超時周期,其中所述發(fā)現(xiàn)包括從與所述第一i殳備相關的第 一插口發(fā)送注冊請求到位于所述防火 墻^殳備和所述第二設備之間的第三i殳備, 等待預定時間周期;在所述預定時間周期屆滿之后,從與所述第 一設4^目關的第二插口 發(fā)送綁定請求到所述第三設備;以及如果在所述第 一插口接收到響應,則將所述第二超時周期設置為所 述預定時間周期。
8、 根據(jù)權利要求7的方法,進一步包括如果沒有接收到響應則減小所述預定時間周期,并且從所述第 一插 口發(fā)送新的注餘清求到所述第三設備。
9、 根據(jù)權利要求l的方法,進一步包括從位于所述防火墻設備和所述第二設備之間的第三設備發(fā)送ping 請求到所述第一設備。
10、 根據(jù)權利要求l的方法,進一步包括通過從位于所述防火墻設備和所述第二設備之間的第三設備發(fā)送 打上時間標記的分組到所述第一設備,確定分組延遲,并計算所述分組 延遲作為所述時間標記和從所述第 一設備接收分組返回到所述第三設備 的時間之間的差值。
11、 根據(jù)權利要求l的方法,進一步包括通過從位于所述防火墻設備和所述第二設備之間的第三設備發(fā)送 消息到所述第一設備,獲得來自所述第一設備的狀態(tài)和告警信息。
12、 根據(jù)權利要求l的方法,進一步包括周期性地從所述第 一設備發(fā)送合成分組到位于所述防火墻設備和 所述第二設備之間的第三設備;以及由所述第三設備過濾所述合成分組,以防止所述分組到達所述第二 設備,其中所述合成分組防止由于缺乏出站業(yè)務而將活動信道終結。
13、 一種提供用于防火墻穿越的系統(tǒng),所述系統(tǒng)包括 位于專用網(wǎng)絡中的第一設備;可接入所述專用網(wǎng)絡和公共網(wǎng)絡的防火墻設備; 所述y厶共網(wǎng)絡中的被配置成注冊所述第一i更備的第二設備;以及 所述公共網(wǎng)絡中的位于所述防火墻設備和所述第二設備之間的會話控制器,所述會話控制器包括多個軟件可執(zhí)行指令,其包括用于截^U^所述第二設備到所述第 一設備的注冊響應消息的指令,其中所述響應消息包括第一超時周期;以及用于在轉發(fā)所述響應消息到所述第 一設備之前,以第二超時周期代替所述響應消息中的第 一超時周期的指令。
14、 根據(jù)權利要求13的系統(tǒng),其中所述會話控制器進一步包括 用于截隊A所述第 一設備到所述第二設備的注冊消息的指令;用于確定是否正是基于由所述第二設備定義的第一超時周期,更新 所述第一設備的注冊的時候的指令;以及用于如果正是更新所述第一設備的注冊的時候,轉發(fā)所述注冊消息 到所述第二設備的指令。
15、 根據(jù)權利要求14的系統(tǒng),其中所述會話控制器進一步包括 用于查明已經(jīng)分配給在所述第一設備和所述會話控制器之間建立的信令信道的所述防火墻設備的第一端口的指令,其中所述第一端口是 在從所述第 一設備發(fā)送到所述第二設備的注冊消息中查明的;以及用于查明已經(jīng)分配給在所述第一設備和所述會話控制器之間建立 的傳輸信道的所述防火墻設備的第二端口的指令。
16、 根據(jù)權利要求13的系統(tǒng),其中所述第一設備是IP電話。
17、 根據(jù)權利要求13的系統(tǒng),其中所述第一設備為模擬電話適配器。
18、 根據(jù)權利要求13的系統(tǒng),其中所述注冊消息為^^協(xié)議 (SIP) REGISTER消息。
19、 一種用于使網(wǎng)絡邊緣設備能夠維持被所述邊緣設備分離的第一 設備和第二設備之間的注冊的設備,所述設備包括可接入所述邊緣設備和所述第二設備的接口 ;以及用于截M所述第 一設備到所述第二設備的注冊消息的裝置;用于確定是否正是更新所述第一設備的注冊的時候的裝置,其中所述確定基于由所述第二設備定義的第 一超時周期;用于如果是更新所述第一設備的注冊的時候,則轉發(fā)所述注冊消息到所述第二設備的裝置;用于截^火所述第二設備到所述第 一設備的響應消息的裝置,其中所述響應消息包括第一超時周期;以及用于在轉發(fā)所述響應消息到所述第一設備之前,基于所述邊緣設備的綁定壽命,以所述第二超時周期代替所述響應消息中的第一超時周期的裝置。
20、 根據(jù)權利要求19的設備,進一步包括用于在所述第一設備和位于所述邊緣設備和所述第二設備之間的 第三設備之間建立定錨的裝置,其中所述定錨形成通信信道,用于所述 第 一和第三設備通過所述邊緣設備。
21、 一種用于穿越防火墻設備以維持被所述防火墻設備分離的笫一 設備和第二設備之間的注冊的方法,其中所述第一設備受所述防火墻設 備的保護,所述第二設備在所述防火墻設備的保護之外,所述方法包括:在所述第 一設備和所述第二設備之間建立信令信道;經(jīng)由所述信^HT道從所述第二設備發(fā)送請求到所述第一設備,其中 所述請求在小于所述防火墻設備的綁定壽命的時間發(fā)送;以及經(jīng)由所述信^Ht道在所述第二設備接收來自所述第 一設備的響應, 其中所述響應向所述防火墻設備指示所述信^Ht道是活動的。
22、 根據(jù)權利要求21的方法,其中所述請求是會話發(fā)起協(xié)議 NOTIFY請求。
23、 根據(jù)權利要求21的方法,其中所述響應為"200OK,,消息。
24、 根據(jù)權利要求21的方法,其中所述第二設備查明被分配用于 信令信道的防火墻的端口和地址,以便建立所述信令信道。
25、 根據(jù)權利要求24的方法,其中所述第二設備基于由所述第一 設^^發(fā)送的注冊消息,查明所述端口和地址。
全文摘要
提供了一種設備和方法,用于穿越網(wǎng)絡地址轉換/防火墻設備以維持被防火墻設備分離的第一和第二設備之間的注冊。在一個實例中,該方法包括截取從第一設備到第二設備的注冊消息?;谟傻诙O備定義的第一超時周期作出一個有關是否正是時候更新第一設備的注冊的確定。如果是時候更新第一設備的注冊,則注冊消息被轉發(fā)到第二設備。包括第一超時周期的響應消息被截取,并且在轉發(fā)響應消息到第一設備之前,基于防火墻設備的綁定壽命,第一超時周期被以第二超時周期代替。
文檔編號H04L29/06GK101103607SQ200580042039
公開日2008年1月9日 申請日期2005年10月17日 優(yōu)先權日2004年10月18日
發(fā)明者米爾頓·A·列, 羅伯特·D·馬赫三世, 詹姆斯·R·德曼, 阿什溫庫瑪·V·拉那 申請人:奧科得克薩斯公司