(57)【特許請求の範囲】
【請求項１】
広域ネットワークを介した相手装置との接続を確立する際に中継機器のＮＡＴ越えを制御するＩＰ通信装置であって、
前記相手装置と互いのＮＡＴ環境の情報を交換する情報交換手段と、
自装置または前記相手装置のいずれかの前記ＮＡＴ環境の情報が、グローバルＩＰアドレスとポート番号が動的に割り当てられる動的ＮＡＴ環境である場合にのみ、前記割り当てられたグローバルＩＰアドレスとポート番号を前記動的ＮＡＴ環境のＩＰ通信装置に認識させ、前記割り当てられたグローバルＩＰアドレスとポート番号を用いた通信を可能とするＮＡＴ越え処理を実行するＮＡＴ制御手段と、
前記接続の確立後に前記相手装置とマルチメディアデータの送受信を行うデータ通信手段とを備えたことを特徴とするＩＰ通信装置。
【請求項２】
前記情報交換手段は、自装置のＮＡＴ環境の情報を含むＳＩＰ要求メッセージを前記相手装置に対して送信する一方、前記相手装置のＮＡＴ環境の情報を含むＳＩＰ応答メッセージを前記相手装置から受信することを特徴とする請求項１に記載のＩＰ通信装置。
【請求項３】
前記自装置のＮＡＴ環境の情報が前記ＳＩＰ要求メッセージのＵｓｅｒ−Ａｇｅｎｔヘッダに付加され、前記相手装置のＮＡＴ環境の情報が前記ＳＩＰ応答メッセージのＵｓｅｒ−Ａｇｅｎｔヘッダに付加されたことを特徴とする請求項２に記載のＩＰ通信装置。
【請求項４】
前記ＮＡＴ制御手段が前記ＮＡＴ越え処理を実行後、前記情報交換手段が前記相手装置から呼び出し中を示すＳＩＰ応答メッセージを受信してから前記接続の確立の成功を示すＳＩＰ応答メッセージを受信するまでの間において、前記データ通信手段は、前記相手装置に対してＮＡＴ越え制御用のパケットを送出することを特徴とする請求項１に記載のＩＰ通信装置。
【請求項５】
前記呼び出し中を示すＳＩＰ応答メッセージが前記相手装置のマルチメディアセッションに関する情報を含むことを特徴とする請求項４に記載のＩＰ通信装置。
【請求項６】
前記ＮＡＴ制御手段が前記ＮＡＴ越え処理を実行後、前記情報交換手段は、前記相手装置に対して自装置のマルチメディアセッションに関する情報を付加したＳＩＰ要求メッセージを送信することを特徴とする請求項１に記載のＩＰ通信装置。
【請求項７】
広域ネットワークを介した相手装置との接続を確立する際に中継機器のＮＡＴ越えを制御するＩＰ通信装置の制御方法であって、
前記相手装置と互いのＮＡＴ環境の情報を交換する情報交換ステップと、
自装置または前記相手装置のいずれかの前記ＮＡＴ環境の情報が、グローバルＩＰアドレスとポート番号が動的に割り当てられる動的ＮＡＴ環境である場合にのみ、前記割り当てられたグローバルＩＰアドレスとポート番号を前記動的ＮＡＴ環境のＩＰ通信装置に認識させ、前記割り当てられたグローバルＩＰアドレスとポート番号を用いた通信を可能とするＮＡＴ越え処理を実行するＮＡＴ制御ステップと、
前記接続の確立後に前記相手装置とマルチメディアデータの送受信を行うデータ通信ステップとを有することを特徴とするＩＰ通信装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＡＴ(Network Address Translation)機能を有する中継機器を介して広域ネットワークに接続されるＩＰ(Internet Protocol)通信装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、企業や家庭内のＬＡＮ(Local Area Network)に接続されたＩＰ通信装置（ＩＰ電話等）は、所定の中継機器（ルータ等）を介してＷＡＮ（Wide-Area Network）に接続されるのが一般的である。そのような中継機器として、ＬＡＮのみで通用するプライベートなＩＰアドレスと、外部のＷＡＮへのアクセスに利用できるグローバルなＩＰアドレスとを透過的に相互変換するためのＮＡＴ機能を搭載しているものが広く用いられており、これにより、ＬＡＮに接続される機器に対するＩＰアドレスの付与の自由度が高まり、またＬＡＮのセキュリティも高まるという利点がある。
【０００３】
しかし、例えば、上記ＮＡＴ機能を有する中継機器を介してＷＡＮに接続されたＩＰ通信装置によりＩＰ電話サービスを利用する場合、呼制御プロトコルとして用いるＳＩＰ(Session Initiation Protocol)等ではＩＰパケットのデータ部にプライベートＩＰアドレスやポート番号を付加して通信を行うため、ＩＰパケットのヘッダ部分のＩＰアドレスのみを変換するＮＡＴ機能では対応できず、結果として中継機器が壁となってＷＡＮ側からの通信パケットがＬＡＮ側に到達しないという、いわゆるＮＡＴ越え問題が生じ得る。
【０００４】
そこで、そのような問題を解決するための方法として、例えば、ＡＬＧ(Application Layer Gateway)機能を用いてＩＰパケットのデータ部のＩＰアドレスやポート番号を変換する技術が知られている（特許文献１参照）。
【０００５】
また、例えば、ＵＰｎＰ(Universal Plug and Play)機能を用いることで、ＵＰｎＰ ＩＧＤ(Internet Gateway Device)に対応している中継機器からグローバルアドレスを取得するとともにポートの割り当て（ポートマッピング）を行い、中継機器から取得したグローバルアドレスとポート番号を予めＩＰパケットのデータ部に設定しておくことによりＮＡＴトラバーサルを実行する技術が知られている。
【特許文献１】特開２００４−２５４０１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記のようなＮＡＴ越えのための処理は、自装置と相手装置（即ち、発呼側と着呼側）との間の通信経路に存在する各中継装置に対して実行する必要があるが、各中継装置のＮＡＴ環境は必ずしも一様ではなく、例えば、ＩＰ通信装置のプライベートＩＰアドレスに対して特定のグローバルＩＰアドレスとポート番号を予め指定しておくことによりＮＡＴ越えを実現する場合（静的ＮＡＴ）や、セッション開始時にＩＰ通信装置のプライベートＩＰアドレスに対して所定のグローバルＩＰアドレスとポート番号を割り当てることによりＮＡＴ越えを実現する場合（動的ＮＡＴ）がある。また、場合によっては、ＩＰ通信装置が、ＮＡＴ機能を有する中継機器を介さずにＷＡＮに接続されることもある。
【０００７】
従って、上記従来技術のようなＮＡＴ越えの方法では、通信に際して自装置と相手装置との間の各中継装置のＮＡＴ環境を予め把握できていない場合には、それらの中継装置に対して適切なＮＡＴ越え処理を実施することは困難であった。
【０００８】
また、各中継装置に対してＮＡＴ越え処理を実施する場合、通信の前に予めＮＡＴ越え可能な状態としておくことはセキュリティの観点からは好ましくなく、通信開始の際に適切なタイミングでＮＡＴ越え可能な状態にすることが望ましい。さらに、ＮＡＴ越え処理を実施した後は、その際に設定された情報（例えば、変換テーブルに記憶されたＩＰアドレス及びポート番号等）が消去されないようにして、そのＮＡＴ越え可能な状態を確実に保持しておく必要がある。
【０００９】
本発明は、このような知見に基づいてなされたものであり、広域ネットワークを介して接続される相手装置と通信を行う場合に、適切なタイミングにて自装置及び相手装置のＮＡＴ環境に応じたＮＡＴ越え処理を実施することが可能なＩＰ通信装置及びその制御方法を提供することを主目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のＩＰ通信装置は、請求項１に示すとおり、広域ネットワークを介した相手装置との接続を確立する際に中継機器のＮＡＴ越えを制御するＩＰ通信装置であって、前記相手装置と互いのＮＡＴ環境の情報を交換する情報交換手段と、自装置または前記相手装置のいずれかの前記ＮＡＴ環境の情報が、グローバルＩＰアドレスとポート番号が動的に割り当てられる動的ＮＡＴ環境である場合にのみ、前記割り当てられたグローバルＩＰアドレスとポート番号を前記動的ＮＡＴ環境のＩＰ通信装置に認識させ、前記割り当てられたグローバルＩＰアドレスとポート番号を用いた通信を可能とするＮＡＴ越え処理を実行するＮＡＴ制御手段と、前記接続の確立後に前記相手装置とマルチメディアデータの送受信を行うデータ通信手段とを備えた構成とする。
【００１１】
これによると、相手装置との接続を確立する際に自装置及び相手装置のＮＡＴ環境に応じて適切なＮＡＴ越え処理を実行することが可能となり、接続が確立された後は、ＮＡＴ越えの問題が生じることなくマルチメディアデータ（音声データや映像データ等）の通信を安定的に行うことができる。
【００１２】
この場合、ＮＡＴ環境の情報には、例えば、ＮＡＴ機能を有する中継機器（ルータ等）が通信経路に存在するか否かの情報や、中継機器のＮＡＴ機能に関する情報（静的ＮＡＴまたは動的ＮＡＴのいずれであるか等）が含まれる。
【００１３】
上記ＩＰ通信装置は、請求項２に示すとおり、前記情報交換手段は、自装置のＮＡＴ環境の情報を含むＳＩＰ要求メッセージを前記相手装置に対して送信する一方、前記相手装置のＮＡＴ環境の情報を含むＳＩＰ応答メッセージを前記相手装置から受信する構成とすることができる。
【００１４】
これによると、相手装置との接続を確立するためのＳＩＰメッセージを送受信するのみで、ＮＡＴ環境の情報を容易に交換することができる。
【００１５】
上記ＩＰ通信装置は、請求項３に示すとおり、前記自装置のＮＡＴ環境の情報が前記ＳＩＰ要求メッセージのＵｓｅｒ−Ａｇｅｎｔヘッダに付加され、前記相手装置のＮＡＴ環境の情報が前記ＳＩＰ応答メッセージのＵｓｅｒ−Ａｇｅｎｔヘッダに付加された構成とすることができる。これによると、互いのＮＡＴ環境の情報をＳＩＰメッセージのヘッダ情報として容易に付加することができる。
【００１６】
上記ＩＰ通信装置は、請求項４に示すとおり、前記ＮＡＴ制御手段が前記ＮＡＴ越え処理を実行後、前記情報交換手段が前記相手装置から呼び出し中を示すＳＩＰ応答メッセージを受信してから前記接続の確立の成功を示すＳＩＰ応答メッセージを受信するまでの間において、前記データ通信手段は、前記相手装置に対してＮＡＴ越え制御用のパケットを送出する構成とすることができる。
【００１７】
これによると、情報交換手段が呼び出し中を示すＳＩＰ応答メッセージ（１８０ Ｒｉｎｇｉｎｇ）を受信してから接続の確立の成功を示すＳＩＰ応答メッセージ（２００ ＯＫ）を受信するまでの時間は、相手装置のユーザが行う操作（オフフック）のタイミングに左右されるが、その間にＮＡＴ越え制御用のパケット（例えば、マルチメディアデータを含まない空パケット）を適宜送出することにより、ＮＡＴ越え処理による設定を確実に維持することが可能となる。
【００１８】
上記ＩＰ通信装置は、請求項５に示すとおり、前記呼び出し中を示すＳＩＰ応答メッセージが前記相手装置のマルチメディアセッションに関する情報を含む構成とすることができる。これによると、データ通信手段は、情報交換手段が呼び出し中を示すＳＩＰ応答メッセージ（１８０ Ｒｉｎｇｉｎｇ）を受信すると、その受信をトリガとしてＮＡＴ越え制御用のパケットの送出を開始することができるので、ＮＡＴ越え制御用のパケットを適切なタイミングで送出することが可能となる。
【００１９】
上記ＩＰ通信装置は、請求項６に示すとおり、前記ＮＡＴ制御手段が前記ＮＡＴ越え処理を実行後、前記情報交換手段は、前記相手装置に対して自装置のマルチメディアセッションに関する情報を付加したＳＩＰ要求メッセージを送信する構成とすることができる。
【００２０】
これによると、ＮＡＴ越え処理の実行により自装置のマルチメディアセッションに関する情報が変更された場合であっても、相手装置に対して最新のマルチメディアセッションに関する情報を送信することで、マルチメディアデータの通信を安定的に行うことが可能となる。この場合、マルチメディアセッションに関する情報は、例えば、新たな接続を確立する際（ｒｅ−ＩＮＶＩＴＥトランザクション）のＩＮＶＩＴＥメッセージに付加することが可能である。
【００２１】
また、本発明のＩＰ通信装置の制御方法は、請求項７に示すとおり、広域ネットワークを介した相手装置との接続を確立する際に中継機器のＮＡＴ越えを制御するＩＰ通信装置の制御方法であって、前記相手装置と互いのＮＡＴ環境の情報を交換する情報交換ステップと、自装置または前記相手装置のいずれかの前記ＮＡＴ環境の情報が、グローバルＩＰアドレスとポート番号が動的に割り当てられる動的ＮＡＴ環境である場合にのみ、前記割り当てられたグローバルＩＰアドレスとポート番号を前記動的ＮＡＴ環境のＩＰ通信装置に認識させ、前記割り当てられたグローバルＩＰアドレスとポート番号を用いた通信を可能とするＮＡＴ越え処理を実行するＮＡＴ制御ステップと、前記接続の確立後に前記相手装置とマルチメディアデータの送受信を行うデータ通信ステップとを有する構成とする。
【発明の効果】
【００２２】
本発明によれば、広域ネットワークを介して接続される相手装置と通信を行う場合に、適切なタイミングにて自装置及び相手装置のＮＡＴ環境に応じたＮＡＴ越え処理を実施することが可能となる。特に、相手装置との接続を確立する際にＮＡＴ越え処理を実行するので、セキュリティ面でも優れたＮＡＴ越え処理を実行することができ、また、ＮＡＴ越え処理を実行するときに相手装置とＮＡＴ環境の情報を交換するので、相手装置のＮＡＴ環境について予め認識しておく必要はないという利点がある。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００２４】
図１は、本発明に係るＩＰ通信装置を備えたＩＰ通信システムの概略構成を示すシステム構成図である。このＩＰ(Internet Protocol)通信システム１は、第１のＩＰ通信装置２及びその相手装置となる第２のＩＰ通信装置３と、それらＩＰ通信装置２，３間の接続を仲介するＳＩＰ(Session Initiation Protocol)サーバ４とがＩＰ網（広域ネットワーク）５にそれぞれ接続された構成を有している。ここで、第１及び第２のＩＰ通信装置２，３は、異なるＬＡＮ６，７内に配置され、第１及び第２のルータ８，９を介してＩＰ網５にそれぞれ接続されている。
【００２５】
第１及び第２のＩＰ通信装置２，３は、音声や映像等のデータ（以下、「マルチメディアデータ」）をＩＰ網５を介して通信するためのＩＰ通信機能を有する。本実施の形態において、ＩＰ通信装置２，３は、ＶｏＩＰ(Voice over Internet Protocol)機能により音声通話を実現するＩＰ電話装置であり、呼制御プロトコルとして用いるＳＩＰのＵＡｃ(User Agent Client)またはＵＡｓ(User Agent Server)として機能する。なお、後述する動作説明では、便宜上、第１のＩＰ通信装置２をＵＡｃ、第２のＩＰ通信装置３をＵＡｓとするが、これらの関係は、ＳＩＰの所定のトランザクションにおける関係であって、本来はダイナミックに変化し得る。
【００２６】
ＳＩＰサーバ４は、ＩＰ通信装置２，３間の呼接続のための位置情報の中継や、発呼要求及び応答の中継等の各種サービスを提供する。
【００２７】
第１及び第２のルータ８，９は、ＬＡＮ６またはＬＡＮ７のみで使用するプライベートなＩＰアドレスと、外部のＩＰ網５へのアクセスに利用できるグローバルなＩＰアドレスとを透過的に相互変換するためのＮＡＴ(Network Address Translation)機能を搭載したブロードバンドルータである。ここでの「ＮＡＴ機能」は、必ずしもＩＰアドレスの変換機能のみに限定されるものではなく、ＮＡＰＴ(Network Address Port Translation)等の類似機能を含む概念である。
【００２８】
上記構成のＩＰ通信システム１において、第１のＩＰ通信装置２が第２のＩＰ通信装置３との通信を行う場合、ＳＩＰにより第１のＩＰ通信装置２と第２のＩＰ通信装置３とのセッションを確立（接続を確立）する一方で、ＮＡＴ機能を有するルータ８，９に対してＮＡＴ越え処理を実行し、セッション確立後のマルチメディアデータの通信を可能とする。詳細は後述するが、ＩＰ通信システム１では、第１のＩＰ通信装置２が第２のＩＰ通信装置３とのセッションを確立する際のＩＮＶＩＴＥトランザクションにおいてＮＡＴ越え処理を行い、さらに、ＮＡＴ越え処理により設定された情報（以下、「ＮＡＴ情報」という）をマルチメディアデータの送受信が開始されるまで維持することが可能である。
【００２９】
図２は、図１に示したＩＰ通信装置の概略構成を示すブロック図である。ここでは、第１のＩＰ通信装置２の構成について示すが、第２のＩＰ通信装置３も同様に構成することができる。ＩＰ通信装置２は、ＲＴＰ制御部２１と、音声コーデック部２２と、ＶｏＩＰ制御部２３と、ＮＡＴ制御部２４と、通信制御部２５とを主として備える。
【００３０】
ＲＴＰ制御部（データ通信手段）２１は、音声や映像等のリアルタイムデータを伝送するためのプロトコルであるＲＴＰ(Real-time Transport Protocol)の手順に従ってパケットの処理を行う。後述するように、ＲＴＰ制御部２１は、第２のＩＰ通信装置３（相手装置）とのセッションが確立された後に、第２のＩＰ通信装置３との間で送受信されるマルチメディアデータを含むＲＴＰパケットの処理を開始する。
【００３１】
音声コーデック部２２は、所定の音声符号化方式（例えば、ＩＴＵ−Ｔ勧告Ｇ．７１１等）に従って送信データの符号化処理及び受信データの復号化処理を行う。
【００３２】
ＶｏＩＰ制御部（情報交換手段）２３は、ＩＰ通信装置２のＶｏＩＰ通信に関するＡ／Ｄ及びＤ／Ａ変換動作、符号化及び復号化動作並びにＩＰパケット処理動作等を統括的に制御する。また、ＶｏＩＰ制御部２３は、ＩＰ通信装置２がＳＩＰのＵＡｓ（またはＵＡｃ）として機能するためのＳＩＰメッセージの生成や送受信等の各種動作を制御する。
【００３３】
後述するように、ＶｏＩＰ制御部２３は、自装置のＮＡＴ環境（即ち、第１のルータ８）の情報を取得し、その情報を含むＳＩＰ要求メッセージを第２のＩＰ通信装置３に対して送信する一方、第２のＩＰ通信装置３のＮＡＴ環境（即ち、第２のルータ９）の情報を含むＳＩＰ応答メッセージを第２のＩＰ通信装置３から受信することで、第２のＩＰ通信装置３と互いのＮＡＴ環境の情報を交換することが可能である。
【００３４】
ここで、ＮＡＴ環境の情報には、例えば、ＮＡＴ機能を有するルータが通信経路に存在するか否かの情報や、通信経路にルータが存在する場合にはさらにそのＮＡＴ機能に関する情報が含まれ、このＮＡＴ環境の情報により、どのようなＮＡＴ越え処理を実行する必要があるかを判断することが可能となる。本実施の形態では、ＮＡＴ環境の情報は、ルータ（第１のルータ８または第２のルータ９）にＵＰｎＰ機能やＩＰマスカレード設定等で静的NATが既に設定されている場合（以下、「静的ＮＡＴ環境」という）、非ＵＰｎＰルータ等により静的ＮＡＴが未設定の場合（以下、「動的ＮＡＴ環境」という）、或いは、ＮＡＴ機能を有するルータが存在しない場合（以下、「グローバルＩＰ環境」という）の何れかを示すものとする。
【００３５】
ＮＡＴ制御部（ＮＡＴ制御手段）２４は、所定のＮＡＴ越え機能を実行してルータに対するＮＡＴ越え処理を制御する。このＮＡＴ越え機能は、第１及び第２のＩＰ通信装置２，３のＮＡＴ環境の情報に基づき、それらのＮＡＴ環境（「静的ＮＡＴ環境」、「動的ＮＡＴ環境」または「グローバルＩＰ環境」のいずれか）に応じて実行することが可能である。ＮＡＴ越えのための処理は、当業者に周知の種々の方法を用いることが可能であり、その詳細についての説明はここでは省略する。
【００３６】
通信制御部２５は、ＩＰ通信装置２をイーサネット（登録商標）等のＬＡＮ規格に従ってＬＡＮ６に対して接続するとともに、図示しない送受信部によりＳＩＰメッセージやマルチメディアデータ等を含むＩＰパケットの送受信を行う。
【００３７】
図３は、図１に示したＩＰ通信システムにおけるＩＰ通信装置間の通信開始手順を示すシーケンス図である。ここでは、第１のＩＰ通信装置（ＵＡｃ）２から第２のＩＰ通信装置（ＵＡｓ）３に対して接続を行う場合の例を示しており、第１のＩＰ通信装置２のＮＡＴ環境（即ち、第１のルータ８）は動的ＮＡＴ環境、第２のＩＰ通信装置３のＮＡＴ環境（即ち、第２のルータ９）は静的ＮＡＴ環境にあるものとする。ＩＰ通信装置２，３間の接続はＳＩＰサーバ４により仲介され、ＳＩＰによりマルチメディアセッションの開始、修正及び終了が実行される。
【００３８】
ＩＮＶＩＴＥトランザクション３１において、まず、第１のＩＰ通信装置２がセッションの開始を要求するための「ＩＮＶＩＴＥ」メッセージ（ＮＡＴ環境の情報を含むＳＩＰ要求メッセージ）３２をＳＩＰサーバ４に対して送出して第２のＩＰ通信装置３との接続を要求し、ＳＩＰサーバ４が「ＩＮＶＩＴＥ」メッセージ３２をＩＰ通信装置３に転送する。この「ＩＮＶＩＴＥ」メッセージ３２の例を図４に示す。ここでは、メッセージヘッダ部におけるＵｓｅｒ−Ａｇｅｎｔヘッダに第１のＩＰ通信装置２のＮＡＴ環境の情報（「ＵＡＣ ＮＡＴ ＤＹＮＡＭＩＣ」）５１が付加されている。この「ＵＡＣ ＮＡＴ ＤＹＮＡＭＩＣ」は、第１のＩＰ通信装置２のＮＡＴ環境が動的ＮＡＴ環境にあることを示すもので、「ＩＮＶＩＴＥ」メッセージを受信した第２のＩＰ通信装置３は、Ｕｓｅｒ−Ａｇｅｎｔヘッダを参照して第１のＩＰ通信装置２のＮＡＴ環境が動的ＮＡＴ環境にあることを認識する。
【００３９】
また、「ＩＮＶＩＴＥ」メッセージ３２のメッセージボディ部には、ＳＤＰ(Session Description Protocol)に基づくマルチメディアセッションに関する情報が付加される。このマルチメディアセッションに関する情報は、セッションを識別する情報、時間情報及びメディアに関する情報等を含み、ここでは、メディア情報「ｍ＝」の受信ポートを示す領域にポートが設定されていないことを示す「０」５２が記載され、また、メディア属性「ａ＝」には、このメッセージが送信専用であることを示す「ｓｅｎｄｏｎｌｙ」５３が記載されている。なお、この「ＩＮＶＩＴＥ」メッセージが送出される時点では、第１のルータ８においてパケットを受信するポートが設定されていないため、上記マルチメディアセッションに関する情報は、後述するＮＡＴ越え処理とは無関係な情報である。
【００４０】
次に、「ＩＮＶＩＴＥ」メッセージ３２を受信した第２のＩＰ通信装置３は、ＳＩＰサーバ４を介して第１のＩＰ通信装置２に対して「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ（ＮＡＴ環境の情報を含むＳＩＰ応答メッセージ）３３を送出する。この「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３の例を図５に示す。ここでは、メッセージヘッダ部のＵｓｅｒ−Ａｇｅｎｔヘッダに第２のＩＰ通信装置３のＮＡＴ環境の情報（「ＵＡＳ ＮＡＴ ＳＴＡＴＩＣ」）６１が付加されている。この「ＵＡＳ ＮＡＴ ＳＴＡＴＩＣ」は、第２のＩＰ通信装置３のＮＡＴ環境が静的ＮＡＴ環境にあることを示すもので、「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３を受信した第１のＩＰ通信装置２は、このＵｓｅｒ−Ａｇｅｎｔヘッダを参照して第２のＩＰ通信装置３のＮＡＴ環境が静的ＮＡＴ環境にあることを認識する。この「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３は、通常は連続して複数回（ここでは、３回）送出される。これにより、万一パケットロスが生じた場合でも第１のＩＰ通信装置２に対して第２のＩＰ通信装置３のＮＡＴ環境の情報をより確実に取得させることが可能となる。なお、パケットロスが生じなかった場合は、第１のＩＰ通信装置２は、３回送られる「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３のうち１回目のメッセージを受信した時点において第２のＩＰ通信装置３のＮＡＴ環境の情報を取得することができる。
【００４１】
そこで、「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３により第２のＩＰ通信装置３のＮＡＴ環境の情報を取得した第１のＩＰ通信装置２は、「ＮＡＴ越え機能の実行」３４により第１のルータ８に対するＮＡＴ越え処理を実施する。このとき、第２のＩＰ通信装置３も同様にＮＡＴ越え機能を実行することが可能であるが、第２のＩＰ通信装置３の場合は、第１のＩＰ通信装置２から「ＩＮＶＩＴＥ」メッセージ３２を受信した時点でＮＡＴ越え機能を実行開始することができる。
【００４２】
次に、第２のＩＰ通信装置３は、ＳＩＰサーバ４を介して第１のＩＰ通信装置２に対して呼び出し中を示す「１８０ Ｒｉｎｇｉｎｇ」メッセージ３５を送出する。この「１８０ Ｒｉｎｇｉｎｇ」メッセージ３５の例を図６に示す。ここでも、メッセージヘッダ部のＵｓｅｒ−Ａｇｅｎｔヘッダには、先の「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３と同様に第２のＩＰ通信装置３のＮＡＴ環境の情報（「ＵＡＳ ＮＡＴ ＳＴＡＴＩＣ」７１）が付加されている。
【００４３】
また、「１８０ Ｒｉｎｇｉｎｇ」メッセージ３５のメッセージボディ部には、ＳＤＰに基づくマルチメディアセッションに関する情報が付加される。このマルチメディアセッションに関する情報では、接続情報「ｃ＝」のＩＰアドレスを示す領域に第２のＩＰ通信装置３のＩＰアドレス「１９２．１６８．１．２２」７２が記載され、また、メディア情報「ｍ＝」の受信ポートを示す領域にポート番号「８６８７」７３記載されている。これらのＩＰアドレス及びポート番号は、第２のＩＰ通信装置３がＩＰ通信装置２からＲＴＰパケット（ＮＡＴ越え制御用のパケット）を受信するためのものであり、「１８０ Ｒｉｎｇｉｎｇ」メッセージ３５を受信した第１のＩＰ通信装置２は、当該ＩＰアドレス及びポート番号に対して「ＲＴＰパケット送信」３６を開始する。即ち、呼び出し中を示す「１８０ Ｒｉｎｇｉｎｇ」３５メッセージを受信してから接続の確立の成功を示す「２００ ＯＫ」メッセージを受信するまでの時間は、第２のＩＰ通信装置３のユーザのオフフックのタイミングに左右されるが、その間にＲＴＰパケット（例えば、マルチメディアデータを含まない空パケット）を適宜送出することにより、ＮＡＴ越え処理において設定されたＮＡＴ情報を確実に維持する（例えば、タイムアウトによりＮＡＴテーブルに登録されたエントリが削除されることを防ぐ）ことが可能となる。
【００４４】
その後、第２のＩＰ通信装置３は、ＳＩＰサーバ４を介して第１のＩＰ通信装置２に対して接続要求の成功を示す「２００ ＯＫ」メッセージ３７を送出し、この「２００ ＯＫ」メッセージ３７に対して第１のＩＰ通信装置２が「ＡＣＫ」メッセージ３８を送出することにより接続が確立されることになる。この「２００ ＯＫ」メッセージ３７にもＳＤＰに基づくマルチメディアセッションに関する情報が付加される。
【００４５】
ここで、先の「ＩＮＶＩＴＥ」メッセージ３２に付加されたマルチメディアセッションに関する情報は、「ＮＡＴ越え機能の実行」３４により変更され得る。従って、そのように第１のＩＰ通信装置２のマルチメディアセッションに関する情報が変更された場合であっても第２のＩＰ通信装置３から第１のＩＰ通信装置２に対してパケットを送信することが可能なように、次のようなｒｅ−ＩＮＶＩＴＥトランザクション４１を実行する。これにより、当初の接続を確立する際のＮＡＴ越え処理の実行により第１のＩＰ通信装置２のマルチメディアセッションに関する情報が変更された場合であっても、新たな接続の確立の際に第２のＩＰ通信装置３に対して最新のマルチメディアセッションに関する情報を送信することで、マルチメディアデータの通信を安定的に行うことが可能となる。
【００４６】
ｒｅ−ＩＮＶＩＴＥトランザクション４１において、まず、第１のＩＰ通信装置２がＳＩＰサーバ４を介して第１のＩＰ通信装置２に対してセッションの開始を要求するための「ＩＮＶＩＴＥ」メッセージ４２を再び送出する。この「ＩＮＶＩＴＥ」メッセージ４２は図４に示したものと略同様であるが、「ＩＮＶＩＴＥ」メッセージ４２のメッセージボディ部には、「ＮＡＴ越え機能の実行」３４により変更された最新のマルチメディアセッションに関する情報が付加されることになる。即ち、図４に示した「ＩＮＶＩＴＥ」メッセージにおけるメディア情報「ｍ＝」の受信ポートを示す領域に記載された「０」５２の代わりにＮＡＴ越え処理により設定されたポート番号が記載されることになる。
【００４７】
次に、第２のＩＰ通信装置３は、ＳＩＰサーバ４を介して第１のＩＰ通信装置２に対して接続要求の成功を示す「２００ ＯＫ」メッセージ４３を送出し、この「２００ ＯＫ」メッセージ４２に対して第１のＩＰ通信装置２が「ＡＣＫ」メッセージ４４を送出することにより接続が確立されることになる。これにより、マルチメディアセッション４５が開始され、第１及び第２のＩＰ通信装置２，３は、マルチメディアデータを含むパケットの送受信が可能となる。
【００４８】
なお、上記のようなＮＡＴ越え機能は、第１及び第２のＩＰ通信装置２，３のうちの少なくとも一方が動的ＮＡＴ環境にある場合に実行されるものであり、第１及び第２のＩＰ通信装置２，３がともに静的ＮＡＴ環境またはグローバルＩＰ環境にある場合には省略可能である。
【００４９】
図７は、図３に示したＩＮＶＩＴＥトランザクションにおける第１のＩＰ通信装置の動作を示すフロー図である。
【００５０】
ＩＮＶＩＴＥトランザクション３１が開始されると、ＶｏＩＰ制御部２３は、自装置のＮＡＴ環境を解析し、その結果（ここでは、「静的ＮＡＴ環境」、「動的ＮＡＴ環境」または「グローバルＩＰ環境」のいずれか）を自装置のＮＡＴ環境の情報としてＵｓｅｒ−Ａｇｅｎｔヘッダに付加した「ＩＮＶＩＴＥ」メッセージ３２を生成し（ＳＴ１００）、第２のＩＰ通信装置３に対して送出する（ＳＴ１０１）。ここで、Ｕｓｅｒ−Ａｇｅｎｔヘッダには、第１のＩＰ通信装置２が動的ＮＡＴ環境にあることを示す「ＵＡＣ
ＮＡＴ ＤＹＮＡＭＩＣ」が記載される。そこで、第２のＩＰ通信装置３から「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３を受信すると（ＳＴ１０２：ＹＥＳ）、そのメッセージ３３のＵｓｅｒ−Ａｇｅｎｔヘッダの内容を解析して最適なＮＡＴ環境の情報（ここでは、「静的ＮＡＴ環境」、「動的ＮＡＴ環境」または「グローバルＩＰ環境」のいずれか）を選択する（ＳＴ１０３）。ここで、「１８３Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３のＵｓｅｒ−Ａｇｅｎｔヘッダには「ＵＡＳ ＮＡＴ ＳＴＡＴＩＣ」が記載されているので、第２のＩＰ通信装置３のＮＡＴ環境として静的ＮＡＴ環境が選択される。
【００５１】
次に、ＮＡＴ制御部２４は、自装置及び第２のＩＰ通信装置３のＮＡＴ環境の情報からＮＡＴ越えが必要であるか否かを判定する（ＳＴ１０４）。いずれか一方のＮＡＴ環境の情報が「動的ＮＡＴ環境」である場合にＮＡＴ越えが必要となり、お互いが「静的ＮＡＴ環境」か「グローバルＩＰ環境」であればＮＡＴ越えは必要ないと判定される。次に、ＮＡＴ越えが必要である場合には、ＮＡＴ越え機能を実行してＮＡＴ環境に応じたＮＡＴ越え処理を実施する（ＳＴ１０５）。ここでのＮＡＴ越え処理は当業者に周知の方法により実施することが可能であり、例えば、第１のルータ８が「静的ＮＡＴ環境」の場合で、第２のルータが「動的ＮＡＴ環境」の場合においては、第２のＩＰ通信装置３から第１のルータ８の静的ＮＡＴ済みのポート番号にテストパケットを投げる。テストパケットを受信した第１のＩＰ装置１は応答を返すと同時にテストパケット送信ポート番号を知らせる。この送信ポート番号は、第２のＩＰ通信装置３が動的ＮＡＴされたポート番号である。上記のテストパケット制御により第１のＩＰ装置１と第２のＩＰ通信装置３間でのマルチメディアパケットを通すためのトンネルが確立できたことになる。そのＮＡＴ越え機能の実行が成功すると（ＳＴ１０６：ＹＥＳ）、そこで設定されたＮＡＴ情報を取得する（ＳＴ１０７）。一方、ＮＡＴ越えが不要である場合（ＳＴ１０４：ＮＯ）、上記ＳＴ１０５〜ＳＴ１０７の動作は省略される。
【００５２】
そこで、第２のＩＰ通信装置３から「１８０ Ｒｉｎｇｉｎｇ」メッセージ３５を受信すると（ＳＴ１０８：ＹＥＳ）、ＶｏＩＰ制御部２３は、そのメッセージ３５にＳＤＰに基づくマルチメディアセッションに関する情報が付加されているか否かを判定する（ＳＴ１０９）。このとき「１８０ Ｒｉｎｇｉｎｇ」メッセージ３５にマルチメディアセッションに関する情報が付加されていた場合、ＲＴＰ制御部２１は、第２のＩＰ通信装置３に対してＲＴＰパケット（ＮＡＴ越え制御用のパケット）の送信を開始する（ＳＴ１１０）。これにより、次に第２のＩＰ通信装置３から「２００ ＯＫ」メッセージを受信するまでの間において、第２のＩＰ通信装置３が既に実施したＮＡＴ越え処理によるＮＡＴ情報を確実に維持する（例えば、タイムアウトによりＮＡＴテーブルに登録されたエントリが削除されることを防ぐ）ことができる。なお、このとき送信されるＲＴＰパケットにはマルチメディアデータは含まれていない。
【００５３】
その後、第２のＩＰ通信装置３から接続要求の成功を示す「２００ ＯＫ」メッセージ３７を受信すると（ＳＴ１１１：ＹＥＳ）、ＩＮＶＩＴＥトランザクション３１における一連の動作が完了し、ＶｏＩＰ制御部２３が第２のＩＰ通信装置３に対して「ＡＣＫ」メッセージ３８を送信する（ＳＴ１１２）。なお、ＮＡＴ越え機能の実行が失敗した場合（ＳＴ１０６：ＮＯ）、接続をキャンセルするための制御が実行される（ＳＴ１１３）。
【００５４】
図８は、図３に示したＩＮＶＩＴＥトランザクションにおける第２のＩＰ通信装置の動作を示すフロー図である。ここで、第２のＩＰ通信装置３は、図２に示した第１のＩＰ通信装置２の構成と同様の構成を有するものとし、特に言及したもの以外は、第１のＩＰ通信装置２と同様の動作が可能であるものとする。
【００５５】
ＩＮＶＩＴＥトランザクション３１が開始され、第１のＩＰ通信装置２から「ＩＮＶＩＴＥ」メッセージ３２を受信すると（ＳＴ２００：ＹＥＳ）、ＶｏＩＰ制御部２３は、自装置のＮＡＴ環境を解析し、その結果を自装置のＮＡＴ環境の情報としてＵｓｅｒ−Ａｇｅｎｔヘッダに付加した「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３を生成し（ＳＴ２０１）、第１のＩＰ通信装置２に対して送出する（ＳＴ２０２）。ここで、Ｕｓｅｒ−Ａｇｅｎｔヘッダには、第２のＩＰ通信装置３が静的ＮＡＴ環境にあることを示す「ＵＡＳ ＮＡＴ ＳＴＡＴＩＣ」が記載される。この「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」メッセージ３３は、所定の間隔で複数回（ここでは、５００ｍｓ間隔で３回）送出される。続いて、第１のＩＰ通信装置２から受信した「ＩＮＶＩＴＥ」メッセージ３２のＵｓｅｒ−Ａｇｅｎｔヘッダの内容を解析して最適なＮＡＴ環境の情報を選択する（ＳＴ２０３）。
【００５６】
次に、ＮＡＴ制御部２４は、自装置及び第１のＩＰ通信装置２のＮＡＴ環境の情報からＮＡＴ越えが必要であるか否かを判定し（ＳＴ２０４）、ＮＡＴ越えが必要である場合には、ＮＡＴ越え機能を実行してＮＡＴ環境に応じたＮＡＴ越え処理を実施する（ＳＴ２０５）。そのＮＡＴ越え機能の実行が成功すると（ＳＴ２０６：ＹＥＳ）、ＶｏＩＰ制御部２３は、設定されたＮＡＴ情報を取得し（ＳＴ２０７）、そのＮＡＴ情報に基づきマルチメディアセッションに関する情報を付加した「１８０ Ｒｉｎｇｉｎｇ」メッセージ３５を生成する（ＳＴ２０８）。そこで、ＶｏＩＰ制御部２３は、「１８０ Ｒｉｎｇｉｎｇ」メッセージ３５を第１のＩＰ通信装置２に送信する（ＳＴ２０９）。このとき、第２のＩＰ通信装置３では、ユーザ呼び出しのための鳴動動作が実行される。なお、ＮＡＴ越えが不要である場合（ＳＴ２０４：ＮＯ）、ＳＴ２０５〜ＳＴ１０８の動作は省略され、ＳＴ２０９において送信される「１８０ Ｒｉｎｇｉｎｇ」メッセージには、マルチメディアセッションに関する情報は付加されない。
【００５７】
そこで、第１のＩＰ通信装置２においてユーザが所定の応答操作（オフフック）をすると（ＳＴ２１０：ＹＥＳ）、鳴動動作が停止され、ＶｏＩＰ制御部２３は、第１のＩＰ通信装置２に対して接続要求の成功を示す「２００ ＯＫ」メッセージ３７を送出する（ＳＴ２１１）。これにより、ＩＮＶＩＴＥトランザクション３１における一連の動作が完了し、ＶｏＩＰ制御部２３は、第１のＩＰ通信装置２から「ＡＣＫ」メッセージ３８を受信して接続が確立される（ＳＴ２１２）。なお、ＮＡＴ越え機能の実行が失敗した場合（ＳＴ２０６：ＮＯ）、接続をキャンセルするための制御が実行される（ＳＴ２１３）。
【００５８】
なお、設定されたＮＡＴ情報は、所定の時間が経過すると、タイムアウトにより消去されるが、上記ＳＴ２０９とＳＴ２１１との間（即ち、ＳＴ２１０においてユーザが所定の応答操作をするまで）において、第１のＩＰ通信装置２から送出されたＲＴＰパケット（図７のＳＴ１１０）を受信することで、当該ＮＡＴ情報は維持される。
【００５９】
図９は、図３に示したｒｅ−ＩＮＶＩＴＥトランザクションにおける第１のＩＰ通信装置の動作を示すフロー図である。
【００６０】
ｒｅ−ＩＮＶＩＴＥトランザクション４１が開始されると、ＶｏＩＰ制御部２３は、ＮＡＴ越え処理において設定されたＮＡＴ情報に基づき最新のマルチメディアセッションに関する情報を付加した「ＩＮＶＩＴＥ」メッセージ４２を生成し（ＳＴ３００）、第２のＩＰ通信装置３に対して送出する（ＳＴ３０１）。その後、第２のＩＰ通信装置３から接続要求の成功を示す「２００ ＯＫ」メッセージ４３を受信すると（ＳＴ３０２：ＹＥＳ）、ｒｅ−ＩＮＶＩＴＥトランザクション４１における一連の動作が完了し、ＶｏＩＰ制御部２３が第２のＩＰ通信装置３に対して「ＡＣＫ」メッセージ４４を送信する（ＳＴ３０３）。これにより、マルチメディアセッション４５が開始され、マルチメディアデータを含むパケットの送受信が可能となる。
【００６１】
図１０は、図３に示したｒｅ−ＩＮＶＩＴＥトランザクションにおける第２のＩＰ通信装置の動作を示すフロー図である。
【００６２】
ｒｅ−ＩＮＶＩＴＥトランザクション４１が開始され、第１のＩＰ通信装置２から「ＩＮＶＩＴＥ」メッセージ４２を受信すると（ＳＴ４００：ＹＥＳ）、ＶｏＩＰ制御部２３は、その「ＩＮＶＩＴＥ」メッセージ４２のメッセージボディ部（ＳＤＰ）を解析してマルチメディアセッションに関する情報を取得する（ＳＴ４０１）。そこで、ＶｏＩＰ制御部２３は、第１のＩＰ通信装置２に対して接続要求の成功を示す「２００ ＯＫ」メッセージ４３を送出する（ＳＴ４０２）。これにより、ｒｅ−ＩＮＶＩＴＥトランザクション４１における一連の動作が完了し、ＶｏＩＰ制御部２３が第１のＩＰ通信装置２から「ＡＣＫ」メッセージ４４を受信して接続が確立される（ＳＴ４０２）。これにより、マルチメディアセッション４５が開始され、マルチメディアデータを含むパケットの送受信が可能となる。
【００６３】
本発明を特定の実施形態に基づいて詳細に説明したが、これらの実施形態はあくまでも例示であって本発明はこれらの実施形態によって限定されるものではない。例えば、本発明は、ＩＰ通信装置がＮＡＴ機能を有するルータを介さずにＩＰ網に接続された構成を有するＩＰ通信システムに適用することも可能である。また、ＮＡＴ機能を有する中継機器は、必ずしもルータに限らず通信を中継するための同様の機能を有するファイアウォール等でもよい。
【産業上の利用可能性】
【００６４】
本発明のＩＰ通信装置及びその制御方法は、広域ネットワークを介して接続される相手装置と通信を行う場合に、適切なタイミングにて自装置及び相手装置のＮＡＴ環境に応じたＮＡＴ越え処理を実施することが可能であり、ＮＡＴ機能を有する中継機器を介して広域ネットワークに接続されるＩＰ通信装置及びその制御方法として有用である。
【図面の簡単な説明】
【００６５】
【図１】本発明に係るＩＰ通信装置を備えたＩＰ通信システムの概略構成を示すシステム構成図
【図２】図１のＩＰ通信装置の概略構成を示すブロック図
【図３】図１のＩＰ通信システムにおけるＩＰ通信装置間の通信開始手順を示すシーケンス図
【図４】「ＩＮＶＩＴＥ」メッセージの一例を示す図
【図５】「１８３ Ｓｅｓｓｉｏｎ Ｐｒｏｇｒｅｓｓ」」メッセージの一例を示す図
【図６】「１８０ Ｒｉｎｇｉｎｇ」メッセージメッセージの一例を示す図
【図７】図３のＩＮＶＩＴＥトランザクションにおける第１のＩＰ通信装置の動作を示すフロー図
【図８】図３のＩＮＶＩＴＥトランザクションにおける第２のＩＰ通信装置の動作を示すフロー図
【図９】図３のｒｅ−ＩＮＶＩＴＥトランザクションにおける第１のＩＰ通信装置の動作を示すフロー図
【図１０】図３のｒｅ−ＩＮＶＩＴＥトランザクションにおける第２のＩＰ通信装置の動作を示すフロー図
【符号の説明】
【００６６】
１  ＩＰ通信システム
２，３  ＩＰ通信装置
４  ＳＩＰサーバ
５  ＩＰ網（広域ネットワーク）
８，９  ルータ
２１  ＲＴＰ制御部（データ通信手段）
２３  ＶｏＩＰ制御部（情報交換手段）
３４  ＮＡＴ制御部（ＮＡＴ制御手段）
【図１】
0004722623.tif 000002
【図２】
0004722623.tif 000003
【図３】
0004722623.tif 000004
【図４】
0004722623.tif 000005
【図５】
0004722623.tif 000006
【図６】
0004722623.tif 000007
【図７】
0004722623.tif 000008
【図８】
0004722623.tif 000009
【図９】
0004722623.tif 000010
【図１０】
0004722623.tif 000011