以下、この発明によるVoIP電話システムの実施形態を、図を参照しながら説明する。
図1は、実施形態のVoIP電話システムの構成例を示すブロック図である。図1において、10は、実施形態のVoIP電話システムを示し、交換装置11と、複数個のVoIP電話端末(以下、IP電話機という)12A,12B,・・・とを備えている。
交換装置11は、VoIP電話システム10のIP電話機12A,12B,・・・からの発呼や他のネットワークからのIP電話機12A,12B,・・・に対する着呼などの呼制御、および着呼時の複数個のIP電話機12A,12B,・・・の一斉呼び出し制御やその応答制御、保留転送制御、また、複数個のIP電話機12A,12B,・・・の使用状態表示などのランプ制御などを行うもので、前記制御を含む種々の制御をソフトウエア処理として実行するためのマイクロコンピュータを搭載して構成されている。これは、SIP(Session Initiation Protocol)サーバと呼ばれているものに相当する。
複数個のIP電話機12A,12B,・・・は、LAN13を通じて互いに接続されており、LAN13は給電ハブ14を通じて交換装置11に接続されている。交換装置11は、LAN13に接続されているIP電話機12A,12B,・・・のそれぞれのLAN13上のアドレス(IPアドレス)を記憶して管理する。
また、この例では、交換装置11は、IP(Internet Protocol)網20に接続されており、VoIP電話システム10の複数のIP電話機12A,12B,・・・は、交換装置11を通じて、IP網20に接続されているIP電話機21や、他のVoIP電話システムのIP電話機(図示は省略)との間で電話通信が可能となる。
以上の構成のVoIP電話システムにおいて、この実施形態では、呼が転送されたときにも、相手側の電話端末に送られる音声パケット(RTPパケット)やRTCPパケットのSSRC値が変わらないように構成されるが、そのための手法として、第1の実施形態と第2の実施形態とがある。
[第1の実施形態]
第1の実施形態は、交換装置の構成が工夫されて、呼が転送されたときにも、相手側の電話端末に送られる音声パケット(RTPパケット)やRTCPパケットのSSRC値が変わらないように構成される。
図2は、この第1の実施形態における手法を説明するための概念構成図を示すものである。
この第1の実施形態では、交換装置11は、図2(A)に示すように、VoIP電話システム10からの発信あるいは外部からの当該VoIP電話システム10への着信に基づいて呼が成立したとき(通話路が成立したとき)に、当該成立した呼について、送信ポートから相手方に送出するRTPパケットおよびRTCPパケットに対して、所定のSSRC値を割り当てる。図2(A)の例では、IP電話機12Aと、外部のIP電話機21との間での呼が成立した場合としている。
そして、電話通信が開始されると、図2(B)に示すように、交換装置11は、自システム10の例えばIP電話機12Aから受けたRTPパケットおよびRTCPパケットのヘッダのSSRC値は、割り当てたSSRC値に書き換えて、相手のIP電話機21に送出するようにする。図2(B)の例では、IP電話機12Aから送出されたRTPパケットおよびRTCPパケットのSSRC値は「101」であったものが、交換装置11で、SSRC値が割り当てられた「530」に書き換えられて、IP電話機21に送信されている。なお、IP電話機21からのRTPパケットおよびRTCPパケットは、交換装置11では、書き換えられずに、そのままのSSRC値で、IP電話機12Aに送られる。
この通話状態において、IP電話機12AからIP電話機12Bに、通話中の呼が転送されたとき、その転送後においては、交換装置11には、図2(C)に示すように、IP電話機12BからRTPパケットおよびRTCPパケットが送られてくる。このとき、当該パケットのSSRC値は、IP電話機12AからのパケットのSSRC値とは異なる。図2(C)の例では、交換装置11では、IP電話機12AからのSSRC値が「101」のパケットの受信状態から、IP電話機12BからのSSRC値が「201」のパケットの受信状態に変わる。
しかしながら、交換装置11は、当該パケットのSSRC値を、割り当てられているSSRC値、この例では、「530」に書き換えて、IP電話機21に送出するようにする。このため、IP電話機21では、IP電話機12Aからのパケットと、IP電話機12Bからのパケットとで、同じSSRC値を備えるパケットを受信する。したがって、RTP/RTCPの規格上の、BYEパケットを用いて前のSSRC情報を終了させる処理動作は不要となって、そのための遅延が生じないので、IP電話機21では、通話が途切れることなく継続される。
[第1の実施形態における交換装置11のハードウエア構成例]
図3は、この第1の実施形態における交換装置11のハードウエア構成例を示すブロック図である。
この実施形態の交換装置11は、マイクロコンピュータにより構成されており、CPU(Central Processing Unit)101に対して、システムバス100を介して、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、通信インターフェース104と、パケット処理部105と、アドレス管理部106と、LANインターフェース107と、SSRC値割り当て部108と、SSRC値書き換え部109とが接続されている。
ROM102には、交換装置としての発信時や着信時の処理シーケンスを実行するプログラム、保留転送時(保留・保留解除時)の処理などを実行するためのプログラムが記憶されている。
RAM103は、主としてROM102のプログラムがCPU101によって実行される際にワークエリアとして使用される。
通信インターフェース104は、IP網20に接続され、IP網20に対してRTPパケットおよびRTCPパケットの送出、また、IP網20を通じて送られてくるRTPパケットおよびRTCPパケットの受信を実行する。通信インターフェース104は、図示を省略したが、IP網20を通じた相手方のIP電話機にRTPパケットおよびRTCPパケットを送出するための送信ポートと、相手方のIP電話機からのRTPパケットおよびRTCPパケットを受信する受信ポートを備えている。
また、LANインターフェース107は、給電ハブ14を通じてLAN13に接続されており、LAN13に接続されている複数個のIP電話機12A,12B,・・・との間でのRTPパケットおよびRTCPパケットのやり取りを行う。
パケット処理部105は、通信インターフェース104やLANインターフェース107により取り込んだRTCPパケットを分解して、制御データを得て解析する機能と、通信インターフェース104やLANインターフェース107から送出する制御データをパケット化して、RTCPパケットを生成する機能を有する。このパケット処理部105は、パケット化データを分解したり、生成したりするためのバッファメモリを備える。
また、この実施形態では、パケット処理部105は、通信インターフェース104から得たRTPパケット(音声パケット)やRTCPパケットを一時保持して、LANインターフェース107に転送する機能と、LANインターフェース107から得たRTPパケット(音声パケット)やRTCPパケットを一時保持して、通信インターフェース104に転送する機能とを備える。
なお、後述するように、この実施形態では、LANインターフェース107から得たRTPパケット(音声パケット)やRTCPパケットは、通信インターフェース104に転送する前に、SSRC値書き換え部109に供給されて、SSRC値が書き換えられた後に、通信インターフェース104の送信ポートに送られる。
アドレス管理部106は、VoIP電話システム10内のIP電話機12A,12B,・・・のIPアドレスを管理する。これは、VoIP電話システム10に対する着信ではなく、IP電話機12A,12B,・・・のうちの、特定のIP電話機を指定した着信がある場合を想定している。
SSRC値割り当て部108は、当該VoIP電話システム10からの発信あるいは外部からの当該VoIP電話システム10への着信に基づいて呼が成立したとき(通話路が成立したとき)に、当該成立した呼についての通信インターフェース104の送信ポートから送出するRTPパケットおよびRTCPパケットに対して、所定のSSRC値を割り当てて保持する機能手段である。
このSSRC値割り当て部108は、CPU101が、ROM102のプログラムにしたがって、その機能を実行するソフトウエア処理機能としても構成することができるもので、その場合、RAM103のワークエリアに送信ポートに割り当てたSSRC値を保持しておくようにすることができる。
なお、VoIP電話システム10が、いわゆるマルチライン対応の場合において、複数の通話路が成立した場合には、送信ポートから送出するパケットに対しては、それぞれ異なるSSRC値が割り当てられるのはもちろんである。
SSRC書き換え部109は、LANインターフェース107から得たRTPパケット(音声パケット)やRTCPパケットを、通信インターフェース104に転送する前に、当該RTPパケット(音声パケット)やRTCPパケットのヘッダ部のSSRC値を、SSRC値割り当て部108で割り当て保持されているSSRC値に書き換える機能手段である。
SSRC値書き換え部109は、LANインターフェース107から得たRTPパケット(音声パケット)やRTCPパケットのSSRC値を書き換えた後、パケット処理部105に転送して一時保持させるようにしても良いし、パケット処理部105に一時保持されていたLANインターフェース107から得たRTPパケット(音声パケット)やRTCPパケットのSSRC値を書き換えた後に、通信インターフェース104に転送するようにしても良い。
このSSRC値書き換え部109は、CPU101が、ROM102のプログラムにしたがって、その機能を実行するソフトウエア処理機能としても構成することができる。
[第1の実施形態のシーケンス例]
次に、図4および図5を用いて、IP電話機21からの発呼に基づくVoIP電話システム10への着信があり、IP電話機12Aがその着信に応答して呼が成立し、その後、IP電話機12AからIP電話機12Bに、当該呼が転送された場合における処理シーケンスを説明する。
図4に示すように、先ず、IP電話機21からVoIP電話システム10への発信がなされると、呼出メッセージが、VoIP電話システム10の交換装置11に着信する。交換装置11は、LAN13に接続されている複数のIP電話機12A,12B,・・・に対して、一斉呼出を行い、複数のIP電話機12A,12B,・・・に対して着信通知をする。
この一斉呼出に対して、図4に示すように、VoIP電話システム10のIP電話機12Aが応答したとする。すると、IP電話機12Aは、応答メッセージを交換装置11に返す。交換装置11は、その応答メッセージをIP電話機21に対して送ると共に、これにより、IP電話機21とIP電話機12Aとの間に通話路が形成されるので、IP電話機21へ送出するRTPパケットおよびRTCPパケットに対して、所定のSSRC値を割り当てる。
そして、音声パケット(RTPパケット)による通話が開始されるが、その際に、交換装置11は、IP電話機12AからのパケットのSSRC値を、前記割り当てたSSRC値に書き換えて、IP電話機21に送信するようにする。通話中は、この状態を継続することとなる。
この通話中にIP電話機12Aで、IP電話機12Bへの保留転送のために、保留キーが操作されると、IP電話機12Aから保留準備のメッセージが交換装置11に送られる。交換装置11は、これに対して、準備完了のメッセージをIP電話機12Aに返す。
準備完了のメッセージを受け取ったIP電話機12Aは、転送指示メッセージを交換装置11に送る。交換装置11は、この転送指示メッセージに対してIP電話機12Aに転送了承のメッセージを送る。これにより、IP電話機12Aで通話中であった呼は、交換装置11に転送されて、交換装置11と、相手側のIP電話機21との間に保留中の通話路が形成される。そして、交換装置11は、保留音を相手方のIP電話機21に送出する。IP電話機21では、この保留音を聴取しながら、保留が解除されるのを待つ。
この保留状態において、保留操作をしたIP電話機12Aの使用者が、口頭でIP電話機12Bの使用者に転送指示を伝えたり、または、IP電話機12Aの使用者が、IP電話機12Bを内線通話により呼び出して、その使用者に転送指示を伝えたりする。この転送指示を受けたIP電話機12Bの使用者は、保留解除要求の操作をIP電話機12Bに対して行う。
そして、図5に示すように、転送先であるIP電話機12Bで使用者により保留解除要求の操作がなされると、当該IP電話機12Bは、当該保留されている回線についての回線接続要求を交換装置11に送る。
交換装置11は、この保留中の回線の回線接続要求(保留解除要求に相当)を受け取ると、回線接続受付メッセージをIP電話機12Bに返す。
これにより、呼がIP電話機12Bに転送され、IP電話機12Bは、音声パケット(RTPパケット)の送出を開始するが、交換装置11は、当該IP電話機12BからのパケットのSSRC値を、呼が成立したときに割り当てられたSSRC値に書き換えて、IP電話機21に送る。
したがって、IP電話機21では、IP電話機12Aと通話中に受信したパケットのSSRC値と同じSSRC値を備えるパケットを、IP電話機12Bから受信する。よって、IP電話機21では、通話が途切れることなく継続される。
[交換装置11での処理ルーチン]
図6およびその続きである図7は、上述のシーケンスにおける交換装置11での処理動作例のフローチャートである。すなわち、これは、外線着信に対して、VoIP電話システム10の複数のIP電話機のいずれかが応答したことにより、呼が成立した場合における保留転送時の処理例のフローチャートである。
なお、この図6および図7における各ステップの処理は、交換装置11のCPU101が、ROM102のプログラムにしたがって、RAM103をワークエリアとして用いて実行するものである。なお、この例では、SSRC値割り当て部108の処理およびSSRC書き換え部109の処理も、CPU101によるソフトウエア処理とした場合としている。
先ず、CPU101は、着信を待ち(ステップS101)、着信がないと判別したときには、その他の処理を実行する(ステップS102)。そして、ステップS101で、着信があったと判別したときには、CPU101は、LAN13に接続されている複数個のIP電話機12A,12B,・・・に対して一斉呼出を送り、着信を通知する(ステップS103)。
次に、CPU101は、この一斉呼出に対して、複数個のIP電話機12A,12B,・・・のうちのいずれかのIP電話機で応答操作がなされたことに基づく応答メッセージを受信したか否かを判別する(ステップS104)。このステップS104で、応答メッセージを受信してはいないと判別したときには、CPU101は、発信側が着信を断念したなどに基づいて、着信が消滅したか否か判別し(ステップS105)、着信が消滅したと判別したときには、この処理ルーチンを終了する。また、ステップS105で、着信が消滅してはいないと判別したときには、CPU101は、ステップS104に戻って、応答メッセージの受信を待つ。
ステップS104で、応答メッセージを受信したと判別したときには、発信端末に対して応答メッセージを送出して通話路を生成し(ステップS106)、発信端末に対する送信ポートから送出するRTPパケットおよびRTCPパケットに対するSSRC値を割り当てる(ステップS107)。
そして、CPU101は、受信側端末であるIP電話機12A,12B,・・・のうちのいずれかからのRTPパケットまたはRTCPパケットを受信したか否か判別し(ステップS108)、受信したと判別したときには、受信したパケットのヘッダのSSRC値を、ステップS107で送信ポートに対して割り当てたSSRC値に書き換える(ステップS109)。そして、SSRC値を書き換えたパケットを、通信インターフェース104の送信ポートを通じて発信端末に対して送信する(ステップS110)。
ステップS108で、受信側端末からのパケットを受信してはいないと判別したときには、CPU101は、発信端末からのRTPパケットまたはRTCPパケットを受信したか否か判別し(ステップS111)、受信したと判別したときには、受信したパケットを、LANインターフェース107を通じて受信側端末に送る(ステップS112)。
ステップS110またはステップS112の次には、また、ステップS111で、発信端末からのパケットを受信してはいないと判別したときには、CPU101は、受信側端末から保留要求を受信したか否か判別し(図7のステップS121)、保留要求を受信してはいないと判別したときには、終話となったか否か判別し(ステップS122)、終話となったと判別したときには、終話処理を実行し(ステップS123)、この処理ルーチンを終了する。終話処理の際には、送信ポートに割り当てたSSRC値はクリアする。
ステップS122で、終話となってはいないと判別したときには、CPU101は、ステップS108に戻って、このステップS108以降の処理を繰り返す。
また、ステップS121で、保留要求を受信したと判別したときには、CPU101は、前述した保留シーケンスを実行して(ステップS124)、保留音を発信端末に送出する(ステップS125)。
そして、その後、保留解除要求を受信したか否か判別し(ステップS126)、受信してはいないと判別したときには、ステップS125に戻って、保留音の送出を継続する。また、ステップS126で、保留解除要求を受信したと判別したときには、CPU101は、前述した保留解除シーケンスを実行して、保留中の呼を、保留解除要求をした受信側端末に転送する(ステップS127)。そして、ステップS108に戻って、このステップS108以降の処理を繰り返す。
[第2の実施形態]
第2の実施形態は、呼を転送するときに、転送元端末から送出されるRTPパケットおよびRTCPパケットのSSRC値を転送先端末に通知しておき、転送先端末では、当該通知されたSSRC値を使用して、RTPパケットおよびRTCPパケットを送出するようにする。
図8は、この第2の実施形態における手法を説明するための概念構成図を示すものである。
この第2の実施形態では、図8(A)に示すように、保留転送前の通話状態では、交換装置11は、第1の実施形態のようなSSRC値の書き換えは行わず、図17(A)に示した従来例と同様とされる。
すなわち、図8(A)の例は、IP電話機12Aと、外部のIP電話機21との間での呼が成立して通話をしている状態であるが、IP電話機12Aから送出されたRTPパケットおよびRTCPパケットのSSRC値は「101」で、それが交換装置11では書き換えられずに相手方端末であるIP電話機21に送られる。
そして、IP電話機12Aで呼の保留転送の処理がなされたとき、転送元であるIP電話機12Aが用いていたSSRC値を、転送先である、この例では、IP電話機12Bに通知するようにする。
この場合に、転送元端末から転送先端末へのSSRC値の通知の方法としては、交換装置が介在して通知する方法と、転送元端末から転送先端末に直接的に通知する方法との2通りがある。その詳細については、後述する。
そして、呼の転送後は、図8(B)に示すように、転送先の端末であるIP電話機12Bは、転送先端末であるIP電話機12Aが使用していたSSRC値を、自端末が送出するRTPパケットおよびRTCPパケットのヘッダに含めて送出するようにする。
このため、IP電話機21では、IP電話機12Aからのパケットと、IP電話機12Bからのパケットとで、同じSSRC値を備えるパケットを受信する。したがって、RTP/RTCPの規格上の、BYEパケットを用いて前のSSRC情報を終了させる処理動作は不要となって、そのための遅延が生じないので、IP電話機21では、通話が途切れることなく継続される。
[第2の実施形態におけるハードウエア構成例]
この第2の実施形態で用いる交換装置11のハードウエア構成は、図3に示した交換装置11のハードウエア構成例において、SSRC値割り当て部108およびSSRC値書き換え部109を除去した構成にほぼ等しくなる。よって、ここでは説明は省略する。
また、この第2の実施形態で用いるIP電話機12A,12B,・・・のハードウエア構成は全て共通であるが、例えば図9に示すようなハードウエア構成となる。図9では、代表して、IP電話機12Aの構成として示している。
すなわち、この実施の形態のIP電話機12Aは、図9に示すように、IP電話機本体TEと、ハンドセットHSとからなる。ハンドセットHSは、図示を省略したが、送話器を構成するマイクロホンと、送話アンプと、受話器を構成するスピーカと、受話アンプとを備えている。
IP電話機本体TEは、マイクロコンピュータにより構成されており、CPU201に対して、システムバス200を介して、ROM202と、RAM203と、ディスプレイコントローラ204と、LEDドライブ部205と、操作入力インターフェース(図ではインターフェースはI/Fと記載する。以下同じ)206と、LANインターフェース207と、パケット処理部208と、音声データ入出力インターフェース209と、転送時SSRCメモリ210とが接続されている。
ROM202には、IP電話機としての発信時や着信時の処理シーケンスを実行するプログラム、保留・保留解除の要求入力を受け付け、保留・保留解除時の処理などを実行するためのプログラムが記憶されている。
RAM203は、主としてROM202のプログラムがCPU201によって実行される際にワークエリアとして使用される。
ディスプレイコントローラ204には、ディスプレイ211が接続されており、このディスプレイ211の表示画面には、CPU201の制御にしたがった表示が行われる。
また、操作入力インターフェース206には、テンキー、回線ボタンキー、保留キー、カーソルキー、保留解除キー、転送キーやその他の操作キーを含む操作入力部213が接続されている。CPU201は、操作入力インターフェース206を介して操作入力部213を通じて使用者がいずれの入力キーを操作したかを認識し、その認識結果に基づいて、キー入力操作に応じた処理をROM102のプログラムに従って実行する。
LEDドライブ部205には、回線キーやその他のボタンキーなどに関連した表示を行うための複数個のLEDからなるLED群212が接続されている。
LANインターフェース207は、IPネットワークを構成するLAN13を通じて送られてくるパケット化データを取り込み、また、LAN13にパケット化データを送出するための機能を備える。
パケット処理部208は、LANインターフェース207により取り込んだパケット化データを分解して、制御データや音声データを得る機能と、送信する制御データや音声データをパケット化して送出するパケット化データを生成する機能を有する。このパケット処理部208は、パケット化データを分解したり、生成したりするためのバッファメモリを備える。
なお、このパケット処理部208のパケット分解処理機能や生成処理機能は、CPU201が、ROM202に記憶されているプログラムに従って、RAM203をワークエリアとして用いて実行するソフトウエア処理として実現することもできる。
音声データ入出力インターフェース209は、パケット分解されて得られた音声データをアナログ音声信号に変換してハンドセットHSに供給し、また、ハンドセットHSから入力されるアナログ音声信号をデジタル信号に変換して取り込む機能を備える。
転送時SSRCメモリ210には、この実施形態では、転送時に取得した転送元端末で使用されていたSSRC値を記憶する。そして、この実施形態では、IP電話機は、転送されてきた呼の相手方端末との電話通信においては、この転送時SSRCメモリ210に記憶されているSSRC値を、自端末が送出するRTPパケットおよびRTCPパケットのヘッダに含めて送出するようにする。
[第2の実施形態のシーケンス例]
前述したように、転送元端末から転送先端末へのSSRC値の通知の方法としては、交換装置が介在して通知する方法と、転送元端末から転送先端末に直接的に通知する方法との2通りがある。先ず、前者の方法の場合のシーケンス例について説明する。
<交換装置が介在してSSRC値を通知する例>
図10および図11は、この例の場合におけるシーケンス例であり、前述の第1の実施形態の場合と同様に、IP電話機21からの発呼に基づくVoIP電話システム10への着信があり、IP電話機12Aがその着信に応答して呼が成立し、その後、IP電話機12AからIP電話機12Bに、当該呼が転送された場合における処理シーケンスである。
図10に示すように、先ず、IP電話機21からVoIP電話システム10への発信がなされると、呼出メッセージが、VoIP電話システム10の交換装置11に着信する。交換装置11は、LAN13に接続されている複数のIP電話機12A,12B,・・・に対して、一斉呼出を行い、複数のIP電話機12A,12B,・・・に対して着信通知をする。
この一斉呼出に対して、図10に示すように、VoIP電話システム10のIP電話機12Aが応答したとする。すると、IP電話機12Aは、応答メッセージを交換装置11に返す。交換装置11は、その応答メッセージをIP電話機21に対して送ると共に、これにより、IP電話機21とIP電話機12Aとの間に通話路が形成される。
そして、音声パケット(RTPパケット)による通話が開始されるが、その際に、第1の実施形態とは異なり、交換装置11は、IP電話機12AからのパケットのSSRC値を書き換えずに、IP電話機21に送信するようにする。通話中は、この状態を継続することとなる。
この通話中にIP電話機12Aで、IP電話機12Bへの保留転送のために、保留キーが操作されると、IP電話機12Aから保留準備のメッセージが交換装置11に送られる。交換装置11は、この保留準備メッセージのパケットに含まれるSSRC値を保持しておくと共に、準備完了のメッセージをIP電話機12Aに返す。
準備完了のメッセージを受け取ったIP電話機12Aは、転送指示メッセージを交換装置11に送る。交換装置11は、この転送指示メッセージに対してIP電話機12Aに転送了承のメッセージを送る。これにより、IP電話機12Aで通話中であった呼は、交換装置11に転送されて、交換装置11と、相手側のIP電話機21との間に保留中の通話路が形成される。そして、交換装置11は、保留音を相手方のIP電話機21に送出する。IP電話機21では、この保留音を聴取しながら、保留が解除されるのを待つ。
この保留状態において、保留操作をしたIP電話機12Aの使用者が、口頭でIP電話機12Bの使用者に転送指示を伝えたり、または、IP電話機12Aの使用者が、IP電話機12Bを内線通話により呼び出して、その使用者に転送指示を伝えたりする。この転送指示を受けたIP電話機12Bの使用者は、保留解除要求の操作をIP電話機12Bに対して行う。
そして、図11に示すように、転送先であるIP電話機12Bで使用者により保留解除要求の操作がなされると、当該IP電話機12Bは、当該保留されている回線についての回線接続要求を交換装置11に送る。
交換装置11は、この保留中の回線の回線接続要求(保留解除要求に相当)を受け取ると、回線接続受付メッセージをIP電話機12Bに返す。この際、この例では、この回線接続受付メッセージには、転送元端末であるIP電話機12Aで使用されていた、保持しているSSRC値を含めて、転送先であるIP電話機12Bに通知するようにする。
この回線接続受付メッセージを受けたIP電話機12Bは、当該回線接続受付メッセージに含まれる転送元端末で使用されていたSSRC値を取得して、転送時SSRCメモリ210に記憶保持するようにする。
これにより、呼がIP電話機12Bに転送され、IP電話機12Bは、音声パケット(RTPパケット)の送出を開始するが、その際に、当該IP電話機12BからのパケットのSSRC値を、転送時SSRCメモリ210に記憶保持した転送元端末が使用していたSSRC値として、IP電話機21に送る。
したがって、IP電話機21では、IP電話機12Aと通話中に受信したパケットのSSRC値と同じSSRC値を備えるパケットを、IP電話機12Bから受信する。よって、IP電話機21では、通話が途切れることなく継続される。
なお、上述のシーケンス例では、転送元端末のSSRC値は、交換装置11から転送先であるIP電話機12Bに送出する回線接続受付メッセージに含めて送るようにしたが、SSRC値を、交換装置11から転送先端末に送るタイミングは、この例に限られず、例えば、IP電話機12Bからの保留解除要求に対して交換装置11が送るその他のメッセージに含めて送るようにしてもよい。
[交換装置11での処理ルーチン]
図12およびその続きである図13は、上述の図10および図11のシーケンスにおける交換装置11での処理動作例のフローチャートである。すなわち、これは、外線着信に対して、VoIP電話システム10の複数のIP電話機のいずれかが応答したことにより、呼が成立した場合における保留転送時の処理例のフローチャートである。
なお、この図12および図13における各ステップの処理は、交換装置11のCPU101が、ROM102のプログラムにしたがって、RAM103をワークエリアとして用いて実行するものである。
先ず、CPU101は、着信を待ち(ステップS131)、着信がないと判別したときには、その他の処理を実行する(ステップS132)。そして、ステップS131で、着信があったと判別したときには、CPU101は、LAN13に接続されている複数個のIP電話機12A,12B,・・・に対して一斉呼出を送り、着信を通知する(ステップS133)。
次に、CPU101は、この一斉呼出に対して、複数個のIP電話機12A,12B,・・・のうちのいずれかのIP電話機で応答操作がなされたことに基づく応答メッセージを受信したか否かを判別する(ステップS134)。このステップS134で、応答メッセージを受信してはいないと判別したときには、CPU101は、発信側が着信を断念したなどに基づいて、着信が消滅したか否か判別し(ステップS135)、着信が消滅したと判別したときには、この処理ルーチンを終了する。また、ステップS135で、着信が消滅してはいないと判別したときには、CPU101は、ステップS134に戻って、応答メッセージの受信を待つ。
ステップS134で、応答メッセージを受信したと判別したときには、発信端末に対して応答メッセージを送出して通話路を生成する(ステップS136)。
そして、CPU101は、受信側端末であるIP電話機12A,12B,・・・のうちのいずれかからのRTPパケットまたはRTCPパケットを受信したか否か判別し(ステップS137)、受信したと判別したときには、受信したパケットを、通信インターフェース104の送信ポートを通じて発信端末に対して送信する(ステップS138)。
ステップS137で、受信側端末からのパケットを受信してはいないと判別したときには、CPU101は、発信端末からのRTPパケットまたはRTCPパケットを受信したか否か判別し(ステップS139)、受信したと判別したときには、受信したパケットを、LANインターフェース107を通じて受信側端末に送る(ステップS140)。
ステップS138またはステップS140の次には、また、ステップS139で、発信端末からのパケットを受信してはいないと判別したときには、CPU101は、受信側端末から保留要求を受信したか否か判別し(図13のステップS151)、保留要求を受信してはいないと判別したときには、終話となったか否か判別し(ステップS152)、終話となったと判別したときには、終話処理を実行し(ステップS153)、この処理ルーチンを終了する。
ステップS152で、終話となってはいないと判別したときには、CPU101は、ステップS137に戻って、このステップS137以降の処理を繰り返す。
また、ステップS151で、保留要求を受信したと判別したときには、CPU101は、前述した保留シーケンスを実行して(ステップS154)、保留音を発信端末に送出する(ステップS155)。
そして、その後、保留解除要求を受信したか否か判別し(ステップS156)、受信してはいないと判別したときには、ステップS155に戻って、保留音の送出を継続する。また、ステップS156で、保留解除要求を受信したと判別したときには、CPU101は、前述した保留解除シーケンスを実行して、保留中の呼を、保留解除要求をした受信側端末に転送するとともに、転送元端末で使用されていたSSRC値を転送先端末に通知する(ステップS157)。そして、ステップS137に戻って、このステップS137以降の処理を繰り返す。
[IP電話機での処理ルーチン]
図14および図15は、第2の実施形態において、上述の図10および図11のシーケンスを実現するためのIP電話機での処理動作例のフローチャートである。これは、外線着信に対して、VoIP電話システム10の複数のIP電話機が応答したことにより、呼が成立した場合における保留転送時の処理例のフローチャートである。
図14のフローチャートは、IP電話機に着信があったときに起動されてスタートする。また、図15のフローチャートは、IP電話機における保留解除操作に基づく処理動作例である。いずれも、IP電話機のCPU201が、ROM202のプログラムにしたがって、RAM203をワークエリアとして用いて実行するものである。
先ず、着信がIP電話機にあると、CPU201は、リンガーを鳴動させるなどして、着信を使用者に報知する(ステップS201)。そして、CPU201は、使用者により着信に対する応答操作がなされたか否か判別し(ステップS202)、応答操作がなされていないと判別したときには、着信が消滅したか否か判別し(ステップS203)、着信が消滅したと判別したときには、着信報知を停止して、この処理ルーチンを終了する。ステップS203で、着信が消滅してはいないと判別したときには、CPU201は、ステップS201に戻り、着信報知を続けて、使用者の応答を待つ。
そして、ステップS202で、応答操作がなされたと判別したときには、CPU201は、着信報知を停止すると共に、応答メッセージを交換装置11を通じて相手側端末に送る(ステップS204)。その後、通話路を生成して通話状態になり、CPU201は、自己のSSRC値を送信するRTPパケットおよびRTCPパケットに含めて相手方に送出するようにする(ステップS205)。
そして、CPU201は、使用者により保留操作がなされたか否か判別し(ステップS206)、保留操作はなされていないと判別したときには、終話となったか否か判別し(ステップS207)、終話とはなっていないと判別したときには、ステップS205に戻り、通話状態を継続する。そして、ステップS207で、終話となったと判別したときには、転送時SSRCメモリ210に記憶保持されていたSSRC値を消去するなど、終話処理をして、この処理ルーチンを終了する。
また、ステップS206で、保留操作がなされたと判別したときには、前述した保留シーケンスを実行し(ステップS209)、この処理ルーチンを終了する。
そして、このIP電話機では、呼が保留中であるときには、保留解除要求の操作を受付が可能であり、CPU201は、保留解除要求の操作がなされたか否か判別し(ステップS211)、なされていないと判別したときには、その他の処理を実行する(ステップS212)。
ステップS211で、保留解除要求の操作がなされたと判別したときには、CPU201は、保留解除シーケンスを実行し(ステップS213)、前述したようにして、当該保留解除シーケンスの際に転送元端末のSSRC値を取得して、転送時SSRCメモリ210に記憶保持する(ステップS214)。
そして、CPU201は、転送が完了したか否か判別し(ステップS215)、転送が完了したと判別したときには、転送時SSRCメモリ210に記憶保持しているSSRC値を、自己が送出するRTPパケットおよびRTCPパケットのヘッダのSSRC値として含めて、相手方に送信するようにして通話を行う(ステップS216)。そして、図14のステップS206に進み、前述したこのステップS206以降の処理を繰り返す。
<転送元端末から転送先端末に直接的にSSRC値を通知する例>
上述したように、呼を転送する場合に、上述の説明では、着信に応答したIP電話機12Aの使用者が、転送先であるIP電話機12Bの使用者に口頭で伝える場合もあるが、この例の場合には、転送は、口頭では行わず、必ず、転送先に対して、例えば転送のための内線呼出を行い、内線通話により転送先に転送を伝えるようにする。そして、この例のIP電話機は、転送キーを備えるようにする。
そして、内線呼出に対して転送先のIP電話機が応答して内線通話を行われ、転送が告げられたとき、この例のIP電話機では、内線呼出が転送のための内線呼出であると判断して、使用者は転送キーを操作するようにする。
すると、当該転送キーが操作されたIP電話機では、そのときに内線通話をしていた相手方、つまり、転送元からのパケットに含まれるSSRC値を抽出して、転送時SSRCメモリ210に記憶保持するようにする。
そして、保留中の呼についての保留解除要求をして、通話可能状態にしたときには、上述の実施形態と同様にして、転送時SSRCメモリ210に記憶保持されているSSRC値を、送信するRTPパケットおよびRTCPパケットに含めて相手方に送出するようにする。
なお、上述の例では、転送キーを操作することで、転送元からのパケットに含まれるSSRC値を取得するようにしたが、内線通話のときに、転送元からのパケットに含まれるSSRC値を一時保持しておき、内線通話の後に、保留解除要求操作をしたときに、一時保持していたSSRC値を、転送時SSRCメモリ210に書き込むようにしても良い。この例の場合には、転送キーは設ける必要がない。
なお、保留解除要求をして通話状態にした呼が終話となったら、転送時SSRCメモリ210に記憶保持されていたSSRC値を消去するようにするのは、前述した通りである。
この例によれば、交換装置11は、保留転送時に、転送元のSSRC値を転送先に送る処理動作には、関与する必要がないので、従来の構成のままで良いというメリットがある。
[他の実施形態および変形例]
上述の実施の形態では、VoIP電話システム10側で着信を受けたときに成立した呼についての転送時の処理例について説明したが、この発明は、VoIP電話システム10のいずれかのIP電話機から発信をして成立した呼についての転送時においても、同様に適用することができることは、言うまでもない。
なお、上述の実施形態は、VoIP電話システム内のIP電話機が、交換装置およびIP網を通じて相手方IP電話機と電話通信を行なう場合の例であるが、この発明は、LAN13に外線ゲートウエイを接続し、当該外線ゲートウエイに対して、PSTN(Public Switched Telephone Network;公衆電話網)を接続するようにした場合において、PSTNに接続される一般電話機との間で電話通信を行なう場合にも、適用できる。ただし、その場合には、交換装置は、外線ゲートウエイを通じて、一般電話機と接続されるもので、この発明は、交換装置と外線ゲートウエイとの間での通信に適用される。
10…VoIP電話システム、11…交換装置、12A,12B,・・・…IP電話機、13…LAN、108…SSRC値割り当て部、109…SSRC値書き換え部、210…転送時SSRCメモリ