JP2012517161A - 拡縮可能なnat通過 - Google Patents
拡縮可能なnat通過 Download PDFInfo
- Publication number
- JP2012517161A JP2012517161A JP2011548510A JP2011548510A JP2012517161A JP 2012517161 A JP2012517161 A JP 2012517161A JP 2011548510 A JP2011548510 A JP 2011548510A JP 2011548510 A JP2011548510 A JP 2011548510A JP 2012517161 A JP2012517161 A JP 2012517161A
- Authority
- JP
- Japan
- Prior art keywords
- sip
- firewall
- address
- request
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000011664 signaling Effects 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims description 95
- 238000005553 drilling Methods 0.000 claims description 38
- 238000004891 communication Methods 0.000 abstract description 25
- 230000006870 function Effects 0.000 description 12
- 238000013519 translation Methods 0.000 description 12
- 238000012423 maintenance Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004080 punching Methods 0.000 description 2
- 241000270295 Serpentes Species 0.000 description 1
- 108700023290 Stanford University protocol Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2564—NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/72—Routing based on the source address
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2589—NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
- Communication Control (AREA)
Abstract
Description
for NAT:NAT用のセッション通過ユーティリティ)と称されるネットワークプロトコルは、プライベートネットワーク内のホスト装置が、ネットワークアドレス変換機構の存在を発見すると共に、遠隔ホストに対するユーザのUDP接続のために割り当てられたパブリックNATアドレスを取得するのを可能にする。クライアント装置は、遠隔ホストとの通信を確立する前に、STUN要求を発生し、該要求をパブリックネットワーク内のSTUNアプリケーションサーバに送出する。この要求は、NATにパブリックアドレスを割り付けさせると共に、当該STUN要求のパブリックアドレスとプライベート送信元アドレスとの間の結びつきを生成させる。STUNアプリケーションサーバは、上記クライアントに対してSTUN応答を送信し、該応答のペイロード内で前記NATにより割り当てられたパブリックNATアドレスを返送する。次いで、当該クライアントは、このアドレスをUDPパケット(信号伝達パケット及びメディアパケットの両方のための)を受信するアドレスとして公示することができる。該STUNプロトコルは、当該クライアントがSTUNアプリケーションサーバのパブリックアドレス以外のパブリックアドレスからパケットを受信しようとしているような状況においては、対称ファイアウォールに対して動作しない。
30A、30Bを含んでいる。この実施例において、ファイアウォール/NAT 30A、30Bは対称NATを実施化するためのハードウェア及び/又はソフトウェアを含んでいるが、対称NATの使用は本発明にとり重要ではない。本発明は、他のNAT構成と共に使用することもできる。
PBX 50A、50Bは、セッション確立プロトコル(SIP)及びRTP等の標準のVoIPプロトコルを実施する如何なる通常のVoIPゲートウェイを有することもできる。IP
PBX 50A、50Bは、PSTNよりもパブリックネットワーク40を介してネットワーク20A、20Bにおけるユーザ60A、60Bの間の呼(call)を確立するために使用することができる。背景技術で説明したように、各プライベートネットワーク20A、20Bの境界における対称ファイアウォール/NAT
30A、30Bの存在は、ボイスオーバIPセッションが確立されるのを妨害し得る。
30A、30Bを通過するためのシステム100を含んでいる。本発明は、データパケットのペイロードにおいてアドレス情報が伝達されるような他のアプリケーションにも適用することができる。システム100は、4つのタイプの構成要素:即ち、プライベートネットワーク20A、20Bに各々存在する中継エージェント110A、110B;パブリックネットワーク40から到来するパケットをファイアウォール/NAT
30A、30Bを通過する前に捕捉(intercept)するNATエージェント120A、120B;パブリックネットワーク40内のプロキシサーバ130;及びパブリックネットワーク40内のアプリケーションサーバ140を有している。NATエージェント120A、120Bは、ファイアウォール30A、30Bにおけるポートを開く役割も果たす。
PBX 50A、50Bと同一のホスト装置内に存在することができるか、又は別のホスト装置内に存在することもできる。中継エージェント110A、110Bは、ユーザ装置(UE)内に存在することもできる。中継エージェント110A、110Bは、耐故障アーキテクチャを形成するためにクラスタ配置で動作することができる。
30A、30Bを通過するための容易にスケーラブルな解決策を提供する。
PBX 50A、50Bへ、及び対応するIP PBX 50A、50Bから中継する。中継エージェント110A、110Bは、IP PBX 50A、50Bから受信された出力(outgoing)信号伝達パケットを、パブリックネットワーク40内のSIPプロキシ130に中継する。同様に、中継エージェント110A、110Bは、SIPプロキシ130からのSIP信号伝達パケットを、対応するIP
PBX 50A、50Bに代わって受信すると共に、到来するSIP信号伝達メッセージをIP PBX 50A、50Bに中継する。中継エージェント110A、110Bは、上記中継機能を実行するために、パケットの内容を分析する必要はない。
30A、30Bにより実施されるポリシ及び規則に準拠することを確実にする。
30A、30B内のポートを開き、該開かれたポートに関連するパブリックアドレスを取得し、信号伝達のために開かれた該ポートのアドレスをSIPプロキシ130に供給することである。
30A、30Bを通過するための、本発明の一実施例による例示的手順を示す。この例においては、プライベートネットワークA上のユーザAがプライベートネットワークB上の第2のユーザBとの呼を確立しようと試みていると仮定する。更に、両プライベートネットワーク20A及び20Bは、対称NATを用いたファイアウォール/NAT
30A、30Bを含んでいると仮定する。これらの状況は、NAT通過にとり恐らくは最も困難なものである。本発明は、ファイアウォール/NATが当該通信の一方の側にのみ存在する場合にも、又は他のタイプのNAT構成に対しても使用することができる。従って、ここで説明する実施例は、本発明を限定するものとみなしてはならない。
30A、30BのパブリックIPアドレス(natip)を見付ける。ファイアウォール穴開け手順は下記に詳細に説明される。中継エージェント110A、110Bはファイアウォール/NAT
30A、30BのIPアドレスを発見することにしか関心がないので、該ファイアウォール穴開け手順により開通された接続は維持されない。中継エージェント110A、110Bは、ファイアウォール/NAT
30A、30BのIPアドレスを記憶する。次に、中継エージェント110A、110Bは、1以上のローカルポートを開き、該開かれたポート上で受信される外向け(outbound)パケットをSIPプロキシ130に中継するプロキシプロセッサを開始する(ステップ2)。一例として、中継エージェント110A、110Bは他のSIP装置との統合を容易にするためにポート5060及び7000を選択することができる。アプリケーションサーバ140とのTCP接続を確立するために、中継エージェント110A、110Bは該アプリケーションサーバ140に登録要求を送信する(ステップ3)。該登録要求は、登録されるユーザのためのアカウントID(AccountID)及びパスワード、前記ファイアウォール穴開け手順の間に発見されたファイアウォール/NAT 30A、30BのIPアドレス(natip)、並びにPBXエージェント110A、110BがSIP要求を受信したいプライベートアドレスを含む。
30A、30Bは該ファイアウォール/NAT 30A、30B上のポートを割り当てると共に、該ポートのパブリックアドレスを、上記登録要求が送出された中継エージェント110A、110Bのプライベートアドレスに関係づけるエントリを自身のNATテーブル(NATing table)に作成する(ステップ4)。ファイアウォール/NAT 30A、30Bは、上記登録要求をアプリケーションサーバ140に送信する(ステップ5)。サーバ140が該登録要求を受信すると、該サーバは、上記アカウントIDにより指定されるアカウントを見付けると共に、当該登録要求内の前記パスワードを用いて認証(authentication)を実行する。該認証が成功した場合、アプリケーションサーバ140は当該登録要求のパブリック送信元アドレス及び当該登録要求に含まれるファイアウォール/NAT
30A、30BのパブリックIPアドレス(natip)を記憶する(ステップ6)。アプリケーションサーバ140は、当該登録が成功したことを示すために、中継エージェント110A、110Bに登録応答を送信する。
30A、30Bにおける前記ポートが開いたままとなることも保証する。中継エージェント110A、110Bは、存在維持メッセージをアプリケーションサーバ140に送信する(ステップ1)。ファイアウォール/NAT
30A、30Bは、上記パケットを捕捉し、当該中継エージェントのパブリック及びプライベートアドレスの間のTCP接続のために存在時間(有効期間:time to live)をリセットし(ステップ2)、上記存在維持メッセージをアプリケーションサーバ140に送信する(ステップ3)。該存在維持メッセージはアプリケーションサーバ140に、中継エージェント110A、110Bが依然として利用可能であること及びVoIPの呼のための信号伝達を上記中継エージェントに送信することができることを示す。アプリケーションサーバ140は、当該TCP接続が依然として開通されていることを中継エージェント110A、110Bに示すために存在維持応答を送信することができる。
30A、30BにVoIPセッション用の信号伝達及びメディア接続のためのポートを開くために中継エージェント110A、110Bに対して将来のファイアウォール穴開け要求を送信するために使用することができる。中継エージェント110A、110Bとアプリケーションサーバ140との間のTCP接続は、SSL伝送を用いて安全を確保することができる。
ユーザAの装置のプライベートアドレス(RTPのための) 192.168.1.200:24580
IP PBX Aのプライベートアドレス 192.168.1.100:5060
中継エージェント110Aのプライベートアドレス 192.168.1.50.5060
ユーザBの装置のプライベートアドレス(RTPのための) 192.168.2.200:24582
IP PBX Bのプライベートアドレス 192.168.2.100:5060
中継エージェント110Bのプライベートアドレス 192.168.2.50.5060
SIPプロキシ130のパブリックアドレス 216.218.42.170:7000
アプリケーションサーバ140のパブリックアドレス 216.218.42.170:8888
ファイアウォール/NAT 30AのパブリックIPアドレスは216.218.42.173であり、ファイアウォール/NAT 30BのパブリックIPアドレスは216.218.42.172である。
PBX A 50AはSIP勧誘要求(SIP Invite request)を発生し、該SIP勧誘要求をSIPトランク(通信路)上で中継エージェント110Aまで送信する(ステップ2)。ユーザAのIP
PBX 50Aは、中継エージェント110Aのアドレスを指すSIPトランクを使用するように構成されている。例示的なSIP勧誘要求を下記に示す。
URIを含み、CONTACTヘッダフィールド及びVIAヘッダフィールドはIP PBX 50Aのプライベートアドレスを含んでいる。メディア記述は、メディア接続のためにユーザAのユーザ装置(UE
A)のプライベートアドレスを含んでいる。
30Aは、出て行くパケットを捕捉し、これらパケットの送信元アドレスをファイアウォール/NAT 30Aのパブリックアドレス(216.218.42.173:何れか)に変更し、該パケットをSIPプロキシに送信する(ステップ4)。
30Aを経る接続を開通させる必要がある。発呼側では、2つの信号伝達接続及び2つのメディア接続が必要とされる。一方の信号伝達接続は、IP PBX 50Bが新しいSIP要求を送信することを可能にすべく、元のSIP勧誘要求で指定されたCONTACTのために必要とされる。他方の信号伝達接続は、IP PBX 50BがSIP勧誘に対する応答を送信することを可能にすべく、元のSIP勧誘で指定されたVIAのために必要とされる。新しいSIP要求及び応答の両者は、SIPプロキシ130を介して送信されるであろう。また、RTP及びRTCPトラフィックのために、別個のメディア接続も各々必要とされる。
30BのIPアドレス(216.218.42.172)にポート5353を付加し、その結果を目標IEに挿入する。生成されたアドレスは、受呼者からのメディアパケットのための見掛けパブリック送信元アドレスである。以下に説明されるように、ファイアウォール/NAT
30Aに到達するメディアパケットは、上記見掛けパブリック送信元アドレスから生じたように見える。RTP及びRTCP接続のために、アプリケーションサーバ140は、発呼者のIP電話のプライベートアドレス(RTP用の192.168.1.200:24580及びRTCP用の192.168.1.200:24581)を宛先IEに挿入する。発呼者のIP電話のプライベートアドレスは、元のSIP勧誘要求のSDPに含まれている。
30Aにより開かれたパブリックアドレスを知る。要求された接続の全てに対してポートが開かれた後、中継エージェント110Aはアプリケーションサーバ140に対し、1以上のファイアウォール穴開け応答において、ファイアウォール/NAT
30Aにより開かれたポートのパブリックアドレスを報告する。本例においては、下記のポートがファイアウォール/NAT 30Aにより開かれる:
CONTACT 216.218.42.173:2062
VIA
216.218.42.173:2064
RTP 216.218.42.173:2066
RTCP 216.218.42.173:2068
以下に詳述するように、RTP及びRTCP接続用のファイアウォール穴開け手順はNATエージェント120Aのための変換テーブルにもエントリを作成し、これは、ファイアウォール/NAT
30Aに到達する発呼者からのメディアパケットの送信元アドレスを変更するために使用される。
30Bに開かれたポートが必要である。上記信号接続は、ファイアウォール穴開け要求をアプリケーションサーバ140から中継エージェント110Bに送信することにより開かれる(ステップ10)。前述したように、ファイアウォール穴開け要求は目標IE及び宛先IEを含む。アプリケーションサーバ140は、SIPプロキシ130のアドレス(216.218.42.170:5060)を目標IEに挿入して、SIP信号伝達メッセージが該SIPプロキシ130のパブリックアドレスから送信されるであろうことを示す。宛先IEはIP
PBX 50Bのプライベートアドレス(192.168.2.100:5060)を含む。ファイアウォール穴開け手順は、中継エージェント110Bがファイアウォール/NAT
30Bにおいて信号伝達のために開かれたパブリックアドレス(ファイアウォール穴開け応答で返送される(ステップ11))を知るのを可能にする。この例では、当該信号伝達のために返送されるアドレスは、216.218.42.172:4811である。
30Aにより開かれ、RTP及びRTCPパケットが送信されるであろうパブリックアドレスを示す宛先IEを含む。上記ポート予約要求に応答して、中継エージェント110Bは、外に向かうRTP及びRTCPトラフィックのためのポートを予約する。外に向かうRTPトラフィックのために予約されたポートは、偶数ポートでなければならず、RTCP用のポートは次の連続する奇数ポートである。中継エージェント110Bは、上記ポート予約要求に応答して、アプリケーションサーバ140にRTP及びRTCPのために予約されたプライベートアドレスを報告する(ステップ13)。本例では、中継エージェント110Bは、RTPトラフィックのために192.168.2.50:4814を予約し、RTCPトラフィックのために192.162.2.50:4815を予約する。
(1)要求URIは、プライベートIP
PBXアドレスにおけるUE Bのためのプライベート電話内線番号を含むように修正される。このアドレスは、アプリケーションサーバ140上のアカウントが確立された場合に構成される。
(2)メディア記述は、RTPアドレスがRTPトラフィック用に開かれた中継エージェント110Bのアドレス(192.168.2.50:4814)を指し、これによりメディアトラフィックが該中継エージェントを介して送信されるように、修正される。
(3)同じSIP対話内でのIP
PBX 50Aからの将来のSIP要求が中継エージェント110Aを介して送信されるように、該中継エージェント110Aのプライベートアドレス(192.168.1.50:7000)を指す第1のRECORD ROUTE(記録経路)が追加される。
(4)同じSIP対話内でのIP
PBX 50Bからの将来のSIP要求が中継エージェント110Bを介して送信されるように、該中継エージェント110Bのプライベートアドレス(192.168.2.50:7000)を指す第2のRECORD ROUTE(記録経路)が追加される(上記のものに加えて)。
(5)SIP応答がSIPプロキシ130を介して送られるように、SIPプロキシ130のパブリックアドレス(216.218.42.170:7000)を指すが最上位のVIAが追加される。
30Bに開けられたポートのパブリックアドレス(216.218.42.172:4811)に、上記の修正されたSIP勧誘を送信する(ステップ16)。中継エージェント110Bにより先に実行されたファイアウォール穴開け手順は、上記ポートのパブリックアドレスの、中継エージェント110Bのプライベートアドレスとの結合を形成した。ファイアウォール/NAT30Bは、SIP勧誘要求のパブリック宛先アドレスを中継エージェント110Bのプライベートアドレスにマッピングし、上記SIP勧誘要求を中継エージェント110Bに対し、ステップ10でFWPPを送信するために使用されたポートで送信する(ステップ17)。中継エージェント110Bは、該修正されたSIP勧誘要求を受信し、該SIP勧誘要求をIP
PBX 50Bに対し192.168.2.100:5060(ステップ10において送信されたファイアウォール穴開け要求の宛先IEで指定されたアドレスである)で送信する(ステップ18)。IP
PBX 50Bは、当該電話を内線番号1000で呼び出す(ステップ19)。IP PBX 50Bは、ユーザBが応答するのを待つ間に、SIPプロキシ130に対して1以上の仮の応答を送信することができる。
PBX 50Bに送信される(ステップ20)。IP PBX 50Bは当該SIP勧誘要求を、メディア記述を伴うSIP200OK応答を当該SIP勧誘要求の最上位VIAで指定されたアドレス(216.218.42.170:7000)に送信することにより受諾する。これは、SIPプロキシ130のパブリックアドレスである。上記SIP200OK応答を下記に示す。
30Bは、このSIP200OK応答を捕捉し、該応答をSIPプロキシ130に送信する(ステップ23)。SIPプロキシ130は、アプリケーションサーバ140に、当該SIP処理に関してSIP200OK応答が受信されたことを通知する(ステップ24)。
30Bを介して接続を開通させる必要がある。また、発呼者が上記SIP200OK応答に肯定応答(アクノレッジ)するSIP
ACK要求を送信するのを可能にするために信号伝達接続が必要となる。アプリケーションサーバ140は中継エージェント110Bに1以上のファイアウォール穴開け要求を送信して、RTP及びRTCPトラフィックのため並びにSIP要求のために開いたポートが必要であることを示す(ステップ25)。RTP及びRPCPの両方のための上記ファイアウォール穴開け要求の目標IEは、ポート番号5353が付加されたファイアウォール/NAT
30AのIPアドレスを含んでいる。これは、ユーザAにより送信されるメディアパケットのための見掛けパブリック送信元アドレスである。RTP接続のために、上記ファイアウォール穴開け要求の宛先IEは、RTPトラフィックのためのユーザBの電話のプライベートアドレス(192.168.2.200:24582)を含む。RTCP接続のために、上記ファイアウォール穴開け要求の宛先IEは、RTCPトラフィックのためのユーザBの電話のプライベートアドレス(192.168.2.200:24583)を含む。SIP要求のためのポートを開くために、上記ファイアウォール穴開け要求の目標IEはSIPプロキシ130のパブリックアドレス(216.218.42.170:7000)であり、宛先IEはSIP200OK応答のCONTACTヘッダフィールドで識別されるプライベートアドレス(192.168.2.100:5060)である。中継エージェント110Bは、ファイアウォール穴開け手順を実施してRTP及びRTCPトラフィックのための接続を開通させると共に、RTP及びTRCPトラフィックのために開かれたパブリックアドレスをアプリケーションサーバ140に報告する(ステップ26)。この例において、RTPトラフィックのためのパブリックアドレスは、216.218.42.172:4816である。また、RTCPトラフィックのためのパブリックアドレスは、216.218.42.172:4818である。また、中継エージェント110Bは、受呼者のCONTACTのために開かれたパブリックアドレスも報告するが、該アドレスは、本例では、216.218.42.172:4812である。
30Bにおけるパブリックアドレスを含む。該ポート予約要求に応答して、中継エージェント110Aは、RTP及びRTCPトラフィックの各々のための2つの連続したポートを予約すると共に、当該ポート予約要求に対する応答内で、アプリケーションサーバ140に対して、予約されたポートのプライベートアドレスを返送する(ステップ28)。本例では、RTPに対してポート2070が予約され、RTCPに対してポート2071が予約される。アプリケーションサーバ140は、SIP応答の修正のためにSIPプロキシ130にプライベートアドレスを中継する(ステップ29)。
30Aにより開けられたポートのパブリックアドレスと、VIA接続のための該中継エージェント110Aにおけるプライベートアドレスとの間の結合を形成している。このようにして、ファイアウォール/NAT
30Aは上記パブリックアドレスを中継エージェント110Aのプライベートアドレスに変換し、上記応答を該中継エージェント110Aに配信する(ステップ32)。中継エージェント110Aは、該修正されたSIP200OK応答を受信し、該SIP応答をIP PBX 50Aに、元のSIP勧誘要求のVIAヘッダで元々指定されているアドレス192.168.1.100:5060で配信する(ステップ33)。
PBX 50Aは中継エージェント110AにSIP ACK要求を送信する(ステップ35)。SIPにおいて、ACKは要求であり、応答ではないことに注意されたい。従って、該ACK要求は、中継エージェント110Aを指す、SIP勧誘にRECORD ROUTEエントリを追加することにより作成された第1の記録経路で指定されたアドレスに送信される。中継エージェント110Aは、該SIP
ACK要求をSIPプロキシ130に中継する(ステップ36)。ファイアウォール/NAT 30Aは該SIP ACK要求を受信し、該要求をSIPプロキシに配信する(ステップ37)。SIPプロキシ130は、アプリケーションサーバ140に、該ACK要求が受信されたことを通知する(ステップ38)。アプリケーションサーバ140は、SIPプロキシ130に対して、上記SIP
ACK要求が送信されるべき中継エージェント110Bにおけるアドレスを含む応答を送信する(ステップ39)。SIPプロキシ130は、上記SIP ACK要求を中継エージェント110Bに中継する(ステップ40)。中継エージェント110Bは、該ACK要求をIP
PBX 50Bに送信する(ステップ41)。IP PBX 50Bは上記ACK供給を処理し、当該対話は完了する(ステップ42)。この時点において、ファイアウォール/NAT
30A及び30B上には信号伝達及びメディア接続のための開いたポートが存在し、ユーザAとユーザBとの間の呼が確立される。
30A、30Bに“穴”を開けるための要求(例えば、アプリケーションサーバ140からのファイアウォール穴開け要求)を含み得る。対称NATの場合、中継エージェント110A、110Bは宛先装置に代わって斯かる穴を簡単に開けることはできず、目標装置から到来するパケットの経路内に留まる必要がある。
30A、30Bは上記FWPPをLAN側で受信し、自身のNATingテーブルを検索して、該FWPPのプライベート送信元アドレスと該FWPPのパブリック宛先アドレスとの間の関連が既に存在するかを調べる(ステップ3)。一致するエントリが見つかったら、ファイアウォール/NAT
30A、30Bは、このNATingエントリの有効期間(time to
live)を更新し、当該FWPPを上記テーブルで見つかったのと同じパブリック送信元アドレスを用いてパブリック宛先アドレスに送信する。一致するエントリが見つからなかったら、ファイアウォール/NAT
30A、30Bは、パブリック送信元アドレス(natip:natport)を予約し、自身のNATingテーブルに該パブリック送信元アドレス(natip:natport)を中継エージェントアドレス(agentip:agentport)及び目標装置アドレス(targetip:targetport)と関連付ける新たなエントリを作成し、上記FWPPを、上記の予約したパブリック送信元アドレス(natip:natport)から宛先アドレス(targetip:targetport)に送信する(ステップ4)。かくして、ファイアウォール/NAT
30A、30Bは、internetipからnatip:natportに到来する如何なるパケットも、agentip:agentportに伝送する。
30A、30BのWAN側からインターネットサービスプロバイダに送信される全てのパケットを分析し、FWPPを即座に認識することができる。FWPP(及び幾つかの下記の他のパケット)を除く殆どのパケットは、変更されずにNATエージェント120A、120Bを通過される。しかしながら、NATエージェント120A、120BはFWPPを捕捉し、目標装置アドレスに依存した行動をとる。目標装置アドレスが所定の“固定”ポート(本例では、ポート5353)を含む場合、NATエージェント120A、120Bは自身の変換テーブルにエントリを作成するか、又は該テーブルにおけるエントリを更新する(ステップ5)。該エントリは、3つの要素を含む。即ち、FWPPのパブリック送信元アドレス(natip:natport)、目標装置のIPアドレス(targetip)、及び使用されていない又は古いエントリを削除するために使用されるタイムスタンプである。全てのFWPPに関して、NATエージェント120A、120Bは、当該FWPPのパブリック送信元アドレスを抽出し、FWPP応答(FWPPR)を構築する(ステップ6)。該FWPPRは自身のペイロードにFWPPのパブリック送信元アドレス(natip:natport)を含むが、これはファイアウォール/NAT 30A、30Bで開かれたポートである。FWPPは破棄される。
30A、30Bは、当該FWPP用に開かれたパブリックアドレス上で上記FWPPRを受信し、該FWPPRのパブリック宛先アドレスを中継エージェント110A、110Bのプライベートアドレス(agentip:agentport)に変換し(ステップ8)、該FWPPRを中継エージェントに送る(ステップ9)。
30A、30Bにnatip:natportでパケットが送信されたら、該パケットはファイアウォール/NAT 30A、30Bから中継エージェントにagnetip:agentportで中継されるであろうことが分かる。中継エージェント110A、110Bは、この接続のためのソケットを開かれたままに保ち、このソケットを介して受信されるパケットを当該プライベートネットワーク内の宛先装置に配信する。前記アプリケーションサーバにより、開いたポートが要求された場合、宛先装置のアドレスが前記ファイアウォール穴開け要求の宛先IEにおいて指定され、中継エージェント110A、110Bが、アプリケーションサーバ140に対してパブリック送信元アドレス(natip:natport)を含むファイアウォール穴開け応答を送信する。
30A、30Bにより開かれたパブリックIPアドレスを含ませるために予約されている。バイト26〜27(2バイト)は、FWPPRパケットにファイアウォール/NAT
30A、30Bにより開かれたパブリックポートを含ませるために予約されている。
30A、30Bに対して存在維持メッセージが周期的に送信されねばならない。図7は、ファイアウォール/NAT 30A、30B上に開いたポートを維持するための例示的手順を示す。数秒ごとに、中継エージェント110A、110Bはファイアウォール/NAT
30A、30Bに対してファイアウォール存在維持(FWKA)メッセージを送信する(ステップ1)。該FWKAメッセージは、前のFWPPと同じ目標アドレスに同じ送信元アドレスから送信される。ファイアウォール/NAT
30A、30Bは、当該FWKAの宛先アドレスに対応する既存のエントリを自身の結合テーブル内で見付け、有効期間を更新する(ステップ2)。ファイアウォール/NAT
30A、30Bは、当該FWKAを宛先アドレスに送信する(ステップ3)。NATエージェント120A、120Bは該FWKAを捕捉する。該FWKAパケットの宛先アドレスがaddrNATx:5353なら、該NATエージェント120A、120Bは、自身の変換テーブル内の対応するエントリに関して有効期間を更新する(ステップ4)。次いで、該NATエージェント120A、120Bは当該FWKAを捨てる(ステップ5)。
PBX 50A,50Bにより発生されたSIP信号伝達メッセージは、ローカルな(近くの)中継エージェント110A、110Bに送信される(ステップ1)。該ローカルな中継エージェント110A、110Bは上記SIP信号伝達メッセージをSIPプロキシ130に送信し(ステップ2)、該中継エージェントは上記メッセージをファイアウォール/NAT
30A、30Bにおける信号伝達のために開かれたポートのパブリックアドレスに中継する(ステップ3)。ファイアウォール/NAT 30A、30Bは、自身の結合テーブル内の対応するプライベートアドレスをルックアップする(ステップ4)。前述したように、遠方の中継エージェントのプライベートアドレスに対するパブリックアドレスの結合は、前記ファイアウォール穴開け手順の間に形成されている。ファイアウォール/NAT
30A、30Bは、遠方の中継エージェント110A、110Bにパケットを送信する(ステップ5)。該中継エージェント110A、110Bも、SIP信号伝達メッセージが受信されるポートをIP
PBX 50A,50Bのプライベートアドレスに関連付ける経路指定テーブルを含む。中継エージェント110A、110Bは、当該信号伝達ポートに関連付けられた内部アドレス(IP
PBX 50A,50Bの内部アドレスである)をルックアップする(ステップ6)。該中継エージェント110A、110Bは、上記SIPメッセージを当該遠方のIP PBXに配信する(ステップ7)。
30A、30Bに送信する(ステップ3)。該ファイアウォール/NAT 30A、30Bは、当該パケットのパブリック宛先アドレスをプライベート宛先アドレスに関連付ける結合テーブルを含んでいる。該ファイアウォール/NAT
30A、30Bは、当該パブリック宛先アドレスを自身の結合テーブル内のプライベート宛先アドレスで置換し(ステップ4)、当該パケットを中継エージェント110A、110Bに送信する(ステップ5)。中継エージェント110A、110Bは、特定のポートで受信されるパケットが、先のファイアウォール穴開け要求で指定された他のプライベートアドレスに送信されることを要することを記憶している(ステップ6)。該プライベートアドレスは、ユーザのIP電話のプライベートアドレスである。該遠方の中継エージェント110A、110Bは、当該データパケットに含まれる宛先アドレスをユーザの電話のプライベートアドレスに置換し、該パケットをユーザの電話に送信する(ステップ7)。
30A、30Bを実施化する他のホスト装置に組み込むことができる。この場合、前述したようにFWPP/FWKAを用いてファイアウォールに穴開けを行う必要は無いであろう。代わりに、ルータ70A,70B自身が接続を開通させることができる。ルータ70A,70Bとアプリケーションサーバ140との間の通信チャンネルは、ファイアウォール/NAT
30A、30Bを迂回するためのルータコードに直接組み込むことができる。ルータ70A,70Bは、内部SIPトラフィックをアプリケーションサーバ140に送信するために1以上のポート(例えば、ポート5060)を予約することができる。ルータ70A,70Bは、現状技術において知られているように、ブラウザインターフェースを介して構成(コンフィギュレーション)することができる。
PBX 50A,50BにおけるSIPトランクとして構成することができる。ルータ70A,70Bは、該ルータ70A,70BのWAN側の接続を直接使用することにより、オプションとしてSSLによるCOBRA(CORBA over SSL)等の安全保護プロトコルを用いてアプリケーションサーバ140につながり、かくして、NAT通過の必要性を取り除く。ルータ70A,70B内の中継エージェント機能110A、110Bは、アプリケーションサーバ140とのTCP接続を維持するために、該アプリケーションサーバ140に対して存在維持信号を依然として送信する。アプリケーションサーバ140がファイアウォール/NAT
30A、30Bにおけるポートの開きを必要とする場合、ルータ70A,70B内の中継エージェント機能110A、110Bは、到来するSIP信号伝達パケットがIP PBX
50A,50Bに直接配信されるように、該ルータのNATingテーブルの更新を直接開示させることができる。
30A、30BにRTP及びRTCP接続のための2つの連続したパブリックポートを予約させることにより、直接対処することができる。このように、遠端における中継エージェント110A、110BがRTP及びRTCPトラフィックのための外向きプロキシとして機能する必要性はない。一端が内蔵された中継エージェント110A、110B及びNATエージェント120A、120Bを備えるルータ70A,70Bを使用し、他端が別個の中継エージェント110A、110B及びNATエージェント120A、120Bを使用するような混合システムにおいては、アプリケーションサーバ140は、内蔵システムを備える端部上のパブリックポートが連続していることを検出し、かくして他方の端部において中継エージェント110A、110B内にプロキシポートを作成することを回避することができる。この場合、アプリケーションサーバ140は、メディアパケットが、中継エージェント110A、110Bを介して送信される代わりに、インターネットを介して直接送信されるべきことを指令することができる。
30A、30Bの機能がルータ70A,70B内に含まれた筋書きにおいてファイアウォールを通過する例示的手順を示す。該手順はユーザAがユーザBの電話番号をダイヤルすることにより呼を開始した場合に始まる(ステップ1)。ユーザA用のIP
PBX 50BはSIP勧誘要求を発生し、該SIP勧誘要求をSIPトランク上にルータ70Aに向かって送信する(ステップ2)。ルータ70Aは、該SIP勧誘要求をSIPプロキシ130に送信する(ステップ3)。SIPプロキシ130はアプリケーションサーバ140に、新たな呼がなされていることを通知する(ステップ4)。アプリケーションサーバ140は、前述したようにして、上記SIP勧誘要求の内容からユーザAの素性(識別情報)を決定する(ステップ5)と共にユーザBの素性を決定する(ステップ6)。次いで、アプリケーションサーバ140は、ルータ70Aに対して、信号伝達及びメディア接続用のポートを開くための要求を送信する(ステップ7)。4つのポートが必要とされる。即ち、前述したように、1つはSIP勧誘要求におけるCONTACT用であり、1つはSIP勧誘要求におけるVIA用であり、1つはRTP用であり、1つはRTCP用である。ルータ70Aはファイアウォールにおけるポートを開き(ステップ8)、アプリケーションサーバ140に斯かるポートのアドレスを返送する(ステップ9)。
PBX 50Bに送信し(ステップ16)、該IP PBX 50BはユーザBの電話内線番号を呼び出す(ステップ17)。
PBX 50Bはルータ70BにSIP OK応答を送信する(ステップ19)。ルータ70Bは、該SIP OKをSIPプロキシ130に送信する(ステップ20)。該SIPプロキシ130はアプリケーションサーバ140に、SIP
OK応答が受信されたことを通知する(ステップ21)。次いで、アプリケーションサーバ140はルータ70Bに対して、RTP及びRTCP接続のための、並びにSIP応答メッセージの肯定応答用の追加の信号伝達接続のためのポートを開く要求を送信する(ステップ22)。ルータ70Bは、RTP及びRTCPのためのポートを開き(ステップ23)、アドレスをアプリケーションサーバ140に返送する(ステップ24)。アプリケーションサーバ140はSIPプロキシ130に上記SIP
OK応答を修正するための値を返送する(ステップ25)。SIPプロキシ130は、上記SIP OK応答を修正し(ステップ26)、該修正されたSIP OK応答をルータ70Aに送信する(ステップ27)。ルータ70Aは、上記の修正されたSIP
OK応答をIP PBX 50Aに送信する(ステップ28)。尚、図11には示されていないが、IP PBX 50AはSIP対話を確立するためにSIP ACK要求を送信する。
Claims (20)
- 発呼者のプライベートネットワークにおけるファイアウォールを通過する方法であって、
パブリックネットワークにおけるSIPプロキシにより、発呼者からのSIP勧誘要求を受信するステップと、
前記発呼者のための中継エージェントに、前記SIPプロキシのパブリックアドレス及び前記SIP勧誘要求から得られる発呼者プライベートSIPアドレスを含む第1ファイアウォール穴開け要求を送信して、前記ファイアウォールに前記SIPプロキシからのSIP信号伝達メッセージを送信するためのポートを開けるステップと、
前記中継エージェントから、前記ファイアウォールにおける前記SIPプロキシからのSIP信号伝達メッセージのために開けられたポートのパブリックアドレスを含む第1穴開け応答メッセージを受信するステップと、
前記SIP勧誘要求を、前記SIPプロキシから受呼者に送信するステップと、
前記SIPプロキシにおいて、前記SIP勧誘要求に応答するSIP応答メッセージを受信するステップと、
前記SIP応答メッセージを、前記SIPプロキシから前記SIP信号伝達メッセージのために開けられたポートのパブリックアドレスに送信するステップと、
を有する方法。 - 同一のSIP対話内の前記受呼者からのSIP信号伝達が前記発呼者に前記SIPプロキシを介して送信されることを保証するために、前記SIP勧誘を前記受呼者に送信する前に該SIP勧誘を修正するステップを更に有する請求項1に記載の方法。
- 前記SIP勧誘を前記SIPプロキシから前記受呼者に関連付けられた所定のアドレスに送信する前に前記SIP勧誘を修正するステップが、
前記SIP応答メッセージが前記SIPプロキシに伝送されるように、VIAヘッダフィールドに前記SIPプロキシのパブリックアドレスを最上位アドレスとして追加するステップと、
同一のSIP対話内の前記発呼者からの後続のSIP要求が前記発呼者のための中継エージェントを介して送信されるように、前記発呼者のための中継エージェントのアドレスを含む第1記録経路を前記SIP勧誘要求に追加するステップと、
前記受呼者がパブリックネットワーク内にある場合に、該受呼者からの新たなSIP要求が前記SIPプロキシを介して送信されるように、前記SIPプロキシのアドレスを含む第2記録経路を前記SIP勧誘要求に追加するステップと、
前記受呼者がプライベートネットワーク内にある場合に、該受呼者からの新たなSIP要求が前記受呼者のための中継エージェントを介して送信されるように、前記受呼者の中継エージェントのアドレスを含む第2記録経路を前記SIP勧誘要求に追加するステップと、
を有する請求項2に記載の方法。 - 前記SIP勧誘を前記SIPプロキシから前記受呼者に関連付けられた所定のアドレスに送信する前に前記SIP勧誘を修正するステップが、前記SIP勧誘要求の要求URIを前記受呼者の宛先URIと合致するように修正するステップを更に有する請求項3に記載の方法。
- 前記受呼者からのメディアパケットを受信するためのファイアウォールポートを開けるために、前記受呼者により送信されるメディアパケットの見掛けパブリック送信元アドレスを含む第2ファイアウォール穴開け要求を前記発呼者のための中継エージェントに送信するステップと、
前記発呼者のための中継エージェントから、前記ファイアウォールにおける前記受呼者からのメディアパケットを受信するために開けられたポートのパブリックアドレスを含む第2穴開け応答メッセージを受信するステップと、
を更に有する請求項1に記載の方法。 - 前記受呼者からのメディアパケットを受信するための1以上のポートを予約するために、各々が前記受呼者からのメディアパケットを中継するために前記発呼者の宛先アドレスを含む1以上のポート予約要求を前記受呼者のための中継エージェントに送信するステップと、
前記ポート予約要求に応答して前記受呼者のための中継エージェントから、各々が予約されたポートのアドレスを含む1以上のポート予約応答を受信するステップと、
を更に有する請求項5に記載の方法。 - メディア接続のための宛先アドレスが、
前記発呼者のための中継エージェントにおけるプロキシアドレス、又は
前記ファイアウォールにおいて前記受呼者からのメディアパケットを受信するために開けられたポートのパブリックアドレス、
となるように、前記SIP勧誘要求を送信する前に該SIP勧誘要求におけるメディア記述を修正するステップを更に有する請求項6に記載の方法。 - 受呼者のネットワークにおけるファイアウォールを通過する方法であって、
パブリックネットワークにおけるSIPプロキシにより、発呼者からのSIP勧誘要求を受信するステップと、
前記受呼者のための中継エージェントに、前記SIPプロキシのパブリックアドレス及び前記受呼者のプライベートアドレスを含む第1ファイアウォール穴開け要求を送信して、前記SIPプロキシからのSIP勧誘要求を送信するためのファイアウォールポートを開けるステップと、
前記受呼者のための中継エージェントから、前記ファイアウォールにおける前記SIPプロキシからのSIP勧誘要求のために開けられたポートのパブリックアドレスを含む第1穴開け応答メッセージを受信するステップと、
前記SIP勧誘要求を、SIP勧誘要求を該SIP勧誘要求のために開けられた前記ファイアウォールポートのパブリックアドレスに送信することにより、前記SIPプロキシから前記受呼者に送信するステップと、
前記SIPプロキシにおいて、前記SIP勧誘要求に応答した前記受呼者からのSIP応答メッセージを受信するステップと、
前記SIP応答メッセージを、前記SIPプロキシから前記発呼者に送信するステップと、
を有する方法。 - 同一のSIP対話内の前記受呼者からのSIP信号伝達メッセージが前記発呼者に前記SIPプロキシを介して送信されることを保証するために、前記SIP勧誘を前記SIPプロキシから前記受呼者に関連付けられた所定のアドレスに送信する前に該SIP勧誘を修正するステップを更に有する請求項8に記載の方法。
- 前記SIP勧誘要求を修正するステップが、
前記SIP応答メッセージが前記SIPプロキシに伝送されるように、VIAヘッダフィールドに前記SIPプロキシのパブリックアドレスを最上位アドレスとして追加するステップと、
前記発呼者がパブリックネットワーク内に位置する場合に、同一のSIP対話内の前記発呼者からの後続のSIP要求が前記SIPプロキシを介して送信されるように、前記SIPプロキシのアドレスを含む第1記録経路を前記SIP勧誘要求に追加するステップと、
前記発呼者が第2プライベートネットワーク内に位置する場合に、同一のSIP対話内の前記発呼者からの後続のSIP要求が該発呼者のための中継エージェントを介して送信されるように、前記発呼者のための中継エージェントのアドレスを含む第1記録経路を前記SIP勧誘要求に追加するステップと、
前記受呼者からの新たなSIP要求が該受呼者のための中継エージェントを介して送信されるように、前記受呼者のための中継エージェントのアドレスを含む第2記録経路を前記SIP勧誘要求に追加するステップと、
を有する請求項9に記載の方法。 - 前記発呼者からのメディアパケットを受信するための1以上のファイアウォールポートを開けるために、前記発呼者により送信されるメディアパケットの見掛けパブリック送信元アドレスを含む第2ファイアウォール穴開け要求を前記受呼者のための中継エージェントに送信するステップと、
前記受呼者のための中継エージェントから、前記ファイアウォールにおける前記発呼者からのメディアパケットを受信するために開けられたファイアウォールポートのパブリックアドレスを含む第2穴開け応答メッセージを受信するステップと、
を更に有する請求項8に記載の方法。 - 前記発呼者からのメディアパケットを受信するための1以上のポートを予約するために、各々が前記発呼者からのメディアパケットを中継するために前記受呼者の宛先アドレスを含む1以上のポート予約要求を前記発呼者のための中継エージェントに送信するステップと、
前記ポート予約要求に応答して前記発呼者のための中継エージェントから、各々が予約されたポートのアドレスを含む1以上のポート予約応答を受信するステップと、
を更に有する請求項11に記載の方法。 - メディア接続の宛先アドレスが、
前記発呼者に関連付けられた中継エージェントにおけるプロキシアドレス、又は
前記ファイアウォールにおいて前記発呼者からのメディアパケットを受信するために開けられたポートのパブリックアドレス、
となるように、前記SIP応答メッセージを前記SIPプロキシから前記中継エージェントに送信する前に該SIP応答メッセージにおけるメディア記述を修正するステップを更に有する請求項13に記載の方法。 - 前記SIPプロキシからのSIP信号伝達メッセージを送信するためのファイアウォールポートを開くために、該SIPプロキシのパブリックアドレス及び前記SIP応答メッセージから得られる前記受呼者のプライベートアドレスを含む第3ファイアウォール穴開け要求を前記受呼者のための中継エージェントに送信するステップと、
前記受呼者のための中継エージェントから、前記ファイアウォールにおける前記SIPプロキシからのSIP信号伝達メッセージのために開けられたポートのパブリックアドレスを含む第3穴開け応答メッセージを受信するステップと、
を更に有する請求項8に記載の方法。 - プライベートネットワークのファイアウォールにおけるポートを開く方法であって、
プライベートネットワークを保護するファイアウォール内のポートを開くために、外部ネットワークにおけるアプリケーションサーバから、データパケットが送出されるパブリックネットワーク内の指定された目標アドレス及び前記データパケットが送られる前記プライベートネットワーク内の指定されたプライベート宛先アドレスを含むファイアウォール穴開け要求を受信するステップと、
前記ファイアウォール内のファイアウォールポートを、前記ファイアウォール穴開け要求で指定された前記目標アドレスにファイアウォール穴開けパケットを送信することにより開くステップと、
前記ファイアウォール穴開けパケットに対する前記ファイアウォールポートのパブリックアドレスを含む応答を受信するステップと、
前記ファイアウォール穴開け要求に応答して、前記ファイアウォールポートのパブリックアドレスを含む穴開け応答メッセージを前記アプリケーションサーバに送信するステップと、
を有する方法。 - ファイアウォールにおけるポートを開く方法であって、
ファイアウォールポートを介してパブリックネットワーク内の目標アドレスに送信されるファイアウォール穴開けパケットを捕捉するステップであって、前記ファイアウォール穴開けパケットが、該パケットが伝送された前記ファイアウォールポートを示すパブリック送信元アドレスを含むようなステップと、
前記ファイアウォール穴開けパケットに応答して、前記ファイアウォール穴開けパケットのパブリック送信元アドレスを含んだペイロードを有する応答メッセージを、前記ファイアウォール穴開けパケットで指定されたパブリック送信元アドレスに送信するステップと、
を有する方法。 - 発呼者のプライベートネットワークにおけるファイアウォールを通過するためのシステムであって、
発呼者からSIP勧誘要求を受信すると共に、該SIP勧誘要求を当該SIPプロキシから受呼者に送信し、
前記SIP勧誘要求に応答したSIP応答メッセージを当該SIPプロキシにおいて受信すると共に、該SIP応答メッセージを当該SIPプロキシから前記発呼者に送信する、
ように構成されたSIPプロキシと、
前記発呼者のための中継エージェントに、前記SIPプロキシのパブリックアドレス及び前記SIP勧誘要求から得られる前記発呼者のプライベートアドレスを含む第1ファイアウォール穴開け要求を送信して、前記ファイアウォールにSIP信号伝達メッセージを前記SIPプロキシから前記発呼者に送信するためのポートを開け、
前記中継エージェントから、前記ファイアウォールにおける前記SIPプロキシからのSIP信号伝達メッセージのために開けられたポートのパブリックアドレスを含む第1穴開け応答メッセージを受信する、
ように構成されたサーバと、
を有するシステム。 - 受呼者のネットワークにおけるファイアウォールを通過するためのシステムであって、
発呼者からSIP勧誘要求を受信し、
前記SIP勧誘要求を該SIP勧誘要求のために開けられたファイアウォールポートのパブリックアドレスに送信することにより、前記SIP勧誘要求を当該SIPプロキシから受呼者に送信し、
前記SIP勧誘要求に応答した前記受呼者からのSIP応答メッセージを受信し、
前記SIP応答メッセージを当該SIPプロキシから前記発呼者へ送信する、
ように構成されたSIPプロキシと、
前記受呼者のための中継エージェントに、前記SIPプロキシのパブリックアドレス及び前記受呼者のプライベートアドレスを含む第1ファイアウォール穴開け要求を送信して、前記SIPプロキシから前記SIP勧誘要求を送信するためのファイアウォールポートを開け、
前記受呼者のための中継エージェントから、前記ファイアウォールにおける前記SIPプロキシからの前記SIP勧誘要求のために開けられたポートのパブリックアドレスを含む第1穴開け応答メッセージを受信する、
ように構成されたサーバと、
を有するシステム。 - ファイアウォールにおけるポートを開ける装置であって、
当該装置を前記ファイアウォールにより保護されたプライベートネットワークと接続するためのネットワークインターフェースと、
前記ネットワークインターフェースに接続されたプロセッサであって、
プライベートネットワークを保護するファイアウォール内のポートを開くために、外部ネットワークにおけるアプリケーションサーバから、データパケットが送出されるパブリックネットワーク内の指定された目標アドレス及び前記データパケットが送られる前記プライベートネットワーク内の指定されたプライベート宛先アドレスを含むファイアウォール穴開け要求を受信し、
前記ファイアウォール穴開け要求に応答して、前記ファイアウォール内のファイアウォールポートを、前記ファイアウォール穴開け要求で指定された前記目標アドレスにファイアウォール穴開けパケットを送信することにより開き、
前記ファイアウォール穴開けパケットに対する前記ファイアウォールポートのパブリックアドレスを含む応答を受信し、
前記ファイアウォール穴開け要求に応答して、前記ファイアウォールポートのパブリックアドレスを含む穴開け応答メッセージを前記アプリケーションサーバに送信する、
ように構成されたプロセッサと、
を有する装置。 - ファイアウォールにおけるポートを開けるための装置であって、
当該装置を前記ファイアウォールにより保護されたプライベートネットワークと接続するためのネットワークインターフェースと、
前記ネットワークインターフェースに接続されたプロセッサであって、
ファイアウォールポートを介してパブリックネットワーク内の目標アドレスに送信されるファイアウォール穴開けパケットであって、当該ファイアウォール穴開けパケットが伝送された前記ファイアウォールポートを示すパブリック送信元アドレスを含むようなファイアウォール穴開けパケットを捕捉し、
前記ファイアウォール穴開けパケットに応答して、前記ファイアウォール穴開けパケットのパブリック送信元アドレスを含んだペイロードを有する応答メッセージを、前記ファイアウォール穴開けパケットで指定されたパブリック送信元アドレスに送信する、
ように構成されたプロセッサと、
を有する装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15037809P | 2009-02-06 | 2009-02-06 | |
US61/150,378 | 2009-02-06 | ||
PCT/CA2010/000167 WO2010088774A1 (en) | 2009-02-06 | 2010-02-05 | Scalable nat traversal |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012517161A true JP2012517161A (ja) | 2012-07-26 |
JP5655009B2 JP5655009B2 (ja) | 2015-01-14 |
Family
ID=42541297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011548510A Active JP5655009B2 (ja) | 2009-02-06 | 2010-02-05 | 拡縮可能なnat通過 |
Country Status (6)
Country | Link |
---|---|
US (3) | US20120144475A1 (ja) |
EP (1) | EP2394414B1 (ja) |
JP (1) | JP5655009B2 (ja) |
CA (1) | CA2751605C (ja) |
ES (1) | ES2704473T3 (ja) |
WO (1) | WO2010088774A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011071745A (ja) * | 2009-09-25 | 2011-04-07 | Brother Industries Ltd | 通信方法、通信システム、端末装置 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090129301A1 (en) * | 2007-11-15 | 2009-05-21 | Nokia Corporation And Recordation | Configuring a user device to remotely access a private network |
JP4635095B2 (ja) * | 2009-06-30 | 2011-02-16 | 株式会社東芝 | 通信システムとそのサーバ装置 |
TWI404386B (zh) * | 2010-08-13 | 2013-08-01 | Chunghwa Telecom Co Ltd | 使用對話啟動協定之多重註冊的通訊方法與系統 |
TWI404387B (zh) * | 2010-08-13 | 2013-08-01 | Chunghwa Telecom Co Ltd | 在網路位址轉換環境下使用對話啟動協定的通訊方法與系統 |
WO2012046390A1 (ja) * | 2010-10-07 | 2012-04-12 | パナソニック株式会社 | 通信装置、通信方法、集積回路、およびプログラム |
CN105141710B (zh) * | 2010-11-15 | 2019-03-01 | 华为终端有限公司 | 一种数据传输方法、相关装置及其系统 |
US9112832B1 (en) | 2010-12-13 | 2015-08-18 | Vertical Computer Systems, Inc. | System and method for running a web server on a mobile internet device |
US10305915B2 (en) | 2010-12-13 | 2019-05-28 | Vertical Computer Systems Inc. | Peer-to-peer social network |
US9710425B2 (en) * | 2010-12-13 | 2017-07-18 | Vertical Computer Systems, Inc. | Mobile proxy server for internet server having a dynamic IP address |
WO2012170705A1 (en) * | 2011-06-07 | 2012-12-13 | Vertical Computer Systems, Inc. | System and method for running an internet server behind a closed firewall |
JP2014520438A (ja) * | 2011-06-10 | 2014-08-21 | トムソン ライセンシング | 通信装置 |
TWI484804B (zh) * | 2011-11-09 | 2015-05-11 | Quanta Comp Inc | 網路系統之資料管理方法及其相關系統 |
TWI535247B (zh) * | 2012-04-10 | 2016-05-21 | 財團法人資訊工業策進會 | 用於網路位址轉換穿透的傳輸系統及傳輸方法 |
JP6387605B2 (ja) * | 2012-11-30 | 2018-09-12 | ヤマハ株式会社 | 通信システム及び通信方法 |
US9641551B1 (en) * | 2013-08-13 | 2017-05-02 | vIPtela Inc. | System and method for traversing a NAT device with IPSEC AH authentication |
US9912636B1 (en) * | 2013-11-29 | 2018-03-06 | 8X8, Inc. | NAT traversal in VoIP communication system |
US9450915B1 (en) * | 2014-01-02 | 2016-09-20 | vIPtela Inc. | Bi-directional NAT traversal using endpoint assigned discriminators |
CN105049541B (zh) * | 2014-04-17 | 2018-06-22 | 财团法人资讯工业策进会 | 用于实时通信的网络地址转换穿透系统与方法 |
DE102014112466A1 (de) * | 2014-06-03 | 2015-12-03 | Fujitsu Technology Solutions Intellectual Property Gmbh | Verfahren zur Kommunikation zwischen abgesicherten Computersystemen, Computernetz-Infrastruktur sowie Computerprogramm-Produkt |
CN105187339B (zh) * | 2014-06-06 | 2018-12-07 | 华为技术有限公司 | 一种双选信道的补偿方法、系统及相关装置 |
US20160072764A1 (en) * | 2014-09-10 | 2016-03-10 | T-Mobile Usa, Inc. | Dynamic double network address translator |
US10237236B2 (en) | 2015-06-25 | 2019-03-19 | Microsoft Technology Licensing, Llc | Media Session |
EP3125503A1 (en) * | 2015-07-29 | 2017-02-01 | Telefonica Digital España, S.L.U. | A method, a system and computer program products for keeping an end-to-end data connection active |
US10412122B1 (en) * | 2016-01-22 | 2019-09-10 | Cisco Technology, Inc. | Dynamic per-session NAT-behavior selection |
US11824827B1 (en) | 2016-04-13 | 2023-11-21 | 8X8, Inc. | Region-based network address translation |
US10200831B2 (en) * | 2016-05-19 | 2019-02-05 | T-Mobile Usa, Inc. | Managing communications in heterogeneous communication networks |
EP3404886A1 (en) * | 2017-05-15 | 2018-11-21 | IMEC vzw | Network stack for a plurality of physical communication interfaces |
CN107634954B (zh) * | 2017-09-25 | 2020-04-10 | 中国联合网络通信集团有限公司 | 一种软交换呼叫方法及系统 |
WO2019240487A1 (en) * | 2018-06-12 | 2019-12-19 | Samsung Electronics Co., Ltd. | Method and apparatus for identifying in-call capability features |
US11689583B2 (en) * | 2018-12-10 | 2023-06-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Network node, entity and methods performed therein for handling a communication session in a communication network |
US11190489B2 (en) * | 2019-06-04 | 2021-11-30 | OPSWAT, Inc. | Methods and systems for establishing a connection between a first device and a second device across a software-defined perimeter |
CN111314481B (zh) * | 2020-02-27 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、设备以及可读存储介质 |
US11533179B2 (en) | 2020-08-13 | 2022-12-20 | Cisco Technology, Inc. | Turn authentication using SIP channel discovery |
US20230179572A1 (en) * | 2021-12-06 | 2023-06-08 | Vmware, Inc. | Automated security policy modification |
US20240129264A1 (en) * | 2022-10-14 | 2024-04-18 | Oracle International Corporation | Managing digital message transmission via a proxy digital mailbox |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007528549A (ja) * | 2004-03-10 | 2007-10-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 電子回路 |
JP2007528649A (ja) * | 2004-03-10 | 2007-10-11 | ノキア コーポレイション | モバイル端末とのセッション開始プロトコル通信セッションを確立するためのシステム及び方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2365256A (en) * | 2000-07-28 | 2002-02-13 | Ridgeway Systems & Software Lt | Audio-video telephony with port address translation |
US7631349B2 (en) * | 2001-01-11 | 2009-12-08 | Digi International Inc. | Method and apparatus for firewall traversal |
US7167486B2 (en) * | 2001-01-19 | 2007-01-23 | Shoretel, Inc. | Voice traffic through a firewall |
US20030154306A1 (en) * | 2002-02-11 | 2003-08-14 | Perry Stephen Hastings | System and method to proxy inbound connections to privately addressed hosts |
US6674758B2 (en) * | 2002-06-06 | 2004-01-06 | Clinton Watson | Mechanism for implementing voice over IP telephony behind network firewalls |
US20030233471A1 (en) * | 2002-06-17 | 2003-12-18 | Julian Mitchell | Establishing a call in a packet-based communications network |
AU2003276869A1 (en) * | 2002-09-09 | 2004-03-29 | Netrake Corporation | System for allowing network traffic through firewalls |
US7020130B2 (en) * | 2003-03-13 | 2006-03-28 | Mci, Inc. | Method and apparatus for providing integrated voice and data services over a common interface device |
TWI255113B (en) * | 2003-11-10 | 2006-05-11 | Inst Information Industry | Method of media relay passing through Network Address Translation equipments to be decreased |
US7760744B1 (en) * | 2003-11-20 | 2010-07-20 | Juniper Networks, Inc. | Media path optimization for multimedia over internet protocol |
US7694127B2 (en) * | 2003-12-11 | 2010-04-06 | Tandberg Telecom As | Communication systems for traversing firewalls and network address translation (NAT) installations |
US8065418B1 (en) * | 2004-02-02 | 2011-11-22 | Apple Inc. | NAT traversal for media conferencing |
EP1738530A2 (en) * | 2004-04-12 | 2007-01-03 | XDS, Inc. | System and method for automatically initiating and dynamically establishing secure internet connections between a fire-walled server and a fire-walled client |
US8090858B2 (en) * | 2004-07-23 | 2012-01-03 | Nokia Siemens Networks Oy | Systems and methods for encapsulation based session initiation protocol through network address translation |
US8571011B2 (en) * | 2004-08-13 | 2013-10-29 | Verizon Business Global Llc | Method and system for providing voice over IP managed services utilizing a centralized data store |
JP4480535B2 (ja) * | 2004-09-30 | 2010-06-16 | 株式会社アドイン研究所 | トンネル装置、中継装置、端末装置、呼制御システム、ip電話システム、会議装置、これらの制御方法及びプログラム |
US8090845B2 (en) * | 2004-10-18 | 2012-01-03 | Audiocodes Texas, Inc. | Apparatus and method for firewall traversal |
US8200827B1 (en) * | 2004-10-25 | 2012-06-12 | Juniper Networks, Inc. | Routing VoIP calls through multiple security zones |
US20060098622A1 (en) * | 2004-11-05 | 2006-05-11 | Vicotel, Inc. | Architecture for a multi-media session controlled network |
US7646775B2 (en) * | 2005-03-08 | 2010-01-12 | Leaf Networks, Llc | Protocol and system for firewall and NAT traversal for TCP connections |
CN1870568A (zh) * | 2005-05-23 | 2006-11-29 | 华为技术有限公司 | 实现网络地址转换/防火墙穿越的方法 |
US7920549B2 (en) * | 2005-07-20 | 2011-04-05 | Verizon Business Global Llc | Method and system for providing secure media gateways to support interdomain traversal |
US8296437B2 (en) * | 2005-12-29 | 2012-10-23 | Logmein, Inc. | Server-mediated setup and maintenance of peer-to-peer client computer communications |
US7706373B2 (en) * | 2006-11-01 | 2010-04-27 | Nuvoiz, Inc. | Session initiation and maintenance while roaming |
SG150411A1 (en) * | 2007-09-05 | 2009-03-30 | Creative Tech Ltd | Method of enabling access to data protected by firewall |
FR2925247B1 (fr) * | 2007-12-18 | 2011-11-04 | Alcatel Lucent | Controle de l'interface d'emission d'un message de reponse sip |
TW201002018A (en) * | 2008-06-26 | 2010-01-01 | D Link Corp | Method for predicting port number of NAT apparatus based on two STUN server inquiry results |
US8782773B2 (en) * | 2009-09-30 | 2014-07-15 | Avaya Inc. | Framework for communicating across a firewall |
-
2010
- 2010-02-05 WO PCT/CA2010/000167 patent/WO2010088774A1/en active Application Filing
- 2010-02-05 US US13/147,922 patent/US20120144475A1/en not_active Abandoned
- 2010-02-05 US US12/701,147 patent/US8825822B2/en active Active
- 2010-02-05 ES ES10738189T patent/ES2704473T3/es active Active
- 2010-02-05 EP EP10738189.9A patent/EP2394414B1/en active Active
- 2010-02-05 CA CA2751605A patent/CA2751605C/en active Active
- 2010-02-05 JP JP2011548510A patent/JP5655009B2/ja active Active
-
2014
- 2014-07-24 US US14/339,598 patent/US9350699B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007528549A (ja) * | 2004-03-10 | 2007-10-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 電子回路 |
JP2007528649A (ja) * | 2004-03-10 | 2007-10-11 | ノキア コーポレイション | モバイル端末とのセッション開始プロトコル通信セッションを確立するためのシステム及び方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011071745A (ja) * | 2009-09-25 | 2011-04-07 | Brother Industries Ltd | 通信方法、通信システム、端末装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2010088774A1 (en) | 2010-08-12 |
US8825822B2 (en) | 2014-09-02 |
JP5655009B2 (ja) | 2015-01-14 |
ES2704473T3 (es) | 2019-03-18 |
EP2394414B1 (en) | 2018-10-17 |
US20100205313A1 (en) | 2010-08-12 |
US20140334481A1 (en) | 2014-11-13 |
EP2394414A4 (en) | 2014-10-08 |
CA2751605A1 (en) | 2010-08-12 |
US20120144475A1 (en) | 2012-06-07 |
US9350699B2 (en) | 2016-05-24 |
CA2751605C (en) | 2016-04-05 |
EP2394414A1 (en) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5655009B2 (ja) | 拡縮可能なnat通過 | |
US9860215B2 (en) | Firewall interface configuration to enable bi-directional VoIP traversal communications | |
US7826602B1 (en) | Enabling incoming VoIP calls behind a network firewall | |
US8200827B1 (en) | Routing VoIP calls through multiple security zones | |
US7472411B2 (en) | Method for stateful firewall inspection of ICE messages | |
US8607323B2 (en) | Method for providing media communication across firewalls | |
US7509425B1 (en) | Establishing and modifying network signaling protocols | |
US20050125532A1 (en) | Traversing firewalls and nats | |
US20060187912A1 (en) | Method and apparatus for server-side NAT detection | |
US9307049B2 (en) | Voice-over-IP-(VoIP-) telephony computer system | |
US9203688B2 (en) | VoIP service system using NAT and method of processing packet therein | |
US20080062993A1 (en) | Traversing of nat address translation equipment for signaling messages compliant with sip protocol | |
US7411917B1 (en) | Method and system for providing registration-based SIP NAT traversal | |
US20070233901A1 (en) | Methods and systems for integrating network services with multiple communication protocols |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140108 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140402 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140409 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5655009 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |