以下、本発明の実施の形態について説明する。
図1は、本発明のIP電話端末10を含むIP電話システム60の全体構成図である。
図示するように、本システムはIP網50を介して接続するIP電話システム60とIP電話システム61とから構成される。
IP電話システム60は、LAN(Local Area Network)30に接続する複数のIP電話端末10(1〜N)と、複数のIP電話端末10の呼制御を行う呼制御サーバ20と、LAN30とIP網50の間に流れる通信データを中継するルータ40とから構成される。
IP電話システム61は、LAN31に接続する複数のIP電話端末11(1〜M)と、複数のIP電話端末11の呼制御を行う呼制御サーバ21と、LAN31とIP網50との間に流れる通信データを中継するルータ41とから構成される。
ここで、IP電話システム60とIP電話システム61は同一の構成とであり、IP電話端末10とIP電話端末11を以降、IP電話端末10として説明する場合がある。同様に、ルータ40とルータ41、呼制御サーバ20と呼制御サーバ21も以降、ルータ40、呼制御サーバ20として説明する場合がある。
IP電話端末10は、呼制御サーバ20に帰属し、ルータ40を介してIP網50上の通話先と通話する電話機能を持つ。具体的にIP電話端末10は、呼制御サーバ20と連携してSIP(Session Initiation Protocol)を用いた呼接続処理を行い、呼制御サーバ20がルータ40と連携してIP網50上の通話先との通話路(通話パス)を構築する。また、IP電話端末10は、呼制御サーバ20に接続要求を送信して、呼制御サーバ20から接続不可の応答を受信すると、呼制御サーバ20から呼制御サーバ20が管理する通話回線の使用状況を取得し、該通話回線の何れかが選択されると、当該通話回線を使用しているIP電話端末10の通話パスを介して接続要求先と通話を実現する中継通話機能を有する。また、IP電話端末10は、通話中に、IP電話システム60内の他のIP電話端末10(以下、他IP電話端末)から送られた呼制御データならびに音声データを、自IP電話端末が通話先に送る音声データに多重化して多重化音声データとして通話先に送信し、多重化音声データ受信すると逆多重化して他IP電話端末に音声データを中継する多重化通話機能を有する。
呼制御サーバ20は、ルータ40と連携して、IP網50上のIP電話端末との通話パスを構築する。また、呼制御サーバ20は、自呼制御サーバ20に帰属するIP電話端末10の何れかからの状態要求を受信すると、当該IP電話端末へ自呼制御サーバ20が管理する通話回線の使用状況として通話元と通話先のIP電話端末の端末情報(IPアドレス、内線番号、通話先電話番号等)をIP電話端末20へ送信する。
ルータ40は、LAN30上に接続する通信端末(IP電話端末10、呼制御サーバ20を含む)から通信データを受信すると、IP網50上の送信先へ通信データを中継する。また、ルータ40は、IP網50上の端末から受信した通信データをLAN30上に接続する通信端末へ通知するルータ機能を有する。また、ルータ40は、IP網50上の他のルータと連携して、IP電話端末10が発信した発信先のIP電話端末との間に通話データ送受信用の専用パス(VPN等)を設定する通話パス設定機能を有する。
図2は、本発明のIP電話端末10を含むIP電話システム60,61間で多重化通話処理を実現する処理シーケンスである。尚、本シーケンスの前提条件として予めIP電話端末10−2とIP電話端末11−1はIP網50を介して呼を確立して通話パスを設定し、通話中であるものとする。また、呼制御サーバ20は、呼制御サーバ20がIP電話サービスプロバイダと契約している契約回線数(IP加入者線)が全て使用中であるものとする。
IP電話端末10−2とIP電話端末11−1間で通話中に(S201)、IP電話端末10−1は、IP電話端末10−1のユーザによってIP電話端末11−2宛へ発信操作を検知すると、呼制御サーバ20宛に接続要求を送信する(S202)。接続要求を受信した呼制御サーバ20は、契約回線数が全て使用中と判定して(S203)、IP電話端末10−1へ接続不可の応答を送信する(S203)。
接続不可の応答を受信したIP電話端末10−1は、次に回線情報を要求する回線情報要求を送信する(S204)。ここで、回線情報とは、呼制御サーバ20が契約している回線の内、通話によって使用しているIP電話端末10の端末情報および通話先のIP電他端末の端末情報を意味する。回線情報要求を受信した呼制御サーバ20は、自呼制御サーバが管理している回線情報をIP電話端末10−1へ送信する(S205)。また、ここで「接続要求」、「呼出中」、「接続不可」は、SIPメッセージにおける「INVITEメッセージ」、「180Ringingメッセージ」、「BUSYメッセージ」をそれぞれ意味し、「回線情報要求」、「回線情報」は、SIPメッセージにおける「SUBSCRIBE」、「NOTIFY」をそれぞれ意味する。
尚、本実施例では、IP電話端末10−1が「回線情報要求」を送信しているが、本願はこれに限定しない。ユーザが予め中継先の番号を知っていて直接入力操作を受付けるようにしてもよい。これにより、呼制御サーバ20は、回線情報SIPメッセージによる「SUBSCRIBE」、「NOTIFY」を送受信する機能を具備していなくともよい。
図の説明に戻る。回線情報を受信したIP電話端末10−1は、回線情報から通話中端末を自IP電話端末の表示部(マンマシンインターフェース部)に表示し(S206)、ユーザの選択操作を待つ。ここで、表示された通話中端末のなかにユーザが自分の通話したい通話先のIP電話端末と同じ電番号体系またはアドレス体系(IPアドレス)の通話中端末があり、ユーザが当該通話先を選択したとする。
ユーザによって通話中端末が選択されると、当該通話中端末を中継先としてIP電話端末10−2宛に多重化要求を送信する(S207)。
ここで多重化要求とは、IP電話端末10−2(以下、中継先と呼称することもある)に対して自IP電話端末10−1(以下、要求元と呼称することもある。)の音声パケットを多重化して通話先のIP電話端末11−2(以下、通話先と呼称することもある。)への音声中継を要求する制御コマンドである。尚、多重化要求のように、IP電話システム60内のIP電話端末10間で送受信される制御コマンドを中継コマンドと呼称する。
尚、本実施例では、IPステップ電話端末10−1のユーザ操作により中継先を選択しているが、本願はこれに限定しない。呼制御サーバ20から直接中継先の端末情報を受信し多重化要求するようにしてもよい。具体的には、呼制御サーバ20は、IP電話端末20の通話を確立する際、接続要求を送信した送信元のIP電話端末(通話中端末)に対応付けて、通話先のIP電話端末、および接続要求を中継する呼制御サーバ(通話先のIP電話端末が帰属している呼制御サーバ)を履歴情報として記憶し、契約回線が全て使用中の場合に所定のIP電話端末から接続要求を受信すると、呼制御サーバ20は、当該接続要求に含まれる中継すべき呼制御サーバを抽出して、抽出した呼制御サーバが履歴情報にあるか否かを参照し、履歴情報にある場合は当該履歴情報に対応する通話中端末を接続要求の要求元に送信する。これにより、ユーザの中継先の選択操作が不要となる。
図の説明に戻る。多重化要求を受信したIP電話端末10−2は、特定音パケットを生成して、生成した特定音パケットを通話先のIP電話端末11−1へ送信する(S208)。
ここで特定音パケットとは、中継先へ送信する音声パケット(RTPパケット)であり、RTPペイロードの値が全て0の音声パケットを意味する。
尚、本実施例では、特定音パケットをRTPペイロードの値が全て0の音声パケットとしているが本願はこれに限定されない。音声パケットの送信先が、通常の音声パケットと識別できるものであればなんでもよい。例えば、RTPペイロードの値が全て1であってもよいし、特定のビット値であってもよい。また、通話時に送信される音声パケットのシーケンス番号の値を所定値に変更する(例えば、送信する音声パケットをコピーし、送信するシーケンス番号を100加算して送信する等。)ようにしてもよい。これによって、音声パケットに重畳してコマンドを送るので、通話先のIP電話端末に特定の制御コマンドを送信するためルータ、サーバの制御を考慮しなくてもよい。また、例え通話先が特定音パケットを検知できないIP電話端末であったとしても、当該IP電話端末ではシーケンス番号エラーとして再生されないので、中継先の通話に影響を及ぼさない。
図の説明に戻る。IP電話端末11−1は、IP電話端末10−2が送信した音声パケットから特定音パケットを検知すると(S209)、自IP電話端末10が多重化可能か否かを判定し(ここでは多重化可能と判定したものとする。)(S210)、多重化可能の旨の特定音パケットをIP電話端末10−2へ送信する(S211)。さらにIP電話端末11−1は多重化を開始する(S212)。
IP電他端末10−2は、IP電話端末11−1が送信した音声パケットから特定音パケットを検知すると(S213)、自IP電話端末が多重化可能か否か判定し(ここでは多重化可能と判定したものとする。)(S214)、IP電話端末10−1に多重化可能を送信する(S216)。さらにIP電他端末10−2は、多重化を開始する(S212)。ここで多重化可能とは、多重化要求に対して多重化可能の応答を意味する中継コマンドである。
多重化可能を受信したIP電話端末10−1は、IP電話端末10−2を中継先として記憶し、IP電話端末11−2宛の接続要求をIP電話端末10−2へ送信する(S217)。接続要求を受信したIP電話端末10−2は、IP電話端末10−1を中継先(IP電話端末10−2からみた場合)として記憶し、多重化して通話先のIP電話端末11−1へ送信する。多重化された接続要求を受信したIP電話端末は接続要求の送信先のIP電話端末11−2を中継先として記憶し、IP電話端末11−2へ接続要求を送信する。
接続要求を受信したIP電話端末11−2はIP電話端末11−1を中継先(IP電話端末11−2からみた場合)として記憶し、IP電話端末10−1へ呼出中を送信する(S218)。そして、IP電話端末10−1とIP電話端末11−2間で呼接続処理を行い(S219)、通話を実現する(S220)。
以下、多重化通話のうち、IP電話端末10−1、IP電話端末11−2のように中継先を介して自IP電話端末が通話を実施することを中継通話と呼称する。またIP電話端末10−2、IP電話端末11−1のように他IP電話端末10の通話を中継するとともに自IP電話端末の通話を実行することを多重化通話と呼称する。
図3は、本発明のIP電話端末10を含むIP電話システム60、61間で多重化通話による通話を実行中に通話が切断された場合の処理シーケンスである。また、前提条件として予めIP電話端末10−2とIP電話端末11−1がIP網50を介した多重化通話を実施し、さらにIP電話端末10−2とIP電話端末11−1を中継元、中継先としてIP電話端末10−1とIP電話端末11−2が中継通話を実現しているものとする。
ここで多重化通話を実行中のIP電話端末10−2のユーザによる切断操作を検知したとする(例えばオフフック)。すると切断操作を検知したIP電話端末10−2は、IP電話端末10−1へIP電話端末10−1の通話の切断指示を送信する(S301)。
切断指示を受信したIP電話端末10−1は通話先のIP電話端末11−2へ終話要求を送信し、強制的に終話処理を行い、通話を切断する(S302)。
終話処理が完了すると、IP電話端末10−1は切断完了をIP電話端末10−2に送信する(S303)。
ここで切断指示とは中継通話をしているIP電話端末間の通話の切断を指示する中継コマンドであり、また、切断完了とは中継通話の終話処理が完了したことを意味する中継コマンドである。
切断完了を受信したIP電話端末10−2は、通話先のIP電話端末11−1へ特定音パケットを送出する(S304)。そして、IP電話端末10−2は、自電話端末の多重化・中継処理を停止するとともに(S305)、呼制御サーバ20へ自電話端末が通話中の呼を中継先である電話端末10−1へ転送する転送要求を送信する。転送要求を受信した呼制御サーバ20は、電話端末10−1に転送要求を中継する。そして呼制御サーバ20から転送要求を受信したIP電話端末10−1は、転送要求を要求した要求元が中継先であるIP電話端末10−2であった場合に、自動応答し、転送処理を行う(S306)。
一方、特定音パケットを検知したIP電話端末11−1は、当該特定音パケットを転送指示と判断して(S307)自電話端末の多重化・中継処理を停止する(S308)。
そして、IP電話端末11−1は、呼制御サーバ21へ通話中の呼を中継先である電話端末11−2へ転送する転送要求を送信する。転送要求を受信した呼制御サーバ21は、電話端末11−2に転送要求を中継する。呼制御サーバ21から転送要求を受信したIP電話端末11−2は、転送要求を要求した要求元が中継先であるIP電話端末10−2であった場合に、自動応答し、転送処理を行う(S309)。IP電話端末10−2およびIP電話端末11−1各々の転送処理が完了すると、IP電話端末10−1およびIP電話端末12−2の通話が確立される(S310)。
図4は、本発明のIP電話端末10の機能ブロック図である。
図示するようにIP電話端末10は、接続インターフェース部101と、通信制御部102と、呼制御部103と、端末制御部104と、マンマシンインターフェース部105と、主制御部106と、通話制御部107と、エンコード・デコーダ部108と、ハンドセット109と、中継コマンド送受信部110と、特定音パケット生成部111と、特定音パケット監視部112と、中継処理部113とから構成される。
接続インターフェース部101は、ネットワーク(LAN30,31)に接続するための接続インターフェースである。
通信制御部102は、IP電話端末10の通信機能全般を制御する。
呼制御部103は、IP電話端末10の呼接続機能全般を制御する。また、呼制御部103は、主制御部106からの指示に応じて自動転送処理や自動終話処理を行う。
また、呼制御部103は、呼制御サーバ20へ接続要求を送信した際、呼制御サーバ20から接続不可の応答を受信すると通話状態要求を送信する。通話状態要求の応答として呼制御サーバ20から通話状態情報を受信すると、呼制御部103は、主制御部106に通話状態情報を渡す。また、呼制御部103は、他IP電話端末10から当該他IP電話端末10を中継して別IP電話端末10の接続要求を受信した場合に、当該中継先を介した呼接続処理を実施する。
端末制御部104は、IP電話端末10の端末機能全般を制御する。また、端末制御部104は、マンマシンインターフェース部105からの操作に応じて主制御部106に操作情報を渡す。また、端末制御部104は、主制御部106から表示情報とともに表示の指示を受付けるとマンマシンインターフェース部105に表示情報を表示させる。
マンマシンインターフェース部105は、ダイヤルキー等、ユーザからの入力を受付ける入力部およびLCD等ユーザへ情報を伝達するための出力部を有するインターフェース部である。
主制御部106は、呼制御部103、端末制御部104、通話制御部107、中継コマンド送受信部110、特定音パケット生成部111、特定音パケット監視部112と連携し、本発明の多重化通話・中継通話の処理全般を制御する。また、主制御部106は、自IP電話端末が多重化可能か否かを判定する。具体的に、主制御部106は、後述する通話制御部107の通話処理部1071を監視して、当該通話処理部1071が実行中であったならば通話可能と判断し、それ以外は通話不可と判断する。
尚、本実施例では、主制御部106の多重化可能か否かの判定は、通話処理部1071が実行中であったならば通話可能と判断し、それ以外は通話不可と判断している。つまり、多重化できるのは1通話のみに限定しているが、本願はこれに限定しない。2通話以上の複数の通話を多重化して通話するようにしてもよい。
通話制御部107は、通信制御部102と接続し、呼制御部103が確立した通話に係る音声パケットの送受信を制御する。また、通話制御部107は、通話処理部1071、中継通話処理部1072、多重化通話処理部1073を備え、自IP電話端末の通話状態に応じて各通話処理を切り替える。
通話処理部1071は、通話先と通話を行う際に音声パケット処理を行う。具体的に通話処理部1071は、通話先から音声パケットを受信すると受信した音声パケットの音声データをエンコーダ・デコーダ部108に渡し、エンコーダ・デコーダ部108から音声データを渡されると通話先への音声パケットに変換して通信制御部102へ渡す。
中継通話処理部1072は、自IP電話端末が中継通話を行う際に音声パケット処理を行う。具体的に中継通話処理部1072は、中継先から音声パケットを受信すると受信した音声パケットの音声データをエンコーダ・デコーダ部108に渡し、エンコーダ・デコーダ部108から音声データを渡されると中継先への音声パケットに変換して通信制御部102へ渡す。
多重化通話処理部1073は、自IP電話端末が多重化通話を行う際に音声パケット処理を行う。具体的に多重化通話処理部1073は、中継先から音声パケットを受信すると受信した多重化音声データを逆多重化し、逆多重化したデータの内、自IP電話端末宛のデータを音声データとしてエンコーダ・デコーダ部108に渡し、それ以外のデータを中継処理部113へ渡す。また、多重化通話処理部1073は、エンコーダ・デコーダ部108から音声データを渡され、中継処理部113から音声データや呼制御データを渡されると多重化音声データに変換するとともに通話先への音声パケットに変換して通信制御部102へ渡す。
エンコーダ・デコーダ部108は、ハンドセット109から渡された音声信号を音声データにエンコードして通話制御部107に渡す。またエンコーダ・デコーダ部108は、通話制御部107をデコードしてハンドセット109に渡す。
ハンドセット109は、送受話用のマイク・スピーカを備え、エンコーダ・デコーダ部108から渡された音声信号をスピーカから出力する。また、ハンドセット109のマイクから入力された発話音声を音声信号に変換してエンコーダ・デコーダ部108に渡す。
中継コマンド送受信部110は、主制御部106からの指示に応じてIP電話システム60内の他IP電話端末と通信するための中継コマンドの送受信を行う。また、特定の中継コマンドを受信すると主制御部106へ渡す。
特定音パケット生成部111は、主制御部106からの指示に応じて特定音パケットを生成し、通信制御部102を介して通話先に生成した特定音パケットを送信する。
特定音パケット監視部112は、通信制御部102が送受信する通話先からの音声パケットに、特定音パケットがあるか否かを監視し、特定音パケットを検知すると、主制御部106に通知する。
中継処理部113は、自IP電話端末10が、多重化通話を実行中に、中継先のIP電話端末10から音声パケットまたは呼制御パケットの送受信を中継する。具体的には、中継処理部113は、中継先から音声パケットまたは呼制御パケットを受信すると、当該音声パケットから音声データまたは呼制御データに変換して通話制御部107に渡す。また、中継処理部113は、通話制御部107から音声データ・呼制御データを受信すると音声パケットまたは呼制御パケットに変換して中継先のIP電話端末に送信する。さらに、中継処理部113は、主制御部106からのからIP電話端末のアドレスを渡されるとこれを中継先として記憶する。また、中継処理部113は、通話制御部107から渡された呼制御データが接続要求であった場合に当該接続要求の送信先のアドレスを中継先として記憶する。
図5は、本発明のIP電話端末10の動作フローチャートである。本フローは、IP電話端末10の電源が投入され発着信が可能な状態からスタートする。
まず、呼制御部103が他IP電話端末10から接続要求を受信する(S101)、または端末制御部104が(マンマシンインターフェース105を介して)ユーザの発信操作を受付ける(S103)、または呼制御部103が呼制御サーバ20から接続要求を受信する(S121)、の何れかを待つ。
他IP電話端末10から接続要求を受信すると(S101:Yes)、呼制御部103は、呼出中を接続要求の要求元であるIP電話端末10に送信する(S102)。そして、後述するステップ119へ移行する。
ユーザの発信操作を受付けると(S103:Yes)、端末制御部104は、呼制御部103に発信操作があったことを通知する。通知された呼制御部103は、発信操作で受付けた発信先を宛先とする接続要求を呼制御サーバ20へ送信する(S104)。そして、呼制御部103が呼制御サーバ20から呼出中を受信する(S105)、または呼制御部103が接続不可を受信する(S106))、の何れかを待つ。
呼制御サーバ20から呼出中を受信すると(S105:Yes)、呼制御部103は、後述するステップ122へ移行する。
呼制御サーバ20から接続不可を受信すると(S106:Yes)、呼制御部103は、呼制御サーバ20へ通話状態要求を送信する(S107)。そして、呼制御部103は、呼制御サーバ20から「通話状態情報」を受信し、受信した通話状態情報を主制御部106に渡す。渡された主制御部106は、通話状態情報に含まれる中継先候補を端末制御部104に渡す。渡された端末制御部104はマンマシンインターフェース部105の表示部に中継先候補を表示する(S108)。そして、端末制御部104がユーザの中継先候補を選択する中継先候補選択操作を受付ける(S109)、または端末制御部104がオフフック等、ユーザの切断操作を受付ける(S110)の何れかを待つ。
ユーザの中継先候補選択操作を受付けると(S109:Yes)、端末制御部104は、主制御部106へ中継先候補を渡す。渡された主制御部106は、中継コマンド送受信部110へ中継先候補のIP電話端末への多重化要求の送信を指示し、指示された中継コマンド送受信部110は多重化要求を送信する(S111)。
そして、中継コマンド送受信部110が中継先から多重化不可を受信するまたは中継先から多重化要求を送信して応答(多重化可能,多重化不可)が無いまま一定時間が経過する(S112)、または中継コマンド送受信部110が多重化可能を受信する(S115)、の何れかを待つ。ここで多重化不可とは、多重化要求に対して多重化ができない旨を意味する中継コマンドである。
多重化不可を受信した場合または一定時間応答無の場合(S112:Yes)、中継コマンド送受信部110は、主制御部106へ多重化不可を渡す。渡された主制御部106は、端末制御部104に自IP電話端末10に選択された通信回線による中継通話処理が不可能である旨を表示するよう指示し、指示された端末制御部104は、中継不可をマンマシンインターフェース部105の表示部に表示する。さらに端末制御部104は、ステップ108で表示した通話回線の使用状況の内、中継通話処理が不可能と判定された通話回線以外の使用状況をマンマシンインターフェース部105の表示部に表示する(S114)。そして、ステップ109に戻る。
多重化可能を受信した場合(S115:Yes)、中継コマンド送受信部110は、主制御部106へ多重化可能を渡す。渡された主制御部106は、中継先候補呼制御部103へ中継先候補への接続要求を指示する。指示された呼制御部103は中継先候補へ接続要求を送信する(S116)。そして、呼制御部103が接続要求の応答として中継先候補から呼出中を受信する(S117)、または呼制御部103が接続要求の応答として中継先候補から接続不可を受信するまたは呼制御部103が接続要求の応答(呼出中,接続不可の)が無いまま一定時間が経過する(S118)、の何れかを待つ。
中継先候補から接続不可を受信した場合または接続要求の応答(呼出中,接続不可の)が無いまま一定時間が経過した場合(S118:Yes)、ステップ114に移行する。
中継先から呼出中を受信すると(S117:Yes)、呼制御部103は、主制御部106に呼出中の旨を渡し、中継先候補を介して通話先との呼接続処理を行う。渡された主制御部106は、通話制御部1072へ中継先候補を中継通話の中継先として記憶するよう指示するとともに、通話制御部107に中継通話処理部1072への切替を指示する。指示された通話制御部1072は中継先候補のアドレスを中継通話の中継先として記憶する。また、指示された通話制御部107は中継通話処理部1072を起動して中継通話処理を開始する(S119)。そして、後述する中継通話処理のサブフローを実行する(S120)。そして、本フローを終了する。
呼制御サーバ20から接続要求を受信した場合(S121:Yes)、呼制御部103は、接続要求の要求元へ呼出中を送信する(S122)。さらに、呼制御サーバ20を介して通話先との呼接続処理を行い、後述する通話処理のサブフローを実行する(S123)。そして、本フローを終了する。
図6は、図5で説明したIP電話端末の通話処理に係る動作フローチャートである。
通話が開始されると主制御部106は、特定音パケット監視部112へ特定音パケットの監視を指示する。指示された特定音パケット監視部112は、通話先の音声パケットに特定音パケットの監視を開始する(S12401)。
次に、特定音パケット監視部112が特定音パケットを検知する(S12402)、または中継コマンド送受信部110が他IP電話端末10から多重化要求を受信する(S12407)、または呼制御部103が他IP電話端末10から接続要求を受信する(S12414)、または端末制御部104がユーザの切断操作を受付ける(12416)、または呼制御部103が、通話先からの終話要求を受信する(S12420)、のいずれかを待つ。
特定音パケットを検知した場合に(S12402:Yes)、特定音パケット監視部112は、主制御部106へ特定音を検知したことを通知する。通知された主制御部106は、通話制御部107を監視して多重化可能か否かを判別する(S12403)。
多重化不可と判定した場合(S12403:可)、ステップ12047へ移行する。
多重化可能と判定した場合(S12403:否)、主制御部106は、特定音パケット生成部111へ特定音パケットの生成・送出を指示し、指示された特定音パケット生成部111は通話先へ特定音パケットを送出する(S12404)。
次に主制御部106は、通話制御部107へ多重化通話の開始を指示し、指示された通話制御部107は、多重化通話処理部1073を起動して多重化通話を開始する(S12405)。そして、後述する多重化通話処理のサブフローを実行し(S12406)、ステップ12402へ移行する。
他IP電話端末10から多重化要求を受信した場合に(S12407:Yes)、中継コマンド送受信部110は、主制御部106へ多重化要求を渡す。渡された主制御部106は、特定音パケット生成部111へ特定音パケットの生成・送出を指示し、指示された特定音パケット生成部111は通話先へ特定音パケットを送出する(S12408)。
そして、特定音パケット監視部112が通話先との通話で送られる音声パケットから特定音パケットを検知する(S12409)、または主制御部106が一定時間特定音パケット監視部112から応答が無いことを検知する(S12412)、の何れかを待つ。
通話先から特定音パケットを検知した場合に(S12409:Yes)、特定音パケット監視部112は、主制御部106へ特定音パケットを検知したことを通知する。通知された主制御部106は、多重化可能か否かを判別する(S12410)。
多重化不可と判定した場合(S12410:否)、主制御部106は、中継コマンド送受信部110へ多重化不可の送信を指示する。指示された中継コマンド送受信部110は、多重化要求の要求元のIP電話端末へ多重化不可を送信する(S12413)。
多重化可能と判定した場合(S12410:可)、主制御部106は、中継コマンド送受信部110へ多重化可能の送信を指示し、指示された中継コマンド送受信部110は、多重化要求の要求元のIP電話端末へ多重化可能を送信する(S12411)。そしてステップ12405へ移行する。
一定時間、特定音パケットを検知しない場合(S12412:Yes)、ステップ12413へ移行する。
他IP電話端末10から接続要求を受信した場合(S12414)、呼制御部103は、主制御部106へ接続要求を渡し、渡された主制御部106は、通話中に中継通話の要求があったと判断して呼制御部103へ接続不可の送信を指示する。指示された呼制御部103は、要求元に接続不可を送信する(S12415)。そしてステップ12416へ移行する。
ユーザの切断操作を受付けると(12416:Yes)、端末制御部104は、主制御部106へ切断操作があったことを通知する。通知された主制御部106は、呼制御部103に終話要求の送信を指示するとともに、特定音パケット監視部112に特定音パケットの監視停止を指示する。指示された呼制御部103は終話要求を呼制御サーバ20へ送信し(S12417)、通話先との終話処理を行う(S12418)。また、指示された特定音パケット監視部112は、特定音パケットの監視を停止する(S12419)。
通話先からの終話要求を受信すると(S12420:Yes)、ステップ12419へ移行する。
図7は、図6で説明したIP電話端末10の多重化通話処理に係る動作フローチャートである。
まず、通話制御部107が通話先から多重化された接続要求を受信する(S12422)、または呼制御部103が多重化要求の要求元から接続要求を受信する(S12425)の何れかを待つ。
通話先から多重化された接続要求を受信すると(S12422:Yes)、通話制御部107は中継処理部113へ受信した接続要求の要求先のアドレスを中継先として記憶するよう指示する。指示された中継処理部113は、要求先のアドレスを中継先として記憶する(S1422)。そして中継処理部113は、中継先を通信先とする中継処理を開始する(S12425)。
図6のステップ12407で受信した多重化要求の要求元から接続要求を受信すると(S12423:Yes)、呼制御部103は、主制御部106へ接続要求を渡す。渡された主制御部106は、中継処理部113へ接続要求の要求元のアドレスを中継先として記憶するよう指示する。指示された中継処理部113は、要求元のアドレスを中継先として記憶する(S12424)。そしてステップ12425に移行する。
中継処理を開始すると、中継コマンド送受信部110が中継先から中継停止を受信する(S12426)、または特定音パケット監視部112が通話先から特定音パケットを検知する(S12428)、または端末制御部104がユーザの切断操作を受付ける(S12431)、の何れかを待つ。ここで中継停止とは、中継通話を行っているIP電話端末が中継通話を停止した際に送信される中継コマンドである。
中継先から中継停止を受信した場合(S12426:Yes)、中継コマンド送受信部110は、主制御部106へ受信した中継停止を渡す。渡された主制御部106は、通話制御部107へ多重化通話の停止を指示するとともに中継処理部113へ中継処理の停止を指示する。指示された通話制御部107は、多重化通話処理部1073の処理を停止し、中継処理部113は中継処理を停止する(S12427)。そして、図6に戻る。
通話先から特定音パケットを検知すると(S12428:Yes)、特定音パケット監視部112は、主制御部106へ特定音パケットを検知したことを通知する。通知された主制御部106は、通話制御部107へ多重化通話の停止ならびに中継処理部113へ中継処理の停止を指示するとともに、呼制御部103へ自IP電話端末の通話を中継先へ転送するように指示する。指示された通話制御部107は、多重化通話処理部1073の処理を停止し、中継処理部113は中継処理を停止する(S12429)。また、指示された呼制御部103は、呼制御サーバ20に対して転送要求を送信し、自IP電話端末の通話を中継先に転送処理する(S12430)。そして、本フローを終了する。
ユーザの切断操作を受付けると(S12431:Yes)、端末制御部104は、主制御部106へ切断操作があったことを渡す。渡された主制御部106は、中継コマンド送受信部110へ切断指示の送信を指示する。指示された中継コマンド送受信部110は、中継先へ切断指示を送信する(S12432)。そして、中継コマンド送受信部110は、中継先から切断完了が受信するのを待つ。切断完了を受信すると(S12433)、中継コマンド送受信部110は、主制御部106へ切断完了を受信したことを渡す。渡された主制御部106は、特定音パケット生成部111へ特定音パケットの送信を指示する。指示された特定音パケット生成部111は、通話先へ特定音パケットを送出する(S12434)。そして、ステップS12429へ移行する。
図8は、図5で説明したIP電話端末の中継通話処理に係る動作フローチャートである。
まず、中継コマンド送受信部110が中継先から切断指示を受信する(S12001)、または端末制御部104がユーザの切断操作を受付ける(S12007)、または呼制御部103が通話先からの終話要求を受信する(S12011)、の何れかを待つ。
中継先から切断指示を受信すると(S12001:Yes)、中継コマンド送受信部110は主制御部106へ切断指示を渡す。渡された主制御部106は、呼制御部103へ通話先との終話を指示する。指示された呼制御部103は通話先へ終話要求を送信し(S12002)、通話先との終話処理を行う(S12003)。終話処理が完了した呼制御部103は、主制御部106に通話が終了したことを通知する。通知を受けた主制御部106は、中継コマンド送受信部110へ切断完了の送信を指示する。指示された中継コマンド送受信部110は、切断完了の中継コマンドを送信する(S12004)。さらに、呼制御部103は呼制御サーバ20から転送要求を受信すると、当該転送要求に自動応答して転送処理する(S12006)。そして、図6で説明した通話処理に移行し(S124)、図5に戻る。
端末制御部104がユーザの切断操作を受付けると(S12007:Yes)、端末制御部104は呼制御部103へ切断操作があったことを通知する。通知された呼制御部103は、通話先への終話要求を送信し(S12009)、通話先との終話処理を実行する(S12009)。また、呼制御部103は、終話処理が完了すると、主制御部106へ終話したことを通知する。通知を受けた主制御部106は、中継コマンド送受信部110へ中継停止を中継先へ中継停止の中継コマンドを送信し(S12010)、図5に戻る。
通話先からの終話要求を受信した場合、(S12011:Yes)、ステップ12009へ移行する。
以上、本発明の一実施例について説明した。
本実施例によれば、IP電話端末10は呼制御サーバ20へ接続要求を送信した際に、接続不可の応答を受信すると、呼制御サーバ20が管理する通話中の回線情報を取得する。そしてIP電話端末10は通話中の回線の何れかが選択されると、該通話中の回線に対応するIP電話端末10へ多重化要求を送信する。そして、多重化要求を受信したIP電話端末10は、通話先のIP電話端末10に送信する音声パケットに多重化要求を要求したIP電話端末10からの呼制御データならびに音声データを多重化し、多重化した音声パケットを、通話先のIP電話端末10に送信する。通話先のIP電話端末10は、多重化された音声パケットを逆多重化し、多重化要求を要求したIP電話端末10からの呼制御データならびに音声データを対応するIP電話端末10へ送信する。多重化要求を要求したIP電話端末10からの呼制御データならびに音声データを受信したIP電話端末10は、送信してきたIP電端末10を中継先として、中継先を介し多重化要求を送信したIP電話端末10と通話を行う。
したがって、本発明のIP電話端末は、呼制御サーバ20が契約している回線数以上の通話が発生した場合に、通話したい発信先がすでに他IP電話端末によって通話用パスが設定されていたならば、多重化して契約回線数以上のセッションを確立することができる。また、本発明は、呼制御サーバ20に特殊な機能を設けずに、IP電話端末10のみで実現することができる。
また、本実施例によれば、IP電話端末10は、自IP電話端末が他IP電話端末10の音声データを多重化して通話先のIP電話端末10と通話している際に、ユーザによって通話が切断されると、多重化しているIP電話端末10へ通話の切断を指示し、多重化しているIP電話端末10の通話が切断されると、通話先に対して通話先が多重化しているIP電話端末10へ通話先の呼を転送させる。さらに、自IP電話端末の呼を多重化しているIP電話端末10へ転送処理する。
したがって、本発明のIP電話端末は、他IP電話端末10の音声データを多重化しているIP電話端末10が通話を切断しても、他IP電話端末10の通話を保持することができる。また、本発明は、呼制御サーバ20に特殊な機能を設けずに、IP電話端末10のみで実現することができる。