JP2019047184A - 通信システム、通信装置、通信制御プログラム、及び通信制御方法 - Google Patents

通信システム、通信装置、通信制御プログラム、及び通信制御方法 Download PDF

Info

Publication number
JP2019047184A
JP2019047184A JP2017165281A JP2017165281A JP2019047184A JP 2019047184 A JP2019047184 A JP 2019047184A JP 2017165281 A JP2017165281 A JP 2017165281A JP 2017165281 A JP2017165281 A JP 2017165281A JP 2019047184 A JP2019047184 A JP 2019047184A
Authority
JP
Japan
Prior art keywords
communication
communication device
information
paths
address
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.)
Pending
Application number
JP2017165281A
Other languages
English (en)
Inventor
進一 乙川
Shinichi Otogawa
進一 乙川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2017165281A priority Critical patent/JP2019047184A/ja
Publication of JP2019047184A publication Critical patent/JP2019047184A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信経路が複数有る場合において、最も通信時間が短い通信経路を選択することできる、通信システムを提供する。【解決手段】第1通信装置と第2通信装置とが複数の通信経路により接続が可能な通信システムであって、第1通信装置は、複数の通信経路毎のアドレス情報を第2通信装置に送信するアドレス情報送信部と、複数の通信経路毎の通信時間に基づいて、通信時間が最も短い通信経路を選択する選択部と、選択部が選択した通信経路により第2通信装置にメッセージ情報を送信するメッセージ情報送信部と、メッセージ情報に対する応答情報を第2通信装置から受信する受信部と、を備え、第2通信装置は、第1通信装置からアドレス情報を受信するアドレス情報受信部と、第1通信装置からメッセージ情報を受信するメッセージ情報受信部と、メッセージ情報に対する応答情報を第1通信装置に送信する送信部と、を備える。【選択図】図4

Description

