以下に、本願に開示する呼制御装置、中継装置、呼制御方法及びコンピュータプログラムを、IP電話システムに適用した各実施形態を示す図面に基づいて詳述する。
(実施形態1)
以下に、実施形態1に係るIP電話システムについて説明する。図1は実施形態1のIP電話システムの構成を示す模式図である。本実施形態1のIP電話システムは、例えば、会社又は事業所等で構築された社内LAN(Local Area Network)等の通信網N1と、インターネットを含む移動体通信網等の通信網N2とを有する。通信網N1では、パケット交換方式による通信がサポートされている。通信網N2では、回線交換方式による通信及びパケット交換方式による通信の両方がサポートされている。
本実施形態1のIP電話システムは、通信網N1及び通信網N2にそれぞれ接続されたSIPサーバ1、通信網N2に接続されたSMS(Short Message Service)サーバ3、通信網N1及び通信網N2を介して他の端末装置2との間で通信を行なう端末装置2,2…等を含む。SIPサーバ1は、本願に開示する呼制御装置であり、通信網N1及び通信網N2等のIPネットワークを介した端末装置2,2間の呼接続を制御する。SMSサーバ3は、一般的なSMSゲートウェイサーバであり、回線交換通信によるメッセージの送信機能を有する。
端末装置2は、通信網N1を使用できる範囲内に居る場合、通信網N1を介してSIPサーバ1との間でパケット交換通信を行なう。端末装置2は、通信網N1を使用できる範囲内に居ない場合、通信網N2を介してSIPサーバ1との間でパケット交換通信を行なう。SIPサーバ1及びSMSサーバ3は、通信網N2を介してパケット交換通信を行なう。また、SMSサーバ3は、通信網N2を介して端末装置2との間で回線交換通信を行なう。
以下では、通信網N1を使用できる範囲内に居る端末装置2が他の端末装置2に対して発信(発呼)した場合に、SIPサーバ1、SMSサーバ3、発信側の端末装置2、着信側の端末装置2のそれぞれが行なう処理について説明する。なお、発信側の端末装置2を発信側端末2と呼び、着信側の端末装置2を着信側端末2と呼ぶこととする。
以下に、本実施形態1のSIPサーバ1及び端末装置2の構成について詳述する。なお、SMSサーバ3は一般的なSMSゲートウェイサーバであるので説明を省略する。
図2は実施形態1のSIPサーバ1の構成を示すブロック図である。本実施形態1のSIPサーバ1は、制御部10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、記憶部13、第1通信部14、第2通信部15等を備える。これらのハードウェア各部はバス1aを介して相互に接続されている。
本実施形態1のSIPサーバ1は、本願に開示するコンピュータプログラムをROM11又は記憶部13に格納しておき、制御部10によってコンピュータプログラムが実行されることによって本願に開示する呼制御装置の動作を実現する。本願に開示するコンピュータプログラムは、予め記憶部13に格納されている構成に限られない。例えば、SIPサーバ1が外部メモリへのアクセスが可能に構成されている場合には、SIPサーバ1が、外部メモリに記憶されたコンピュータプログラムを読み出して記憶部13に格納してもよい。また、SIPサーバ1が、外部装置からコンピュータプログラムをダウンロードして記憶部13に格納してもよい。
制御部10は、CPU(Central Processing Unit)又はMPU(Micro Processor Unit)等であり、絶対時刻(年月日、時、分、秒)を刻時する時計を有している。制御部10は、時計が示す時刻に基づく所定のタイミングに従って、ROM11又は記憶部13に予め格納してある制御プログラムを適宜RAM12に読み出して実行する。また制御部10は、上述したハードウェア各部の動作を制御する。ROM11は、SIPサーバ1を本願に開示する呼制御装置として動作させるために必要な種々の制御プログラムを予め格納している。RAM12はSRAM又はフラッシュメモリ等であり、制御部10による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。
記憶部13は、ハードディスクドライブ等の大容量の記憶装置である。記憶部13は、SIPサーバ1を本願に開示する呼制御装置として動作させるために必要な種々の制御プログラムを予め格納している。また、記憶部13は、図3(a)に示すような登録情報テーブル13a、図4に示すような未登録端末管理テーブル13b、図3(b)に示すような番号管理テーブル13c、保留音テーブル13d等を格納している。
第1通信部14は、通信網N1に接続するためのインタフェースであり、制御部10からの指示に従って通信網N1を介して端末装置2との間でパケット交換通信を行なう。
第2通信部15は、通信網N2に接続するためのインタフェースであり、制御部10からの指示に従って通信網N2を介して端末装置2及びSMSサーバ3との間でパケット交換通信又は回線交換通信を行なう。
図3は登録情報テーブル13a及び番号管理テーブル13cの格納内容を示す模式図である。図3(a)に示すように、登録情報テーブル(装置情報記憶部)13aには、発信要求があった場合に呼接続可能である端末装置(着信側端末)2の装置情報として、SIP−URI(Uniform Resource Identifier)、IPアドレス等が対応付けて格納されている。
SIP−URIは、端末装置2のそれぞれを識別するための情報であり、送受信するSIPメッセージのToヘッダ又はFromヘッダ等に含まれている。IPアドレスは、端末装置2が通信網N1又は通信網N2を使用する際に割り当てられる情報である。登録情報テーブル13aの格納内容は、端末装置2のそれぞれが通信網N1又は通信網N2の使用をSIPサーバ1に通知(SIP登録要求)してきた場合に、制御部10によって格納される。
図3(b)に示すように、番号管理テーブル13cには、SIPサーバ1を介した通信を行なう可能性のある端末装置2毎に、番号、SIP−URI、電話番号等が対応付けて格納されている。電話番号は、通信網N2の回線交換網上で使用される電話番号であり、SMSでのメッセージを送信する宛先として用いられる。番号管理テーブル13cの格納内容は、SIPサーバ1を介した通信を行なう端末装置2が追加又は廃棄された場合に、IP電話システムの管理者が各情報を入力することにより、制御部10によって格納又は削除される。
図4は未登録端末管理テーブル13bの格納内容を示す模式図である。図4に示すように、未登録端末管理テーブル13bには、呼(セッション)毎に、番号、呼ID、発信側URI、着信側URI、呼状態、経過時間等が対応付けて格納されている。未登録端末管理テーブル13bの格納内容は、登録情報テーブル13aにIPアドレスが登録されていない端末装置2に対して発信要求(着信)があった場合、制御部10によって格納される。また、未登録端末管理テーブル13bの格納内容は、発信側端末2と着信側端末2との通信が開始された場合又は通信失敗が確定した場合等に、制御部10によって削除される。
呼IDは、呼(セッション)毎に付与される識別情報であり、受信するパケット(SIP INVITE)のCall−IDヘッダである。例えば、RFC3261にて規定されるダイアログID(Call−IDヘッダと、Toヘッダのタグ又はFromヘッダのタグとの組み合わせ)を呼IDとしてもよい。発信側URIは、発信側端末2のSIP−URIであり、着信側URIは、着信側端末2のSIP−URIである。呼状態は、それぞれの呼(セッション)における着信側端末2の状態を示す情報である。経過時間は、未登録端末管理テーブル13bに各情報が格納されてからの経過時間を示す。即ち、経過時間は、発信側端末2からの発信要求を受け付けてからの経過時間を示す。
なお、本実施形態1では、未登録端末管理テーブル13bに格納される呼状態として、「IP接続中」及び「呼出中」がある。「IP接続中」は、SIPサーバ1が、登録情報テーブル13aにIPアドレスが登録されていない端末装置(着信側端末)2に対して、発信要求を受け付けた旨をSMSメッセージで通知した後であることを示す。「呼出中」は、着信側端末2から、通信網N1又は通信網N2の使用をSIPサーバ1に通知するSIP登録要求(REGISTER)を受信した後であることを示す。なお、呼状態を示す情報としてはこれらの情報に限られず、例えば、「IP接続中」の代わりに「SMS送信」等を用いてもよいし、「呼出中」の代わりに「IP接続完了」、「電話転送中」等を用いてもよい。
保留音テーブル13dは、図示しないが、それぞれの保留音を識別するための識別番号と、それぞれの保留音を実現するための保留音データとが対応付けて格納されている。なお、保留音データは、端末装置2で出力可能なフォーマットで保留音テーブル13dに格納されている。
図5は実施形態1の端末装置2の構成を示すブロック図である。本実施形態1の端末装置2は、制御部20、ROM21、RAM22、記憶部23、表示部24、操作部25、音入出力部26、通信部27等を備える。これらのハードウェア各部はバス2aを介して相互に接続されている。
制御部20は、CPU又はMPU等であり、所定のタイミングに従って、ROM21又は記憶部23に予め格納してある制御プログラムを適宜RAM22に読み出して実行する。また制御部20は、上述したハードウェア各部の動作を制御する。ROM21は、端末装置2として動作するために必要な種々の制御プログラムを予め格納している。RAM22はSRAM又はフラッシュメモリ等であり、制御部20による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。
記憶部23は、例えばフラッシュメモリである。記憶部23は、端末装置2として動作するために必要な種々の制御プログラムを予め格納している。また、ROM21又は記憶部23は、自身の端末装置2に関する装置情報として、端末装置2の電話番号、SIP−URI等も格納している。
表示部24は、例えば液晶ディスプレイ(LCD)であり、制御部20からの指示に従って、端末装置2の動作状況、操作部25を介して入力された情報、所有者(ユーザ)に対して通知すべき情報等を表示する。
操作部25は、所有者(ユーザ)が端末装置2を操作するために必要な各種の操作キーを備えている。ユーザにより各操作キーが操作された場合、操作部25は操作された操作キーに対応した制御信号を制御部20へ送出し、制御部20は取得した制御信号に対応した処理を実行する。
音入出力部26は、A/D変換器及びD/A変換器を含む音声回路部、マイク、スピーカ(全て図示せず)等を備える。マイクは、端末装置2が電話機として使用される際にユーザが発話した音声を集音する。スピーカは、端末装置2が電話機として使用される際に着信音及び発信者(通話先)からの通話音を出力する。
音声回路部は、マイクによって集音されたアナログの音声信号をA/D変換してデジタルの音声信号を生成し、得られたデジタルの音声信号を通信部27へ送出する。また、音声回路部は、通信部27によって通話相手の端末装置2から受信したデジタルの音声信号をD/A変換してアナログの音声信号を生成し、得られた音声信号に基づく通話音をスピーカに出力させる。
通信部27は、通信網N1及び通信網N2に接続するためのインタフェースであり、制御部20からの指示に従って通信網N1又は通信網N2を介して、SIPサーバ1、SMSサーバ3、通信相手の端末装置2との間で通信を行なう。具体的には、通信部27は、通信網N1を介してパケット交換通信を行ない、通信網N2を介してパケット交換通信及び回線交換通信を行なう。
通信部27は、通信網N1又は通信網N2から受信した音声パケットをデジタルの音声信号に変換し、得られたデジタルの音声信号を音入出力部26へ送出する。また、通信部27は、音入出力部26から送出されたデジタルの音声信号を音声パケットに変換し、得られた音声パケットを通話相手の端末装置2へ送信する。
上述した構成により、端末装置2は、通信網N1及び/又は通信網N2を介して通信相手の端末装置2との間で通信を行なうことができる。なお、端末装置2は、音声パケットだけでなく、映像信号を変換して生成した映像パケット、データ信号を変換して生成したデータパケット等の送受信も行なうことができる。
以下に、上述した構成のIP電話システムにおいて、SIPサーバ1の制御部10が、ROM11又は記憶部13に格納されている制御プログラムを実行することによって実現する機能について説明する。図6は実施形態1のSIPサーバ1の機能構成を示す機能ブロック図である。
本実施形態1のSIPサーバ1において、制御部10は、ROM11又は記憶部13に格納されている制御プログラムを実行することによって、呼制御部100、登録状況調査部101、未登録端末呼制御部102、SMS連携部103、保留音変更部104、保留音送信部105等の機能を実現する。
呼制御部100は、第1通信部14及び第2通信部15のそれぞれを介して呼制御メッセージ(SIP)の送受信、各SIPの呼状態の管理等の処理を行なう。具体的には、通信網N1又は通信網N2を介して発信側端末2が発呼した場合、SIPサーバ1の呼制御部(発信要求受付部)100は、第1通信部14又は第2通信部15を介して発信側端末2からの発信要求(INVITE)を受信する。呼制御部100は、受信した発信要求から、着信側端末2のSIP−URIを取得し、取得したSIP−URIを登録状況調査部101へ送出する。
登録状況調査部(判断部)101は、登録情報テーブル13aの格納内容を検索し、呼制御部100から取得したSIP−URIに対応するIPアドレスが登録情報テーブル13aに格納されているか否かを判断する。登録状況調査部101は、呼制御部100から取得したSIP−URIに対応するIPアドレスが登録情報テーブル13aに格納されていれば、このSIP−URIに対応して登録情報テーブル13aに格納されているIPアドレス、即ち、着信側端末2のIPアドレスを読み出して呼制御部100に通知する。呼制御部100から取得したSIP−URIに対応するIPアドレスが登録情報テーブル13aに格納されていなければ、登録状況調査部101は、着信側端末2のSIP−URIが登録情報テーブル13aには登録されていないことを呼制御部100に通知する。
呼制御部100は、登録状況調査部101から着信側端末2のIPアドレスを取得した場合、このIPアドレスに基づいて、通信網N1又は通信網N2を介して着信側端末2に、発信側端末2から受信した発信要求(INVITE)を転送する。呼制御部100は、発信要求を送信した着信側端末2から応答要求(200OK等のレスポンス)があった場合、呼制御部100は、発信側端末2にレスポンスを送信し、発信側端末2と着信側端末2との接続を確立する(SIPによる通常の呼確立シーケンス)。
一方、着信側端末2のSIP−URIが登録情報テーブル13aに登録されていないことを登録状況調査部101から通知された場合、呼制御部100は、発信側端末2から受信した発信要求(INVITE)から、呼ID、発信側端末2のSIP−URI、着信側端末2のSIP−URIを取得する。呼制御部100は、取得した呼ID、発信側端末2のSIP−URI、着信側端末2のSIP−URIを未登録端末呼制御部102へ送出する。
未登録端末呼制御部102は、呼制御部100から、呼ID、発信側端末2のSIP−URI、着信側端末2のSIP−URIを取得した場合、取得した着信側端末2のSIP−URIをSMS連携部103へ送出する。
SMS連携部103は、番号管理テーブル13cの格納内容を検索し、未登録端末呼制御部102から取得したSIP−URIが番号管理テーブル13cに格納されているか否かを判断する。SMS連携部103は、未登録端末呼制御部102から取得したSIP−URIが番号管理テーブル13cに格納されていれば、このSIP−URIに対応して番号管理テーブル13cに格納されている電話番号、即ち、着信側端末2の通信網N2上での電話番号を読み出す。
SMS連携部(通知部)103は、番号管理テーブル13cから読み出した電話番号の着信側端末2に対して、発信要求がある旨を示すSMSメッセージを送信するようにSMSサーバ3へ依頼する。そして、SMS連携部103は、着信側端末2へのSMSメッセージの送信依頼が完了した旨を未登録端末呼制御部102に通知する。
SMSサーバ3は、SMS連携部103からの依頼に従って、SMS連携部103から通知された電話番号を宛先として、着信側端末2に、発信要求がある旨を示すSMSメッセージを送信する。なお、発信要求がある旨を着信側端末2に対して通知する手段としては、通信網N2等のIPネットワーク以外の通信経路であればSMSメッセージに限られない。例えば、WiMAX(Worldwide Interoperability for Microwave Access)規格の端末装置2であれば、ページング機能を用いてもよい。
未登録端末呼制御部102は、着信側端末2へのSMSメッセージの送信依頼が完了した旨をSMS連携部103から通知された場合、この着信側端末2へのセッションに対して番号(テーブル管理用ID)を割り当てる。なお、SMS連携部103からの通知により、未登録端末呼制御部(状態取得部)102は、着信側端末2がSMSメッセージを送信されてIP接続を行なおうとしている状態であることを把握できる。未登録端末呼制御部102は、割り当てた番号と、呼制御部100から取得した呼ID、発信側端末2のSIP−URI、着信側端末2のSIP−URIとを対応付けて未登録端末管理テーブル(状態記憶部)13bに格納させる。なお、このとき、未登録端末呼制御部102は、このセッションに対する呼状態として「IP接続中」を未登録端末管理テーブル13bに格納させる。
また、未登録端末呼制御部102は、このセッションに対する経過時間として「0」を未登録端末管理テーブル13bに格納させる。未登録端末呼制御部102は、所定時間(5秒間)が経過する都度、未登録端末管理テーブル13bに格納されている各セッションの経過時間に所定時間を加算する。これにより、未登録端末管理テーブル13bに各セッションの情報が格納されてからの経過時間を管理することができる。
未登録端末呼制御部102が未登録端末管理テーブル13bに上述したような情報を格納した後、呼制御部(保留部)100は、発信側端末2の呼状態を保留しておく。具体的には、呼制御部100は、発信側端末2に応答要求(200OK)を送信して発信側端末2との呼接続を確立した後、発信側端末2に保留要求(Re−INVITE)を送信して発信側端末2との呼状態を保留状態にする。
また、未登録端末呼制御部102は、呼制御部100によって保留中の発信側端末2宛てに送信する保留音データを、「IP接続中」の呼状態に対応した保留音データに変更するように保留音変更部104に指示する。保留音変更部(保留音設定部)104は、未登録端末呼制御部102からの指示に従って、発信側端末2宛てに保留音送信部105が送信する保留音データを、「IP接続中」の呼状態に対応した保留音データに設定する。
保留音送信部105は、保留音変更部104によって設定された保留音データを保留音テーブル13dから読み出し、対応する着信側端末2へRTPデータとして送信する。なお、「IP接続中」の呼状態に対応した保留音データは、発信側端末2のユーザが、着信側端末2が「IP接続中」の状態であることが把握できる音声データ、音楽データであればよく、例えば「IP接続中です」のような音声メッセージでもよい。
一方、SMS連携部103は、未登録端末呼制御部102から取得したSIP−URIが番号管理テーブル13cに格納されていなければ、エラー発生を未登録端末呼制御部102に通知する。未登録端末呼制御部102は、SMS連携部103からエラー発生を通知された場合、エラー発生を通知されたセッションの発信側端末2のSIP−URIと共に、エラー発生を呼制御部100に通知する。
呼制御部100は、発信側端末2のSIP−URIと共に、エラー発生を未登録端末呼制御部102から通知された場合、発信側端末2にエラー応答(404 Not Found等)を送信し、発信側端末2との通信を終了する。
ところで、端末装置2,2…が通信網N1又は通信網N2の使用をSIPサーバ1に通知した場合、呼制御部100は、第1通信部14又は第2通信部15を介してSIP登録要求(REGISTER)を受信する。呼制御部(状態取得部)100は、着信側端末2からSIP登録要求を受信することにより、着信側端末2がSIPサーバ1に対して登録要求中であることを示す状態情報を、着信側端末2から取得することができる。
呼制御部(装置情報取得部)100は、SIP登録要求を受信した場合、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI(装置情報)を取得し、取得したSIP−URIを未登録端末呼制御部102へ送出する。
未登録端末呼制御部102は、未登録端末管理テーブル13bの格納内容を検索し、呼制御部100から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されているか否かを判断する。呼制御部100から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていなければ、このSIP登録要求は通常のSIP登録要求であるので、未登録端末呼制御部102は、その旨を呼制御部100に通知する。
呼制御部100は、未登録端末管理テーブル13bの着信側URIの欄に格納されていない旨を未登録端末呼制御部102から通知された場合、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得する。呼制御部100は、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させる。
一方、呼制御部100から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていれば、未登録端末呼制御部(適否判定部)102は、このSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態が「IP接続中」であるか否かを判断する。これにより、未登録端末呼制御部102は、呼制御部100からSIP−URIを取得した端末装置2の新しい呼状態が、未登録端末管理テーブル13bに既に記憶してある呼状態から適切に遷移可能であるか否かを判定する。
対応する呼状態が「IP接続中」ではない場合、このSIP登録要求は通常のSIP登録要求と判断し、未登録端末呼制御部102は、その旨を呼制御部100に通知する。この場合も、呼制御部100は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得し、対応付けて登録情報テーブル13aに格納させる。
対応する呼状態が「IP接続中」である場合、未登録端末呼制御部(更新部)102は、呼制御部100から取得したSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態を「呼出中」に更新する。このとき、未登録端末呼制御部102は、呼制御部100から取得したSIP−URIの端末装置2への着信がある旨を呼制御部100に通知する。なお、対応する呼状態が「IP接続中」である場合、呼制御部100から取得したSIP−URIの端末装置2の新しい呼状態が、未登録端末管理テーブル13bに既に記憶してある呼状態から適切に遷移可能である。
呼制御部100は、SIP登録要求してきた端末装置2への着信がある旨を未登録端末呼制御部102から通知された場合、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得する。呼制御部(記憶制御部)100は、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させる。そして、呼制御部(呼出部)100は、着信側端末2への発信要求(INVITE)を送信し、呼出処理(呼の転送開始)を行なう。
なお、未登録端末呼制御部102は、未登録端末管理テーブル13bを更新した後、呼制御部100によって保留中の発信側端末2宛てに送信する保留音データを、「呼出中」の呼状態に対応した保留音データに変更するように保留音変更部104に指示する。これにより、「呼出中」の呼状態に対応した保留音データが、保留音送信部105から発信側端末2へ送信される。なお、「呼出中」の呼状態に対応した保留音データは、発信側端末2のユーザが、着信側端末2が「呼出中」の状態であることが把握できる音声データ、音楽データであればよく、例えば「呼出中です」のような音声メッセージでもよい。
SIPサーバ1によって送信された発信要求(INVITE)を受信した着信側端末2が、発信要求に対して応答要求(200OK)を送信してきた場合、呼制御部100は、発信側端末2にREFER−TOを送信する等して呼の転送処理を完了し、発信側端末2と着信側端末2との呼接続を確立する。呼制御部100は、呼接続を確立した場合、このセッションに関する情報を未登録端末管理テーブル13bから削除するように未登録端末呼制御部102に指示する。これにより、呼接続が確立された各セッションの情報を確実に未登録端末呼制御部102から削除することができる。
なお、SIPサーバ1によって転送された発信要求(INVITE)を受信した着信側端末2が、発信要求に対して応答を拒否した場合又は所定時間の間に応答してこなかった場合、呼制御部100は、着信側端末2への発信要求の転送を中止する。そして、呼制御部100は、発信側端末2に切断要求(BYE)を送信し、発信側端末2との通信を終了する。また、呼制御部100は、この発信側端末2からのセッションに関する情報を未登録端末管理テーブル13bから削除するように未登録端末呼制御部102に指示する。これにより、通信が終了した各セッションの情報を確実に未登録端末呼制御部102から削除することができる。
上述した処理により、未登録端末呼制御部102は、SIPサーバ1による着信側端末2へのSMSメッセージの送信、着信側端末2からのSIP登録要求の受信等のイベントを取得する。そして、未登録端末呼制御部102は、取得したイベントが示す呼状態が、未登録端末管理テーブル13bに格納してある直前の呼状態からの遷移として適切である場合に、未登録端末管理テーブル13bの呼状態を更新する。これにより、未登録端末管理テーブル13bによって管理される呼のそれぞれの呼状態を正確に把握できる。
以下に、上述した構成のIP電話システムにおいて、端末装置2の制御部20が、ROM21又は記憶部23に格納されている制御プログラムを実行することによって実現する機能について説明する。図7は実施形態1の端末装置2の機能構成を示す機能ブロック図である。
本実施形態1の端末装置2において、制御部20は、ROM21又は記憶部23に格納されている制御プログラムを実行することによって、呼制御部200、通信状態制御部201、SMS受信部202等の機能を実現する。なお、端末装置2は、通信網N1を介した通信のみを行なう構成である場合は、回線交換通信を行なわないので通信状態制御部201及びSMS受信部202を有しなくてもよい。
呼制御部200は、通信部27を介して呼制御メッセージ(SIP)の送受信、各SIPの呼状態の管理等の処理を行なう。例えば、SIPサーバ1によって転送された発信要求(INVITE)を通信網N1又は通信網N2を介して受信した場合、呼制御部200は、端末装置2のユーザに着信を通知する。具体的には、呼制御部200は、発信側端末2の装置情報又はユーザ名を表示部24に表示させ、又は、音入出力部26によって呼出音を出力させる。
着信を通知された端末装置2のユーザは、この着信に対して応答する場合、操作部25の応答ボタンを操作し、この着信に対して応答しない場合、操作部25のキャンセルボタンを操作する。呼制御部200は、応答ボタンが操作された場合、通信部27を介してSIPサーバ1に応答要求(200OK)を送信し、キャンセルボタンが操作された場合、通信部27を介してSIPサーバ1に拒否応答(480 Temporarily Unavailable)を送信する。
SIPサーバ1の呼制御部100は、端末装置(着信側端末)2から応答要求(200OK)を受信した場合、発信側端末2へ応答要求を転送する。呼制御部100は、応答要求に対する確認のためのレスポンス(ACK)を発信側端末2から受信した場合、受信した確認のためのレスポンス(ACK)を着信側端末2へ転送する。これにより、発信側端末2及び着信側端末2との通信が開始される。
SIPサーバ1の呼制御部100は、端末装置(着信側端末)2から切断要求(BYE)を受信した場合、発信側端末2へ切断要求を転送する。端末装置(発信側端末)2の呼制御部200は、SIPサーバ1から切断要求を受信した場合、切断の成功を通知するレスポンス(200OK)を、SIPサーバ1を介して発信側端末2へ送信する。
SMS受信部202は、SMSサーバ3から送信されたSMSメッセージを通信部27を介して受信する。SMS受信部202は、発信要求がある旨を示すSMSメッセージを受信した場合、その旨を通信状態制御部201に通知する。通信状態制御部201は、発信要求がある旨を示すSMSメッセージを受信した旨を通知された場合、自身の端末装置2がIP接続されているか否かを判断する。具体的には、通信状態制御部201は、自身の端末装置2にIPアドレスが割り当てられているか否かを判断する。
IP接続されていると判断した場合、通信状態制御部201は、IP接続されている旨を呼制御部200に通知する。呼制御部200は、IP接続されている旨を通信状態制御部201から通知された場合、自身の端末装置2に割り当てられているIPアドレスと、自身の端末装置2のSIP−URIとを含むSIP登録要求(REGISTER)をSIPサーバ1へ送信する。
一方、IP接続されていないと判断した場合、通信状態制御部201は、IP接続されていない旨を呼制御部200に通知する。呼制御部200は、IP接続されていない旨を通信状態制御部201から通知された場合、端末装置2,2…に対してIPアドレスの割り当てを行なう所定のサーバにIP接続を要求し、自身の端末装置2に対するIPアドレスの割り当てを依頼する。呼制御部200は、所定のサーバによって割り当てられたIPアドレスを取得した場合、取得したIPアドレスと、自身の端末装置2のSIP−URIとを含むSIP登録要求(REGISTER)をSIPサーバ1へ送信する。
SIP登録要求を受信したSIPサーバ1は、上述したように、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得し、対応付けて登録情報テーブル13aに格納させる処理等を行なう。
上述した構成のIP電話システムにおいて、発信側端末2が通信網N1を介して発呼した場合、SIPサーバ1は、発信側端末2から受信した発信要求(INVITE)から着信側端末2のSIP−URIを取得する。取得した着信側端末2のSIP−URIに対応するIPアドレスが登録情報テーブル13aに登録されていれば、SIPサーバ1は、発信側端末2から受信した発信要求を着信側端末2へ転送する。そして、発信要求に対する応答要求が着信側端末2からあれば、SIPサーバ1は、発信側端末2と着信側端末2との呼接続を確立する。
一方、発信要求から取得した着信側端末2のSIP−URIに対応するIPアドレスが登録情報テーブル13aに登録されていなければ、SIPサーバ1は、この呼(セッション)に関する情報を未登録端末管理テーブル13bに格納させる。そして、SIPサーバ1は、発信要求がある旨を示すSMSメッセージを着信側端末2へ送信し、発信側端末2との呼を確立し保留状態にした上で、着信側端末2がIP接続中である旨を示す保留音データを発信側端末2へ送信する。これにより、発信側端末2のユーザは、着信側端末2がIP接続中であることを把握できる。
また、SIPサーバ1は、着信側端末2からSIP登録要求(REGISTER)を受信した場合、着信側端末2のSIP−URI及びIPアドレスを登録情報テーブル13aに格納させる。このとき、SIPサーバ1は、SIP登録要求を送信してきた着信側端末2の呼状態が「IP接続中」であるか否かを、未登録端末管理テーブル13bの格納内容に基づいて判断する。
未登録端末管理テーブル13bに格納されている着信側端末2の呼状態が「IP接続中」である場合、SIPサーバ1は、未登録端末管理テーブル13bに格納されている着信側端末2の呼状態を「呼出中」に更新する。このとき、SIPサーバ1は、発信側端末2から受信した発信要求の着信側端末2への転送を開始し、着信側端末2を呼出中である旨を示す保留音データを発信側端末2へ送信する。これにより、発信側端末2のユーザは、着信側端末2を呼出中であることを把握できる。
また、発信要求に対する応答要求が着信側端末2からあれば、SIPサーバ1は、発信側端末2と着信側端末2との呼接続を確立する。
本実施形態1のSIPサーバ1は、未登録端末管理テーブル13bに格納されている着信側端末2の呼状態を「IP接続中」から「呼出中」に更新する際に、SIP登録要求を送信してきた着信側端末2の呼状態が「IP接続中」であるか否かを判断する。これにより、更新される着信側端末2の呼状態が適切であるかを判断できる。
以下に、本実施形態1のIP電話システムにおいて、端末装置2から発信要求(INVITE)を受信した場合にSIPサーバ1が行なう処理についてフローチャートに基づいて説明する。図8はSIPサーバ1が行なう処理の手順を示すフローチャートである。なお、以下の処理は、SIPサーバ1のROM11又は記憶部13に記憶してある制御プログラムに従って制御部10によって実行される。
SIPサーバ1の制御部10は、いずれかの端末装置2から出力された発信要求(INVITE)を受信したか否かを判断しており(S1)、受信していないと判断した場合(S1:NO)、受信するまで通常の動作を行なって待機する。発信要求を受信したと判断した場合(S1:YES)、制御部10は、受信した発信要求から、着信側端末2のSIP−URIを取得する(S2)。
制御部10は、取得した着信側端末2のSIP−URIに対応するIPアドレスが登録情報テーブル13aに格納されているか否かを判断する(S3)。格納されていると判断した場合(S3:YES)、制御部10は、この着信側端末2のSIP−URIに対応して登録情報テーブル13aに格納されているIPアドレスを取得する。制御部10は、取得した着信側端末2のIPアドレスに基づいて、着信側端末2に、発信側端末2から受信した発信要求(INVITE)を転送する(S4)。そして、制御部10は、ステップS1へ処理を戻す。
着信側端末2のSIP−URIに対応するIPアドレスが登録情報テーブル13aに格納されていないと判断した場合(S3:NO)、制御部10は、受信した発信要求(INVITE)から、着信側端末2のSIP−URIを取得する。また、制御部10は、着信側端末2のSIP−URIに基づいて、着信側端末2の通信網N2上での電話番号を番号管理テーブル13cから取得する(S5)。
制御部10は、着信側端末2の電話番号を取得できたか否かを判断しており(S6)、取得できなかったと判断した場合(S6:NO)、発信側端末2にエラー応答(404 Not Found)を送信し(S7)、発信側端末2との通信を終了する。そして、制御部10は、ステップS1へ処理を戻す。
着信側端末2の電話番号を取得できたと判断した場合(S6:YES)、制御部10は、取得した電話番号に基づいて、着信側端末2に、発信要求がある旨を示すSMSメッセージを送信する(S8)。制御部10は、この着信側端末2への呼制御(セッション)に関する情報を未登録端末管理テーブル13bに格納させる(S9)。制御部10は、この着信側端末2への発信要求を送信してきた発信側端末2の呼接続を保留し(S10)、この発信側端末2宛てに送信する保留音データを、「IP接続中」の呼状態に対応した保留音データに変更する(S11)。そして、制御部10は、ステップS1へ処理を戻す。
次に、上述したようにSIPサーバ1から、発信要求がある旨を示すSMSメッセージを受信した場合に端末装置(着信側端末)2が行なう処理についてフローチャートに基づいて説明する。図9は端末装置2が行なう処理の手順を示すフローチャートである。なお、以下の処理は、端末装置2のROM21又は記憶部23に記憶してある制御プログラムに従って制御部20によって実行される。
端末装置2の制御部20は、発信要求がある旨を示すSMSメッセージをSIPサーバ1から受信したか否かを判断しており(S21)、受信していないと判断した場合(S21:NO)、受信するまで通常の動作を行なって待機する。SMSメッセージを受信したと判断した場合(S21:YES)、制御部20は、自身の端末装置2のIP接続状態を判定する(S22)。
判定の結果、IP接続済みでないと判断した場合(S23:NO)、制御部20は、IP接続処理を行なう(S24)。具体的には、制御部20は、所定のサーバにIP接続を要求し、自身の端末装置2に対するIPアドレスの割り当てを依頼する。制御部20は、IP接続が成功したか否かを判断しており(S25)、成功したと判断した場合(S25:YES)、即ち、IPアドレスを割り当てられた場合、割り当てられたIPアドレスをSIPサーバ1に登録するためにSIP登録要求(REGISTER)をSIPサーバ1へ送信する(S26)。制御部20は、ステップS21へ処理を戻す。
IP接続が失敗したと判断した場合(S25:NO)、即ち、IPアドレスを割り当てられなかった場合、制御部20は、ステップS21へ処理を戻す。判定の結果、IP接続済みであると判断した場合(S23:YES)、制御部20は、ステップS24,S25の処理をスキップし、既に割り当てられているIPアドレスをSIPサーバ1に登録するためにSIP登録要求(REGISTER)をSIPサーバ1へ送信する(S26)。制御部20は、ステップS21へ処理を戻す。
次に、上述したように端末装置2からSIP登録要求を受信した場合にSIPサーバ1が行なう処理についてフローチャートに基づいて説明する。図10及び図11はSIPサーバ1が行なう処理の手順を示すフローチャートである。なお、以下の処理は、SIPサーバ1のROM11又は記憶部13に記憶してある制御プログラムに従って制御部10によって実行される。
SIPサーバ1の制御部10は、いずれかの端末装置2から出力されたSIP登録要求(REGISTER)を受信したか否かを判断しており(S31)、受信していないと判断した場合(S31:NO)、受信するまで通常の動作を行なって待機する。SIP登録要求を受信したと判断した場合(S31:YES)、制御部10は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URIを取得する。制御部10は、取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されているか否かを判断する(S32)。
SIP登録要求をしてきた端末装置2のSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていると判断した場合(S32:YES)、制御部10は、このSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態が「IP接続中」であるか否かを判断する(S33)。
SIP登録要求をしてきた端末装置2のSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていないと判断した場合(S32:NO)、又は、対応する呼状態が「IP接続中」でないと判断した場合(S33:NO)、制御部10は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得する。制御部10は、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させる(S34)。制御部10は、ステップS31へ処理を戻す。
対応する呼状態が「IP接続中」であると判断した場合(S33:YES)、制御部10は、SIP登録要求をしてきた端末装置2のSIP−URIを着信側URIとする呼の呼状態を「呼出中」に更新する(S35)。制御部10は、この呼の発信側端末2宛てに送信する保留音データを、「呼出中」の呼状態に対応した保留音データに変更する(S36)。
制御部10は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得し、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させる。そして、制御部10は、SIP登録要求をしてきた端末装置(着信側端末)2に、発信要求(INVITE)を送信し、呼出処理(呼の転送)を開始する(S37)。
制御部10は、呼の転送を開始した着信側端末2から応答があったか否かを判断しており(S38)、応答があったと判断した場合(S38:YES)、発信側端末2に転送完了(REFER−TO)を送信し、呼の転送を完了する(S39)。これにより、発信側端末2と着信側端末2との呼接続が確立される。制御部10は、呼接続を確立した場合、この呼に関する情報を未登録端末管理テーブル13bから削除し(S41)、ステップS31へ処理を戻す。
呼の転送を開始した着信側端末2から応答がないと判断した場合(S38:NO)、制御部10は、着信側端末2への呼の転送を中止し(S40)、発信側端末2との呼を終了(BYE)する。制御部10は、呼接続を中止した場合、この呼に関する情報を未登録端末管理テーブル13bから削除し(S41)、ステップS31へ処理を戻す。
上述した処理により、SIPサーバ1は、発信側端末2から発信要求を受信した場合、着信側端末2が呼接続可能な状態であれば、発信側端末2と着信側端末2との呼接続を確立する。また、着信側端末2が呼接続可能な状態でなければ、SIPサーバ1は、着信側端末2が呼接続可能な状態となるまでの間、発信側端末2との呼接続を保留状態とする。そして、SIPサーバ1は、保留状態としている発信側端末2への保留音を、着信側端末2の状態に応じた保留音、具体的には、IP接続中、呼出中等を通知する保留音とする。これにより、発信側端末2のユーザは、着信側端末2が呼接続可能な状態となるまでの間において、保留音を聞くことにより、着信側端末2の状態を把握できる。よって、発信側端末2のユーザは、着信側端末2の状態に応じて、着信側端末2からの応答を待つべきか、一旦接続を切断すべきか等を適切に判断できる。
上述した各処理のほかに、SIPサーバ1の制御部10は、定期的に(例えば数十秒毎に)、未登録端末管理テーブル13bの経過時間の欄を監視し、経過時間が所定時間(例えば60秒)以上となった呼があるか否かを判断する。経過時間が所定時間以上となった呼があると判断した場合、制御部10は、この呼の発信側端末2へ切断要求を送信して、エラーの発生を通知する。また、制御部10は、この呼に関する情報を未登録端末管理テーブル13bから削除する。このように、SIPサーバ1が発信要求を受信してから経過した時間が所定時間以上となった呼を、接続が失敗した呼であると判断することにより、発信側端末2のユーザが不要に待たされる状況を回避できる。
本実施形態1では、SIPサーバ1が保留音送信部105を有し、呼状態を保留された発信側端末2へ保留音送信部105から送信される保留音データを変更することによって、発信側端末2で出力される保留音を変更する構成であった。このような構成に限られず、例えば、メディアサーバを別途に用意し、発信側端末2とメディアサーバとの間で通話する構成とし、メディアサーバから発信側端末2へ保留音データを送信するようにしてもよい。この場合、発信側端末2の呼状態を疑似的に保留状態とし、保留音変更部104がメディアサーバに保留音の変更要求を送信することにより、指定された保留音を発信側端末2へ送信することができる。
本実施形態1では、SIPサーバ1によって転送された発信要求に対して着信側端末2が応答しなかった場合、SIPサーバ1は、発信要求の転送を終了して発信側端末2との接続を切断する構成であった。このような構成のほかに、発信側端末2との接続を切断する前に、保留音で「相手端末が応答しません」、「相手端末から切断されました」等のメッセージを発信側端末2へ通知してもよい。この場合、発信側端末2のユーザに、通話が確立しなかった理由を通知することができる。
(実施形態2)
以下に、実施形態2に係るIP電話システムについて説明する。なお、本実施形態2のIP電話システムは、上述した実施形態1のIP電話システムと同様の構成によって実現することができるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態1のIP電話システムは、発信側端末2が着信側端末2に発信してから着信側端末2との呼接続が確立されるまでの間に、着信側端末2の状態を発信側端末2に通知する構成であった。具体的には、SIPサーバ1は、着信側端末2がIP接続中である場合にはその旨を発信側端末2に通知し、着信側端末2を呼出中である場合にはその旨を発信側端末2に通知する構成であった。
本実施形態2のIP電話システムは、着信側端末2がIP接続中である場合、及び着信側端末2を呼出中である場合だけでなく、着信側端末2がVPN認証中である場合にもその旨を発信側端末2に通知する構成とする。
図12は実施形態2のIP電話システムの構成を示す模式図である。本実施形態2のIP電話システムは、上述した実施形態1のIP電話システムの構成のほかに、VPN(Virtual Private Network)サーバ4が通信網N2に接続されている。VPNサーバ4は、通信網N2を介してSIPサーバ1及び端末装置2,2…との間でパケット交換通信を行なう。本実施形態2のSIPサーバ1は、通信網N2を介して端末装置2と通信を行なう場合、VPNサーバ4(中継装置)を介して通信網N2に接続する。
図13はVPN−SIP対応テーブル13eの格納内容を示す模式図である。本実施形態2のSIPサーバ1は、図2に示した構成のほかに、図13に示すようなVPN−SIP対応テーブル13eを記憶部13に格納している。図13に示すように、VPN−SIP対応テーブル13eには、VPNサーバ4を介した通信が許可されているユーザ毎に、番号、ユーザID(VPNユーザID)、各ユーザの端末装置2,2…のSIP−URI等が対応付けて格納されている。VPN−SIP対応テーブル13eの格納内容は、SIPサーバ1を介した通信が許可された端末装置2が追加又は廃棄された場合に、IP電話システムの管理者が各情報を入力することにより、制御部10によって格納又は削除される。
図14は実施形態2のVPNサーバ4の構成を示すブロック図である。本実施形態2のVPNサーバ4は、制御部40、ROM41、RAM42、記憶部43、通信部44等を備える。これらのハードウェア各部はバス4aを介して相互に接続されている。
制御部40は、CPU又はMPU等であり、所定のタイミングに従って、ROM41又は記憶部43に予め格納してある制御プログラムを適宜RAM42に読み出して実行する。また制御部40は、上述したハードウェア各部の動作を制御する。ROM41は、VPNサーバ4を本願に開示する中継装置として動作させるために必要な種々の制御プログラムを予め格納している。RAM42はSRAM又はフラッシュメモリ等であり、制御部40による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。
記憶部43は、ハードディスクドライブ等の大容量の記憶装置である。記憶部43は、VPNサーバ4を本願に開示する中継装置として動作させるために必要な種々の制御プログラムを予め格納している。また、記憶部43は、図15に示すようなユーザ情報テーブル43a等を格納している。
通信部44は、通信網N2に接続するためのインタフェースであり、制御部40からの指示に従って通信網N2を介してSIPサーバ1及び端末装置2との間でパケット交換通信を行なう。
図15はユーザ情報テーブル43aの格納内容を示す模式図である。図15に示すように、ユーザ情報テーブル43aには、VPNサーバ4を介した通信が許可されているユーザ毎に、番号、ユーザID(VPNユーザID)、各ユーザによって予め登録されたパスワード等が対応付けて格納されている。ユーザ情報テーブル43aの格納内容は、VPNサーバ4を介した通信が許可されたユーザが追加又は削除された場合に、IP電話システムの管理者が各情報を入力することにより、制御部40によって格納又は削除される。
以下に、本実施形態2のIP電話システムにおいて、SIPサーバ1の制御部10が、ROM11又は記憶部13に格納されている制御プログラムを実行することによって実現する機能について説明する。図16は実施形態2のSIPサーバ1の機能構成を示す機能ブロック図である。
本実施形態2のSIPサーバ1において、制御部10は、ROM11又は記憶部13に格納されている制御プログラムを実行することによって、図6に示した各機能のほかに、VPN連携部106の機能を実現する。
VPN連携部(状態取得部)106は、第2通信部15を介してVPNサーバ4から、VPNサーバ4に対してVPN認証要求をしてきた端末装置2のユーザのユーザID(VPNユーザID)を取得する。VPN連携部106は、VPN−SIP対応テーブル13eの格納内容を検索し、VPNサーバ4から取得したVPNユーザIDがVPN−SIP対応テーブル13eに格納されているか否かを判断する。
VPN連携部106は、VPNサーバ4から取得したVPNユーザIDがVPN−SIP対応テーブル13eに格納されていなければ何も行なわない。一方、VPNサーバ4から取得したVPNユーザIDがVPN−SIP対応テーブル13eに格納されていれば、VPN連携部106は、このVPNユーザIDに対応してVPN−SIP対応テーブル13eに格納されているSIP−URIを読み出す。
VPN連携部106は、VPN−SIP対応テーブル13eから読み出したSIP−URIを、VPN認証要求をしてきた端末装置2のSIP−URIとして未登録端末呼制御部102に通知する。未登録端末呼制御部102は、VPN連携部106から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されているか否かを判断する。VPN連携部106から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていなければ、未登録端末呼制御部102は何も行なわない。
一方、VPN連携部106から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていれば、未登録端末呼制御部102は、このSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態が「IP接続中」であるか否かを判断する。これにより、未登録端末呼制御部102は、VPN連携部106から取得したSIP−URIの端末装置2の新しい呼状態が、未登録端末管理テーブル13bに既に記憶してある呼状態から適切に遷移可能であるか否かを判定する。
対応する呼状態が「IP接続中」ではない場合、VPN認証要求をしてきた端末装置2の呼状態が適切ではないので、未登録端末呼制御部102は何も行なわない。対応する呼状態が「IP接続中」である場合、未登録端末呼制御部(更新部)102は、VPN連携部106から取得したSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態を「VPN認証中」に更新する。なお、対応する呼状態が「IP接続中」である場合、VPN連携部106から取得したSIP−URIの端末装置2の新しい呼状態が、未登録端末管理テーブル13bに既に記憶してある呼状態から適切に遷移可能である。
未登録端末呼制御部102は、未登録端末管理テーブル13bを更新した後、呼制御部100によって保留中の発信側端末2宛てに送信する保留音データを、「VPN認証中」の呼状態に対応した保留音データに変更するように保留音変更部104に指示する。これにより、「VPN認証中」の呼状態に対応した保留音データが、保留音送信部105から発信側端末2へ送信される。なお、「VPN認証中」の呼状態に対応した保留音データは、発信側端末2のユーザが、着信側端末2が「VPN認証中」の状態であることが把握できる音声データ、音楽データであればよく、例えば「VPN認証中です」のような音声メッセージでもよい。
本実施形態2の未登録端末呼制御部102は、上述の実施形態1の未登録端末呼制御部102と同様に、SIPサーバ1に対してSIP登録要求をしてきた端末装置2のSIP−URIを呼制御部100から取得する。未登録端末呼制御部102は、呼制御部100から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されているか否かを判断する。呼制御部100から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていなければ、このSIP登録要求は通常のSIP登録要求であるので、未登録端末呼制御部102は、その旨を呼制御部100に通知する。
呼制御部100は、未登録端末管理テーブル13bの着信側URIの欄に格納されていない旨を未登録端末呼制御部102から通知された場合、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得する。呼制御部100は、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させる。
一方、呼制御部100から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていれば、未登録端末呼制御部102は、このSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態が「VPN認証中」であるか否かを判断する。これにより、未登録端末呼制御部102は、呼制御部100からSIP−URIを取得した端末装置2の新しい呼状態が、未登録端末管理テーブル13bに既に記憶してある呼状態から適切に遷移可能であるか否かを判定する。
対応する呼状態が「VPN認証中」ではない場合、このSIP登録要求は通常のSIP登録要求と判断し、未登録端末呼制御部102は、その旨を呼制御部100に通知する。この場合も、呼制御部100は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得し、対応付けて登録情報テーブル13aに格納させる。
対応する呼状態が「VPN認証中」である場合、未登録端末呼制御部(更新部)102は、呼制御部100から取得したSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態を「呼出中」に更新する。このとき、未登録端末呼制御部102は、呼制御部100から取得したSIP−URIの端末装置2への着信がある旨を呼制御部100に通知する。なお、対応する呼状態が「VPN認証中」である場合、呼制御部100からSIP−URIを取得した端末装置2の新しい呼状態が、未登録端末管理テーブル13bに既に記憶してある呼状態から適切に遷移可能である。
呼制御部100は、SIP登録要求してきた端末装置2への着信がある旨を未登録端末呼制御部102から通知された場合、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得する。呼制御部100は、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させる。そして、呼制御部100は、着信側端末2へ発信要求(INVITE)を送信する。
なお、未登録端末呼制御部102は、未登録端末管理テーブル13bを更新した後、呼制御部100によって保留中の発信側端末2宛てに送信する保留音データを、「呼出中」の呼状態に対応した保留音データに変更するように保留音変更部104に指示する。これにより、「呼出中」の呼状態に対応した保留音データが、保留音送信部105から発信側端末2へ送信される。
上述した処理以外の各処理は、上述の実施形態1で説明した処理と同様であるので説明を省略する。
以下に、本実施形態2のIP電話システムにおいて、端末装置2の制御部20が、ROM21又は記憶部23に格納されている制御プログラムを実行することによって実現する機能について説明する。図17は実施形態2の端末装置2の機能構成を示す機能ブロック図である。
本実施形態2の端末装置2において、制御部20は、ROM21又は記憶部23に格納されている制御プログラムを実行することによって、図7に示した各機能のほかに、VPN制御部203の機能を実現する。
本実施形態2の通信状態制御部201は、上述の実施形態1の通信状態制御部201と同様に、発信要求がある旨を示すSMSメッセージをSMS受信部202が受信した場合、自身の端末装置2がIP接続されているか否かを判断する。
VPN制御部203は、通信状態制御部201がIP接続されていると判断した場合、又は、所定のサーバにIPアドレスを割り当ててもらった場合、自身の端末装置2がVPN接続されているか否かを判断する。具体的には、VPN制御部203は、VPNサーバ4を介して通信網N1を使用するためのIPアドレス(通信網N1上のIPアドレス)が、自身の端末装置2に割り当てられているか否かを判断する。
VPN接続されていると判断した場合、VPN制御部203は、VPN接続されている旨を呼制御部200に通知する。呼制御部200は、VPN接続されている旨をVPN制御部203から通知された場合、自身の端末装置2に割り当てられている通信網N1上のIPアドレスをContactヘッダに含むSIP登録要求(REGISTER)をVPNパケット化(暗号化)し、VPNサーバ4へ送信する。なお、VPNサーバ4は、端末装置2からVPNパケットを受信すると、元のSIP登録要求を取り出し、SIPサーバ1へ転送する。
一方、VPN接続されていないと判断した場合、VPN制御部203は、VPN接続されていない旨を呼制御部200に通知する。呼制御部200は、VPN接続されていない旨を通信状態制御部201から通知された場合、VPN認証要求をVPNサーバ4へ送信し、通信網N1上のIPアドレスの付与をVPNサーバ4に依頼する。呼制御部200は、VPN認証要求に対して通信網N1上のIPアドレスを割り当てられた場合、新たに割り当てられた通信網N1上のIPアドレスをContactヘッダに含むSIP登録要求(REGISTER)をVPNパケット化(暗号化)し、VPNサーバ4を介してSIPサーバ1へ送信する。
SIP登録要求を受信したSIPサーバ1は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及び通信網N1上のIPアドレスを取得し、対応付けて登録情報テーブル13aに格納させる処理等を行なう。
また、VPN制御部203は、VPNサーバ4との間でデータの送受信を行なう際に、データに対して暗号化処理及び復号処理等を行なう。
以下に、本実施形態2のIP電話システムにおいて、VPNサーバ4の制御部40が、ROM41又は記憶部43に格納されている制御プログラムを実行することによって実現する機能について説明する。図18は実施形態2のVPNサーバ4の機能構成を示す機能ブロック図である。
本実施形態2のVPNサーバ4において、制御部40は、ROM41又は記憶部43に格納されている制御プログラムを実行することによって、認証部401、暗号通信部402、認証開始通知部403等の機能を実現する。
端末装置2がVPN認証要求(VPN接続要求)をVPNサーバ4へ送信した場合、認証部(接続要求受付部)401は、VPN認証要求を受信する。認証部401は、受信したVPN認証要求から、VPN認証要求を送信してきた端末装置2のユーザのVPNユーザID及びパスワードを取得する。認証部401は、VPN認証要求からVPNユーザID及びパスワードを取得すると、認証処理を行なう前に、取得したVPNユーザIDを認証開始通知部403へ送出する。
認証開始通知部(通知部)403は、認証部401からVPNユーザIDを通知された場合、このVPNユーザIDをSIPサーバ1へ送信し、このVPNユーザIDのユーザがVPN認証を開始した旨を通知する。
認証部401は、VPN認証要求から取得したVPNユーザIDを認証開始通知部403へ送出した後、VPN認証要求から取得したVPNユーザID及びパスワードが、正規のユーザのVPNユーザID及びパスワードであるか否かを認証する。具体的には、認証部401は、ユーザ情報テーブル43aに、VPN認証要求から取得したVPNユーザID及びパスワードのペアが格納されているか否かを判断する。
認証部401は、VPN認証要求を送信してきた端末装置2のユーザが正規のユーザであると認証できた場合、その旨を暗号通信部402に通知する。暗号通信部(接続部)402は、認証部401によって認証されたユーザの端末装置2との間で暗号化通信を行なうために暗号鍵の交換等を行ない、暗号通信路を確立する。このとき、暗号通信部402は、VPN認証要求を送信してきた端末装置2に対して、通信網N1上のIPアドレスを割り当て、割り当てたIPアドレスを、VPN認証要求を送信してきた端末装置2に通知する。これにより、VPN認証要求を送信した端末装置2は、割り当てられた通信網N1上のIPアドレスを用いて、VPNサーバ4を介して通信網N1へのアクセスが可能となる。
なお、暗号通信部402は、VPNサーバ4が割り当てることが可能な通信網N1上のIPアドレスについて、既に端末装置2に割り当てられているか否かを管理している。そして、暗号通信部402は、VPN認証要求を送信してきたユーザが認証された場合、端末装置2にまだ割り当てられていないIPアドレスから1つを選択し、VPN認証要求を送信してきた端末装置2に割り当てる。
暗号通信部402は、認証が完了した端末装置2との間で送受信するデータに対して暗号化処理又は復号処理を行なう。
本実施形態2のIP電話システムにおいて、発信側端末2が通信網N1を介して発呼した場合、SIPサーバ1は、発信側端末2から受信した発信要求(INVITE)から着信側端末2のSIP−URIを取得する。取得した着信側端末2のSIP−URIが登録情報テーブル13aに登録されていれば、SIPサーバ1は、発信側端末2から受信した発信要求を着信側端末2へ転送する。そして、発信要求に対する応答要求が着信側端末2からあれば、SIPサーバ1は、発信側端末2と着信側端末2との呼接続を確立する。
一方、発信要求から取得した着信側端末2のSIP−URIが登録情報テーブル13aに登録されていなければ、SIPサーバ1は、この呼(セッション)に関する情報を未登録端末管理テーブル13bに格納させる。そして、SIPサーバ1は、発信要求がある旨を示すSMSメッセージを着信側端末2へ送信し、発信側端末2との呼を確立し保留状態にした上で、着信側端末2がIP接続中である旨を示す保留音データを発信側端末2へ送信する。これにより、発信側端末2のユーザは、着信側端末2がIP接続中であることを把握できる。
また、SIPサーバ1は、VPN認証を開始したユーザのVPNユーザIDをVPNサーバ4から受信した場合、VPN−SIP対応テーブル13eに基づいて、受信したVPNユーザIDに対応するSIP−URIに取得する。SIPサーバ1は、取得したSIP−URIの端末装置2、即ち、VPN認証を開始したユーザの着信側端末2の呼状態が「IP接続中」であるか否かを、未登録端末管理テーブル13bの格納内容に基づいて判断する。
未登録端末管理テーブル13bに格納されている着信側端末2の呼状態が「IP接続中」である場合、SIPサーバ1は、未登録端末管理テーブル13bに格納されている着信側端末2の呼状態を「VPN認証中」に更新する。このとき、SIPサーバ1は、着信側端末2がVPN認証中である旨を示す保留音データを発信側端末2へ送信する。これにより、発信側端末2のユーザは、着信側端末2がVPN認証中であることを把握できる。
また、SIPサーバ1は、着信側端末2からSIP登録要求(REGISTER)を受信した場合、着信側端末2のSIP−URIに対応した通信網N1上のIPアドレスを登録情報テーブル13aに格納させる。このとき、SIPサーバ1は、SIP登録要求を送信してきた着信側端末2の呼状態が「VPN認証中」であるか否かを、未登録端末管理テーブル13bの格納内容に基づいて判断する。
未登録端末管理テーブル13bに格納されている着信側端末2の呼状態が「VPN認証中」である場合、SIPサーバ1は、未登録端末管理テーブル13bに格納されている着信側端末2の呼状態を「呼出中」に更新する。このとき、SIPサーバ1は、発信側端末2とSIPサーバ1との間で確立した呼の着信側端末2への転送を開始し、着信側端末2を呼出中である旨を示す保留音データを発信側端末2へ送信する。これにより、発信側端末2のユーザは、着信側端末2を呼出中であることを把握できる。
また、発信要求に対する応答要求が着信側端末2からあれば、SIPサーバ1は、呼の転送処理を完了し、発信側端末2と着信側端末2との呼接続を確立する。
本実施形態2のSIPサーバ1は、未登録端末管理テーブル13bに格納されている着信側端末2の呼状態を「IP接続中」から「VPN認証中」に更新する際に、VPN認証の開始をVPNサーバ4から通知された着信側端末2の呼状態が「IP接続中」であるか否かを判断する。また、SIPサーバ1は、未登録端末管理テーブル13bに格納されている着信側端末2の呼状態を「VPN認証中」から「呼出中」に更新する際に、SIP登録要求を送信してきた着信側端末2の呼状態が「VPN認証中」であるか否かを判断する。これにより、更新される着信側端末2の呼状態が適切であるかを判断できる。
以下に、本実施形態2のIP電話システムにおいて、SIPサーバ1、端末装置2、VPNサーバ4が行なう処理についてフローチャートに基づいて説明する。なお、本実施形態2のIP電話システムにおいて、端末装置2から発信要求(INVITE)を受信した場合にSIPサーバ1が行なう処理は、上述の実施形態1の図8で説明した処理と同一であるので説明を省略する。
次に、SMSサーバ3を介してSIPサーバ1から、発信要求がある旨を示すSMSメッセージを受信した場合に端末装置(着信側端末)2が行なう処理についてフローチャートに基づいて説明する。図19は端末装置2が行なう処理の手順を示すフローチャートである。なお、以下の処理は、端末装置2のROM21又は記憶部23に記憶してある制御プログラムに従って制御部20によって実行される。
端末装置2の制御部20は、発信要求がある旨を示すSMSメッセージをSIPサーバ1から受信したか否かを判断しており(S51)、受信していないと判断した場合(S51:NO)、受信するまで通常の動作を行なって待機する。SMSメッセージを受信したと判断した場合(S51:YES)、制御部20は、自身の端末装置2のIP接続状態を判定する(S52)。具体的には、制御部20は、自身の端末装置2に、通信網N2上のIPアドレスが割り当てられているか否かを判定する。
判定の結果、IP接続済みでないと判断した場合(S53:NO)、制御部20は、IP接続処理を行なう(S54)。具体的には、制御部20は、所定のサーバにIP接続を要求し、自身の端末装置2に対する通信網N2上のIPアドレスの割り当てを依頼する。制御部20は、IP接続が成功したか否かを判断しており(S55)、失敗したと判断した場合(S55:NO)、即ち、通信網N2上のIPアドレスを割り当てられなかった場合、ステップS51へ処理を戻す。
判定の結果、IP接続済みであると判断した場合(S53:YES)、又はIP接続が成功したと判断した場合(S55:YES)、即ち、通信網N2上のIPアドレスを割り当てられた場合、制御部20は、自身の端末装置2のVPN接続状態を判定する(S56)。具体的には、制御部20は、自身の端末装置2に、通信網N1上のIPアドレスが割り当てられているか否かを判定する。判定の結果、VPN接続済みでないと判断した場合(S57:NO)、制御部20は、VPN接続処理を行なう(S58)。具体的には、制御部20は、VPN認証要求を通信網N2を介してVPNサーバ4へ送信し、自身の端末装置2に対する通信網N1上のIPアドレスの割り当てを依頼する。
制御部20は、VPN接続が成功したか否かを判断しており(S59)、失敗したと判断した場合(S59:NO)、即ち、通信網N1上のIPアドレスを割り当てられなかった場合、制御部20は、ステップS51へ処理を戻す。VPN接続が成功したと判断した場合(S59:YES)、即ち、通信網N1上のIPアドレスを割り当てられた場合、又は、判定の結果、VPN接続済みであると判断した場合(S57:YES)、制御部20は、SIP登録要求(REGISTER)を、VPNサーバ4を介してSIPサーバ1へ送信する(S60)。
なお、制御部20は、通信網N1上のIPアドレスをContactヘッダに含むSIP登録要求(REGISTER)をVPNパケット化し、VPNサーバ4へ送信する。VPNサーバ4は、端末装置2からVPNパケットを受信すると、元のSIP登録要求を取り出し、SIPサーバ1へ転送する。
次に、端末装置2からVPN認証要求を受信した場合にVPNサーバ4が行なう処理についてフローチャートに基づいて説明する。図20はVPNサーバ4が行なう処理の手順を示すフローチャートである。なお、以下の処理は、VPNサーバ4のROM41又は記憶部43に記憶してある制御プログラムに従って制御部40によって実行される。
VPNサーバ4の制御部40は、いずれかの端末装置2から出力されたVPN認証要求を受信したか否かを判断しており(S71)、受信していないと判断した場合(S71:NO)、受信するまで通常の動作を行なって待機する。VPN認証要求を受信したと判断した場合(S71:YES)、制御部40は、受信したVPN認証要求から、VPN認証要求をしてきた端末装置2のユーザのVPNユーザIDを取得する。制御部40は、取得したVPNユーザIDをSIPサーバ1へ送信し、このVPNユーザIDのユーザがVPN認証を開始したことを通知する(S72)。
制御部40は、受信したVPN認証要求から、VPN認証要求をしてきた端末装置2のユーザのVPNユーザID及びパスワードを取得し、取得したVPNユーザID及びパスワードに対する認証処理を行なう(S73)。認証処理が成功しなかった場合(S74:NO)、制御部40は、ステップS71へ処理を戻す。
認証処理が成功した場合(S74:YES)、制御部40は、このユーザの端末装置2によって使用される暗号通信経路を確立する(S75)。具体的には、制御部40は、VPN認証要求を送信してきた端末装置2に対して、通信網N1上のIPアドレスを割り当て、割り当てたIPアドレスを端末装置2に通知する(S76)。これにより、VPN認証要求を送信してきた端末装置2が、割り当てられたIPアドレスを用いて通信網N1を介して行なうVPN通信を中継する(S77)。
次に、上述したようにVPNサーバ4からVPNユーザIDが送信され、このVPNユーザIDのユーザがVPN認証を開始したことを通知された場合にSIPサーバ1が行なう処理についてフローチャートに基づいて説明する。図21はSIPサーバ1が行なう処理の手順を示すフローチャートである。なお、以下の処理は、SIPサーバ1のROM11又は記憶部13に記憶してある制御プログラムに従って制御部10によって実行される。
SIPサーバ1の制御部10は、VPNサーバ4から、いずれかのユーザがVPN認証を開始したことを通知されたか否かを判断しており(S81)、通知されていないと判断した場合(S81:NO)、通知されるまで通常の動作を行なって待機する。いずれかのユーザがVPN認証を開始したことを通知されたと判断した場合(S81:YES)、制御部10は、通知されたVPNユーザIDに対応付けてVPN−SIP対応テーブル13eに格納してあるSIP−URIを取得する(S82)。なお、ここで、取得したSIP−URIは、通知されたVPNユーザIDのユーザの端末装置2のSIP−URIである。
制御部10は、通知されたVPNユーザIDに対応するSIP−URIをVPN−SIP対応テーブル13eから取得できたか否かを判断しており(S83)、取得できなかったと判断した場合(S83:NO)、ステップS81へ処理を戻す。通知されたVPNユーザIDに対応するSIP−URIをVPN−SIP対応テーブル13eから取得できたと判断した場合(S83:YES)、制御部10は、取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されているか否かを判断する(S84)。
取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていると判断した場合(S84:YES)、制御部10は、このSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態が「IP接続中」であるか否かを判断する(S85)。
取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていないと判断した場合(S84:NO)、又は、対応する呼状態が「IP接続中」でないと判断した場合(S85:NO)、制御部10は、ステップS81へ処理を戻す。
対応する呼状態が「IP接続中」であると判断した場合(S85:YES)、制御部10は、VPN認証要求をしてきた端末装置2のSIP−URIを着信側URIとする呼の呼状態を「VPN認証中」に更新する(S86)。制御部10は、この呼の発信側端末2宛てに送信する保留音データを、「VPN認証中」の呼状態に対応した保留音データに変更する(S87)。制御部10は、ステップS81へ処理を戻す。
次に、端末装置2からSIP登録要求を受信した場合にSIPサーバ1が行なう処理についてフローチャートに基づいて説明する。図22及び図23はSIPサーバ1が行なう処理の手順を示すフローチャートである。なお、以下の処理は、SIPサーバ1のROM11又は記憶部13に記憶してある制御プログラムに従って制御部10によって実行される。
SIPサーバ1の制御部10は、いずれかの端末装置2から出力されたSIP登録要求(REGISTER)を受信したか否かを判断しており(S91)、受信していないと判断した場合(S91:NO)、受信するまで通常の動作を行なって待機する。SIP登録要求を受信したと判断した場合(S91:YES)、制御部10は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URIを取得する。制御部10は、取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されているかを判断する(S92)。
SIP登録要求をしてきた端末装置2のSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていると判断した場合(S92:YES)、制御部10は、このSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態が「VPN認証中」であるか否かを判断する(S93)。
SIP登録要求をしてきた端末装置2のSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていないと判断した場合(S92:NO)、又は、対応する呼状態が「VPN認証中」でないと判断した場合(S93:NO)、制御部10は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレス(通信網N1上のIPアドレス)を取得する。制御部10は、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させ(S94)、ステップS91へ処理を戻す。
対応する呼状態が「VPN認証中」であると判断した場合(S93:YES)、制御部10は、SIP登録要求をしてきた端末装置2のSIP−URIを着信側URIとする呼の呼状態を「呼出中」に更新する(S95)。制御部10は、この呼の発信側端末2宛てに送信する保留音データを、「呼出中」の呼状態に対応した保留音データに変更する(S96)。
制御部10は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレス(通信網N1上のIPアドレス)を取得し、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させる。そして、制御部10は、SIP登録要求をしてきた端末装置(着信側端末)2に、発信要求(INVITE)を送信し、呼出処理(呼の転送)を開始する(S97)。
制御部10は、呼の転送を開始した着信側端末2から応答があったか否かを判断しており(S98)、応答があったと判断した場合(S98:YES)、発信側端末2に転送完了(REFER−TO)を送信し、呼の転送を完了する(S99)。これにより、発信側端末2と着信側端末2との呼接続が確立される。制御部10は、呼接続を確立した場合、この呼に関する情報を未登録端末管理テーブル13bから削除し(S101)、ステップS91に処理を戻す。
呼の転送を開始した着信側端末2から応答がないと判断した場合(S98:NO)、制御部10は、着信側端末2への呼の転送を中止し(S100)、発信側端末2との呼を終了(BYE)する。制御部10は、呼接続を中止した場合、この呼に関する情報を未登録端末管理テーブル13bから削除し(S101)、ステップS91に処理を戻す。
上述した処理により、SIPサーバ1は、発信側端末2から発信要求を受信した場合、着信側端末2が呼接続可能な状態でなければ、着信側端末2が呼接続可能な状態となるまでの間、発信側端末2との呼接続を保留状態とする。そして、SIPサーバ1は、保留状態としている発信側端末2への保留音を、着信側端末2の状態に応じて保留音、具体的には、IP接続中、VPN認証中、呼出中等を通知する保留音とする。これにより、発信側端末2のユーザは、着信側端末2が呼接続可能な状態となるまでの間において、保留音を聞くことにより、着信側端末2の状態を把握できる。よって、発信側端末2のユーザは、着信側端末2の状態に応じて、着信側端末2からの応答を待つべきか、一旦接続を切断すべきか等を適切に判断できる。
本実施形態2の構成では、着信側端末2がIP接続もVPN接続もされていない場合には、発信側端末2からの発信要求をSIPサーバ1が受信してから発信側端末2及び着信側端末2の呼接続が確立されるまである程度の時間を要する。本願に開示した呼制御装置は、このように呼接続が確立されるまである程度の時間を要する環境において、着信側端末2の状態を発信側端末2に逐次通知することができるので有効である。
(実施形態3)
以下に、実施形態3に係るIP電話システムについて説明する。なお、本実施形態3のIP電話システムは、上述した実施形態1のIP電話システムと同様の構成によって実現することができるので、同様の構成については同一の符号を付して説明を省略する。
本実施形態3は、上述した実施形態1のIP電話システムに対して、発信側端末2と着信側端末2との呼接続が確立される前に、呼接続を保留されている発信側端末2から切断要求(BYE)を受信した場合にSIPサーバ1が行なう処理を追加した実施形態である。
呼接続が保留されている端末装置2又は呼接続されている端末装置2において、ユーザがキャンセルボタンを操作することにより呼接続を中断させた場合、端末装置2の呼制御部200は、切断要求(BYE)をSIPサーバ1へ送信する。SIPサーバ1の呼制御部(切断要求受付部)100は、呼接続が保留されている端末装置2又は呼接続されている端末装置2から切断要求を受信した場合、受信した切断要求から、端末装置2のSIP−URIを取得する。呼制御部100は、取得した端末装置2のSIP−URIを未登録端末呼制御部102へ送出する。
未登録端末呼制御部102は、切断要求を送信してきた端末装置2のSIP−URIを呼制御部100から取得した場合、取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されているか否かを判断する。取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されていなければ、未登録端末呼制御部102はその旨を呼制御部100に通知する。ここでの切断要求は通常の切断要求であるので、呼制御部100は、この端末装置2に切断応答(200OK)を送信して呼を切断する。
取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されていれば、未登録端末呼制御部102は、取得した端末装置2のSIP−URIを発信側URIとして未登録端末管理テーブル(保持部)13bに格納してある呼の呼状態を「切断済み」に更新する。
一方、本実施形態3の呼制御部100は、第1通信部14又は第2通信部15を介してSIP登録要求(REGISTER)を受信した場合、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URIを取得し、取得したSIP−URIを未登録端末呼制御部102へ送出する。
未登録端末呼制御部102は、未登録端末管理テーブル13bの格納内容を検索し、呼制御部100から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されているか否かを判断する。呼制御部100から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていなければ、このSIP登録要求は通常のSIP登録要求であるので、未登録端末呼制御部102は、その旨を呼制御部100に通知する。
一方、呼制御部100から取得したSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていれば、未登録端末呼制御部(適否判定部)102は、このSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態が「IP接続中」であるか否かを判断する。これにより、未登録端末呼制御部102は、呼制御部100からSIP−URIを取得した端末装置2の呼状態が、未登録端末管理テーブル13bに既に記憶してある呼状態に対して適切であるか否かを判定する。
ここで、本実施形態3の未登録端末呼制御部102は、対応する呼状態が「IP接続中」ではない場合、対応する呼状態が「切断済み」であるか否かを判断する。対応する呼状態が「切断済み」ではない場合、このSIP登録要求は通常のSIP登録要求と判断し、未登録端末呼制御部102は、その旨を呼制御部100に通知する。この場合も、呼制御部100は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得し、対応付けて登録情報テーブル13aに格納させる。
対応する呼状態が「切断済み」である場合、未登録端末呼制御部102は、この呼状態に対応して未登録端末管理テーブル13bに格納してある発信側URI及び着信側URIを取得する。未登録端末呼制御部102は、呼制御部(着信通知部)100によって、取得した着信側URIを宛先とし、取得した発信側URIを発信元としてINVITEを送信する。これにより、着信側端末2に、発信側端末2からの着信があったことを着信履歴として残しておくことができる。
INVITEを受信した着信側端末2がプロビショナル応答(100Trying、180Ringing等)又は成功応答(200OK等)を返してきた場合、呼制御部100は、即座に着信側端末2に切断要求(BYE)を送信する。これにより、SIPサーバ1は、着信側端末2に対して短時間の呼出処理を行なうことができる。そして、呼制御部100は、この着信側端末2へのセッションに関する情報を未登録端末管理テーブル13bから削除するように未登録端末呼制御部102に指示する。これにより、通信が終了した各セッションの情報を確実に未登録端末呼制御部102から削除することができる。
INVITEを受信した着信側端末2がプロビショナル応答(100Trying、180Ringing等)又は成功応答(200OK等)を返してこなかった場合、呼制御部100は、着信側端末2に中断要求(CANCEL)を送信して通信を終了する。そして、呼制御部100は、この着信側端末2へのセッションに関する情報を未登録端末管理テーブル13bから削除するように未登録端末呼制御部102に指示する。
上述した処理により、発信側端末2が発信してから呼接続が確立されるまでの間に発信側端末2から切断要求が送信された場合であっても、着信側端末2の着信履歴に発信側端末2からの着信を残しておくことができる。よって、発信側端末2との呼接続は確立されなかった場合であっても、発信側端末2からの着信があった旨を着信側端末2に通知できる。
以下に、本実施形態3のIP電話システムにおいて、端末装置2から切断要求(BYE)を受信した場合にSIPサーバ1が行なう処理についてフローチャートに基づいて説明する。図24はSIPサーバ1が行なう処理の手順を示すフローチャートである。なお、以下の処理は、SIPサーバ1のROM11又は記憶部13に記憶してある制御プログラムに従って制御部10によって実行される。
SIPサーバ1の制御部10は、いずれかの端末装置2が出力した切断要求(BYE)を受信したか否かを判断しており(S111)、受信していないと判断した場合(S111:NO)、受信するまで通常の動作を行なって待機する。切断要求を受信したと判断した場合(S111:YES)、制御部10は、受信した切断要求から、切断要求を送信した端末装置2のSIP−URI及びCall−IDを取得する(S112)。
制御部10は、取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されているか否かを判断する(S113)。取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されていると判断した場合(S113:YES)、制御部10は、取得したCall−IDが未登録端末管理テーブル13bの呼IDの欄に格納されている値と一致するか否かを判断する(S114)。取得したCall−IDが未登録端末管理テーブル13bの呼IDの欄に格納されている値と一致すると判断した場合(S114:YES)、制御部10は、取得した端末装置2のSIP−URIを発信側URIとして未登録端末管理テーブル13bに格納してある呼の呼状態を「切断済み」に更新する(S115)。制御部10は、ステップS111へ処理を戻す。
取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されていないと判断した場合(S113:NO)、又は取得したCall−IDが未登録端末管理テーブル13bの呼IDの欄に格納されている値と一致しないと判断した場合(S114:NO)、制御部10は、受信した切断要求から、この切断要求の宛先である着信側端末2のSIP−URIを取得する(S116)。制御部10は、取得したSIP−URIに対応させて登録情報テーブル13aに格納されているIPアドレス、即ち、この切断要求の宛先である着信側端末2のIPアドレスを取得する(S117)。制御部10は、取得したIPアドレスを用いて、着信側端末2へ切断要求(BYE)を転送し(S118)、ステップS111へ処理を戻す。
次に、端末装置2からSIP登録要求を受信した場合にSIPサーバ1が行なう処理についてフローチャートに基づいて説明する。図25乃至図27はSIPサーバ1が行なう処理の手順を示すフローチャートである。なお、以下の処理は、SIPサーバ1のROM11又は記憶部13に記憶してある制御プログラムに従って制御部10によって実行される。
SIPサーバ1の制御部10は、いずれかの端末装置2から出力されたSIP登録要求(REGISTER)を受信したか否かを判断しており(S121)、受信していないと判断した場合(S121:NO)、受信するまで通常の動作を行なって待機する。SIP登録要求を受信したと判断した場合(S121:YES)、制御部10は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URIを取得する。制御部10は、取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されているかを判断する(S122)。
SIP登録要求をしてきた端末装置2のSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていると判断した場合(S122:YES)、制御部10は、このSIP−URIに対応して未登録端末管理テーブル13bに格納されている呼状態が「IP接続中」であるか否かを判断する(S123)。
対応する呼状態が「IP接続中」でないと判断した場合(S123:NO)、制御部10は、対応する呼状態が「切断済み」であるか否かを判断する(S124)。SIP登録要求をしてきた端末装置2のSIP−URIが、未登録端末管理テーブル13bの着信側URIの欄に格納されていないと判断した場合(S122:NO)、又は、対応する呼状態が「切断済み」でないと判断した場合(S124:NO)、制御部10は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得する。制御部10は、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させ(S125)、ステップS121へ処理を戻す。
対応する呼状態が「IP接続中」であると判断した場合(S123:YES)、制御部10は、SIP登録要求をしてきた端末装置2のSIP−URIを着信側URIとする呼の呼状態を「呼出中」に更新する(S126)。制御部10は、この呼の発信側端末2宛てに送信する保留音データを、「呼出中」の呼状態に対応した保留音データに変更する(S127)。
制御部10は、受信したSIP登録要求から、SIP登録要求をしてきた端末装置2のSIP−URI及びIPアドレスを取得し、取得したSIP−URI及びIPアドレスを対応付けて登録情報テーブル13aに格納させる。そして、制御部10は、SIP登録要求をしてきた端末装置(着信側端末)2に、発信要求(INVITE)を送信し、呼出処理(呼の転送)を開始する(S128)。
制御部10は、呼の転送を開始した着信側端末2から応答があったか否かを判断しており(S129)、応答があったと判断した場合(S129:YES)、発信側端末2に転送完了(REFER−TO)を送信し、呼の転送を完了する(S130)。これにより、発信側端末2と着信側端末2との呼接続が確立される。制御部10は、呼接続を確立した場合、この呼に関する情報を未登録端末管理テーブル13bから削除し(S132)、ステップS121に処理を戻す。
呼の転送を開始した着信側端末2から応答がないと判断した場合(S129:NO)、制御部10は、着信側端末2への呼の転送を中止し(S131)、発信側端末2との接続を終了する。制御部10は、呼接続を中止した場合、この呼に関する情報を未登録端末管理テーブル13bから削除し(S132)、ステップS121に処理を戻す。
対応する呼状態が「切断済み」であると判断した場合(S124:YES)、制御部10は、この呼状態に対応して未登録端末管理テーブル13bに格納してある発信側URI及び着信側URIを取得する。制御部10は、取得した着信側URIを宛先とし、取得した発信側URIを発信元としてINVITEを送信する(S133)。これにより、着信側端末2に、発信側端末2からの着信があったことを着信履歴として残しておくことができる。
制御部10は、ステップS133で送信したINVITEに対して着信側端末2からプロビショナル応答(100Trying、180Ringing等)又は成功応答(200OK等)を受信したか否かを判断する(S134)。着信側端末2からプロビショナル応答又は成功応答を受信したと判断した場合(S134:YES)、制御部10は、着信側端末2へ切断要求(BYE)を送信する(S135)。制御部10は、この着信側端末2への呼に関する情報を未登録端末管理テーブル13bから削除し(S137)、ステップS121に処理を戻す。
着信側端末2からプロビショナル応答又は成功応答を受信しなかったと判断した場合(S134:NO)、制御部10は、着信側端末2へ中断要求(CANCEL)を送信する(S136)。制御部10は、この着信側端末2への呼に関する情報を未登録端末管理テーブル13bから削除し(S137)、ステップS121に処理を戻す。
上述した処理により、本実施形態3では、発呼してきた発信側端末2が、着信側端末2との呼接続が確立される前に切断要求してきた場合であっても、着信側端末2の着信履歴に、発信側端末2からの着信があったかを記録できる。よって、着信側端末2のユーザは、誰からの着信があった旨を把握でき、発信側端末2へ電話をかけ直す等の判断ができる。
本実施形態3は、上述した実施形態1の変形例として説明したが、上述した実施形態2のような構成にも適用することができる。
(実施形態4)
以下に、実施形態4に係るIP電話システムについて説明する。なお、本実施形態4のIP電話システムは、上述した実施形態1のIP電話システムと同様の構成によって実現することができるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態3では、SIPサーバ1は、発信側端末2と着信側端末2との呼接続が確立される前に、呼接続を保留されている発信側端末2から切断要求(BYE)を受信した場合、着信側端末2の着信履歴に、発信側端末2から着信があったことを記録する構成であった。
本実施形態4では、SIPサーバ1は、発信側端末2と着信側端末2との呼接続が確立される前に、呼接続を保留されている発信側端末2から切断要求(BYE)を受信した場合、呼接続のキャンセルを示すSMSメッセージを着信側端末2へ送信する構成とする。
呼接続が保留されている端末装置2又は呼接続されている端末装置2において、ユーザがキャンセルボタンを操作することにより呼接続を中断させた場合、端末装置2の呼制御部200は、切断要求(BYE)をSIPサーバ1へ送信する。SIPサーバ1の呼制御部100は、呼接続が保留されている端末装置2又は呼接続されている端末装置2から切断要求を受信した場合、受信した切断要求から、端末装置2のSIP−URIを取得する。呼制御部100は、取得した端末装置2のSIP−URIを未登録端末呼制御部102へ送出する。
未登録端末呼制御部102は、切断要求を送信してきた端末装置2のSIP−URIを呼制御部100から取得した場合、取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されているか否かを判断する。取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されていなければ、未登録端末呼制御部102はその旨を呼制御部100に通知する。このとき、呼制御部100は、この端末装置2に切断応答(200OK)を送信して呼を切断する。
取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されていれば、未登録端末呼制御部102は、取得した端末装置2のSIP−URIを発信側URIとして未登録端末管理テーブル13bに格納してある呼の着信側URIを取得する。未登録端末呼制御部102は、取得した着信側URIの端末装置(着信側端末)2に、呼接続がキャンセルされた旨を示すSMSメッセージを送信するように、SMS連携部103に依頼する。
SMS連携部(切断通知部)103は、未登録端末呼制御部102からの依頼に従って、未登録端末管理テーブル13bから取得した着信側URIの着信側端末2に対して、呼接続がキャンセルされた旨を示すSMSメッセージを送信するようにSMSサーバ3へ依頼する。そして、SMS連携部103は、着信側端末2へのSMSメッセージの送信依頼が完了した旨を未登録端末呼制御部102に通知する。
未登録端末呼制御部102は、着信側端末2へのSMSメッセージの送信依頼が完了した旨をSMS連携部103から通知された場合、この着信側端末2へのセッションの情報を未登録端末管理テーブル13bから削除する。
SMSサーバ3は、SMS連携部103からの依頼に従って、着信側端末2に、呼接続がキャンセルされた旨を示すSMSメッセージを送信する。なお、呼接続がキャンセルされた旨を着信側端末2に対して通知する手段も、SMSメッセージに限られず、例えば、WiMAX規格の端末装置2であれば、ページング機能を用いることができる。
上述した処理により、本実施形態4では、発信側端末2が発信してから呼接続が確立されるまでの間に発信側端末2から切断要求を送信してきた場合、呼接続がキャンセルされた旨がSMSメッセージによって着信側端末2に通知される。このようなSMSメッセージを受信した着信側端末2は、発信側端末2との呼接続を確立するための各種の処理を中断させる。これにより、着信側端末2による不要なIP接続処理及びVPN接続処理等を削減できる。
以下に、本実施形態4のIP電話システムにおいて、端末装置2から切断要求(BYE)を受信した場合にSIPサーバ1が行なう処理についてフローチャートに基づいて説明する。図28はSIPサーバ1が行なう処理の手順を示すフローチャートである。なお、以下の処理は、SIPサーバ1のROM11又は記憶部13に記憶してある制御プログラムに従って制御部10によって実行される。
SIPサーバ1の制御部10は、いずれかの端末装置2が出力した切断要求(BYE)を受信したか否かを判断しており(S141)、受信していないと判断した場合(S141:NO)、受信するまで通常の動作を行なって待機する。切断要求を受信したと判断した場合(S141:YES)、制御部10は、受信した切断要求から、切断要求を送信した端末装置2のSIP−URI及びCall−IDを取得する(S142)。
制御部10は、取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されているか否かを判断する(S143)。取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されていると判断した場合(S143:YES)、制御部10は、取得したCall−IDが未登録端末管理テーブル13bの呼IDの欄に格納されている値と一致するか否かを判断する(S144)。取得したCall−IDが未登録端末管理テーブル13bの呼IDの欄に格納されている値と一致すると判断した場合(S144:YES)、制御部10は、受信した切断要求から、この切断要求の宛先である着信側端末2のSIP−URIを取得する(S148)。
制御部10は、取得したSIP−URIに対応させて番号管理テーブル13cに格納されている電話番号、即ち、この切断要求の宛先である着信側端末2の電話番号を取得する(S149)。制御部10は、取得した電話番号に基づいて、着信側端末2に、呼接続がキャンセルされた旨を示すSMSメッセージを送信する(S150)。制御部10は、この着信側端末2への呼に関する情報を未登録端末管理テーブル13bから削除し(S151)、ステップS141に処理を戻す。
取得した端末装置2のSIP−URIが、未登録端末管理テーブル13bの発信側URIの欄に格納されていないと判断した場合(S143:NO)、又は取得したCall−IDが未登録端末管理テーブル13bの呼IDの欄に格納されている値と一致しないと判断した場合(S144:NO)、制御部10は、受信した切断要求から、この切断要求の宛先である着信側端末2のSIP−URIを取得する(S145)。制御部10は、取得したSIP−URIに対応させて登録情報テーブル13aに格納されているIPアドレス、即ち、この切断要求の宛先である着信側端末2のIPアドレスを取得する(S146)。制御部10は、取得したIPアドレスを用いて、着信側端末2へ切断要求(BYE)を転送し(S147)、ステップS141へ処理を戻す。
上述した処理により、本実施形態4では、発呼してきた発信側端末2が、着信側端末2との呼接続が確立される前に切断要求してきた場合に、呼接続がキャンセルされた旨を、SMSメッセージによって着信側端末2に通知する。よって、着信側端末2は、呼接続のキャンセルを通知された後においては発信側端末2との呼接続を確立するために必要な各種の処理を行なわないので、無駄な処理の実行を削減できる。
本実施形態4は、上述した実施形態1の変形例として説明したが、上述した実施形態2のような構成にも適用することができる。
上述した実施形態1〜4は、本願の無限にある実施形態の一部を例示したに過ぎず、各種のハードウェア及びソフトウェア等の構成は、用途等に応じて適宜設計することが可能である。
以上の実施形態1〜4を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
複数の端末装置間の呼接続を制御する呼制御装置において、
呼接続可能な端末装置の装置情報を記憶する装置情報記憶部と、
一の端末装置から他の端末装置への発信要求を受け付ける発信要求受付部と、
該発信要求受付部が発信要求を受け付けた場合、前記他の端末装置の装置情報が前記装置情報記憶部に記憶されているか否かを判断する判断部と、
前記装置情報記憶部に記憶されていないと前記判断部が判断した場合、前記一の端末装置の呼状態を保留する保留部と、
前記他の端末装置の状態を示す状態情報を取得する状態取得部と、
該状態取得部が取得した状態情報に応じて前記一の端末装置へ送信する保留音を設定する保留音設定部と
を備えることを特徴とする呼制御装置。
(付記2)
前記状態取得部は、前記他の端末装置の状態を示す状態情報を、該他の端末装置から取得することを特徴とする付記1に記載の呼制御装置。
(付記3)
中継装置を介して前記端末装置と通信を行なっており、
前記状態取得部は、前記他の端末装置の状態を示す状態情報を前記中継装置から取得することを特徴とする付記1に記載の呼制御装置。
(付記4)
前記他の端末装置の装置情報が前記装置情報記憶部に記憶されていないと前記判断部が判断した場合、発信要求を受け付けた旨を前記他の端末装置に通知する通知部と、
発信要求を受け付けた旨を前記通知部が通知した前記他の端末装置から、該他の端末装置の装置情報を取得する装置情報取得部と、
該装置情報取得部が取得した装置情報を前記装置情報記憶部に記憶させる記憶制御部と、
該記憶制御部が前記装置情報記憶部に記憶させた装置情報に基づいて前記他の端末装置に対して呼出処理を行なう呼出部と、
前記保留部が呼状態を保留している端末装置から切断要求を受け付ける切断要求受付部と、
前記装置情報取得部が前記他の端末装置の装置情報を取得する前に、前記保留部が呼状態を保留している前記一の端末装置からの切断要求を前記切断要求受付部が受け付けた場合、前記一の端末装置の装置情報を保持する保持部と、
該保持部が前記一の端末装置の装置情報を保持している状態で前記装置情報取得部が前記他の端末装置の装置情報を取得した場合、前記他の端末装置に、前記一の端末装置から着信があった旨を通知する着信通知部と
を備えることを特徴とする付記1から3までのいずれかひとつに記載の呼制御装置。
(付記5)
前記他の端末装置の装置情報が前記装置情報記憶部に記憶されていないと前記判断部が判断した場合、発信要求を受け付けた旨を前記他の端末装置に通知する通知部と、
発信要求を受け付けた旨を前記通知部が通知した前記他の端末装置から、該他の端末装置の装置情報を取得する装置情報取得部と、
該装置情報取得部が取得した装置情報を前記装置情報記憶部に記憶させる記憶制御部と、
該記憶制御部が前記装置情報記憶部に記憶させた装置情報に基づいて前記他の端末装置に対して呼出処理を行なう呼出部と、
前記保留部が呼状態を保留している端末装置から切断要求を受け付ける切断要求受付部と、
前記装置情報取得部が前記他の端末装置の装置情報を取得する前に、前記保留部が呼状態を保留している前記一の端末装置からの切断要求を前記切断要求受付部が受け付けた場合、前記他の端末装置に、前記一の端末装置との接続が切断された旨を通知する切断通知部と
を備えることを特徴とする付記1から3までのいずれかひとつに記載の呼制御装置。
(付記6)
IP(Internet Protocol)ネットワークを介した端末装置間の呼接続を制御しており、
前記通知部は、IPネットワーク以外の通信経路を用いて、発信要求を受け付けた旨を前記他の端末装置に通知することを特徴とする付記4又は5に記載の呼制御装置。
(付記7)
前記状態取得部が取得した状態情報を記憶する状態記憶部と、
前記状態取得部が状態情報を取得した場合、取得した状態情報と、該状態情報の端末装置に対して前記状態記憶部に既に記憶してある状態情報とに基づいて、取得した状態情報が適切であるか否かを判定する適否判定部と、
該適否判定部が適切であると判定した場合に、前記状態記憶部に既に記憶してある状態情報を、取得した状態情報に更新する更新部と
を備えることを特徴とする付記1から6までのいずれかひとつに記載の呼制御装置。
(付記8)
複数のネットワーク間を中継する中継装置において、
一のネットワークに接続されている端末装置から他のネットワークへの接続要求を受け付ける接続要求受付部と、
該接続要求受付部が受け付けた接続要求に従って、前記端末装置の前記他のネットワークへの接続を行なう接続部と、
前記接続要求受付部が接続要求を受け付けた場合に、前記端末装置の前記他のネットワークへの接続を前記接続部が行なう前に、前記端末装置が前記他のネットワークへの接続を要求してきた旨を所定の通信装置に通知する通知部と
を備えることを特徴とする中継装置。
(付記9)
複数の端末装置間の呼接続を制御する呼制御装置による呼制御方法において、
前記呼制御装置が、一の端末装置から他の端末装置への発信要求を受け付けた場合、前記他の端末装置の装置情報が、呼接続可能な端末装置の装置情報を記憶する装置情報記憶部に記憶されているか否かを判断するステップと、
前記呼制御装置が、前記装置情報記憶部に記憶されていないと判断した場合、前記一の端末装置の呼状態を保留するステップと、
前記呼制御装置が、前記他の端末装置の状態を示す状態情報を取得するステップと、
前記呼制御装置が、取得した状態情報に応じて前記一の端末装置へ送信する保留音を設定するステップと
を含むことを特徴とする呼制御方法。
(付記10)
コンピュータに、複数の端末装置間の呼接続を制御させるためのコンピュータプログラムであって、
前記コンピュータに、一の端末装置から他の端末装置への発信要求を受け付けた場合、前記他の端末装置の装置情報が、呼接続可能な端末装置の装置情報を記憶する装置情報記憶部に記憶されているか否かを判断させるステップと、
前記コンピュータに、前記装置情報記憶部に記憶されていないと判断した場合、前記一の端末装置の呼状態を保留させるステップと、
前記コンピュータに、前記他の端末装置の状態を示す状態情報を取得させるステップと、
前記コンピュータに、取得した状態情報に応じて前記一の端末装置へ送信する保留音を設定させるステップと
を含むことを特徴とするコンピュータプログラム。