以下に、本発明の実施の形態について説明する。
[第一実施の形態]
まず、本発明の第一実施の形態について説明する。
図1は、本実施の形態に係るIP電話システムの概略構成図である。
図示するように、本実施の形態に係るIP電話システムは、LAN4およびIP電話網5に接続されたVoIPゲートウェイ3と、LAN4に接続され、VoIPゲートウェイ3に帰属する複数のIP電話端末1−1〜1−3(以下、単にIP電話端末1とも呼ぶ)と、を備えて構成される。なお、ここでは、LAN4経由でIP電話端末1をVoIPゲートウェイ3に接続しているが、LAN4以外の有線ネットワーク、あるいは無線LAN等の無線ネットワーク経由でIP電話端末1をVoIPゲートウェイ3に接続してもよい。
VoIPゲートウェイ3は、IP電話網5内のSIPサーバ(不図示)と連携して、VoIPゲートウェイ3配下のIP電話端末1に対する電話呼の発着信を制御する。ここで、VoIPゲートウェイ3は、IP電話網5(外線)側の電話呼とLAN4(内線)側の電話呼とをそれぞれ終端した上で連動させるB2BUA(Back To Back User Agent)として動作する。しかし、VoIPゲートウェイ3が収容している外線の使用状態をVoIPゲートウェイ3配下のIP電話端末1に通知する機能を備えてはいない。この点、IP−PBX等の主装置とは異なる。
IP電話端末1は、VoIPゲートウェイ3を介してIP電話網5内の相手端末(不図示)と通信路を確立し、この通信路を介して相手端末とのIP電話を実現する。また、VoIPゲートウェイ3配下の複数のIP電話端末1のうちのいずれか一台は、自IP電話端末1を含むVoIPゲートウェイ3配下のすべてのIP電話端末1に対して、VoIPゲートウェイ3が収容する外線の使用状態の収集および通知を行う外線状態管理装置2として動作する。図1では、IP電話端末1−1が外線状態管理装置2として動作している例を示している。なお、VoIPゲートウェイ3配下のどのIP電話端末1を外線状態管理装置2として動作させるかは、予め静的に決定してもよいし、各IP電話端末1の負荷状態等に応じて動的に決定してもよい。外線状態管理装置2として動作させるIP電話端末1を複数のIP電話端末1のなかから動的に決定する方法としては、例えば特開2008−205699号公報記載の技術(IPホンシステムにおいて、複数のIPホンのなかから、呼制御サーバとして動作させるIPホンを決定する技術)を利用することができる。
また、IP電話端末1は、VoIPゲートウェイ3が収容する外線の使用状態を、外線状態管理装置2を介してVoIPゲートウェイ3配下の他のIP電話端末1との間で共有している。
つぎに、本実施の形態に係るIP電話システムの概略動作を、図2〜図4に示すシーケンス図を用いて説明する。なお、これらのシーケンス図では、説明をわかり易くするため、外線状態管理装置2を、外線状態管理装置2として動作するIP電話端末1(図1ではIP電話端末1−1)から分離している。また、SIPリクエストであるSUBSCRIBEリクエスト、NOTIFYリクエスト、PUBLISHリクエスト等を受信した装置は、実際には200OKレスポンス等の応答を返信しているが、説明をわかり易くするため、これらのシーケンス図では、これらのSIPリクエストに対する応答を省略している。
図2は、本実施の形態に係るIP電話システムの登録動作を説明するためのシーケンス図である。
まず、VoIPゲートウェイ3は、IP電話網5内のSIPサーバ(不図示)にREGISTERリクエストを送信し(S100)、このSIPサーバから200OKレスポンスを受信する(S101)。これにより、このSIPサーバにVoIPゲートウェイ3が登録される。
つぎに、IP電話端末1−1〜1−3は、VoIPゲートウェイ3にREGISTERリクエストを送信し(S102、S104、S106)、VoIPゲートウェイ3から200OKレスポンスを受信する(S103、S105、S107)。これにより、IP電話端末1−1〜1−3がVoIPゲートウェイ3配下のIP電話端末1としてVoIPゲートウェイ3に登録される。
それから、IP電話端末1−1〜1−3は、外線状態管理装置2に、VoIPゲートウェイ3が収容する外線の使用状態の通知を要求するためにSUBSCRIBEリクエストを送信する(S108、S110、S112)。外線状態管理装置2は、SUBSCRIBEリクエストの送信元であるIP電話端末1−1〜1−3を、VoIPゲートウェイ3が収容する外線の使用状態の通知先(外線状態更新通知先)として登録する。また、外線状態管理装置2は、外線状態更新通知として、VoIPゲートウェイ3が収容する外線の使用状態を含むNOTIFYリクエストを外線状態更新通知先に送信する(S109、S111、S113)。図2では、外線が待受状態であることを示す外線の使用状態「空き」を含むNOTIFYリクエストをIP電話端末1−1〜1−3に送信している。これを受けて、IP電話端末1−1〜1−3は、NOTIFYリクエストに含まれている外線の使用状態「空き」を表示する。
以降、外線状態管理装置2は、外線の使用状態が変更される都度、IP電話端末1−1〜1−3に、外線の使用状態を含むNOTIFYリクエストを送信する。
図3は、本実施の形態に係るIP電話システムの着信動作を説明するためのシーケンス図である。
まず、VoIPゲートウェイ3は、IP電話網5内のSIPサーバからINVITEリクエストを受信すると(S120)、このINVITEリクエストを外線側の電話呼とする新たな内線側の電話呼であるINVITEリクエストを生成し、この新たなINVITEリクエストをVoIPゲートウェイ3配下のIP電話端末1−1〜1−3に送信する(S121〜S123)。これを受けて、IP電話端末1−1〜1−3は、着信鳴動を開始するとともに、180Ringingレスポンスを返信する(S124、S126、S127)。
つぎに、VoIPゲートウェイ3は、VoIPゲートウェイ3配下のいずれかのIP電話端末1から180Ringingレスポンスを受信すると、IP電話網5内のSIPサーバから受信したINVITEリクエストに対する180Ringingレスポンスを新たに生成し、この新たな180RingingレスポンスをIP電話網5内のSIPサーバに返信する(S125)。なお、図3では、IP電話端末1−1からの180RingingレスポンスがVoIPゲートウェイ3に最初に到着し、これを受けて、VoIPゲートウェイ3がIP電話網5内のSIPサーバに180Ringingレスポンスに送信している。
つぎに、IP電話端末1−1〜1−3は、VoIPゲートウェイ3から受信したINVITEリクエストによって特定される外線の使用状態「着信中」を含むPUBLISHリクエストを外線状態更新要求として外線状態管理装置2に送信する(S128、S132、S133)。
外線状態管理装置2は、VoIPゲートウェイ3配下のいずれかのIP電話端末1からPUBLISHリクエストを受け付けると、このPUBLISHリクエストに含まれている外線の使用状態が、外線状態管理装置2で管理している外線の使用状態と異なるか否かを判断する。それらが異なる場合には、管理している外線の使用状態を更新するともに、外線状態更新通知として、更新された外線の使用状態を含むNOTIFYリクエストをVoIPゲートウェイ3配下のIP電話端末1に送信する。ただし、外線状態管理装置2で管理している外線の使用状態が「通信中」である場合、この外線の使用状態を「通信中」と更新する原因(この外線の使用状態の前回の更新原因)となったPUBLISHリクエストの送信元(更新原因端末)と、「通信中」以外の使用状態を含む今回のPUBLISHリクエストの送信元とが一致しているか否かをさらに判断し、両者が一致している場合にのみ、外線状態管理装置2で管理している外線の使用状態を、「通信中」から、今回のPUBLISHリクエストに含まれている他の使用状態に更新するとともに、更新された外線の使用状態を含むNOTIFYリクエストをVoIPゲートウェイ3配下のIP電話端末1に送信する。
図3では、IP電話端末1−1からのPUBLISHリクエストが外線状態管理装置2に最初に到着し、このPUBLISHリクエストに含まれている外線の使用状態「着信中」が、外線状態管理装置2で管理されている外線の使用状態「空き」と異なるため、外線状態管理装置2は、管理している外線の使用状態を「空き」から「着信中」に更新するともに、更新された外線の使用状態「着信中」を含むNOTIFYリクエストをIP電話端末1−1〜1−3に送信している(S129〜S131)。これを受けて、IP電話端末1−1〜1−3は、NOTIFYリクエストに含まれている外線の使用状態「着信中」を表示する。
つぎに、IP電話端末1−3がユーザから応答操作を受け付けたものとする(S134)。これを受けて、IP電話端末1−3は、着信鳴動を停止して、VoIPゲートウェイ3に200OKレスポンスを送信する(S135)。これを受けて、VoIPゲートウェイ3は、IP電話網5内のSIPサーバから受信したINVITEリクエストに対する200OKレスポンスを新たに生成し、この新たな200OKレスポンスをIP電話網5内のSIPサーバに送信する(S136)。そして、このSIPサーバからACKリクエストを受信したならば(S137)、新たなACKリクエストを生成し、この新たなACKリクエストをIP電話端末1−3に送信する(S138)。
これにより、VoIPゲートウェイ3を介して、IP電話端末1−3とIP電話網5内の相手端末との間に通信路が確立され(S139)、IP電話端末1−3とこの相手端末との間の通話が可能となる。
つぎに、IP電話端末1−3は、VoIPゲートウェイ3から受信したACKリクエストによって特定される外線の使用状態「通信中」を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2に送信する(S140)。
外線状態管理装置2は、IP電話端末1−3からPUBLISHリクエストを受け付けると、このPUBLISHリクエストに含まれている外線の使用状態「通信中」が、外線状態管理装置2で管理している外線の使用状態「着信中」と異なることを確認して、管理している外線の使用状態を「着信中」から「通信中」に更新するともに、更新された外線の使用状態「通信中」を含むNOTIFYリクエストをIP電話端末1−1〜1−3に送信する(S141〜S143)。これを受けて、IP電話端末1−1〜1−3は、NOTIFYリクエストに含まれている外線の使用状態「通信中」を表示する。
また、VoIPゲートウェイ3は、IP電話端末1−3から200OKレスポンスを受信したことに伴い、IP電話端末1−3以外のINVITEリクエストの送信先であるIP電話端末1−1、1−2にCANCELリクエストを送信する(S144、S145)。これを受けて、IP電話端末1−1、1−2は、着信鳴動を停止する。また、IP電話端末1−1、1−2は、VoIPゲートウェイ3から受信したCANCELリクエストによって特定される外線の使用状態「空き」を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2に送信する(S146、S147)。
外線状態管理装置2は、IP電話端末1−1、1−2からPUBLISHリクエストを受け付けると、これらのPUBLISHリクエストに含まれている外線の使用状態「空き」が、外線状態管理装置2で管理している外線の使用状態「通信中」と異なることを確認する。しかし、これらのPUBLISHリクエストの送信元(IP電話端末1−1、1−2)が、外線状態管理装置2で管理している外線の使用状態を「通信中」と更新する原因となったPUBLISHリクエストの送信元(S140におけるIP電話端末1−3)とは異なる。このため、外線状態管理装置2で管理している外線の使用状態の更新および更新された外線の使用状態を含むNOTIFYリクエストの送信は行わない。
図4は、本実施の形態に係るIP電話システムの発信動作を説明するためのシーケンス図である。
まず、IP電話端末1−2、1−3が略同時にユーザから外線の捕捉操作を受け付けたものとする(S150、S152)。これを受けて、IP電話端末1−2、1−3は、ユーザの捕捉操作によって特定される外線の使用状態「捕捉中」を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2に送信する(S151、S153)。
外線状態管理装置2は、外線の使用状態「捕捉中」を含むPUBLISHリクエストを、VoIPゲートウェイ3配下の複数のIP電話端末1から受信すると、最初に受信したPUBLISHリクエストの送信元に200OKレスポンスを返信し、2番目以降に受信したPUBLISHリクエストの送信元に409Conflictレスポンスを返信する。図4では、IP電話端末1−2からのPUBLISHリクエストが外線状態管理装置2に最初に到着し、その後、IP電話端末1−3からのPUBLISHリクエストが外線状態管理装置2に到着しているため、外線状態管理装置2は、IP電話端末1−2に200OKレスポンスを返信し(S154)、IP電話端末1−3に409Conflictレスポンスを返信している(S155)。これ受けて、IP電話端末1−2は、ダイヤルトーンを音声出力し、IP電話端末1−3は、ビジートーンを音声出力する。
また、外線状態管理装置2は、IP電話端末1−2から受信したPUBLISHリクエストに含まれている外線の使用状態「捕捉中」が、外線状態管理装置2で管理している外線の使用状態「空き」とは異なることを確認して、管理している外線の使用状態を「空き」から「捕捉中」に更新するともに、更新された外線の使用状態「捕捉中」を含むNOTIFYリクエストをIP電話端末1−1〜1−3に送信する(S156〜S158)。これを受けて、IP電話端末1−1〜1−3は、NOTIFYリクエストに含まれている外線の使用状態「捕捉中」を表示する。
つぎに、IP電話端末1−2は、ユーザから発信操作を受け付けると(S159)、この発信操作においてユーザより受け付けた発信先番号の指定を伴うINVITEリクエストをVoIPゲートウェイ3に送信する(S160)。
これを受けて、VoIPゲートウェイ3は、発信先番号の指定を伴うINVITEリクエストを新たに生成し、この新たなINVITEリクエストをIP電話網5内のSIPサーバに送信する(S161)。それから、VoIPゲートウェイ3は、IP電話網5内のSIPサーバから180Ringingレスポンスを受信すると(S162)、IP電話端末1−2から受信したINVITEリクエストに対する180Ringingレスポンスを新たに生成し、この新たな180RingingレスポンスをIP電話端末1−2に送信する(S163)。これを受けて、IP電話端末1−2は、リングバックトーンを音声出力する。
また、IP電話端末1−2は、INVITEリクエストの送信によって特定される外線の使用状態「発信中」を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2に送信する(S164)。
外線状態管理装置2は、IP電話端末1−2から受信したPUBLISHリクエストに含まれている外線の使用状態「発信中」が、外線状態管理装置2で管理している外線の使用状態「捕捉中」とは異なることを確認して、管理している外線の使用状態を「捕捉中」から「発信中」に更新するともに、更新された外線の使用状態「発信中」を含むNOTIFYリクエストをIP電話端末1−1〜1−3に送信する(S165〜S167)。これを受けて、IP電話端末1−1〜1−3は、NOTIFYリクエストに含まれている外線の使用状態「発信中」を表示する。
つぎに、VoIPゲートウェイ3は、IP電話網5内のSIPサーバから200OKレスポンスを受信すると(S168)、IP電話端末1−2から受信したINVITEリクエストに対する200OKレスポンスを新たに生成し、この新たな200OKレスポンスをIP電話端末1−2に送信する(S169)。これを受けて、IP電話端末1−2は、ACKリクエストをVoIPゲートウェイ3に送信する(S170)。そして、VoIPゲートウェイ3は、ACKリクエストを新たに生成し、この新たなACKリクエストをIP電話網5内のSIPサーバに送信する(S171)。これにより、VoIPゲートウェイ3を介して、IP電話端末1−2とIP電話網5内の相手端末との間に通信路が確立され(S172)、IP電話端末1−2とこの相手端末との間の通話が可能となる。
つぎに、IP電話端末1−2は、VoIPゲートウェイ3に送信したACKリクエストによって特定される外線の使用状態「通信中」を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2に送信する(S173)。
外線状態管理装置2は、IP電話端末1−2からPUBLISHリクエストを受け付けると、このPUBLISHリクエストに含まれている外線の使用状態「通信中」が、外線状態管理装置2で管理している外線の使用状態「発信中」とは異なることを確認して、管理している外線の使用状態を「発信中」から「通信中」に更新するともに、更新された外線の使用状態「通信中」を含むNOTIFYリクエストをIP電話端末1−1〜1−3に送信する(S174〜S176)。これを受けて、IP電話端末1−1〜1−3は、NOTIFYリクエストに含まれている外線の使用状態「通信中」を表示する。
つぎに、IP電話端末1の詳細を説明する。なお、VoIPゲートウェイ3は、既存の装置を利用できるので、その詳細な説明を省略する。
図5は、IP電話端末1の概略構成図である。
図示するように、IP電話端末1は、LANインターフェース部10と、マンマシンインターフェース部11と、IP電話処理部12と、外線状態共有処理部13と、外線状態管理処理部14と、を備えている。
LANインターフェース部10は、LAN4を介して他のIP電話端末1およびVoIPゲートウェイ3に接続するためのインターフェースである。
マンマシンインターフェース部11は、ユーザが電話および各種操作を行うためのインターフェースであり、図示していないが、マイクと、スピーカと、ダイヤルキー、外線ボタン等の操作部と、LCD、LED等のディスプレイと、を備える。
IP電話処理部12は、IP電話機として動作するために必要な処理を行う。具体的には、SIP(Session Initiation Protocol)に従い、VoIPゲートウェイ3あるいは他のIP電話端末1とSIPメッセージをやり取りすることにより、通信路の確立・解放を実施する。また、RTP(Realtime Transport Protocol)に従い、マンマシンインターフェース部11を介してユーザにより音声入力された音声信号を通話データに符号化し、この通話データを通信路経由で相手端末に送信するとともに、相手端末から通信路経由で通話データを受信し、この通話データを音声信号に復号してマンマシンインターフェース部11から音声出力する。
外線状態共有処理部13は、外線状態管理装置2を介して、VoIPゲートウェイ3が収容する外線の使用状態をVoIPゲートウェイ3配下のIP電話端末1間で共有するために必要な処理を行う。図示するように、外線状態共有処理部13は、外線状態更新要求部130と、外線状態更新取得部131と、外線状態表示制御部132と、端末登録要求部133と、を備えている。
外線状態更新要求部130は、SIPリクエストの送受信あるいはユーザにより外線操作がなされた場合に、このSIPリクエストあるいは外線操作により特定される外線の外線番号および使用状態を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2に送信する。
外線状態更新取得部131は、外線状態管理装置2から、外線状態更新通知として、外線の使用状態を含むNOTIFYリクエストを受信する。
外線状態表示制御部132は、外線状態更新取得部131が受信したNOTIFYリクエストに含まれている外線の使用状態に従い、マンマシンインターフェース部11の外線ボタンの表示を制御する。
端末登録要求部133は、外線状態管理装置2に対して、外線状態更新通知であるNOTIFYリクエストの通知先(外線状態更新通知先)として自IP電話端末1を登録することを要求する。
外線状態管理処理部14は、自IP電話端末1を含むVoIPゲートウェイ3配下のすべてのIP電話端末1に対して、VoIPゲートウェイ3が収容する外線の使用状態の収集および通知を行う外線状態管理装置2として自IP電話端末1が動作するために必要な処理を行う。ただし、VoIPゲートウェイ3配下のいずれか一台のIP電話端末1においてのみ外線状態管理処理部14が有効となって、この処理を行い、他のIP電話端末1においては外線状態管理処理部14が無効となる。
図示するように、外線状態管理処理部14は、外線状態記憶部140と、外線状態更新要求受信部141と、外線状態更新部142と、外線状態更新通知部143と、通知端末管理部144と、を備えている。
外線状態記憶部140には、VoIPゲートウェイ3が収容する外線の使用状態に関する情報が記憶される。図6は、外線状態記憶部140の登録内容を模式的に表した図である。図示するように、外線状態記憶部140には、VoIPゲートウェイ3が収容する外線毎に、外線の使用状態に関する情報のレコード1400が記憶されている。レコード1400は、外線番号が登録されたフィールド1401と、外線の使用状態を登録するためのフィールド1402と、フィールド1402に登録されている外線の使用状態を含むPUBLISHリクエストを送信したIP電話端末1の識別情報のリスト(更新要求元リスト)を登録するためのフィールド1403と、フィールド1402に現在の外線の使用状態を登録する原因となったIP電話端末1(フィールド1403に登録されているIP電話端末1のなかで、PUBLISHリクエストを最初に送信したIP電話端末1;更新原因端末)の識別情報を登録するためのフィールド1404と、を有する。
外線状態更新要求受信部141は、VoIPゲートウェイ3配下のIP電話端末1から、外線状態更新要求として、外線の使用状態を含むPUBLISHリクエストを受信する。
外線状態更新部142は、外線状態更新要求受信部141が受信したPUBLISHリクエストに含まれている外線の使用状態に基づいて外線状態記憶部140を更新する。
具体的には、PUBLISHリクエストに含まれている外線番号がフィールド1401に登録されているレコード1400を外線状態記憶部140から検索する。つぎに、PUBLISHリクエストに含まれている外線の使用状態が、検索したレコード1400のフィールド1402に登録されている外線の使用状態と異なるか否かを判断する。そして、両使用状態が一致する場合には、フィールド1403にPUBLISHリクエストの送信元の識別情報を追加する。一方、両使用状態が異なる場合には、フィールド1402の登録内容を、PUBLISHリクエストに含まれている外線の使用状態に更新するとともに、フィールド1403、1404の登録内容を、それぞれにPUBLISHリクエストの送信元の識別情報に変更する。ただし、両使用状態が異なっていても、フィールド1402に登録されている外線の使用状態が「通信中」である場合には、フィールド1404に登録されているIP電話端末1の識別情報とPUBLISHリクエストの送信元とが一致している場合にのみ、フィールド1402の登録内容を、外線の使用状態「通信中」から、PUBLISHリクエストに含まれている他の使用状態に更新する。
外線状態更新通知部143は、外線状態記憶部140を参照し、フィールド1402に登録されている外線の使用状態が更新されたレコード1400がある場合に、このレコード1400のフィールド1401、1402に登録されている外線番号および外線の使用状態を含むNOTIFYリクエストを、外線状態更新通知として生成する。そして、VoIPゲートウェイ3配下の各IP電話端末1に、このNOTIFYリクエストを送信する。
通知端末管理部144は、外線状態更新通知先(外線状態更新通知であるNOTIFYリクエストの通知先)、すなわちVoIPゲートウェイ3配下のIP電話端末1の情報を登録する。
つぎに、IP電話端末1の外線状態共有動作、および外線状態管理装置2としての動作である外線状態管理動作について説明する。なお、VoIPゲートウェイ3との連携により行われるIP電話端末1の呼制御動作(IP電話処理部12の動作)は、既存のIP電話機と同様であるので、その詳細な説明を省略している。
図7は、IP電話端末1の外線状態共有動作を説明するためのフロー図である。
まず、端末登録要求部133は、自IP電話端末1のアドレス情報を含むSUBSCRIBEリクエストを生成し、このSUBSCRIBEリクエストを外線状態管理装置2に送信する(S200)。
つぎに、外線状態更新取得部131は、外線状態管理装置2からNOTIFYリクエストを受信したならば(S201でYES)、このNOTIFYリクエストに含まれている外線番号および外線の使用状態を特定する(S202)。そして、外線状態表示制御部132は、マンマシンインターフェース部11が備える外線ボタンのうち、特定した外線番号に対応する外線ボタンを、特定した外線の使用状態に応じた表示状態に変更する(S203)。
また、外線状態更新要求部130は、IP電話処理部12がVoIPゲートウェイ3にSIPリクエストを送信あるいはVoIPゲートウェイ3からSIPリクエストを受信したならば(S204でYES)、このSIPリクエストに基づいて、このSIPリクエストが対象とする外線の外線番号および使用状態を特定する(S205)。具体的には、VoIPゲートウェイ3からINVITEリクエストを受信した場合、このINVITEリクエストで指定されている外線の使用状態が「着信中」であると特定する。また、VoIPゲートウェイ3にINVITEリクエストを送信した場合、このINVITEリクエストで指定されている外線の使用状態が「発信中」であると特定する。また、外線の使用状態「着信中」においてVoIPゲートウェイ3からこの外線に対するACKリクエストを受信した場合、あるいは外線の使用状態「発信中」においてVoIPゲートウェイ3にこの外線に対するACKリクエストを送信した場合、この外線の新たな使用状態が「通信中」であると特定する。また、外線の使用状態「着信中」、「発信中」あるいは「通信中」においてVoIPゲートウェイ3からこの外線に対するCANCELリクエストあるいはBYEリクエストを受信した場合、この外線の新たな使用状態が「空き」であると特定する。
それから、外線状態更新要求部130は、特定した外線の外線番号および使用状態を含むPUBLISHリクエストを生成し(S206)、このPUBLISHリクエストを外線状態管理装置2に送信する(S207)。
また、外線状態更新要求部130は、マンマシンインターフェース部11を介してユーザから所定の外線操作を受け付けたならば(S208でYES)、この外線操作に基づいて外線の外線番号および使用状態を特定する(S209)。具体的には、ユーザから外線の捕捉操作を受け付けた場合、捕捉対象の外線の使用状態が「捕捉中」であると特定する。それから、外線状態更新要求部130は、特定した外線の外線番号および使用状態を含むPUBLISHリクエストを生成し(S210)、外線状態管理装置2にこのPUBLISHリクエストを送信する(S211)。
図8は、IP電話端末1の外線状態管理動作を説明するためのフロー図である。
通知端末管理部144は、自IP電話端末1を含むVoIPゲートウェイ3配下のいずれかのIP電話端末1からSUBSCRIBEリクエストを受信すると(S220でYES)、このSUBSCRIBEリクエスト送信元のIP電話端末1を外線状態更新通知先(NOTIFYリクエスト送信先)に登録する(S221)。
つぎに、外線状態更新通知部143は、外線状態記憶部140を参照し、レコード1400毎に、レコード1400のフィールド1401、1402に登録されている外線の外線番号および使用状態を含むNOTIFYメッセージを生成し(S222)、外線状態更新通知先として新たに登録したSUBSCRIBEリクエストの送信元に送信する(S223)。
また、外線状態更新要求受信部141は、自IP電話端末1を含むVoIPゲートウェイ3配下のいずれかのIP電話端末1から、外線状態更新要求であるPUBLISHリクエストを受信すると(S224でYES)、このPUBLISHリクエストに含まれている外線の外線番号および使用状態を特定する(S225)。
つぎに、外線状態更新部142は、外線状態記憶部140を参照し、フィールド1401に、PUBLISHリクエストから特定した外線番号が登録されているレコード1400を検索する(S226)。それから、外線状態更新部142は、検索したレコード1400のフィールド1401に登録されている外線番号が、PUBLISHリクエストから特定した外線番号と不一致であるか否かを調べる(S227)。両者が一致する場合(S227でNO)、外線状態更新部142は、検索したレコード1400のフィールド1403に、PUBLISHリクエストの送信元であるIP電話端末1の識別情報を追加する(S228)。一方、両者が不一致の場合(S227でYES)、外線状態更新部142は、検索したレコード1400のフィールド1402に登録されている外線の使用状態が「通信中」であるか否かを調べる(S229)。
S229において、検索したレコード1400のフィールド1402に登録されている外線の使用状態が「通信中」以外である場合(S229でNO)、外線状態更新部142は、検索したレコード1400のフィールド1402〜1404の登録内容をクリアする。それから、このレコード1400のフィールド1402に、PUBLISHリクエストから特定した外線の使用状態を登録する。また、このレコード1400のフィールド1403、1404に、それぞれ更新要求元、更新原因端末として、PUBLISHリクエストの送信元であるIP電話端末1の識別情報を登録する(S230)。これにより、検索したレコード1400の登録内容を更新する。
つぎに、外線状態更新通知部143は、外線状態記憶部140を参照し、更新されたレコード1400のフィールド1401、1402に登録されている外線の外線番号および使用状態を含むNOTIFYリクエストを生成する(S231)。それから、通知端末管理部144を参照し、このNOTIFYリクエストに含まれている外線番号により特定される外線の外線状態更新通知先として登録されているIP電話端末1に、このNOTIFYリクエストを送信する(S232)。
また、S229において、検索したレコード1400のフィールド1402に登録されている外線の使用状態が「通信中」である場合(S229でYES)、外線状態更新部142は、PUBLISHリクエストの送信元であるIP電話端末1の識別情報が、検索したレコード1400のフィールド1404に登録されている更新原因端末の識別情報と一致するか否かを調べる(S233)。両者が一致しない場合(S233でNO)、外線状態更新部142は、検索したレコード1400のフィールド1403に登録されている更新要求元から、PUBLISHリクエストの送信元であるIP電話端末1の識別情報を削除する(S234)。一方、両者が一致する場合(S233でYES)、外線状態更新部142は、検索したレコード1400のフィールド1402〜1404の登録内容をクリアする。それから、このレコード1400のフィールド1402に、PUBLISHリクエストから特定した外線の使用状態「通信中」を登録する。また、このレコード1400のフィールド1403、1404に、それぞれ更新要求元、更新原因端末として、PUBLISHリクエストの送信元であるIP電話端末1の識別情報を登録する(S230)。これにより、検索したレコード1400の登録内容を更新する。
つぎに、外線状態更新通知部143は、外線状態記憶部140を参照し、更新されたレコード1400のフィールド1401、1402に登録されている外線の外線番号および使用状態を含むNOTIFYリクエストを生成する(S231)。それから、通知端末管理部144を参照し、このNOTIFYリクエストに含まれている外線番号により特定される外線の外線状態更新通知先として登録されているIP電話端末1に、このNOTIFYリクエストを送信する(S232)。
以上、本発明の第一実施の形態を説明した。
本実施の形態では、VoIPゲートウェイ3配下の複数のIP電話端末1のうちのいずれか一台が外線状態管理装置2として動作する。外線状態管理装置2は、外線状態管理装置2として動作しているIP電話端末1を含むVoIPゲートウェイ3配下のすべてのIP電話端末1に対して、VoIPゲートウェイ3が収容する外線の使用状態の収集および通知を実施する。このため、本実施の形態によれば、外線の使用状態を配下のIP電話端末1に通知する機能を備えていないVoIPゲートウェイ3に帰属するIP電話端末1間において、VoIPゲートウェイ3が収容する外線の使用状態を共有することができる。
[第二実施の形態]
つぎに、本発明の第二実施の形態について説明する。
本実施の形態に係るIP電話システムが、図1に示す第一実施の形態に係るIP電話システムと異なる点は、IP電話端末1およびVoIPゲートウェイ3に代えて、IP電話端末1aおよびVoIPゲートウェイ3aを用いたことである。
VoIPゲートウェイ3aは、IP電話網5から受信したINVITEリクエストに従い呼出中のIP電話端末1a(外線の使用状態が「着信中」のIP電話端末1a)以外のIP電話端末1aから、代理応答要求としてINVITE(Replaces)リクエストを受信した場合に、INVITE(Replaces)リクエストの送信元であるIP電話端末1aとINVITEリクエストの送信元である相手端末(不図示)との間に通信路を確立する代理応答機能を有している。その他は、第一実施の形態に係るIP電話システムのVoIPゲートウェイ3と同様である。
IP電話端末1aは、VoIPゲートウェイ3aを介してIP電話網5内の相手端末と通信路を確立し、この通信路を介して相手端末とのIP電話を実現する。また、第一実施の形態と同様、VoIPゲートウェイ3a配下の複数のIP電話端末1aのうちのいずれか一台は、自IP電話端末1aを含むVoIPゲートウェイ3a配下のすべてのIP電話端末1aに対して、VoIPゲートウェイ3aが収容する外線の使用状態の収集および通知を行う外線状態管理装置2として動作する。また、IP電話端末1aは、外線状態管理装置2を介して、VoIPゲートウェイ3aが収容する外線の使用状態を、VoIPゲートウェイ3a配下のIP電話端末1a間で共有している。
つぎに、本実施の形態に係るIP電話システムの着信動作を説明する。なお、本実施の形態に係るIP電話システムの登録動作および発信動作は、図2および図4に示す本発明の第一実施の形態に係るIP電話システムの登録動作および発信動作と同様であるので、その説明を省略する。
図9は、本実施の形態に係るIP電話システムの着信動作を説明するためのシーケンス図である。なお、初期状態において、IP電話端末1a−3は、起動しておらず、VoIPゲートウェイ3aおよび外線状態管理装置2に登録されていないものとする。また、図9では、説明をわかり易くするために、外線状態管理装置2を、外線状態管理装置2として動作するIP電話端末1aから分離している。また、SIPリクエストであるNOTIFYリクエスト、PUBLISHリクエスト等を受信した装置は、実際には200OKレスポンス等の応答を返信しているが、説明をわかり易くするために、この図では、これらのSIPリクエストに対する応答を省略している。
まず、VoIPゲートウェイ3aは、IP電話網5内のSIPサーバからINVITEリクエストを受信すると(S300)、このINVITEリクエストを外線側の電話呼とする新たな内線側の電話呼であるINVITEリクエストを生成し、この新たなINVITEリクエストを、VoIPゲートウェイ3a配下のIP電話端末1a−1、1a−2に送信する(S301、S302)。これを受けて、IP電話端末1a−1、1a−2は、180Ringingレスポンスを返信する(S303、S305)。
つぎに、VoIPゲートウェイ3aは、VoIPゲートウェイ3a配下のいずれかのIP電話端末1aから180Ringingレスポンスを受信すると、IP電話網5内のSIPサーバから受信したINVITEリクエストに対する180Ringingレスポンスを新たに生成し、この新たな180RingingレスポンスをIP電話網5内のSIPサーバに返信する(S304)。なお、図9では、IP電話端末1a−1からの180RingingレスポンスがVoIPゲートウェイ3aに最初に到着し、これを受けて、VoIPゲートウェイ3aがIP電話網5内のSIPサーバに180Ringingレスポンスに送信している。
つぎに、VoIPゲートウェイ3aからのINVITEリクエストに対して最初に180Ringingレスポンスに返信したIP電話端末1a−1は、VoIPゲートウェイ3aから受信したINVITEリクエストによって特定される外線の使用状態「着信中」を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2に送信する(S306)。
外線状態管理装置2は、VoIPゲートウェイ3a配下のいずれかのIP電話端末1aからPUBLISHリクエストを受け付けると、このPUBLISHリクエストに含まれている外線の使用状態が、外線状態管理装置2で管理している外線の使用状態とは異なるか否かを判断する。そして、両者が異なる場合には、管理している外線の使用状態を更新するともに、更新された外線の使用状態、および使用状態を更新する原因となったPUBLISHリクエストの送信元である更新原因端末の識別情報を含むNOTIFYリクエストを、外線状態更新通知としてVoIPゲートウェイ3a配下のIP電話端末1aに送信する。ただし、外線状態管理装置2で管理している外線の使用状態が「通信中」である場合、この外線の使用状態を「通信中」と更新する原因となったPUBLISHリクエストの送信元(更新原因端末)と、「通信中」以外の使用状態を含むPUBLISHリクエストの送信元とが一致している場合にのみ、外線状態管理装置2で管理している外線の使用状態を「通信中」から、今回のPUBLISHリクエストに含まれている他の使用状態に更新するとともに、更新された外線の使用状態を含むNOTIFYリクエストを、VoIPゲートウェイ3a配下のIP電話端末1aに送信する。
図9では、IP電話端末1a−1からのPUBLISHリクエストが外線状態管理装置2に到着し、このPUBLISHリクエストに含まれている外線の使用状態「着信中」が、外線状態管理装置2で管理している外線の使用状態「空き」とは異なるため、管理している外線の使用状態を「空き」から「着信中」に更新するともに、更新された外線の使用状態「着信中」および更新原因端末であるIP電話端末1a−1の識別情報を含むNOTIFYリクエストをIP電話端末1a−1、1a−2に送信している(S307、S308)。これを受けて、IP電話端末1a−1、1a−2は、NOTIFYリクエストに含まれている外線の使用状態「着信中」を表示するとともに、着信鳴動を開始する。
また、IP電話端末1a−1、1a−2は、NOTIFYリクエストに含まれている識別情報により特定される更新原因端末が自IP電話端末1aであるか否かを調べる。そして、自IP電話端末1aが更新原因端末でない場合、VoIPゲートウェイ3aからのINVITEリクエストに対して、話中であることを示す486BusyHereレスポンスを返信する。図9では、IP電話端末1a−2がVoIPゲートウェイ3aに486BusyHereレスポンスを返信し(S309)、これを受けて、VoIPゲートウェイ3aがIP電話端末1a−2にACKリクエストを送信している(S310)。
ここで、IP電話端末1a−3が起動したものとする(S311)。IP電話端末1a−3は、VoIPゲートウェイ3aにREGISTERリクエストを送信し(S312)、VoIPゲートウェイ3aから200OKレスポンスを受信する(S313)。これにより、IP電話端末1a−3がVoIPゲートウェイ3a配下のIP電話端末1aとしてVoIPゲートウェイ3aに登録される。
それから、IP電話端末1a−3は、外線状態管理装置2に、VoIPゲートウェイ3aが収容する外線の使用状態の通知を要求するためにSUBSCRIBEリクエストを送信する(S314)。外線状態管理装置2は、SUBSCRIBEリクエストの送信元であるIP電話端末1a−3を、VoIPゲートウェイ3が収容する外線の使用状態の通知先として登録する。また、外線状態管理装置2は、外線状態更新通知として、着信中の外線の使用状態「着信中」を含むNOTIFYリクエストを送信する(S315)。これを受けて、IP電話端末1a−3は、NOTIFYリクエストに含まれている外線の使用状態「着信中」を表示するとともに、着信鳴動を開始する。
つぎに、IP電話端末1a−3がユーザから応答操作を受け付けたものとする(S316)。これを受けて、IP電話端末1a−3は、着信鳴動を停止して、VoIPゲートウェイ3aに、代理応答要求であるINVITE(Replaces)リクエストを送信する(S317)。VoIPゲートウェイ3aは、IP電話網5内のSIPサーバから受信したINVITEリクエストに対する200OKレスポンスを新たに生成し、この新たな200OKレスポンスをIP電話網5内のSIPサーバに送信する(S318)。そして、このSIPサーバからACKリクエストを受信したならば(S319)、INVITE(Replaces)リクエストに対する200OKレスポンスを生成し、この200OKレスポンスをIP電話端末1a−3に返信する(S320)。また、IP電話端末1a−3は、ACKリクエストをVoIPゲートウェイ3aに送信する(S321)。
これにより、VoIPゲートウェイ3aにおいて、IP電話端末1a−1に送出中のINVITEリクエストに対する代理応答処理が実施され、VoIPゲートウェイ3aを介して、このINVITEリクエストの送信元であるIP電話網5内の相手端末とINVITE(Replaces)リクエストの送信元であるIP電話端末1a−3との間に通信路が確立され(S322)、この相手端末とIP電話端末1a−3との間の通話が可能となる。
つぎに、IP電話端末1a−3は、VoIPゲートウェイ3aに送信したACKリクエストによって特定される外線の使用状態「通信中」を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2に送信する(S323)。
外線状態管理装置2は、IP電話端末1a−3からPUBLISHリクエストを受け付けると、このPUBLISHリクエストに含まれている外線の使用状態「通信中」が、外線状態管理装置2で管理している外線の使用状態「着信中」と異なることを確認して、管理している外線の使用状態を「着信中」から「通信中」に更新するともに、更新された外線の使用状態「通信中」を含むNOTIFYリクエストをIP電話端末1a−1〜1a−3に送信する(S324〜S326)。これを受けて、IP電話端末1a−1〜1a−3は、NOTIFYリクエストに含まれている外線の使用状態「通信中」を表示する。また、着信鳴動中ならば、着信鳴動を停止する。
また、VoIPゲートウェイ3aは、IP電話端末1a−3からACKリクエストを受信したことに伴い、INVITEリクエストの送信先であるIP電話端末1a−1にCANCELリクエストを送信する(S327)。これを受けて、IP電話端末1a−1は、VoIPゲートウェイ3aから受信したCANCELリクエストによって特定される外線の使用状態「空き」を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2に送信する(S328)。
外線状態管理装置2は、IP電話端末1a−1からPUBLISHリクエストを受け付けると、このPUBLISHリクエストに含まれている外線の使用状態「空き」が、外線状態管理装置2で管理している外線の使用状態「通信中」と異なることを確認する。しかし、これらのPUBLISHリクエストの送信元(IP電話端末1a−1)は、更新原因端末、すなわち、外線状態管理装置2で管理している外線の使用状態を「通信中」と更新する原因となったPUBLISHリクエストの送信元(IP電話端末1a−3)と異なる。このため、外線状態管理装置2で管理している外線の使用状態は更新されず、したがって、更新された外線の使用状態を含むNOTIFYリクエストの送信も行われない。
つぎに、IP電話端末1aの詳細を説明する。なお、VoIPゲートウェイ3aは、既存の装置を利用できるので、その詳細な説明を省略している。
図10は、IP電話端末1aの概略構成図である。
本実施の形態に係るIP電話端末1aが、図5に示す本発明の第一実施の形態に係るIP電話端末1と異なる点は、IP電話処理部12および外線状態共有処理部13に代えて、IP電話処理部12aおよび外線状態共有処理部13aを用いたことである。その他の構成は、本発明の第一実施の形態に係るIP電話端末1と同様である。
IP電話処理部12aは、本発明の第一実施の形態に係るIP電話端末1のIP電話処理部12が行う処理(IP電話機として動作するために必要な処理)に加えて、後述のIP電話処理依頼部134からの指示に従い、VoIPゲートウェイ3aにSIPメッセージを送信する処理を行う。
外線状態共有処理部13aは、本発明の第一実施の形態に係るIP電話端末1の外線状態共有処理部13の構成(外線状態更新要求部130、外線状態更新取得部131、外線状態表示制御部132、端末登録要求部133)に加えて、IP電話処理依頼部134を備えている。
IP電話処理依頼部134は、外線状態管理装置2から外線状態更新通知として受信したNOTIFYリクエスト、あるいはユーザから受け付けた外線操作に従い、VoIPゲートウェイ3aに対するSIPメッセージの送信をIP電話処理部12aに依頼する。
つぎに、IP電話端末1aの外線状態共有動作について説明する。なお、外線状態管理装置2としての動作である外線状態管理動作は、外線状態更新通知であるNOTIFYリクエストに更新原因端末の識別情報が含まれる点を除き、図8に示す本発明の第一実施の形態に係るIP電話端末1の外線状態管理動作と同様である。また、VoIPゲートウェイ3aとの連携により行われるIP電話端末1aの呼制御動作(IP電話処理部12aの動作)は、既存のIP電話機と同様である。そこで、これらの詳細な説明を省略している。
図11は、IP電話端末1aの外線状態共有動作を説明するためのフロー図である。
まず、端末登録要求部133は、自IP電話端末1aのアドレス情報を含むSUBSCRIBEリクエストを生成し、このSUBSCRIBEリクエストを外線状態管理装置2に送信する(S400)。
つぎに、外線状態更新取得部131は、外線状態管理装置2からNOTIFYリクエストを受信したならば(S401でYES)、図7のS202、S203を実施する(S402)。
それから、IP電話処理依頼部134は、外線状態管理装置2より受信したNOTIFYリクエストから特定した外線の使用状態が「着信中」であるか否かを調べる(S403)。そして、NOTIFYリクエストから特定した外線の使用状態が「着信中」であるならば(S403でYES)、IP電話処理依頼部134は、IP電話処理部12aによりVoIPゲートウェイ3aからINVITEリクエストを直前に受信しているか否かを調べ(S404)、INVITEリクエストを直前に受信しているならば(S404でYES)、外線状態管理装置2より受信したNOTIFYリクエストに含まれている識別情報により特定される更新原因端末が自IP電話端末1aであるか否かをさらに調べる(S405)。そして、更新原因端末が自IP電話端末1aでない場合(S405でNO)、IP電話処理依頼部134は、IP電話処理部12aに話中処理を依頼する。これを受けて、IP電話処理部12aは、VoIPゲートウェイ3aから直前に受信したINVITEリクエストに対して486BusyHereレスポンスを返信する(S406)。
また、外線状態更新要求部130は、IP電話処理部12aがVoIPゲートウェイ3aにSIPリクエストを送信、あるいはVoIPゲートウェイ3aからSIPリクエストを受信したならば(S407でYES)、図7のS205〜S207を実施する(S408)。
また、外線状態更新要求部130は、マンマシンインターフェース部11を介してユーザから所定の外線操作を受け付けたならば(S409でYES)、図7のS209〜S211を実施する(S410)。
それから、IP電話処理依頼部134は、ユーザから受け付けた外線操作が使用状態「着信中」の外線に対する応答操作であるか否かを調べる(S411)。そして、使用状態「着信中」の外線に対する応答操作であるならば(S411でYES)、この外線の使用状態「着信中」を通知したNOTIFYリクエストに含まれている識別情報により特定される更新原因端末が自IP電話端末1aであるか否かをさらに調べる(S412)。そして、更新原因端末が自IP電話端末1aでない場合(S412でNO)、IP電話処理依頼部134は、IP電話処理部12aに代理応答処理を依頼する。これを受けて、IP電話処理部12aは、使用状態「着信中」の外線に対するINVITE(Replaces)リクエストを作成し、このINVITE(Replaces)リクエストをVoIPゲートウェイ3aに送信する(S413)。
以上、本発明の第二実施の形態を説明した。
本実施の形態に係るIP電話システムは、第一実施の形態に係るIP電話システムの効果に加えて、つぎの効果を有する。すなわち、図9に示すIP電話端末1a−3のように、IP電話端末1aは、VoIPゲートウェイ3aがVoIPゲートウェイ3a配下の他のIP電話端末1aにINVITEリクエストを送信した後に起動されるため、VoIPゲートウェイ3aからINVITEリクエストを受信していない場合でも、起動の際に外線状態管理装置2から受信するNOTIFYリクエストにより外線の使用状態「着信中」を取得でき、この外線に対するINVITE(Replaces)リクエストをVoIPゲートウェイ3aに送信することで、VoIPゲートウェイ3aから受信していないINVITEリクエストに代理応答することができる。
[第三実施の形態]
つぎに、本発明の第三実施の形態について説明する。
本実施の形態に係るIP電話システムが、図1に示す第一実施の形態に係るIP電話システムと異なる点は、IP電話端末1、外線状態管理装置2、およびVoIPゲートウェイ3に代えて、IP電話端末1b、外線状態管理装置2b、およびVoIPゲートウェイ3bを用いたことである。
VoIPゲートウェイ3bは、IP電話網5から受信したINVITEリクエストに従い呼出中のIP電話端末1b(外線の使用状態が「着信中」のIP電話端末1b)以外のIP電話端末1bから、代理応答要求としてINVITE(Replaces)リクエストを受信した場合に、INVITE(Replaces)リクエストの送信元であるIP電話端末1bとINVITEリクエストの送信元である相手端末(不図示)との間に通信路を確立する代理応答機能を有している。また、VoIPゲートウェイ3bには、収容する外線毎に、着信呼の呼出先に関する設定情報が記憶されており、VoIPゲートウェイ3bは、この設定情報の読出しおよび書込みを、LAN4経由で外部装置から受け付ける機能を有している。その他は、第一実施の形態に係るIP電話システムのVoIPゲートウェイ3と同様である。
IP電話端末1bは、VoIPゲートウェイ3bを介してIP電話網5内の相手端末と通信路を確立し、この通信路を介して相手端末とのIP電話を実現する。また、第一実施の形態と同様、VoIPゲートウェイ3b配下の複数のIP電話端末1bのうちのいずれか一台は、自IP電話端末1bを含むVoIPゲートウェイ3b配下のすべてのIP電話端末1bに対して、VoIPゲートウェイ3bが収容する外線の使用状態の収集および通知を行う外線状態管理装置2bとして動作する。また、IP電話端末1bは、外線状態管理装置2bを介して、VoIPゲートウェイ3bが収容する外線の使用状態を、VoIPゲートウェイ3b配下のIP電話端末1b間で共有している。
外線状態管理装置2bは、VoIPゲートウェイ3bから設定情報を読み出して記憶するとともに、VoIPゲートウェイ3bの設定情報を書き換えて、外線の着信呼に対応するINVITEリクエストの送信先をすべて外線状態管理装置2bに変更する機能を有する。その他は、第一実施の形態に係るIP電話システムの外線状態管理装置2と同様である。
つぎに、本実施の形態に係るIP電話システムの着信動作を説明する。なお、本実施の形態に係るIP電話システムの登録動作および発信動作は、図2および図4に示す本発明の第一実施の形態に係るIP電話システムの登録動作および発信動作と同様であるので、その説明を省略する。
図12は、本実施の形態に係るIP電話システムの着信動作を説明するためのシーケンス図である。なお、図9では、説明をわかり易くするために、外線状態管理装置2bを、外線状態管理装置2bとして動作するIP電話端末1bから分離している。また、SIPリクエストであるNOTIFYリクエスト、PUBLISHリクエスト等を受信した装置は、実際には200OKレスポンス等の応答を返信しているが、説明をわかり易くするために、この図では、これらのSIPリクエストに対する応答を省略している。
まず、外線状態管理装置2bは、外線状態管理装置2bとして動作するIP電話端末1bとは別個に、VoIPゲートウェイ3bにREGISTERリクエストを送信し(S500)、VoIPゲートウェイ3bから200OKレスポンスを受信する(S501)。これにより、外線状態管理装置2bは、外線状態管理装置2bとして動作するIP電話端末1bとは別個に、VoIPゲートウェイ3b配下の端末としてVoIPゲートウェイ3bに登録される。
つぎに、外線状態管理装置2bは、VoIPゲートウェイ3bにアクセスして、VoIPゲートウェイ3bが収容する各外線の着信呼の呼出先に関する設定情報を取得して記憶する(S502)。それから、外線状態管理装置2bは、VoIPゲートウェイ3bが収容するすべての外線の着信呼の呼出先が外線状態管理装置2bとなるように、VoIPゲートウェイ3bに登録されている設定情報を書き換える(S503)。これにより、IP電話網5からVoIPゲートウェイ3bにINVITEリクエストが着信した場合に、このINVITEリクエストに対応するINVITEリクエストがすべて外線状態管理装置2bに送信されるようになる。
さて、VoIPゲートウェイ3bは、IP電話網5内のSIPサーバからINVITEリクエストを受信すると(S504)、このINVITEリクエストを外線側の電話呼とする新たな内線側の電話呼であるINVITEリクエストを生成し、この新たなINVITEリクエストをVoIPゲートウェイ3b配下の外線状態管理装置2bに送信する(S505)。これを受けて、外線状態管理装置2bは、180Ringingレスポンスを返信する(S506)。また、これを受けて、VoIPゲートウェイ3bは、IP電話網5内のSIPサーバから受信したINVITEリクエストに対する180Ringingレスポンスを返信する(S507)。
つぎに、外線状態管理装置2は、IP電話網5内のSIPサーバから受信したINVITEリクエストが対象とする外線の使用状態を「着信中」に更新するともに、更新された外線の使用状態「着信中」を含むNOTIFYリクエストを、この外線に対する着信呼の呼出先として、VoIPゲートウェイ3bから取得した設定情報に登録されているIP電話端末1bに送信する。図12では、すべてのIP電話端末1b−1〜1a−3に送信している(S508〜S510)。これを受けて、IP電話端末1b−1〜1b−3は、NOTIFYリクエストに含まれている外線の使用状態「着信中」を表示するとともに、着信鳴動を開始する。
ここで、IP電話端末1b−3がユーザから応答操作を受け付けたものとする(S511)。これを受けて、IP電話端末1b−3は、着信鳴動を停止して、代理応答要求であるINVITE(Replaces)リクエストをVoIPゲートウェイ3bに送信する(S512)。これを受けて、VoIPゲートウェイ3bは、IP電話網5内のSIPサーバから受信したINVITEリクエストに対する200OKレスポンスを新たに生成し、この新たな200OKレスポンスをIP電話網5内のSIPサーバに送信する(S513)。そして、このSIPサーバからACKリクエストを受信したならば(S514)、INVITE(Replaces)リクエストに対する200OKレスポンスを生成し、この200OKレスポンスをIP電話端末1b−3に返信する(S515)。また、IP電話端末1b−3は、ACKリクエストをVoIPゲートウェイ3bに送信する(S516)。
これにより、VoIPゲートウェイ3bにおいて、外線状態管理装置2bに送出中のINVITEリクエストに対する代理応答処理が実施され、VoIPゲートウェイ3bを介して、このINVITEリクエストの送信元であるIP電話網5内の相手端末とINVITE(Replaces)リクエストの送信元であるIP電話端末1b−3との間に通信路が確立され(S517)、この相手端末とIP電話端末1b−3との間の通話が可能となる。
つぎに、IP電話端末1b−3は、VoIPゲートウェイ3bに送信したACKリクエストによって特定される外線の使用状態「通信中」を含むPUBLISHリクエストを、外線状態更新要求として外線状態管理装置2bに送信する(S518)。
外線状態管理装置2bは、IP電話端末1b−3からPUBLISHリクエストを受け付けると、このPUBLISHリクエストに含まれている外線の使用状態「通信中」が、外線状態管理装置2bで管理している外線の使用状態「着信中」とは異なることを確認して、管理している外線の使用状態を「着信中」から「通信中」に更新するともに、更新された外線の使用状態「通信中」を含むNOTIFYリクエストをIP電話端末1b−1〜1b−3に送信する(S519〜S521)。これを受けて、IP電話端末1b−1〜1b−3は、NOTIFYリクエストに含まれている外線の使用状態「通信中」を表示する。また、着信鳴動中のIP電話端末1b−2、1b−3は、着信鳴動を停止する。
また、VoIPゲートウェイ3bは、IP電話端末1b−3からACKリクエストを受信したことに伴い、INVITEリクエストの送信先である外線状態管理装置2bにCANCELリクエストを送信する(S522)。
つぎに、IP電話端末1bの詳細を説明する。なお、VoIPゲートウェイ3bは、既存の装置を利用できるので、その詳細な説明を省略している。
図13は、IP電話端末1bの概略構成図である。
本実施の形態に係るIP電話端末1bが、図5に示す本発明の第一実施の形態に係るIP電話端末1と異なる点は、IP電話処理部12、外線状態共有処理部13および外線状態管理処理部14に代えて、IP電話処理部12b、外線状態共有処理部13bおよび外線状態管理処理部14bを用いたことである。その他の構成は、本発明の第一実施の形態に係るIP電話端末1と同様である。
IP電話処理部12bは、本発明の第二実施の形態に係るIP電話端末1bのIP電話処理部12aと同様に、本発明の第一実施の形態に係るIP電話端末1のIP電話処理部12が行う処理(IP電話機として動作するために必要な処理)に加えて、後述のIP電話処理依頼部134からの指示に従い、VoIPゲートウェイ3bにSIPメッセージを送信する処理を行う。
外線状態共有処理部13bは、第二実施の形態に係るIP電話端末1bの外線状態共有処理部13bと同様に、第一実施の形態に係るIP電話端末1の外線状態共有処理部13の構成(外線状態更新要求部130、外線状態更新取得部131、外線状態表示制御部132、端末登録要求部133)に加えて、IP電話処理依頼部134を備えている。
IP電話処理依頼部134は、外線状態管理装置2bから外線状態更新通知として受信したNOTIFYリクエスト、あるいはユーザから受け付けた外線操作に従い、VoIPゲートウェイ3bに対するSIPメッセージの送信をIP電話処理部12bに依頼する。
外線状態管理処理部14bは、本発明の第一実施の形態に係るIP電話端末1の外線状態管理処理部14の構成(外線状態記憶部140、外線状態更新要求受信部141、外線状態更新部142、外線状態更新通知部143、通知端末管理部144)に加えて、設定情報更新部145および呼制御処理部146を備えている。
設定情報更新部145は、VoIPゲートウェイ3bが収容する各外線の着信呼の呼出先に関する設定情報をVoIPゲートウェイ3bから取得して記憶するとともに、VoIPゲートウェイ3bが収容するすべての外線の着信呼の呼出先が外線状態管理装置2bとなるように、VoIPゲートウェイ3bに登録されている設定情報を書き換える。
呼制御処理部146は、SIPに従い、VoIPゲートウェイ3bとSIPメッセージを送受信する。また、呼制御処理部146は、VoIPゲートウェイ3bにREGISTERリクエストを送信し、VoIPゲートウェイ3bから200OKレスポンスを受信することにより、外線状態管理処理部14bの動作により実現される外線状態管理装置2bを、この外線状態管理処理部14bを搭載しているIP電話端末1bとは別個に、VoIPゲートウェイ3b配下の端末としてVoIPゲートウェイ3bに登録する。
つぎに、IP電話端末1bの外線状態共有動作、および外線状態管理装置2bとしての動作である外線状態管理動作について説明する。なお、VoIPゲートウェイ3bとの連携により行われるIP電話端末1bの呼制御動作(IP電話処理部12bの動作)は、既存のIP電話機と同様であるので、その詳細な説明を省略している。
図14は、IP電話端末1bの外線状態共有動作を説明するためのフロー図である。
まず、端末登録要求部133は、自IP電話端末1bのアドレス情報を含むSUBSCRIBEリクエストを生成し、このSUBSCRIBEリクエストを外線状態管理装置2bに送信する(S600)。
つぎに、外線状態更新取得部131は、外線状態管理装置2bからNOTIFYリクエストを受信したならば(S601でYES)、図7のS202、S203を実施する(S602)。
それから、IP電話処理依頼部134は、外線状態管理装置2bより受信したNOTIFYリクエストから特定した外線の使用状態が「着信中」であるか否かを調べる(S603)。そして、NOTIFYリクエストから特定した外線の使用状態が「着信中」であるならば(S603でYES)、IP電話処理依頼部134は、IP電話処理部12bに着信鳴動の開始を依頼する。これを受けて、IP電話処理部12bは、着信鳴動中でないならば、マンマシンインターフェース部11から呼出音を送出して、着信鳴動を開始する(S604)。
一方、NOTIFYリクエストから特定した外線の使用状態が「着信中」でない場合(S603でNO)、IP電話処理依頼部134は、この特定した外線の使用状態が「通信中」であるか否かをさらに調べる(S605)。そして、NOTIFYリクエストから特定した外線の使用状態が「通信中」であるならば(S605でYES)、IP電話処理依頼部134は、IP電話処理部12bに着信鳴動の停止を依頼する。これを受けて、IP電話処理部12bは、着信鳴動中ならば、マンマシンインターフェース部11からの呼出音の送出を中止して、着信鳴動を停止する(S606)。
また、外線状態更新要求部130は、IP電話処理部12bがVoIPゲートウェイ3bにSIPリクエストを送信、あるいはVoIPゲートウェイ3bからSIPリクエストを受信したならば(S607でYES)、図7のS205〜S207を実施する(S608)。
また、外線状態更新要求部130は、マンマシンインターフェース部11を介してユーザから所定の外線操作を受け付けたならば(S609でYES)、図7のS209〜S211を実施する(S610)。
それから、IP電話処理依頼部134は、ユーザから受け付けた外線操作が使用状態「着信中」の外線に対する応答操作であるか否かを調べる(S611)。そして、使用状態「着信中」の外線に対する応答操作であるならば(S611でYES)、IP電話処理依頼部134は、IP電話処理部12bに代理応答処理を依頼する。これを受けて、IP電話処理部12bは、使用状態「着信中」の外線に対するINVITE(Replaces)リクエストを作成し、このINVITE(Replaces)リクエストをVoIPゲートウェイ3bに送信する(S612)。また、マンマシンインターフェース部11からの呼出音の送出を中止して、着信鳴動を停止する。
図15は、IP電話端末1bの外線状態管理動作を説明するためのフロー図である。
まず、呼制御処理部146は、VoIPゲートウェイ3bにREGISTERリクエストを送信し、VoIPゲートウェイ3bから200OKレスポンスを受信することにより、外線状態管理処理部14bの動作により実現される外線状態管理装置2bを、この外線状態管理処理部14bを搭載しているIP電話端末1bとは別個に、VoIPゲートウェイ3b配下の端末としてVoIPゲートウェイ3bに登録する(S620)。
つぎに、設定情報更新部145は、VoIPゲートウェイ3bにアクセスし、VoIPゲートウェイ3bが収容する各外線の着信呼の呼出先に関する設定情報を取得して記憶するとともに、VoIPゲートウェイ3bが収容するすべての外線の着信呼の呼出先が外線状態管理装置2bとなるように、VoIPゲートウェイ3bに登録されている設定情報を書き換える(S621)。
その後、通知端末管理部144は、自IP電話端末1bを含むVoIPゲートウェイ3b配下のいずれかのIP電話端末1bからSUBSCRIBEリクエストを受信すると(S622でYES)、図8のS221〜S223を実施する(S623)。
また、外線状態更新要求受信部141は、自IP電話端末1bを含むVoIPゲートウェイ3b配下のいずれかのIP電話端末1bから、外線状態更新要求であるPUBLISHリクエストを受信すると(S624でYES)、このPUBLISHリクエストに含まれている外線の外線番号および使用状態を特定する(S625)。
つぎに、外線状態更新部142は、外線状態記憶部140を参照し、PUBLISHリクエストから特定した外線番号がフィールド1401に登録されているレコード1400を検索する(S626)。
それから、外線状態更新部142は、検索したレコード1400のフィールド1402〜1404の登録内容をクリアする。そして、このレコード1400のフィールド1402に、PUBLISHリクエストから特定した外線の使用状態を登録する。また、このレコード1400のフィールド1403、1404に、それぞれ更新要求元、更新原因端末として、PUBLISHリクエストの送信元であるIP電話端末1bの識別情報を登録する(S627)。これにより、検索したレコード1400の登録内容を更新する。
つぎに、外線状態更新通知部143は、外線状態記憶部140を参照し、更新されたレコード1400のフィールド1401、1402に登録されている外線の外線番号および使用状態を含むNOTIFYリクエストを生成する(S628)。それから、外線状態更新通知部143は、通知端末管理部144およびVoIPゲートウェイ3bから取得した設定情報を参照し、通知端末管理部144に外線状態更新通知先として登録されているIP電話端末1bであって、かつ設定情報において、NOTIFYリクエストに含まれている外線番号により特定される外線に対する着信呼の呼出先として設定されているIP電話端末1bに、このNOTIFYリクエストを送信する(S629)。
また、呼制御処理部146は、VoIPゲートウェイ3bからINVITEリクエストを受信すると(S630でYES)、180Ringingレスポンスを返信する(S631)。
つぎに、外線状態更新部142は、外線状態記憶部140を参照し、INVITEリクエストに含まれている発信先番号がフィールド1401に登録されているレコード1400を検索する(S632)。
それから、外線状態更新部142は、検索したレコード1400のフィールド1402〜1404の登録内容をクリアする。そして、このレコード1400のフィールド1402に外線の使用状態として「着信中」を登録する。また、このレコード1400のフィールド1403、1404に、それぞれ更新要求元、更新原因端末として、外線状態管理装置2bの識別情報を登録する(S633)。これにより、検索したレコード1400の登録内容を更新する。
つぎに、外線状態更新通知部143は、外線状態記憶部140を参照し、更新されたレコード1400のフィールド1401、1402に登録されている外線の外線番号および使用状態「着信中」を含むNOTIFYリクエストを生成する(S634)。それから、外線状態更新通知部143は、通知端末管理部144およびVoIPゲートウェイ3bから取得した設定情報を参照し、通知端末管理部144に外線状態更新通知先として登録されているIP電話端末1bであって、かつ設定情報において、NOTIFYリクエストに含まれている外線番号により特定される外線に対する着信呼の呼出先として設定されているIP電話端末1bに、このNOTIFYリクエストを送信する(S635)。
以上、本発明の第三実施の形態を説明した。
本実施の形態に係るIP電話システムは、本発明の第二実施の形態に係るIP電話システムと同様に、本発明の第一実施の形態に係るIP電話システムの効果に加えて、つぎの効果を有する。すなわち、IP電話端末1bは、VoIPゲートウェイ3bが外線状態管理装置2bにINVITEリクエストを送信した後に起動された場合でも、起動の際に外線状態管理装置2bから受信するNOTIFYリクエストにより外線の使用状態「着信中」を取得でき、この外線に対するINVITE(Replaces)リクエストをVoIPゲートウェイ3bに送信することで、外線状態管理装置2bがVoIPゲートウェイ3aから受信したINVITEリクエストに代理応答することができる。
なお、本発明は上記の各実施の形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
例えば、上記の各実施の形態では、VoIPゲートウェイ3、3a、3b配下のいずれか一台のIP電話端末1、1a、1bの外線状態管理処理部14、14bを動作させることにより、このIP電話端末1、1a、1bを外線状態管理装置2、2bとして動作させている。しかし、本発明はこれに限定されない。外線状態管理装置2、2bは、IP電話端末1、1a、1bから独立した別個の装置でもよい。あるいは、VoIPゲートウェイ3、3a、3bに外線状態管理処理部14、14bを設けることにより、VoIPゲートウェイ3、3a、3bを外線状態管理装置2、2bとして動作させてもよい。
また、上記の各実施の形態において、IP電話端末1、1a、1bは、外線状態管理装置2、2bから外線状態更新通知として受信したNOTIFYリクエストに含まれている外線の使用状態が「着信中」である場合、このNOTIFYリクエストに含まれている外線の外線番号が着信を受け付けない外線番号に設定されているならば、外線の使用状態として、「着信中」ではなく例えば「使用中」を表示してもよい。
また、上記の各実施の形態において、図5、図10、図13に示すIP電話端末1、1a、1bの機能構成は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などの集積ロジックICによりハード的に実現されるものでもよいし、あるいはDSP(Digital Signal Processor)などの計算機によりソフトウエア的に実現されるものでもよい。または、CPU、メモリ、HDD、DVD−ROM等の補助記憶装置、およびNIC(Network Interface Card)、無線LANアダプタ等の通信装置を備えたPC(Personal Computer)、PDA(Personal Digital Assistant)、スマートホン等の汎用コンピュータにおいて、CPUが所定のプログラムを補助記憶装置からメモリ上にロードして実行することで実現されるものでもよい。