(57)【特許請求の範囲】
【請求項１】
第１通信網に備えられる第１通信制御装置及び第１アドレス通知装置と、第２通信網に備えられる第２通信制御装置及び第２アドレス通知装置とを含む通信システムにおいて、前記第１通信制御装置、又は前記第２通信制御装置として使用される通信制御装置であって、
端末からアドレスの集合を受信し、当該アドレスの集合を当該端末の通信相手となる通信相手端末に送信する中継手段を備え、
前記アドレスの集合は、前記端末から前記第１アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレス、及び、前記端末から前記第２アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレスを含む
ことを特徴とする通信制御装置。
【請求項２】
前記端末と前記通信相手端末との間の通信が、所定の通信網を経由して行われるように、前記アドレスの集合における各アドレスに付加された優先度を示すスコアのうち、少なくとも１つのアドレスのスコアを変換する変換手段
を更に備えることを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記中継手段による前記アドレスの集合の送信に基づいて、前記端末と前記通信相手端末との間に２つの異なる接続が確立される場合に、いずれか１つの接続が切断される
ことを特徴とする請求項２に記載の通信制御装置。
【請求項４】
コンピュータを、請求項１ないし３のうちいずれか１項に記載の通信制御装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末間でＰ２Ｐ通信を行うための技術に関連するものである。
【背景技術】
【０００２】
近年、端末同士を接続して通信を行うＰ２Ｐ通信が普及してきている。Ｐ２Ｐ通信を実現するための技術としては種々の技術があるが、例えば、特別なアプリケーションを用いずに、端末のブラウザ間でＰ２Ｐ通信を実現するＷｅｂＲＴＣがある。
【０００３】
ＷｅｂＲＴＣ等を用いたＰ２Ｐ通信は、インターネットを経由して行われるのが一般的である。端末Ａと端末Ｂとの間でインターネットを経由したＰ２Ｐ通信を行う場合、端末Ａから送信されたパケットは、アクセス網を経由してＩＳＰ（インターネットサービスプロバイダ）のインターネット接続用のルータに送られ、当該ルータからインターネットに送出される。そして、当該パケットは、端末Ｂ側のＩＳＰのルータに届き、アクセス網を経由して端末Ｂに届けられる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＲＦＣ５３８９（ＳＴＵＮ）
【非特許文献２】ＲＦＣ５２４５（ＩＣＥ）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のようなＰ２Ｐ通信において、例えば、端末Ａの利用ＩＳＰと端末Ｂの利用ＩＳＰが異なる場合、端末Ａと端末Ｂが地理的に近い位置（例：同じ都市内）にある場合であっても、端末Ａと端末Ｂとの間のＰ２Ｐ通信は遠隔地にあるＩＳＰ間接続点あるいはＩＸを経由して行われる可能性がある。
【０００６】
上記のように、従来のＰ２Ｐ通信に係る技術では、適切な通信経路が選択されない可能性があるという課題がある。なお、このようなＰ２Ｐ通信に係る課題は、アクセス網とインターネットを用いた通信に限った課題ではなく、他の網を用いた通信においても生じ得る課題である。
【０００７】
本発明は上記の点に鑑みてなされたものであり、端末間のＰ２Ｐ通信に使用される通信経路が適切に選択されるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
また、本発明の実施の形態によれば、第１通信網に備えられる第１通信制御装置及び第１アドレス通知装置と、第２通信網に備えられる第２通信制御装置及び第２アドレス通知装置とを含む通信システムにおいて、前記第１通信制御装置、又は前記第２通信制御装置として使用される通信制御装置であって、
端末からアドレスの集合を受信し、当該アドレスの集合を当該端末の通信相手となる通信相手端末に送信する中継手段を備え、
前記アドレスの集合は、前記端末から前記第１アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレス、及び、前記端末から前記第２アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレスを含む
ことを特徴とする通信制御装置が提供される。
【発明の効果】
【００１２】
本発明の実施の形態によれば、端末間のＰ２Ｐ通信に使用される通信経路が適切に選択されるようになる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る通信システムの全体構成図である。
【図２】ＩＣＥの基本的な手順例を説明するためのシーケンス図である。
【図３】第１の実施例における動作例を説明するためのシーケンス図である。
【図４】第２の実施例における動作例を説明するためのシーケンス図である。
【図５】Ｐ２Ｐ接続チェックの例（第１通信網で接続できない場合の例）
【図６】他のユースケースを説明するための図である。
【図７】特定の通信網のみにＳＴＵＮサーバを設置する例を説明するための図である。
【図８】シグナリングサーバを第１通信網と第２通信網に備える構成を示す図である。
【図９】端末４０の構成図である。
【図１０】シグナリングサーバ３０の構成図である。
【図１１】ＳＴＵＮサーバ１１の構成図である。
【図１２】ハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１５】
本実施の形態で説明するＰ２Ｐ通信では、通信の宛先等の指定のために、ＩＰアドレスとポート番号の組が用いられるが、以下では、便宜上、ＩＰアドレスとポート番号の組を「アドレス」と呼ぶことにする。これを「トランスポートアドレス」と称してもよい。「ＩＰアドレス」に言及する場合には、ＩＰアドレス、ＩＰｖ４アドレス、ＩＰｖ６アドレス等と記述する。
【００１６】
（システム構成）
図１は、本発明の実施の形態に係る通信システムの全体構成図である。図１に示すように、本実施の形態における通信システムは、第１通信網１０、第２通信網２０を備える。第１通信網１０と第２通信網２０では、パケットのルーティングに使用されるＩＰアドレスが異なる。ここでの「ＩＰアドレスが異なる」場合としては、例えば、一方が「ＩＰｖ４アドレス」を使用し、他方が「ＩＰｖ６アドレス」を使用する場合、一方が「ＩＰアドレス」の特定のアドレス帯を使用し、他方が同じ種類の「ＩＰアドレス」の別のアドレス帯を使用する場合、等がある。また、一方が、インターネット等のグローバルネットワークで使用される「ＩＰアドレス」であり、他方が、物理的あるいは論理的にグローバルネットワークから分離されたＮＷ、例えばＶＰＮなどの閉域網で使用される「ＩＰアドレス」である場合も「ＩＰアドレスが異なる」場合に相当する。
【００１７】
第１通信網１０と第２通信網２０はそれぞれ特定の種類の網に限定されないが、本実施の形態では、一例として、第１通信網１０はアクセス網（例：ＮＧＮ網）であり、第２通信網２０は、アクセス網に接続されたインターネットであることを想定している。ただし、他のユースケースもあり、それについては後述する。なお、図１では、便宜上、第１通信網１０と第２通信網２０を分離して描いている。また、通信網の数は２つに限られず、３つ以上の通信網が備えられていてもよい。
【００１８】
図１に示すように、本通信システムには、Ｐ２Ｐ通信を行う端末である端末４０Ａと端末４０Ｂが備えられている。本実施の形態では、各端末はブラウザあるいはブラウザに相当するＷｅｂＲＴＣ通信機能を持つソフトウェアを備える一般的なＰＣあるいはスマートフォン、携帯電話機、またはセンサ・アクチュエータ等のＩｏＴ・Ｍ２Ｍデバイス等の端末であり、ＷｅｂＲＴＣを用いてＰ２Ｐ通信によりビデオ通話等を行うことを想定しているが、これは一例に過ぎず、Ｐ２Ｐ通信によりデータの通信を行ってもよい。また、Ｐ２Ｐ通信により音声通話を行ってもよい。本明細書の説明においては、これらビデオ、データ、音声等を総称して「メディア」と呼ぶ。
【００１９】
また、端末４０Ａが備えられる拠点にはＮＡＴ装置５０Ａが設置され、端末４０Ｂが備えられる拠点にはＮＡＴ装置５０Ｂが設置されている。ＮＡＴ装置５０Ａ／５０Ｂは、基本的に、端末４０Ａ／４０Ｂにおいてローカルに割り当てられているアドレス（内部アドレスと呼ぶ）と、第１通信網１０／第２通信網２０の側で使用されるアドレス（外部アドレスと呼ぶ）とを相互に変換する機能を備える装置である。なお、ＮＡＴ装置５０Ａ／５０Ｂを備えることは必須ではなく、ＮＡＴ装置５０Ａ／５０Ｂを備えないこととしてもよい。なお、第１通信網１０／第２通信網２０が閉域網である場合でも、第１通信網１０／第２通信網２０の側で使用されるアドレスを外部アドレスと呼ぶ。
【００２０】
図１に示すように、本通信システム３０には、シグナリングサーバ３０が備えられる。シグナリングサーバ３０は、端末４０Ａと端末４０Ｂが、Ｐ２Ｐ通信のための通信経路（チャネル）を確立するために、端末４０Ａと端末４０Ｂとの間の制御信号の中継を行う装置である。詳細は後述するが、より具体的には、端末４０Ａと端末４０ＢがＰ２Ｐ通信のためのアドレスペアを決定する際に、シグナリングサーバ３０は、端末４０Ａと端末４０Ｂとの間で、各端末により収集されたアドレス候補の交換等を行う。端末４０Ａと端末４０Ｂはそれぞれ、シグナリングサーバ３０に登録を行って、シグナリングサーバ３０と通信を行う。
【００２１】
端末４０Ａと端末４０Ｂとの間のシグナリングを実行できるのであれば、シグナリングサーバ３０はどこに設置されていてもよい。例えば、シグナリングサーバ３０は、第１通信網１０に設置されてもよいし、第２通信網２０に設置されてもよいし、その他の網に設置されてもよい。なお、シグナリングサーバ３０を「通信制御装置」と称してもよい。
【００２２】
更に、図１に示すように、第１通信網１０にＳＴＵＮサーバ１１が備えられ、第２通信網２０にＳＴＵＮサーバ２１が備えられる。ＳＴＵＮサーバ１１とＳＴＵＮサーバ２１は、ＳＴＵＮサーバとしての機能は同じである。ただし、ＳＴＵＮサーバ１１には第１通信網１０のアドレスが割り当てられ、ＳＴＵＮサーバ２１には第２通信網２０のアドレスが割り当てられている。なお、ＳＴＵＮサーバを「アドレス通知装置」と称してもよい。また、各網に複数のＳＴＵＮサーバが備えられていてもよい。また、ＳＴＵＮサーバ１１とＳＴＵＮサーバ２１とを有する構成を「通信システム」と称してもよい。
【００２３】
各ＳＴＵＮサーバは、例えば非特許文献１に記載されたＳＴＵＮの機能を有するサーバである。基本的な機能として、各ＳＴＵＮサーバは、端末から送信されたバインディングリクエスト（アドレス要求）を受信したら、当該リスエストのパケットから送信元アドレスを取得し、当該送信元アドレスをバインディングレスポンス（アドレス応答）に含め、当該バインディングレスポンスを送信元アドレス宛に送信する機能を備える。本実施の形態では、上記の送信元アドレスは、例えばＮＡＴ変換後の外部アドレスである。これにより、端末は、自身の外部アドレスを知ることができ、これを通信相手に通知することで、通信相手は、当該端末への宛先アドレスを知ることができる。なお、ＮＡＴ装置が存在しない場合、端末自身に割り当てられたホストアドレスがバインディングレスポンスに含められて、返されることとしてもよい。
【００２４】
バインディングレスポンスに含められて端末に返されるアドレスは「Reflexive Transport Address」と呼ばれる。
【００２５】
ＳＴＵＮは、ＮＡＴ越えを行う際に使用できる技術の１つであり、その他の技術として、例えば、ＴＵＲＮ（Traversal Using Relays around NAT）がある。ＴＵＲＮは、メディアのパケットを中継するためのＴＵＲＮサーバを通信網内に配置し、ＴＵＲＮサーバを経由して端末間の通信を可能とする技術である。
【００２６】
（ＩＣＥについて）
端末４０Ａと端末４０Ｂとの間でＰ２Ｐ通信を行うためには、両端末はお互いのアドレスを知る必要がある。そこで、本実施の形態における各端末は、非特許文献２に記載されているＩＣＥ（Interactive Connectivity Establishment）と呼ばれるプロトコルを使用して、Ｐ２Ｐ通信に使用するアドレスを決定する。
【００２７】
ＩＣＥでは、各端末が、ＳＴＵＮやＴＵＲＮ等で利用可能なアドレスを収集し、端末間で、収集されたアドレスを交換して、お互いに接続チェック（ホールパンチング）を行い、通信可能なアドレスのうち最も優先度の高いアドレスを選択して通信を行う。選択の優先順位は、例えば、自身のアドレスが最も高く（つまりＮＡＴ装置を介さないローカル通信を行う場合）、次にＳＴＵＮサーバにより通知された外部アドレス、その次にＴＵＲＮサーバを経由して通信するためのアドレスとなる。より具体的な例については後述する。なお、本実施の形態では、便宜上、ＴＵＲＮを考慮しないものとする。
【００２８】
上記の端末自身のアドレスの種別（Ｔｙｐｅ）を「ｈｏｓｔ」と呼び、ＳＴＵＮのアドレスの種別（Ｔｙｐｅ）を、「ｓｅｒｖｅｒ  ｒｅｆｌｅｘｉｖｅ」と呼ぶ。「ｓｅｒｖｅｒ  ｒｅｆｌｅｘｉｖｅ」は、一部を省略して、「ｓｒｆｌｘ」と記述してもよい。
【００２９】
（基本的な手順例）
図２を参照して、本実施の形態における、端末４０Ａと端末４０Ｂとの間で実行されるＩＣＥの基本的な手順例を説明する。なお、この手順は一例である。図２に示す手順に代えて、例えば、取得した候補をすぐに相手に送り、すぐに接続チェックを行うような手順を用いてもよい。また、図２に示す手順は、シグナリングサーバ３０を介して実行されるが、シグナリングサーバ３０の記載は省略している。
【００３０】
ステップＳ１０１において、端末４０Ａは、アドレス収集を行う。具体的には、端末４０Ａは、まず、自身に割り当てられているアドレスを取得する。このアドレスを、端末４０Ａ側のｈｏｓｔのアドレスという意味で、「アドレス（ｈｏｓｔ）Ａ」と記述する。以下、同様の記述方式を用いる。また、以下では、第１通信網１０側のアドレスを「第１アドレス」、第２通信網２０側のアドレスを「第２アドレス」と呼ぶことにする。
【００３１】
端末４０Ａには、ＳＴＵＮサーバ１１のアドレスとＳＴＵＮサーバ２１のアドレスが予め設定（格納）されており、端末４０Ａは、ＳＴＵＮサーバ１１にバインディングリクエストを送信し、バインディングレスポンスを受信することで、第１アドレス（ｓｒｆｌｘ）Ａを取得し、ＳＴＵＮサーバ２１にバインディングリクエストを送信し、バインディングレスポンスを受信することで、第２アドレス（ｓｒｆｌｘ）Ａを取得する。
【００３２】
上記の例は、ＳＴＵＮサーバのアドレス（ＩＰアドレス）を直接指定することでバインディングリクエストを送信する方法の例であるが、このような方法の他、例えば、宛先とするＳＴＵＮサーバをＦＱＤＮで指定して、ＩＰアドレスをＤＮＳサーバによって解決してもらう方法を使用してもよい。
【００３３】
上記のようにして、端末４０Ａは、アドレス（ｈｏｓｔ）Ａ、第１アドレス（ｓｒｆｌｘ）Ａ、及び、第２アドレス（ｓｒｆｌｘ）Ａを取得する。図１において、例えば、Ｃで示されるポートのアドレスがアドレス（ｈｏｓｔ）Ａに相当し、Ｄで示されるポートのアドレスが第２アドレス（ｓｒｆｌｘ）Ａに相当し、Ｅで示されるポートのアドレスが第１アドレス（ｓｒｆｌｘ）Ａに相当する。なお、ｈｏｓｔのアドレスであるアドレス（ｈｏｓｔ）Ａは、第１通信網１０と第２通信網２０のそれぞれに対して存在しても良い。つまり、ｈｏｓｔのアドレスとして、第１アドレス（ｈｏｓｔ）Ａと第２アドレス（ｈｏｓｔ）Ａが取得されてもよい。本例では、ｈｏｓｔのアドレスとして１つのアドレス（ｈｏｓｔ）Ａが取得された場合を例として示している。
【００３４】
次に、端末４０Ａは、収集した各アドレスの優先度（Ｐｒｉｏｒｉｔｙ）に相当するスコアを算出する。スコアの算出方法は、非特許文献２の４．１．２章に記載されている方法を使用することができる。具体的には、種別（ｈｏｓｔ、ｓｒｆｌｘ等）に応じたｈｏｓｔ  ｐｒｅｆｅｒｅｎｃｅの値（例：ｈｏｓｔ：１２８、ｓｒｆｌｘ：１００）と、アドレスファミリ（ＩＰｖ４、ＩＰｖ６）に応じたＬｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅの値などからスコアを算出する。ただし、スコアの算出方法は、非特許文献２の４．１．２章に記載されている方法に限られるわけではない。Ｌｏｃａｌ  ｐｒｅｆｅｒｅｎｃｅの値に関し、非特許文献２において、ＩＰｖ６のほうがＩＰｖ４よりも高い値とすることが推奨されており、本実施の形態では、この推奨に従う。
【００３５】
次に、ステップＳ１０２において、端末４０Ａは、ステップＳ１０１で収集されたアドレス（アドレス候補と呼ぶ）を、算出したスコアとともに端末４０Ｂに送信する。ここでは、例として、ＳＤＰ（Session Description Protocol）オファーのメッセージを使用する。
【００３６】
具体的には、ステップＳ１０２において、端末４０Ａは、「アドレス（ｈｏｓｔ）Ａとスコア、第１アドレス（ｓｒｆｌｘ）Ａとスコア、第２アドレス（ｓｒｆｌｘ）Ａとスコア」をアドレス候補として端末４０Ｂに送信する。
【００３７】
アドレス候補を含むＳＤＰオファーを受信した端末４０Ｂは、ステップＳ１０３において、端末４０Ａ側でのアドレス収集及びスコア算出と同様にして、アドレス（ｈｏｓｔ）Ｂ、第１アドレス（ｓｒｆｌｘ）Ｂ、及び、第２アドレス（ｓｒｆｌｘ）Ｂを取得して、それぞれのスコアを算出する。
【００３８】
そして、ステップＳ１０４において、端末４０Ｂは、ＳＤＰアンサーとして、「アドレス（ｈｏｓｔ）Ｂとスコア、第１アドレス（ｓｒｆｌｘ）Ｂとスコア、第２アドレス（ｓｒｆｌｘ）Ｂとスコア」を端末４０Ａに送信する。
【００３９】
これにより、端末４０Ａと端末４０Ｂはそれぞれ、自身のアドレス候補と、相手のアドレス候補を持つ。そして、端末４０Ａと端末４０Ｂはそれぞれ、自身のアドレス１つと相手のアドレス１つをペアにしたアドレスペアの組み合わせ（集合）を作成するとともに、アドレスペア毎のスコアを算出し、優先度順に並べる（これをチェックリストと呼ぶことにする）。ここでのスコアリングは、非特許文献２の５．７．２に記載された方法を用いることができる。この方法では、基本的に、ペアを構成する各アドレスのスコアが高ければ、高いスコアが得られる。ただし、非特許文献２の５．７．２に記載された方法でスコアリングを行うことは一例に過ぎず、他の方法でスコアリングを行ってもよい。
【００４０】
ステップＳ１０５では、端末４０Ａと端末４０Ｂはそれぞれ、アドレスペア毎に接続チェックを行う。接続チェックでは、ＳＴＵＮのバインディングリクエストを使用したホールパンチングが実行される。例えば、端末４０Ａから、あるアドレスペアにおける端末４０Ｂの宛先アドレス（これをアドレスＢと呼ぶ）宛にバインディングリクエストを送信し、バインディングレスポンスを受信した場合、バインディングレスポンスに含まれるアドレス（reflexive address）（これをアドレスＡと呼ぶ）を取得する。そして、アドレスＡとアドレスＢのペアと一致する、チェックリストの中のアドレスペアがあれば、当該アドレスペアは接続チェックが成功したことになる。なお、接続チェックは、端末４０Ａ（controlling agent）からのみ行うこととしてもよい。
【００４１】
上記のような方法で接続チェックを行い、例えば、端末４０Ａ（controlling agent）が、接続チェックが成功したアドレスペアのうち、最も優先度の高いアドレスペアを、メディアの送信のために使用することを決定して、当該アドレスペアを端末４０Ｂ（controlled agent）に通知する。端末４０Ｂは、当該アドレスペアを使用できる場合（例：端末４０Ｂからの接続チェックが成功したアドレスペアに含まれるアドレスペアである場合）、端末４０Ｂは当該アドレスペアを使用することを決定してよい。また、端末４０Ｂにおいても端末４０Ａと同様の処理を実行し、端末４０Ｂが端末４０Ｂからの送信のためのアドレスペアを決定してもよい。その後、決定したアドレスペアを使用したＰ２Ｐ通信が実行される（ステップＳ１０６）。例えば、端末４０Ａは決定したアドレスペアの送信先のアドレスにメディアを送信し、端末４０Ｂは決定したアドレスペアの送信先のアドレスにメディアを送信する。
【００４２】
なお、端末４０Ａからの送信に用いられるアドレスペアと、端末４０Ｂからの送信に用いられるアドレスペアは、同じでもよいし、異なっていてもよい。
【００４３】
なお、上記のようなアドレスの決定方法は一例に過ぎず、他の方法でアドレスを決定してもよい。以下では、より具体的な動作例である第１の実施例と第２の実施例を説明する。
【００４４】
（第１の実施例）
第１の実施例において、端末４０Ａと端末４０Ｂとの間で実行される動作を図３を参照しながら説明する。基本的な手順は図２で説明したとおりであるが、第１の実施例では、第１通信網１０と第２通信網２０が特定のＩＰアドレスを使用する場合において、各網にＳＴＵＮサーバを備えた構成により、従来技術の課題が解決されることを説明する。なお、図２と同様に、図３でもシグナリングサーバ３０の記載を省略している。
【００４５】
第１の実施例では、第１通信網１０は、パケットのルーティングをＩＰｖ６アドレスを使用して行う網（例：ＮＧＮ網）であり、第２通信網２０は、パケットのルーティングをＩＰｖ４アドレスを使用して行う網（例：インターネット）であるとする。
【００４６】
ステップＳ２０１において、端末４０Ａは、アドレス収集を行う。ここでは、例えば、端末４０Ａには、ＮＡＴ装置５０Ａからプライベート（ローカル）のＩＰｖ４のアドレスと、プライベートのＩＰｖ６のアドレスが割り当てられており、ｈｏｓｔのアドレスとしてＩＰｖ４とＩＰｖ６のアドレスが取得されるものとする。これらを「ＩＰｖ４（ｈｏｓｔ）Ａ」、「ＩＰｖ６（ｈｏｓｔ）Ａ」と記述する。更に、端末４０Ａは、ＳＴＵＮサーバ２１とＳＴＵＮサーバ１１のそれぞれにバインディングリクエストを送信し、それぞれからバインディングレスポンスを受信することで、ＩＰｖ４（ｓｒｆｌｘ）Ａ、及びＩＰｖ６（ｓｒｆｌｘ）Ａを取得する。
【００４７】
端末４０Ａは、収集した各アドレスのスコアを算出する。ここでは、「ＩＰｖ６（ｈｏｓｔ）Ａ＞ＩＰｖ４（ｈｏｓｔ）Ａ＞ＩＰｖ６（ｓｒｆｌｘ）Ａ＞ＩＰｖ４（ｓｒｆｌｘ）Ａ」に示す大きさの順番でスコアが算出される。
【００４８】
次に、ステップＳ２０２において、端末４０Ａは、ステップＳ２０１で収集されたアドレス候補を、算出したスコアとともに端末４０Ｂに送信する。具体的には、ステップＳ２０２において、端末４０Ａは、「ＩＰｖ６（ｈｏｓｔ）Ａとスコア、ＩＰｖ４（ｈｏｓｔ）Ａとスコア、ＩＰｖ６（ｓｒｆｌｘ）Ａとスコア、ＩＰｖ４（ｓｒｆｌｘ）Ａとスコア」を含むメッセージを端末４０Ｂに送信する。
【００４９】
ステップＳ２０３では、端末４０Ｂにおいてアドレス収集が行われ、ステップＳ２０４において、端末４０Ｂは、「ＩＰｖ６（ｈｏｓｔ）Ｂとスコア、ＩＰｖ４（ｈｏｓｔ）Ｂとスコア、ＩＰｖ６（ｓｒｆｌｘ）Ｂとスコア、ＩＰｖ４（ｓｒｆｌｘ）Ｂとスコア」を含むメッセージを端末４０Ａに送信する。
【００５０】
これにより、端末４０Ａと端末４０Ｂはそれぞれ、自身のアドレス候補と、相手のアドレス候補を持つ。そして、端末４０Ａと端末４０Ｂはそれぞれ、自身のアドレス１つと相手のアドレス１つをペアにしたアドレスペアの集合を作成するとともに、アドレスペア毎のスコアを算出し、優先度順に並べ、チェックリストとする。
【００５１】
その後、ステップＳ２０５で接続チェックが行われる。ここでは、例えば端末４０Ａにおいて、ＩＰｖ６（ｓｒｆｌｘ）ＡとＩＰｖ６（ｓｒｆｌｘ）Ｂのペアと、ＩＰｖ４（ｓｒｆｌｘ）ＡとＩＰｖ４（ｓｒｆｌｘ）Ｂのペアの両方で接続チェックに成功したとする。同じ種別（ｓｒｆｌｘ）であれば、ＩＰｖ６のほうが優先度のスコアが高いため、ステップＳ２０６において、端末４０Ａは、ＩＰｖ６（ｓｒｆｌｘ）ＡとＩＰｖ６（ｓｒｆｌｘ）Ｂのペアをメディアの送信のためのアドレスペアとして決定する。端末４０Ｂにおいても同様の手順で、アドレスペアが決定され、ステップＳ２０７においてＰ２Ｐ通信が開始される。あるいは、端末４０Ａにより決定されたアドレスペアが端末４０Ｂに通知され、端末４０Ｂは当該アドレスペアを使用することとしてもよい。
【００５２】
一般に、インターネットではＩＰｖ４が使用され、また、ＮＡＴ装置配下の端末同士でｈｏｓｔのアドレスでのＰ２Ｐ接続チェックは成功しないことが想定されるから、上記の第１の実施例のケースは高い可能性で発生し得るケースであるといえる。
【００５３】
そして、第１の実施例では、第１通信網１０と第２通信網２０のそれぞれにＳＴＵＮサーバを備えるという従来にない構成を採用したことで、端末４０Ａと端末４０Ｂとの間のＰ２Ｐ通信を、第１通信網１０（例：ＮＧＮ網）を経由した経路で実行させることを可能としている。
【００５４】
また、第１通信網１０と第２通信網２０のそれぞれにＳＴＵＮサーバを備えるという従来にない構成を採用したことで、仮に片方の通信網でＰ２Ｐ通信が出来なかった場合でも、他方の通信網にフォールバックしてＰ２Ｐ通信を行うことができるという効果もある。
【００５５】
（第２の実施例）
次に、第２の実施例における端末４０Ａと端末４０Ｂとの間で実行される動作を図４を参照しながら説明する。基本的な手順は図２で説明したとおりであるが、第２の実施例では、シグナリングサーバ３０が、スコアの変換を行うことで、従来技術の課題が解決される例を説明する。
【００５６】
第２の実施例では、第１通信網１０は、パケットのルーティングをＩＰｖ６アドレス（これを第１ＩＰｖ６アドレスと呼ぶ）を使用して行う網（例：ＮＧＮ網）であり、第２通信網２０は、パケットのルーティングを、第１ＩＰｖ６アドレスとは異なるアドレス帯のＩＰｖ６アドレス（これを第２ＩＰｖ６アドレスと呼ぶ）を使用して行う網（例：インターネット）であるとする。
【００５７】
ステップＳ３０１において、端末４０Ａは、アドレス収集を行う。ここでは、例えば、端末４０Ａには、第２通信網２０で使用される第２ＩＰｖ６のアドレスが割り当てられており、ｈｏｓｔのアドレスとして第２ＩＰｖ６のアドレスが取得されるものとする。これを「第２ＩＰｖ６（ｈｏｓｔ）Ａ」と記述する。他も同様の形式を用いることとする。更に、端末４０Ａは、ＳＴＵＮサーバ２１とＳＴＵＮサーバ１１のそれぞれにバインディングリクエストを送信し、それぞれからバインディングレスポンスを受信することで、第２ＩＰｖ６（ｓｒｆｌｘ）Ａ、及び第１ＩＰｖ６（ｓｒｆｌｘ）Ａを取得する。
【００５８】
ここで、本実施例では、ＮＡＴ装置５０Ａは第１通信網１０へのパケットについて送信元アドレスの変換を行う（第２ＩＰｖ６−＞第１ＩＰｖ６の変換）が、第２通信網２０へのパケットについて送信元アドレスの変換を行わない。よって、第２ＩＰｖ６（ｓｒｆｌｘ）Ａは、第２ＩＰｖ６（ｈｏｓｔ）Ａと同じであり、結果として、ｈｏｓｔのアドレスとして取得されるものは、第２ＩＰｖ６（ｈｏｓｔ）Ａのみである。なお、このような場合には、ＳＴＵＮサーバ２１が、第２ＩＰｖ６（ｓｒｆｌｘ）Ａを返さずに、送信元アドレスが、ｈｏｓｔのアドレスであることを示す情報を返すこととしてもよい。
【００５９】
端末４０Ａは、収集した各アドレスのスコアを算出する。ここでは、「第２ＩＰｖ６（ｈｏｓｔ）Ａ＞第１ＩＰｖ６（ｓｒｆｌｘ）Ａ」に示す大きさの順番でスコアが算出される。ここでは、便宜上の例として、第２ＩＰｖ６（ｈｏｓｔ）Ａのスコアが２００であり、第１ＩＰｖ６（ｓｒｆｌｘ）Ａのスコアが１００であるとする。
【００６０】
次に、ステップＳ３０２において、端末４０Ａは、ステップＳ３０１で収集されたアドレス候補を、算出したスコアとともに送信する。具体的には、ステップＳ３０２において、端末４０Ａは、「第２ＩＰｖ６（ｈｏｓｔ）Ａとスコア２００、第１ＩＰｖ６（ｓｒｆｌｘ）Ａとスコア１００」をアドレス候補として含むメッセージを送信する。
【００６１】
シグナリングサーバ３０は、上記のメッセージを受信し、アドレス候補を確認する。シグナリングサーバ３０は、アドレス候補として、第２ＩＰｖ６（ｈｏｓｔ）Ａと第１ＩＰｖ６（ｓｒｆｌｘ）Ａがあり、スコアの大小関係が「第２ＩＰｖ６（ｈｏｓｔ）Ａ＞第１ＩＰｖ６（ｓｒｆｌｘ）Ａ」であることを検知する。
【００６２】
シグナリングサーバ３０は、端末間のＰ２Ｐ通信ができるだけ第１通信網１０（例：ＮＧＮ網）を経由するよう、第２通信網２０のアドレスのスコアが第１通信網１０のアドレスのスコアよりも小さくなるように、スコアの変換を行う機能を有している。シグナリングサーバ３０は、当該機能により、例えば、第２ＩＰｖ６（ｈｏｓｔ）Ａのスコアを２００から１００に変換し、第１ＩＰｖ６（ｓｒｆｌｘ）Ａのスコアを１００から２００に変換する（ステップＳ３０３）。そして、シグナリングサーバ３０は、変換後のスコアが付されたアドレス候補「第２ＩＰｖ６（ｈｏｓｔ）Ａとスコア１００、第１ＩＰｖ６（ｓｒｆｌｘ）Ａとスコア２００」を端末４０Ｂに転送する（ステップＳ３０４）。
【００６３】
なお、シグナリングサーバ３０は、変換後のスコアが付されたアドレス候補「第２ＩＰｖ６（ｈｏｓｔ）Ａとスコア１００、第１ＩＰｖ６（ｓｒｆｌｘ）Ａとスコア２００」を端末４０Ａにも送信することとしてもよい。これにより、端末４０Ａは、アドレスペアのスコアリングにあたって、送信元アドレス（自身のアドレス）についてもスコア変換後のスコアを用いることができる。ただし、変換後のスコアが付されたアドレス候補の端末４０Ａへの送信を行わないこととしてもよい。この場合、送信元アドレスについてスコア変換後のスコアを用いなくても、スコア変換が有効に機能するように、スコアの変換が行われる。例えば、後述するステップＳ３０７において、送信先アドレス（第１ＩＰｖ６（ｓｒｆｌｘ）Ｂ）のスコアを十分に大きい値に変換することで、端末４０Ａにおいて、送信先アドレスと送信元アドレスのペアでスコアリングの計算がなされる場合に、必ず、第１ＩＰｖ６（ｓｒｆｌｘ）Ｂを送信先アドレスとして含むペアが最も高いスコアになるようにする。
【００６４】
ステップＳ３０５では、端末４０Ｂにおいてアドレス収集が行われ、ステップＳ３０６において、端末４０Ｂは、「第２ＩＰｖ６（ｈｏｓｔ）Ｂとスコア２００、第１ＩＰｖ６（ｓｒｆｌｘ）Ｂとスコア１００」をアドレス候補として含むメッセージを送信する。
【００６５】
ステップＳ３０７において、シグナリングサーバ３０は、ステップＳ３０３と同様にスコア変換を行い、変換後のスコアが付されたアドレス候補「第２ＩＰｖ６（ｈｏｓｔ）Ｂとスコア１００、第１ＩＰｖ６（ｓｒｆｌｘ）Ｂとスコア２００」を端末４０Ａに転送する（ステップＳ３０８）。
【００６６】
なお、シグナリングサーバ３０は、変換後のスコアが付されたアドレス候補「第２ＩＰｖ６（ｈｏｓｔ）Ｂとスコア１００、第１ＩＰｖ６（ｓｒｆｌｘ）Ｂとスコア２００」を端末４０Ｂにも送信することとしてもよい。これにより、端末４０Ｂは、アドレスペアのスコアリングにあたって、送信元アドレス（自身のアドレス）についてもスコア変換後のスコアを用いることができる。ただし、変換後のスコアが付されたアドレス候補の端末４０Ｂへの送信を行わないこととしてもよい。この場合、送信元アドレスについてスコア変換後のスコアを用いなくても、スコア変換が有効に機能するように、スコアの変換が行われる。例えば、前述したステップＳ３０３において、送信先アドレス（第１ＩＰｖ６（ｓｒｆｌｘ）Ａ）のスコアを十分に大きい値に変換することで、端末４０Ｂにおいて、送信先アドレスと送信元アドレスのペアでスコアリングの計算がなされる場合に、必ず、第１ＩＰｖ６（ｓｒｆｌｘ）Ａを送信先アドレスとして含むペアが最も高いスコアになるようにする。
【００６７】
これにより、端末４０Ａと端末４０Ｂはそれぞれ、自身のアドレス候補と、相手のアドレス候補を持つ。そして、端末４０Ａと端末４０Ｂはそれぞれ、自身のアドレス１つと相手のアドレス１つをペアにしたアドレスペアの集合を作成するとともに、アドレスペア毎のスコアを算出し、優先度順に並べ、チェックリストとする。
【００６８】
その後、ステップＳ３０９で接続チェックが行われる。ここでは、例えば端末４０Ａにおいて、第１ＩＰｖ６（ｓｒｆｌｘ）Ａと第１ＩＰｖ６（ｓｒｆｌｘ）Ｂのペアと、第２ＩＰｖ６（ｈｏｓｔ）Ａと第２ＩＰｖ６（ｈｏｓｔ）Ｂのペアの両方で接続チェックに成功したとする。前述したように、シグナリングサーバ３０においてスコア変換がなされているため、第１ＩＰｖ６（ｓｒｆｌｘ）Ａと第１ＩＰｖ６（ｓｒｆｌｘ）Ｂのペアのほうが、第２ＩＰｖ６（ｈｏｓｔ）Ａと第２ＩＰｖ６（ｈｏｓｔ）Ｂのペアよりもスコアが高いため、ステップＳ３１０において、端末４０Ａは、第１ＩＰｖ６（ｓｒｆｌｘ）Ａと第１ＩＰｖ６（ｓｒｆｌｘ）Ｂのペアをメディアの送信のためのアドレスペアとして決定する。端末４０Ｂにおいても同様の手順で、アドレスペアが決定され、ステップＳ３１１においてＰ２Ｐ通信が開始される。あるいは、端末４０Ａにより決定されたアドレスペアが端末４０Ｂに通知され、端末４０Ｂは当該アドレスペアを使用することとしてもよい。
【００６９】
なお、上述したスコアの変換方法は一例に過ぎない。例えば、Ｐ２Ｐ通信を経由させたい網に該当する１つのアドレスのスコアを高くする（例：最高優先度のスコアにする）といった変換方法でもよい。
【００７０】
第２の実施例では、シグナリングサーバ３０においてスコア変換を行うことで、端末４０Ａと端末４０Ｂとの間のＰ２Ｐ通信を、第１通信網１０（例：ＮＧＮ網）を経由した経路で実行させることを可能としている。
【００７１】
第１通信網１０（例：ＮＧＮ網）を経由した経路でＰ２Ｐ通信を実行させることは一例に過ぎない。例えば、一部又は全部のＰ２Ｐ通信を第２通信網２０（インターネット）経由で行わせるような制御も実現することができる。Ｐ２Ｐ通信を第２通信網２０（インターネット）経由で行わせるためには、シグナリングサーバ３０が、第２通信網２０側のアドレスのスコアが高くなるようにアドレス変換を行えばよい。また、例えば、インターネットのトラフィック状況に応じて、Ｐ２Ｐ通信の実行を第２通信網２０（インターネット）経由から第１通信網１０（ＮＧＮ）経由にしたい場合には、シグナリングサーバ３０における設定を、第１通信網１０側のアドレスのスコアが高くなるようにアドレス変換を行うよう変更すればよい。具体的には、後述するシグナリングサーバ３０のデータ記憶部３３に格納されるスコア変換基準情報を、第１通信網１０側のアドレスのスコアが高くなるようにアドレス変換を行うことを示す情報にすればよい。
【００７２】
なお、第１の実施例でも、第２の実施例の機能を持つシグナリングサーバ３０を用いてもよい。この場合、第１の実施例の状況においては、シグナリングサーバ３０は、第１通信網１０のアドレスのほうがスコアが高いことを確認し、スコアの変換は不要であると判断し、スコア変換を行うことなくアドレス候補の転送を行う。
【００７３】
なお、これまでに説明した図１の構成は、一例として、第１通信網１０がアクセス網であり、第２通信網２０がインターネットである場合に該当する。この場合、端末４０Ａと端末４０Ｂともに同じアクセス網（第１通信網１０）に属する。
【００７４】
本実施の形態に係る技術は、このように、端末４０Ａと端末４０Ｂが同じアクセス網に属する場合に限らずに適用可能である。例えば、両端末が異なるアクセス網に属しており、それらアクセス網を通じてインターネットに接続している場合にも適用可能である。
【００７５】
この場合、両端末がそれぞれのアクセス網内ＳＴＵＮサーバから取得したアドレス情報は、シグナリングサーバ３０を用いて交換され、Ｐ２Ｐ接続チェックが行われる。そして、例えばアクセス網同士の相互接続などがされていれば、アクセス網を経由したＰ２Ｐ通信が実行される。一方、相互接続等がなされていない場合、その他のアドレス（例えばインターネットアドレス）によるＰ２Ｐ接続チェックが行われ、通信が可能であれば当該アドレスの網を経由した接続が確立する。つまり、フォールバック先として、接続可能な網（例：インターネット）経由の通信を自動で確立することができ、サービスの可用性が高まる。
【００７６】
（Ｐ２Ｐ接続チェックの例（第１通信網１０で接続できない場合の例））
例えば第１の実施例の場合のように、第１通信網１０のアドレスのスコアが第２通信網２０のアドレスのスコアより高くなる場合でも、第１通信網１０での接続チェックに成功しなければ、第１通信網１０でのＰ２Ｐ通信を行うことはできない。例えば図５に示すように、第１通信網１０経由の接続が拒否される場合がある。このような場合の例としては、例えば、第１通信網１０のポリシーとして、第１通信網１０経由のＰ２Ｐ通信を許可しない場合がある。
【００７７】
図５に示すように、本実施の形態の技術を用いることにより、このような場合でも、その他のアドレスによるＰ２Ｐ接続が可能であれば、接続が確立する。つまり、本実施の形態により、フォールバック先として第２通信網２０（例：インターネット）経由の通信を自動で確立することができ、サービスの可用性が高まる。
【００７８】
（他のユースケース）
これまでに説明した例では、第１通信網１０がＮＧＮ網等のアクセス網であり、第２通信網２０がインターネットであることを想定していたが、このようなユースケースは一例に過ぎない。他のユースケースとして、例えば、図６に示すように、第１通信網１０がＶＰＮ等の閉域網であり、第２通信網２０がインターネットであってもよい。なお、ＶＰＮの例として、ＭＰＬＳ技術を用いたＩＰ−ＶＰＮがある。使用されるアドレスに関しては、第１通信網１０と第２通信網２０がともにＩＰｖ４であってもよいし、ともにＩＰｖ６であってもよいし、一方がＩＰｖ４であり他方がＩＰｖ６であってもよい。
【００７９】
本ユースケースの場合、第１の実施例で説明したようにスコア変換を行わない動作とすることも可能であるし、第２の実施例で説明したようにスコア変換を行う動作とすることも可能であるが、スコア変換を行う動作とすることで、下記のようなトラフィック経路の制御を行うことができる。
【００８０】
すなわち、図６に示すユースケースにおいて、スコア変換を行うことで、例えば、一部又は全部のＰ２Ｐ通信を第２通信網２０（インターネット）経由で行わせるような制御を実現することができる。第２の実施例で説明したとおり、Ｐ２Ｐ通信を第２通信網２０（インターネット）経由で行わせるためには、シグナリングサーバ３０が、第２通信網２０側のアドレスのスコアが高くなるようにアドレス変換を行えばよい（図４のＳ３０３、Ｓ３０７でのスコア変換）。また、例えば、インターネットのトラフィック状況に応じて、Ｐ２Ｐ通信の実行を第２通信網２０（インターネット）経由から第１通信網１０（閉域網）経由にしたい場合には、シグナリングサーバ３０における設定を、第１通信網１０側のアドレスのスコアが高くなるようにアドレス変換を行うよう変更すればよい。具体的には、後述するシグナリングサーバ３０のデータ記憶部３３に格納されるスコア変換基準情報を、第１通信網１０側のアドレスのスコアが高くなるようにアドレス変換を行うことを示す情報にすればよい。
【００８１】
上記のように、本実施の形態に係る技術を使用することで、シグナリングサーバ３０を制御するだけで、ＳＤ−ＷＡＮ（Software Defined WAN）技術によって実現されるユースケースであるハイブリッドＷＡＮ等と同様のトラフィック経路の制御を行うことが可能となる。このようなトラフィック経路制御は、ＳＤ−ＷＡＮコントローラ及びＳＤ−ＷＡＮエッジを配備した上でのＳＤＮ（Software-Defined Network）による実現も可能ではあるが、本実施の形態に係る技術により、ＮＷ設備及びアプリケーションへのインパクトを最小限にこれを行うことが可能となる。
【００８２】
（変形例１）
本実施の形態に係る通信システムにおいて、図７に示すように、第１通信網１０（例：アクセス網）のみにＳＴＵＮサーバ１１を配備することとしてもよい。
【００８３】
図７に示す構成の場合、端末間でのＰ２Ｐ接続チェックは、ｈｏｓｔのアドレス、及び、第１通信網１０内のＳＴＵＮサーバ１１から収集できるアドレスによって行われることになる。通常想定されるように、端末がＮＡＴ装置の配下にある場合、ｈｏｓｔのアドレスを用いたＰ２Ｐの通信を行うことはできない。従って、この場合、第１通信網１０を経由したＰ２Ｐ通信が制限されていない限り、ＳＴＵＮサーバ１１から収集できるアドレスによるＰ２Ｐ通信、すなわち、第１通信網１０を経由したＰ２Ｐ通信が行われる。
【００８４】
なお、第１通信網１０を経由したＰ２Ｐ通信が制限されている場合でも、各端末に、ｈｏｓｔのアドレスとしてＩＰｖ６のグローバルインターネットアドレスが付与されている場合には、前述したフォールバックによる第２通信網２０（例：インターネット）経由のＰ２Ｐ通信を行うことが可能である。
【００８５】
（変形例２）
これまでに説明した例では、シグナリングサーバ３０の設置場所を限定せずに１つ備えることとしていたが、図８に示すように、シグナリングサーバ３０を各網に備えることとしてもよい。すなわち、図８に示す例では、第１通信網１０にシグナリングサーバ３０−１が備えられ、第２通信網２０にシグナリングサーバ３０−２が備えられる。変形例２において、第１通信網１０は、ＮＧＮ網等のアクセス網であってもよいし、図６を参照して説明したような閉域網であってもよいし、その他の網であってもよい。また、第２通信網２０は、インターネットであることを想定しているが、インターネット以外の網であってもよい。使用されるアドレスに関しては、第１通信網１０と第２通信網２０がともにＩＰｖ４であってもよいし、ともにＩＰｖ６であってもよいし、一方がＩＰｖ４であり他方がＩＰｖ６であってもよい。
【００８６】
シグナリングサーバ３０−１とシグナリングサーバ３０−２は、いずれもこれまでに説明したシグナリングサーバ３０と同じ機能を備える。すなわち、仮に、シグナリングサーバ３０−１とシグナリングサーバ３０−２のうちのシグナリングサーバ３０−１のみが設置された場合において、シグナリングサーバ３０−１は、第１の実施例及び第２の実施例で説明したシグナリングサーバ３０と同じ動作を実行することができる。また、仮に、シグナリングサーバ３０−１とシグナリングサーバ３０−２のうちのシグナリングサーバ３０−２のみが設置された場合において、シグナリングサーバ３０−２は、第１の実施例及び第２の実施例で説明したシグナリングサーバ３０と同じ動作を実行することができる。
【００８７】
変形例２において、第１の実施例で説明したスコア変換を行わない動作と、第２の実施例で説明したスコア変換を行う動作のいずれも適用できる。
【００８８】
変形例２では、端末４０Ａと端末４０Ｂはいずれもシグナリングサーバ３０−１とシグナリングサーバ３０−２のそれぞれに登録を行って、それぞれと通信を行う。例えば、第１の実施例で説明したスコア変換を行わない動作を適用する場合において、端末４０Ａと端末４０Ｂは、シグナリングサーバ３０−１を使用して、図３を参照して説明したシーケンスの動作を実行するとともに、シグナリングサーバ３０−２を使用して、図３を参照して説明したシーケンスの動作を実行する。なお、端末自身の側のアドレス収集（Ｓ２０１、Ｓ２０３）に関しては、シグナリングサーバ３０−１とシグナリングサーバ３０−２のそれぞれに対して行ってもよいし、シグナリングサーバ３０−１とシグナリングサーバ３０−２に対して、１回行うこととしてもよい。
【００８９】
シグナリングサーバ３０−１を使用するシーケンスと、シグナリングサーバ３０−２を使用するシーケンスの両方が正常に実行された場合、シグナリングサーバ３０−１を使用するシーケンスにより端末４０Ａと端末４０Ｂ間に確立されるＰ２Ｐ通信接続と、シグナリングサーバ３０−２を使用するシーケンスにより端末４０Ａと端末４０Ｂ間に確立されるＰ２Ｐ通信接続との２つのＰ２Ｐ通信接続（セッション）が発生することになる。
【００９０】
シグナリングサーバ３０−１と３０−２が、スコア変換を行わずに同じ動作を行った場合には、同じ通信網を経由する２つの異なるＰ２Ｐ通信接続が確立される。この場合、端末４０Ａ（又は端末４０Ｂ）は、２つの異なるＰ２Ｐ通信接続のうち、どちらかを切断する。例えば、２つの異なるＰ２Ｐ通信接続間でアドレスペアのスコアが同じであると予想されるので、ランダムでいずれか１つを切断する。
【００９１】
上記のような動作に代えて、端末４０Ａ（及び端末４０Ｂ）は、シグナリングサーバ３０−１を使用するシーケンスにより決定したアドレスペアと、シグナリングサーバ３０−２を使用するシーケンスにより決定したアドレスペアのうちのスコアの高いほうのアドレスペアを使用して１つのＰ２Ｐ通信接続を行うこととしてもよい。
【００９２】
また、第２の実施例で説明したスコア変換を行う動作を適用する場合において、端末４０Ａと端末４０Ｂは、シグナリングサーバ３０−１を使用して、図４を参照して説明したシーケンスの動作を実行するとともに、シグナリングサーバ３０−２を使用して、図４を参照して説明したシーケンスの動作を実行する。なお、端末自身の側のアドレス収集（Ｓ３０１、Ｓ３０５）に関しては、シグナリングサーバ３０−１とシグナリングサーバ３０−２のそれぞれに対して行ってもよいし、シグナリングサーバ３０−１とシグナリングサーバ３０−２に対して、１回行うこととしてもよい。
【００９３】
シグナリングサーバ３０−１を使用するシーケンスと、シグナリングサーバ３０−２を使用するシーケンスの両方が正常に実行された場合、シグナリングサーバ３０−１を使用するシーケンスにより端末４０Ａと端末４０Ｂ間に確立されるＰ２Ｐ通信接続と、シグナリングサーバ３０−２を使用するシーケンスにより端末４０Ａと端末４０Ｂ間に確立されるＰ２Ｐ通信接続との２つのＰ２Ｐ通信接続が発生することになる。
【００９４】
例えば、シグナリングサーバ３０−１と３０−２が同じスコア変換を行った場合、同じ通信網を経由する２つの異なるＰ２Ｐ通信接続が確立される。この場合、端末４０Ａ（又は端末４０Ｂ）は、２つの異なるＰ２Ｐ通信接続のうち、どちらかを切断する。例えば、２つの異なるＰ２Ｐ通信接続間でアドレスペアのスコアも同じであると予想されるので、ランダムでいずれか１つを切断する。
【００９５】
シグナリングサーバ３０−１と３０−２が、異なるルールでスコア変換を行った場合において、２つの異なるＰ２Ｐ通信接続が確立される場合には、端末４０Ａ（又は端末４０Ｂ）は、例えば、２つの異なるＰ２Ｐ通信接続間でアドレスペアのスコアの低いほうを切断する。また、異なる通信網を経由する２つの異なるＰ２Ｐ通信接続が確立される場合には、スコアに基づき１つのＰ２Ｐ通信接続を切断してもよいし、予め切断する側の通信網を定めておき、当該通信網経由のＰ２Ｐ通信接続を切断してもよい。
【００９６】
上記のような動作に代えて、端末４０Ａ（及び端末４０Ｂ）は、シグナリングサーバ３０−１を使用するシーケンスにより決定したアドレスペアと、シグナリングサーバ３０−２を使用するシーケンスにより決定したアドレスペアのうちのスコアの高いほうのアドレスペアを使用して１つのＰ２Ｐ通信接続を行うこととしてもよい。
【００９７】
第１の実施例の動作を適用する場合と第２の実施例の動作を適用する場合のいずれの場合も、例えば、端末４０Ａ（端末４０Ｂ）から第２通信網２０への接続ができない場合には、シグナリングサーバ３０−１を使用するシーケンスにより決定したアドレスペアに基づくＰ２Ｐ通信接続が確立される。このようなケースで、仮にシグナリングサーバ３０が第２通信網２０のみに備えられていたとした場合、シグナリングの実行が不可能なので、第１通信網１０と第２通信網２０のいずれについてもＰ２Ｐ通信接続を行うことができなくなる。一方、変形例２のように、各網にシグナリングサーバ３０を備えることで、一方の網に接続できない場合でも、他方の網を利用したＰ２Ｐ通信接続を行うことができる。
【００９８】
（装置構成例）
以下、本実施の形態で用いられる装置の構成例を説明する。以下で図面を参照して説明する各装置の構成は、本実施の形態に関わる主要な構成のみを示すものであり、各装置には、当該装置が実際に動作するために必要な図示しない既存機能が含まれる。
【００９９】
＜端末＞
図９に、本実施の形態で説明した処理を実行する端末４０（Ａ，Ｂ）の構成例を示す。端末４０Ａと端末４０Ｂは同じ構成を備えるため、端末４０（Ａ，Ｂ）と記載している。以下の説明では、端末４０と記載する。
【０１００】
図９に示すとおり、端末４０は、制御通信部４１、メディア通信部４２、及びデータ記憶部４３を含む。制御通信部４１は、これまでに説明したように、ＳＴＵＮサーバ１１、２１やシグナリングサーバ３０、３０−１、３０−２と制御信号の送受信を行って、メディア（ビデオ、音声、データ等）のＰ２Ｐ通信で使用するアドレスを決定する。メディア通信部４２は、制御通信部４１により決定されたアドレスを用いることにより、Ｐ２Ｐ通信を実行する。
【０１０１】
データ記憶部４３には、例えば、制御通信部４１がアクセスするべきＳＴＵＮサーバ１１、２１のアドレス、シグナリングサーバ３０、３０−１、３０−２のアドレス、ＤＮＳサーバのアドレス等が格納されている。制御通信部４１は、ＳＴＵＮサーバ１１、２１のアドレス、シグナリングサーバ３０、３０−１、３０−２のアドレスを用いて、ＳＴＵＮサーバ１１、２１や、シグナリングサーバ３０、３０−１、３０−２と通信を行う。
【０１０２】
また、ＳＴＵＮサーバ１１、２１をＦＱＤＮで指定する場合には、例えば、ユーザが制御通信部４１に対して当該ＦＱＤＮを入力する。あるいは、データ記憶部４３にＦＱＤＮを格納しておき、制御通信部４１がデータ記憶部４３からＦＱＤＮを取得する。そして、制御通信部４１は、データ記憶部４３に格納されているＤＮＳサーバのアドレスを用いて、ＤＮＳサーバにアクセスすることでアドレス解決を行ってＳＴＵＮサーバ１１、２１にアクセスする。
【０１０３】
本実施の形態に係る端末４０は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、端末４０が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、端末４０で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【０１０４】
なお、例えばＰ２Ｐ通信の技術としてＷｅｂＲＴＣを用いる場合、端末４０は、ブラウザあるいはブラウザに相当するＷｅｂＲＴＣ通信機能を持つソフトウェアを備える端末により実現できる。当該端末は、例えば、ＰＣあるいはスマートフォン、携帯電話、またはセンサ・アクチュエータなどのＩｏＴ・Ｍ２Ｍデバイス等である。ＷｅｂＲＴＣを用いる場合、端末４０は、まず、第１通信網１０、第２通信網２０、あるいはその他の網に備えられるサーバ等からプログラム（Ｗｅｂアプリ）を取得し、当該プログラムが端末４０で実行されることで、制御通信等が実行される。
【０１０５】
＜シグナリングサーバ＞
図１０に、本実施の形態で説明した処理を実行するシグナリングサーバ３０の構成例を示す。なお、シグナリングサーバ３０−１、３０−２は、シグナリングサーバ３０と同じ構成を有する。図１０に示すように、シグナリングサーバ３０は、メッセージ中継部３１、スコア変換部３２、データ記憶部３３を有する。
【０１０６】
メッセージ中継部３１は、端末間でやりとりされるアドレス候補等を含むメッセージの中継を行う。スコア変換部３２は、第２の実施例で説明したスコア変換を行う。すなわち、端末間でのＰ２Ｐ通信が所定の通信網（例：第１通信網１０）を経由するようスコアの変換を行う。なお、第１通信網１０を経由するようスコアの変換を行うことは一例に過ぎず、どのよなスコア変換を行うかは設定により変更可能である。
【０１０７】
一例として、Ｐ２Ｐ通信が経由し得る網として網１、網２、網３の３つの網があった場合において、網２を優先して経由させるようにしたい場合、網２のアドレスの情報（例：網２のアドレス帯）、及び、網２のアドレスについては他の網のアドレスよりもスコアが高くなるようにスコア変換を行う旨の命令を設定する。これにより、スコア変換部３２は、端末から受信するアドレス候補の中のアドレスをチェックし、網２のアドレス帯に該当するアドレスを検知した場合に、当該アドレスのスコアの変換を行う。なお、変換を行うまでもなく、網２を経由するようなスコアであれば、変換を行わない。
【０１０８】
データ記憶部３３は、例えば、上記の設定に係る情報（アドレス情報、スコア変換ルール等）を格納する。当該情報は、スコア変換にあたっての基準となる情報であるから、スコア変換基準情報と呼ぶ。スコア変換部３２は、データ記憶部３３に格納されたスコア変換基準情報を参照することで、適切にスコア変換を行うことができる。なお、データ記憶部３３に相当する機能部は、シグナリングサーバ３０の外部に別サーバ（外部サーバ）として備えてもよく、その場合、シグナリングサーバ３０は、通信網を介して当該外部サーバにアクセスして、当該外部サーバからスコア変換基準情報を取得し、当該スコア変換基準情報に基づいてスコア変換を実施する。
【０１０９】
本実施の形態に係るシグナリングサーバ３０は、例えば、１つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、シグナリングサーバ３０が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、シグナリングサーバ３０で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【０１１０】
＜ＳＴＵＮサーバ＞
図１１に、ＳＴＵＮサーバ１１の構成図を示す。ＳＴＵＮサーバ２１も同様の構成を備えるため、代表としてＳＴＵＮサーバ１１を図１１に示す。図１１に示すように、ＳＴＵＮサーバ１１は、アドレス取得部１５、及びアドレス通知部１６を含む。
【０１１１】
アドレス取得部１５は、端末から送信されたバインディングリクエストを受信し、当該バインディングリクエストの送信元アドレス（例：ＮＡＴ経由の場合、ＮＡＴの外側のアドレス）を取得する。アドレス通知部１６は、アドレス取得部１５により取得した送信元アドレスを含むバインディングレスポンスを作成し、当該送信元アドレスに向けて（つまり、送信元の端末に向けて）バインディングレスポンスを送信する。
【０１１２】
本実施の形態に係るＳＴＵＮサーバ１１は、例えば、１つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、ＳＴＵＮサーバ１１が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、ＳＴＵＮサーバ１１で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【０１１３】
＜ハードウェア構成例＞
図１２は、上述した各装置（端末４０、シグナリングサーバ３０、ＳＴＵＮサーバ１１）をコンピュータで実現する場合における当該装置のハードウェア構成例を示す図である。図１２に示す装置（端末４０、シグナリングサーバ３０、又はＳＴＵＮサーバ１１）は、それぞれバスＢで相互に接続されているドライブ装置１５０、補助記憶装置１５２、メモリ装置１５３、ＣＰＵ１５４、インタフェース装置１５５、表示装置１５６、及び入力装置１５７等を有する。
【０１１４】
当該装置での処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１５１によって提供される。プログラムを記憶した記録媒体１５１がドライブ装置１５０にセットされると、プログラムが記録媒体１５１からドライブ装置１５０を介して補助記憶装置１５２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１５１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１５２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【０１１５】
メモリ装置１５３は、プログラムの起動指示があった場合に、補助記憶装置１５２からプログラムを読み出して格納する。ＣＰＵ１５４（プロセッサ）は、メモリ装置１５３に格納されたプログラムに従って当該装置に係る機能を実現する。インタフェース装置１５５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１５６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１５７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【０１１６】
（実施の形態のまとめ）
以上、説明したように、本実施の形態において、第１通信網に備えられる第１アドレス通知装置と、第２通信網に備えられる第２アドレス通知装置とを含む通信システムであって、前記第１アドレス通知装置は、当該第１アドレス通知装置及び前記第２アドレス通知装置と通信可能な端末から、アドレス要求を受信し、当該アドレス要求から送信元アドレスを取得し、当該送信元アドレスを含む応答を前記端末に向けて送信する手段を備え、
前記第２アドレス通知装置は、前記端末からアドレス要求を受信し、当該アドレス要求から送信元アドレスを取得し、当該送信元アドレスを含む応答を前記端末に向けて送信する手段を備えることを特徴とする通信システムが提供される。
【０１１７】
前記通信システムは通信制御装置を備えてもよく、当該通信制御装置は、例えば、前記第１アドレス通知装置及び前記第２アドレス通知装置から前記端末に対して通知されたアドレスを含むアドレスの集合を、前記端末から受信し、当該アドレスの集合を当該端末の通信相手となる通信相手端末に送信する。
【０１１８】
前記通信制御装置は、前記端末と前記通信相手端末との間の通信が、所定の通信網を経由して行われるように、前記アドレスの集合における各アドレスに付加された優先度を示すスコアのうち、少なくとも１つのアドレスのスコアを変換することとしてもよい。このときに、前記通信制御装置は、外部サーバからスコア変換基準情報を取得し、当該スコア変換基準情報に基づいて、スコアの変換を行うこととしてもよい。
【０１１９】
また、本実施の形態により、第１通信網に備えられる第１アドレス通知装置と、第２通信網に備えられる第２アドレス通知装置とを含む通信システムにおいて、前記第１通信網に備えられる前記第１アドレス通知装置として機能するアドレス通知装置であって、前記第１アドレス通知装置及び前記第２アドレス通知装置と通信可能な端末であって、前記第２アドレス通知装置にアドレス要求を送信するとともに、前記第１アドレス通知装置にアドレス要求を送信する端末から、当該アドレス要求を受信し、当該アドレス要求から送信元アドレスを取得する取得手段と、前記送信元アドレスを含む応答を前記端末に向けて送信するアドレス通知手段とを備えることを特徴とするアドレス通知装置が提供される。
【０１２０】
また、本実施の形態により、通信制御装置と、第１通信網に備えられる第１アドレス通知装置と、第２通信網に備えられる第２アドレス通知装置とを含む通信システムにおいて使用される前記通信制御装置であって、前記第１アドレス通知装置及び前記第２アドレス通知装置と通信可能な端末からアドレスの集合を受信し、当該アドレスの集合を当該端末の通信相手となる通信相手端末に送信する中継手段を備え、前記アドレスの集合は、前記端末から前記第１アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレス、及び、前記端末から前記第２アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレスを含むことを特徴とする通信制御装置が提供される。
【０１２１】
前記通信制御装置は、前記端末と前記通信相手端末との間の通信が、所定の通信網を経由して行われるように、前記アドレスの集合における各アドレスに付加された優先度を示すスコアのうち、少なくとも１つのアドレスのスコアを変換する変換手段を備えてもよい。
【０１２２】
また、本実施の形態により、通信制御装置と、第１通信網に備えられる第１アドレス通知装置と、第２通信網に備えられる第２アドレス通知装置とを含む通信システムとの間で制御通信を行う端末であって、前記第１アドレス通知装置にアドレス要求を送信し、当該アドレス要求の送信元アドレスを含む応答を当該第１アドレス通知装置から受信し、当該応答から送信元アドレスを取得する手段と、前記第２アドレス通知装置にアドレス要求を送信し、当該アドレス要求の送信元アドレスを含む応答を当該第２アドレス通知装置から受信し、当該応答から送信元アドレスを取得する手段と、前記第１アドレス通知装置及び前記第２アドレス通知装置から受信した各応答から取得したアドレスを含むアドレスの集合を前記通信制御装置に送信する手段と、を備え、前記通信制御装置は、前記端末から受信したアドレスの集合を、当該端末の通信相手となる通信相手端末に送信することを特徴とする端末が提供される。
【０１２３】
前記端末は、前記通信相手端末により取得されたアドレスの集合を前記通信制御装置から受信し、当該アドレスの集合と、前記端末が取得したアドレスの集合とに基づいて、前記通信相手端末との間の通信に使用するアドレスのペアを決定する手段を備えてもよい。
【０１２４】
また、本実施の形態により、第１通信網に備えられる第１通信制御装置及び第１アドレス通知装置と、第２通信網に備えられる第２通信制御装置及び第２アドレス通知装置とを含む通信システムであって、前記第１通信制御装置と前記第２通信制御装置はそれぞれ、前記第１アドレス通知装置及び前記第２アドレス通知装置と通信可能な端末からアドレスの集合を受信し、当該アドレスの集合を当該端末の通信相手となる通信相手端末に送信する中継手段を備え、前記アドレスの集合は、前記端末から前記第１アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレス、及び、前記端末から前記第２アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレスを含むことを特徴とする通信システムが提供される。
【０１２５】
前記第１通信制御装置と前記第２通信制御装置はそれぞれ、前記端末と前記通信相手端末との間の通信が、所定の通信網を経由して行われるように、前記アドレスの集合における各アドレスに付加された優先度を示すスコアのうち、少なくとも１つのアドレスのスコアを変換する変換手段を更に備えることとしてもよい。
【０１２６】
（実施の形態の効果）
以上、説明した本実施の形態に係る技術により、端末間のＰ２Ｐ通信に使用される通信経路が適切に選択されるようになる。その結果、例えば、Ｐ２Ｐ通信の品質を高めることができる。また、最優先で選択された通信経路が接続不可の場合でも、他の通信経路にフォールバックしてＰ２Ｐ通信を行うことができるので、サービスの可用性を高めることができる。
【０１２７】
また、シグナリングサーバを各通信網に備える構成を採用することで、例えば、インターネットへの接続を行うことができない場合に、Ｐ２Ｐ通信接続が全くできなくなってしまうことを回避することができる。
【０１２８】
以下、本明細書に開示される構成を例示的に列挙する。
（第１項）
第１通信網に備えられる第１アドレス通知装置と、第２通信網に備えられる第２アドレス通知装置とを含む通信システムであって、
前記第１アドレス通知装置は、当該第１アドレス通知装置及び前記第２アドレス通知装置と通信可能な端末から、アドレス要求を受信し、当該アドレス要求から送信元アドレスを取得し、当該送信元アドレスを含む応答を前記端末に向けて送信する手段を備え、
前記第２アドレス通知装置は、前記端末からアドレス要求を受信し、当該アドレス要求から送信元アドレスを取得し、当該送信元アドレスを含む応答を前記端末に向けて送信する手段を備える
ことを特徴とする通信システム。
（第２項）
前記通信システムは通信制御装置を備え、当該通信制御装置は、
前記第１アドレス通知装置及び前記第２アドレス通知装置から前記端末に対して通知されたアドレスを含むアドレスの集合を、前記端末から受信し、当該アドレスの集合を当該端末の通信相手となる通信相手端末に送信する
ことを特徴とする第１項に記載の通信システム。
（第３項）
前記通信制御装置は、前記端末と前記通信相手端末との間の通信が、所定の通信網を経由して行われるように、前記アドレスの集合における各アドレスに付加された優先度を示すスコアのうち、少なくとも１つのアドレスのスコアを変換する
ことを特徴とする第２項に記載の通信システム。
（第４項）
前記通信制御装置は、外部サーバからスコア変換基準情報を取得し、当該スコア変換基準情報に基づいて、前記スコアの変換を行う
ことを特徴とする第３項に記載の通信システム。
（第５項）
第１通信網に備えられる第１アドレス通知装置と、第２通信網に備えられる第２アドレス通知装置とを含む通信システムにおいて、前記第１通信網に備えられる前記第１アドレス通知装置として機能するアドレス通知装置であって、
前記第１アドレス通知装置及び前記第２アドレス通知装置と通信可能な端末であって、前記第２アドレス通知装置にアドレス要求を送信するとともに、前記第１アドレス通知装置にアドレス要求を送信する端末から、当該アドレス要求を受信し、当該アドレス要求から送信元アドレスを取得する取得手段と、
前記送信元アドレスを含む応答を前記端末に向けて送信するアドレス通知手段と
を備えることを特徴とするアドレス通知装置。
（第６項）
コンピュータを、第５項に記載のアドレス通知装置における各手段として機能させるためのプログラム。
（第７項）
通信制御装置と、第１通信網に備えられる第１アドレス通知装置と、第２通信網に備えられる第２アドレス通知装置とを含む通信システムにおいて使用される前記通信制御装置であって、
前記第１アドレス通知装置及び前記第２アドレス通知装置と通信可能な端末からアドレスの集合を受信し、当該アドレスの集合を当該端末の通信相手となる通信相手端末に送信する中継手段を備え、
前記アドレスの集合は、前記端末から前記第１アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレス、及び、前記端末から前記第２アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレスを含む
ことを特徴とする通信制御装置。
（第８項）
前記端末と前記通信相手端末との間の通信が、所定の通信網を経由して行われるように、前記アドレスの集合における各アドレスに付加された優先度を示すスコアのうち、少なくとも１つのアドレスのスコアを変換する変換手段
を更に備えることを特徴とする第７項に記載の通信制御装置。
（第９項）
コンピュータを、第７項又は第８項に記載の通信制御装置における各手段として機能させるためのプログラム。
（第１０項）
通信制御装置と、第１通信網に備えられる第１アドレス通知装置と、第２通信網に備えられる第２アドレス通知装置とを含む通信システムとの間で制御通信を行う端末であって、
前記第１アドレス通知装置にアドレス要求を送信し、当該アドレス要求の送信元アドレスを含む応答を当該第１アドレス通知装置から受信し、当該応答から送信元アドレスを取得する手段と、
前記第２アドレス通知装置にアドレス要求を送信し、当該アドレス要求の送信元アドレスを含む応答を当該第２アドレス通知装置から受信し、当該応答から送信元アドレスを取得する手段と、
前記第１アドレス通知装置及び前記第２アドレス通知装置から受信した各応答から取得したアドレスを含むアドレスの集合を前記通信制御装置に送信する手段と、を備え、
前記通信制御装置は、前記端末から受信したアドレスの集合を、当該端末の通信相手となる通信相手端末に送信する
ことを特徴とする端末。
（第１１項）
前記通信相手端末により取得されたアドレスの集合を前記通信制御装置から受信し、当該アドレスの集合と、前記端末が取得したアドレスの集合とに基づいて、前記通信相手端末との間の通信に使用するアドレスのペアを決定する手段
を更に備えることを特徴とする第１０項に記載の端末。
（第１２項）
コンピュータを、第１０項又は第１１項に記載の端末における各手段として機能させるためのプログラム。
（第１３項）
第１通信網に備えられる第１アドレス通知装置と、第２通信網に備えられる第２アドレス通知装置とを含む通信システムにおいて実行される通信方法であって、
前記第１アドレス通知装置が、当該第１アドレス通知装置及び前記第２アドレス通知装置と通信可能な端末から、アドレス要求を受信し、当該アドレス要求から送信元アドレスを取得し、当該送信元アドレスを含む応答を前記端末に向けて送信し、
前記第２アドレス通知装置が、前記端末からアドレス要求を受信し、当該アドレス要求から送信元アドレスを取得し、当該送信元アドレスを含む応答を前記端末に向けて送信する
ことを特徴とする通信方法。
（第１４項）
第１通信網に備えられる第１通信制御装置及び第１アドレス通知装置と、第２通信網に備えられる第２通信制御装置及び第２アドレス通知装置とを含む通信システムであって、
前記第１通信制御装置と前記第２通信制御装置はそれぞれ、前記第１アドレス通知装置及び前記第２アドレス通知装置と通信可能な端末からアドレスの集合を受信し、当該アドレスの集合を当該端末の通信相手となる通信相手端末に送信する中継手段を備え、
前記アドレスの集合は、前記端末から前記第１アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレス、及び、前記端末から前記第２アドレス通知装置に対して送信されたアドレス要求に対する応答から取得したアドレスを含む
ことを特徴とする通信システム。
（第１５項）
前記第１通信制御装置と前記第２通信制御装置はそれぞれ、前記端末と前記通信相手端末との間の通信が、所定の通信網を経由して行われるように、前記アドレスの集合における各アドレスに付加された優先度を示すスコアのうち、少なくとも１つのアドレスのスコアを変換する変換手段
を更に備えることを特徴とする第１４項に記載の通信システム。
【０１２９】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１３０】
１０  第１通信網
１１  ＳＴＵＮサーバ
１５  アドレス取得部
１６  アドレス通知部
２０  第２通信網
２１  ＳＴＵＮサーバ
３０、３０−１、３０−２  シグナリングサーバ
３１  メッセージ中継部
３２  スコア変換部
３３  データ記憶部
４０Ａ、４０Ｂ  端末
４１  制御通信部
４２  メディア通信部
４３  データ記憶部
５０Ａ、５０Ｂ  ＮＡＴ装置
【図１】
0006434063.tif 000002
【図２】
0006434063.tif 000003
【図３】
0006434063.tif 000004
【図４】
0006434063.tif 000005
【図５】
0006434063.tif 000006
【図６】
0006434063.tif 000007
【図７】
0006434063.tif 000008
【図８】
0006434063.tif 000009
【図９】
0006434063.tif 000010
【図１０】
0006434063.tif 000011
【図１１】
0006434063.tif 000012
【図１２】
0006434063.tif 000013