本発明は、通信システム、通信装置、通信制御プログラム、及び通信制御方法に関するものである。
一般に、IP電話や映像配信などのIP技術をベースとしたサービスが普及しており、声及び映像などのメディア情報は、UDP(User Datagram Protocol)等で送受信している。メディア情報の送受信(メディア通信)を行うコンピュータや携帯機器等の通信装置は、家庭内LANや企業内LAN等のNAT(Network Address Translation)が介在して外部のネットワークに接続する形態で用いられる場合が多い。一般に、NATの外側にある通信装置は、NATの内側にあるNATを介して外部のネットワークと接続する通信装置と直接通信を行う手段が存在しない。
NATを介してUDP通信を行うための技術として、非特許文献1には、STUN(Relay Extensions to Session Traversal Utilities for NAT)と呼ばれる技術について記載されている。また、非特許文献2には、TURN(Traversal Using Relays around NAT)と呼ばれる技術について記載されている。さらに、非特許文献3には、ICE(Interactive Connectivity Establishment)と呼ばれる技術が記載されている。
Session Traversal Utilities for NAT (STUN), 「https://tools.ietf.org/html/rfc5389」 Traversal Using Relays around NAT (TURN), 「https://tools.ietf.org/html/rfc5766」 Interactive Connectivity Establishment (ICE), 「https://tools.ietf.org/html/rfc5245」
例えば、上記ICEを使用して通信経路を確定する場合は、一般的に NATを介さない通信、STUNで取得したアドレスによるNATを介した通信、及びTURNサーバを介したNATを介した通信があり、この順で通信経路の選択が行われる。
このような技術を用いることで、NATを介して外部のネットワークと接続する通信装置との通信が可能となるが、必ずしも最適な通信経路が選択されるとは限らない。
例えば、NATを介さないで接続可能なネットワークAを用いて通信を行う場合、NATを介して接続可能なネットワークBを用いて通信を行う場合よりも通信速度が遅く、通信時間が長くなる場合がある。この場合、ネットワークBを用いて通信を行う方が好ましいが、上記の通信経路の選択によれば、ネットワークAを用いた通信経路が選択されてしまう。
本発明は、上述した問題を解決するために提案されたものであり、通信経路が複数有る場合において、最も通信時間が短い通信経路を選択することできる、通信システム、通信装置、通信制御プログラム、及び通信制御方法を提供することを目的とする。
上記目的を達成するために、本開示の通信システムは、第1通信装置と第2通信装置とが複数の通信経路により接続が可能な通信システムであって、前記第1通信装置は、前記複数の通信経路毎のアドレス情報を前記第2通信装置に送信するアドレス情報送信部と、前記複数の通信経路毎の通信時間に基づいて、前記通信時間が最も短い通信経路を選択する選択部と、前記選択部が選択した通信経路により前記第2通信装置にメッセージ情報を送信するメッセージ情報送信部と、前記メッセージ情報に対する応答情報を前記第2通信装置から受信する受信部と、を備え、前記第2通信装置は、前記第1通信装置から前記アドレス情報を受信するアドレス情報受信部と、前記第1通信装置から前記メッセージ情報を受信するメッセージ情報受信部と、前記メッセージ情報に対する応答情報を前記第1通信装置に送信する送信部と、を備える。
また、上記目的を達成するために、本開示の通信装置は、複数の通信経路により第2通信装置と接続が可能な通信装置であって、前記複数の通信経路毎のアドレス情報を前記第2通信装置に送信するアドレス情報送信部と、前記複数の通信経路毎の通信時間に基づいて、前記通信時間が最も短い通信経路を選択する選択部と、前記選択部が選択した通信経路により前記第2通信装置にメッセージ情報を送信するメッセージ情報送信部と、前記メッセージ情報に対する応答情報を前記第2通信装置から受信する受信部と、を備える。
また、上記目的を達成するために、本開示の通信装置は、複数の通信経路により第1通信装置と接続が可能な通信装置であって、前記第1通信装置から前記複数の通信経路毎の前記第1通信装置のアドレス情報を受信するアドレス情報受信部と、前記複数の通信経路のうち、通信時間が最も短い通信経路により前記第1通信装置からメッセージ情報を受信するメッセージ情報受信部と、前記メッセージ情報に対する応答情報を前記第1通信装置に送信する送信部と、を備える。
また、上記目的を達成するために、本開示の通信制御プログラムは、複数の通信経路により第2通信装置と接続が可能な通信装置による通信を制御する通信制御プログラムであって、コンピュータを、前記複数の通信経路毎のアドレス情報を前記第2通信装置に送信するアドレス情報送信部と、前記複数の通信経路毎の通信時間に基づいて、前記通信時間が最も短い通信経路を選択する選択部と、前記選択部が選択した通信経路により前記第2通信装置にメッセージ情報を送信するメッセージ情報送信部と、前記メッセージ情報に対する応答情報を前記第2通信装置から受信する受信部と、して機能させるためのものである。
また、上記目的を達成するために、本開示の通信制御プログラムは、複数の通信経路により第1通信装置と接続が可能な通信装置による通信を制御する通信制御プログラムであって、コンピュータを、前記第1通信装置から前記複数の通信経路毎の前記第1通信装置のアドレス情報を受信するアドレス情報受信部と、前記複数の通信経路のうち、通信時間が最も短い通信経路により前記第1通信装置からメッセージ情報を受信するメッセージ情報受信部と、前記メッセージ情報に対する応答情報を前記第1通信装置に送信する送信部と、して機能させるためのものである。
また、上記目的を達成するために、本開示の通信制御方法は、複数の通信経路により第2通信装置と接続が可能な通信装置による通信を制御する通信制御方法であって、前記通信装置は、前記複数の通信経路毎のアドレス情報を前記第2通信装置に送信するアドレス情報送信ステップと、前記複数の通信経路毎の通信時間に基づいて、前記通信時間が最も短い通信経路を選択する選択ステップと、前記選択ステップで選択された通信経路により前記第2通信装置にメッセージ情報を送信するメッセージ情報送信ステップと、前記メッセージ情報に対する応答情報を前記第2通信装置から受信する受信ステップと、を備える。
また、上記目的を達成するために、本開示の通信制御方法は、複数の通信経路により第1通信装置と接続が可能な通信装置による通信を制御する通信制御方法であって、前記通信装置は、前記第1通信装置から前記複数の通信経路毎の前記第1通信装置のアドレス情報を受信するアドレス情報受信ステップと、前記複数の通信経路のうち、通信時間が最も短い通信経路により前記第1通信装置からメッセージ情報を受信するメッセージ情報受信ステップと、前記メッセージ情報に対する応答情報を前記第1通信装置に送信する送信ステップと、を備える。
本開示によれば、通信経路が複数有る場合において、最も通信時間が短い通信経路を選択することできる、という効果を奏する。
実施形態の通信システムの一例の概略構成図を示す。 実施形態の通信装置Aの電気系の要部構成の一例のブロック図である。 実施形態の通信装置Bの電気系の要部構成の一例のブロック図である。 通信装置Aと通信装置Bとの間で通信経路を確定するための動作の流れの一例を表したタイムチャートである。 図4に示したタイムチャートにおけるステップS1における詳細な処理の流れの一例を示すタイムチャートである。 図5に示した処理において通信装置Aからリレーサーバに送信されるパケットの構成の一例を示す図である。 図5に示した処理においてリレーサーバから通信装置Aに送信されるパケットの構成の一例を示す図である。 図4に示したタイムチャートにおけるステップS2においてメッセージ制御部Aからシグナリングサーバに送信されるMESSAGEリクエストの構成の一例を示す図である。 図4に示したタイムチャートにおけるステップS4においてシグナリングサーバから通信装置Bに送信されるMESSAGEリクエストの構成の一例を示す図である。 図4に示したタイムチャートにおけるステップS6においてメッセージ制御部Bからシグナリングサーバに送信される200/MESSAGEレスポンスの構成の一例を示す図である 図4に示したタイムチャートにおけるステップS8における詳細な処理の流れの一例を示すタイムチャートである。 図11に示した処理において経路探索部Aから経路探索部Bに送信されるパケットの構成の一例を示す図である。 図4に示したタイムチャートにおけるステップS9における詳細な処理の流れの一例を示すタイムチャートである。 図13に示した処理において経路探索部Bからリレーサーバに送信されるパケットの構成の一例を示す図である。 図4に示したタイムチャートのS11において生成されるMESSAGEリクエストの構成の一例を示す図である。 図4に示したタイムチャートのS13においてアプリケーションAからアプリケーションBへ送信される、INVITEリクエストの構成の一例を示す図である。 図4に示したタイムチャートのS13においてアプリケーションBからアプリケーションAへ送信される、INVITEレスポンスの構成の一例を示す図である。
以下、本実施形態について、図面を参照して説明する。まず、本実施形態の通信制御システムの構成について説明する。図1に、本実施形態の通信システムの一例の概略構成図を示す。
図1に示すように、本実施形態の通信システム10は、NAT(Network Address Translation)11、NAT12、NAT21、NAT22、通信装置A100、通信装置B110、シグナリングサーバ120、及びリレーサーバ122を備える。本実施形態の通信システム10は、通信装置A100と通信装置B110とが複数の通信経路によりUDP(User Datagram Protocol)による通信を行うために接続が可能な通信システムである。
通信装置A100は、アプリケーションA102を備え、アプリケーションA102によりメディア処理を行うメディア通信の端末装置である。アプリケーションA102は、経路探索部A104及びメッセージ制御部A106から構成され、セッション制御プロトコルを用いて通信装置B110(アプリケーションB112)と通信を確立する。なお、本実施形態では、セッション制御プロトコルの一例として、SIP(Session Initiation Protocol)を用いる場合について説明する。
経路探索部A104は、通信装置A100が通信装置B110と通信を行うためのUDPの通信経路情報を収集するための機能、及び通信装置B110の経路探索部B114が通信装置A100との通信経路を確定するために送信するパケットに応答する機能を有する。
メッセージ制御部A106は、SIPに基づいて、通信装置B110との間でメッセージを送受信する機能を有する。
本実施形態の通信装置A100は、例えば、図2に示した電気系の要部構成により実現することができる。図2に示すように通信装置A100は、CPU(Central Processing Unit)150、ROM(Read Only Memory)152、及びRAM(Random Access Memory)154、タイマ155、I/F(InterFace)156、記憶部157、及び通信I/F158を備える。
CPU150は、ROM152に格納されている通信制御プログラムA153等の各種プログラムを実行することにより、通信装置A100の動作を制御する。ROM50152には、上記のようにCPU150で実行される通信制御プログラムA153等の各種プログラムや各種パラメータ等が予め記憶されている。RAM154は、CPU150による各種プログラムの実行時のワークエリア等として用いられる。なお、本実施形態の通信制御プログラムA153は、アプリケーションA102を実現するためのプログラムを含む。
タイマ155は、詳細を後述するパケット送信時のタイムアウト等の計測に用いられる。
I/F156はいわゆるユーザインターフェースであり、本実施形態では、音声をユーザに対して出入力する機能を少なくとも含む。I/F156の具体例としては、マイク等の集音器や、スピーカ等の可聴表示を行う表示部、モニタ等の可視表示を行う表示部、マウス、やキーボード等が挙げられる。
記憶部157の具体例としては、HDD(Hard Disk Drive)やSSD(Solid State Drive)等が挙げられる。通信I/F158は、無線通信または有線通信の機能を有し、本実施形態では、NAT11及びNAT12を介して通信装置B110と通信を行うための機能を有する。
CPU150、ROM152、RAM154、タイマ155、I/F156、記憶部157、及び通信I/F158は、システムバスやコントロールバス等のバス159を介して相互に各種情報(信号)の授受が可能に接続されている。
一方、通信装置B110は、アプリケーションB112を備え、アプリケーションB112によりメディア処理を行うメディア通信の端末装置である。アプリケーションB112は、経路探索部B114及びメッセージ制御部B116から構成され、SIPを用いて通信装置A100(アプリケーションA102)と通信を確立する。
経路探索部B114は、通信装置B110が通信装置A100と通信を行うためのUDPの通信経路情報を収集するための機能、及び通信装置A100の経路探索部A104に通信装置A100との通信経路を確定するためのパケットを送信する機能を有する。
メッセージ制御部B116は、SIPに基づいて、通信装置A100との間でメッセージを送受信する機能を有する。
本実施形態の通信装置B110は、例えば、図3に示した電気系の要部構成により実現することができる。図3に示すように通信装置B110は、CPU170、ROM172、及びRAM174、タイマ175、I/F176、記憶部177、及び通信I/F178を備える。
CPU170は、ROM172に格納されている通信制御プログラムB173等の各種プログラムを実行することにより、通信装置B110の動作を制御する。ROM172には、上記のようにCPU170で実行される通信制御プログラムA173等の各種プログラムや各種パラメータ等が予め記憶されている。RAM174は、CPU170による各種プログラムの実行時のワークエリア等として用いられる。なお、本実施形態の通信制御プログラムB173は、アプリケーションB112を実現するためのプログラムを含む。
タイマ175は、詳細を後述する通信時間の計測等に用いられる。
I/F176はいわゆるユーザインターフェースであり、本実施形態では、通信装置A100のI/F156と同様に、音声をユーザに対して出入力する機能を少なくとも含む。I/F176の具体例としては、マイク等の集音器や、スピーカ等の可聴表示を行う表示部、モニタ等の可視表示を行う表示部、マウス、やキーボード等が挙げられる。
記憶部177の具体例としては、HDDやSSD等が挙げられる。通信I/F178は、無線通信または有線通信の機能を有し、本実施形態では、NAT21及びNAT22を介して通信装置A100と通信を行うための機能を有する。
CPU170、ROM172、RAM174、タイマ175、I/F176、記憶部177、及び通信I/F178は、システムバスやコントロールバス等のバス179を介して相互に各種情報(信号)の授受が可能に接続されている。
一方、シグナリングサーバ120は、通信装置A100及び通信装置B110から受信したメッセージを解釈し、通信装置A100及び通信装置B110の間のセッションを確立するためのサーバである。本実施形態では、一例としてSIPサーバを用いている。
リレーサーバ122は、通信装置A100及び通信装置B110の一方から受信したUDPパケットを他方に送信するサーバである。本実施形態では、一例としてRTP(Real-time Transport Protocol)リレーサーバを用いている。
シグナリングサーバ120及びリレーサーバ122は、CPU、ROM、RAM、記憶部、及び通信I/F等(いずれも図示省略)を備えた、いわゆるサーバコンピュータである。なお、本実施形態では、シグナリングサーバ120及びリレーサーバ122を別個の装置とした形態について例示したが、本実施形態に限定されず、例えば、1台のサーバコンピュータを仮想的にシグナリングサーバ120及びリレーサーバ122として機能させる形態であってもよい。
NAT11及びNAT12は、通信装置A100のローカルのIP(Internet Protocol)アドレスをグローバルのIPアドレスに変換する。一方、NAT21及びNAT22は、通信装置B110のローカルのIPアドレスをグローバルのIPアドレスに変換する。なお、以下では、ローカルのIPアドレスを「ローカルアドレス」または単に「IPアドレス」という場合があり、グローバルのIPアドレスを「グローバルアドレス」または「IPアドレス」という場合がある。
次に、本実施形態の通信システム10において通信経路を確定するための作用について説明する。
図4は、通信装置A100と通信装置B110との間で通信経路を確定するための動作の流れの一例を表したタイムチャートである。
なお、以下では、通信経路を確定し、VoIP(Voice over Internet Protocol)プロトコルによる発信処理を開始するまでに動作の流れについて、通信装置A100を発信側、通信装置B110を着信側とした場合の一例について説明する。本実施形態の通信装置A100が本開示の第2通信装置の一例であり、本実施形態の通信装置B110が本開示の第1通信装置の一例である。
なお、通信装置A100は、CPU150がROM152に記憶されている通信制御プログラムA153を実行することにより、アプリケーションA102が実現され、経路探索部A104及びメッセージ制御部A106として機能する。また、本開示のアドレス情報送信部、選択部、メッセージ情報送信部、及び受信部として機能する。
また、通信装置B110は、CPU170がROM172に記憶されている通信制御プログラムB173を実行することにより、アプリケーションB112が実現され、経路探索部B114及びメッセージ制御部B116として機能する。また、本開示のアドレス情報受信部、メッセージ情報受信部、送信部、及び通信情報送信部の一例として機能する。
図4に示したステップS1で通信装置A100は、通信装置B110が通信装置A100に接続するための通信装置A100自身のグローバルアドレス及びポート番号をリレーサーバ122から収集する。
ステップS1における詳細な処理の流れの一例を図5に示す。図5に示すように、ステップS100で経路探索部A104は、RTPパケットを受信するためのRTPソケットをオープンする。
次にステップS102で経路探索部A104は、IDが「A011」のRTPパケット(以下、「パケット50」という)を、NAT11を介してリレーサーバ122に送信する。これにより、経路探索部A104は、アプリケーションB112から送信したパケットがアプリケーションA102に到達することが可能な、通信装置A100のグローバルアドレス及びポート番号を取得することできる。
図6には、パケット50の構成の一例を示す。図6に示すように、パケット50は、12バイトのRTPヘッダの後に続くペイロードの4バイトにASCII(American National Standards Institute)コードでパケットID(ここでは、「A011」)が設定されている。
また、パケット送信時にタイマT011を設定する。経路探索部A104は、タイマT011が満了するまで、もしくは後述するパケット52を受信するまで、一定間隔でS102の処理、すなわちパケット50の送信を繰り返す。
パケット50を受信したリレーサーバ122は、ステップS104でパケット50から発信元のグローバルアドレス及びポート番号を取得する。
次のステップS106でリレーサーバ122は、取得したアドレス及びポート番号を設定したIDが「A103」のパケット(以下、「パケット52」という)を経路探索部A104に送信する。なお、本実施形態のパケット50及びパケット52が、本開示の予め定められた情報の一例である。
図7には、パケット52の構成の一例を示す。図7に示すように、パケット52は、12バイトのRTPヘッダの後に続くペイロードの4バイトにASCIIコードでパケットID(ここでは、「A012」)が設定されている。さらに、パケット52は、次の4バイトに、取得したグローバルアドレスが設定されている。さらに、パケット52は、次の2バイトに「0x00」が設定されており、その次の2バイトに取得したポート番号が設定されている。
以降のステップS108〜S112の各処理は、上記ステップS102〜S106の各処理を、NAT12を介した通信により行う。
すなわち、図4に示したステップS1の処理では、利用可能なネットワークの数(介するNATの数)だけステップS102〜S106の各処理と同等の処理を繰り返し行う。
図4に示した次のステップS2でメッセージ制御部A106は、シグナリングサーバ120に、収集したグローバルアドレス及びポート番号と、ローカルアドレスと、を設定したMESSAGEリクエスト(以下、「MESSAGEリクエスト60」という)を送信する。
図8には、送信されるMESSAGEリクエスト60の一例を示す。図8に示したMESSAGEリクエスト60は、ヘッダに続いて、通信装置A100のローカルアドレス61として、IPアドレスAL11、AL12、AL13、AL14、及びポート番号ALPort1と、IPアドレスAL21、AL22、AL23、AL24、及びポート番号ALPort2との2つを設定した場合を示している。また、MESSAGEリクエスト60は、グローバルアドレス62として、IPアドレスAG11、AG12、AG13、AG14、及びポート番号AGPort1と、IPアドレスAG21、AG22、AG23、AG24、及びポート番号AGPort2との2つを設定した場合を示している。
図4に示した次のステップS3でシグナリングサーバ120は、リレーサーバ122から通信装置A100と通信装置B110とがリレーサーバ122を中継して通信するためのアドレスを取得する。
具体的には、シグナリングサーバ120は、MESSAGEリクエスト60を受信すると、リレーサーバ122と通信を行いリレーサーバ122から、通信装置A100と通信装置B110とがリレーサーバ122を中継して通信するための2種類のアドレスを取得する。この2種類のアドレスは、アプリケーションA102がリレーサーバ122と接続するためのアドレス、及びアプリケーションB112がリレーサーバ122と接続するためのアドレスである。
図4に示した次のステップS4でシグナリングサーバ120は、取得したアドレスが設定されたMESSAGEリクエストを通信装置B110に送信し、通信装置B110のメッセージ制御部B116は、当該MESSAGEリクエストを受信する。
具体的には、シグナリングサーバ120は、上記ステップS3で取得したアドレスを受信したMESSAGEリクエスト60に対して設定する。図9には、MESSAGEリクエスト60に対して受信したアドレスが設定されたMESSAGEリクエスト66の一例を図9に示す。図9に示したMESSAGEリクエスト66は、ヘッダに続いて、アプリケーションA102がリレーサーバ122と接続するためのリレーアドレス67として、IPアドレスBR11、BR12、BR13、BR14、及びポート番号BRPort1が設定されている。また、MESSAGEリクエスト66は、アプリケーションB112がリレーサーバ122と接続するためのリレーアドレス68として、IPアドレスAR11、AR12、AR13、AR14、及びポート番号ARPort1が設定されている。
図4に示した次のステップS5でMESSAGEリクエスト66を受信した通信装置B110は、通信装置A100が通信装置B110に接続するための通信装置A100自身のグローバルアドレス及びポート番号をリレーサーバ122から収集する。ステップS5の処理は、上記ステップS1の処理と同様である。
まず、経路探索部B114は、RTPパケットを受信するためのRTPソケットをオープンする。そして経路探索部B114は、パケット50を、NAT21を介してリレーサーバ122に送信し、アプリケーションA102から送信したパケットがアプリケーションB112に到達することが可能な、通信装置B110のグローバルアドレス及びポート番号を取得する。また、パケット送信時にタイマT011を設定し、経路探索部B114は、タイマT011が満了するまで、もしくはパケット52を受信するまで、一定間隔でケット50の送信を繰り返す。パケット50を受信したリレーサーバ122は、パケット50から取得した発信元のグローバルアドレス及びポート番号をパケット52に設定して経路探索部B114に送信する。
上記処理をさらに、NAT22を介した通信により行う。すなわち、利用可能なネットワークの数(介するNATの数)だけ上記処理と同等の処理を繰り返し行う。
図4に示した次のステップS6で通信装置B110のメッセージ制御部B116は、200/MESSAGEレスポンス(MESSAGEリクエスト66の受信に成功したことを表す応答)をシグナリングサーバ120に送信する。
具体的には、メッセージ制御部B116は、MESSAGEリクエスト66に対する200/MESSAGEレスポンスを生成し、上記ステップS5で収集したグローバルアドレス及びポート番号と、ローカルアドレスと、を設定する。また、メッセージ制御部B116は、リレーアドレスも設定する。なお、リレーアドレスは、MESSAGEリクエスト66に設定されていたもの(リレーアドレス67、68)をコピーして用いる。
図10には、この場合の200/MESSAGEレスポンス70の一例を示す。図10に示した200/MESSAGEレスポンス70は、ヘッダに続いて、通信装置B110のローカルアドレス71として、IPアドレスBL11、BL12、BL13、BL14、及びポート番号BLPort1と、IPアドレスBL21、BL22、BL23、BL24、及びポート番号BLPort2との2つを設定した場合を示している。また、200/MESSAGEレスポンス70は、グローバルアドレス72として、IPアドレスBG11、BG12、BG13、BG14、及びポート番号BGPort1と、IPアドレスBG21、BG22、BG23、BG24、及びポート番号BGPort2との2つを設定した場合を示している。
図4に示した次のステップS7でシグナリングサーバ120は、通信装置B110から受信した200/MESSAGEレスポンス70を通信装置A100に送信する。
図4に示したステップS7で、通信装置A100のメッセージ制御部A106は、シグナリングサーバ120から、通信装置B110から受信した200/MESSAGEレスポンス70を、受信する。
図4に示した次のステップS8で通信装置A100のメッセージ制御部A106は、RTPパケットをリレーサーバ122及び通信装置B110に送信する。これにより、経路探索部A104は、アプリケーションB112が送信するUDPパケットをアプリケーションA102に到達できるようにするためのいわゆる、穴開け処理を行う。
ステップS8における詳細な処理の流れの一例を図11に示す。図11に示すように、ステップS800で経路探索部A104は、200/MESSAGEレスポンス70に設定されていたグローバルアドレスの1つに対して、IDが「A022」のRTPパケット(以下、「パケット54」という)を送信する。図12には、パケット54の構成の一例を示す。図11に示すように、パケット54は、12バイトのRTPヘッダの後に続くペイロードの4バイトにASCIIコードでパケットID(ここでは、「A022」)が設定されている。
また、経路探索部A104は、パケット送信時にタイマT022を設定する。経路探索部A104は、タイマT022が満了するまで一定間隔でS800の処理、すなわちパケット54の送信を繰り返す。
本実施形態では、通信装置B110のグローバルアドレスが2つ有るため、次のステップS802で、上記ステップS800で送信したグローバルアドレスと異なるグローバルアドレスに対して、上記ステップS800と同様にパケット54を送信する。
なお、本実施形態と異なり、通信装置B110のグローバルアドレスが1つの場合は、上記ステップS800の処理のみを行えばよく、グローバルアドレスが3つ以上の場合は、グローバルアドレスを替えて上記処理をさらに繰り返せばよいことはいうまでもない。
次のステップS804で経路探索部A104は、リレーサーバ122(200/MESSAGEレスポンス70に設定されていたリレーアドレス68)に対して、上記ステップS800と同様にパケット54を送信する。
図4に示した次のステップS9で通信装置B110では、通信装置A100との疎通の確認及び通信速度の測定を行い、最適な通信経路を選択する。
ステップS9における詳細な処理の流れの一例を図13に示す。経路探索部B114は、200/MESSAGEレスポンス70の送信後、所定の時間が経過すると、図13に示すように、ステップS900で、IDが「R100」のRTPパケット(以下「パケット56」という)を、上記ステップS4でシグナリングサーバ120から受信したMESSAGEリクエスト66に設定されているリレーアドレス67(リレーサーバ122)へ、タイマTB011が満了するまで一定間隔で繰り返し送信する。
図14には、パケット56の構成の一例を示す。図14に示すように、パケット56は、12バイトのRTPヘッダの後に続くペイロードの4バイトにASCIIコードでパケットID(ここでは、「R100」)が設定されている。さらに次の8バイトに、タイマ175を参照して得られた現在のタイムスタンプ(パケット56を最初に送信した際のタイムスタンプ)が設定されている。
リレーサーバ122は、パケット56を受信すると、ステップS930でパケット56のペイロードを改変することなく、そのまま経路探索部A104へ送信する。
パケット56を受信した経路探索部A104は、ステップS932、S936、及びS938の各処理を行う。
ステップS932で、経路探索部A104は、上記ステップS7で受信した200/MESSAGEレスポンス70に設定されている、リレーアドレス67に、IDが「R1R1」のRTPパケットを送信する。ここで送信するパケットは、パケット56のペイロードをコピーし、パケットIDを、ASCIIコードで「R1R1」を表したコードに変更したものである。
このIDが「R1R1」のRTPパケットを受信したリレーサーバ122は、ステップS933で、ペイロードを改変することなくそのまま経路探索部B114へ送信する。
IDが「R1R1」のRTPパケットを受信した経路探索部B114は、ステップS934で当該RTPパケットを受信した際のタイムスタンプをタイマ175から取得する。
また、ステップS936で経路探索部A104は、グローバルアドレス72に、IDが「R1GX」のRTPパケットを送信する。なお、グローバルアドレス72に複数のグローバルアドレスが含まれる場合がある。例えば、本実施形態では、図10に示したようにグローバルアドレスが2つ含まれており、このような場合、任意の順番で複数のグローバルアドレスの各々に番号が割り当てられる。IDにおける「X」は、グローバルアドレスに割り当てられた番号を示す。
ここで送信するパケットは、パケット56のペイロードをコピーし、パケットIDを、ASCIIコードで「R1GX」を表したコードに変更したものである。
IDが「R1GX」のRTPパケットを受信した経路探索部B114は、ステップS937で当該RTPパケットを受信した際のタイムスタンプをタイマ175から取得する。
なお、図13では、便宜上図示を省略したが、ステップS936及びステップS937の各処理は、グローバルアドレス72に含まれる全てのグローバルアドレスに対して、順次、上記「X」の値を変更して行われる。
また、ステップS938で経路探索部A104は、ローカルアドレス71に、IDが「R1LY」のRTPパケットを送信する。なお、ローカルアドレス71に複数のローカルアドレスが含まれる場合がある。例えば、本実施形態では、図10に示したようにローカルアドレスが2つ含まれており、このような場合、任意の順番で複数のローカルアドレスの各々に番号が割り当てられる。IDにおける「Y」は、ローカルアドレスに割り当てられた番号を示す。
ここで送信するパケットは、パケット56のペイロードをコピーし、パケットIDを、ASCIIコードで「R1LY」を表したコードに変更したものである。
IDが「R1LY」のRTPパケットを受信した経路探索部B114は、ステップS939で当該RTPパケットを受信した際のタイムスタンプをタイマ175から取得する。
なお、図13では、便宜上図示を省略したが、ステップS938及びステップS939の各処理は、ローカルアドレス71に含まれる全てのローカルアドレスに対して、順次、上記「Y」の値を変更して行われる。
なお、上記ステップS932、S936、及びS938の各処理を行う順番は、本実施形態に限定されず、任意であることは言うまでもない。
一方、経路探索部B114は、ステップS940で、IDが「GW00」のRTPパケットを、上記ステップS4でシグナリングサーバ120から受信したMESSAGEリクエスト66に設定されているグローバルアドレス62へ、タイマTB011が満了するまで一定間隔で繰り返し送信する。
なお、グローバルアドレス62に複数のグローバルアドレスが含まれる場合がある。例えば、本実施形態では、図9に示したようにグローバルアドレスが2つ含まれており、このような場合、任意の順番で複数のグローバルアドレスの各々に番号が割り当てられる。IDにおける「W」は、グローバルアドレスに割り当てられた番号を示す。
ここで送信するパケットは、パケット56のペイロードをコピーし、パケットIDを、ASCIIコードで「GW00」を表したコードに変更し、現在のタイムスタンプに書き換えたものである。
当該パケットを受信した経路探索部A104は、ステップS952、S956、及びS958の各処理を行う。これらの処理は、上記ステップS932、S936、及びS938の各処理と略同様である。
ステップS952で、経路探索部A104は、上記ステップS7で受信した200/MESSAGEレスポンス70に設定されている、リレーアドレス67に、IDが「GWR1」のRTPパケットを送信する。ここで送信するパケットは、受信しパケットのペイロードをコピーし、パケットIDを、ASCIIコードで「GWR1」を表したコードに変更したものである。
このIDが「GWR1」のRTPパケットを受信したリレーサーバ122は、ステップS953で、ペイロードを改変することなくそのまま経路探索部B114へ送信する。
IDが「GWR1」のRTPパケットを受信した経路探索部B114は、ステップS954で当該RTPパケットを受信した際のタイムスタンプをタイマ175から取得する。
また、ステップS956で経路探索部A104は、グローバルアドレス72に、IDが「GWGX」のRTPパケットを送信する。なお、「X」は、上記ステップS936と同様に、複数のグローバルアドレスを識別するための任意の番号である。
ここで送信するパケットは、受信したパケットのペイロードをコピーし、パケットIDを、ASCIIコードで「GWGX」を表したコードに変更したものである。
IDが「GWGX」のRTPパケットを受信した経路探索部B114は、ステップS957で当該RTPパケットを受信した際のタイムスタンプをタイマ175から取得する。
なお、図13では、便宜上図示を省略したが、ステップS956及びステップS957の各処理は、グローバルアドレス72に含まれる全てのグローバルアドレスに対して、順次、上記「X」の値を変更して行われる。
また、ステップS958で経路探索部A104は、ローカルアドレス71に、IDが「GWLY」のRTPパケットを送信する。なお、「Y」は、上記ステップS938と同様に、複数のローカルアドレスを識別するための任意の番号である。
ここで送信するパケットは、受信したパケットのペイロードをコピーし、パケットIDを、ASCIIコードで「GWLY」を表したコードに変更したものである。
IDが「GWLY」のRTPパケットを受信した経路探索部B114は、ステップS959で当該RTPパケットを受信した際のタイムスタンプをタイマ175から取得する。
なお、図13では、便宜上図示を省略したが、ステップS958及びステップS959の各処理は、ローカルアドレス71に含まれる全てのローカルアドレスに対して、順次、上記「Y」の値を変更して行われる。
なお、上記ステップS952、S956、及びS958の各処理を行う順番は、本実施形態に限定されず、任意であることは言うまでもない。
一方、経路探索部B114は、ステップS960で、IDが「LV00」のRTPパケットを、上記ステップS4でシグナリングサーバ120から受信したMESSAGEリクエスト66に設定されているローカルアドレス61へ、タイマTB011が満了するまで一定間隔で繰り返し送信する。
なお、ローカルアドレス61に複数のローカルアドレスが含まれる場合がある。例えば、本実施形態では、図9に示したようにローカルアドレスが2つ含まれており、このような場合、任意の順番で複数のローカルアドレスの各々に番号が割り当てられる。IDにおける「V」は、ローカルアドレスに割り当てられた番号を示す。
ここで送信するパケットは、パケット56のペイロードをコピーし、パケットIDを、ASCIIコードで「LV00」を表したコードに変更し、現在のタイムスタンプに書き換えたものである。
当該パケットを受信した経路探索部A104は、ステップS972、S976、及びS978の各処理を行う。これらの処理は、上記ステップS932、S936、及びS938の各処理と略同様である。
ステップS972で、経路探索部A104は、上記ステップS7で受信した200/MESSAGEレスポンス70に設定されている、リレーアドレス67に、IDが「LVR1」のRTPパケットを送信する。ここで送信するパケットは、受信しパケットのペイロードをコピーし、パケットIDを、ASCIIコードで「LVR1」を表したコードに変更したものである。
このIDが「LVR1」のRTPパケットを受信したリレーサーバ122は、ステップS973で、ペイロードを改変することなくそのまま経路探索部B114へ送信する。
IDが「LVR1」のRTPパケットを受信した経路探索部B114は、ステップS974で当該RTPパケットを受信した際のタイムスタンプをタイマ175から取得する。
また、ステップS976で経路探索部A104は、グローバルアドレス72に、IDが「LVGX」のRTPパケットを送信する。なお、「X」は、上記ステップS936と同様に、複数のグローバルアドレスを識別するための任意の番号である。
ここで送信するパケットは、受信したパケットのペイロードをコピーし、パケットIDを、ASCIIコードで「LVGX」を表したコードに変更したものである。
IDが「LVGX」のRTPパケットを受信した経路探索部B114は、ステップS977で当該RTPパケットを受信した際のタイムスタンプをタイマ175から取得する。
なお、図13では、便宜上図示を省略したが、ステップS956及びステップS957の各処理は、グローバルアドレス72に含まれる全てのグローバルアドレスに対して、順次、上記「X」の値を変更して行われる。
また、ステップS978で経路探索部A104は、ローカルアドレス71に、IDが「LVLY」のRTPパケットを送信する。なお、「Y」は、上記ステップS938と同様に、複数のローカルアドレスを識別するための任意の番号である。
ここで送信するパケットは、受信したパケットのペイロードをコピーし、パケットIDを、ASCIIコードで「LVLY」を表したコードに変更したものである。
IDが「LVLY」のRTPパケットを受信した経路探索部B114は、ステップS979で当該RTPパケットを受信した際のタイムスタンプをタイマ175から取得する。
なお、図13では、便宜上図示を省略したが、ステップS978及びステップS979の各処理は、ローカルアドレス71に含まれる全てのローカルアドレスに対して、順次、上記「Y」の値を変更して行われる。
なお、上記ステップS972、S976、及びS978の各処理を行う順番は、本実施形態に限定されず、任意であることは言うまでもない。
また、経路探索部B114における、上記ステップS900、S940、及びS960の各処理を行う順番も本実施形態に限定あれず、任意であることは言うまでもない。
さらに、経路探索部B114は、上記ステップS900、S940、及びS60の各処理は、経路探索部B114から送信したパケットの応答の受信を待たずに、順次行われる。例えば、ステップS937よりも先に、ステップS940が行われる場合もある。
上記処理は、NAT21及びNAT22の各々に対して行われる。
このように、ステップS9の処理によれば、通信に関する全ての通信装置A100のアドレス、及び通信装置B110の組合せ、即ち全ての通信経路における通信時間を計測するための処理が行われる。
なお、上記各処理を行う順番は特に限定されない、例えば、NAT21を介して上記一連の処理を全て終了後にNAT22を介して同様に一連の処理を行ってもよいし、適宜各処理をNAT21を介する場合とNAT22とを介する場合とで交互に行ってもよい。
図4に示したステップS10で経路探索部B114は、上記ステップS9で最も通信時間が短い通信経路を選択する。
具体的には、経路探索部B114は、パケットを受信した際に取得したタイムスタンプと、パケットに設定されているタイムスタンプとの差分を、受信したパケット毎に算出する。本実施形態では、ここで算出した差分を通信時間とみなしている。経路探索部B114は、算出した通信時間(差分)の中から最も短いものを通信経路として選択する。なお、通信時間が最も短い通信経路が複数有る場合、いずれの通信経路を選択するかは任意である。
このようにして通信時間が最短の通信経路が選択されると図4に示したステップS11でメッセージ制御部B116は、選択した通信経路に対応するIPアドレス(アプリケーションA102がアプリケーションB112にパケットを送信するIPアドレス、及びアプリケーションB112がアプリケーションA102にパケットを送信するIPアドレス)を設定したMESSAGEリクエスト(以下、「MESSAGEリクエスト80」という)を生成する。本実施形態のMESSAGEリクエスト80が、本開示のメッセージ情報の一例である。
図15には、生成されるMESSAGEリクエスト80の一例を示す。図15に示したMESSAGEリクエスト80には、ヘッダに続いて、アプリケーションA102がアプリケーションB112にパケットを送信するIPアドレスとして、B1、B2、B3、B4、ポート番号BPortが設定されている。また、MESSAGEリクエスト80には、アプリケーションB112がアプリケーションA102にパケットを送信するIPアドレスとして、A1、A2、A3、A4、ポート番号APortが設定されている。
メッセージ制御部B116は、生成したMESSAGEリクエスト80をシグナリングサーバ120へ送信する(図4のステップS11)。
シグナリングサーバ120は、MESSAGEリクエスト80を受信すると、そのままMESSAGEリクエスト80を、メッセージ制御部A106へ送信する(図4のステップS11)。
図4に示したステップS11でメッセージ制御部A106は、MESSAGEリクエスト80を受信すると、図4に示したS12でメッセージ制御部A106は、200/MESSAGEレスポンス(MESSAGEリクエスト66の受信に成功したことを表す応答)をシグナリングサーバ120に送信する。シグナリングサーバ120は、当該200/MESSAGEレスポンスを受信すると、そのまま当該200/MESSAGEレスポンスをメッセージ制御部B116へ送信する。メッセージ制御部B116は、シグナリングサーバ120から、200/MESSAGEレスポンスを受信する。
図4に示した次のステップS13でアプリケーションA102は、VoIPの発信処理を開始する。
具体的には、アプリケーションA102は、上記S11で受信したMESSAGEリクエスト80に設定されている「X−PAATH−A」のヘッダを、パケットを受信するアドレスとして、INVITEリクエストのSDPに設定する。図16には、この場合のINVITEリクエスト90の一例を示す。図16に示したINVITEリクエスト90では、ヘッダに続くボディ部分にアプリケーションA102がパケットを受信するIPアドレスとして「A1、A2、A3、A4、ポート番号APort」が設定されている。本実施形態のINVITEリクエスト90が、本開示の応答情報の一例である。
アプリケーションA102は、MESSAGEリクエスト80に設定されている「X−PATH−B」のヘッダを宛先に用いて、INVITEリクエスト90を、アプリケーションB112へ送信する。
さらに、アプリケーションB112は、INVITEリクエスト90を受信すると、MESSAGEリクエスト80に設定されている「X−PATH−B」のヘッダを、パケットを受信するアドレスとして、INVITEリクエストのSDPに設定する。図17には、この場合のINVITEリクエスト92の一例を示す。図17に示したINVITEリクエスト92では、ヘッダに続くボディ部分にアプリケーションB112がパケットを受信するIPアドレスとして「B1、B2、B3、B4、ポート番号BPort」が設定されている。
以降、選択された通信時間が最短の通信経路により、VoIP通信が行われる。
以上説明したように、本実施形態の通信システム10は、通信装置A100と通信装置B110とが複数の通信経路により接続が可能な通信システムであって、通信装置B110は、複数の通信経路毎のアドレス情報を通信装置A100に送信し、複数の通信経路毎の通信時間に基づいて、通信時間が最も短い通信経路を選択し、選択した通信経路により通信装置A100にメッセージ情報を送信し、メッセージ情報に対する応答情報を通信装置A100から受信する。一方、通信装置A100は、通信装置B110からアドレス情報を受信し、通信装置B110からメッセージ情報を受信し、メッセージ情報に対する応答情報を通信装置B110に送信する。
本実施形態の通信システム10、通信装置A100、及び通信装置B110によれば、全てのアドレスの組合せ、すなわち全ての通信経路の通信時間を計測し、最も通信時間が短い通信経路を選択するため、通信経路が複数有る場合において、最も通信時間が短い通信経路を選択することできる。
なお本実施形態では、VoIP通信に本発明を適用する場合について説明したが、VoIP通信に限定されないことはいうまでもない。また、本実施形態では、NATを介する通信経路のみを有する通信システム10について説明したが、NATを全く介さない通信経路のみにより接続される通信装置を含む通信システムであってもよい。
なお、上記各実施形態は、本発明の一例であり、本発明の主旨を逸脱しない範囲内において状況に応じて変更可能であることはいうまでもない。
10 通信システム
11、12、21、22 NAT
100 通信装置A
102 アプリケーションA
104 経路探索部A
106 メッセージ制御部A
110 通信装置B
112 アプリケーションB
114 経路探索部B
116 メッセージ制御部B
153 通信制御プログラムA
173 通信制御プログラムB

