JP5437255B2 - Tcpトランスポートプロトコルの一時使用によってsip信号メッセージ用アドレス変換装置を通過する方法 - Google Patents

Tcpトランスポートプロトコルの一時使用によってsip信号メッセージ用アドレス変換装置を通過する方法 Download PDF

Info

Publication number
JP5437255B2
JP5437255B2 JP2010529439A JP2010529439A JP5437255B2 JP 5437255 B2 JP5437255 B2 JP 5437255B2 JP 2010529439 A JP2010529439 A JP 2010529439A JP 2010529439 A JP2010529439 A JP 2010529439A JP 5437255 B2 JP5437255 B2 JP 5437255B2
Authority
JP
Japan
Prior art keywords
message
communication
signaling
server
client
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.)
Active
Application number
JP2010529439A
Other languages
English (en)
Other versions
JP2011502381A (ja
Inventor
フロマン,トマ
ラザール,マリウス
Original Assignee
アルカテル−ルーセント
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2011502381A publication Critical patent/JP2011502381A/ja
Application granted granted Critical
Publication of JP5437255B2 publication Critical patent/JP5437255B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2585NAT traversal through application level gateway [ALG]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は通信ネットワークに関する。より正確には、本発明はNAT(「ネットワークアドレス変換」)装置などのアドレス変換装置を介して信号メッセージを伝送する問題に関する。
現在の通信ネットワークは、H.323、MGCP(メディアゲートウェイ制御プロトコル)、またはSIP(セッション開始プロトコル)およびSDP(セッション記述プロトコル)などの信号プロトコルによる通信セッションの確立を可能にする。
このSIPプロトコルは、IETF(インターネット技術標準化委員会)によって発行されたRFC3261によって定義され、その二重目的は、
−2者が交信できるようにすることと、
−SDPプロトコルを介して、確立されるべきセッションの特性(ビデオビットレート、どの符号器(CODEC)を使用すべきか、など)のネゴシエーションを可能にすること、である。
セッション特性のネゴシエーションは、RFC3264、表題「SDP offer/answer model」によって指定される。
相手を呼び出したいと願う発呼者は、発呼者の個人アドレス、発呼者の端末(または、より一般的に言えばクライアント)の物理アドレス、および呼び出されている相手の個人アドレスを含む、「プロキシ」として知られる信号要素に、信号メッセージ(「Invite」)を送信できる。信号要素は、呼び出されている相手の個人アドレスを対応する端末の物理アドレスにマッチングさせるための手段(「registrar」)を有する。このマッチングによって、呼び出されている相手に信号メッセージがルーティングできるようになる。
相手が呼を受け入れると、その相手は端末またはクライアントの物理アドレスを含む新しい信号メッセージで応答する。このようにして、両端末が相手の物理アドレスを知ると、両端末はデータ(音声、ビデオなど)を伝送するためのIP(インターネットプロトコル)接続を確立できる。
しかし、RFC1631「The IP Network Address Translator」において、およびRFC3022「Traditional IP Network Address Translator(Traditional NAT)」において定義される、NAT(「ネットワークアドレス変換」)またはNAPT(「ネットワークアドレスポート変換」)装置として知られるアドレス変換装置に問題が生じる。これらの装置は、第1ネットワーク(一般にはプライベートネットワーク)と第2ネットワーク(パブリックインターネットネットワークなど)をインタフェースさせるように設計されている。
第1ネットワークの装置(端末)は、有効性がその第1ネットワークに限定される物理IPアドレスを有する。第1ネットワークの装置が、その第1ネットワークの外部に位置する装置との通信の確立を望む場合、アドレス変換装置が第2ネットワークに有効な一時第2アドレスを割り当てて、クライアントの第1アドレスと第2アドレスとの間の関連性を保つ。
したがって、NATアドレス変換装置は2つの通信ネットワーク間で伝送されたメッセージを:
−送信メッセージ、すなわち第1ネットワークからパブリック第2ネットワークに送信されているメッセージのIPヘッダ内の、端末の第1アドレスを第2アドレスに変換することによって、および、
−着信メッセージ、すなわち第2ネットワークから第1ネットワークに送信されているメッセージのIPヘッダ内の、端末の第2アドレスを第1アドレスに変換することによって、オンザフライで修正する。
したがって、アドレス変換装置、すなわちNAT装置は、第1アドレスと第2アドレスとをマッチアップさせるために使用される表を所有する。これらのマッチアップは一時的なものであり、接続またはセッションが終了すると削除される。これらの関連性またはマッチアップは、従来「バインディング」として知られる。
したがって、SIP/SDP信号メッセージ(あるいはH.323、またはその他)がアドレス変換装置を通過するときに問題が生じる。この問題は、「NAT通過」として知られる。
NAT通過は、とりわけオープンコンテント百科事典「ウィキペディア」、アドレス:「http://en.wikipedia.org/wiki/NAT_traversal.html」において説明されており、IETFによって発行されたRFC3235、表題「Network Address Translation(NAT)−Friendly Application Design Guidelines」において言及されている。
SIPおよびSDPなどの信号プロトコルは、アプリケーションプロトコルと考えられる。SIP/SDPプロトコルは、たとえば、それら自体がプロトコルスタック内のIPの上に位置するTCPまたはUDPプロトコルを介して伝送されてよい。したがって、実際にはSIPメッセージは、それ自体がIPメッセージ内に含まれたTCPまたはUDPメッセージ内に含まれた、パラメータの連続である。
NATアドレス変換装置は、IP層内で発見されたパラメータだけを編集して、上位層内で発見されたパラメータはそのままにしておく。
言い換えれば、IPヘッダ内に含まれるアドレスとは違って、SIPおよびSDPメッセージ内に含まれる物理アドレスは、アドレス変換装置によって編集されない。
その結果、信号メッセージの受信者(呼び出されているクライアント)は、発呼クライアントの第1アドレスしか知ることができない。しかし、このアドレスが有意味なのは第1ネットワーク内だけなので、どのような通信セッションも確立できない。
この問題はよく知られているので、解決するために数多くのソリューションが提案されてきた。この問題を解決するための2つの主な手法がある。発呼クライアントに基づく手法、および通信ネットワークのサーバまたは装置に基づく手法である。
第1カテゴリは、RFC3489で説明された、STUN(「Simple Traversal of UDP through NATs」)メカニズムを特に含む。このメカニズムによって、クライアント(または端末)は第2アドレスを知ることができるようになる。この方法では、発呼クライアントは、第2通信ネットワーク(たとえば、パブリックネットワーク)に送信されているメッセージよりも前に、この第2ネットワーク内に位置するSTUNサーバに要求を伝送する。このネットワークは、クライアント、すなわちクライアントの第2アドレスを「見る」アドレス(およびポート)を含むメッセージで応答する。
次いで、クライアントは、SDPプロトコルを介して応答を受信するためにどのアドレスを使用したいかを示すために、この第2アドレスを使用してよい。
しかし、数多くのNAT装置が「対称型」で、1組の通話者に第2アドレスをバインディングすると言われるので、このソリューションは重要な制限に悩まされることになる。さらに、NAT装置によってクライアントに割り当てられた第2アドレスは、STUNサーバとの通信と、相手と確立されるべきセッションとでは異なる場合がある。同様の場合、クライアントと相手との間の通信は確立できない。
この状況を改善するために、TURN(「Traversal Using Relay NAT」)メカニズムなどの他の提案が、同じ原則に基づいて作成された。TURNメカニズムの仕様は、ウェブアドレスhttp://ietfreport.isoc.org/idref/draft−rosenberg−midcom−turn/で入手可能である。
しかし、STUNメカニズムとTURNメカニズムのどちらもSIPプロトコルに適していない。
さらに、SIP信号メッセージを通過に適するようにするために、新しいメカニズムであるICE(「Interactive Connectivity Establishment」)が提案された。ICEは、STUNおよびTURNメカニズムを適合させることによって、STUNおよびTURNメカニズムに基づく。
ICEメカニズムの仕様は、ウェブアドレスhttp://ietfreport.isoc.org/idref/draft−ietf−mmusic−ice/で入手可能である。
ソリューションの第2カテゴリは、通信ネットワーク内の装置に依存する。最も初期のソリューションはネットワーク内にサーバ(たとえば、STUNサーバ)を実装したが、クライアントがイニシアチブを有する点に留意されたい。しかし、ソリューションのこの第2ファミリでは、イニシアチブおよびNAT通過ソリューションの実装は、両方ともネットワーク装置に課せられた義務である。
たとえば、このファミリに属する第1ソリューションは、アプリケーションゲートウェイをNATアドレス変換装置にバインディングしている。このメカニズムは、「Application Layer Gateway」または「Application−Level Gateway」を意味するALGとして知られ、1999年8月に発行されたRFC2663、表題「IP Network Address Translator(NAT)Terminology and Considerations」のパラグラフ2.9で定義される。
このゲートウェイ(または、このようなゲートウェイと同じ機能を有するNAT装置)は、メッセージによって使用されるアプリケーションプロトコルを理解するための手段を有する。特に、このゲートウェイは信号メッセージのコンテンツを理解でき、通話者が自分の第1アドレスではなく第2アドレスを交換して、それによって通信セッションを確立できるように、SDPメッセージ内に含まれる物理アドレスを変換できる。
このソリューションのある変形形態は、信号メッセージの経路に沿って位置することになるセッションコントローラ、すなわちSBC(「Session Border Controller」を意味する)を使用することで構成される。このタイプの製品により、両ネットワーク間の通信セッションおよび信号メッセージの送信を制御することが可能になる。より正確には、SBCは、通話者間で通信セッションが適切に確立されうるように、Megacoなどのプロトコルを介してメディアを伝送する手段(「メディアプロキシ」)を制御できる、SIP「プロキシ」信号要素の役割を担うことができる。
しかし、接続またはセッションの終了後、NATアドレス変換装置は第1および第2アドレス内のバインディングを保存しないので、他の技術的な問題が生じる。
SIP信号メッセージは、TCP(伝送制御プロトコル)またはUDP(ユーザデータグラムプロトコル)プロトコルによってトランスポートされうる。TCPプロトコルは、セッションを終了させるための操作が行われるまでオープン接続を保つ。さらに、TCPを使用するSIPセッションが使用される場合、TCP接続が終了するまでNATアドレス変換装置がバインディングを保存することになる。
しかし、UDPプロトコルについてはどのような接続も確立されない。さらに、NATアドレス変換装置はバインディングを一時的に、すなわちあらかじめ定められた長さの期限が切れるまで保存するにすぎない。
したがって、SIP信号をトランスポートするためのUDPプロトコルの使用は、NATアドレス変換装置通過にとって重大な問題を引き起こす。
しかし、TCPプロトコルを使用することも、オープン接続を保存するためにさまざまな参加者を必要とするので、問題を引き起こす。このような場合、サーバまたはプロキシは、通信をしているSIP端末、すなわちクライアントと同数のオープン接続が保存されるように保たなければならない。
それぞれのTCP接続がかなりの量のコンテキストデータを表すので、これはSIPプロキシにとって重大な負担である。通信ネットワークの設計者は、Linuxなどのオペレーティングシステムが操作できるTCP接続の最大限度(65536の同時接続数)などの、非常に明確な問題に直面していることにも気づくだろう。
さらに、現在ほとんどのSIPアーキテクチャはUDPトランスポートプロトコルに基づいている。
第1アドレスと第2アドレスとの間のバインディングの一時的な性質を矯正するために、バインディングをアクティブに保つことを唯一の目的として、両者間で定期的に信号メッセージが伝送される。
これらの信号メッセージは通常SIPプロトコルの「Register」メッセージであり、バインディングの有効期限値を含む「Expires」ヘッダを含む。この有効期間は、クライアントとサーバまたはプロキシとの間でネゴシエーションされうる。たとえば、第1の「Register」メッセージ内で、クライアントが第1の値を示す。サーバまたはプロキシは「Expires」ヘッダ内に第2の値を含む「200 Ok」メッセージで応答する。標準によれば、クライアントは次いでこの第2の値を有効期間として使用しなければならない。次いで、クライアントはこの第2の値によって決定された一定の間隔で「Register」メッセージを送信することになる。
この手法は「UDPホールパンチング」として知られる。
しかしTCPプロトコルには、ある種のアプリケーションにとってTCPプロトコルを必要なものにする利点がある。
たとえば、メッセージのサイズが大きい場合、UDPプロトコルはそのメッセージをより小さいデータグラムに分解するので、断片化問題を引き起こすことがある。しきい値は通信ネットワークに依存し、通信ネットワークの最大伝送ユニット(すなわちMTU)によって決定される。このしきい値は、イーサネット(登録商標)ネットワーク(TM)では1300バイトである。
RFC3261のパラグラフ18.1.1で説明されるように、一旦SIPメッセージがこのしきい値からバッファ値200バイトを引いたものに対応するサイズを越えると、UDPプロトコルはもはや使用できない。このような場合、TCPプロトコル(または、輻輳制御を可能にする他のプロトコル)が使用されなければならない。
IETF(インターネット技術標準化委員会)によって発行されたRFC3261 RFC3264、表題「SDP offer/answer model」 RFC1631「The IP Network Address Translator」 RFC3022「Traditional IP Network Address Translator(Traditional NAT)」 オープンコンテント百科事典「ウィキペディア」、「http://en.wikipedia.org/wiki/NAT_traversal.html」 IETFによって発行されたRFC3235、表題「Network Address Translation(NAT)−Friendly Application Design Guidelines」 RFC3489 TURNメカニズムの仕様、http://ietfreport.isoc.org/idref/draft−rosenberg−midcom−turn/ ICEメカニズムの仕様、http://ietfreport.isoc.org/idref/draft−ietf−mmusic−ice/ 1999年8月に発行されたRFC2663、表題「IP Network Address Translator(NAT)Terminology and Considerations」のパラグラフ2.9
UDPプロトコルの使用とTCPプロトコルの使用のどちらも満足のいくものではなく、両方の知られているソリューションによって生じる技術的な問題を矯正するソリューションが必要である。本発明の目的は、このようなソリューションを提案することである。
そのためには、本発明の第1の目的は、第1ネットワークとは異なる第2通信ネットワーク内に位置し、アドレス変換装置を介して第1ネットワークに接続されている信号サーバを用いて、第1通信ネットワーク内に位置する第1通信クライアントと、第2通信クライアントとの間の通信セッションを確立するための方法である。
この方法は、前記第1通信クライアントに、通信サーバに登録メッセージを伝送させることによって、アドレス変換装置内の第1通信クライアントの第1アドレスと第2アドレスとをバインディングするステップで構成される。
本方法は、信号サーバが:
−第2通信クライアントから送信された、第1通信クライアント宛ての着信信号メッセージを保存し、
−後続の登録メッセ−ジに、第1通信クライアントがTCPプロトコルを使用して新しい登録メッセージを送信することを要求する応答メッセージで応答し、
−新しい登録メッセージが受信された後で、以前保存された着信信号メッセージを配信することを特徴とする。
たとえば、第1通信ネットワークは、プライベートネットワークでよく、第2通信ネットワークは、パブリック通信ネットワークでよい。
登録メッセージおよび応答メッセージは、UDPプロトコルによって搬送されてよい。
本発明の一実施形態では、信号サーバは、「302 Moved Temporarily」メッセージを伝送するTCPプロトコルを使用して、新しい登録メッセージを送信することを要求する。
この「302 Moved Temporarily」メッセージは、「TCP」に設定された「Transport」パラメータを含む「Contact」ヘッダを含む。
最後に、本発明の一実施形態では、信号メッセージはSIP信号メッセージ「Invite」、「Subscribe」、「Publish」、「Refer」、および「Message」を含むグループの中から選択される、SIPプロトコルによる最初のメッセージでよい。
本発明の他の目的は:
−信号サーバが位置する第2通信ネットワークと異なり、アドレス変換装置を介して前記サーバに接続している第1通信ネットワーク内に位置する少なくとも1つの通信クライアントと信号メッセージを交換するための第1インタフェースと、
−第2通信ネットワーク内に位置する他の装置とともに信号メッセージを伝送するための第2インタフェースとを含む、信号サーバである。
第1インタフェースは、通信クライアントから送信された登録メッセージを受信するように設計されており、アドレス変換装置内の通信クライアントの第1アドレスと第2アドレスとの間のバインディングを維持することを目的としている。
この通信サーバは:
−第2インタフェースから通信クライアントに送信された着信信号メッセージを保存するためのメモリをさらに含むことと、
−第1インタフェースが、着信信号メッセージの到着後、通信サーバが、後続の登録メッセージに、通信クライアントがTCPプロトコルを使用して新しい登録メッセージを送信することを要求する応答メッセージで応答して、この新しい登録メッセージの受信に続いて、着信信号メッセージ(以前に保存された)を配信できるように設計されていることとを特徴とする。
最後に、本発明の第3の目的は、このような通信サーバ実装する少なくとも1つのCSCF(「呼セッション制御機能」)機能要素を含む、IMS(「IPマルチメディアサブシステム」)アーキテクチャである。
この方法では、必要な場合のみTCP接続が確立され、通信セッションごとに同時に1つのTCP接続をアクティブに保つ必要はない。したがって過剰なTCP接続によってもたらされる問題が生じず、しかしTCP接続を「オンデマンド」で確立することによってUDPプロトコルに関する不足が解決する。
本発明のソリューションの唯一の欠点は、TCP接続が確立されるまで着信信号メッセージを保存することによって、遅延が生成される可能性があることである。この遅延は、リフレッシュ時間によって決定される。
本発明、本発明の諸特徴、および本発明の諸利点は、添付の図面に関連して以下の説明で明らかになるだろう。
本発明の信号サーバが配備されうるアーキテクチャを示す図である。 通信クライアントと本発明の信号サーバとの間で実装されうる、例示的対話のダイアグラムを示す図である。
図1に示した例示的ネットワークアーキテクチャにおいて、2つの通信クライアントCおよびCが通信ネットワークNに接続されている。通信クライアントCは第1通信ネットワークNに属し、第1通信ネットワークNはアドレス変換装置NATを介して第2通信ネットワークNに接続されている。
通信クライアントCは、第1通信ネットワークN内で使用されうる第1アドレスを所有している。通信クライアントCは、この第1アドレスをこの第1ネットワーク(装置NATを含む)に属する装置と通信するために使用できるが、外部の装置と通信するためには使用できない。これらの外部の装置と通信するためには、アドレス変換装置NATによって第2アドレスが通信クライアントCに一時的に割り当てられる。
したがって、このアドレス変換装置NATは、クライアントCの第1アドレスと第2アドレスと間のバインディングを維持する。このクライアントCからの、またはそこへのメッセージが分析されて、第1アドレスが第2アドレスに、およびその逆に変換される。
第1通信ネットワークは、たとえば、プライベート通信ネットワークでよく、第2通信ネットワークはパブリックネットワークでよい。
通信クライアントCは、信号サーバSを介して通信クライアントCに接続できる。この信号サーバは、一般にSIPプロキシサーバである。3GPPまたはTISPNA標準機構によって指定されたIMS(IPマルチメディアサブシステム)アーキテクチャがあれば、このサーバまたはプロキシサーバはCSCF(呼セッション制御機能)要素でよい。
信号サーバSはSGC(セッションボーダコントローラ)でもよい。
以下の説明では、クライアントCと信号サーバとの間の接続だけを主に取り扱う。したがって、クライアントCとサーバSとの間の接続は詳細に説明しない。
図1に示された例は、本発明をより良く理解するために、ある非常に単純化された実施形態を表している。この方法では、通信クライアントCは、第2アドレス変換装置NATを介して第2通信ネットワークNに接続された、第3ネットワークNに属する。
実際の配備では、信号サーバSと通信クライアントCとの間に他の装置が存在してよい。たとえば、通信クライアントCは他の信号サーバに接続してよく、両信号サーバは直接または他のサーバを介して通信してよい。
しかし、図1に示される例は、本発明の精神から逸脱することなしに、また本発明において直接的な役割を担わない装置に焦点を合わせることなしに、本発明を理解することを可能にする。
第1および第2アドレスをバインディングするために、通信クライアントCは登録メッセージを信号サーバSに伝送する。これらのメッセージは、一般に定期的に、場合によってはネゴシエーション後に伝送される。
図2は、クライアントCと信号サーバSとの間の交換を示している。それぞれの縦軸はネットワーク要素を表しており、それぞれC、アドレス変換装置NAT、および信号サーバSである。線が下方に移動するにつれて時間が増加する。水平矢印は、これらの要素間で交換された信号メッセージを表している。
登録メッセージMは、最初の登録メッセージである。登録メッセージMは、リフレッシュ時間のための第1の値を指定する。この第1の値は高くてよく、たとえば3600秒でよい。
信号サーバSは、第2の値、たとえば30秒を含んでよい、応答メッセージRで応答する。
次いで、クライアントCは、応答メッセージR内で伝送されたこの第2の値を基礎として使用してよい。第2の値がない場合は、クライアントCは、以前に自分で決定した第1の値を基礎として使用する。
このようにして決定されたこのリフレッシュ時間値に対応するインターバルΔがある場合、通信クライアントCは信号メッセージM、M、M...を信号サーバSに伝送し、信号サーバSはそれぞれ応答メッセージR、R、R...でそれらのメッセージに応答する。
信号サーバは、これらの登録メッセージを受信して応答メッセージで応答するように設計された、インタフェースIを有する。
これらの登録メッセージは、SIPプロトコルに適合する「Register」メッセージでよい。リフレッシュ時間は、これらのメッセージの「Expire」ヘッダ内に含まれてよい。応答メッセージは、SIPプロトコルの「200 OK」メッセージでよく、リフレッシュ時間がもしあれば、「Expire」ヘッダ内に含まれてよい。
これらの登録メッセージM、M、M、M...および応答メッセージR、R、R、R...は全てが、UDPプロトコルによって搬送される。「Via」ヘッダ内で、登録メッセージが、トランスポートプロトコルはUDPでなければならないと指定する。
この種のViaヘッダは以下のようでよい:
Via:SIP/2.0/TCP client.a.example.com:5620;branch=z9hG4bK74bf9
したがって、これらの信号サーバSは、クライアントCとの接続を処理するために、どのようなTCP接続もオープンに維持しない。
所与の時間に、信号サーバSは、第2通信クライアントCから送信された着信信号メッセージMIを受信してよい。着信信号メッセージMIは、「Invite」、「Subscribe」、「Publish」、「Refer」、または「Message」メッセージなどの、SIPプロトコルによる「最初の」信号メッセージでよい。「Invite」メッセージの目的は、発呼通信クライアントCとの通信セッションの確立を受け入れるために、通信クライアントCをインバイトすることである。
この通信は、TCPプロトコルの使用を必要とすることがある。
これらの要求が体系的であり、クライアントCから送信されたそれぞれのインビテーションが、確立すべきセッションを搬送するためのTCP接続の作成につながることが可能である。
TCPプロトコルとUDPプロトコルとの間で選択が行われるも可能性もある。この選択は、この着信信号メッセージMI内のパラメータによって決定されてよい。このパラメータは、SIPプロトコルによる「contact」ヘッダ内に挿入されてよい。
選択は、場合によっては、着信信号メッセージMI内に挿入されたパラメータを考慮に入れることによって、信号サーバSによって決定されてもよい。
通信セッションがTCPトランスポートプロトコルの使用を必要とすると仮定する。
着信信号メッセージは、信号サーバSのインタフェースI2によって受信されて、メモリM内に一時的に保存される。応答メッセージRN−1を送信後、信号サーバSはそれに続く登録メッセージMを待つ。したがって、着信信号メッセージMIを処理するための待ち時間δは、リフレッシュ時間Δより少ない。
サーバSは、通信クライアントCがTCPプロトコルを使用して新しい登録メッセージを送信することを要求する応答メッセージRで、登録メッセージMに応答する。
一実施形態では、この応答メッセージは、SIPプロトコルによる「302 Moved Temporarily」メッセージでよい。
このタイプのメッセージは、交信されるべきホストの新しいURI(ユニバーサルリソース識別子)を指定する「Contact」ヘッダを含む。このタイプのメッセージは、それを使ってホストが交信されなければならないトランスポートプロトコルを指定するパラメータも含む。
このパラメータは、RFC3261のセクション20.10によって定義されているように、「Transport」パラメータでよい。
「Contact」ヘッダは、たとえば以下のようでよい:
Contact:<sip:bob@192.0.2.4;transport=UDP>;expires=60
本発明のコンテキスト内で、これはアドレスの真の変更として働かず、したがってこのヘッダは、信号サーバSのアドレスを含む。トランスポートプロトコルを指定するパラメータの値は「TCP」である。
したがって、「302 Moved Temporarily」メッセージタイプの使用は、既存のSIPプロトコルに新しいタイプのメッセージが追加される必要なしに、必要とされる情報を伝送することを可能にする。
この応答メッセージRは、TCPプロトコルを使用して送信されるべき、新しい登録メッセージMN+1をもたらす。
この新しい登録メッセージは、応答メッセージRの受信直後に、すなわち、以前のようにリフレッシュ時間Δが切れるのを待たずに伝送されてよい。これにより、着信信号メッセージMIを処理するための待ち時間を減らすことが可能になる。
登録メッセージMN+1によって、アドレス変換装置NATを介して通信クライアントC1と信号サーバSとの間のTCP接続をオープンできるようになる。
一旦TCP接続が確立されると、信号サーバは信号メッセージMIを受信側通信クライアントCに配信できる。次いで、信号サーバSのメモリMから信号メッセージMIが削除される。
通信セッションが終了する(たとえば、2つの通信クライアントのうちの1つを切る)と、信号サーバは終了メッセージを通信クライアントCに伝送してよい。
次いで、TCP接続は終了してよい。
次いで、アドレス変換装置NAT内のバインディングを維持するために、通信クライアントCが、頻度ΔでUDPプロトコルによって搬送された登録メッセージの伝送を再開する。
上記のように、TCP接続はある種のTCPプロトコルアプリケーションの要求を満たす。
さらに、TCP接続により、状況によっては不可能なはずの着信信号メッセージMIの送信が可能になる。実際、ある種のアドレス変換装置はファイアウォール機能を有する。それらのアドレス変換装置は、第1ネットワークNまたはTCP接続の一部から送信されたメッセージに応答しない限り、パブリックネットワークNから送信されたメッセージの伝送を可能にしない。
このような場合、TCP接続の確立により、ファイアウォールNATを介してインビテーションメッセージMIを伝送することが可能になる。したがって、本発明はこのさらなる技術的な問題を解決する。
本発明の結果、TCP接続は通信セッションの間のみオープンになる。残りの時間、すなわち通信クライアントは待っているだけだが、インビテーションメッセージを送受信するために利用可能である場合、通常のUDPプロトコル交換が信号サーバとの接続を維持することを可能にする。
したがって、本発明は、SIPプロトコルのもとで、UDPおよびTCPプロトコルのそれぞれの諸利点の恩恵を受けるために、それらのプロトコルの使用を最適化することを可能にする。

Claims (12)

  1. 第1通信ネットワーク(N)とは異なる第2通信ネットワーク(N)内に位置し、アドレス変換装置(NAT)を介して前記第1ネットワークに接続されている信号サーバ(S)を介して、前記第1通信ネットワーク(N)内に位置する第1通信クライアント(C)と、第2通信クライアント(C)との間の通信セッションを確立するための方法であって、前記第1通信クライアントに、UDPプロトコルに従って信号サーバに登録メッセージを伝送させることによって、前記アドレス変換装置内の前記第1通信クライアントの第1アドレスと第2アドレスとをバインディングするステップを含み、前記方法が、
    −第2通信クライアントから送信された、第1通信クライアント宛ての着信信号メッセージを信号サーバで保存すること
    信号サーバにより、保存された着信信号メッセージに後続する第1通信クライアントからの登録メッセ−ジに、第1通信クライアントがTCPプロトコルを使用して新しい登録メッセージ(MN+1)を送信することを要求する応答メッセージ(R)で応答することと
    −TCPプロトコルを使用した前記新しい登録メッセージが信号サーバにより受信された後信号サーバにより前記着信信号メッセージ(MI)を第1通信クライアントへ配信することを有することを特徴とする、方法。
  2. 前記第1通信ネットワークがプライベートネットワークであり、前記第2通信ネットワークがパブリック通信ネットワークである、請求項1に記載の方法。
  3. 記応答メッセージがUDPプロトコルによって搬送される、請求項1または2に記載の方法。
  4. 前記信号サーバが、「302 Moved Temporarily」メッセージを伝送するTCPプロトコルを使用して、新しい登録メッセージが送信されることを要求する、請求項1から3のいずれか一項に記載の方法。
  5. 前記「302 Moved Temporarily」メッセージが、「TCP」に設定された「Transport」パラメータを含む「Contact」ヘッダを含む、請求項4に記載の方法。
  6. 前記信号メッセージがSIPプロトコルによる最初のメッセージであり、「Invite」、「Subscribe」、「Publish」、「Refer」、および「Message」を含むグループの中から選択される、請求項1から5のいずれか一項に記載の方法。
  7. 信号サーバ(S)であって、
    前記信号サーバが位置する第2通信ネットワーク(N)と異なり、アドレス変換装置(NAT)を介して前記信号サーバに接続している第1通信ネットワーク(N)内に位置する少なくとも1つの通信クライアント(C)と信号メッセージを交換するように構成された第1インタフェース(Iを含み、前記第1インタフェースが、通信クライアントから送信された登録メッセージを受信するように設計されており、前記アドレス変換装置内の前記通信クライアントの第1アドレスと第2アドレスとをバインディングすることを目的とし、
    前記第2通信ネットワーク内に位置する他の装置とともに信号メッセージを伝送するように構成された第2インタフェース(I
    記第2インタフェースから前記通信クライアントに送信された着信信号メッセージ(MI)を保存するように構成されたメモリ(M)を含み、
    前記第1インタフェース、前記着信信号メッセージのうちの1つの到着に続いて、前記第1インタフェースがが、前記通信クライアント(C)がTCPプロトコルを使用して新しい登録メッセージ(MN+1)を送信することを要求する応答メッセージ(R)で通信クライアントからのUDPプロトコル登録メッセージに応答し、前記第1インタフェースが、通信クライアントからのTCPプロトコルを使用した前記新しい登録メッセージの受信に続いて、通信クライアントへ前記着信信号メッセージ(MI)を配信るように設計されていることを特徴とする、信号サーバ。
  8. 前記第1通信ネットワークがプライベートネットワークであり、前記第2通信ネットワークがパブリック通信ネットワークである、請求項7に記載の信号サーバ。
  9. 記応答メッセージがUDPプロトコルによって搬送される、請求項7または8に記載の信号サーバ。
  10. 前記第1インタフェースが、「302 Moved Temporarily」メッセージを伝送するTCPプロトコルを使用して、新しい登録メッセージが送信されることを要求するように設計された、請求項7から9のいずれか一項に記載の信号サーバ。
  11. 前記「302 Moved Temporarily」メッセージが、「TCP」に設定された「Transport」パラメータを含む「Contact」ヘッダを含む、請求項10に記載の信号サーバ。
  12. 前記信号メッセージが、SIPプロトコルによる最初のメッセージであり、「Invite」、「Subscribe」、「Publish」、「Refer」、および「Message」を含むグループの中から選択される、請求項7から9のいずれか一項に記載の信号サーバ。
JP2010529439A 2007-10-19 2008-10-15 Tcpトランスポートプロトコルの一時使用によってsip信号メッセージ用アドレス変換装置を通過する方法 Active JP5437255B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0758427A FR2922706B1 (fr) 2007-10-19 2007-10-19 Procede de traversee d'equipement de traduction d'adresses pour messages de signalisation sip par utilisation temporaire du protocole de transport tcp
FR0758427 2007-10-19
PCT/FR2008/051863 WO2009053646A1 (fr) 2007-10-19 2008-10-15 Procédé de traversée d'équipement de traduction d'adresses pour messages de signalisation sip par utilisation temporaire du protocole de transport tcp

Publications (2)

Publication Number Publication Date
JP2011502381A JP2011502381A (ja) 2011-01-20
JP5437255B2 true JP5437255B2 (ja) 2014-03-12

Family

ID=39537550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010529439A Active JP5437255B2 (ja) 2007-10-19 2008-10-15 Tcpトランスポートプロトコルの一時使用によってsip信号メッセージ用アドレス変換装置を通過する方法

Country Status (6)

Country Link
US (1) US8040800B2 (ja)
EP (1) EP2051477B1 (ja)
JP (1) JP5437255B2 (ja)
CN (1) CN101414950B (ja)
FR (1) FR2922706B1 (ja)
WO (1) WO2009053646A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257433B (zh) * 2007-03-01 2011-09-14 华为技术有限公司 实现网络地址转换穿越的方法和系统
US8706888B2 (en) * 2009-10-20 2014-04-22 Avaya, Inc. Hierarchal structuring of nodes in a peer-to-peer network
JP5289345B2 (ja) * 2010-01-19 2013-09-11 エヌ・ティ・ティ・コミュニケーションズ株式会社 アドレス変換装置、通信システム、メッセージ通信方法、及びプログラム
FR2985878A1 (fr) * 2012-03-28 2013-07-19 France Telecom Procede de selection d'un protocole de transport de messages
US20140098727A1 (en) * 2012-10-04 2014-04-10 Apple Inc. Methods and apparatus for network signaling during low-power operation
EP2974426A2 (en) * 2013-03-15 2016-01-20 Intel Corporation Downlink power management
GB2513597B (en) * 2013-04-30 2021-04-07 Metaswitch Networks Ltd SIP signalling
TWI527407B (zh) * 2014-03-18 2016-03-21 國立交通大學 會談感知的網路位址轉換穿透方法
FR3030968A1 (fr) * 2014-12-23 2016-06-24 Orange Procede et dispositif de maintien d'associations d'adresses de transport aupres d'une entite de traduction d'adresses
FR3034603A1 (fr) * 2015-03-31 2016-10-07 Orange Procede de creation d'associations d'adresses et entite de traductions d'adresses
CN105391817A (zh) * 2015-11-26 2016-03-09 上海紫越网络科技股份有限公司 基于sdp自检测nat穿越系统及方法
CN110351224A (zh) * 2018-04-03 2019-10-18 成都鼎桥通信技术有限公司 一种sip状态服务的发布方法和装置
US11290501B2 (en) * 2018-08-10 2022-03-29 Lenovo (Singapore) Pte. Ltd. Transport layer protocol for SIP message
KR20210054162A (ko) * 2019-11-05 2021-05-13 삼성전자주식회사 호 연결 시간을 단축하는 방법 및 이를 위한 전자 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001156852A (ja) * 1999-11-29 2001-06-08 Nec Corp ネットワークアドレス変換装置
JP3972733B2 (ja) * 2002-05-30 2007-09-05 株式会社日立製作所 アドレス変換装置、アドレス変換システム、及びsipサーバ
DE60225906T2 (de) * 2002-08-13 2009-04-09 Alcatel Lucent Verfahren zur Leistungssteuerung des TFCI-Datenfeldes
JP2005057462A (ja) * 2003-08-04 2005-03-03 Nippon Telegr & Teleph Corp <Ntt> 着信転送ネットワークサービスシステムと着信経路情報設定システムおよびプログラム
KR100607993B1 (ko) * 2004-07-16 2006-08-02 삼성전자주식회사 이종 네트워크간 통신 시스템 및 방법
DE602005013410D1 (de) * 2005-12-15 2009-04-30 Nokia Corp Verfahren, Apparat und Computerprogrammprodukt zur Beibehaltung von Abbildungszuordnungen
ATE484911T1 (de) * 2006-03-30 2010-10-15 Alcatel Lucent Erlernen der abmeldungszeit einer adressverbindung in einer adressenübersetzungsvorrichtung für einen sip- signalisierungsserver
US7617337B1 (en) * 2007-02-06 2009-11-10 Avaya Inc. VoIP quality tradeoff system

Also Published As

Publication number Publication date
WO2009053646A8 (fr) 2009-12-17
EP2051477B1 (fr) 2016-01-27
JP2011502381A (ja) 2011-01-20
FR2922706B1 (fr) 2014-05-16
WO2009053646A1 (fr) 2009-04-30
CN101414950A (zh) 2009-04-22
EP2051477A1 (fr) 2009-04-22
US20090103540A1 (en) 2009-04-23
FR2922706A1 (fr) 2009-04-24
CN101414950B (zh) 2012-12-12
US8040800B2 (en) 2011-10-18

Similar Documents

Publication Publication Date Title
JP5437255B2 (ja) Tcpトランスポートプロトコルの一時使用によってsip信号メッセージ用アドレス変換装置を通過する方法
Johnston SIP: understanding the session initiation protocol
US9137027B2 (en) Bootstrapping in peer-to-peer networks with network address translators
KR100511479B1 (ko) Nat를 갖는 망에서의 sip 서비스 방법
US7720976B2 (en) Peer-to-peer communication between different types of internet hosts
EP2449749B1 (en) Method and apparatus for relaying packets
US20070253418A1 (en) Routing path optimization between sip endpoints
US20030009561A1 (en) Providing telephony services to terminals behind a firewall and /or network address translator
KR101368172B1 (ko) 호출자 통신 클라이언트와 피호출자 통신 클라이언트 간의 통신 세션을 셋업하는 방법과 이 통신 세션의 셋업을 가능하게 하는 통신 네트워크와 컴퓨터 프로그램
US20050066038A1 (en) Session control system, communication terminal and servers
JP5089701B2 (ja) アドレス情報の冗長構成によるsipプロトコルシグナリングメッセージのnatアドレス変換設備の通過
US20160308930A1 (en) Method and System to Add Video Capability to any Voice over Internet Protocol (Vo/IP) Session Initiation Protocol (SIP) Phone
GB2443238A (en) Maintaining accessibility for SIP clients behind NAT firewalls using intermediary proxy, UDP/TCP conversion and keep alive messages
Boulton et al. Nat traversal practices for client-server sip
KR100769216B1 (ko) 홈 네트워크를 위한 에스아이피 서비스 방법
EP2079222A1 (en) An address translator traversal method for SIP signaling messages by temporary use of TCP transport protocol
Sisalem et al. A short history of VoIP services
Nurmela Session initiation protocol
Segeč SIP OVER NAT
Camarillo et al. NAT Traversal Practices for Client-Server SIP
Zeng Network Working Group J. Goldberg Internet-Draft Cisco Intended status: Standards Track M. Westerlund Expires: August 3, 2014 Ericsson

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110801

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130425

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: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131211

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5437255

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250