(57)【要約】  ＮＡＴ装置を介してネットワークに接続されたユーザーの電子通信装置の間での通信方法は、呼出し要求を信号伝達サーバーに送信するステップと、中継サーバーＩＰアドレスを設定するステップと、呼出し要求及び中継サーバーＩＰアドレスを受信装置に送信するステップと、中継サーバーＩＰアドレスを呼出し装置に送信するステップと、中継サーバーを介して通信を開始するステップと、前記通信開始に続いて、装置のパブリックアドレス及びプライベートアドレスによって識別し、且つ報告するステップと、装置間で接続性を確立するステップと、ピア・ツー・ピア・モードで通信を継続するステップと、を備える。【選択図】図３
2015521436.tif 000002
【特許請求の範囲】
【請求項１】
ＮＡＴ装置を介してネットワークに接続されたユーザーの電子通信装置の間で、通信をできるだけ早く開始する方法であって、
第２電子通信装置と通信するために、ＮＡＴ装置を介してネットワークに接続された第１電子通信装置によって、呼出し要求を信号伝達サーバーに送信するステップと、
前記信号伝達サーバーによって、中継サーバーＩＰアドレスを設定するステップと、
前記信号伝達サーバーによって、前記呼出し要求及び前記中継サーバーＩＰアドレスを、ＮＡＴ装置を介してネットワークに接続された前記第２電子通信装置に送信するステップと、
前記中継サーバーＩＰアドレスを、前記第１電子通信装置に送信するステップと、
前記中継サーバーを介して、前記第１電子通信装置と前記第２電子通信装置との間で、通信を開始するステップと、
前記通信開始に続いて、
前記中継サーバーによって、第１電子通信装置パブリックアドレス及び第２電子通信装置パブリックアドレスを識別するステップと、
前記第１電子通信装置及び前記第２電子通信装置によって、それらのプライベートＩＰアドレスを前記中継サーバーに報告するステップと、
前記中継サーバーによって、前記第１電子通信装置及び前記第２電子通信装置の各々に、そのピアのパブリックＩＰアドレス及びプライベートＩＰアドレスを報告するステップと、
前記第１電子通信装置及び前記第２電子通信装置によって、接続性を確立するステップと、
接続性を確立するにあたり、ピア・ツー・ピア・モードにおいて、前記報告されたパブリックＩＰアドレス及びプライベートＩＰアドレスを介して、前記第１電子通信装置と前記第２電子通信装置との間で、通信を継続するステップと、
を備えることを特徴とする、方法。
【請求項２】
請求項１に記載の方法であって、中継サーバーＩＰアドレスを前記設定するステップは、前記信号伝達サーバーに格納された中継サーバーのリストの中に、中継サーバーを設定するステップを備えることを特徴とする、方法。
【請求項３】
請求項１に記載の方法であって、中継サーバーＩＰアドレスを前記設定するステップは、前記信号伝達サーバーのサービスに対して登録された中継サーバーを設定することを特徴とする、方法。
【請求項４】
請求項１に記載の方法であって、前記中継サーバーによって、第１電子通信装置パブリックＩＰアドレス及び第２電子通信装置パブリックＩＰアドレスを前記識別するステップは、到着するパケットの出所である前記ＩＰアドレスを識別するステップを備えることを特徴とする、方法。
【請求項５】
請求項１に記載の方法であって、前記中継サーバーによって、前記第１電子通信装置及び前記第２電子通信装置の各々に、そのピアの前記パブリックＩＰアドレス及び前記プライベートＩＰアドレスを前記報告するステップは、前記ＩＰアドレスを前記信号伝達サーバーに報告するステップを備えることを特徴とする、方法。
【請求項６】
請求項１に記載の方法であって、前記中継サーバーによって、前記第１電子通信装置及び前記第２電子通信装置の各々に、そのピアの前記パブリックＩＰアドレス及び前記プライベートＩＰアドレスを前記報告するステップは、各ユーザーに、そのピアのＩＰアドレスを直接報告するステップを備えることを特徴とする、方法。
【請求項７】
請求項６に記載の方法であって、前記直接報告するステップは、同じチャンネル上で、音声及び信号伝達パケットを多重化するステップを備えることを特徴とする、方法。
【請求項８】
請求項６に記載の方法であって、前記直接報告するステップは、音声通信に対して、及び信号伝達に対して、異なるチャンネルを使用するステップを備えることを特徴とする、方法。
【請求項９】
請求項１に記載の方法であって、仮に接続性が確立されなかった場合、前記中継サーバーを介して、前記第１電子通信装置と前記第２電子通信装置との間で、前記通信を継続するステップを更に備えることを特徴とする、方法。
【請求項１０】
ＮＡＴ装置を介してネットワークに接続されたユーザーの電子通信装置の間で、通信をできるだけ早く開始する方法であって、
第２電子通信装置と通信するために、第１電子通信装置によって、呼出し要求を信号伝達サーバーに送信するステップと、
前記信号伝達サーバーによって、２つの中継サーバーのＩＰアドレスを設定するステップと、
第１中継サーバーを前記第１電子通信装置に割り当てるステップ、及び第２中継サーバーを前記第２電子通信装置に割り当てるステップと、
前記信号伝達サーバーによって、前記呼出し要求及び前記第１中継サーバーのＩＰアドレスを、前記第２電子通信装置に送信するステップと、
前記信号伝達サーバーによって、前記第２中継サーバーのＩＰアドレスを、前記第１電子通信装置に送信するステップと、
前記中継サーバーを介して、前記第１電子通信装置と前記第２電子通信装置との間で、通信を開始するステップと、
前記通信開始に続いて、
前記第１中継サーバーによって第２電子通信装置パブリックアドレスを識別するステップ、及び前記第２中継サーバーによって第１電子通信装置パブリックアドレスを識別するステップと、
前記第１電子通信装置によって、そのプライベートＩＰアドレスを、前記第２中継サーバーに報告するステップと、
前記第２電子通信装置によって、そのプライベートＩＰアドレスを、前記第１中継サーバーに報告するステップと、
前記第１中継サーバーによって、前記第２電子通信装置に、前記第１電子通信装置のパブリックＩＰアドレス及びプライベートＩＰアドレスを報告するステップと、
前記第２中継サーバーによって、前記第１電子通信装置に、前記第２電子通信装置のパブリックＩＰアドレス及びプライベートＩＰアドレスを報告するステップと、
前記第１電子通信装置及び前記第２電子通信装置によって、接続性を確立するステップと、
接続性を確立するにあたり、ピア・ツー・ピア・モードにおいて、前記報告されたパブリックＩＰアドレス及びプライベートＩＰアドレスを介して、前記第１電子通信装置と前記第２電子通信装置との間で、前記通信を継続するステップと、
を備えることを特徴とする、方法。
【請求項１１】
請求項１０に記載の方法であって、各中継サーバーのＩＰアドレスを前記設定するステップは、前記信号伝達サーバーに格納された中継サーバーのリストの中に、中継サーバーを設定するステップを備えることを特徴とする、方法。
【請求項１２】
請求項１０に記載の方法であって、各中継サーバーのＩＰアドレスを前記設定するステップは、前記信号伝達サーバーのサービスに対して登録された中継サーバーを設定するステップを備えることを特徴とする、方法。
【請求項１３】
請求項１０に記載の方法であって、前記中継サーバーによって、第１電子通信装置パブリックＩＰアドレス及び第２電子通信装置パブリックＩＰアドレスを前記識別するステップは、到着するパケットの出所である前記ＩＰアドレスを識別するステップを備えることを特徴とする、方法。
【請求項１４】
請求項１０に記載の方法であって、前記中継サーバーによって、前記第１電子通信装置及び前記第２電子通信装置の各々に、そのピアのパブリックＩＰアドレス及びプライベートＩＰアドレスを前記報告するステップは、前記ＩＰアドレスを前記信号伝達サーバーに報告するステップを備えることを特徴とする、方法。
【請求項１５】
請求項１０に記載の方法であって、前記中継サーバーによって、前記前記第１電子通信装置及び前記第２電子通信装置の各々に、そのピアのパブリックＩＰアドレス及びプライベートＩＰアドレスを前記報告するステップは、各ユーザーにそのピアのＩＰアドレスを直接報告するステップを備えることを特徴とする、方法。
【請求項１６】
請求項１５に記載の方法であって、前記直接報告するステップは、同じチャンネル上で音声及び信号伝達パケットを多重化するステップを備えることを特徴とする、方法。
【請求項１７】
請求項１５に記載の方法であって、前記直接報告するステップは、音声通信のためと、信号伝達のためとで異なるチャンネルを使用するステップを備えることを特徴とする、方法。
【請求項１８】
請求項１０に記載の方法であって、仮に接続性が確立されなかった場合、前記中継サーバーを介して、前記第１電子通信装置と前記第２電子通信装置との間で、前記通信を継続するステップを更に備えることを特徴とする、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶｏＩＰ通信の改善に関し、そして特に、ＮＡＴファイアウォールの下で音声パケットのトラバーサルを改善するための、セッション開始プロトコルにおけるＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ：ネットワークアドレス変換器）トラバーサル方法に関する。
【背景技術】
【０００２】
ＮＡＴ装置は、一般に、急速に縮小するＩＰｖ４アドレス空間において、ＩＰアドレスに対する必要性を減少させるために使用されるが、これは、パブリックインターネットに面する単一のパブリックＩＰアドレスを有するルーターの後方で、ホームネットワーク及び企業ネットワーク上でプライベートＩＰアドレスの使用を可能とすることによって行われる。内部ネットワーク装置は外部ネットワーク上のホストと通信するが、これは、ＮＡＴ装置のソースアドレスに対して、出ていく要求のソースアドレスを変化させ、且つ元の装置へ戻ってくる返答を中継することによって行われる。これによって、ホストサーバーには不適当な内部ネットワークが残されるが、その理由は、ＮＡＴ装置が、入ってくるパケットの行く先である内部ホストを、自動的に決定する方法を持たないからである。これは、一般的なウェブアクセス及びｅメールを行う、ＮＡＴ装置の後方のホームユーザーにとって問題ではない。しかしながら、ピア・ツー・ピアのファイル共有、ＶｏＩＰサービス及び現世代ビデオゲーム機のオンラインサービスのようなアプリケーションは、クライアントにサーバーでもあることを要求し、それによって、ＮＡＴ装置の後方のユーザーに問題を提起するが、その理由は、入ってくる要求を、適切な内部ホストに容易に関連付けることができないからである。更に、これらのタイプのサービスの多くは、アプリケーションデータの中にＩＰアドレス及びポートナンバーを伴っており、ＮＡＴトラバーサルに対する置き換え又は特別なトラバーサル技術を潜在的に要求する。
【０００３】
ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ：ＩＰによる音声）においては、メディア（音声、ビデオ）は、会話に参加しているピア間でのＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ：ユーザー・データグラム・プロトコル）パケットを介して、通常転送される。ＵＤＰによって、コンピュータアプリケーションは、特別な送信チャンネル又はデータパスを設定するための事前通信を必要とせずに、インターネットプロトコル（ＩＰ）上で、他のホストにメッセージを送ることが可能である。
【０００４】
ＵＤＰは、信頼性、秩序化、又はデータ完全性を提供するための暗黙のハンドシェーク対話無しで、単純な伝送モデルを使用する。従って、ＵＤＰは信頼性の低いサービスを提供し、且つメッセージは、順番が狂って到着する、重複して表示される、又は予告無く行方不明になる、ことがあるかもしれない。ＵＤＰでは、エラー検査及び訂正は、必要がないか、又はアプリケーションで実行されることを仮定しているが、これによって、インターネットのインターフェースレベルでのそのような処理のオーバーヘッドを回避している。時間に敏感なアプリケーションは、ＵＤＰを使用することが多く、その理由は、パケットを減少させることは、遅れたパケットを待ち受けるのに好ましいからであるが、このことは、実時間システムでは、選択肢ではないかもしれない。
【０００５】
品質（例えば、低減された待ち時間、ジッタ）を改善し、且つコストを削減するために、ピア・ツー・ピア接続においてピア同士を接続することが好ましい。これは、今日の世界において自明のタスクではなく、その理由は（主に）、パブリックＩＰアドレスの利用可能性が限られるために、ほとんどのクライアントは、家庭をインターネットに接続する住居ルーターのようなＮＡＴ（ネットワークアドレス変換）装置の後方にあるからであろう。そのような装置は、複数の装置が、単一の「パブリック」ＩＰアドレスを共有することを可能にする。
【０００６】
ＮＡＴ／ファイアウォールは、内部ネットワークの有用性を保証し、且つ高める上で、非常に重要な役割を果たすが、その一方で、それらは、エンドユーザー間でのＶｏＩＰ通話をセットアップする上で、重要な問題を課する。アプリケーション開発者は、如何にしてトラヒックが、これらのプライベートネットワークに渡り、又はそこから出るかについて仮定できない。
【０００７】
ピア・ツー・ピアのファイル共有ファイル、ＶｏＩＰサービス及びオンライン・ビデオ・ゲームのようなアプリケーションに対するＮＡＴトラバーサルは、多くの要因によって複雑である。
【０００８】
ＮＡＴはＶｏＩＰプロトコルを壊す。
【０００９】
ＮＡＴの概念は、いくつかの装置が、単一のパブリックＩＰアドレスを共有するのを可能にすることである。図１は、両方の当事者が、ＮＡＴを意識していない筋書きを示している。パブリックＩＰアドレス７．７．７．７及びプライベートＩＰアドレス１９２．１６８．０．１を用いる、ホームルーターのようなルーター１２５は、プライベートＩＰアドレスを用いるいくつかのコンピュータ（１１０，１３５）を接続する（例えば、コンピュータ１１０は、プライベートＩＰアドレス１９２．１６８．０．１１０を有する）。ルーター１２５は、コンピュータ１１０、１３５が、パブリックインターネット１４５にアクセスし（アクセスは、これらのコンピュータへの、又はこれらのコンピュータからの各ＩＰパケットを変更することによるか、及び／又は、プライベートＩＰアドレスと、ルーターのパブリックＩＰアドレスに対する輸送ポートとの間での二方向マッピングを用いることによる）、且つポートを輸送することを可能にする。ＮＡＴによるアドレスの書き換えは、通常、ルックアップ表を用いて実行されるが、そこには、内部アドレス／ポート対と外部アドレス／ポート対との間でのマッピングが格納される。
【００１０】
この技術は、プライベートＩＰアドレスを使用する多くのコンピュータの間で、単一のパブリックＩＰアドレスを共有することを促進する。しかしながら、この技術は、ＶｏＩＰ通話に対していくつかの問題を課する。ユーザー１１０は、自分のＮＡＴ装置の後方からＲＴＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ：実時間輸送プロトコル）を用いて、（ルーター１５０を介してインターネットに接続された）ユーザー１４０に対してＶｏＩＰ通話を行うことを望む。ユーザー１４０が、そのプライベートＩＰアドレス（１０．０．０．１４０）を、例えばＳＩＰを用いて報告したと仮定すると、ユーザー１１０は、ＮＡＴ装置１２５を介して、このアドレスにパケットを送信することを試みるであろう。ＮＡＴ装置１２５はパケットを変更し、それをインターネット１４５に送信するであろう。しかしながら、このパケット（１０．０．０．１４０）に対する行先アドレスは正当なパブリックアドレスではないので、パケットは、あるルーター１３８によって取り除かれるであろう。
【００１１】
ＮＡＴは、未知のソースからのパケットを伝達しない。
【００１２】
ユーザー１１０がＮＡＴ装置１５０のパブリックアドレスをたとえ見つけたとしても、ユーザー１１０は依然としてユーザー１４０に到達できないが、その理由は、ＮＡＴ装置１５０に対して、特定のポート上で受信された（且つ、ことによると、特定のソースから来た）パケットを、そのポートの後方のある装置に転送するためのマッピングが要求されるからである。仮にパケットが「招かれない」ものとして到着した場合、そのパケットは、ＮＡＴ装置１５０によって取り除かれる。
【００１３】
ＮＡＴは，不活性な接続を閉じる。
【００１４】
ＮＡＴ装置は、マッピングを無期限に維持しない（例えば、メモリには制限がある）。それ故に、不活性な時間、ＬＲＵキャッシュ管理アルゴリズム、又は任意の他のロジックのような方針に従って、項目はＮＡＴのルックアップ表から除去される。
【００１５】
問題に対する標準的な解決策、例えば、ＳＴＵＮ（Ｓｅｓｓｉｏｎ  Ｔｒａｖｅｒｓａｌ  Ｕｔｉｌｉｔｉｅｓ  ｆｏｒ  ＮＡＴ：ＮＡＴのためのセッション・トラバーサル・ユーティリティ）、ＴＵＲＮ（Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙ  ＮＡＴ：中継ＮＡＴを用いたトラバーサル）及びＩＣＥ（Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｅｓｔａｂｌｉｓｈｍｅｎｔ：双方向接続性確立）が利用可能である。ＳＴＵＮによって、アプリケーションは、パブリックＩＰアドレス及びポートマッピングを見つけ、アプリケーションは、これらのパブリックＩＰアドレス及びポートマッピングを、そのピアと通信するために使用できる。他方で、ＴＵＲＮは世界規模で到達可能なサーバー上にパブリックＩＰ／ポートを割り付け、且つ通信する当事者間でメディアを中継するためにそれを使用する。ＩＣＥは、ＮＡＴトラバーサル問題を解決するために、如何にしてＳＴＵＮ及びＴＵＲＮを使用するかを定義する枠組みであり、これは、２人のユーザー間で最良の可能な相互接続方法を選ぶことによる。即ち、各クライアントは、ＴＵＲＮ中継アドレスを割り当て、且つＳＴＵＮでその反射的アドレスをチェックする。各クライアントは、ＴＵＲＮ中継アドレスを自分のローカルアドレス（ネットワークアダプタのアドレス）に追加する。ピアも同じことを行う。（ＳＩＰのような）信号伝達プロトコルを用いて、クライアントは、これらのアドレスを交換する。ここで、クライアントは、アドレスのリスト上に行き、接続を試みる。一旦そのような接続が確立されると、クライアントは、音声トラヒックの送信を開始できる。
【発明の概要】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、ＶｏＩＰ通信において、ピア・ツー・ピア接続をできるだけ早く確立するためのＮＡＴトラバーサル方法を提供することである。
【課題を解決するための手段】
【００１７】
ＮＡＴ装置を介してネットワークに接続されたユーザーの電子通信装置間での通信方法であって、第２電子通信装置と通信するために、ＮＡＴ装置を介してネットワークに接続された第１電子通信装置によって、信号伝達サーバーに呼出し要求を送信するステップと、信号伝達サーバーによって、中継サーバーＩＰアドレスを設定するステップと、信号伝達サーバーによって、前記呼出し要求及び前記中継サーバーＩＰアドレスを、ＮＡＴ装置を介してネットワークに接続された前記第２電子通信装置に送信するステップと、前記中継サーバーＩＰアドレスを、前記第１電子通信装置に送信するステップと、中継サーバーを介して、前記第１電子通信装置と前記第２電子通信装置との間で通信を開始するステップと、且つ、前記通信開始に続いて、中継サーバーによって、前記第１及び第２電子通信装置のパブリックアドレスを識別するステップと、前記第１及び第２電子通信装置によって、それらのプライベートＩＰアドレスを前記中継サーバーに報告するステップと、前記中継サーバーによって、前記第１及び第２電子通信装置の各々に、そのピアのパブリックＩＰアドレス及びプライベートＩＰアドレスを報告するステップと、前記第１及び第２電子通信装置によって、接続性を確立するステップと、接続性を確立するにあたり、ピア・ツー・ピア・モードにおいて、前記報告されたパブリックＩＰアドレス及びプライベートＩＰアドレスを介して、前記第１電子通信装置と前記第２電子通信装置との間の通信を継続するステップと、を備える。
【００１８】
発明をより良く理解するために、且つ同じことが如何に実行され得るかを示すために、純粋に例として、添付図面がここで参照されるであろう。
【００１９】
さて、特に図面を詳細に参照するにあたり、以下の点が強調される。示されている詳細は、例としてのものであり、且つ本発明の好ましい実施形態を例証的に議論するためだけのものであり、しかも、詳細が呈示されている理由は、最も有用であり、且つ発明の原理及び概念的側面を容易に理解できる記述と考えられるものを提供するためである。この点に関して、発明の基本的な理解のために必要であること以上に、発明の構造的詳細をより詳細に示す試みは行われていないが、図面と共になされた記述によって、本技術分野の当業者にとっては、発明のいくつかの形態が、如何にして実際に具体化され得るかが明らかとなる。
【図面の簡単な説明】
【００２０】
【図１】両方の当事者が、ＮＡＴを意識していない筋書きを示す図である。
【図２Ａ】本発明の実施形態によるシステム及び通信経路の概略ブロック図である。
【図２Ｂ】本発明の他の実施形態によるシステム及び通信経路の概略ブロック図である。
【図３】本発明によるＶｏＩＰのためのＮＡＴトラバーサルの方法を略述するフローチャートである。
【発明を実施するための形態】
【００２１】
本発明は、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ：ＩＰによる音声）のためのＮＡＴトラバーサルに対して、改善されたメカニズムを提供する。新しいメカニズムは、メディアトラヒックをできるだけ早く、即ち、ＮＡＴ状態が確立される前に、可能とすることによって、ＶｏＩＰのための既存のＮＡＴトラバーサルメカニズムの欠点を克服する。
【００２２】
さて、本発明の様々な実施形態を、詳細に参照することにする。理解されることであろうが、開示によって、発明が任意の特別な実施形態に限定されることは意図されない。これに反して、発明が、開示及び添付された請求項の精神及び範囲の内に含まれ得る代替例、変更例及び等価例に及ぶことは意図されている。本技術分野の当業者によって正しく認識されるであろうが、本発明は、方法、データ処理システム又はコンピュータ・ソフトウェア・プログラム製品として具体化されてもよい。従って、本発明は、データ解析システム、方法、解析ソフトウェアなどの形態をとってもよい。本発明に従って書かれたソフトウェアは、メモリ、又はハードドライブ、ＣＤ−ＲＯＭのような、コンピュータ可読媒体である何らかの形態で格納されてもよい。ソフトウェアは、ネットワークによって送信され、且つ遠隔地にあるプロセッサによって実行されてもよい。ソフトウェアはまた、ネットワークゲートウェイ装置又はネットワークカードのような、ハードウェアのコンピュータ可読媒体に埋め込まれてもよい。
【００２３】
図２Ａは、本発明の実施形態によるシステム及び通信経路の概略ブロック図である。
【００２４】
図３は、本発明によるＶｏＩＰのためのＮＡＴトラバーサルの方法を略述するフローチャートである。
【００２５】
ユーザー１はＶｏＩＰクライアントアプリケーション２１０を走らせ、且つユーザー２はＶｏＩＰクライアントアプリケーション２２０を走らせ、両方が本発明の方法を履行する。両方のユーザーのＶｏＩＰ装置（例えば、スマートフォン又はＰＣ）は、それぞれＮＡＴ（ネットワークアドレス変換）２５０及び２４０の後方にある。
【００２６】
ステップ３００では、ユーザー１は、ユーザー２を呼び出すことを望む。ユーザー１のＶｏＩＰクライアントアプリケーション２１０（例えば、ヴァイバー（Ｖｉｂｅｒ）クライアント）は、呼出し要求２５２を信号伝達サーバー２６０に送信する。
【００２７】
ステップ３１０では、信号伝達サーバー２６０は、アプリケーション中継サーバー２７０のＩＰアドレスを設定する。これは、例えば、中継サーバーのリストを格納する信号伝達サーバー２６０、又は信号伝達サービスに対して既に登録した中継サーバーのような、本技術分野で知られたいくつかの方法の１つで行われる。信号伝達サーバー２６０は、その後、呼出し要求に沿って、通話を確立するために、中継サーバーのＩＰアドレス２５３をユーザー２のクライアントアプリケーション２２０に送信する（ステップ３２０）。ステップ３３０では、信号伝達サーバーは、通話を確立するために、中継サーバーのＩＰアドレス２５２をユーザー１のクライアントアプリケーション２１０に送信する。
【００２８】
ユーザー１及びユーザー２は、中継サーバー２７０を介して、自分達の通話（２４５、２５５）を直ちに開始してもよい（ステップ３４０）。
【００２９】
ステップ３５０では、中継サーバー２７０は、到着するパケットの出所であるアドレスによって、両方のピア同士のパブリックＩＰアドレスをここで識別する。
【００３０】
ステップ３６０では、ピア同士は、特別なメッセージを介して（これは、周期的なメッセージであることもあり、又は、一旦中継サーバーがメッセージの受領を確認した場合、停止することもあり得る）、自分達のローカルＩＰアドレスを中継サーバー２７０に報告する。
【００３１】
ステップ３７０では、中継サーバー２７０は、各クライアントに、そのピアのパブリックアドレスを、及び好みに応じてプライベートアドレスを報告する。これは、以下のような、いくつかの方法の１つで行われてもよい。即ち、
・中継サーバー２７０は、信号伝達サーバー２６０にアドレスの報告を戻し、信号伝達サーバーは、クライアントに報告を戻すことが可能である。
・中継サーバー２７０は、音声（ＲＴＰデータパケット）及び通話中信号伝達トラヒック制御プロトコル（ＲＴＣＰ）パケットを多重化することによって、「音声」チャンネル上のピアについて、各クライアントに直接報告する。
・中継サーバー２７０は、別のチャンネルを用いて、例えば、各クライアントが、中継サーバーに対して２つの接続（１つはＲＴＰ／音声、及び別の１つはＲＴＣＰ／信号伝達）を有することを報告する。ＲＴＣＰチャンネルは、ＲＴＰ関連ポート及びアドレスについて報告するために使用され得る。
・中継サーバー２７０は、（ＲＴＣＰを介して、又は信号伝達サーバー２６０を介して）それ自身のパブリックアドレスを各クライアントに報告する。各クライアントは、ここでピアに再び通知でき、信号伝達サーバー２６０を介して、又はＲＴＣＰを介してデータを送信できる。
【００３２】
別の実施形態においては、図２Ｂに描かれるように、２つの中継サーバー２７５、２８０は、信号伝達サーバーによって、各ピアに対して１つが割り当てられる。この実施形態によれば、ユーザー１のクライアントアプリケーション２１０は、信号伝達サーバー２６０から、ユーザー２に割り当てられた中継サーバー２７５のＩＰアドレスを受信し、且つユーザー２のクライアントアプリケーション２２０は、信号伝達サーバー２６０から、ユーザー１に割り当てられた中継サーバー２８０のＩＰアドレスを受信する。各ピアは、そのローカルＩＰアドレスを、他のピアに割り当てられた中継サーバーに報告する。特に、ユーザー１のクライアントアプリケーション２１０は、そのローカルアドレスを中継サーバー２７５に報告し、中継サーバー２７５は、その後、パブリックＩＰアドレスを付加し、且つそれをユーザー２のクライアントアプリケーション２２０に送信する。
【００３３】
クライアントと通信するためにＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ：ユーザー・データグラム・プロトコル）が使用される場合（音声チャンネル又はＲＴＣＰ）、パケットは道に迷うかもしれず、それ故に、ある種の信頼性が導入される必要があり、例えば、中継サーバー２７０は、クライアントがメッセージの受領を確認するのを待ちながら、メッセージを送信し続けるか、又は、例えば、周期的な更新の一部として、メッセージを単に送信し続けてもよい。
【００３４】
ステップ３８０では、ピア同士は、肯定的な接続性チェックを行った後、ピア・ツー・ピア通信２８０をここで確立してもよい。少なくともクライアントの１つがＮＡＴの後方に存在しないか、又は両方が同じＮＡＴの後方に存在する場合、クライアントはまた、ピアのローカルＩＰアドレスにメッセージを送信することを試みるであろう。これらのメッセージは、メディアデータを含まなくてもよく、且つ接続性があるかどうかを確証するためだけに使用されてもよい。代わりに、メッセージは、メディアデータを含んでもよく、且つメッセージは、中継サーバー２７０を介して、及びピアのローカルＩＰアドレスに対して、の両方について送信されてもよい。
【００３５】
一旦クライアントが、データを直接ピアに送信できることを確立すると、クライアントは、中継サーバーを介してメディアメッセージを送信するのを中止して、データを直接ピアに送信するであろう。
【００３６】
仮にＮＡＴトラバーサルプロセスが失敗する場合、クライアントは中継サーバーを使用し続けるであろう。
【００３７】
仮にユーザー２のクライアントアプリケーション２２０がｉＯＳ装置を使用する場合、メッセージ（３２０）は「遠隔通知」（プッシュ）であるかもしれないことに注意されたい。この場合、メッセージを受信する時、ユーザー２のクライアントアプリケーション２２０は走っていないかもしれず、セッションは、ユーザーがアクションを実行すると、単に開始するであろう（即ち、通話に応答する）。この場合、ユーザーが通話に「応答する」以前に、クライアントアプリケーション２２０が、そのＮＡＴ設定を見つけることは不可能である。
【００３８】
本発明は、種々の特別な実施形態の観点で説明されてきたが、そのような開示が、限定的と解釈されるべきでないことは、理解されるはずである。上記の開示を読んだ後は、種々の修正及び変更が、本技術分野の当業者にとって、疑いなく明らかとなるであろう。従って、添付された請求項は、本発明の真の精神及び範囲の内に入る、全ての修正及び変更に及ぶものとして解釈されることが意図される。
【図１】
2015521436.tif 000003
【図２Ａ】
2015521436.tif 000004
【図２Ｂ】
2015521436.tif 000005
【図３】
2015521436.tif 000006
【国際調査報告】
2015521436.tif 000007
2015521436.tif 000008
2015521436.tif 000009
2015521436.tif 000010