Claims (12)

  1. 第1通信装置と第2通信装置とが複数の通信経路により接続が可能な通信システムであって、
    前記第1通信装置は、
    前記複数の通信経路毎のアドレス情報を前記第2通信装置に送信するアドレス情報送信部と、
    前記複数の通信経路毎の通信時間に基づいて、前記通信時間が最も短い通信経路を選択する選択部と、
    前記選択部が選択した通信経路により前記第2通信装置にメッセージ情報を送信するメッセージ情報送信部と、
    前記メッセージ情報に対する応答情報を前記第2通信装置から受信する受信部と、を備え、
    前記第2通信装置は、
    前記第1通信装置から前記アドレス情報を受信するアドレス情報受信部と、
    前記第1通信装置から前記メッセージ情報を受信するメッセージ情報受信部と、
    前記メッセージ情報に対する応答情報を前記第1通信装置に送信する送信部と、
    を備える、
    通信システム。
  2. 前記複数の通信経路は、NAT(Network Address Translation)を含む、
    請求項1に記載の通信システム。
  3. 複数の通信経路により第2通信装置と接続が可能な通信装置であって、
    前記複数の通信経路毎のアドレス情報を前記第2通信装置に送信するアドレス情報送信部と、
    前記複数の通信経路毎の通信時間に基づいて、前記通信時間が最も短い通信経路を選択する選択部と、
    前記選択部が選択した通信経路により前記第2通信装置にメッセージ情報を送信するメッセージ情報送信部と、
    前記メッセージ情報に対する応答情報を前記第2通信装置から受信する受信部と、
    を備えた通信装置。
  4. 前記選択部は、前記アドレス情報送信部が送信した前記アドレス情報に基づいて、前記第2通信装置が送信した、前記複数の通信経路の各々による通信を可能とするための予め定められた情報を受信した場合に、前記通信経路の選択を行う、
    請求項3に記載の通信装置。
  5. 前記選択部は、所定のパケットを前記複数の経路毎に前記第2通信装置に送信し、前記所定のパケットを受信した旨を表す応答パケットを前記第2通信装置から受信するまでの通信時間を計測する、
    請求項3または請求項4に記載の通信装置。
  6. 複数の通信経路により第1通信装置と接続が可能な通信装置であって、
    前記第1通信装置から前記複数の通信経路毎の前記第1通信装置のアドレス情報を受信するアドレス情報受信部と、
    前記複数の通信経路のうち通信時間が最も短い通信経路により前記第1通信装置からメッセージ情報を受信するメッセージ情報受信部と、
    前記メッセージ情報に対する応答情報を前記第1通信装置に送信する送信部と、
    を備えた通信装置。
  7. 前記アドレス情報受信部が受信した前記アドレス情報に基づいて、前記複数の通信経路各々により前記第1通信装置と通信を可能とするための予め定められた情報を前記第1通信装置に送信する通信情報送信部をさらに備えた、
    請求項6に記載の通信装置。
  8. 前記複数の通信経路は、NAT(Network Address Translation)を含む、
    請求項3から請求項7のいずれか1項に記載の通信装置。
  9. 複数の通信経路により第2通信装置と接続が可能な通信装置による通信を制御する通信制御プログラムであって、
    コンピュータを、
    前記複数の通信経路毎のアドレス情報を前記第2通信装置に送信するアドレス情報送信部と、
    前記複数の通信経路毎の通信時間に基づいて、前記通信時間が最も短い通信経路を選択する選択部と、
    前記選択部が選択した通信経路により前記第2通信装置にメッセージ情報を送信するメッセージ情報送信部と、
    前記メッセージ情報に対する応答情報を前記第2通信装置から受信する受信部と、
    して機能させるための通信制御プログラム。
  10. 複数の通信経路により第1通信装置と接続が可能な通信装置による通信を制御する通信制御プログラムであって、
    コンピュータを、
    前記第1通信装置から前記複数の通信経路毎の前記第1通信装置のアドレス情報を受信するアドレス情報受信部と、
    前記複数の通信経路のうち、通信時間が最も短い通信経路により前記第1通信装置からメッセージ情報を受信するメッセージ情報受信部と、
    前記メッセージ情報に対する応答情報を前記第1通信装置に送信する送信部と、
    して機能させるための通信制御プログラム。
  11. 複数の通信経路により第2通信装置と接続が可能な通信装置による通信を制御する通信制御方法であって、
    前記通信装置は、
    前記複数の通信経路毎のアドレス情報を前記第2通信装置に送信するアドレス情報送信ステップと、
    前記複数の通信経路毎の通信時間に基づいて、前記通信時間が最も短い通信経路を選択する選択ステップと、
    前記選択ステップで選択された通信経路により前記第2通信装置にメッセージ情報を送信するメッセージ情報送信ステップと、
    前記メッセージ情報に対する応答情報を前記第2通信装置から受信する受信ステップと、
    を備えた通信制御方法。
  12. 複数の通信経路により第1通信装置と接続が可能な通信装置による通信を制御する通信制御方法であって、
    前記通信装置は、
    前記第1通信装置から前記複数の通信経路毎の前記第1通信装置のアドレス情報を受信するアドレス情報受信ステップと、
    前記複数の通信経路のうち、通信時間が最も短い通信経路により前記第1通信装置からメッセージ情報を受信するメッセージ情報受信ステップと、
    前記メッセージ情報に対する応答情報を前記第1通信装置に送信する送信ステップと、
    を備えた通信制御方法。
