NetworkAddressTranslationNAT装置のLAN側に接続し、前記NAT装置のWAN側に接続された他の前記NAT装置のLAN側に接続された他の通信装置との間でセッションを確立して通信を行う通信装置であって、前記通信装置と、前記NAT装置のWAN側に接続された中継装置との間の通信遅延時間を取得する取得手段と、前記他の通信装置との間でセッションを確立させることを要求するデータであって、前記取得手段によって取得された前記通信遅延時間を少なくとも含む要求データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して前記他の通信装置に対して送信する第一送信手段と、前記他のNAT装置、前記中継装置、および前記NAT装置を介し、前記他の通信装置から送信された前記要求データを受信する第一受信手段と、前記第一受信手段によって前記要求データを受信した場合に、セッションの確立を許可することを通知する応答データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して前記他の通信装置に対して送信する第二送信手段と、前記第一受信手段によって受信された前記要求データに含まれる前記通信遅延時間と、前記取得手段によって取得された前記通信遅延時間とに基づいて、前記他の通信装置との間でセッションを確立させるために必要な設定データを送信するタイミングを特定するための第一時間情報を算出する第一算出手段と、前記第一算出手段によって算出された前記第一時間情報に基づいて、前記設定データを送信するタイミングを特定し、特定した前記タイミングで、前記他の通信装置に対して前記設定データを送信する第三送信手段とを備えたことを特徴とする通信装置。前記第一算出手段は、前記第二送信手段によって前記応答データを送信してから、前記第三送信手段によって前記設定データを送信するまでの待機時間を、前記第一時間情報として算出し、前記第三送信手段は、前記第二送信手段によって前記応答データを送信してから、前記第一算出手段によって算出された待機時間分待機した後、前記設定データを送信することを特徴とする請求項1に記載の通信装置。前記第一受信手段によって受信された前記要求データに含まれる前記通信遅延時間と、前記取得手段によって取得された前記通信遅延時間とに基づいて、前記他の通信装置が前記応答データに応じて前記設定データを前記通信装置に対して送信するタイミングを特定するための第二時間情報を算出する第二算出手段を備え、前記第二送信手段は、前記第二算出手段によって算出された前記第二時間情報を少なくとも含む前記応答データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して前記他の通信装置に対して送信し、前記他のNAT装置、前記中継装置、および前記NAT装置を介し、前記他の通信装置から、前記第二時間情報を少なくとも含む前記応答データを受信する第二受信手段と、前記第二受信手段によって受信された前記第二時間情報に基づいて、前記設定データを送信するタイミングを特定し、特定した前記タイミングで、前記他の通信装置に対して前記設定データを送信する第四送信手段とを更に備えたことを特徴とする請求項1または2に記載の通信装置。前記第一送信手段は、前記他の通信装置に対して前記要求データを送信する時刻を示す第一時刻情報と前記通信遅延時間とを含む前記要求データを、前記他の通信装置に対して送信し、前記第二算出手段は、前記第一受信手段によって、前記第一時刻情報および前記通信遅延時間を含む前記要求データを前記他の通信装置から受信した場合に、前記要求データに含まれる前記第一時刻情報および前記通信遅延時間と、前記取得手段によって取得された前記通信遅延時間とに基づいて、前記他の通信装置が前記応答データに応じて前記設定データを送信する時刻を示す第二時刻情報を、前記第二時間情報として算出し、前記第二送信手段は、前記第二算出手段によって、前記第二時間情報として算出された前記第二時刻情報を含む前記応答データを、前記他の通信装置に対して送信し、前記第二受信手段は、前記他の通信装置から、前記第二時刻情報を前記第二時間情報として受信し、前記第四送信手段は、前記第二受信手段によって受信された前記第二時刻情報によって示される前記時刻に、前記他の通信装置に対して前記設定データを送信することを特徴とする請求項3に記載の通信装置。前記取得時間は、前記NAT装置を介して前記中継装置に往路データを送信してから、前記中継装置が前記往路データに応じて返信する復路データを、前記NAT装置を介して受信するまでの時間を複数回計測し、計測した時間を2分した値の平均値を、前記通信遅延時間として取得することを特徴とする請求項1から4のいずれかに記載の通信装置。前記第一算出手段は、前記第一受信手段によって受信された前記要求データに含まれる前記通信遅延時間と、前記取得手段によって取得した前記通信遅延時間とを加算することによって、前記待機時間を算出することを特徴とする請求項2に記載の通信装置。NetworkAddressTranslationNAT装置のLAN側に接続する通信装置と、前記NAT装置のWAN側に接続された中継装置との間の通信遅延時間を取得する取得ステップと、前記通信装置が、他の前記NAT装置のLAN側に接続された他の通信装置との間でセッションを確立させることを要求するデータであって、前記取得ステップによって取得された前記通信遅延時間を少なくとも含む要求データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して、前記通信装置から前記他の通信装置に対して送信する第一送信ステップと、前記他のNAT装置、前記中継装置、および前記NAT装置を介し、前記他の通信装置から送信された前記要求データを前記通信装置が受信する第一受信ステップと、前記第一受信ステップによって前記要求データを受信した場合に、セッションの確立を許可することを通知する応答データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して、前記通信装置が前記他の通信装置に対して送信する第二送信ステップと、前記第一受信ステップによって受信された前記要求データに含まれる前記通信遅延時間と、前記取得ステップによって取得された前記通信遅延時間とに基づいて、前記通信装置が前記他の通信装置との間でセッションを確立させるために必要な設定データを送信するタイミングを特定するための第一時間情報を算出する第一算出ステップと、前記第一算出ステップによって算出された前記第一時間情報に基づいて、前記設定データを送信するタイミングを特定し、特定した前記タイミングで、前記通信装置が前記他の通信装置に対して前記設定データを送信する第三送信ステップとを備えたことを特徴とする通信方法。NetworkAddressTranslationNAT装置のLAN側に接続する通信装置と、前記NAT装置のWAN側に接続された中継装置との間の通信遅延時間を取得する取得ステップと、他の前記NAT装置のLAN側に接続された他の通信装置との間でセッションを確立させることを要求するデータであって、前記取得ステップによって取得された前記通信遅延時間を少なくとも含む要求データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して、前記他の通信装置に対して送信する第一送信ステップと、前記他のNAT装置、前記中継装置、および前記NAT装置を介し、前記他の通信装置から送信された前記要求データを受信する第一受信ステップと、前記第一受信ステップによって前記要求データを受信した場合に、セッションの確立を許可することを通知する応答データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して、前記他の通信装置に対して送信する第二送信ステップと、前記第一受信ステップによって受信された前記要求データに含まれる前記通信遅延時間と、前記取得ステップによって取得された前記通信遅延時間とに基づいて、前記他の通信装置との間でセッションを確立させるために必要な設定データを送信するタイミングを特定するための第一時間情報を算出する第一算出ステップと、前記第一算出ステップによって算出された前記第一時間情報に基づいて、前記設定データを送信するタイミングを特定し、特定した前記タイミングで、前記他の通信装置に対して前記設定データを送信する第三送信ステップとを通信装置のコンピュータに実行させるための通信プログラム。SPIを備えたNAT装置のLAN側に接続する通信装置と、他のNAT装置のLAN側に接続する他の通信装置との間で、P2P通信を開始しようとする場合を想定する。この場合、通信装置間でICEに基づいた通信が行われることによって、NAT装置に割り当てられたアドレスがSPIによって無効化される場合がある。ICEでは、通信装置間でアドレス情報を交換する通信が反復されるため、この通信の過程で、NAT装置が通信装置からのデータをLAN側から受信してWAN側に送信する前に、他の通信装置からのデータをWAN側から受信する場合があるためである。このような場合、通信装置間でP2P通信を開始することができないという問題点がある。本発明の目的は、SPIを備えたNAT装置を介して、他の通信装置とP2P通信を適切に行うことが可能な通信装置、通信方法、および通信プログラムを提供することにある。本発明の第一態様に係る通信装置は、NetworkAddressTranslationNAT装置のLAN側に接続し、前記NAT装置のWAN側に接続された他の前記NAT装置のLAN側に接続された他の通信装置との間でセッションを確立して通信を行う通信装置であって、前記通信装置と、前記NAT装置のWAN側に接続された中継装置との間の通信遅延時間を取得する取得手段と、前記他の通信装置との間でセッションを確立させることを要求するデータであって、前記取得手段によって取得された前記通信遅延時間を少なくとも含む要求データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して前記他の通信装置に対して送信する第一送信手段と、前記他のNAT装置、前記中継装置、および前記NAT装置を介し、前記他の通信装置から送信された前記要求データを受信する第一受信手段と、前記第一受信手段によって前記要求データを受信した場合に、セッションの確立を許可することを通知する応答データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して前記他の通信装置に対して送信する第二送信手段と、前記第一受信手段によって受信された前記要求データに含まれる前記通信遅延時間と、前記取得手段によって取得された前記通信遅延時間とに基づいて、前記他の通信装置との間でセッションを確立させるために必要な設定データを送信するタイミングを特定するための第一時間情報を算出する第一算出手段と、前記第一算出手段によって算出された前記第一時間情報に基づいて、前記設定データを送信するタイミングを特定し、特定した前記タイミングで、前記他の通信装置に対して前記設定データを送信する第三送信手段とを備えている。第一態様によれば、通信装置は、他の通信装置から設定データが送信されるタイミングと、通信装置が他の通信装置に対して設定データを送信するタイミングとが近似するように、設定データの送信タイミングを設定することができる。通信装置は、通信装置および他の通信装置と中継装置との間の通信遅延時間に基づき、他の通信装置に対して送信した応答データの通信遅延時間を算出することによって、他の通信装置が設定データを送信するタイミングを推測することができるためである。従って通信装置は、StatefulPacketInspectionSPIを備えたNAT装置が他の通信装置との間に介在する場合であっても、設定データの通信によってNAT装置に割り当てられたアドレスが無効化されることを抑止することができる。これによって通信装置は、他の通信装置との間にSPIを備えたNAT装置が介在する場合でも、他の通信装置との間にセッションを確立し、通信を適切に行うことが可能となる。第一態様において、前記第一算出手段は、前記第二送信手段によって前記応答データを送信してから、前記第三送信手段によって前記設定データを送信するまでの待機時間を、第一時間情報として算出してもよい。前記第三送信手段は、前記第二送信手段によって前記応答データを送信してから、前記第一算出手段によって算出された待機時間分待機した後、前記設定データを送信してもよい。これによって通信装置は、応答データを送信してからの経過時間を監視することによって、他の通信装置に対して設定データを送信するタイミングを容易に判断することができる。第一態様において、前記第一受信手段によって受信された前記要求データに含まれる前記通信遅延時間と、前記取得手段によって取得された前記通信遅延時間とに基づいて、前記他の通信装置が前記応答データに応じて前記設定データを前記通信装置に対して送信するタイミングを特定するための第二時間情報を算出する第二算出手段を備えてもよい。前記第二送信手段は、前記第二算出手段によって算出された前記第二時間情報を少なくとも含む前記応答データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して前記他の通信装置に対して送信してもよい。前記他のNAT装置、前記中継装置、および前記NAT装置を介し、前記他の通信装置から、前記第二時間情報を少なくとも含む前記応答データを受信する第二受信手段をそなえていてもよい。前記第二受信手段によって受信された前記第二時間情報に基づいて、前記設定データを送信するタイミングを特定し、特定した前記タイミングで、前記他の通信装置に対して前記設定データを送信する第四送信手段を備えていてもよい。通信装置は、他の通信装置が応答データに応じて送信する設定データの送信タイミングを制御することができる。従って、通信装置が設定データを送信するタイミングと、他の通信装置が設定データを送信するタイミングとを、更に良好に近似させることができる。従って通信装置は、設定データの通信によってNAT装置に割り当てられたアドレスがSPIによって無効化されることを、さらに効果的に抑止することができる。第一態様において、前記第一送信手段は、前記他の通信装置に対して前記要求データを送信する時刻を示す第一時刻情報と前記通信遅延時間とを含む前記要求データを、前記他の通信装置に対して送信してもよい。前記第二算出手段は、前記第一受信手段によって、前記第一時刻情報および前記通信遅延時間を含む前記要求データを前記他の通信装置から受信した場合に、前記要求データに含まれる前記第一時刻情報および前記通信遅延時間と、前記取得手段によって取得された前記通信遅延時間とに基づいて、前記他の通信装置が前記応答データに応じて前記設定データを送信する時刻を示す第二時刻情報を、前記第二時間情報として算出してもよい。前記第二送信手段は、前記第二算出手段によって、前記第二時間情報として算出された前記第二時刻情報を含む前記応答データを、前記他の通信装置に対して送信してもよい。前記第二受信手段は、前記他の通信装置から、前記第二時刻情報を前記第二時間情報として受信してもよい。前記第四送信手段は、前記第二受信手段によって受信された前記第二時刻情報によって示される前記時刻に、前記他の通信装置に対して前記設定データを送信してもよい。通信装置は、通知された時刻を基準にして設定データを送信するタイミングを特定することができる。従って、NAT装置間の伝送路の通信状態が変化し、要求データおよび応答データの通信時における実際の通信遅延時間が、取得された通信遅延時間と相違する場合でも、通信装置から送信される設定データの送信タイミングと、他の通信装置から送信される設定データの送信タイミングとを良好に近似させることができる。第一態様において、前記取得時間は、前記NAT装置を介して前記中継装置に往路データを送信してから、前記中継装置が前記往路データに応じて返信する復路データを、前記NAT装置を介して受信するまでの時間を複数回計測し、計測した時間を2分した値の平均値を、前記通信遅延時間として取得してもよい。通信装置は、中継装置との間の通信遅延時間を、より正確に且つ容易に取得することができる。第一態様において、前記第一算出手段は、前記第一受信手段によって受信された前記要求データに含まれる前記通信遅延時間と、前記取得手段によって取得した前記通信遅延時間とを加算することによって、前記待機時間を算出してもよい。これによって通信装置は、待機時間を容易に算出することができる。本発明の第二態様に係る通信方法は、NetworkAddressTranslationNAT装置のLAN側に接続する通信装置と、前記NAT装置のWAN側に接続された中継装置との間の通信遅延時間を取得する取得ステップと、前記通信装置が、他の前記NAT装置のLAN側に接続された他の通信装置との間でセッションを確立させることを要求するデータであって、前記取得ステップによって取得された前記通信遅延時間を少なくとも含む要求データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して、前記通信装置から前記他の通信装置に対して送信する第一送信ステップと、前記他のNAT装置、前記中継装置、および前記NAT装置を介し、前記他の通信装置から送信された前記要求データを前記通信装置が受信する第一受信ステップと、前記第一受信ステップによって前記要求データを受信した場合に、セッションの確立を許可することを通知する応答データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して、前記通信装置が前記他の通信装置に対して送信する第二送信ステップと、前記第一受信ステップによって受信された前記要求データに含まれる前記通信遅延時間と、前記取得ステップによって取得された前記通信遅延時間とに基づいて、前記通信装置が前記他の通信装置との間でセッションを確立させるために必要な設定データを送信するタイミングを特定するための第一時間情報を算出する第一算出ステップと、前記第一算出ステップによって算出された前記第一時間情報に基づいて、前記設定データを送信するタイミングを特定し、特定した前記タイミングで、前記通信装置が前記他の通信装置に対して前記設定データを送信する第三送信ステップとを備えている。第二態様によれば、第一態様と同様の効果を奏することができる。本発明の第三態様に係る通信プログラムは、NetworkAddressTranslationNAT装置のLAN側に接続する通信装置と、前記NAT装置のWAN側に接続された中継装置との間の通信遅延時間を取得する取得ステップと、他の前記NAT装置のLAN側に接続された他の通信装置との間でセッションを確立させることを要求するデータであって、前記取得ステップによって取得された前記通信遅延時間を少なくとも含む要求データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して、前記他の通信装置に対して送信する第一送信ステップと、前記他のNAT装置、前記中継装置、および前記NAT装置を介し、前記他の通信装置から送信された前記要求データを受信する第一受信ステップと、前記第一受信ステップによって前記要求データを受信した場合に、セッションの確立を許可することを通知する応答データを、前記NAT装置、前記中継装置、および前記他のNAT装置を介して、前記他の通信装置に対して送信する第二送信ステップと、前記第一受信ステップによって受信された前記要求データに含まれる前記通信遅延時間と、前記取得ステップによって取得された前記通信遅延時間とに基づいて、前記他の通信装置との間でセッションを確立させるために必要な設定データを送信するタイミングを特定するための第一時間情報を算出する第一算出ステップと、前記第一算出ステップによって算出された前記第一時間情報に基づいて、前記設定データを送信するタイミングを特定し、特定した前記タイミングで、前記他の通信装置に対して前記設定データを送信する第三送信ステップとを通信装置のコンピュータに実行させる。第三態様によれば、第一態様と同様の効果を奏することができる。以下、本発明の一実施形態について、図面を参照して説明する。これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。図1を参照し、通信システム1の概要について説明する。通信システム1は、NetworkAddressTranslationNAT装置11、12、通信装置14、15、および中継装置17を備えている。通信装置14は、NAT装置11のLAN側に接続している。通信装置15は、NAT装置12のLAN側に接続している。NAT装置11、12のWAN側は、ネットワーク網18に接続している。中継装置17は、ネットワーク網18に接続している。中継装置17およびNAT装置11、12は、ネットワーク網18を介して通信を行うことができる。以下、NAT装置11、12を区別しない場合または総称する場合、これらをNAT装置10という。通信装置14、15を区別しない場合または総称する場合、これらを通信装置13という。中継装置17は、SessionInitiationProtocolSIPを制御するSIPサーバである。通信装置13は、PCやIP電話等の通信端末である。通信装置13は、中継装置17を介して他の通信装置13とSIPに基づいた通信を行う。これによって通信装置13は、他の通信装置13との間でセッションを確立させ、PeertoPeerP2P通信を行う。NAT装置10は、LAN側に接続された通信装置13から、WAN側に向かう方向のデータを受信した場合、WAN側に新たなアドレス情報を割り当てる。WAN側に割り当てるアドレス情報は、ネットワーク網18に接続した図示外のSessionTraversalUtilitiesforNATSTUNサーバと通信を行うことによって、STUNサーバから取得される。NAT装置10は、受信したデータのアドレス情報を、WAN側に割り当てたアドレス情報に変換し、WAN側に転送する。またNAT装置10は、WAN側に割り当てたアドレス情報宛にデータを受信した場合、受信したデータのアドレス情報を、LAN側に接続された通信装置13のアドレス情報に変換し、WAN側に転送する。通信装置13の電気的構成について説明する。通信装置13は、通信装置13の制御を司るCPU21を備えている。CPU21は、ROM22、RAM23、ハードディスクドライブ以下、HDDという。24、通信インタフェース以下、通信I/Fという。25、入力部26、および出力部27と電気的に接続している。ROM22には、ブートプログラム、BIOS等が記憶される。RAM23には、タイマやカウンタ、一時的なデータが記憶される。HDD24には、CPU21の制御プログラムやOSが記憶される。通信I/F25は、NAT装置10と通信を行うためのインタフェースである。入力部26は、通信装置13に対して情報の入力を行うキーボード、マウス、マイク等である。出力部27は、通信装置13のユーザに対して情報を出力するディスプレイ、スピーカ等である。通信装置14、15間でセッションを確立させてP2P通信を行う場合、通信装置14、15間にNAT装置11、12が介在しているため、いわゆるNAT越えの問題が発生し得る。通信装置14は、通信装置15とP2P通信を行う場合、NAT装置12のWAN側に割り当てられたアドレス情報宛にデータを送信しなければならないため、事前にこのアドレス情報を特定しておく必要がある。同様に通信装置15は、通信装置14とP2P通信を行う場合、NAT装置11のWAN側に割り当てられたアドレス情報を事前に特定しておく必要がある。これに対して通信装置14、15では、InteractiveConnectivityEstablishmentICEという技術を利用することによって、上述したNAT越えの問題を解消している。図2を参照し、通信装置14、15間でP2P通信が可能となるまでの通信の手順について説明する。なおNAT装置11は、WAN側に割り当てるアドレス情報31、33後述を予めSTUNサーバから取得しているものとする。同様にNAT装置12は、WAN側に割り当てるアドレス情報32、34後述を予めSTUNサーバから取得しているものとする。はじめに通信装置14は、中継装置17に通信装置14を登録するために、NAT装置11を介して中継装置17にRegisterデータを送信するS121。NAT装置11は、LAN側の通信装置14からResisterデータを受信した場合、WAN側の装置と通信を行うためのアドレス情報31をWAN側に割り当てる。NAT装置11は、受信したRegisterデータのアドレス情報を、WAN側に割り当てられたアドレス情報31に変換し、中継装置17に対して中継するS123。同様に通信装置15は、中継装置17に通信装置15を登録するために、NAT装置12を介して中継装置17にRegisterデータを送信するS125。NAT装置12は、LAN側の通信装置15からResisterデータを受信した場合、WAN側の装置と通信を行うためのアドレス情報32をWAN側に割り当てる。NAT装置12は、受信したRegisterデータのアドレス情報を、WAN側に割り当てられたアドレス情報32に変換し、中継装置17に対して中継するS127。中継装置17は、通信装置14、15からRegisterデータを受信し、通信装置14、15を登録する。通信装置14、15は、SIPに基づいた通信を開始する。通信装置14は、セッションの確立を要求するINVITEデータを、NAT装置11を介して中継装置17に対して送信するS131。なおINVITEデータには、NAT装置11のWAN側に割り当てられるアドレス情報であってNAT装置11とNAT装置12とが通信を行う場合に使用されるアドレス情報33が格納される。NAT装置11は、LAN側から受信したINVITEデータのアドレス情報を、WAN側に割り当てられたアドレス情報31に変換し、WAN側の中継装置17に対して中継するS133。中継装置17は、NAT装置11から受信したINVITEデータを、NAT装置12のWAN側に割り当てられたアドレス情報32宛に中継するS135。NAT装置12は、WAN側から受信したINVITEデータのアドレス情報32を、通信装置15のアドレス情報に変換し、LAN側に接続された通信装置15に対して中継するS137。通信装置15はINVITEデータを受信する。通信装置15は、INVITEデータに格納されたアドレス情報33を、通信装置14との通信時においてNAT装置11のWAN側に割り当てられ使用されるアドレス情報33として取得する。通信装置15は、受信したINVITEデータに応じ、NAT装置12を介して中継装置17に対して、200OKデータを送信するS141。なお200OKデータには、NAT装置12のWAN側に割り当てられるアドレス情報であってNAT装置12とNAT装置11とが通信を行う場合に使用されるアドレス情報34が格納される。NAT装置12は、LAN側から受信した200OKデータのアドレス情報を、WAN側に割り当てられたアドレス情報32に変換し、WAN側の中継装置17に対して中継するS143。中継装置17は、NAT装置12から受信した200OKデータを、NAT装置11のWAN側に割り当てられたアドレス情報31宛に中継するS145。NAT装置11は、WAN側から受信した200OKデータのアドレス情報31を、通信装置14のアドレス情報に変換し、LAN側に接続された通信装置14に対して中継するS147。通信装置14は200OKデータを受信する。通信装置14は、200OKデータに格納されたアドレス情報34を、通信装置15との通信時においてNAT装置12のWAN側に割り当てられ使用されるアドレス情報34として取得する。続いて通信装置14、15は、ICEによる通信を開始する。通信装置15は、NAT装置11のWAN側に割り当てられるアドレス情報33宛てのICECheckデータを、NAT装置12に送信するS151。ICECheckデータは、NAT装置11、12のWAN側に割り当てられたアドレス情報33、34が通信装置14、15間で通知された後、通知されたアドレス情報を用いて実際に通信端末14、15間でP2P通信を開始することが可能であるかを確認するためのデータである。NAT装置12は、通信装置15からICECheckデータを受信した場合、受信したICECheckデータのアドレス情報を、WAN側に割り当てられたアドレス情報34に変換し、NAT装置11に対して中継するS153。NAT装置11は、NAT装置12から送信されたICECheckデータを受信し、LAN側の通信装置14に対して中継するS155。通信装置14はICECheckデータを受信する。通信装置14は、受信したICECheckに応じ、NAT装置11を介してNAT装置12に対してResponseデータを送信するS161、S163。Responseデータは、NAT装置12のWAN側に割り当てられたアドレス情報34宛に送信される。NAT装置12は、NAT装置11から受信したResponseデータを、LAN側の通信装置15に対して中継するS165。通信装置15は、Responseデータを受信する。通信装置14は、S161でResponseデータを送信した後、NAT装置12宛のICECheckデータを、NAT装置11に対して送信するS171。NAT装置11は、受信したICECheckデータのアドレス情報を、WAN側に割り当てられたアドレス情報33に変換し、NAT装置12のWAN側に割り当てられたアドレス情報34宛に送信するS173。NAT装置12は、NAT装置11から受信したICECheckデータを、LAN側の通信装置15に対して中継するS175。通信装置15はICECheckデータを受信する。通信装置15は、受信したICECheckに応じ、NAT装置12を介してNAT装置11に対してResponseデータを送信するS181、S183。NAT装置11は、NAT装置12から受信したResponseデータを、LAN側の通信装置14に対して中継するS185。通信装置14はResponseデータを受信する。ICEによる通信が上述のようにして行われることによって、通信装置14は、NAT装置12のWAN側に割り当てられたアドレス情報として通知されたアドレス情報34を使用し、通信装置15とP2P通信を行うことが可能であると判断する。同様に通信装置15は、NAT装置11のWAN側に割り当てられたアドレス情報として通知されたアドレス情報33を使用し、通信装置14とP2P通信を行うことが可能であると判断する。これによって通信装置14、15は、通知されたアドレス情報を使用することによって、中継装置17を介することなくP2P通信を行うことが可能となるS191。NAT装置10には、StatefulPacketInspectionSPIと呼ばれる方法によって、パケットをフィルタリングする機能を備えているものがある。SPIを備えたNAT装置10における動作の概要は次の通りである。NAT装置10は、LAN側の通信装置13からデータを受信し、WAN側に向けてデータを中継する場合、データを送信した通信装置13のアドレス情報以下、送信元アドレス情報という。、および、データの宛先のアドレス情報以下、宛先アドレス情報という。を送信履歴としてHDD24に記憶する。NAT装置10が、LAN側の通信装置13に対するデータをWAN側から受信したとする。NAT装置10は、受信したデータの送信元のアドレス情報が宛先アドレス情報として送信履歴に記憶されており、且つ、受信したデータの宛先のアドレス情報が送信元アドレス情報として送信履歴に記憶されているかを判断する。該当するアドレス情報が送信履歴に記憶されている場合、NAT装置10は従来通り、LAN側の通信装置13に対して受信したデータを中継する。一方、該当する送信履歴が記憶されていない場合、WAN側に割り当てたアドレスを使用してLAN側からWAN側にデータが送信されない状態で、該アドレスに対するデータをWAN側から受信したことになる。このような場合、NAT装置10は、WAN側から不正にアクセスされたと判断し、割り当てたアドレス情報を無効化する。これによって、LAN側に接続された通信装置13を不正アクセスから保護する。図3を参照し、具体例を挙げて詳細に説明する。なお、図2で説明した通信の手順と同一部分については、同一符号を付し、説明を簡略化している。通信装置14、15から中継装置17に対してRegisterデータが送信されることによってS121、S123、S125、S127、中継装置17に通信装置14、15が登録される。また、NAT装置11のWAN側にアドレス情報31が割り当てられ、NAT装置12のWAN側にアドレス情報32が割り当てられる。またNAT装置11は、LAN側から受信したRegisterデータを送信した通信装置14のアドレス情報を、送信元アドレス情報として送信履歴に記憶する。またNAT装置11は、Registerデータの宛先である中継装置17のアドレス情報を、宛先アドレス情報として送信履歴に記憶する。同様にNAT装置12は、通信装置15のアドレス情報を送信元アドレス情報とし、中継装置17のアドレス情報を宛先アドレス情報として、送信履歴に記憶する。通信装置14、15は、SIPに基づいた通信を開始する。通信装置14は、中継装置17宛のINVITEデータを、NAT装置11に対して送信するS131。NAT装置11は、受信したINVITEデータを送信した通信装置14のアドレス情報を、送信元アドレス情報として送信履歴に記憶する。またNAT装置11は、INVITEデータの宛先である中継装置17のアドレス情報を、宛先アドレス情報として送信履歴に記憶する。NAT装置11は、INVITEデータを中継装置17に対して中継するS133。中継装置17は、INVITEデータをNAT装置12に対して中継するS135。NAT装置12は、中継装置17からINVITEデータを受信する。NAT装置12は、送信履歴を参照する。INVITEデータを送信した中継装置17のアドレス情報は、S125で通信装置15からRegisterデータを受信した時点で、宛先アドレス情報として送信履歴に記憶されている。またINVITEデータの宛先である通信装置15のアドレス情報は、S125で通信装置15からRegisterデータを受信した時点で、送信元アドレス情報として送信履歴に記憶されている。従ってNAT装置12は、中継装置17から受信したINVITEデータをLAN側の通信装置15に対して中継するS137。通信装置15はINVITEデータを受信する。通信装置15は、受信したINVITEデータに応じ、200OKデータをNAT装置12に対して送信するS141。NAT装置12は、受信した200OKデータを送信した通信装置15のアドレス情報を、送信元アドレス情報として送信履歴に記憶する。またNAT装置12は、200OKデータの宛先である中継装置17のアドレス情報を、宛先アドレス情報として送信履歴に記憶する。NAT装置12は、200OKデータを中継装置17に対して中継するS143。中継装置17は、200OKデータをNAT装置11に対して中継するS145。NAT装置11は、中継装置17から200OKデータを受信する。NAT装置11は、送信履歴を参照する。200OKデータを送信した中継装置17のアドレス情報は、S131で通信装置14からINVITEデータを受信した時点で、宛先アドレス情報として送信履歴に記憶されている。また200OKデータの宛先である通信装置14のアドレス情報は、S131で通信装置14からINVITEデータを受信した時点で、送信元アドレス情報として送信履歴に記憶されている。従ってNAT装置11は、中継装置17から受信した200OKデータをLAN側の通信装置14に対して中継するS147。通信装置14は200OKデータを受信する。通信装置14、15は、ICEによる通信を開始する。通信装置15は、NAT装置12を介してNAT装置11に対してICECheckデータを送信するS151。NAT装置12は、通信装置15からICECheckデータを受信する。送信履歴として、送信元アドレス情報通信装置15のアドレス情報、および、宛先アドレス情報NAT装置11のアドレス情報が記憶される。NAT装置12は、ICECheckデータをNAT装置11に対して中継するS153。NAT装置11は、NAT装置12から送信されたICECheckデータを受信する。NAT装置11は、送信履歴を参照する。ここで送信履歴として、S131で通信装置14からINVITEデータを受信した時点で、送信元アドレス情報通信装置14のアドレス情報、および、宛先アドレス情報中継装置17のアドレス情報が記憶されている。従って、ICECheckデータを送信したNAT装置12のアドレス情報は、宛先情報として送信履歴に記憶されていない。従ってNAT装置11は、受信したICECheckを通信装置14に対して中継せず、NAT装置12との通信時に使用するためにWAN側に割り当てたアドレス情報33を無効化する。通信装置15は、S151で送信したICECheckに対応するResponseを受信できないため、NAT装置12を介してNAT装置11に対して、ICECheckデータを再送するS201、S203。NAT装置11は、S153でICECheckデータを受信した段階で、WAN側に割り当てたアドレス情報33を無効化しているため、通信装置15から再送されたICECheckデータを受信することができない。また通信装置14は、NAT装置11に対して、NAT装置12宛のICECheckデータを送信するS205。NAT装置11は、通信装置14からICECheckデータを受信する。NAT装置11は、S153でICECheckデータを受信した段階で、WAN側に割り当てたアドレス情報33を無効化している。従ってNAT装置11は、通信装置14から受信したICECheckデータをNAT装置12に対して中継することができない。また、通信装置14からICECheckデータが再送された場合S207も同様に、NAT装置11はICECheckデータをNAT装置12に中継することができない。このように、通信装置13間に介在するNAT装置10がSPIの機能を備えていると、通信装置13がSIPおよびICEを利用してP2P通信を開始させようとした場合に、NAT装置10のWAN側に割り当てられたアドレス情報が無効化されてしまう場合がある。この場合通信装置13は、他の通信装置13との間でP2P通信を開始させることができなくなる。これに対して本発明では、NAT装置10のWAN側に割り当てられたアドレス情報が無効化されることを抑止するために、通信装置13はICECheckデータを送信するタイミングを制御する。これによって、NAT装置10がSPIの機能を備えている場合でも、通信装置13間でP2P通信を開始することができるようになる。詳細は以下のとおりである。図4を参照し、通信装置13においてICECheckデータを送信するタイミングが制御された場合の通信の手順について説明する。なお、図2、3で説明した通信の手順と同一部分については、同一符号を付し、説明を簡略化している。通信装置13は、SIPに基づく通信を開始する前に、通信装置13と中継装置17との間の通信遅延時間を特定する。通信遅延時間は、通信装置13からデータが送信されてから、中継装置17に到達するまでに要する時間であり、同様に、中継装置17からデータが送信されてから、通信装置13に到達するまでに要する時間である。通信装置13から中継装置17に向かう方向のデータに対応する通信遅延時間と、中継装置17から通信装置13に向かう方向のデータに対応する通信遅延時間とは、厳密に一致しない場合もある。しかしながら通信装置13は、双方が略同一であるとみなし、双方を同様に扱う。通信遅延時間の計測方法については後述する。なお以下、通信装置14によって特定された通信遅延時間を、通信遅延時間Aといい、通信装置15によって特定された通信遅延時間を、通信遅延時間Bという。通信装置14は、上述のようにして特定した通信時間AをINVITEデータに格納し、NAT装置11を介して中継装置17に対して送信するS131、S133。中継装置17は、INVITEデータをNAT装置12に対して中継するS135。NAT装置12は、INVITEデータを通信装置15に対して中継するS137。通信装置15は、INVITEデータに応じ、NAT装置12を介して中継装置17に対して200OKデータを送信するS141、S143。中継装置17は、200OKデータをNAT装置11に対して中継するS145。NAT装置11は、200OKデータを通信装置14に対して中継するS147。通信装置14は、200OKデータを受信する。ここで通信装置15は、図3で示した通信手順とは異なり、S141で中継装置17に対して200OKデータを送信した後、直ぐにICECheckデータをNAT装置11に対して送信しない。通信装置15は、S137で受信したINVITEデータに格納されている通信遅延時間Aと、通信装置15が計測した通信遅延時間Bとを加算し、待機時間ABとして算出する。通信装置15は、S141で200OKデータを送信した後、待機時間AB分待った後、NAT装置12に対してICECheckデータを送信するS221。NAT装置12は、通信装置15から受信したICECheckデータをNAT装置11に対して中継するS223。NAT装置12には、送信元アドレス情報通信装置15のアドレス情報および宛先アドレス情報NAT装置11のアドレス情報が送信履歴として記憶される。一方、通信装置14では、S147で200OKデータを受信した後、NAT装置11に対してICECheckデータを送信するS225。NAT装置11は、通信装置14から受信したICECheckデータをNAT装置12に対して中継するS227。NAT装置11には、送信元アドレス情報通信装置14のアドレス情報および宛先アドレス情報NAT装置12のアドレス情報が送信履歴として記憶される。上述において、通信装置15は、200OKデータを送信したS141後、待機時間AB分待った後、ICECheckデータを送信しているS221。待機時間ABは、通信装置15-NAT装置12-中継装置17の通信遅延時間と、中継装置17-NAT装置11-通信装置14の通信遅延時間とを加算した時間である。従って待機時間ABは、通信装置15が200OKデータを送信してから、送信された200OKデータが通信装置14に到達する時間と略同一になる。従って、通信装置15からICECheckデータが送信されるタイミングと、通信装置14が200OKを受信するタイミングは略同一になる。このため、通信装置15から送信されたICECheckデータがNAT装置11に到達する前に、通信装置14からNAT装置11に対してICECheckデータが送信され、NAT装置11は通信装置14からICECheckデータを受信する。通信装置15から送信されたICECheckデータが、NAT装置11に到達したとするS223。この時点でNAT装置11は、既に通信装置14からICECheckデータを受信しているのでS225、送信元アドレス情報通信装置14のアドレス情報および宛先アドレス情報NAT装置12のアドレス情報が送信履歴として記憶されている。NAT装置11の送信履歴には、WAN側から受信したICECheckデータの送信元のアドレス情報NAT装置12のアドレス情報が宛先アドレス情報として記憶されており、ICECheckデータの宛先のアドレス情報通信装置14のアドレス情報が送信元アドレス情報として記憶されていることになる。従ってNAT装置11は、受信したICECheckデータを、LAN側の通信装置14に対して中継するS229。図3で説明した場合のように、NAT装置11のWAN側に割り当てられたアドレス情報33は無効化されない。通信装置14は、ICECheckを受信する。同様に、通信装置14から送信されたICECheckデータが、NAT装置12に到達したとするS227。この時点でNAT装置12は、既に通信装置15からICECheckデータを受信しているのでS221、送信元アドレス情報通信装置15のアドレス情報および宛先アドレス情報NAT装置11のアドレス情報が送信履歴として記憶されている。NAT装置12の送信履歴には、WAN側から受信したICECheckデータの送信元のアドレス情報NAT装置11のアドレス情報が宛先アドレス情報として記憶されており、ICECheckデータの宛先のアドレス情報通信装置15のアドレス情報が送信元アドレス情報として記憶されていることになる。従ってNAT装置12は、受信したICECheckデータを、LAN側の通信装置15に対して中継するS231。NAT装置12のWAN側に割り当てられたアドレス情報34は無効化されない。通信装置15は、ICECheckデータを受信する。通信装置14は、S229で受信したICECheckデータに応じ、Responseデータを送信するS233。NAT装置11は、通信装置14からResponseデータを受信し、送信元アドレス情報通信装置14のアドレス情報および宛先アドレス情報NAT装置12のアドレス情報を送信履歴として記憶する。NAT装置11は、ResponseデータをNAT装置12に対して中継するS235。また通信装置15は、S231で受信したICECheckデータに応じ、Responseデータを送信するS237。NAT装置12は、通信装置15からResponseデータを受信し、送信元アドレス情報通信装置15のアドレス情報および宛先アドレス情報NAT装置11のアドレス情報を送信履歴として記憶する。NAT装置12は、ResponseデータをNAT装置11に対して中継するS241。NAT装置12は、S241でNAT装置11に対してResponseデータを送信した後、NAT装置11からResponseデータを受信するS235。この時点でNAT装置12は、既に通信装置15からResponseデータを受信しているのでS237、送信元アドレス情報通信装置15のアドレス情報および宛先アドレス情報NAT装置11のアドレス情報が送信履歴として記憶されている。従ってNAT装置12は、受信したResponseデータを、LAN側の通信装置15に対して中継するS239。同様にNAT装置11は、S235でNAT装置12に対してResponseデータを送信した後、NAT装置12からResponseデータを受信するS241。この時点でNAT装置11は、既に通信装置14からResponseデータを受信しているのでS233、送信元アドレス情報通信装置14のアドレス情報および宛先アドレス情報NAT装置12のアドレス情報が送信履歴として記憶されている。従ってNAT装置11は、受信したResponseデータを、LAN側の通信装置14に対して中継するS243。以上のように通信が実行されることによって、図3を参照して説明した場合のように、NAT装置11、12のWAN側に割り当てられたアドレス情報33、34は無効化されない。これによって通信装置14、15は、INVITEデータおよび200OKデータの通信によって通知されたアドレス情報を使用することによって、中継装置17を介することなくP2P通信を行うことが可能となるS245。このように通信装置15は、200OKデータに応じて送信するICECheckデータの送信タイミングを制御することができる。従って、通信装置15がICECheckデータを送信するタイミングと、通信装置14がICECheckデータを送信するタイミングとを、良好に近似させることができる。従って通信装置13は、ICECheckデータの通信によってNAT装置10のWAN側に割り当てられたアドレス情報33、34がSPIによって無効化されることを効果的に抑止できる。図5から図7を参照し、通信装置13が実行するメイン処理について説明する。以下説明するメイン処理は、HDD24に記憶されている通信プログラムに従って、通信装置13のCPU21が実行する。メイン処理は、通信装置13の電源がONされた場合に、HDD24に記憶されたメイン処理用のプログラムが起動されて開始される。そして、CPU21がこのプログラムを実行することにより行われる。図5に示すように、メイン処理が開始されると、はじめにCPU21は、NAT装置10を介して中継装置17に対し、Registerデータを送信する。これによってCPU21は、中継装置17に通信装置13を登録するS10S121、S125図4参照。また、NAT装置10がLAN側からWAN側にRegisterデータを中継することによって、NAT装置10のWAN側に、WAN側の装置と通信を行うためのアドレス情報アドレス情報31、32、図4参照が割り当てられる。CPU21は、中継装置17と通信を行うことによって通信遅延時間を特定するS11。通信遅延時間は次のようにして計測される。通信装置13は、NAT装置10を介して中継装置17に対して往路データを送信する。中継装置17は、通信装置13から往路データを受信した場合、NAT装置10を介して通信装置13に対して復路データを送信する。通信装置13は、中継装置17から送信された復路データを、NAT装置10を介して受信する。通信装置13は、往路データを送信してから復路データを受信するまでの時間を計測し、計測した時間を二分することによって、片道分の通信に要した時間を算出する。通信装置13は、上述の通信を複数回例えば10回繰り返し、時間を繰り返し算出する。通信装置13は、算出した時間の平均を、通信遅延時間として特定する。このようにして通信装置13は、中継装置17との間の通信遅延時間を、より正確に且つ容易に取得している。CPU21は、入力部26を介して、他の通信装置13との間のP2P通信を開始する指示の入力操作を検出したか判断するS13。入力操作を検出した場合S13:YES、CPU21は、他の通信装置13に対してINVITEデータを送信することによって他の通信装置13との間のセッションを確立し、他の通信装置13との間でP2P通信を開始する処理発呼側処理、図6参照を実行するS15。発呼側処理の詳細は後述する。発呼側処理の終了後、メイン処理は終了する。一方、他の通信装置13との間のP2P通信を開始する指示の入力操作を検出しない場合S13:NO、CPU21は、他の通信装置13から送信されたINVITEデータを受信したか判断するS17。他の通信装置13から送信されたINVITEデータを受信した場合S17:YESS137図4参照、CPU21は、INVITEデータに応じて他の通信装置13との間のセッションを確立し、他の通信装置13との間でP2P通信を開始する処理着呼側処理、図7参照を実行するS19。着呼側処理の詳細は後述する。着呼側処理の終了後、メイン処理は終了する。図6を参照し、発呼側処理について説明する。なお以下では、図4における通信装置14のCPU21において実行される発呼側処理を想定して説明する。CPU21は、通信装置15との通信時にNAT装置11のWAN側に割り当てられて使用されるアドレス情報33図4参照を、STUNサーバに問い合わせることによって特定するS21。CPU21は、S11図5参照で特定した通信遅延時間Aと、S21で特定されたアドレス情報33を、INVITEデータに格納するS23。CPU21は、通信遅延時間Aおよびアドレス情報33が格納されたINVITEデータを、NAT装置11を介して中継装置17に対して送信するS25S131図4参照。CPU21は、INVITEデータに応じて通信装置15から送信される200OKデータを受信したか判断するS27。200OKデータを受信していないと判断した場合S27:NO、継続して200OKデータの受信を監視するために、処理はS27に戻る。通信装置15から送信された200OKデータを受信した場合S27:YESS147図4参照、CPU21は、受信した200OKデータが、S25で送信したINVITEデータに応じて通信装置15から送信されたものであるかを判断することによって、200OKデータを解析するS29。INVITEデータに応じて通信装置15から送信された200OKデータであった場合、CPU21は、200OKデータに格納されたアドレス情報34図4参照を取得する。CPU21は、ICEによる通信を次のように実行するS31。CPU21は、取得されたアドレス情報34を使用し、通信装置15に対してICECheckデータを送信するS225図4参照。ICECheckデータを送信した後、CPU21は、通信装置15から送信されたICECheckデータを受信するS229図4参照。CPU21は、受信したICECheckデータに応じ、通信装置15に対してResponseデータを送信するS233図4参照。CPU21は、ICECheckデータに応じて通信装置15から送信されたResponseデータを受信するS243図4参照。ICEによる以上の通信を行うことによって、通信装置14、15間でP2P通信を行うことが可能な状態になる。CPU21は、通信装置15との間でセッションを確立させ、P2P通信を開始するS33S245図4参照。P2P通信の終了後、発呼側処理は終了し、処理はメイン処理図5参照に戻る。図7を参照し、着呼側処理について説明する。なお以下では、図4における通信装置15のCPU21において実行される着呼側処理を想定して説明する。CPU21は、S17図5参照で受信したINVITEデータに、通信遅延時間Aが格納されているかを判断することによって、INVITEデータを解析するS41。INVITEデータに通信遅延時間Aが格納されていた場合、CPU21は、INVITEデータに格納されたアドレス情報33図4参照を取得する。CPU21は、通信装置14との通信時にNAT装置12のWAN側に割り当てられて使用されるアドレス情報34図4参照を、STUNサーバに問い合わせることによって特定するS43。CPU21は、S17で受信したINVITEデータに格納されていた通信遅延時間Aと、S11図5参照で特定した通信遅延時間Bとを加算することによって、待機時間ABを算出するS45。CPU21は、S17で受信したINVITEデータに応じる200OKデータを、NAT装置12を介して中継装置17に対して送信するS47S141図4参照。200OKデータには、S43で取得されたアドレス情報34が格納される。200OKデータの送信後、CPU21は、200OKデータを送信してからの経過時間が、待機時間ABに達したかを判断するS49。CPU21は、経過時間が待機時間ABに達していない場合S49:NO、処理はS49に戻る。一方、経過時間が待機時間ABに達した場合S49:YES、ICEによる通信を次のように実行するS51。CPU21は、取得されたアドレス情報33を使用し、通信装置14に対してICECheckデータを送信するS221図4参照。ICECheckデータを送信した後、CPU21は、通信装置14から送信されたICECheckデータを受信するS231図4参照。CPU21は、受信したICECheckデータに応じ、通信装置14に対してResponseデータを送信するS237図4参照。CPU21は、ICECheckデータに応じて通信装置14から送信されたResponseデータを受信するS239図4参照。ICEによる以上の通信を行うことによって、通信装置14、15間でP2P通信を行うことが可能な状態になる。CPU21は、通信装置14との間でセッションを確立させ、P2P通信を開始するS53S245図4参照。P2P通信の終了後、着呼側処理は終了し、処理はメイン処理図5参照に戻る。通信装置15は、200OKデータを送信してから待機時間AB分待機した後、ICECheckデータを通信装置14に対して送信することによって、通信装置15が通信装置14に対してICECheckデータを送信するタイミングと、通信装置15によって送信された200OKデータを通信装置14が受信するタイミングとを近似させている。通信装置14では、200OKデータを受信した直後に、通信装置15に対してICECheckデータを送信することになるので、通信装置14からICECheckデータが送信されるタイミングと、通信装置15からICECheckデータが送信されるタイミングとが近似することになる。従ってNAT装置11は、NAT装置12からICECheckデータを送信する前に、通信装置14からICECheckデータを受信することになり、送信履歴がHDD24に記憶される。NAT装置11は、この送信履歴を参照することによって、NAT装置12からICECheckデータを受信した場合に、アドレス情報33を無効化することなく、通信装置14に対して中継することができる。以上のようなタイミング制御を行うことによって、通信装置15は、SPIを備えたNAT装置11が通信装置14との間に介在する場合であっても、NAT装置11のWAN側に割り当てられたアドレス情報33がICEによる通信によって無効化されることを抑止することができる。従って通信装置15は、通信装置14との間に介在するNAT装置11がSPIを備えている場合でも、通信装置14との間にセッションを確立し、P2P通信を適切に開始することが可能となる。なお本発明は上述の実施形態に限定されず、種々の変更が可能である。上述において通信装置15は、通信遅延時間A、Bを加算することによって待機時間ABを算出していた。これに対し、通信装置15は、通信遅延時間A、Bを加算した値に所定のマージンを加算することによって待機時間を算出してもよい。所定のマージンは、例えば、通信装置14が200OKデータを受信してから、通信装置15に対してICECheckデータを送信するまでに要する処理時間としてもよい。通信装置14、15において通信遅延時間を特定する方法は、上述以外の方法であってもよい。例えば、通信遅延時間を計測するための周知の方法例えばpingが用いられてもよい。また、例えば中継装置17が、通信装置14、15との間の通信遅延時間を計測する機能を備えていてもよい。通信装置14、15は、中継装置17に問い合わせることによって、中継装置17から通信遅延時間を取得してもよい。通信装置15は、通信遅延時間A、B、および、通信装置14からINVITEデータを受信した時刻に基づいて、ICECheckデータを送信する時刻を特定し、特定した時刻で、ICECheckデータを通信装置14に対して送信してもよい。上述では、通信装置15が待機時間ABを算出することによってICECheckデータの送信タイミングを制御していた。これに対し、通信装置14、15の両方がICECheckデータの送信タイミングを制御してもよい。以下、図8から図10を参照し、本発明の変形例について説明する。図8を参照し、変形例において、通信装置14、15の両方がICECheckデータの送信タイミングを制御する場合の通信の手順について説明する。なお、図4で説明した通信の手順と同一部分については、同一符号を付し、説明を省略または簡略化している。通信装置13は、SIPに基づく通信を開始する前に、通信装置13と中継装置17との間の通信遅延時間を特定する。通信装置14は、通信遅延時間Aに加えて、INVITEデータの送信時の時刻をINVITEデータに格納し、NAT装置11を介して中継装置17に対して送信するS131、S133。以下、通信装置14がINVITEデータを送信した時刻を、時刻Cという。中継装置17は、INVITEデータをNAT装置12に対して中継するS135。NAT装置12は、INVITEデータを通信装置15に対して中継するS137。通信装置15は、INVITEデータを受信する。通信装置15は、INVITEデータを受信した時刻を、RAM23に記憶する。以下、通信装置15がINVITEデータを受信した時刻を、時刻Dという。通信装置15は、受信したINVITEデータを解析するS41、図7参照。以下、通信装置15がINVITEデータを解析するために要する時間を、解析時間Eという。通信装置15は、INVITEデータに格納された通信遅延時間Aおよび時刻C、INVITEデータを受信した時刻D、最初に特定した通信遅延時間B、および、解析時間Eに基づいて、通信装置14、15においてICECheckデータを送信するタイミングを決定する。詳細は以下のとおりである。通信装置14におけるICECheckデータの送信タイミングは、通信遅延時間Aを2倍した時間2A、通信遅延時間Bを2倍した時間2B、および、解析時間Eを2倍した時間2Eを加算した時間2ABE分、INVITEを送信した時刻Cから経過した時点の時刻C2ABEに決定される。この時刻は、通信装置14からINVITEデータが送信されてから通信装置15に到達するまでS131、133、135、137に要する時間AB、通信装置15においてINVITEデータが解析される場合に要する時間E、通信装置15から200OKデータが送信されてから通信装置14に到達するまでS141、143、145、147に要する時間AB、および、通信装置14において200OKデータが解析される場合に要する時間Eを加算し、通信装置14がINVITEデータを送信した時刻Cに加算結果を反映させることによって導き出されている。ここで通信装置15は、通信装置14において200OKデータを解析する場合に要する時間が、通信装置15においてINVITEデータを解析する場合に要する時間Eとほぼ同一であると判断し、上述の計算を行っている。以下、上述のようにして算出された、通信装置14がICECheckデータを送信する時刻C2ABEを、発呼側時刻という。通信装置15におけるICECheckデータの送信タイミングは、通信遅延時間A、通信遅延時間B、および、解析時間Eを2倍した時間2Eを加算した時間AB2E分、INVITEデータを受信した時刻Dから経過した時点の時刻DAB2Eに決定される。この時刻は、通信装置15から送信された200OKデータに応じて通信装置14がICECheckデータを通信装置15に対して送信する場合の時刻を想定し、この時刻と同じ時刻で、通信装置15がICECheckデータを送信できるように決定される。従って、通信装置15においてINVITEデータを解析する場合に要する時間E、通信装置15から200OKデータが送信されてから通信装置14に到達するまでS141、143、145、147に要する時間AB、および、通信装置14において200OKデータを解析する場合に要する時間Eを加算し、通信装置15がINVITEデータを受信した時刻Dに加算結果を反映させることによって導き出されている。発呼側時刻を算出した場合と同様、通信装置15は、通信装置14において200OKデータを解析する場合に要する時間が、通信装置15においてINVITEデータを解析する場合に要する時間Eとほぼ同一であると判断している。以下、上述のようにして算出された、通信装置15がICECheckを送信する時刻DAB2Eを、着呼側時刻という。通信装置15は、INVITEデータに応じて通信装置14に送信する200OKデータに、発呼側時刻を示す発呼側時刻情報を格納する。通信装置15は、NAT装置12を介して中継装置17に対して200OKデータを送信するS141、S143。中継装置17は、200OKデータをNAT装置11に対して中継するS145。NAT装置11は、200OKデータを通信装置14に対して中継するS147。通信装置14は、200OKデータを受信する。通信装置15は、200OKデータを通信装置14に対して送信した後、算出した着呼側時刻まで待機し、NAT装置12に対してICECheckデータを送信するS251。NAT装置12は、通信装置15から受信したICECheckデータをNAT装置11に対して中継するS253。NAT装置12には、送信元アドレス情報通信装置15のアドレス情報および宛先アドレス情報NAT装置11のアドレス情報が送信履歴として記憶される。一方、通信装置14では、S147で受信した200OKデータに格納された発呼側時刻情報に基づいて、発呼側時刻を特定する。通信装置14は、発呼側時刻まで待機し、NAT装置11に対してICECheckデータを送信するS255。NAT装置11は、通信装置14から受信したICECheckデータをNAT装置12に対して中継するS257。NAT装置11には、送信元アドレス情報通信装置14のアドレス情報および宛先アドレス情報NAT装置12のアドレス情報が送信履歴として記憶される。ここで上述では、通信装置14からICECheckデータが送信される時刻と、通信装置15からICECheckデータが送信される時刻とがほぼ同一時刻となるように、発呼側時刻および着呼側時刻が算出されている。このため、通信装置15から送信されたICECheckデータがNAT装置11に到達するS253前に、通信装置14からNAT装置11に対してICECheckデータが送信されS255、NAT装置11は通信装置14からICECheckデータを受信する。従って、通信装置15から送信されたICECheckデータがNAT装置11に到達した場合S253、送信元アドレス情報通信装置14のアドレス情報および宛先アドレス情報NAT装置12のアドレス情報がNAT装置11の送信履歴として記憶された状態になっている。従ってNAT装置11は、NAT装置12から受信したICECheckデータを、LAN側の通信装置14に対して中継するS261。NAT装置11は、WAN側に割り当てたアドレス情報33を無効化しない。通信装置14は、ICECheckデータを受信する。同様に、通信装置14から送信されたICECheckデータが、NAT装置12に到達した場合S257、送信元アドレス情報通信装置15のアドレス情報および宛先アドレス情報NAT装置11のアドレス情報がNAT装置12の送信履歴として記憶された状態になっている。従ってNAT装置12は、受信したICECheckデータを、LAN側の通信装置15に対して中継するS259。NAT装置12は、WAN側に割り当てたアドレス情報34を無効化しない。通信装置15は、ICECheckデータを受信する。以上の通信を実行することによって、通信装置14、15は、INVITEデータおよび200OKデータの通信によって通知されたアドレス情報33、34を使用して、P2P通信を行うことが可能となるS281。上述の実施形態とは異なり、変形例において通信装置15は、通信装置14におけるICECheckデータの送信タイミングも制御する。ここで通信装置15は、通信装置14がICECheckデータを送信するタイミングを、発呼側時刻によって通知するので、通信装置14は、通知された発呼側時刻を基準にしてICECheckデータを送信するタイミングを特定することができる。通信装置14に対して通知される発呼側時刻は、通信装置14がINVITEデータを送信した時刻Cに基づいて特定される。従って、通信装置14、15の其々において管理する時刻がずれている場合でも、通信装置15は、通信装置14から所望のタイミングでICECheckデータを送信させることができる。ここで通信装置15が、通信装置14が200OKデータを受信してからICECheckデータを送信するまでの待機時間を、発呼側時刻の代わりに通信装置14に対して通知した場合を想定する。この場合、200OKデータの通信に要した時間が、算出された通信遅延時間A、Bと異なると、通信装置14からICECheckデータが送信されるタイミングは、通信装置15からICECheckデータが送信されるタイミングからずれてしまう。待機時間は、通信遅延時間A、Bに基づいて決定されるためである。例えば200OKデータの通信に要した時間が通信遅延時間A、Bよりも長くなると、長くなった分、通信装置14がICECheckデータを送信する時間が遅れてしまう。この場合、NAT装置11がLAN側からWAN側に向かう方向にICECheckデータを中継するS255、S257前に、NAT装置11はWAN側からICECheckデータを受信してしまう可能性があるS253。このような場合、WAN側に割り当てられたアドレス情報33は無効化されてしまう。これに対して変形例では、通信装置15はICECheckデータを送信する発呼側時刻を決定する。通信装置14は、発呼側時刻に基づいてICECheckデータを送信するタイミングを制御する。従って、NAT装置11、12間の伝送路の通信状態が変化し、200OKデータの通信に要した時間が通信遅延時間A、Bと相違する場合でも、通信装置14は発呼側時刻を基準としてICECheckデータの送信タイミングを決定できるので、通信装置14から送信されるICECheckデータの送信タイミングを、通信装置15から送信されるICECheckデータの送信タイミングと良好に近似させることができる。図9および図10を参照し、変形例における発呼側処理および着呼側処理について説明する。変形例における発呼側処理および着呼側処理は、上述の実施形態における発呼側処理および着呼側処理の代わりにメイン処理から呼び出され、実行される。メイン処理は、上述した実施形態と同一であるので、以下では説明を省略している。図9を参照し、変形例における発呼側処理について説明する。なお以下では、図8における通信装置14のCPU21において実行される発呼側処理を想定して説明する。CPU21は、通信装置15との通信時にNAT装置11のWAN側に割り当てられて使用されるアドレス情報33図8参照を、STUNサーバに問い合わせることによって特定するS61。CPU21は、S11図5参照で特定した通信遅延時間AをINVITEデータに格納するS63。次いでCPU21は、INVITEデータを送信する時刻Cを、INVITEデータに格納するS65。CPU21は、通信遅延時間A、時刻C、およびアドレス情報33が格納されたINVITEデータを、NAT装置11を介して中継装置17に対して送信するS67S131図8参照。CPU21は、INVITEデータに応じて通信装置15から送信される200OKデータを受信したか判断するS69。200OKデータを受信していないと判断した場合S69:NO、継続して200OKデータの受信を監視するために、処理はS69に戻る。通信装置15から送信された200OKデータを受信した場合S69:YESS147図8参照、CPU21は、受信した200OKデータが、S67で送信したINVITEデータに応じて通信装置15から送信されたものであるかを判断することによって、200OKデータを解析するS71。INVITEデータに応じて通信装置15から送信された200OKデータであった場合、CPU21は、200OKデータに格納されたアドレス情報34図8参照を取得する。CPU21は、200OKデータに格納されている発呼側時刻情報を取得し、発呼側時刻C2ABEを特定するS73。CPU21は、発呼側時刻となったかを判断するS75。発呼側時刻となっていない場合S75:NO、継続して待機するために、処理はS75に戻る。一方、発呼側時刻となった場合S75:YES、CPU21は、200OKデータから取得されたアドレス情報34を使用し、通信装置15に対してICECheckデータを送信するS255図8参照ことによって、ICEによる通信を実行するS77。ICEによる通信が終了した場合、通信装置14、15間でP2P通信を行うことが可能な状態になる。CPU21は、通信装置15との間でセッションを確立させ、P2P通信を開始するS79S281図8参照。P2P通信の終了後、発呼側処理は終了し、処理はメイン処理図5参照に戻る。図10を参照し、着呼側処理について説明する。なお以下では、図8における通信装置15のCPU21において実行される着呼側処理を想定して説明する。CPU21は、S17図5参照でINVITEデータを受信した時刻Dを取得するS91。CPU21は、S17で受信したINVITEデータに、通信遅延時間Aおよび時刻Cが格納されているかを判断することによって、INVITEデータを解析するS93。INVITEデータに通信遅延時間Aおよび時刻Cが格納されていた場合、CPU21は、INVITEデータに格納されたアドレス情報33図8参照を取得する。CPU21は、通信装置14との通信時にNAT装置12のWAN側に割り当てられて使用されるアドレス情報34図8参照を、STUNサーバに問い合わせることによって特定するS95。CPU21は、通信装置14においてICECheckデータを送信するまでの待機時間2ABEを、通信遅延時間A、B、および、解析時間Eに基づいて算出するS97。CPU21は、INVITEデータに格納されていた時刻Cから待機時間2ABE分経過した時刻を、発呼側時刻として特定するS99。CPU21は、通信装置15においてICECheckデータを送信するまでの待機時間AB2Eを、通信遅延時間A、B、および、解析時間Eに基づいて算出するS101。CPU21は、S91で取得した時刻Dから待機時間AB2E分経過した時刻を、着呼側時刻として特定するS103。CPU21は、S17で受信したINVITEデータに応じる200OKデータに、S99で特定した発呼側時刻を示す発呼側時刻情報を格納するS105。CPU21は、INVITEデータから取得されたアドレス情報33を使用し、発呼側時刻情報、および、S95で取得されたアドレス情報34を格納した200OKデータを、NAT装置12を介して中継装置17に対して送信するS107S141図8参照。200OKデータの送信後、CPU21は、S103で特定した着呼側時刻となったかを判断するS109。着呼側時刻となっていない場合S109:NO、継続して待機するために、処理はS109に戻る。一方、着呼側時刻となった場合S109:YES、CPU21は、INVITEデータから取得されたアドレス情報33を使用し、通信装置14に対してICECheckデータを送信するS251図8参照ことによって、ICEによる通信を実行するS111。ICEによる通信が終了した場合、通信装置14、15間でP2P通信を行うことが可能な状態になる。CPU21は、通信装置15との間でセッションを確立させ、P2P通信を開始するS113S281図8参照。P2P通信の終了後、発呼側処理は終了し、処理はメイン処理図5参照に戻る。以上説明したように、通信装置15は、通信装置14がICECheckデータを送信する場合の送信タイミングだけでなく、通信装置14が200OKデータに応じて送信するICECheckデータの送信タイミングも制御することができる。これによって、通信装置14、15において特定された通信遅延時間と、実際の通信に要した通信時間とが相違する場合であっても、通信装置14がICEデータを送信するタイミングと、通信装置15がICECheckデータを送信するタイミングとを、良好に近似させることができる。更に通信装置15は、通信装置14におけるICECheckデータの送信タイミングを、通信装置14の時刻Cに基づき特定された時刻を指定することによって通知する。これによって、通信装置14、15の双方が管理する時刻がずれている場合であっても、通信装置14がICEデータを送信するタイミングと、通信装置15がICECheckデータを送信するタイミングとを、良好に近似させることができる。以上によって通信装置15は、ICECheckデータの通信によってNAT装置11に割り当てられたアドレス情報33がSPIによって無効化されることを、さらに効果的に抑止することができる。なお上述の変形例において、発呼側時刻および着呼側時刻を特定する場合に解析時間Eは考慮されなくてもよい。なお解析時間Eは、通信遅延時間A、Bと比較して非常に短い時間であるため、解析時間Eを考慮することなく発呼皮時刻および着呼側時刻が特定された場合でも、ICECheckデータが送信されるタイミングは通信装置14、15間でほぼ一致する。また通信装置15は、発呼側時刻の代わりに待機時間2ABEを通知することによって、通信装置14から送信されるICECheckデータのタイミング制御を行ってもよい。通信装置14は、INVITEデータを送信した時刻Cから、通知された待機時間2ABE分経過した時刻に、ICECheckデータを送信してもよい。通信装置15は、発呼側時刻情報を200OKデータに格納し、通信装置14に対して送信していた。これに対し、例えば通信装置15は、INVITEデータに応じて180Ringingデータを通信装置14に送信し、所定時間経過後、200OKデータを通信装置14に送信してもよい。そして通信装置15は、180Ringingデータに発呼側時刻情報を格納し、送信してもよい。この場合、通信装置15は、180Ringingデータを送信してから200OKデータを送信するまでの時間を考慮して発呼側時刻情報を特定してもよい。これによって通信装置15は、200OKデータを受信する前に発呼側時刻情報を取得することができるので、200OKデータを受信してからICECheckデータを送信するまでの処理を軽減し、迅速にICECheckデータを送信することができる。なお、S11の処理を行うCPU21が本発明の取得手段に相当する。S25、S67の処理を行うCPU21が本発明の第一送信手段に相当する。S17の処理を行うCPU21が本発明の第一受信手段に相当する。S47、S107の処理を行うCPU21が本発明の第二送信手段に相当する。S45、S101、S103の処理を行うCPU21が本発明の第一算出手段に相当する。S51、S111の処理を行うCUP21が本発明の第三送信手段に相当する。S31、S71の処理を行うCPU21が本発明の第四送信手段に相当する。INVITEデータが本発明の要求データに相当する。200OKデータが本発明の応答データに相当する。ICECheckデータが本発明の設定データに相当する。S11の処理が本発明の取得ステップに相当する。S25、S67の処理が本発明の第一送信ステップに相当する。S17の処理が本発明の第一受信ステップに相当する。S47、S107の処理が本発明の第二送信ステップに相当する。S45、S101、S103の処理が本発明の第一算出ステップに相当する。S51、S111の処理が本発明の第三送信ステップに相当する。