(ネットワーク構成)
図1は、第1の実施の形態の通信網の構成例を示す説明図である。
本通信網(システム)は、Webサーバ1と、SOAP−SIPアダプタ(通信装置)2と、SIPサーバ3と、HGW(Home Gateway)4a及び4bとを備える。SIPサーバ3は、例えばNGN N2に設置される。
Webサーバ1は、SOAP−SIPアダプタ2と通信する。また、Webサーバ1は、インターネットN1等のネットワークを介して端末5aと通信する。さらに、Webサーバ1は、NGN N2とHGW4aを介し、かつ、インターネットN1等のネットワークを介して端末A5bと、NGN N2とHGW4bを介し、かつ、インターネットN1等のネットワークを介して端末A5cと、各々通信する。SOAP−SIPアダプタ2は、NGN N2とHGW4aを介して端末A5bと通信する。SOAP−SIPアダプタ2と端末B5cについても同様である。
図2は、第1の実施の形態のSOAP−SIPアダプタ2の構成例を示す説明図である。
SOAP−SIPアダプタ2は、例えば、プロセッサ(以下、CPU)2001と、インタフェース(以下、IF)2003a及び2003bと、メモリ2004とを備える。メモリ2004は、SOAP制御部2101と、3PCCモジュール部2102と、メディアストリーム制御部2103と、SIP制御部2104とを有する。3PCCモジュール部2102は、セッション情報テーブル2010を有し、メディアストリーム制御部2103は、メディアストリーム制御情報テーブル2040を有する。セッション情報テーブル2010は、呼参加者情報テーブル2020と、端末情報テーブル2030とを有する。
CPU2001は、SOAP−SIPアダプタ2における各処理を実行する。メモリ2004上のSOAP制御部2101、3PCCモジュール部2102、メディアストリーム制御部2103及びSIP制御部2104は、CPU2001により実行される。IF2003は、回線2002を介してWebサーバ1やNGN N2と通信するためのインタフェースである。
図3−1は、第1の実施の形態のSOAP−SIPアダプタ2におけるセッション情報テーブル2010の構成の一例を示す説明図である。
セッション情報テーブル2010は、例えば、sessionID2011に対応して、セッション状態2012と、呼参加者状態2020と、端末情報2030とを記憶する。
sessionID2011は、Webサーバ1からの接続要求に対応するセッション識別子である。sessionID2011は、端末A5bと端末B5cとの通信を識別する。セッション状態2012は、sessionID2011が示すセッションの状態を示す。セッション状態2012は、例えば、「Initial(初期状態)」、「Connected(接続状態)」、「Terminated(終了状態)」等が記憶される。呼参加者状態2020は、呼参加者情報テーブル2020に相当する。呼参加者情報テーブル2020の詳細については、後述する。端末情報2030は、端末情報テーブル2030に相当する。端末情報2030は、端末毎にそれぞれ記憶される。図示の例では、端末A5bに対応する端末情報(Client A用)2030_Aと、端末B5cに対応する端末情報(Client B用)2030_Bとが記憶される。端末情報テーブル2030の詳細については、後述する。
図3−2は、第1の実施の形態のSOAP−SIPアダプタ2における呼参加者情報テーブル2020の構成の一例を示す説明図である。
呼参加者情報テーブル2020は、例えば、端末毎に、URI2021と呼状態2022と開始時間(時刻)2023とを記憶する。
URI2021は、各ユーザに対応するSIP−URIを示す。呼状態2022は、SOAP−SIPアダプタ2と各端末5b、5cとの間のSIPのセッションの状態を示す。呼状態2022は、例えば、「CallParticipantInitial(初期状態)」、「CallParticipantConnected(接続状態)」、「CallParticipantTerminated(終了状態)」等が記憶される。開始時間2023は、SOAP−SIPアダプタ2が各端末5b、5cに対して、SIPのセッションを確立したときの時刻を示す。
図3−3は、第1の実施の形態のSOAP−SIPアダプタ2における端末情報テーブル2030の構成の一例を示す説明図である。
端末情報テーブル2030は、例えば、SIPで用いるパラメータ等が記憶される。端末情報テーブル2030は、例えば、ハンドル値2031と、sessionID2032と、端末状態2033と、Role2034と、send SDP(Session Description Protocol)情報2035と、recv SDP情報2036と、From URI2037と、To URI2038とを記憶する。
ハンドル値2031は、SOAP−SIPアダプタ2と端末5bとの間のSIPのセッション、及び、SOAP−SIPアダプタ2と端末B5cとの間のSIPのセッションをそれぞれ識別する情報である。sessionID2032は、上述のセッション情報テーブル2010のsessionID2011に対応する。端末状態2033は、SOAP−SIPアダプタ2と各端末5b、5cとのセッション確立に至るまでの状態を示す。端末状態2033は、例えば、「Initial(初期状態)」、「ConnectWait(「応答」を待っている状態)」、「CallComplete(「応答」を受け付け、UAとのセッションが確立している状態)」、「CloseWait(「切断完了通知」を待っている状態)」、「Closed(終了状態)」等が記憶される。なお、「Initial」、「ConnectWait」は、呼参加者情報テーブル2020に記憶される呼状態2022の「CallParticipantInitial」に対応する。また、「CallComplete」、「CloseWait」は、呼参加者情報テーブル2020に記憶される呼状態2022の「CallParticipantConnected」に対応する。「CloseWait」は、呼状態2022の「CallParticipantTerminated」に対応する。
Role2034は、発信側又は着信側を示す情報である。send SDP情報2035は、例えば、SOAP−SIPアダプタ2のIPアドレスとポート番号を含む。recv SDP情報2036は、例えば、端末A5b又は端末B5cのIPアドレスとポート番号を含む。From URI2037は、SOAP−SIPアダプタ2が送信するSIPメッセージの送信元URIを示す。From URI2037は、例えばSOAP−SIPアダプタ2のSIP−URIである。To URI2038は、SOAP−SIPアダプタ2が送信するSIPメッセージの送信先URIを示す。To URI2038は、例えば、端末A5b又は端末B5cのSIP−URIである。
図3−4は、第1の実施の形態のSOAP−SIPアダプタ2におけるメディアストリーム制御情報テーブル2040の構成の一例を示す説明図である。
メディアストリーム制御情報テーブル2040は、例えば、sessionID2041に対応して、メディアストリーム送受信用IPアドレス2042と、メディアストリーム送受信用ポート番号2043と、相手先IPアドレス(1)2044と、相手先ポート番号(1)2045と、相手先IPアドレス(2)2046と、相手先ポート番号(2)2047とを記憶する。
sessionID2041は、セッション情報テーブル2010のsessionID2011と対応する。メディアストリーム送受信用IPアドレス2042及びメディアストリーム送受信用ポート番号2043は、SOAP−SIPアダプタ2がメディアストリームを転送する際に用いるIF2003のIPアドレス及びポート番号である。相手先IPアドレス(1)2044及び相手先ポート番号(1)2045と、相手先IPアドレス(2)2046及び相手先ポート番号(2)2047の対は、メディアストリームの転送先を示す。例えば、メディアストリームの送信元が相手先IPアドレス(1)2044及び相手先ポート番号(1)2045に該当する場合、対応する相手先IPアドレス(2)2046及び相手先ポート番号(2)2047を転送先としてメディアストリームを転送する。メディアストリームの送信元が相手先IPアドレス(2)2046及び相手先ポート番号(2)2047の場合も同様に、対応する相手先IPアドレス(1)2044及び相手先ポート番号(1)2045を転送先としてメディアストリームを転送する。図示の例では、相手先IPアドレス(1)2044及び相手先ポート番号(1)2045は、端末A5bのIPアドレス及びポート番号を示し、相手先IPアドレス(2)2046及び相手先ポート番号(2)2047は、端末B5cのIPアドレス及びポート番号を示す。
図4は、webサーバ1の構成図である。
webサーバ1は、例えば、処理部100と、入力部110と、表示部120と、記憶部130と、通信インタフェース140を備える。入力部110は、例えば、SessionIDの入力やユーザ識別子の入力を受け付ける。表示部120は、ユーザ識別子、SIP−URIを表示する。記憶部130は、端末情報テーブル(メモリ)2400と、電話帳テーブル(メモリ)2410と、発信履歴情報テーブル(メモリ)2420と、着信履歴情報テーブル(メモリ)2430を有する。通信インタフェース140は、例えばSOAP−SIPアダプタ2と通信するためのインタフェースである。処理部100は、webサーバ1での各種処理を実行する。後述する端末情報テーブル2400と、電話帳テーブル2410と、発信履歴情報テーブル2420の制御(読み出し、情報の格納、更新などの制御)は、処理部が行う。
図5−1は、第1の実施の形態のwebサーバ1における端末情報テーブル2400の構成の一例を示す説明図である。端末情報テーブル2400は、少なくともユーザIDと端末IDと電話番号とを対応させ、個々の端末に関する情報を格納するものである。なお、テーブルに記憶する情報は下記する全ての組合せでも良いが、必要とする任意の情報の組合せであっても良い。
例えば、ユーザID2401に対応して、端末ID2402と、端末名称2403と、電話番号2404と、correlator2405と、端末登録状態2406とを記憶する。
ユーザID2401は、3PCCサービスを利用するユーザに対する識別子である。端末ID2402は、あるユーザが所有する通信端末に対する識別子である。ここで、一のユーザIDは複数の端末(複数の端末ID)と対応してもよい。図5-1では、ユーザID0001に対し、「固定端末」の端末ID01と「携帯端末」の端末ID02とが対応する。端末名称2403は、通信端末に対する名称である。電話番号2404は、ユーザ所有の通信端末の端末IDに対応する電話番号を示す。correlator2405は、SOAP−SIPアダプタ2からのイベント通知における関連性を示す識別子である。イベント通知とは、SOAP−SIPアダプタ2による呼設定における通知であり、このイベント通知との関連性とは、イベント通知への対応要否を決めるパラメータである。端末登録状態2406は、SOAP−SIPアダプタ2へイベント通知対象として登録済みであるかの状態を示す。
図5−2は、第1の実施の形態のwebサーバ1における電話帳テーブル2410の構成の一例を示す説明図である。電話帳テーブル2410は、少なくともユーザIDと接続先指定アドレス(例えばSIP−URI)と表示アドレス(例えば電話番号)とを対応させ、個々のユーザに関する情報を格納するものである。ここでのユーザIDとは、名前2413に括りついたものではなく、名前2413、ふりがな2414、アドレス2415、表示アドレス2416の情報を電話帳に保持しているユーザのユーザIDのことである。
例えば、ID2411に対応して、ユーザID2412と、名前2413と、ふりがな2414と、アドレス2415と、表示アドレス2416とを記憶する。
ID2411は、データ管理のための識別子である。ユーザID2412は、上述の端末情報テーブル2400のユーザID2401に対応する。名前2413は、3PCCサービスを利用するユーザの名前であり、ユーザID2412に1対1に対応する情報である。ふりがな2414は、名前2413に1対1に対応する情報であり、電話帳表示の際のソートで使用することができる。アドレス2415は、各ユーザのSIP−URIを示す。表示アドレスは、アドレス2415のうち、電話帳を参照する端末へ表示させる情報、例えば、電話番号である。
図5−3は、第1の実施の形態のwebサーバ1における発信履歴情報テーブル2420の構成の一例を示す説明図である。発信履歴情報テーブル2420は、少なくともユーザIDとセッションIDと発信先情報と発信元情報と発信時間情報とを対応させ、個々の呼(Calling)の発信に関する情報を格納するものである。なお、テーブルに記憶する情報は下記する全ての組合せでも良いが、必要とする任意の情報の組合せであっても良い。
例えば、ID2421に対応して、ユーザID2422と、セッションID2423と、発信先アドレス2424と、発信先アドレス表示名2425と、発信先名2426と、発信元アドレス2427と、発信日時2428とを記憶する。
ID2421は、データ管理のための識別子である。ユーザID2422は、上述の端末情報テーブル2400のユーザID2401に対応する。セッションID2423は、上述のセッション情報テーブル2010のsessionID2011に対応する。発信先アドレス2424は、着信側となる端末、例えば、端末B5cのSIP−URIである。発信先アドレス表示名2425は、発信先アドレス2424のうち、発信履歴を参照する端末へ表示させる情報、例えば、電話番号である。発信先名2426は、上述の電話帳テーブル2410の名前2413に対応する。発信元アドレス2427は、発信側となる端末、例えば、端末A5bのSIP−URIである。発信日時2428は、電話を発信した時間情報である。
図5−4は、第1の実施の形態のwebサーバ1における着信履歴情報テーブル2430の構成の一例を示す説明図である。着信履歴情報テーブル2430は、少なくともユーザIDとセッションIDと発信元情報と着信時間情報とを対応させ、個々の呼の(Calling)の着信に関する情報を格納するものである。なお、テーブルに記憶する情報は下記する全ての組合せでも良いが、必要とする任意の情報の組合せであっても良い。
例えば、ID2431に対応して、ユーザID2432と、セッションID2433と、発信元アドレス2434と、発信元アドレス表示名2435と、発信元名2436と、不在着信2437と、着信日時2438とを記憶する。
ID2431は、データ管理のための識別子である。ユーザID2432は、上述の端末情報テーブル2400のユーザID2401に対応する。セッションID2433は、上述のセッション情報テーブル2010のsessionID2011に対応する。発信元アドレス2434は、発信側となる端末、例えば、端末A5bのSIP−URIである。発信元アドレス表示名2435は、発信元アドレス2434のうち、着信履歴を参照する端末へ表示させる情報、例えば、電話番号である。発信元名2436は、上述の電話帳テーブル2410の名前2413に対応する。不在着信2437は、発呼時における、相手端末の着信への応答の状態を示す。着信日時2438は、電話を着信した時間情報である。
(動作)
図7は、SOAP−SIPアダプタにおけるsessionID/connectionID生成を説明するフローチャートである。なお、connectionIDは、接続を3PCCではなくNGN接続とするときに使用できるパラーメータである。図8は、第1の実施の形態のSOAP−SIPアダプタ2における呼開始要求受信時の動作を説明するフローチャートである。また、図6は、3PCCサービスにおける発着信履歴情報の作成手順を説明するシーケンス図である。図16は、webサーバ1における発信履歴作成の動作を説明するフローチャートである。図17、図18は、webサーバ1における着信履歴作成の動作を説明するフローチャートである。
本実施の形態によると、3PCCサービスにおいて、通信開始元(発信元)の接続端末を特定することができる。また、接続端末のユーザごとに発着信履歴情報を管理する場合には、特定の接続端末以外からも各ユーザに対応した発着信履歴情報を抽出することができる。さらには、web管理の電話帳を提供することも可能となる。
発着信履歴情報の作成を含む3PCCサービスまでの流れは、以下の(a)〜(e)となる。(a)webサーバ1からSOAP−SIPアダプタ2へ発着信履歴作成対象ユーザのSIP−URIなどを登録。(b)SOAP−SIPアダプタ2と第1接続端末A5bとのセッション確立。(c)webサーバ1にて第1接続端末A5bの発信履歴情報を作成。(d)SOAP−SIPアダプタ2と第2接続端末B5cとのセッション確立。(e)webサーバ1にて第2接続端末B5cの着信履歴情報を作成。(f)第1接続端末A5bと第2接続端末B5c間で通話。しかし、(b)が完了し、(d)を開始している段階で、第1接続端末A5bでは無音状態となる。この点については、SOAP−SIPアダプタ2から擬似的にRBT(Ringing Back Tone、接続維持メッセージ)を第1接続端末A5bへ送信する。
また、NGNにおいては、シグナリングチャネルとデータチャネルを確立するIPアドレスが同一である必要が条件としてあり、従来の3PCCサービスフローのように通信させる2者間(第1接続端末A5bと第2接続端末B5c間)のデータチャネル確立代行が不可能である。この点については、本実施の形態では、第1接続端末A5bからのデータをSOAP−SIPアダプタ2で受信し、そのデータを第2接続端末B5cへ転送する。第2接続端末B5cからのデータをSOAP−SIPアダプタ2で受信し、そのデータを第1接続端末A5bへ転送する。また、SOAP−SIPアダプタ2は、上述の転送を実現するためのメディアストリーム制御情報テーブル2040を作成する。
さらに、3PCCサービスにおいては、通信する2者(第1接続端末A5bと第2接続端末B5c)とは違う第三者であるSOAP−SIPアダプタ2がその2者に対し発呼をするため、第1接続端末A5bまたは第2接続端末B5cが不在着信をするときに、通知される電話番号がSOAP−SIPアダプタ2の情報となる。そのため、第1接続端末または第2接続端末が通信開始元(発信元)の接続端末を特定することができず、折返しの電話をすることが不可能となる課題がある。そこで、本実施の形態では、webサーバ1上で、3PCCサービスにおける発着信履歴情報を作成し、webサーバ1と通信可能な端末に、通信のために必要となるユーザ情報(ログインIDなど)に対応した発着信履歴情報を提供する。
以下、シーケンス図及び各フローチャートに従って本実施の形態の手順を説明する。
図6に沿ってシーケンスフローを説明する。まず、webサーバ1の管理者は、webサーバ1へログインする。3PCCサービスを利用するユーザなどの情報を入力し、端末情報テーブル2400に登録する。例えば、登録内容には、ユーザID2401、複数の端末を識別する端末ID2402、端末名称2403、電話番号2404、correlator2405を含む。次に、webサーバ1は、SOAP startCallNotificationRequest(通知開始要求)をSOAP−SIPアダプタ2に送信する(S16)。SOAP startCallNotificationRequestは、接続状態の通知の要求対象のユーザに対応するSIP−URI、関連性を示すための値correlatorを含む。SOAP−SIPアダプタ2は、受信したSOAP startCallNotificationResponse(通知開始応答)を送信する(S17)。webサーバ1は、SOAP startCallNotificationResponse(通知開始応答)受信契機に、端末情報テーブル2400の端末登録状態2406を“未”から“済”へ更新する(初期値は、“未”である)。次に、第三者のユーザ、または、webサーバ1の管理者は、端末5aを操作してWebサーバ1にログインする。Webサーバ1は、通信するユーザのユーザ識別子(ユーザID)(例えば、端末A5b、端末B5cの各々について、使用するユーザに対応するユーザID)を端末5aより入力する。例えば、Webサーバ1が、ログインした端末5aに対して表示した画面に従い、ユーザの操作により通信する2者のユーザが選択されてもよい。
Webサーバ1は、SOAP makeCallSessionRequest(接続要求)をSOAP−SIPアダプタ2に送信する(S1)。SOAP makeCallSessionRequestは、接続要求の対象の2者のユーザに対応するSIP−URIを含む。Webサーバ1は、ユーザ識別子(ユーザID)とそのユーザのSIP−URIが対応して電話帳テーブル2410に記憶されており、電話帳テーブル2410への検索により、入力されたユーザ識別子(ユーザID)に対応するSIP−URIを取得する。Webサーバ1は、取得されたSIP−URIを含むSOAP makeCallSessionRequestを生成してSOAP−SIPアダプタ2に送信する。 SOAP−SIPアダプタ2は、受信したSOAP makeCallSessionRequestに含まれるSIP−URIに対応するそれぞれの端末5b、5cに対して接続を開始し、SOAP−SIPアダプタ2で生成したsessionIDを含むSOAP makeCallSessionResponse送信する(S2〜S15)。このとき、webサーバ1は、SOAP makeCallSessionRequestに含まれる、接続要求対象の2者のユーザ情報(SIP−URI)のうち、発信元アドレスとされているユーザ情報(SIP−URI)に対応する第1接続端末A5bについて、発信履歴情報テーブル2420に発信履歴を登録する。
例えば、発信履歴情報テーブル2420には、SOAP makeCallSessionResponseに含む、sessionID2423、発信先アドレス(第2接続端末A5cのSIP−URI)2424、発信先アドレス表示名2425、発信先名2426、発信元アドレス(第1接続端末A5bのSIP−URI)2427、発信日時2428を含む。
さらに、webサーバ1は、SOAP−SIPアダプタ2からSOAP notifyCalledNumberRequestを受信(S23)、また、SOAP notifyAnswerRequestを受信(S26)する。このとき、webサーバ1は、それぞれ、SOAP−SIPアダプタ2へ、SOAP notifyCalledNumberResponse(S24)、SOAP notifyAnswerResponse(S27)を送信する。そして、SOAP makeCallSessionRequestに含まれる接続の要求対象の2者のユーザ情報(SIP−URI)のうち、発信先アドレスとされているユーザ情報(SIP−URI)に対応する第2接続端末A5cについて、後述するように、着信履歴情報テーブル2430に着信履歴を登録する(S18〜S27)。例えば、着信履歴情報テーブル2430には、SOAP makeCallSessionResponseに含む、sessionID2433、発信元アドレス(第1接続端末A5bのSIP−URI)2434、発信元アドレス表示名2435、発信元名2436、不在着信フラグ2437、着信日時2438を含む。
以下、SOAP−SIPアダプタ2に関するステップS2〜S15、S18〜S27の詳細な動作について説明する。
SOAP−SIPアダプタ2のSOAP制御部2101は、SOAP makeCallSessionRequestを受信し、接続要求を3PCCモジュール部2102に送信する(S2)。この接続要求は、例えば、受信したSOAP makeCallSessionRequestに基づいてSOAP−SIPアダプタ2で用いる適宜のプロトコルに従って生成されることができ、SOAP makeCallSessionRequest内のSIP−URIを含む。
3PCCモジュール部2102は、接続要求を受信すると(7001、8001)、sessionIDを生成する(8002)。以下に、図7を参照してsessionIDの生成について説明する。
3PCCモジュール部2102は、接続要求を受信すると、乱数値を生成する(7002)。3PCCモジュール部2102は、生成された乱数値がセッション情報テーブル2010のsessionID2011に登録済みであるか否かを判断する(7003)。生成された乱数値が既に登録済みの場合(すなわち、既に使用されている場合)、3PCCモジュール部2102はステップ7002に戻り、以降の処理を繰り返す。一方、生成された乱数値が未登録の場合、3PCCモジュール部2102は、生成したsessionIDをセッション情報テーブル2010に記憶する(7004)。さらに、3PCCモジュール部2102は、セッション情報テーブル2010のセッション状態2012を「Initial(初期状態)」に設定する。
また、3PCCモジュール部2102は、受信した接続要求に含まれるSIP−URIを呼参加者情報テーブル2020に記憶する。図3−2に示す呼参加者情報テーブル2020の例では、端末A5bのSIP−URI(2020_A参照)と、端末B5cのSIP−URI(2020_B参照)が記憶される。3PCCモジュール部2102は、呼参加者情報テーブル2020の各端末5b、5cに対応する呼状態2022を「CallParticipantInitial(初期状態)」にそれぞれ設定する。
さらに、3PCCモジュール部2102は、端末A5b、端末B5cの端末情報を記憶する。具体的には、3PCCモジュール部2102は、生成したsessionIDを各端末5b、5cに対応して端末情報テーブル2030に記憶する。また、3PCCモジュール部2102は、受信した接続要求に含まれる各SIP−URIを、端末情報テーブル2030の各端末5b、5cに対応するTo URI2038にそれぞれ記憶する。3PCCモジュール部2102は、端末情報テーブル2030の各端末5b、5cに対応する端末状態2032を「Initial(初期状態)」にそれぞれ設定する。3PCCモジュール部2102は、端末情報テーブル2030の各端末5b、5cに対応するRole2033に、発信側又は着信側を示す情報をそれぞれ設定する。なお、端末5b、5cのいずれを発信側とするかは適宜定めることができる。また、3PCCモジュール部2102は、SOAP−SIPアダプタ2のIPアドレスとポート番号を端末情報テーブル2030のsend SDP情報2035に記憶する。また、3PCCモジュール部2102は、SOAP−SIPアダプタ2のSIP−URIを端末情報テーブル2030の各端末5b、5cに対応するFrom URI2037にそれぞれ記憶する。なお、SOAP−SIPアダプタ2のSIP−URI、IPアドレス及びポート番号は、予め適宜の記憶部に記憶されている。
3PCCモジュール部2102は、接続要求成功応答を生成し、SOAP制御部2101に送信する(S3、8011)。接続要求成功応答は、生成したsessionIDを含む。SOAP制御部2101は、接続要求成功応答を受信し、SOAP makeCallSessionResponse(接続要求成功応答)をWebサーバ1に送信する(S4、8012)。SOAP makeCallSessionResponseは生成されたsessionIDを含み、受信した接続要求成功応答に基づいてSOAPに従って生成される。Webサーバ1は、SOAP makeCallSessionResponseを受信し、受信したSOAP makeCallSessionResponseに含まれるsessionIDを適宜の記憶部に記憶する。
なお、ステップ8002でsessionIDの生成に失敗した場合、3PCCモジュール部2102は、接続要求失敗応答(エラーレスポンスメッセージ)を生成し(8013)、SOAP制御部2101に送信する。SOAP制御部2101は、接続要求失敗応答を受信し、接続要求の失敗を示すSOAP makeCallSessionResponseをWebサーバ1に送信する(8012)。
次に、SOAP−SIPアダプタ2と端末A5bとのセッションを確立する。
より具体的には、3PCCモジュール部2102は、メディアストリーム制御・転送用のポートを取得する(8003)。3PCCモジュール部2102は、端末A5bに対する発信要求(A)をSIP制御部2104に送信する(S5、8004)。例えば、3PCCモジュール部2102は、端末情報テーブル2030に記憶された端末A5bに対応するsend SDP情報2035、From URI2037及びTo URI2038を含む発信要求をSIP制御部2104に送信する。また、3PCCモジュール部2102は、一例としてこのときの時刻を呼参加者情報テーブル2020の端末A5bに対応する開始時間2023に記憶する。図3−2に示す呼参加者情報テーブル2020の例では、「2010.08.22 10:30.30」が記憶される。なお、開始時間2023は、このときの時刻に限らず、端末A5bとのセッションの開始を示す適宜の時刻を記憶してもよい。
SIP制御部2104は、発信要求(A)に含まれるTo URIに従い、INVITEメッセージ(A)を端末A5bに送信する(S6)。INVITEメッセージ(A)は、例えば、受信した発信要求に含まれる、send SDP情報、From URI、To URIを少なくとも含む。また、SIP制御部2104は、端末A5bとのセッションを識別するハンドル値を生成する。
端末A5bは、INVITEメッセージ(A)を受信し、受信したINVITEメッセージ(A)のsend SDP情報に含まれるSOAP−SIPアダプタ2のIPアドレスとポート番号を適宜の記憶部に記憶する。記憶されたIPアドレスとポート番号は、例えばメディアストリームの送信の際に用いられる。また、端末A5bは、自身のIPアドレスとポート番号を含むrecv SDP情報を生成し、生成したSDP情報を含むSIPの200 OK(A)をSOAP−SIPアダプタ2に送信する(S7)。SOAP−SIPアダプタ2のSIP制御部2104は、200 OK(A)を受信し、SIPのACK(A)を端末A5bに送信する(S8)。
SIP制御部2104は、応答通知(A)を3PCCモジュール部2102に送信する(S9、8005)。応答通知(A)は、例えば、ステップS6で生成したハンドル値と、ステップS7で受信した200 OKに含まれる端末A5bのrecv SDP情報とを含む。3PCCモジュール部2102は、受信した応答通知(A)に含まれるハンドル値とrecv SDP情報を、端末情報テーブル2030に端末A5bに対応して記憶する。なお、ハンドル値は、ステップS6〜S8の間の適宜のタイミングで記憶されてもよい。3PCCモジュール部2102は、端末情報テーブル2030の端末A5bに対応する端末状態2033を「CallComplete(セッション確立状態)」に更新する。また、3PCCモジュール部2102は、呼参加者情報テーブル2020の端末A5bに対応する呼状態2022を「CallParticipantConnected(接続状態)」に更新する。なお、端末状態2033は、例えば、SIPのメッセージ(例えば、200 OK等)の送受信に応じて適宜更新してもよい。
また、3PCCモジュール部2102は、生成したsessionIDと、SOAP−SIPアダプタ2のIPアドレス及びポート番号と、受信したrecv SDP情報に含まれる端末A5bのIPアドレス及びポート番号とをメディアストリーム制御部2103に送信する。メディアストリーム制御部2103は、受信した情報をそれぞれメディアストリーム制御情報テーブル2040に記憶する。例えば、メディアストリーム制御部2103は、受信したSOAP−SIPアダプタ2のIPアドレス及びポート番号をメディアストリーム送受信用IPアドレス2042、メディアストリーム送受信用ポート番号2043に記憶し、受信した端末A5bのIPアドレス及びポート番号を相手先IPアドレス(1)2044、相手先ポート番号(1)2045に記憶する。また、メディアストリーム制御部2103は、受信したsessionIDを記憶する。
3PCCモジュール部2102は、擬似RBT送信要求をメディアストリーム制御部2103に送信する(S101)。メディアストリーム制御部2103は、擬似RBT送信要求を受信すると、例えばRTP(Real−time Transport Protocol)に従い、擬似RBTを端末A5bに送信する(S10、8006)。メディアストリーム制御部2103は、例えば相手を呼び出し中である旨のアナウンスや適宜の音楽等を擬似RBTとして用いてもよい。
次に、SOAP−SIPアダプタ2と端末B5cとのセッションを確立する。
3PCCモジュール部2102は、端末B5cに対する発信要求(B)をSIP制御部2104に送信する(S11、8007)。例えば、3PCCモジュール部2102は、端末情報テーブル2030に記憶された端末B5cに対応するsend SDP情報2035、From URI2037及びTo URI2038を含む発信要求をSIP制御部2104に送信する。また、3PCCモジュール部2102は、このときの時刻を呼参加者情報テーブル2020の端末B5cに対応する開始時間2023に記憶する。図3−2に示す呼参加者情報テーブル2020の例では、「2010.08.22 10:30.45」が記憶される。
SIP制御部2104は、発信要求(B)に含まれるTo URIに従い、INVITEメッセージ(B)を端末B5cに送信する(S12)。INVITEメッセージ(B)は、例えば、受信した発信要求に含まれる、send SDP情報、From URI、To URIを少なくとも含む。また、SIP制御部2104は、端末B5cとのセッションを識別するハンドル値を生成する。
端末B5cは、INVITEメッセージ(B)を受信し、受信したINVITEメッセージ(B)のsend SDP情報に含まれるSOAP−SIPアダプタ2のIPアドレスとポート番号を適宜の記憶部に記憶する。
また、端末B5cは、呼出中であることを示す180 Ringing(呼出中通知)をSOAP−SIPアダプタ2に送信する(S20)。SOAP−SIPアダプタ2のSIP制御部2104は、180 Ringingを受信し、3PCCモジュール部2102にリンギング通知を送信する(S21)。その後、3PCCモジュール部2102は、SOAP制御部2101へ接続通知を送信(S22)し、次にSOAP制御部2101は、webサーバ1へSOAP notifyCalledNumberRequest(接続通知、接続通知イベント)を送信する(S23)。SOAP notifyCalledNumberRequestは、例えば、correlator、From URI、To URI、SessionIDとを含む。このとき、webサーバ1は、受信したcorrelatorをキーにして、端末情報テーブル2400を検索し、ユーザID2401を取得する。次に、受信したSessionIDをキーにして、発信履歴情報テーブル2420を検索し、発信先アドレス2424と受信したTo URIとを比較し、同じであれば、発信元アドレス2427を取得する。こうして取得した、ユーザID及び発信元アドレスを、着信履歴情報テーブル2430に登録する。これらの少なくともいずれかをキーとして電話帳テーブル2410から検索して取得する発信元の表示アドレス及び名前、また、対応するセッションIDと、対応させて併せて登録してもよい。このとき不在着信フラグは更新しない。(不在着信フラグは、初期値が“true”であり、不在着信状態となる。) 180 Ringingをトリガーとして着信履歴情報テーブル2430登録を行う場合、明示的に端末呼出中の状態であるため、リアルタイムな着信履歴情報の作成を実現することできる。ここでは、180 Ringingを着信履歴情報テーブルへの登録のトリガーとしたが、端末へのセッション接続処理をトリガーとすることができる。すなわち、接続処理における端末へのアクションをトリガーとし、例えば、INVITEをトリガーとしてもよい。INVITEをトリガーとした場合、例えば、端末B5cが何らかの理由により、通話できない状態(電源OFF、通話圏外にいる)であっても着信履歴情報テーブルへの登録が可能となる。
sessionIDをキーに発信履歴情報を検索した結果、送信先アドレス2424と受信したTo URIが異なる場合は、SOAP notifyCalledNumberRequestを破棄してよい。すなわち、送信先アドレスと受信したToURIが異なる場合は、着信履歴情報を作成、更新する対象ではないとして、破棄してもよいものとする。例えば、受信したToURIが発信元アドレスと同じ場合などである。
webサーバ1は、SOAP notifyCalledNumberRequestに対し、SOAP制御部2101へSOAP notifyCalledNumberResponseを送信する(S24)。さらに、端末B5cは、自身のIPアドレスとポート番号を含むrecv SDP情報を生成し、生成したrecv SDP情報を含む200 OK(B)をSOAP−SIPアダプタ2に送信する(S13)。SOAP−SIPアダプタ2のSIP制御部2104は、200 OK(B)を受信し、ACK(B)を端末B5cに送信する(S14)。
SIP制御部2104は、応答通知(B)を3PCCモジュール部2102に送信する(S15、8008)。応答通知(B)は、例えば、ステップS12で生成したハンドル値と、ステップS13で受信した200 OKに含まれる端末B5cのrecv SDP情報とを含む。3PCCモジュール部2102は、受信した応答通知(B)に含まれるハンドル値及びrecv SDP情報を、端末情報テーブル2030に端末B5cに対応して記憶する。なお、ハンドル値は、ステップS12〜S14の間の適宜のタイミングで記憶されてもよい。3PCCモジュール部2102は、端末情報テーブル2030の端末B5cに対応する端末状態2033を「CallComplete(セッション確立状態)」に更新する。また、3PCCモジュール部2102は、呼参加者情報テーブル2020の端末B5cに対応する呼状態2022を「CallParticipantConnected(接続状態)」に更新する。また、3PCCモジュール部2102は、セッション情報テーブル2010のセッション状態を「Connected(接続状態)」に更新する。
次に、3PCCモジュール部2102は、SOAP制御部2101へ接続応答通知を送信する(S25)。webサーバ1へ、SOAP notifyAnswerRequest(応答通知、応答通知イベント)を送信する(S26)。SOAP notifyAnswerRequestは、例えば、correlator、From URI、To URI、SessionIDとを含む。このとき、webサーバ1は、受信したcorrelatorをキーにして、端末情報テーブル2400を検索し、ユーザID2401を取得する。次に、受信したSessionIDをキーにして、発信履歴情報テーブル2420を検索し、発信先アドレス2424と受信したTo URIとを比較し、同じであれば、発信元アドレス2427を取得する。次に、受信したSessionIDをキーにして着信履歴情報テーブル2430を検索し、該当する着信履歴情報テーブルを更新(不在着信フラグを“false”に更新する。つまり、通常の着信状態となる。)該当する着信履歴が存在しない場合は、新規に着信履歴情報テーブル2430に登録する。もし、発信先アドレス2424と受信したTo URIが異なる場合は、破棄する。webサーバ1は、SOAP notifyAnswerRequestに対し、SOAP制御部2101へSOAP notifyAnswerResponseを送信する(S27)。
3PCCモジュール部2102は、sessionIDと、受信したrecv SDP情報に含まれる端末B5cのIPアドレス及びポート番号をメディアストリーム制御部2103に送信する。メディアストリーム制御部2103は、受信したsessionIDに対応して、端末B5cのIPアドレス及びポート番号をメディアストリーム制御情報テーブル2040の相手先IPアドレス(2)2046、相手先ポート番号(2)2047に記憶する。
3PCCモジュール部2102は、擬似RBT停止要求をメディアストリーム制御部2103に送信する(S102、8009)。メディアストリーム制御部2103は、擬似RBT停止要求に従い擬似RBTの送信を停止する。
SOAP−SIPアダプタ2は、端末A5bと端末B5cとの間でメディアストリーム転送を開始する(8010)。
メディアストリーム転送に関するシーケンスを図12に示す。本シーケンスは、少なくとも図6のS102以降に実施されるものである。例えば、端末A5bは、RTPに従い、メディアストリームをSOAP−SIPアダプタ2に送信する(S12−1)。このとき、端末A5bは、ステップS6で記憶したSOAP−SIPアダプタ2のIPアドレスとポート番号を宛先に設定し、自身のIPアドレスとポート番号を送信元に設定する。
SOAP−SIPアダプタ2のメディアストリーム制御部2103は、受信したメディアストリームを、メディアストリーム制御情報テーブル2040を参照して端末B5cに転送する(S12−2)。例えば、メディアストリーム制御部2103は、受信したメディアストリームの送信元IPアドレスとポート番号に基づいてメディアストリーム制御情報テーブル2040を参照し、対応する相手先IPアドレスとポート番号を取得する。図3−4に示すメディアストリーム制御情報テーブル2040の例では、受信したメディアストリームの送信元IPアドレスとポート番号は、端末A5bのIPアドレス(10.0.2.1)、ポート番号(20000)であり、対応する相手先IPアドレス(2)2046(10.0.2.2)とポート番号(2)2047(30000)が取得される。メディアストリーム制御部2103は、取得したIPアドレスとポート番号に従い、受信したメディアストリームを端末B5cに転送する。
同様に、端末B5cは、RTPに従い、メディアストリームをSOAP−SIPアダプタ2に送信する(S12−3)。端末A5bの場合と同様に、端末B5cは、ステップS12で記憶したSOAP−SIPアダプタ2のIPアドレスとポート番号を宛先に設定し、自身のIPアドレスとポート番号を送信元に設定する。
SOAP−SIPアダプタ2のメディアストリーム制御部2103は、受信したメディアストリームを、メディアストリーム制御情報テーブル2040を参照して端末A5bに転送する(S12−4)。図3−4に示すメディアストリーム制御情報テーブル2040の例では、受信したメディアストリームの送信元IPアドレスとポート番号は、端末B5cのIPアドレス(10.0.2.2)、ポート番号(30000)であり、対応する相手先IPアドレス(1)2044(10.0.2.1)とポート番号(1)2045(20000)が取得される。メディアストリーム制御部2103は、取得したIPアドレスとポート番号に従い、受信したデータストリームを端末A5bに転送する。
図13は、第1の実施の形態のSOAP−SIPアダプタ2における呼情報(セッション情報)要求受信の手順を説明するシーケンス図である。図9は、第1の実施の形態のSOAP−SIPアダプタ2における呼情報(セッション情報)要求受信時の動作を説明するフローチャートである。
図13、図9を参照して、Webサーバ1が呼情報を取得する動作について説明する。ここでは、Webサーバ1は、指定したsessionIDに対応する情報を取得できる。図13のステップS21〜S24の処理は、上述のステップS12−1〜S12−4の処理に対応する。
Webサーバ1は、SOAP getCallSessionInformationRequest(セッション情報要求、呼情報要求)をSOAP−SIPアダプタ2に送信する(S25)。SOAP getCallSessionInformationRequestは、取得したい呼情報のsessionIDを含む。より具体的には、Webサーバ1は、上述のステップS4で記憶されたsessionIDを含むSOAP getCallSessionInformationRequestを生成し、SOAP−SIPアダプタ2に送信する。なお、Webサーバ1は、端末5aより、ユーザ操作に基づいて上述のステップS4で記憶されたsessionIDから取得したい呼情報のsessionIDを選択してもよい。
SOAP−SIPアダプタ2は、SOAP getCallSessionInformationRequestに含まれるsessionIDをキーにSOAP−SIPアダプタ2で保持しているセッション情報テーブル2010を検索し、一致するsessionID2011のテーブル情報を含むSOAP getCallSessionInformationResponseを送信する(S26〜S28)。以下、SOAP−SIPアダプタ2におけるステップS26〜S28の詳細な動作について説明する。
まず、SOAP−SIPアダプタ2のSOAP制御部2101は、SOAP getCallSessionInformationRequestを受信し、セッション情報要求を3PCCモジュール部2102に送信する(S26)。このセッション情報要求は、SOAP getCallSessionInformationRequest内のsessionIDを含む。
3PCCモジュール部2102は、セッション情報要求を受信すると(9001)、受信したセッション情報要求に含まれるsessionIDに基づいてセッション情報テーブル2010のsessionID2011を検索する(9002)。受信したセッション情報要求に含まれるsessionIDがセッション情報テーブル2010に登録済みの場合、該当したsessionID2011に対応するセッション情報が特定される(9003)。3PCCモジュール部2102は、該当したsessionID2011に対応する呼参加者情報テーブル(呼参加者状態)2020を参照して、例えば各端末5b、5cに対応するURI2021及び呼状態2022を、それぞれ取得する(9004)。さらに、3PCCモジュール部2102は、例えば該当したsessionID2011に対応する端末情報(端末 A5b用)2030_A及び端末情報(端末 B5c用)2030_Bより、各端末のrecv SDP情報2036をそれぞれ取得する。
3PCCモジュール部2102は、sessionID2011、取得したURI2021、呼状態2022及びrecv SDP情報2036を含むセッション情報要求成功応答を生成し(9005)、生成したセッション情報要求成功応答をSOAP制御部2101に送信する(S27)。SOAP制御部2101は、セッション情報要求成功応答を受信し、SOAP getCallSessionInformationResponse(セッション情報要求成功応答)をWebサーバ1に送信する(S28、9006)。SOAP getCallSessionInformationResponseは、受信したセッション情報要求成功応答内のsessionID、URI、呼状態及びrecv SDP情報を含み、SOAPに従って生成される。
なお、ステップ9002において、受信したセッション情報要求に含まれるsessionIDが未登録の場合、3PCCモジュール部2102は、セッション情報要求失敗応答(エラーレスポンスメッセージ)を生成し(9007)、生成したセッション情報要求失敗応答をSOAP制御部2101に送信する。SOAP制御部2101は、セッション情報要求失敗応答を受信し、セッション情報要求の失敗を示すSOAP getCallSessionInformationResponseをWebサーバ1に送信する(9006)。
Webサーバ1は、SOAP getCallSessionInformationResponseを受信し、例えば受信したSOAP getCallSessionInformationResponseに含まれる呼状態を参照することで、要求した通信が成立したかなどセッションの状態を確認できる。また、例えば、端末から呼を終了した場合、呼状態が「CallParticipantTerminated(終了状態)」となり、Webサーバ1は、端末A5b又は端末B5cから呼が終了されたと判断できる。また、例えば、呼状態が正常でない場合、Webサーバ1は、例えば後述するSOAP endCallSessionRequestを用いて通信を停止させてもよい。
図14は、第1の実施の形態のSOAP−SIPアダプタ2における呼参加者情報要求受信時の手順を説明するシーケンス図である。図10は、第1の実施の形態のSOAP−SIPアダプタ2における呼参加者情報要求受信時の動作を説明するフローチャートである。
図14、図10を参照して、Webサーバ1が呼参加者情報を取得する動作について説明する。ここでは、指定したSIP−URIに対応するユーザの情報を取得できる。図14のステップS31〜S34の処理は、上述のステップS12−1〜S12−4の処理に対応する。
Webサーバ1は、SOAP getCallParticipantsInformationRequest(呼参加者情報要求)をSOAP−SIPアダプタ2に送信する(S35)。SOAP getCallParticipantsInformationRequestは、取得したい呼参加者情報のsessionIDとURIを含む。具体的には、例えば、Webサーバ1は、上述のステップS4で記憶されたsessionIDと、所望の呼参加者のSIP−URIを含むSOAP getCallSessionInformationRequestを生成し、SOAP−SIPアダプタ2に送信する。一例として、Webサーバ1は、端末5aより、ユーザ操作に基づいて取得したい呼情報のsessionIDとユーザ識別子(ユーザID)(例えば、端末A5b、端末B5cを使用するユーザに対応するユーザID)を選択してもよい。なお、Webサーバ1は、上述のようにユーザ識別子(ユーザID)とそのユーザのSIP−URIが対応して電話帳テーブル2410に記憶されており、電話帳テーブル2410への検索により、入力されたユーザ識別子(ユーザID)に対応するSIP−URIを取得できる。
SOAP−SIPアダプタ2は、SOAP getCallParticipantsInformationRequestに含まれるsessionIDをキーにSOAP−SIPアダプタ2で保持しているセッション情報テーブル2010を検索し、一致するsessionID2011のテーブル情報を特定する。さらに、SOAP−SIPアダプタ2は、getCallParticipantsInformationRequestに含まれるSIP−URIをキーに呼参加者情報テーブル2020を検索し、一致するSIP−URI2021に対応するテーブル情報を含むSOAP getCallParticipantsInformationResponseを送信する(S36〜S38)。以下、SOAP−SIPアダプタ2におけるステップS36〜S38の動作について説明する。
SOAP−SIPアダプタ2のSOAP制御部2101は、SOAP getCallParticipantsInformationRequestを受信し、呼参加者情報要求を3PCCモジュール部2102に送信する(S36)。この呼参加者情報要求は、SOAP getCallParticipantsInformationRequest内のsessionIDとSIP−URIとを含む。3PCCモジュール部2102は、呼参加者情報要求を受信すると(1001)、受信した呼参加者情報要求に含まれるsessionIDに基づいてセッション情報テーブル2010のsessionID2011を検索する(1002)。受信した呼参加者情報要求に含まれるsessionIDがセッション情報テーブル2010に登録済みの場合、該当したsessionID2011によりセッション情報が特定される(1003)。3PCCモジュール部2102は、受信した呼参加者情報要求に含まれるSIP−URIに基づいて、該当したsessionID2011に対応する呼参加者情報テーブル(呼参加者状態)2020のURI2021を検索する(1004)。受信した呼参加者情報要求に含まれるSIP−URIが登録済みの場合、3PCCモジュール部2102は、該当したURI2021に対応する呼状態2022を取得する(1005)。また、3PCCモジュール部2102は、受信した呼参加者情報要求に含まれるSIP−URIに基づいて端末情報テーブル2030のTo URI2038を参照し、対応するrecv SDP情報2036を取得する。
3PCCモジュール部2102は、URI2021、取得した呼状態2022及びrecv SDP情報2036を含む呼参加者情報要求成功応答を生成し(1006)、生成した呼参加者情報要求成功応答をSOAP制御部2101に送信する(S37)。SOAP制御部2101は、呼参加者情報要求成功応答を受信し、SOAP getCallParticipantsInformationResponse(呼参加者情報要求成功応答)をWebサーバ1に送信する(S38、1007)。SOAP getCallParticipantsInformationResponseは、受信した呼参加者情報要求成功応答内のURI、呼状態及びrecv SDP情報を含み、SOAPに従って生成される。
なお、ステップ1002において、受信した呼参加者情報要求に含まれるsessionIDが未登録の場合、及び、ステップ1004において受信した呼参加者情報要求に含まれるSIP−URIが未登録の場合、3PCCモジュール部2102は、呼参加者情報要求失敗応答(エラーレスポンスメッセージ)を生成し(1008)、生成した呼参加者情報要求失敗応答をSOAP制御部2101に送信する。SOAP制御部2101は、呼参加者情報要求失敗応答を受信し、呼参加者情報要求の失敗を示すSOAP getCallParticipantsInformationResponseをWebサーバ1に送信する(1007)。
図15は、第1の実施の形態のSOAP−SIPアダプタ2における呼終了要求受信時の手順を説明するシーケンス図である。図11は、第1の実施の形態のSOAP−SIPアダプタ2における呼終了要求受信時の動作を説明するフローチャートである。
図15、図11は、Webサーバ1が呼終了する動作について説明する。図15のステップS41〜S44の処理は、上述のステップS12−1〜S12−4の処理に対応する。
Webサーバ1は、SOAP endCallSessionRequest(呼終了要求)をSOAP−SIPアダプタ2に送信する(S45)。SOAP endCallSessionRequestは、呼終了したい呼のsessionIDを含む。より具体的には、Webサーバ1は、上述のステップS4で記憶されたsessionIDを含むSOAP endCallSessionRequestを生成し、SOAP−SIPアダプタ2に送信する。一例として、Webサーバ1は、端末5aより、ユーザ操作に基づいて上述のステップS4で記憶されたsessionIDから呼終了したい呼のsessionIDを選択してもよい。
SOAP−SIPアダプタ2は、SOAP endCallSessionRequestに含まれるsessionIDをキーにSOAP−SIPアダプタ2で保持しているセッション情報テーブル2010を検索し、一致するsessionID2011のテーブル情報から切断する端末5b、5cを特定して切断する(S46〜S56)。以下、SOAP−SIPアダプタ2におけるステップS46〜S56の詳細な動作について説明する。
SOAP−SIPアダプタ2のSOAP制御部2101は、SOAP endCallSessionRequest(呼終了要求)を受信し、呼終了要求を3PCCモジュール部2102に送信する(S46)。この呼終了要求は、SOAP endCallSessionRequest内のsessionIDを含む。3PCCモジュール部2102は、呼終了要求を受信すると(1101)、受信した呼終了要求に含まれるsessionIDに基づいてセッション情報テーブル2010のsessionID2011を検索する(1102)。
受信した呼終了要求に含まれるsessionIDがセッション情報テーブル2010に登録済みの場合、3PCCモジュール部2102は、呼終了要求成功応答を生成し(1109)、生成した呼終了要求成功応答をSOAP制御部2101に送信する(S47)。SOAP制御部2101は、呼終了要求成功応答を受信し、SOAP endCallSessionResponse(呼終了要求成功応答)をWebサーバ1に送信する(S48、1110)。なお、SOAP endCallSessionResponseは、成功応答のみが送信されてもよい。
また、該当したsessionID2011によりセッション情報を特定し、通話中の2者(ここでは端末A5b、端末B5c)を特定する(1103)。例えば、3PCCモジュール部2102は、受信した呼終了要求に含まれるsessionIDに対応する呼参加者情報テーブル2020を参照し、各端末A5b、端末B5cのSIP−URI2021をそれぞれ取得する。メディアストリーム制御部2103は、メディアストリームの転送を停止する(1104)。なお、3PCCモジュール部2102から、メディアストリーム転送停止要求をメディアストリーム制御部2103に送信してもよい。
3PCCモジュール部2102は、取得されたSIP−URIの一方に従い、取得されたSIP−URIを含む切断要求(A)をSIP制御部2104に送信する(S49、1105)。SIP制御部2104は、切断要求(A)を受信し、受信した切断要求(A)に含まれるSIP−URIをTo URIとして、SIPのBYEメッセージ(A)を端末A5bに送信する(S50)。
同様に、3PCCモジュール部2102は、取得されたSIP−URIの他方に従い、取得されたSIP−URIを含む切断要求(B)をSIP制御部2104に送信する(S51、1106)。SIP制御部2104は、切断要求(B)を受信し、受信した切断要求(B)に含まれるSIP−URIをTo URIとしてBYEメッセージ(B)を端末B5cに送信する(S52)。
端末A5bは、ステップS50において受信したBYEメッセージ(A)に対する200 OK(A)をSOAP−SIPアダプタ2に送信する(S53)。SOAP−SIPアダプタ2のSIP制御部2104は、200 OK(A)を受信し、切断完了通知(A)を3PCCモジュール部2102に送信する(S54、1107)。
同様に、端末B5cは、ステップS52において受信したBYEメッセージ(B)に対する200 OK(B)をSOAP−SIPアダプタ2に送信する(S55)。SOAP−SIPアダプタ2のSIP制御部2104は、200 OK(B)を受信し、切断完了通知(B)を3PCCモジュール部2102に送信する(S56、1108)。
なお、ステップ1102において、受信した呼終了要求に含まれるsessionIDが未登録の場合、3PCCモジュール部2102は、呼終了要求失敗応答(エラーレスポンスメッセージ)を生成し(1111)、生成した呼終了要求失敗応答をSOAP制御部2101に送信する。SOAP制御部2101は、呼終了要求失敗応答を受信し、呼終了要求の失敗を示すSOAP endCallSessionResponseをWebサーバ1に送信する(1110)。
図19に、webサーバ1により、電話帳データ、発信履歴データ、及び着信履歴データを参照させる動作を説明する。
3PCCサービスを利用するユーザは、例えば、端末5aなどからwebサーバ1へアクセスし、ログインをする。webサーバ1の処理部100は、ログインを受け付けたユーザIDをキーとして、電話帳テーブル、発信履歴情報テーブル、及び着信履歴情報テーブルの少なくともいずれかに検索を行う。そして、検索の結果、各々のテーブルごとに、一のユーザIDに対応するデータ(群)を抽出する。そして、各々のテーブルごとに抽出されたデータ(群)を、端末5aに送信する。ここでは、webサーバ1がデータ(群)送付とあわせて、端末5aにデータ群の表示まで指令し、端末5aにデータ群の表示がなされる実施形態を説明している。
ログインしたユーザ、つまり電話帳テーブル2410のユーザID2412について、対応した電話帳データ、発信履歴データ、着信履歴データを参照することができる。表示方法は、例えば、各々のデータに対応するタブを利用し、1つのウィンドウにて参照する。
図20−1は電話帳表示例を示す。ログインしたユーザに関する情報が表示される。、図20−2は発信履歴表示例を示す。ログインしたユーザの発信履歴が、例えば、発信先と発信時間と発信先表示アドレスとの組合せにより、セッションごとに表示される。図20−3は着信履歴表示例を示す。ログインしたユーザの着信履歴が、例えば、発信元と着信時間と発信元表示アドレスとの組合せにより、セッションごとに表示される。
また、webサーバ1が各々のテーブルごとに抽出されたデータ(群)を、端末5aに送付し、端末5aではそれらのデータ(群)からユーザの指定する情報のみを表示可能とするアプリケーションを有してもよい。
なお、電話帳の登録、削除、編集や、電話帳テーブル2410の、名前2413、ふりがな2414、アドレス2415は、端末5aのGUI画面によりを更新してもよい。