JP2017165281A 2017-08-30 2017-08-30 通信システム、通信装置、通信制御プログラム、及び通信制御方法 Pending JP2019047184A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017165281A JP2019047184A (ja) 2017-08-30 2017-08-30 通信システム、通信装置、通信制御プログラム、及び通信制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017165281A JP2019047184A (ja) 2017-08-30 2017-08-30 通信システム、通信装置、通信制御プログラム、及び通信制御方法

Publications (1)

Publication Number Publication Date
JP2019047184A true JP2019047184A (ja) 2019-03-22

Family

ID=65814759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017165281A Pending JP2019047184A (ja) 2017-08-30 2017-08-30 通信システム、通信装置、通信制御プログラム、及び通信制御方法

Country Status (1)

Country Link
JP (1) JP2019047184A (ja)

Similar Documents

Publication Publication Date Title
US9210536B2 (en) Method for establishing device-to-device communication
EP2676424B1 (en) System and method for monitoring network link quality
US20130067101A1 (en) Session initiation and maintenance while roaming
CN103718532A (zh) 一种数据传输方法、装置及终端设备
JP4961368B2 (ja) 端末装置、nat越え方法、及びプログラム
US9736316B2 (en) Network address translation traversal system and method for real-time communications
US9049122B2 (en) Bandwidth probing messages
JP6399644B2 (ja) 通信システム
JP6101997B2 (ja) リアルタイム通信セッションを確立する通信システム
JP2019047184A (ja) 通信システム、通信装置、通信制御プログラム、及び通信制御方法
KR101049549B1 (ko) Sip를 이용한 udp 홀 펀칭 방법 및 이를 이용한 단말관리 시스템 및 단말 관리 방법
JP2015012601A (ja) ネットワーク端末装置同士の接続方法
WO2013167086A2 (zh) 一种网络地址转换穿透方法及设备
JP2004356983A (ja) パケット情報識別方法及びシステム
JP2006109316A (ja) ゲートウェイ装置および通信接続方法
JP2017503449A (ja) 切り替え方法、ソース基地局、ターゲット基地局、システム、記憶媒体
US9516575B2 (en) Mobile device based proxy for browser-originated procedures
TWI445434B (zh) 無線接入點設備及其避免通訊衝突的方法
JP2013115639A (ja) 電話装置および電話システム
KR101337111B1 (ko) 원격 영상 모니터링을 위한 서버, 시스템 및, 제어방법
Doder et al. Realisation of server application for acoustic sensors based on RTSP, RTP protocols
JP2017168899A (ja) 情報記録制御装置及び情報記録制御方法
TW201417555A (zh) 流量識別系統及方法
JP5069329B2 (ja) ネットワーク試験装置
CN111970735A (zh) 数据传输方法及装置,VoWiFi通信的方法