以下、図を参照しながら、この発明の装置、方法の一実施形態について説明する。
[通信システムの構成例]
図1は、この発明によるVoIP装置、通信方法の実施形態が適用されたルーターが用いられて形成された通信システムの構成例を説明するための図である。この実施形態の通信システムは、例えば、ある会社(企業)の4つの拠点(支店)A、B、C、Dを、ネットワーク100を通じて接続することにより形成される。
この実施形態において、4つの拠点A、B、C、Dは、例えば、東日本(東京)、西日本(大阪)、北海道(札幌)、九州(福岡)などのように、それぞれが距離の離れた場所に設けられているものとする。また、ネットワーク100は、主にインターネットであるが、拠点A、B、C、Dのそれぞれからインターネットまでを接続する電話網などをも含むものである。
拠点A、B、C、Dのそれぞれにおいては、ルーター3A、3B、3C、3Dを通じて、IP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1)、…が、ネットワーク100に接続にされる。すなわち、各拠点A、B、C、Dにおいて、ルーター3A、3B、3C、3Dと、これらに接続されるIP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1)、…とによって、LANが構成されている。ルーター3A、3B、3C、3Dのそれぞれは、複数のLANをOSI(Open Systems Interconnection)基本参照モデルのネットワーク層で接続し、通過するパケットのIPアドレスを見てパケットを最適な経路に中継するものである。
IP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1)、…のそれぞれは、VoIP(Voice over Internet Protocol)にしたがって、インターネットを通じた音声通話を行うための端末装置である。すなわち、IP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1),…のそれぞれは、自機が接続されたルーター3A、3B、3C、3Dとネットワーク100とを通じて、音声パケットの送受信を行うことができるものである。
また、図1に示すように、この実施形態の通信システムの場合には、拠点Aに主装置1が設けられている。主装置1は、SIP(Session Initiation Protocol)サーバに相当するものであり、ルーター3Aを通じてネットワーク100に接続されている。そして、主装置1は、電話の発信、着信、応答、切断の呼制御を行う。この実施形態の通信システムでは、拠点A、B、C、DのそれぞれのIP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1),…は、主装置1によって呼制御がされる。すなわち、拠点A、B、C、DのIP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1)、…のそれぞれは、主装置1の配下のIP電話端末であり、各拠点間では内線電話として機能することができるようになっている。
さらに、ネットワーク100には、NTP(Network Time Protocol)サーバ200が接続されている。NTPサーバ200は、NTP(Network Time Protocol)で現在時刻のデータを配信しているものである。これにより、ルーター3A、3B、3C、3Dのそれぞれと、IP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1)、…のそれぞれは、時刻合わせを行って、同期が合わせられた例えば20ミリ秒ごとのタイミングで音声パケットの送受信を行うことができるようにされる。
また、この実施形態の通信システムにおいて、各拠点間を接続するネットワーク100は、広く一般に開放されたパブリックネットワークであるインターネットであり、秘匿性の高いセキュアなネットワークではない。このため、この実施形態の通信システムでは、VPN(Virtual Private Network)技術を用いることにより、複数の拠点間を、ネットワーク100を通じて秘匿性高く接続し、安全に通信を行えるようにしている。具体的に、この実施形態の通信システムでは、VPN技術としてIPsec(Security Architecture for Internet Protocol)を用いることにより、カプセル化や暗号化を行って、秘匿性高く通信を行うことができるようにしている。
そして、図1において、点線TC1で示すように、拠点AのIP電話端末2A(1)と拠点BのIP電話端末2B(1)との間で通話を行い、さらに、点線TC2で示すように、拠点AのIP電話端末2A(2)と拠点BのIP電話端末2B(2)との間で通話を行う場合を考える。通常であれば、IP電話端末2A(1)とIP電話端末2B(1)との間で送受信される音声パケットと、IP電話端末2A(2)とIP電話端末2B(2)との間で送受信される音声パケットとは、それぞれが別々に送受信の対象となる。
すなわち、拠点Aのルーター3Aと拠点Bのルーター3Bとの間では、IP電話端末2A(1)とIP電話端末2B(1)との間の音声パケットとIP電話端末2A(2)とIP電話端末2B(2)との間の音声パケットとが別個に送受信される。したがって、ルーター3Aとルーター3Bとの間に接続される通話セッション(通話路)が増えるほど、ルーター3Aとルーター3Bとのそれぞれにおいて、送受信される音声パケットの数は増え、処理にかかる負荷は大きくなる。
ここでは、ルーター3Aに接続されたIP電話端末とルーター3Bに接続されたIP電話端末との間で通話セッションを接続する場合を例にして説明したが、他のルーター間においても同様のことは発生する。特に、VPN技術として例えばIPsecなどを用いる場合には、送信する音声パケットごとに暗号化処理などを行わなければならないし、受信する音声パケットごとに復号化処理などを行わなければならない。この暗号化や復号化などの処理は、ルーター3A、3B、3C、3Dのそれぞれで行われるため、ルーター3A、3B、3C、3Dのそれぞれにかかる負荷が増大する。
そこで、この実施形態のルーター3A、3B、3C、3Dのそれぞれにおいて、自機に接続された複数のIP電話端末が、他の一のルーターに接続された複数のIP電話端末と通話をしている場合には、音声パケットを結合して送受信する。ここで、他の一のルーターとは、自機以外の1つのルーターを意味する。すなわち、図1に点線で示したように、ルーター3Aとルーター3Bとの間に2つの通話セッションが接続されている場合には、ルーター3Aを自機とすれば、ルーター3Bが他の一のルーターとなる。
したがって、いずれが発信元か受信先かにかかわらず、拠点間に複数の通話セッションが接続された場合、当該拠点のそれぞれのルーターでは、配下のIP電話端末から送信する音声パケットを、1つのパケットに結合して結合パケットとして送信する。また、当該拠点のそれぞれのルーターでは、受信した結合パケットから、配下のIP電話端末のそれぞれに提供する音声パケットを分離して、それぞれのIP電話端末に提供する。
これにより、拠点間で送受信される音声パケットの数を減らすことができ、当該拠点に配置されているルーターの負荷を軽減することができるようにしている。特に、IPsecを用いる場合には、送信する音声パケットには暗号化処理を、受信した音声パケットについては復号化処理を行わなければならない。しかし、送受信する音声パケットの数自体を減らすことができるので、暗号化処理や復号化処理を減らすことができ、ルーターの負荷を大幅に軽減できる。
次に、この実施形態の通信システムを構成する主装置1、IP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1)、…、ルーター3A、3B、3C、3Dの構成例について説明する。なお、IP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1)、…のそれぞれは、同様に構成されるものである。このため、特に区別して示す場合を除き、IP電話端末2A(1)、…、2B(1)、…、2C(1)、…、2D(1)、…については、IP電話端末2と総称する。また、ルーター3A、3B、3C、3Dのそれぞれも同様の構成を有するものである。このため、特に区別して示す場合を除き、ルーター3A、3B、3C、3Dについては、ルーター3と総称する。
[主装置1の構成例]
図2は、この実施形態の通信システムで用いられる主装置1の構成例を説明するためのブロック図である。図2に示すように、主装置1は、LAN接続端子101、LANインターフェース(以下、LANI/Fと記載する。)102、アドレス管理データベース(以下、アドレス管理DBと記載する。)103、アドレス管理部104、呼制御部105、制御部110を備える。
制御部110は、この実施の形態の主装置1の各部を制御するものであり、図2に示すように、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113がシステムバス114を通じて接続されて構成されたコンピュータ装置部である。ここで、CPU111は、ROM112に記憶保持されているプログラムを実行することにより、各部を制御するための制御信号を生成して各部に供給したり、各部からの情報を処理したりするものである。ROM112は、上述のように、CPU111で実行される種々のプログラムや処理に必要となる種々のデータを記憶保持しているものである。
また、RAM113は、処理の途中結果を一時記憶するなど、主に、作業領域として用いられるものである。なお、図示しないが、例えば、EEPROM(Electrically Erasable and Programmable ROM)やフラッシュメモリーなどのいわゆる不揮発性メモリを備え、電源が落とされても保持しておくべきデータ、例えば、種々の設定パラメータや機能アップのために提供された新たなプログラムなどについても記憶保持することができるようにされている。
そして、この実施形態の主装置1は、LAN接続端子101及びLANI/F102を通じて、図1にも示したように拠点Aのルーター3Aを介してネットワーク100に接続されている。これにより、拠点A、B、C、Dのそれぞれの通信装置は、ネットワーク100を通じて主装置1にアクセスすることができるようにされている。
すなわち、LAN接続端子101はLANへの接続端部を構成する。LANI/F102は、LANを通じて供給されるパケットを受け付けて、これを自機において処理可能な形式のパケットに変換して制御部110に供給する。また、LANI/F102は、制御部110を通じて供給される送信すべきパケットを送信用の形式のパケットに変換して、これをLANに送出する。
アドレス管理DB103は、レジストラ・サーバ機能を実現するために、ネットワーク100に接続され、この主装置1を通じて呼び出す可能性のある端末装置についてのアドレス情報を記憶保持する。アドレス管理部104は、制御部110の制御の下、アドレス管理DB103へのアドレス情報の追加、変更、削除を行う。
具体的には、主装置1の制御部110は、ネットワーク100を通じて、これらに接続されている種々の端末装置からの登録要求(レジスタ・リクエスト)などのアドレス情報に関する要求を受信すると、これをアドレス管理部104に供給する。アドレス管理部104は、これに供給されたアドレス情報に関する要求に含まれるURI(Uniform Resource Identifier)やIPアドレスなどのアドレス情報を抽出する。そして、アドレス管理部104は、供給された要求に応じて、抽出したアドレス情報をアドレス管理DB103に登録したり、抽出したアドレス情報を用いてアドレス管理DB103の登録情報を更新したり、また、抽出したアドレス情報に対応する情報をアドレス管理DB103から削除したりする。
このようにして、アドレス管理DB103に登録されて管理される情報が参照され、自機にLANやネットワーク100を通じて接続されるIP電話端末2などから要求のあった通信先を確実に特定する。そして、その特定した相手先に送信すべき情報(パケットデータ)を転送するようにするプロキシ・サーバとしての機能を主装置1が実現する。また、アドレス管理DB103に登録されて管理される情報は、自機にLANやネットワーク100を通じて接続される配下のIP電話端末2などへの着信の判別などにも用いられる。
図3は、主装置1のアドレス管理DB103に形成される管理情報(データベース)の構成例について説明するための図である。主装置1のアドレス管理DB103は、ネットワーク100に接続された拠点B、C、DのIP電話端末2B(1)、…、2C(1)、…、2D(1)、…の他、ルーター3Aを通じてLAN接続されたIP電話端末2A(1)、…などについてのアドレス情報をも管理する。
基本的に、主装置1のアドレス管理DB103で管理されるアドレス情報は、ネットワーク100を通じて接続される、あるいは、LAN接続される端末装置から送信されてくる、内線番号、IPアドレス、ポート番号、拠点IDなどである。図3に示した例の場合、内線番号が「101」の端末装置は、IPアドレスが「192.168.1.10」であり、ポート番号が「5060」であり、拠点Aに配置されている端末装置であることが登録されている。
なお、ポート番号は、TCP/IP通信において、端末装置が通信に使用するプログラムを識別するための番号であり、このポート番号により音声パケットを処理するプログラムを用いることが特定される。具体的に、内線番号が「101」の端末装置は、拠点Aの例えばIP電話端末2A(1)に割り当てられたものであり、アドレス管理DB103の情報により、当該IP電話端末2A(1)のIPアドレスやポート番号が特定できる。
また、IPアドレスは4バイト(32ビット)の情報であり、3バイト目までの情報で、ルーターが特定でき、4バイト目までの情報で、そのルーターに接続されたIP電話端末までが特定できるようになっている。そして、アドレス管理DB103には、図3に示した情報以外にも、例えば、端末装置ごとにURI(Uniform Resource Locator)やMAC(Media Access Control)アドレスなどの情報を管理することもできる。
呼制御部105は、アドレス管理DB103の管理情報を用い、電話の発信、着信、応答、切断の呼制御を行う。例えば、ルーター3Aに接続されたIP電話端末2A(1)からルーター3Bに接続されたIP電話端末2B(1)に対する発信要求(発呼要求)を主装置1が受け付けたとする。まず、主装置1の呼制御部105は、当該発信要求を自機のメモリに登録する。この発信要求には、発信元と着信先の内線番号が含まれているので、呼制御部105は、制御部110の制御の下、アドレス管理DB103の管理情報に基づいて、目的とする相手先であるIP電話端末2B(1)のIPアドレスを特定する。そして、呼制御部105は、特定したIPアドレスを用いて、着信先のIP電話端末2B(1)に対して、着信要求(着信要求メッセージ)を転送する。
この転送された着信要求がIP電話端末2B(1)で受信されると、IP電話端末2B(1)では、呼び出し音の放音や着信を示すLED(Light Emitting Diode)の点滅を行い、使用者に着信があることを通知する。これに応じて、IP電話端末2B(1)の使用者が、使用者が応答操作を行うと、着信先のIP電話端末2B(1)は、発信元のIP電話端末2A(1)に対する着信応答を形成して返信する。主装置1の呼制御部105は、当該着信応答を自機のメモリに登録し、当該着信応答(着信応答メッセージ)を、発信元のIP電話端末2A(1)に転送して、IP電話端末2A(1)とIP電話端末2B(1)との間に通話セッションを接続する。これにより、IP電話端末2A(1)とIP電話端末2B(1)との間で音声パケットの送受信が行えるようになる。すなわち、通話が行えるようになる。
この後、IP電話端末2A(1)とIP電話端末2B(1)との内のいずれかが、通話セッションを切断する操作であるいわゆるオンフック操作を行うと、そのオンフック操作が行われたIP電話端末から切断要求が送信されて来る。主装置1の呼制御部105は、これを自機のメモリに登録し、これに応じた切断要求(切断要求メッセージ)を、他方の相手先のIP電話端末に転送する。相手方のIP電話端末では、当該切断要求に応じて切断応答を形成して返信して来るので、主装置1の呼制御部105は、これを自機のメモリに登録し、切断要求元のIP電話端末に転送する。そして、呼制御部105は、IP電話端末2A(1)とIP電話端末2B(1)との間に接続した通話セッションを切断(開放)する。
このように、呼制御部105は、呼制御を行うことによって、通話セッションを接続し、通話を行えるようにしたり、接続した通話セッションを切断(開放)して、通話を完了させるようにしたりする。なお、ここでは、図1に示した通信システム内のIP電話端末間で通話を行う場合を例にして説明した。しかし、これに限るものではない。図1に示した通信システム内のIP電話端末から当該通信システム外の電話端末に電話を掛ける場合や、図1に示した通信システム外の電話端末から当該通信システム内のIP電話端末に電話が掛かってくる場合もある。このような場合にも、主装置1の呼制御部105は、適切にメッセージを転送し、通話セッションの接続、開放を行うことができる。
なお、発信に際して、IP電話番号が用いられる場合には、図1には図示しなかったが、ネットワーク100に接続されているゲートウェイやDNS(Domain Name System)が利用されて、IP電話番号からURIやIPアドレスなどが検索されて用いられる。また、相手先から、この実施の形態の通信システムに接続されたIP電話端末2に対して、IP電話番号を用いて電話をかける場合においても同様に、ネットワーク100に接続されているゲートウェイやDNSが利用されて、IP電話番号からURIやIPアドレスなどが検索されて用いられる。
このように、この実施の形態の主装置1は、主装置1が接続される種々のネットワークに接続される端末間のメッセージの中継を行うことができるものである。したがって、この実施の形態の主装置1は、外線−内線間の接続や内線間の接続を行ったり、通信回線の使用状況を図1に示した通信システムに接続された配下のIP電話端末2に通知したりすることもできるものである。
また、制御部110は、ネットワーク100、LANを通じて、使用中の通信回線や空いている通信回線を把握し、適切に回線交換を行うこともできるようにしている。また、制御部110は、把握した通信回線の使用状態等に応じて、図1に示した通信システムのIP電話端末ごとに供給すべきLED等の点灯、消灯を制御するための制御情報を形成する。当該制御情報は、ネットワーク100やLANを通じて、当該通信システムに接続された各IP電話端末2等に送信される。
なお、図2において、アドレス管理部104や呼制御部105は、独立した回路部分として示しているが、これに限るものではない。アドレス管理部104や呼制御部105は、制御部110において実行されるプログラムにより、制御部110の機能として実現することももちろん可能である。
[IP電話端末2の構成例]
図4は、この実施形態の通信システムで用いられるIP電話端末2の構成例を説明するためのブロック図である。この実施の形態のIP電話端末2は、図4に示すように、LAN接続端子201T、LANI/F201、パケット処理部202、コーデック203、ハンドセット204、リンガ205を備える。さらに、IP電話端末2は、NTP同期部206、操作入力I/F207、操作部208、ディスプレイコントローラ209、ディスプレイ210を備える。また、IP電話端末2は、各部を制御する制御部220を備える。
制御部220は、図示しないが、CPU、ROM、RAMなどがCPUバスを通じて接続されて形成されたコンピュータ装置部である。NTP同期部206は、ネットワーク100に接続されているNTPサーバ200にアクセスし、他のIP電話端末やルーターなどとの間で、音声パケットを送受する例えば20ミリ秒ごとのタイミングの同期を合わせる処理を行う。そして、制御部220の制御の下、IP電話端末2の各部が機能することによって、掛かってきた電話に応答して通話したり、目的とする相手先に電話をかけて通話したりすることができるようにされる。以下、着信時と発信時とに分けて、各部の動作について説明する。
[着信時の動作]
ルーター3を介して送信されてくるパケットデータ(以下、パケットと記載する)は、LAN接続端子201Tを通じてLANI/F201に供給され、ここで自機において処理可能な形式のデータに変換された後、パケット処理部202に供給される。パケット処理部202は、供給されたパケットに含まれる制御データや音声データを分解して抽出する。ここで抽出された制御データは制御部220に供給され、自機の制御に用いられる。また、自機(自端末)宛の音声データが含まれていた場合には、当該音声データは、コーデック203に供給される。
パケット処理部202において分解されて抽出された制御データが、自機への着信要求である場合には、制御部220は、リンガ205を制御して、呼び出し音を放音させる。同時に、制御部220は、ディスプレイコントローラ209を制御し、ディスプレイ210の表示画面に自機に着信があることを通知するメッセージや発信元の電話番号や名前あるいは発信元の内線番号などを表示する。この他、制御部220が機能し、図示しない着信通知用LEDを点滅させるなどのことも行われる。
そして、自機への着信に応じて、使用者がハンドセット204をIP電話端末2の本体から持ち上げるなどのいわゆるオフフック操作がされると、当該IP電話端末2はオフフック状態となる。この場合、制御部220は、着信に応答するメッセージ(着信応答)を形成し、これをパケット処理部202においてパケット化して、LANI/F201に供給する。LANI/F201は、当該パケットを送信用のパケットに変換し、これをLAN接続端子201Tを通じて送出し、ルーター3及び主装置1を通じて、発呼元の端末に送信するようにする。
これにより、上述もしたように、主装置1が呼制御を行って、相手先との間で必要となるメッセージを送受信することで通話セッションが接続され、発信元との間において、通話ができるようにされる。この場合、相手先からの音声データを含むパケットは、上述もしたように、LAN接続端子201T、LANI/F201を通じて、パケット処理部202に供給される。パケット処理部202は、相手先からのパケットをパケット分解し、制御データは制御部220へ、音声データはコーデック203に供給する。コーデック203は、パケット処理部202からの音声データを圧縮伸長し、これをアナログ音声信号に変換して、ハンドセット204のスピーカ(受話器)に供給する。これにより、相手先から送信されてくる相手先の音声が、ハンドセット204のスピーカから放音される。
一方、ハンドセット204のマイクロホン(送話器)によって集音された音声は、ここで電気信号に変換され、コーデック203に供給される。コーデック203は、ハンドセット204のマイクロホンからの音声データをデジタル信号に変換し、これを符号化してデータ圧縮し、これをパケット処理部202に供給する。パケット処理部202は、コーデック203からの音声データを含む相手先への送信用の音声パケットを形成し、これをLANI/F201、LAN接続端子201Tを通じて送出し、ルーター3を通じて通信の相手先に送信する。このようにして、IP電話端末2は、自機への着信に応答し、発呼先との間で通話セッションを接続して通話を行うことができる。
[発呼時の動作]
次に、当該IP電話端末2から電話をかける場合の処理について説明する。IP電話端末2から発信する場合には、まず、ハンドセット204をIP電話端末2の本体から持ち上げるなどの、いわゆるオフフック操作を行って、IP電話端末2をオフフック状態にし、操作部208を通じて通話の相手先の電話番号、あるいは、内線番号を入力する。ここで入力された情報は、操作入力I/F207を通じて制御部220に供給される。
すると、制御部220は、発信要求を形成し、これをパケット処理部202に供給する。パケット処理部202は、自機からの発信要求をパケット化し、これをLANI/F201、LAN接続端子201Tを通じて送出し、ルーター3及び主装置1を介して、目的とする通信の相手先に送信するようにする。
この後、目的とする相手先からの着信に応答するメッセージが返信されて来ると、通信セッションが接続される。これにより、上述したように、LAN接続端子201T、LANI/F201、パケット処理部202、コーデック203、ハンドセット204の各部が機能し、通話を行うことができるようにされる。このように、IP電話端末2は、自機から目的とする相手先に発信して、相手先との間に通話セッションを接続して通話を行うこともできる。
なお、図4において、パケット処理部202、コーデック203、NTP同期部206は、独立した回路部分として示しているが、これに限るものではない。パケット処理部202、コーデック203、NTP同期部206は、制御部220において実行されるプログラムにより、制御部220の機能として実現することももちろん可能である。
[ルーター3の構成例]
図5は、この実施形態の通信システムで用いられるルーター3の構成例を説明するためのブロック図である。この実施の形態のルーター3は、図5に示すように、複数のLAN接続端子301T(1)、301T(2)、…、複数のLANI/F301(1)、301(2)、…、複数のパケット処理部302(1)、302(2)、…を備える。さらに、ルーター3は、結合判定部303、結合/分離処理部304、NTP同期部305、ヘッダ処理部306、暗号化/復号化部307、複数のWANI/F308(1)、308(2)、…、複数のWAN接続端子308T(1)、308T(2)、…を備える。また、ルーター3は、各部を制御する制御部310を備える。
制御部310は、図示しないが、CPU、ROM、RAMなどがCPUバスを通じて接続されて形成されたコンピュータ装置部である。NTP同期部305は、ネットワーク100に接続されているNTPサーバ200にアクセスし、他のIP電話端末やルーターなどとの間で、音声パケットを送受する例えば20ミリ秒ごとのタイミングの同期を合わせるようにする処理を行う。そして、ルーター3は、制御部310の制御の下、各拠点A、B、C、Dに構成されるLANをOSI基本参照モデルのネットワーク層で接続し、通過するパケットのIPアドレスを見てパケットを最適な経路に中継する。
この実施形態のルーター3は、複数のLAN接続端子301T(1)、301T(2)、…、複数のLANI/F301(1)、301(2)、…、複数のパケット処理部302(1)、302(2)、…を備えることにより、複数のIP電話端末2が接続可能である。これにより、ルーター3は、これに接続される複数のIP電話端末2と共に、LANを構成する。そして、ルーター3を接続端として用いて、各拠点A、B、C、D内に形成されるLANは、ネットワーク100に接続される。
具体的に、LAN接続端子301T(1)、301T(2)、…のそれぞれは、LANシステムを構成するIP電話端末2やパーソナルコンピュータなどの通信機器の接続端を構成する。LANI/F301(1)、301(2)、…は、自機からLANに送信するパケット(データ)をLANへの送信用の形式のパケットに変換し、LAN接続端子301T(1)、301T(2)、…を通じてLANに送出する。また、LANI/F301(1)、301(2)、…は、LANを通じて送信されて来るパケットを、自機で処理可能な形式のパケットに変換し、パケット処理部302(1)、302(2)、…に供給する。
パケット処理部302(1)、302(2)、…は、自機から送信するデータをパケット化して、LANI/F301(1)、301(2)、…に供給する。また、パケット処理部302(1)、302(2)、…は、LANI/F301(1)、301(2)、…からのパケットを分解して必要なデータを抽出する。
このように、LAN接続端子301T(1)、301T(2)、…、LANI/F301(1)、301(2)、…、パケット処理部302(1)、302(2)、…からなる部分は、LANを通じて自機に接続された機器との間でデータの送受信を行う部分となる。
また、WAN接続端子308T(1)、308T(2)、…のそれぞれは、ネットワーク100への接続端を構成する。複数のWAN接続端子308T(1)、308T(2)、…が設けられているのは、複数の通信回線の収容が可能であることを意味している。WANI/F308(1)、308(2)、…は、自機からネットワーク100に送信するパケットをネットワーク100への送信用の形式のパケットに変換し、WAN接続端子308T(1)、308T(2)、…を通じてネットワーク100に送出する。また、WANI/F308(1)、308(2)、…は、ネットワーク100を通じて送信されて来るパケットを、自機で処理可能な形式のパケットに変換し、自機に取り込む。
このように、WAN接続端子308T(1)、308T(2)、…、WANI/F308(1)、308(2)、…からなる部分は、ネットワーク100を通じたパケットの送受信を行う部分となる。
なお、以下の説明においては、LAN接続端子301T(1)、301T(2)、…と、LANI/F301(1)、301(2)、…と、パケット処理部302(1)、302(2)、…とは、特に区別して示す場合を除き、LAN接続端子301T、LANI/F301、パケット処理部302と記載する。同様に、WAN接続端子308T(1)、308T(2)、…と、WANI/F308(1)、308(2)、…とは、特に区別して示す場合を除き、WAN接続端子308T、WANI/F308と記載する。
そして、ルーター3は、自機と他の一のルーターとの間に複数の通話セッションが接続された場合には、各通話セッションの音声パケットをそのまま送受信するものではない。上述したように、ルーター3は、自機と他の一のルーターとの間に複数の通話セッションが接続された場合には、自機に接続されたIP電話端末2からの複数の音声パケットを結合して1つの結合パケットとして送信する。また、受信した結合パケットについては、自機に接続された複数のIP電話端末ごとに分離し、各IP電話端末に供給する。
このため、制御部310の制御の下、結合判定部303が機能し、音声パケットを結合する必要があるのか否かを判定する。具体的に、結合判定部303は、LAN接続端子301T、LANI/F301、パケット処理部302を通じて受け付けた複数の音声パケットの相手先(宛先)IPアドレスを確認する。そして、結合判定部303は、受け付けた当該複数の音声パケットの相手先が、他の一のルーター3に接続された異なるIP電話端末宛てであった場合に、音声パケットの結合処理を行うと判定する。すなわち、結合判定部303は、自機と、他の一のVoIP装置3との間に、複数の通話セッションが接続されたか否かを判別する。より具体的には、自機がルーター3Aである場合に、ルーター3Bとの間に複数の通話セッションが接続されたか否かを、結合判定部303が判別する。
結合判定部303で音声パケットの結合処理を行うと判定された場合には、制御部310の制御の下、結合/分離処理部304が機能し、送信先(相手先)が同じルーター(他の一のルーター)に接続された異なるIP電話端末のそれぞれに対する音声パケットを結合する。この場合、結合/分離処理部304は、結合する各音声パケットのヘッダ部から共通化した共通ヘッダを形成し、この共通ヘッダに、結合する各音声パケットの音声データ部分を、分離可能に結合して結合パケットを形成する。
そして、結合パケットの共通ヘッダは、用いられる通信プロトコルに応じたものであり、当該共通ヘッダからは、通常の音声パケットのヘッダ部以上の情報は提供できない。また、結合パケットは、複数のIP電話端末2からの音声パケットが結合されているが、共通ヘッダの情報によっては、通常、結合パケットか否かの判別はできない。また、共通ヘッダの情報によっては、発信元については、発信元のIP電話端末が接続されたルーターまでしか特定できないし、相手先(宛先)についても、相手先(宛先)のIP電話端末が接続されたルーターまでしか特定できない。
そこで、結合/分離処理部304で形成された結合パケットに対しては、ヘッダ処理部306で拡張ヘッダを付加する。ここで、拡張ヘッダは、結合フラグ、送信元ID、相手先(宛先)ID、ペイロードチャンネル数、ペイロード長、その他の必要情報からなる。結合フラグは、当該パケットが結合パケットであることを示す固有情報である。送信元IDは、送信元のIP電話端末を特定する識別情報であり、例えば内線番号やIPアドレスなどである。相手先(宛先)IDは、相手先のIP電話端末を特定する識別情報であり、例えば内線番号やIPアドレスなどである。ペイロードチャンネル数は、結合した音声データ(ペイロード)の数であり、ペイロード長は、結合した音声データのデータ長である。なお、ペイロード長が固定の場合には、ペイロード長は必要ない。この他、必要な情報があれば、その他の必要情報として付加することもできる。
このようにして拡張ヘッダを付加した結合パケットを秘匿性高く送信するために、暗号化/復号化部307は、拡張ヘッダを付加した結合パケットに対して、IPsecのヘッダを付加してカプセル化し、さらに暗号化を施す。このようにして、カプセル化されて暗号化されたトンネルモードの結合パケットが、WANI/F308で送信用の形式に変換され、WAN接続端子308Tを通じてネットワーク100に送出されて、相手先のルーターに送信される。
一方、ネットワーク100を通じて送信されて来る自機あてのパケットは、WAN接続端子308T及びWANI/F308を通じて受信され、ここで自機が処理可能な形式に変換された後に、暗号化/復号化部307に供給される。受信したパケットは暗号化されていると共にカプセル化されているので、暗号化/復号化部307は、制御部310の制御の下、これを復号化処理すると共に、カプセル化を解除する。暗号化/復号化部307で復号化されると共に、カプセル化が解除されたパケットは、ヘッダ処理部306に供給される。
ヘッダ処理部306は、制御部310の制御の下、これに供給されたネットワーク100からのパケットの所定の位置に拡張フラグが存在するか否かに応じて、拡張ヘッダが付加されているか否かを判別する。拡張ヘッダが付加されている場合には、当該拡張ヘッダを抽出し、この抽出した拡張ヘッダと結合パケットとを結合/分離処理部304に供給する。
結合/分離処理部304は、ヘッダ処理部306からの結合パケットから、共通ヘッダや各ペイロード(音声データ)を分離する。そして、結合/分離処理部304は、抽出された拡張ヘッダの情報に基づいて、分離した共通ヘッダと各ペイロードをとから、自機に接続されたIP電話端末2に供給する音声パケットを構成するヘッダ部を再構成し、このヘッダ部とペイロードとを、対応するIP電話端末2が接続されているパケット処理部302に供給する。
これにより、パケット処理部302において、接続されているIP電話端末2に提供する音声パケットを再構成し、これをLANI/F301に供給する。LANI/F301は、パケット処理部302からのパケットを送信する形式に変換して、これをLAN接続端子301Tを通じてLANに送出し、目的とするIP電話端末2に提供する。
このようにして、この実施形態のルーター3は、自機と他の一のルーターとの間に複数の通話セッションが接続された場合には、自機に接続されたIP電話端末2からの複数の音声パケットを結合して1つの結合パケットとして送信することができる。また、受信した結合パケットについては、自機に接続された複数のIP電話端末ごとに分離し、各IP電話端末に供給することができる。
なお、結合パケット以外のパケットについては、結合/分離処理部304及びヘッダ処理部306は機能することなく、従来通り、通話セッションが接続されたIP電話端末2間で送受信することができるようにされる。
[通信システムの動作の概要]
図6、図7は、この実施形態の通信システムにおいて、通話セッションを接続し、通話を行う場合の動作について説明するためのシーケンス図である。ここでは、説明を簡単にするため、拠点Aのルーター3Aに接続されているIP電話端末2A(1)、2A(2)から拠点Bのルーター3Bに接続されているIP電話端末2B(1)、2B(2)に電話を掛けて通話を行う場合を例にして説明する。
ネットワーク100には、上述もしたように、NTPサーバ200が設けられている。このため、拠点Aのルーター3A、IP電話端末2A(1)、2A(2)のそれぞれは、NTPサーバ200にアクセスし、パケットを生成して送信する周期の同期合わせを行う(ステップS1、S2、S3)。同様に、拠点Bのルーター3B、IP電話端末2B(1)、2B(2)のそれぞれは、NTPサーバ200にアクセスし、音声パケットを生成して送信する周期の同期合わせを行う(ステップS4、S5、S6)。
このようにして、これらの機器間では、同期が合わせられた周期で、音声パケットを生成して送信することができる。なお、音声パケットを生成して送信する周期は、20〜60ミリ秒の周期とされ、一般には20ミリ秒の周期とされる場合が多い。このようにすることによって、音声パケットの送信遅延を大きくすることなく、音声パケットを適切に送信することができる。
そして、拠点AのIP電話端末2A(1)を通じて、拠点Bの電話端末2B(1)に対して、電話が掛けられたとする(ステップS7)。この場合、拠点AのIP電話端末2A(1)からの発信要求は、ルーター3Aを通じて主装置1に送信される。主装置1はIP電話端末2A(1)からの発信要求を自機に登録すると共に、相手先(宛先)であるIP電話端末2B(1)のIPアドレスを特定して、着信要求をIP電話端末2B(1)に転送する。
これにより、IP電話端末2B(1)では、着信要求を受信すると着信鳴動や着信表示を行うなどして着信を使用者に通知する。これに応じて、IP電話端末2B(1)では、使用者からの応答操作を受け付けると、着信応答を形成して発信元のIP電話端末2A(1)に送信する(ステップS8)。この着信応答は、ルーター3B及びルーター3Aを通じて、主装置1に送信される。主装置1は、IP電話端末2B(1)からの着信応答を自機に登録し、着信応答に応じた着信応答を発信元のIP電話端末2A(1)に転送する。
このとき、発信元のIP電話端末2A(1)が接続されたルーター3Aでは、自機とルーター3Bとの間に複数の通話セッションが接続されており、音声パケットの結合が必要か否かを判定する(ステップS9)。このステップS9の結合判定は、自機から送出する音声パケットであって、拠点Bのルーター3Bに接続された異なるIP電話端末宛ての音声パケットが存在するか否かにより判別可能である。
また、上述したように、主装置1にルーター3Aに接続された異なるIP電話端末からの発信要求と、これに応じたルーター3Bに接続された異なるIP電話端末からの着信応答とが登録される。これにより、どのルーターに接続されたIP電話端末間に通話セッションが接続されたかを把握できるため、この主装置1で管理される接続された通話セッションの状態に応じて、ルーター3Aとルーター3Bとの間に複数の通話セッションが接続されているか否かを判別することもできる。
ステップS9の結合判定処理では、まだ、ルーター3Aに接続されたIP電話端末2A(1)とルーター3Bに接続されたIP電話端末2B(1)との間においてだけ通話を行う環境が整えられただけであるので、結合は不要であると判定される。この場合、主装置1は、IP電話端末2A(1)とIP電話端末2B(1)との間に通話セッションを接続してこれを登録し、通常通り、単独の音声パケットを相互に送受信して、通話を行うようにする(ステップS10)。
この後、拠点AのIP電話端末2A(2)を通じて、拠点Bの電話端末2B(2)に対して、電話が掛けられたとする(ステップS11)。この場合、拠点AのIP電話端末2A(2)からの発信要求は、ルーター3Aを通じて主装置1に送信される。主装置1はIP電話端末2A(2)からの発信要求を自機に登録すると共に、相手先(宛先)であるIP電話端末2B(2)のIPアドレスを特定して、着信要求を形成し、IP電話端末2B(2)に転送する。
これにより、IP電話端末2B(2)では、着信要求を受信すると着信鳴動や着信表示を行うなどして着信を使用者に通知する。これに応じて、IP電話端末2B(2)では、使用者からの応答操作を受け付けると、着信応答を形成して発信元のIP電話端末2A(2)に送信する(ステップS12)。この着信応答は、ルーター3B及びルーター3Aを通じて、主装置1に送信される。主装置1は、IP電話端末2B(2)からの着信応答を自機に登録し、これに応じた着信応答を発信元のIP電話端末2A(2)に転送する。
このとき、発信元のIP電話端末2A(2)が接続されたルーター3Aでは、自機とルーター3Bとの間に複数の通話セッションが接続されており、音声パケットの結合が必要か否かを判定する(ステップS13)。このステップS13の結合判定は、上述したステップS9の結合判定処理と同様の処理である。ステップS13の結合判定処理では、ステップS10において、ルーター3Aに接続されたIP電話端末2A(1)とルーター3Bに接続されたIP電話端末2B(1)との間に通話セッションが接続されていることから、当該ルーター間に接続される複数の通話セッションの音声パケットの結合が必要であると判定できる。
この場合、図7の処理に進み、発信元のIP電話端末2A(2)が接続されているルーター3Aから、相手先(宛先)のIP電話端末2B(2)が接続されているルーター3Bに対して、音声パケットの結合要求を送信する(ステップS14)。そして、結合要求を受信したルーター3Bは、自機が動作不能などの不都合がなければ、結合応答をルーター3Aに返信する(ステップS15)。これにより、ルーター3Aとルーター3Bとの間では、結合パケットの送受信が行われ、ルーター3A、3Bのそれぞれは、配下のIP電話端末2との間において、従来通りの個別の音声パケットの送受信が行うようにされる(ステップS16、ステップS17)。
すなわち、拠点Aのルーター3Aでは、配下のIP電話端末2A(1)とIP電話端末2A(2)からの音声パケットは結合して結合パケットとして拠点Bのルーター3Bに向けて送信する。同様に、拠点Bのルーター3Bでは、配下のIP電話端末2B(1)とIP電話端末2B(2)からの音声パケットは結合して結合パケットとして拠点Aのルーター3Aに向けて送信する。
また、拠点Aのルーター3Aでは、拠点Bのルーター3Bからの結合パケットは、分離処理を行って、配下のIP電話端末2A(1)とIP電話端末2A(2)に対する音声パケットのそれぞれを抽出する。そして、ルーター3Aは、IP電話端末2A(1)に対する音声パケットは、IP電話端末2A(1)だけに提供し、IP電話端末2A(2)に対する音声パケットは、IP電話端末2A(2)だけに提供する。
同様に、拠点Bのルーター3Bでは、拠点Aのルーター3Aからの結合パケットは、分離処理を行って、配下のIP電話端末2B(1)とIP電話端末2B(2)に対する音声パケットのそれぞれを抽出する。そして、IP電話端末2B(1)に対する音声パケットは、IP電話端末2B(1)だけに提供し、IP電話端末2B(2)に対する音声パケットは、IP電話端末2B(2)だけに提供する。
これにより、拠点Aのルーター3Aと拠点Bのルーター3Bとの間で送受されるパケットの数は、この例の場合、半分に減らせることになる。なお、拠点Aのルーター3Aと拠点Bのルーター3Bとの間で接続される通話セッションが多くなればなるほど、拠点Aのルーター3Aと拠点Bのルーター3Bとの間で送受されるパケットの数は減らせることになる。すなわち、拠点Aのルーター3Aと拠点Bのルーター3Bとの間で接続される通話セッションが3つの場合には、ルーター3Aとルーター3Bとの間で送受されるパケットの数は3分の1になる。同様に、拠点Aのルーター3Aと拠点Bのルーター3Bとの間で接続される通話セッションが4つの場合には、ルーター3Aとルーター3Bとの間で送受されるパケットの数は4分の1になる。
この後、通話を行っている拠点Aのルーター3Aに接続されたIP電話端末2A(1)において、オンフック操作が行われたとする。この場合、IP電話端末2A(1)は切断要求を送信し(ステップS18)、これがルーター3Aを介して主装置1に提供される。主装置1はこれを自機に登録し、切断要求を通話の相手先のIP電話端末2B(1)に転送する。
これに応じて、通話の相手先であったIP電話端末2B(1)においても、オフフック操作がなされ、これに応じて切断応答が形成されて送信される(ステップS19)。この場合、切断応答は、ルーター3B及びルーター3Aを通じて主装置1に提供され、主装置1は、切断応答を登録し、切断応答をIP電話端末2A(1)に転送する。これにより、IP電話端末2A(1)とIP電話端末2B(1)との間に接続されていた通話セッションは切断(開放)される。
このとき、IP電話端末2A(1)とIP電話端末2B(1)との間に接続されていた通話セッションは切断(開放)されるものの、ルーター3A、3Bでは、音声パケットの結合/分離処理が行われている状態にある。この状態は、制御部310で管理されている。このため、制御部310は、結合/分離処理が行われている状態にあるか否かに応じて、分断処理が必要か否かを判別する(ステップS20)。この例の場合、結合対象の音声パケットが1つ消滅したので、分断処理は必要であると判別される。
この場合、拠点Aのルーター3Aは、通話セッションが開放されたIP電話端末2A(1)とIP電話端末2B(1)の音声パケットを、結合パケットからはずことを要求する分断要求を相手先のルーター3Bに送信する(ステップS21)。これに応じて、ルーター3Bは分断応答をルーター3Aに送信する(ステップS22)。
そして、ルーター3Aの制御部310は、IP電話端末2A(1)からの音声パケットを結合パケットから外すように各部を制御する。すなわち、ルーター3Aから送信していた音声パケットは、IP電話端末2A(1)とIP電話端末2A(2)からの音声パケットを結合したものであった。しかし、IP電話端末2A(1)とIP電話端末2B(1)との間の通話が終了したため、送信すべき音声パケットは、IP電話端末2A(2)からIP電話端末2B(2)に送信する音声パケットだけになるようにされる。これにより、ルーター3Aにおいては、制御部310の制御により、パケットの結合/分離処理は終了するようにされる。
同様に、ルーター3Bの制御部310は、IP電話端末2B(1)からの音声パケットを結合パケットから外すように各部を制御する。すなわち、ルーター3Bから送信していた音声パケットは、IP電話端末2B(1)とIP電話端末2B(2)からの音声パケットを結合したものであった。しかし、IP電話端末2A(1)とIP電話端末2B(1)との間の通話が終了したため、送信すべき音声パケットは、IP電話端末2B(2)からIP電話端末2A(2)に送信する音声パケットだけになるようにされる。これにより、ルーター3Bにおいても、制御部310の制御により、パケットの結合/分離処理は終了するようにされる。
このため、図7に示すように、拠点AのIP電話端末2A(2)と拠点BのIP電話端末2B(2)との間の通話セッションだけが維持される(ステップS23)。この拠点AのIP電話端末2A(2)と拠点BのIP電話端末2B(2)との間の通話セッションも、IP電話端末2A(2)とIP電話端末2B(2)といずれかが、切断要求を送信することにより、主装置1が機能し、解放されることになる。
このように、この実施形態のルーター3は、自機と他の一のルーターとの間に複数の通話セッションが接続された場合には、送信する音声パケットを結合して結合パケットとして送信することができると共に、受信した結合パケットについては、着信先のIP電話端末2ごとに分離して、着信先のIP電話端末に提供できる。
[音声パケットの結合と分離の具体例]
次に、音声パケットの結合と分離の具体例について説明する。ここでも、図6、図7に示した例の場合と同様に、拠点AのIP電話端末2A(1)と拠点BのIP電話端末2B(1)との間と、拠点AのIP電話端末2A(2)と拠点BのIP電話端末2B(2)との間とに通話セッションが接続された場合を例にして説明する。
この例の場合、上述したように、ルーター3A、3Bにおいて、配下のIP電話端末からの音声パケットは結合して結合パケットとして送信し、受信した結合パケットについては、配下のIP電話端末ごとの音声パケットに分離して、配下のIP電話端末に提供する。すなわち、双方向にパケットの結合処理と分離処理とが同様に行われる。
しかし、拠点Aのルーター3Aで行われるパケットの結合処理、分離処理と、拠点Bのルーター3Bで行われるパケットの結合処理、分離処理とは同様の処理となる。そこで、以下においては、説明を簡単にするため、配下のIP電話端末からの音声パケットをルーター3Aにおいて結合して送信し、これをルーター3Bが受信して配下のIP電話端末ごとに分離して提供する場合について具体的に説明する。
図8は、拠点AのIP電話端末2A(1)、2A(2)及びルーター3Aと、拠点BのIP電話端末2B(1)、2B(2)及びルーター3Bとについて、音声パケットの処理に関連する部分に絞って、その構成を示したブロック図である。なお、IP電話端末2A(1)、2A(2)、2B(1)、2B(2)のそれぞれは同様に構成されるものである。このため、図8においては、IP電話端末2A(1)の各構成部分に参照符号を付し、IP電話端末2A(2)、2B(1)、2B(2)のそれぞれにおいては、参照符号は省略している。同様に、ルーター3Aとルーター3Bも同様に構成されるものであるため、図8においては、ルーター3Aの各構成部分に参照符号を付し、ルーター3Bにおいては、参照符号は省略している。
また、図9、図10は、図8に示した通信システムおいて、(a)〜(h)を付して示した部分で送受される音声パケットの概要を説明するための図である。すなわち、図9(a)、図9(b)、図9(c)、図9(d)のそれぞれは、図8の(a)、(b)、(c)、(d)のそれぞれにおいて送信されるパケットを示している。同様に、図10(e)、図10(f)、図10(g)、図10(h)のそれぞれは、図8の(e)、(f)、(g)、(h)のそれぞれにおいて送信されるパケットを示している。
そして、図8に示した通信システムにおいて、拠点AのIP電話端末2A(1)のハンドセット204のマイクロホンによって収音された音声は、アナログ音声信号に変換されてコーデック203に供給される。コーデック203では、ハンドセット204からのアナログ音声信号をデジタル音声データに変換し、これをデータ圧縮して送信する音声データを形成し、これをパケット処理部202に供給する。
パケット処理部202は、コーデック203からの音声データに対して、IP(Internet Protocol)用のヘッダと、UDP(User Datagram Protocol)用のヘッダと、RTP(Real-time Transport Protocol)用のヘッダを付加して、送信用の音声パケットを形成する。パケット処理部202で形成された送信用の音声パケットは、LANI/F201に供給され、ここでLANを通じて送信する形式の音声パケットに変換されて送出される。同様に、拠点AのIP電話端末2A(2)のハンドセット204のマイクロホンによって収音された音声もまた、IP電話端末2A(2)のコーデック203、パケット処理部202、LANI/F201を通じて送信用の音声パケットが形成され送出される。
そして、図8のIP電話端末2A(1)のLANI/F201から送出された音声パケットは、図9(a)に示すように、IP用のヘッダと、UDP用のヘッダと、RTP用のヘッダと、ペイロード(1)とからなるものとなる。同様に、図8のIP電話端末2A(2)のLANI/F201から送出された音声パケットは、図9(b)に示すように、IP用のヘッダと、UDP用のヘッダと、RTP用のヘッダと、ペイロード(2)とからなるものとなる。
なお、IP用のヘッダは、例えば、バージョン、ヘッダ長、サービスタイプ、データグラム長、ID、フラグ、フラグメント・オフセット、TTL(Time To Live)、プロトコル番号、ヘッダ・チェックサム、送信元IPアドレス、相手先(宛先)IPアドレス、オプション部などからなる。また、UDP用のヘッダは、送信元ポート番号、相手先(宛先)ポート番号、パケット長、チェックサムなどからなる。また、RTP用のヘッダは、V(version Number)、P(padding)、X(extension)、CC(CSRC Count)、M(Marker)、PT(Payload Type)、シーケンス番号、タイムスタンプ、SSRC(Synchronization Source)、CSRC(Contributing Source)などからなる。
また、ペイロード(1)は、IP電話端末2A(1)のハンドセット204のマイクロホンで収音され、デジタル化されると共に、符号化されてデータ圧縮された音声データが格納された部分である。同様に、ペイロード(2)は、IP電話端末2A(2)のハンドセット204のマイクロホンで収音され、デジタル化されると共に、符号化されてデータ圧縮された音声データが格納された部分である。
IP電話端末2A(1)からの音声パケットは、拠点Aのルーター3AのLANI/F301(1)を通じて受けつけられ、ここでルーター3Aにおいて処理可能な形式のデータに変換されてパケット処理部302(1)に供給される。パケット処理部302(1)は、ヘッダ部とペイロード部とに分解し、そのそれぞれを結合/分離処理部304に供給する。
同様に、IP電話端末2A(2)からの音声パケットは、拠点Aのルーター3AのLANI/F301(2)を通じて受けつけられ、ここでルーター3Aにおいて処理可能な形式のデータに変換されてパケット処理部302(2)に供給される。パケット処理部302(2)は、ヘッダ部とペイロード部とに分解し、そのそれぞれを結合/分離処理部304に供給する。
結合/分離処理部304は、パケット処理部302(1)、302(2)からの2つのヘッダ部から共通化した共通ヘッダを形成する。共通ヘッダは、IP電話端末2A(1)又はIP電話端末2A(2)からの音声パケットのヘッダ部が用いられて形成される。そして、送信元IPアドレスと相手先(宛先)IPアドレスとがIP電話端末2のIPアドレスではなく、ルーター3のIPアドレスが用いられる。この例の場合、送信元IPアドレスは、拠点Aのルーター3AのIPアドレスが用いられ、相手先(宛先)IPアドレスは、拠点Bのルーター3BのIPアドレスが用いられる。更に、結合/分離処理部304は、共通ヘッダに、IP電話端末2A(1)からの音声パケットのペイロードとIP電話端末2A(2)からの音声パケットのペイロードとを結合して結合パケットを形成し、これをヘッダ処理部306に供給する。
ヘッダ処理部306は、これに供給された結合パケットに対して、これに結合された音声パケットを分離するために必要になる情報からなる拡張ヘッダを付加し、拡張ヘッダ付加後の結合パケットを暗号化/復号化部307に供給する。ヘッダ処理部306から出力された結合パケットは、図9(C)に示すように、IP用、UPD用、RTP用の各ヘッダからなる共通ヘッダと、拡張ヘッダと、IP電話端末2A(1)、2A(2)のそれぞれからのペイロード(1)、ペイロード(2)とが結合されたものである。
拡張ヘッダは、図9(C)に示すように、結合フラグ、送信元ID、相手先(宛先)ID、ペイロードチャンネル数、ペイロード長、その他の情報からなる。なお、送信元IDと相手先(宛先)IDとは、結合されたペイロードに対応して、複数の送信元IDと相手先(宛先)IDとが付加される。図9(C)に示すように、この例の結合パケットは、IP電話端末2A(1)からのペイロード(1)と、IP電話端末2A(2)からのペイロード(2)とが結合されたものである。
このため、送信元IDをIP電話端末2A(1)のIDとし、相手先(宛先)IDをIP電話端末2B(1)のIDとする第1の情報と、送信元IDをIP電話端末2A(2)のIDとし、相手先(宛先)IDをIP電話端末2B(2)のIDとする第2の情報とが付加される。付加の順番のペイロードの結合の順番と同じ順番とされ、結合されたペイロードとの対応付けも容易に行うことができるようにされている。なお、IP電話端末2のIDとしては、IPアドレスあるいは内線番号が用いられる。内線番号を用いる場合には、主装置1に問い合わせを行うことにより、各IP電話端末2のIPアドレスを特定することができる。
そして、暗号化/復号化部307は、ヘッダ処理部306からの結合パケットに対して、IPsec用のヘッダを付加してカプセル化すると共に、所定の方式で暗号化することにより、トンネルモードの結合パケットを形成する。暗号化/復号化部で形成されたトンネルモードの結合パケットは、WANI/F308(1)に供給される。暗号化/復号化部307からのトンネルモードの結合パケットは、図9(d)に示すように、ヘッダ処理部306からの結合パケット(図9(d))に対して、更に、IPsec用のヘッダが付加されると共に、暗号化されたものである。
この図9(d)に示した態様のトンネルモードの結合パケットが、WANI/F308(1)でネットワーク100に送出する形式の結合パケットに変換されてネットワーク100に送出され、拠点Bのルーターに向けて送信される。このようにして、この例の場合には、IP電話端末2A(1)、2A(2)からの音声パケットが、拠点Aのルーター3Aで結合されて結合パケットとして相手先(宛先)のルーター3Bに向けて送信される。
拠点Bのルーター3Bでは、WANI/F308(1)を通じて、拠点Aのルーター3Aから送出された自機宛てのトンネルモードの結合パケットを受信し、自機において処理可能な形式に変換して、これを暗号化/復号化部307に供給する。ルーター3BのWANI/F308(1)から暗号化/復号化部307への結合パケットは、図10(e)に示すように、IPsec用のヘッダ、IP用のヘッダ、UDP用のヘッダ、RTP用のヘッダ、拡張ヘッダを有し、かつ、ペイロード(1)、ペイロード(2)からなる。
暗号化/復号化部307は、WANI/F308(1)からのトンネルモードの結合パケットを復号化すると共に、IPsec用のヘッダを用いて結合パケットについてのカプセル化を解除し、解除後の結合パケットをヘッダ処理部306に供給する。ヘッダ処理部306に供給される結合パケットは、図10(f)に示すように、IP用のヘッダ、UDP用のヘッダ、RTP用のヘッダからなる共通ヘッダと、拡張ヘッダとを有し、かつ、ペイロード(1)、ペイロード(2)からなる。
ヘッダ処理部306は、これに供給された結合ヘッダから拡張ヘッダを抽出し、当該拡張ヘッダと結合パケットを結合/分離処理部304に供給する。結合/分離処理部304は、これに供給された結合パケットについてヘッダ部とペイロード部とを分離する。そして、結合/分離処理部304は、拡張ヘッダの情報に基づいて、拠点BのIP電話端末2B(1)に供給するヘッダ部を形成し、この形成したヘッダ部の情報とIP電話端末2B(1)に供給するペイロード(1)とをパケット処理部302(1)に供給する。同様に、結合/分離処理部304は、拡張ヘッダの情報に基づいて、拠点BのIP電話端末2B(2)に供給するヘッダ部を形成し、この形成したヘッダ部の情報とIP電話端末2B(2)に供給するペイロード(2)とをパケット処理部302(1)に供給する。
ここで、拠点BのIP電話端末2B(1)に供給するヘッダ部は、例えば、IP用のヘッダの送信元をIP電話端末2A(1)とし、相手先(宛先)をIP電話端末2B(1)とするなどの変更が加えられたものである。同様に、拠点BのIP電話端末2B(2)に供給するヘッダ部は、例えば、IP用のヘッダの送信元をIP電話端末2A(2)とし、相手先(宛先)をIP電話端末2B(2)とするなどの変更が加えられたものである。これにより、共通ヘッダから、IP電話端末2A(1)からIP電話端末2B(1)への本来の音声パケットが再生成され、IP電話端末2A(2)からIP電話端末2B(2)への本来の音声パケットが再生成される。
パケット処理部302(1)は、これに供給されたIP電話端末2B(1)用のヘッダ部とペイロード(1)とからIP電話端末2B(1)に供給する音声パケットを形成し、これをLANI/F301(1)を通じてIP電話端末2B(1)に送信する。同様に、パケット処理部302(1)は、これに供給されたIP電話端末2B(2)用のヘッダ部とペイロード(2)とからIP電話端末2B(2)に供給する音声パケットを形成し、これをLANI/F301(2)を通じてIP電話端末2B(2)に送信する。
ルーター3BのLANI/F301(1)、301(2)は、音声パケットをLANに送出する形式に変換して、LANに送出する。ルーター3BのLANI/F301(1)からIP電話端末2B(1)に送信される音声パケットは、図10(g)に示すように、IP用のヘッダ、UDP用のヘッダ、RTP用のヘッダに、ペイロード(1)が付加されたものである。ルーター3BのLANI/F301(2)からIP電話端末2B(2)に送信される音声パケットは、図10(h)に示すように、IP用のヘッダ、UDP用のヘッダ、RTP用のヘッダに、ペイロード(2)が付加されたものである。
拠点Bのルーター3BのLANI/F301(1)から送信された音声パケットは、拠点BのIP電話端末2B(1)のLANI/F201受信され、自機で処理可能な形式の変換された後に、パケット処理部202に供給される。パケット処理部202は、これに供給された音声パケットからヘッダ部とペイロードとを分離し、パイロードの音声データをコーデック203に供給する。コーデック203は、これに供給された音声データを圧縮伸長して圧縮前の音声データを復元し、これをアナログ音声信号に変換して、このアナログ音声信号をハンドセット204に供給する。これにより、拠点AのIP電話端末2A(1)のハンドセット204のマイクロホンで収音された音声が、拠点BのIP電話端末2B(1)のハンドセットのスピーカから放音される。
拠点Bのルーター3BのLANI/F301(2)から送信された音声パケットは、拠点BのIP電話端末2B(2)のLANI/F201受信され、自機で処理可能な形式の変換された後に、パケット処理部202に供給される。パケット処理部202は、これに供給された音声パケットからヘッダ部とペイロードとを分離し、パイロードの音声データをコーデック203に供給する。コーデック203は、これに供給された音声データを圧縮伸長して圧縮前の音声データを復元し、これをアナログ音声信号に変換して、このアナログ音声信号をハンドセット204に供給する。これにより、拠点AのIP電話端末2A(2)のハンドセット204のマイクロホンで収音された音声が、拠点BのIP電話端末2B(2)のハンドセットのスピーカから放音される。
このようにして、拠点AのIP電話端末2A(1)、2A(2)からの音声が、拠点BのIP電話端末2B(1)、2B(2)に伝達される。なお、拠点BのIP電話端末2B(1)、2B(2)から拠点AのIP電話端末2A(1)、2A(2)の音声の伝達もまた、上述した拠点AのIP電話端末2A(1)、2A(2)から拠点BのIP電話端末2B(1)、2B(2)への音声の伝達と同様に行われる。
このように、拠点AのIP電話端末2A(1)と拠点BのIP電話端末2B(1)との間で通話し、拠点AのIP電話端末2A(2)と拠点BのIP電話端末2B(2)との間で通話する場合には、そのそれぞれで独立して音声パケットが送受されるのではない。ルーター間においては、音声パケットが結合され、送受信される音声パケットの数を最小限に抑えるようにしている。これにより、ルーター3A、3Bにおける処理の負荷を低減するようにしている。特に、VPN技術を用いる場合には、音声パケットごとに暗号化、復号化を行わなければならないが、送受信する音声パケットを少なくすることにより、暗号化、復号化する音声パケットを少なくすることにより、ルーター3A、3Bにおいての負荷を低減することができる。
[ルーター3の処理]
次に、この実施形態の通信システムにおいて、各拠点に配置され、音声パケットの結合/分離処理を行うルーター3の処理の具体例についてまとめる。図11は、この実施形態のルーター3で実行される処理を説明するためのフローチャートであり、ルーター3の主に制御部310の制御の下に実行される処理である。電源が投入されたルーター3の制御部310では、常時、図11に示すフローチャートの処理を実行している。
ルーター3の制御部310は、自機に接続されたIP電話端末2から発信要求が送信されてきたか否かを判別する(ステップS101)。ステップS101の判別処理において、発信要求が送信されてきたと判別した時には、当該発信要求を主装置1に送信し、発信処理を行うようにする(ステップS102)。このステップS102の発信処理では、ルーター3の制御部310は、主装置1による呼制御に応じて、自機に接続されたIP電話端末からの発信要求や自機に接続されたIP電話端末への着信応答などの中継処理を行う。
そして、制御部310は、自機に接続された発信元のIP電話端末に対する相手先のIP電話端末からの着信応答が送信されてきたか否かを判別する(ステップS103)。ステップS103の判別処理において、着信応答は送信されてきていないと判別した時には、相手先のIP電話端末が着信要求に対して応答していないので通話セッションは接続されず、ステップS101からの処理を繰り返すようにする。
また、ステップS103の判別処理において、相手先(宛先)のIP電話端末からの着信応答が送信されてきていると判別した時には、自機に接続された発信元のIP電話端末と相手先のIP電話端末との間に通話セッションが接続されて、通話が行うようにされる。このため、制御部310は、結合判定部303を制御し、自機と今回通話セッションが接続された相手先のルーターとの間に他の通話セッションが既に接続されているために、音声パケットの結合が必要か否かを判別する結合判定を行う(ステップS104)。
ステップS104の判別処理において、音声パケットの結合が必要であると判別したとする。この場合、制御部310は、音声パケットの結合要求を相手先のルーターに送信し、これに応じて当該相手先のルーターから送信されて来る結合応答を受信して、結合/分離処理を開始する準備を整える結合要求処理を実行する(ステップS105)。この後、制御部310は、結合/分離処理部304を制御して結合/分離処理を開始する(ステップS106)。
具体的に、ステップS106において、制御部310は、結合/分離処理部304を制御して、自機との間に複数の通信セッションが接続されている相手先のルーターに対しては、自機から送出する複数の音声パケットを結合して結合パケットとして送信する。逆に、自機との間に複数の通信セッションが接続されている当該相手先のルーターから自機宛てに送信されて来る結合パケットについては、これに付加されている拡張ヘッダの情報に基づいて分離し、自機に接続されている対応するIP電話端末のそれぞれに提供する。このように、ステップS105において、結合/分離処理を開始した後においては、ステップS101からの処理を繰り返す。また、ステップS104の判別処理において、音声パケットの結合が不要であると判別したときは、ステップS101からの処理を繰り返すようにする。
また、ステップS101の判別処理において、発信要求を受信していないと判別した時には、ルーター3の制御部310は、自機に接続されたIP電話端末2に対する着信要求があるか否かを判別する(ステップS107)。すなわち、ステップS107は、ネットワーク100を通じて自機に接続されたIP電話端末2に対する着信要求が送信されてきたか否かを判別する処理である。
ステップS107の判別処理において、自機に接続されたIP電話端末2に対する着信要求があると判別した時には、着信処理を行うようにする(ステップS108)。このステップS108の着信処理では、ルーター3の制御部310は、主装置1による呼制御に応じて、自機に接続されたIP電話端末への着信要求や自機に接続されたIP電話端末からの着信応答などの中継する処理を行う。
そして、制御部310は、発信元のIP電話端末が接続されたルーターから結合要求が送信されてきたか否かを判別する(ステップS109)。ステップS109において、結合要求は送信されてきていないと判別した時には、音声パケットの結合/分離処理を行う必要はないので、ステップS101からの処理を繰り返す。ステップS109の判別処理において、音声パケットの結合要求が送信されてきたと判別した時には、制御部310は、自機宛ての結合要求を受信し、これに応じた結合応答を形成して結合要求元に送信して、結合/分離処理を開始するための準備を整える結合準備処理を実行する(ステップS110)。
この後、制御部310は、結合/分離処理を開始する(ステップS106)。このステップS106では、上述もしたように、制御部310が結合/分離処理部304を制御して、自機との間に複数の通信セッションが接続されている相手先のルーターに対しては、自機から送出する複数の音声パケットは、結合して結合パケットとして送信する。逆に、自機との間に複数の通信セッションが接続されている相手先のルーターから自機宛てに送信されて来る結合パケットについては、これに付加されている拡張ヘッダの情報に基づいて分離して、自機に接続されている対応するIP電話端末のそれぞれに提供する。このように、ステップS106において、結合/分離処理を開始した後においては、ステップS101からの処理を繰り返す。
また、ステップS107の判別処理において、自機に接続されたIP電話端末2に対する着信はないと判別した時には、制御部310は、自機と他のルーターとの間に通話セッションが接続されているか否かを判別する(ステップS111)。この判別処理は、例えば、主装置1で管理されている通話セッションの状態を参照することにより判別できるし、また、自機(ルーター3)において、自機の接続状態を管理することによって、この接続状態から判別することもできる。
ステップS111の判別処理において、自機と他のルーターとの間に通話セッションは接続されていないと判別されたとする。この場合には、ステップS101からの処理が繰り返すようにされる。一方、ステップS111の判別処理において、自機と他のルーターとの間に通話セッションが接続されていると判別されたとする。この場合には、自機(ルーター3)の制御部310は、当該通話セッションが切断するようにされたか否かを判別する(ステップS112)。ステップS112では、自機に接続されている通話セッションを接続しているIP電話端末から切断要求が送信されてきたり、通話セッションを接続している相手先のIP電話端末からの切断要求を受信したりした場合に、切断するようにされたと判別できる。
ステップS112において、自機との間で接続されている通話セッションが切断するようにされたと判別した時には、主装置1の呼制御の下、当該通話セッションを切断する切断処理を実行する(ステップS113)。このステップS113の切断処理では、ルーター3の制御部310は、主装置1による呼制御に応じて、切断要求や切断応答の中継処理を行い、当該通話セッションを切断する。
この後、制御部310は、通話セッションを切断した自機と他のルーターとのそれぞれでは結合/分離処理が行われている状態にあり、分断処理が必要か否かを判別する(ステップS114)。このステップS114の判別処理は、制御部310で管理されている自機の動作状態に応じて判別できる。ステップS114の判別処理で、通話セッションを切断した自機と他のルーターとのそれぞれでは結合/分離処理は行われておらず、分断処理は必要ないと判断した時には、ステップS101からの処理を繰り返す。
また、ステップS114の判別処理で、通話セッションを切断した自機と他のルーターとのそれぞれにおいて結合/分離処理が行われており、分断処理が必要である判断した時には、制御部は分断処理を実行する(ステップS115)。このステップS115の分断処理では、例えば、自機に接続されているIP電話端末から切断要求が送信されてきたことを契機として通信セッションの切断を行った場合には、分断要求を形成して切断した通話セッションの相手先のルーターに送信し、当該相手先のルーターからの分断応答を受信する。また、このステップS114の分断処理では、例えば、通話セッションを接続している相手先のIP電話端末からの切断要求を受信した場合には、相手先から送信されて来る分断要求を受信して、分断応答を返信する。
この一連の処理を契機として、自機と相手先のルーターでは、制御部310が各部を制御して、切断された通話セッションの発信元のIP電話端末と相手先のIP電話端末との間に発生していた音声パケットは結合/分離の対象外とされる。したがって、切断された通話セッションの発信元のIP電話端末と相手先のIP電話端末との間に発生していた音声パケットについては、結合/分離処理を行わないようにすることができる。
なお、例えば、2つの音声パケットが結合されて結合パケットとされていた場合に、ステップS115の分断処理が行われると、送受される音声パケットは、双方向に1つずつであるので、結合/分離処理は終了する。しかし、例えば、3つ以上の音声パケットが結合されて結合パケットとされていた場合に、ステップS114の分断処理が行われると、接続中の通話セッションはまだ複数存在し、送受される音声パケットも双方向に複数の音声パケットが存在している。このため、この場合には、結合/分離される音声パケットが1つ減るだけで、結合/分離処理は継続して行われる。そして、ステップS115の分断処理の後においては、ステップS101からの処理が行われる。
このようにして、この実施形態のルーター3では、音声パケットの結合/分離処理がおこなわれ、ルーター間で送受信される通話のための音声パケットについては、送受信の対象とされる数を大幅に低減させることができる。
[実施形態の効果]
上述したように、この実施形態のルーター3の場合には、自機と他の一のルーターとの間に複数の通話セッションが接続されている場合には、ルーター間で送受される音声パケットは結合して、結合パケットとして送信できる。また、受信した結合パケットについては、配下のIP電話端末ごとに分離して、そのそれぞれを対応するIP電話端末に供給できる。
したがって、ルーター間で送受される通話パケットを大幅に減らすことができ、各ルーターの負荷を軽減できる。特に、VPN技術を用いる場合、送受信される音声パケットごとに暗号化/復号化の処理を行わなければならない。しかし、送受信する音声パケットを大幅に減らすことができることにより、暗号化/復号化の対象となるパケットが減ることになり、ルーターにおける暗号化/復号化のための負荷が大幅に軽減できる。
これにより、ルーター間において、余裕をもって適切に音声パケットの送受信ができ、音声パケットの送受信の遅延を生じさせず、常時、良好に通話を行うことができる。
[変形例など]
上述した実施形態では、2つのIP電話端末からの音声パケットを結合する場合を例にして説明したが、これに限るものではない。2つ以上の適宜の数の音声パケットを結合した結合パケットを形成し、これを送受信の対象とすることができる。より詳しくは、通話パケットの送信周期を例えば20ミリ秒とすれば、結合パケットには、最大で7つの音声パケットを結合することができる。また、送信周期を20ミリ秒よりも短くすれば、より多くの音声パケットを結合できる。このように、1つの結合パケットに結合できる音声パケットの数は、送信周期やペイロード長などを勘案して最大7つまでの範囲で適切な数とすることができる。
また、所定のルーター間において、1つの結合パケットに結合可能な数以上の通話セッションが接続された場合には、新たに別の結合パケットを形成して送受信することができる。例えば、各ルーターに例えば30台のIP電話端末が接続され、このルーター間に10個の通話セッションが接続されたとする。この場合に、1つの結合パケットに結合できる音声パケットの最大数が7つであるとすると、7つの音声パケットが結合された結合パケットと、3つの音声パケットが結合された結合パケットとの2つの結合パケットが形成されて、送受信され処理される。このように、ルーター間では、1つの結合パケットだけでなく、複数個の結合パケットを形成して、送受信することもできる。
また、上述した実施形態では、発信元のIP電話端末2が接続されたルーター3において、通話パケットの結合が必要か否かを判別し、必要である場合には、相手先のルーターに対して、複数の音声パケットを結合した結合パケットの送受信を行うように指示した。しかし、これに限るものではない。着信要求を受信した(電話がかかってきた)IP電話端末2が接続されたルーター3において、通話パケットの結合が必要か否かを判別し、必要である場合には、相手先のルーターに対して、複数の音声パケットを結合した結合パケットの送受信を行うように指示することも可能である。
また、上述した実施形態の通信システムのように、音声パケットの結合/分離を行うルーター間で結合要求や結合応答を送受信しないようにすることもできる。例えば、発信操作が行われたIP電話端末が接続されたルーターと、着信要求の送信先(相手先(宛先))のIP電話端末が接続されたルーターとのそれぞれにおいて、上述した実施形態のルーター3の場合と同様に音声パケットの結合判定を行う。そして、自機と相手先のルーターとの間に複数の通話セッションが接続されており、音声パケットの結合が必要であると判定した場合には、通話パケットを結合して送信する処理を開始する。
この場合、結合パケットのIP用のヘッダとUPD用のヘッダとRTP用のヘッダとの内のいずれかのヘッダの空領域に、結合フラグを設け、この結合フラグをオンにしておく。これにより、結合フラグがオンのパケットは、結合パケットであると判別できる。このため、結合パケットの受信先のルーターにおいては、結合フラグがオンであるパケットについては、拡張ヘッダの情報に基づいて、分離処理を行って、分離した音声パケットを自機に接続された対応するIP電話端末に提供する。
すなわち、パケットの受信先においては、パケットに付加されている結合フラグがオンである場合には、当該パケットは結合パケットであるものと判別して、音声パケットの分離処理を行うようにする。逆に、パケットに付加されている結合フラグがオンでない場合には、結合パケットではないので、通常の音声パケットに対する処理を行う。このようにすれば、結合パケットの受信先において、結合パケットと通常の音声パケットのそれぞれを適切に処理できる。
また、この場合の結合パケットの分断処理は、通話セッションの切断要求が発生したIP電話端末が接続されているルーターと、通話セッションの切断要求の受信先のIP電話端末が接続されているルーターのそれぞれにおいて、結合パケットからの音声パケットの分断処理が必要か否かを判別する。そして、分断処理が必要であると判別した場合には、その判別したルーターにおいては、切断された通話セッションを通じて送信していた音声パケットの結合パケットからの分断処理を行うようにすればよい。
なお、結合パケットのIP用のヘッダとUPD用のヘッダとRTP用のヘッダとの内のいずれかのヘッダの空領域に、結合フラグを設けるようにするには、必ず結合パケットの決まった位置に結合フラグを設けるためである。上述した実施形態の通信システムの場合のように、拡張ヘッダの中に結合フラグを設けてもよいが、この場合には、結合フラグ自体を特有の情報(結合フラグとして固有の情報)にしない限り、当該パケットが真に結合パケットか否かを判別できない場合ある。上述した実施形態の通信システムの場合に拡張ヘッダが設けられる位置は、通常の音声パケットの場合のペイロードの部分に相当するためである。
また、上述した実施形態では、VPN技術としてIPsecを用いるものとしたが、これに限るものではない。PPTP、SSLといったプロトコルなどを用いるようにしてももちろんよい。その他のVPN技術、特に新たに開発されたVPN技術を用いるようにしてもよい。すなわち、この発明の場合には種々のVPN技術を用いるようにしてもよい。
また、上述した実施形態では、共通ヘッダと最初のペイロードとの間に拡張ヘッダを設けるようにしたが、これに限るものではない。例えば、結合パケットの最後尾部分に所定のデータ長の拡張ヘッダに相当する拡張データを付加するようにしてもよい。
[その他]
なお、上述した実施形態の説明からも分かるように、VoIP装置の結合手段、分離手段の各機能は、ルーター3の結合/分離処理部304が実現し、VoIP装置の付加手段、抽出手段の各機能は、ルーター3のヘッダ処理部306が実現している。また、VoIP装置の判別手段の機能は、ルーター3の結合判定部303が実現している。また、VoIP装置の受信手段の機能は、ルーター3のWANI/F308が実現している。また、VoIP装置の暗号化手段、復号化手段の各機能は、ルーター3の暗号化/復号化部307が実現している。
また、図11に示したフローチャートを用いて説明したルーター3行わる通信方法が、この発明のVoIP装置で用いられる通信方法の一実施形態に対応している。