まず,図1から図14を参照して,本発明によるデータ通信の第一の実施例について説明する。
図1は,本発明の第一の実施例におけるシステム構成を示した図である。ここに示したシステムは,セッション管理サーバであるSIPサーバ10と,権限判定サーバ20と,課金サーバ30と,鍵生成サーバ40と,ユーザが使用してサービスとのデータ通信を実施するユーザ側通信装置41と,サービスを提供するサービス側通信装置42と,を含んで構成され,各サーバならびに通信装置はネットワーク0を介して接続されている。
SIPサーバ10は,192.168.10.11というIPアドレスが割り当てられており,SIPサーバ10にログインしている通信端末を管理するためのレジストラDB60と,SIPサーバ10が管理している通信セッションの情報を管理するためのセッションログDB70とを備えている。
SIPサーバ10は,例えば,ネットワーク0を介して他のサーバならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)101と,SIPメッセージを処理するSIPメッセージ処理部102と,レジストラDB70への処理を制御するレジストラ処理部103と,セッションログDB41への処理を制御するセッション制御部104と,権限判定サーバや課金サーバとの通信を処理するアプリケーション処理部105と,を含む。図7に,セッションログDB70に保存されたセッションログ情報の一例を示す。
権限判定サーバ20は,192.168.20.11というIPアドレスが割り当てられており,各ユーザがサービス側通信装置のサービスを享受可能か否かについての権限情報を管理する権限DB80を備えている。
ここで,サービス側通信装置からユーザ側通信装置へ提供されるサービスは,当該通信装置間で確立されるセッション上で提供されるため,サービス側通信装置からサービスを享受するための権限を持つユーザは,サービス側通信装置とセッションを確立するための権限も保有していると言える。従って,権限DB80の管理対象は,サービスを享受するための権限だけでなく,セッションを確立するための権限も含んでいる。
権限判定サーバ20は,例えば,ネットワーク0を介して他のサーバならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)201と,権限判定要求メッセージを処理するメッセージ処理部202と,権限DB80への処理を制御する権限判定処理部203と,を含む。図7に,権限DB80に保存された権限情報の一例を示す。
課金サーバ30は,192.168.30.11というIPアドレスが割り当てられている。課金サーバ30は,例えば,ネットワーク0を介して他のサーバならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)301と,課金処理要求メッセージを処理するメッセージ処理部302と,処理要求に基づき,サービス側通信装置が提供するサービスに応じて発生する課金処理を行う課金処理部303と,を含む。
鍵生成サーバ40は,192.168.40.11というIPアドレスが割り当てられている。鍵生成サーバ40は,例えば,ネットワーク0を介して他のサーバならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)401と,鍵生成処理要求メッセージを処理するメッセージ処理部402と,処理要求に基づき,ユーザ側通信装置とサービス側通信装置との間の暗号化通信に用いられるセッション鍵の生成処理を行う鍵生成処理部403と,を含む。
なお,以下では,権限判定サーバ20と,課金サーバ30と,鍵生成サーバ40を,機能提供サーバと総称することがある。
ユーザ側通信装置41は,192.168.41.11というIPアドレスと,sip:cl1@hitachi.comというSIP−URIとが割り当てられている。ユーザ側通信装置41は,例えば,ネットワーク0を介して他のサーバならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)411と,SIPメッセージを処理するSIPメッセージ処理部412と,サービス側通信装置42が提供するサービスを享受するクライアント処理部413と,を含む。
サービス側通信装置42は,192.168.42.11というIPアドレスと,sip:sv1@hitachi.comというSIP−URIとが割り当てられており,サービス側通信装置42が提供するサービスの情報を記録するためのアプリケーションログDB50を備える。ユーザ側通信装置42は,例えば,ネットワーク0を介して他のサーバならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)421と,SIPメッセージを処理するSIPメッセージ処理部422と,ユーザ側通信装置41にサービスを提供し,またその提供状況をアプリケーションログDB50に記録するサーバ処理部423と,を含む。図7に,アプリケーションログDB50に保存されたアプリケーションログ情報の一例を示す。
以下,第一の実施例として,図1に示したユーザ側通信装置41が,サービス側通信装置42とデータ通信を行う場合の通信手順を説明する。
まず,ユーザ側通信装置41およびサービス側通信装置42は,図3のシーケンス図に示すように,SIPサーバへのログイン処理を行う。
まず,サービス側通信装置42がSIPサーバ10へログイン処理を行う。すなわち,サービス側通信装置42は,サーバ処理部423が,SIPサーバ10との間でTLS通信のネゴシエーションを行い(M201),サービス側通信装置42とSIPサーバ10の間でTLS通信を確立する。
次に,サービス側通信装置42は,SIPメッセージ処理部422が,SIPメッセージであるREGISTERメッセージM202を生成し,SIPサーバ10へ送信することで,ロケーション登録を要求する。
REGISTERメッセージを受信したSIPサーバ10は,レジストラ処理部103がレジストラDB60に,受信したREGISTERメッセージのFromヘッダが示す要求元(通信元)SIP−URI(sv1@hitachi.com)とContactヘッダが示す要求元IPアドレス(192.168.42.11)との関係を示すロケーションデータを登録すると,SIPメッセージ処理部102がロケーション登録の成功を伝えるために,SIPメッセージである200 OKメッセージM203をサービス側通信装置42に送信する。
以上により,サービス側通信装置42のSIPサーバ10へのログインが完了し,サービス側通信装置42はユーザ側通信装置41からのサービス提供要求を受け付けることが可能となる。
続いて,ユーザ側通信装置41がSIPサーバ10へログイン処理を行う。すなわち,ユーザ側通信装置41は,クライアント処理部413が,SIPサーバ10とTLS通信のネゴシエーションを行い(M204),ユーザ側通信装置41とSIPサーバ10の間でTLS通信が確立される。
次に,ユーザ側通信装置41は,SIPメッセージ処理部412が,SIPメッセージであるREGISTERメッセージM205を生成し,SIPサーバ10へ送信することで,ロケーション登録を要求する。
REGISTERメッセージを受信したSIPサーバ10は,レジストラ処理部103がレジストラDB60に,受信したREGISTERメッセージのFromヘッダが示す要求元SIP−URI(cl1@hitachi.com)とContactヘッダが示す要求元IPアドレス(192.168.41.11)との関係を示すロケーションデータを登録すると,SIPメッセージ処理部102がロケーション登録の成功を伝えるために,SIPメッセージである200 OKメッセージM206をユーザ側通信装置41に送信する。
以上により,ユーザ側通信装置41のSIPサーバ10へのログインが完了し,ユーザ側通信装置41はサービス側通信装置42へサービスの提供を要求することが可能となる。
ログイン処理が完了したユーザ側通信装置41は,サービス側通信装置42にサービスの提供を要求するため,SIPメッセージ処理部412が,SIPメッセージであるINVITEメッセージを生成し,SIPサーバ10へ送信する。
以下,図4から図6を用いて,SIPサーバ10が,ログイン処理を完了したユーザ側通信装置41から,INVITEメッセージM101を受信した後の,SIPサーバ10の処理フローについて説明する。
INVITEメッセージM101を受信したSIPサーバ10はまず,レジストラ処理部103がレジストラDB60にアクセスして,受信したINVITEメッセージのToヘッダが示す通信先SIP−URIのIPアドレスを検索する(S301)。
レジストラDB60から該当するIPアドレスが発見できなかった場合には,SIPサーバ10は,SIPメッセージ処理部102が,SIPメッセージである404 Not Foundメッセージを生成し,ユーザ側通信装置41へ送信した後(S303),処理を終了する(S304)。
レジストラDB60から該当するIPアドレスを発見できた場合には,ステップS304に遷移し,SIPサーバ10のセッション管理部104が,INVITEメッセージM101のFromヘッダが示す通信元SIP−URIと,Toヘッダが示す通信先SIP−URIと,Call−IDヘッダが示す通信セッションの識別情報と,当該通信セッションが「確立処理中(通信先からの応答待ち)」状態であることを,現在時刻とともにセッションログDB70に記録する(S305)。
SIPサーバ10のアプリケーション処理部105は,機能提供サーバへ処理要求を送信する(S306)。本実施例においては,権限判定サーバ20へ権限判定要求メッセージM103を送信し,鍵生成サーバ40へ鍵生成要求メッセージM104を送信する。また,SIPサーバ10のSIPメッセージ処理部102は,サービス側通信装置42へINVITEメッセージM105を送信する(S307)。
権限判定要求メッセージM103は,アプリケーション処理部105によって作成され,そのボディ部は,図8に例示するようなメッセージ構造を持つ。すなわち,Permission要素のstatus属性の値であるrequestは,当該メッセージが権限判定を要求するために送信されたものであることを示し,id属性の値358a1a77は当該メッセージを一意に識別するための値として用いられる。From要素の値であるSIP−URI“sip:cl1@hitachi.com”およびTo要素の値であるSIP−URI“sip:sv1@hitachi.com”は,sip:cl1@hitachi.comをSIP−URIとして持つユーザ側通信装置41が,sip:sv1@hitachi.comをSIP−URIとして持つサービス側通信装置42へサービスの提供を依頼する際に,当該権限判定要求メッセージM103が送信されたことを示している。Date要素の値である2007−01−03T15:20:33+09:00は,SIPサーバ10によって権限判定要求メッセージが送信された時刻が2007年1月3日の15時20分33秒であることを示している。
また,鍵生成要求メッセージM104は,アプリケーション処理部105によって作成され,そのボディ部は,図8に例示するようなメッセージ構造を持つ。すなわち,KeyGen要素のstatus属性の値であるrequestは,当該メッセージが鍵生成処理を要求するために送信されたものであることを示す。From要素,To要素,CallID要素の値は,鍵生成を要求する呼を識別するために存在し,それぞれINVITEメッセージM101のFromヘッダ,Toヘッダ,Call−IDヘッダの値と一致する。Date要素の値については権限判定要求メッセージM103と同様である。また,Key要素のscheme属性の値であるAES256は,当該メッセージが鍵長256ビットのAES(Advanced Encryption Standard)アルゴリズムに基づいた鍵の生成を要求することを示している。
また,INVITEメッセージM105は,SIPメッセージ処理部102によって,ユーザ側通信装置41から受信したINVITEメッセージM101のヘッダ部に新たなViaヘッダを追加し,Max−Forwardヘッダの値を1だけ減らすことで作成される。
図4で,SIPサーバは機能提供サーバへ処理要求メッセージを送信した後,サービス側通信装置へINVITEメッセージを送信する,という処理順序をとっているが,本発明はこの順序に限定されない。各機能提供サーバへ送信する処理要求メッセージ(本実施形態では,権限判定サーバ20への権限判定要求メッセージM103または鍵生成サーバ40への鍵生成要求メッセージM104),およびサービス側通信装置へ送信するINVITEメッセージについては,任意の順序で送信することが可能である。
SIPサーバ10は権限判定要求メッセージ,鍵生成要求メッセージ,およびINVITEメッセージの送信後,これらに対する応答を待ち受ける状態に遷移する(S308,S309,S310,S311)。
サービス側通信装置42から,上記要求メッセージに対する結果を示す応答メッセージ(暫定応答メッセージであり,本実施形態の処理に影響しない1xxメッセージ以外の,SIP最終応答メッセージ)を受信した場合,当該SIP最終応答メッセージが,サービス提供を受け入れる200 OKメッセージであれば,SIPサーバ10のSIPメッセージ処理部102が,サービス側通信装置42へ確認応答のためのACKメッセージを生成し,サービス側通信装置42へ送信した後,機能提供サーバへ依頼した処理結果のメッセージの待ち受け状態に戻る(S308,S312,S313)。
一方,サービス側通信装置42から受信したSIP最終応答メッセージが,200 OK以外の,サービス提供を拒否するメッセージであった場合(S308,S312,S314)には,SIPサーバ10はサービス側通信装置がユーザ側通信装置へサービスを提供できない状態にあると判断し,SIPメッセージ処理部102が,受信したSIP最終応答メッセージに対するACKメッセージを生成し,サービス側通信装置42へ送信する(図5,S401)。
次に,SIPサーバ10のSIPメッセージ処理部102が,サービス側通信装置42から送信されたSIPエラー応答メッセージ(1xx,2xx以外のSIP応答メッセージ)をユーザ側通信装置41へ転送する(S402)。次に,SIPメッセージ処理部102は,権限判定を要求した権限判定サーバ20と,鍵生成を要求した鍵生成サーバ40へ,それぞれ処理要求を取り消すためのメッセージを送信し(S403),処理を終了する(S404)。
なお,上記3つの処理(S401,S402,S403)の実行順序は一例であって,この順序に限定されない。上記3つの処理は任意の順序で実行することが可能である。
ここで,ステップS403において,SIPサーバ10のアプリケーション処理部105が権限判定サーバ20へ送信する権限判定取消メッセージM145は,図8に例示するようなボディ部を持つ。すなわち,Permission要素のstatus属性の値であるcancelは,当該メッセージが権限判定の要求を取り消すために送信されたものであることを示し,id属性の値358a1a77は当該メッセージが対応する権限判定要求メッセージに含まれるid属性の値と一致する。From要素の値であるSIP−URI“sip:cl1@hitachi.com”およびTo要素の値であるSIP−URI“sip:sv1@hitachi.com”は,sip:cl1@hitachi.comをSIP−URIとして持つユーザ側通信装置41がsip:sv1@hitachi.comをSIP−URIとして持つサービス側通信装置42へサービス提供を要求した際に,SIPサーバ10が権限判定サーバ20へ送信したサービス享受権限の判定処理を取り消すために,当該権限判定取消メッセージM145が送信されたことを示している。Date要素の値である2007−01−03T15:20:34+09:00は,SIPサーバ10によって権限判定取消メッセージM145が送信された時刻が2007年1月3日の15時20分34秒であることを示している。
また,ステップS403において,SIPサーバ10のアプリケーション処理部105が鍵生成サーバ40へ送信する鍵生成取消メッセージM124は,図8に例示するようなボディ部を持つ。すなわち,KeyGen要素のstatus属性の値であるcancelは,当該メッセージが鍵生成の要求を取り消すために送信されたものであることを示す。From要素の値,To要素の値,CallID要素の値は,対応する鍵生成要求メッセージに含まれる各要素の値と一致する。Date要素の値については,権限判定取消メッセージM145と同様である。
以上が,SIPサーバ10がサービス側通信装置42からSIP最終応答メッセージを受信した際の,SIPサーバ10の処理フローである。
一方,待ち受け中のSIPサーバ10が権限判定サーバ20から権限判定結果メッセージを受信した場合,当該権限判定結果メッセージが権限判定結果[許可]メッセージM112であれば,SIPサーバ10は他のメッセージの待ち受け状態に戻る(S309,S315)。ここで,権限判定結果[許可]メッセージM112は権限判定サーバ20の権限判定処理部203によって作成され,図8に例示するようなボディ部を持つ。すなわち,Permission要素のstatus属性の値であるacceptは,権限判定の結果,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を保有することを示し,id属性の値358a1a77は当該メッセージが対応する権限判定要求メッセージに含まれるid属性の値と一致する。
権限判定サーバ20から受信した権限判定結果メッセージが,権限判定結果[拒否]メッセージM121であった場合,すなわちユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たなかった場合,SIPサーバ10は直ちに,セッションの確立を中断する処理に移行する(S309,S315,S316)。ここで,権限判定結果[拒否]メッセージM121は権限判定サーバ20の権限判定処理部203によって作成され,図8に例示するようなボディ部を持つ。すなわち,Permission要素のstatus属性の値であるrejectは,権限判定の結果として,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たないことを示し,id属性の値358a1a77は当該メッセージが対応する権限判定要求メッセージに含まれるid属性の値と一致する。
ここで,SIPサーバ10がセッション確立を中断するための処理フローについて説明する。
SIPサーバ10のSIPメッセージ処理部102は,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たなかったことを示すため,SIPメッセージである403Forbiddenメッセージを生成し,ユーザ側通信装置41へ送信する(S501)。
SIPサーバ10のアプリケーション処理部105は,要求処理中の機能提供サーバ,すなわちここでは鍵生成サーバ40へ,鍵生成取消メッセージM122を送信する(S502)。
次に,SIPサーバ10のSIPメッセージ処理部102は,サービス側通信装置42への接続要求を取り消すための処理を行う。当該処理については,SIPサーバ10が,INVITEに対する200 OKメッセージをサービス側通信装置42から既に受信している場合と,そうでない場合によって,手順が異なる。以下,一つずつ順に説明する。
まず,SIPサーバ10が,INVITEに対する200 OKメッセージをサービス側通信装置42から既に受信している,場合,SIPサーバ10のSIPメッセージ処理部102は,SIPメッセージであるBYEメッセージをサービス側通信装置42へ送信することで,サービス側通信装置42との間で確立していたSIPダイアログを解消し(S504),処理を終了する(S505)。ここで,BYEメッセージM124はSIPメッセージ処理部102によって作成され,図8に例示するようなボディ部を持つ。すなわち,SessionInfo要素のstatus属性の値であるcancelは,当該BYEメッセージが,既に確立したセッションの終了を通知するために送信されたわけではなく,まだ確立していないセッションの確立処理を中断するために送信されたものであることを明示するために付加している。From要素の値であるSIP−URI“sip:cl1@hitachi.com”およびTo要素の値であるSIP−URI“sip:sv1@hitachi.com”は,sip:cl1@hitachi.comをSIP−URIとして持つユーザ側通信装置41からsip:sv1@hitachi.comをSIP−URIとして持つサービス側通信装置42へのセッション確立を中断するために,当該BYEメッセージM124が送信されたことを示している。Date要素の値については,権限判定取消メッセージM145と同様である。
次に,SIPサーバ10が,INVITEに対する200 OKメッセージをサービス側通信装置42から受信していない,場合,SIPメッセージ処理部102がCANCELメッセージをサービス側通信装置42へ送信することで,サービス側通信装置42との間で試みていたセッション確立を中断する(S506)。
ステップS506においては,ネットワーク0上の通信障害などの理由で,SIPサーバ10が送信したCANCELメッセージがサービス側通信装置42へ届かない可能性が存在する。届かない場合,サービス側通信装置42はプロセス起動処理等,セッション確立のための処理を続け,SIPサーバ10へINVITEに対する最終応答である200 OKメッセージを送信するので,サービス側通信装置42からは,ユーザ側通信装置41との間のセッションが確立したように見えており,セッション確立の中断は達成できていない状態になる。
そのため,SIPサーバ10のSIPメッセージ処理部102は,CANCELメッセージを送信したにも係わらず,先に送信したINVITEメッセージやCANCELメッセージと同じCall−IDヘッダを持ち,かつCSeqヘッダに文字列”INVITE”を含む200 OKメッセージをサービス側通信装置42から受信した場合には,サービス側通信装置42に対してBYEメッセージを送信することで,サービス側通信装置42との間で確立していたセッションを切断する(S507,S504)。ここで送信されるBYEメッセージは,図8で示したものと同一である。BYEメッセージを送信した後,SIPサーバ10は処理を終了する(S505)。
サービス側通信装置42へCANCELメッセージを送信して一定時間が経過した場合,SIPサーバ10はサービス側通信装置42が当該CANCELメッセージを受信したとみなし,処理を終了する(S508,S505)。
以上が,SIPサーバ10が権限判定サーバ20から権限判定結果メッセージを受信した際の,SIPサーバ10の処理フローである。
一方,待ち受け中のSIPサーバ10が鍵生成サーバ40から鍵生成結果メッセージM113を受信した場合,SIPサーバ10は,アプリケーション処理部105が,当該鍵生成結果メッセージに含まれる鍵情報をセッションログDB70に保存する(S310,S317)。すなわちSIPサーバ10は,セッションログDB70において,鍵生成結果メッセージボディ部M113−1に含まれるFrom要素の値,To要素の値,CallID要素の値に対応するテーブルエントリに,セッション鍵情報として当該鍵生成結果メッセージボディ部に含まれるKey要素の値を記録する。ここで,鍵生成結果メッセージM113は鍵生成サーバ40の鍵生成処理部403によって作成され,図8に示すようなボディ部を持つ。すなわち,KeyGen要素のstatus属性の値であるresponseは,当該メッセージが鍵生成の結果得られた鍵を転送するために送信されたものであることを示す。From要素の値,To要素の値,CallID要素の値は,対応する鍵生成要求メッセージに含まれる各要素の値と一致する。Date要素の値については,権限判定取消メッセージM145と同様である。また,Key要素のscheme属性の値であるAES256は,Key要素に含まれる情報が鍵長256ビットのAESアルゴリズムで用いられる鍵であることを示し,Key要素内のOctetString要素の値は,セッション鍵情報を示す。
以上が,SIPサーバ10が鍵生成サーバ40から鍵生成結果メッセージを受信した際の,SIPサーバ10の処理フローである。
待ち受け状態のSIPサーバ10は,サービス側通信装置42と,権限判定サーバ20と,鍵生成サーバ40と,の全てからメッセージを受信すると,セッション確立の最終処理に移行する(S311,S318)。
セッション確立の最終処理では,SIPサーバ10は初めに,アプリケーション処理部105が,機能提供サーバから取得してセッションログDB70へ記録した情報のうち,ユーザ側通信装置およびサービス側通信装置へ伝えるべき情報が存在するかどうかを確認する(S601)。ここでユーザ側通信装置およびサービス側通信装置へ伝えるべき情報とは,具体的には,鍵生成サーバ40によって生成されたセッション鍵情報などを指す。
ユーザ側通信装置およびサービス側通信装置へ伝えるべき情報が存在する場合は,SIPサーバ10は,情報をユーザ側通信装置41およびサービス側通信装置42へ伝えるために必要な処理(S602,S603)を行う。
すなわち,SIPサーバ10は初めに,サービス側通信装置42へUPDATEメッセージを送信する(S602)。UPDATEメッセージM114はSIPメッセージ処理部102によって作成され,セッションログDB70に記録された鍵情報をボディ部に含む。
続けて,ユーザ側通信装置およびサービス側通信装置へ伝えるべき情報が存在する場合,SIPサーバ10は,SIPメッセージ処理部102が,セッションログDB70に記録された鍵情報をコピーし,200 OKメッセージM116のボディ部を生成する(S603)。
以上が,ユーザ側通信装置およびサービス側通信装置へ伝えるべき情報が存在する場合に,SIPサーバ10が情報を各通信装置へ伝えるために行う処理フローである。
セッション確立の最終処理では,SIPサーバ10は,SIPメッセージ処理部102が,サービス側通信装置42から受信していた200 OKメッセージM109のヘッダ部から,自URIを含むViaヘッダを除去することで200 OKメッセージM116のヘッダ部を作成し,ユーザ側通信装置41へ送信する(S604)。メッセージのボディ部については,ユーザ側通信装置およびサービス側通信装置へ伝えるべき情報が存在する場合には,ステップS603で生成したボディ部を用いる。ユーザ側通信装置およびサービス側通信装置へ伝えるべき情報が存在しない場合には,ボディ部には情報を含めずに送信する。
最後にSIPサーバ10は,後に課金サーバ30が課金処理を行う際に用いるセッションログの収集を開始する(S605)。すなわち,SIPサーバ10のセッション管理部104が,INVITEメッセージM101のFromヘッダが示す通信元SIP−URIと,Toヘッダが示す通信先SIP−URIと,Call−IDヘッダが示す通信セッションの識別情報と,に対応するエントリに対し,当該通信セッションの開始時刻として現在時刻をセッションログDB70に記録する。図7に,セッションログDB70に保存されたセッションログ情報の一例を示す。
以上が,SIPサーバ10が,ログイン処理を完了したユーザ側通信装置41から,INVITEメッセージM101を受信した後の,SIPサーバ10の処理フローとなる。
次に,図10から図14を用いて,ログイン処理が完了したユーザ側通信装置41がサービス側通信装置42にサービスの提供を要求する際のシーケンスを示す。
はじめに図10を用いて,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を有する場合のシーケンスについて説明する。
まず,ユーザ側通信装置41がサービス側通信装置42にサービスの提供を要求する場合,ユーザ側通信装置41はSIPサーバ10へSIPメッセージであるINVITEメッセージM101を送信する。
SIPサーバ10は,ユーザ側通信装置41からINVITEメッセージM101を受信すると,処理フローS302に従い,レジストラ処理部103がレジストラDB60にアクセスして,受信したINVITEメッセージのToヘッダが示す受信者SIP−URIのIPアドレスを検索する。登録されているユーザ側通信装置41のIPアドレスを発見すると,SIPサーバ10は処理フローS305に従い,セッション管理部104が,通信元SIP−URIと,通信先SIP−URIと,通信セッションの識別情報と,当該通信セッションが「確立処理中(通信先からの応答待ち)」状態であることを,現在時刻とともにセッションログDB70に記録する(M102)。
次に,SIPサーバ10は,処理フローS306に従い,権限判定サーバ20へ権限判定要求メッセージM103を送信し,鍵生成サーバ40へ鍵生成要求メッセージM104を送信する。また,SIPサーバ10は,処理フローS307に従い,サービス側通信装置41へINVITEメッセージM105を送信する。
権限判定要求メッセージM103はアプリケーション処理部105によって作成され,図8に示すようなボディ部を持つ。
また,鍵生成要求メッセージM104は,アプリケーション処理部105によって作成され,図8に示すようなボディ部を持つ。
また,INVITEメッセージM105は,SIPメッセージ処理部102によって,ユーザ側通信装置41から受信したINVITEメッセージM101のヘッダ部に新たなViaヘッダを追加し,Max−Forwardヘッダの値を1だけ減らすことで作成される。
図10から図14で,SIPサーバ10は権限判定要求メッセージM103,鍵生成要求メッセージM104,INVITEメッセージM105の順でメッセージを送信しているが,本発明はこの順序に限定されない。これら3つのメッセージは任意の順序で送信することが可能である。
権限判定要求メッセージM103を受信した権限判定サーバ20は,権限判定処理部203が権限DB80に権限情報の問い合わせを行う(M106)。
また,鍵生成要求M104を受信した鍵生成サーバ40は,鍵生成処理部403が鍵生成処理を開始する(M107)。
また,INVITEメッセージM105を受信したサービス側通信装置42は,サーバ処理部423が,サービスの提供に当たって必要となる初期化処理(プロセスの起動等)を開始する(M108)。
サービス側通信装置42は,当該初期化処理が完了すると,SIPメッセージ処理部423が,SIPメッセージである200 OKメッセージM109を生成し,SIPサーバ10へ送信する。
SIPサーバ10は,サービス側通信装置42から200 OKメッセージM109を受信すると,処理フローS313に従い,SIPメッセージ処理部102が,当該200 OKメッセージに対するACKメッセージM110を生成し,サービス側通信装置42へ送信する。
サービス側通信装置42は,SIPサーバ10からACKメッセージM110を受信すると,サーバ処理部423が,ユーザ側通信装置41に対するサービスの提供記録(アプリケーションログ)の収集を開始する(M111)。アプリケーションログはアプリケーションログDB50内に記録される。図7に,アプリケーションログDB50に保存されたアプリケーションログ情報の一例を示す。
権限判定サーバ20は,権限判定処理の結果,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持つことを確認すると,SIPサーバ10へ権限判定結果[許可]メッセージM112を送信する。権限判定結果[許可]メッセージM112は権限判定処理部203によって作成され,図8に示すようなボディ部を持つ。
鍵生成サーバ40は,鍵生成処理を完了すると,SIPサーバ10へ鍵生成結果メッセージM113を送信する。鍵生成結果メッセージM113は鍵生成処理部403によって作成され,図8に示すようなボディ部を持つ。
SIPサーバ10は,鍵生成サーバ40から鍵生成結果メッセージM113を受信すると,処理フローS317に従い,アプリケーション処理部105が,当該鍵生成結果メッセージに含まれる鍵情報をセッションログDB70に保存する。
SIPサーバ10は,サービス側通信装置42,鍵生成サーバ40,権限判定サーバ20の3者からメッセージを受信すると,処理フローS311に従い,セッション確立の最終処理に移行する。
本実施例では,ユーザ側通信装置およびサービス側通信装置へ伝えるべき情報として,鍵生成サーバによって生成されたセッション鍵情報が存在するため,SIPサーバ10は処理フローS602に従い,SIPメッセージ処理部102がUPDATEメッセージM114を生成し,サービス側通信装置42へ送信する。
サービス側通信装置42は,SIPサーバ10からUPDATEメッセージM114を受信すると,SIPメッセージ処理部422が,当該UPDATEメッセージのボディ部に含まれるセッション鍵情報を取得した後,当該UPDATEメッセージに対する200 OKメッセージM115をSIPサーバ10へ送信し,ユーザ側通信装置41へのサービス提供が可能な状態へ遷移する。
また,SIPサーバ10は,処理フローS603に従い,SIPメッセージ処理部102が,200 OKメッセージM116のボディ部を生成し,サービス側通信装置42から受信していた200 OKメッセージM109のヘッダ部から,自URIを含むViaヘッダを除去することで生成したヘッダ部と結合し,200 OKメッセージM116としてユーザ側通信装置41へ送信する。
ユーザ側通信装置41は,200 OKメッセージM116を受信すると,SIPメッセージ処理部412がACKメッセージM117を生成し,SIPサーバ10へ送信する。
SIPサーバ10は,ユーザ側通信装置41からACKメッセージM117を受信すると,処理フローS605に従い,セッション管理部104が,ユーザ側通信装置41とサービス側通信装置42間のセッション記録(セッションログ)をセッションログDB70へ収集し始める(M118)。
以上の手順によって,ユーザ側通信装置41とサービス側通信装置42との間に通信セッションが確立され(M119),ユーザ側通信装置41からサービス側通信装置42へのアクセスと,サービス側通信装置42からユーザ側通信装置41への情報サービスが可能となる。ユーザ側通信装置41とサービス側通信装置42との間の通信は,セッション確立中に得られたセッション鍵情報を用いて暗号化される。また,セッションが解放されるまでの間,SIPサーバ10によるセッションログの収集と,サービス側通信装置42によるアプリケーションログの収集が継続される。
以上が,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を有する場合のシーケンスとなる。
本シーケンスにおいては,権限判定サーバ20による権限判定処理M106と,鍵生成サーバによる鍵生成処理M107と,サービス側通信装置42によるプロセス起動処理等M108と,が並行して行われる。このため,それぞれの処理を一つ一つ順に行う従来の手順と比較して,通信開始までに要する時間が短縮される,という効果がある。
次に図11を用いて,ユーザ側通信装置41がサービス側通信装置42へセッションの切断を要求する場合のシーケンスについて説明する。
ユーザ側通信装置41がサービス側通信装置42にセッションの切断を要求する場合,ユーザ側通信装置41はまず,SIPメッセージ処理部412が,SIPサーバ10へSIPメッセージであるBYEメッセージM301を送信する。
SIPサーバ10は,ユーザ側通信装置41からBYEメッセージM301を受信すると,セッション管理部104が,セッションログDB70において,鍵生成結果メッセージボディ部M113−1に含まれるFrom要素の値,To要素の値,CallID要素の値に対応するテーブルエントリに,当該通信セッションが「切断処理中(通信先からの応答待ち)」状態であることを記録する。
続いてSIPサーバ10は,SIPメッセージ処理部102が,BYEメッセージM301のヘッダ部に新たなViaヘッダを追加し,Max−Forwardヘッダの値を1だけ減らすことでBYEメッセージM302を作成し,サービス側通信装置42へ送信する。
サービス側通信装置42は,SIPサーバ10からBYEメッセージM302を受信すると,SIPメッセージ処理部422が,当該BYEメッセージに対する応答となる200 OKメッセージM303をSIPサーバ10へ送信した後,サーバ処理部423が,ユーザ側通信装置41へのサービス提供を終了するとともに,アプリケーションログの収集を停止する。また,SIPメッセージ処理部422が,受信したBYEメッセージM302のボディ部に,status属性がcancelであるSessionInfo要素が含まれるか否かをチェックする。本シーケンスにおいては,当該要素がBYEメッセージのボディ部に含まれないため,サービス側通信装置42は,アプリケーションログ情報メッセージM305を生成し,課金サーバ30へ送信する。ここでアプリケーションログ情報メッセージM305はサーバ処理部423によって作成され,図9に示すようなボディ部を持つ。
SIPサーバ10は,サービス側通信装置42から200 OKメッセージM303を受信すると,SIPメッセージ処理部102が,当該200 OKメッセージのヘッダ部から自URIを含むViaヘッダを除去することで200 OKメッセージM304を作成し,ユーザ側通信装置41へ送信する。次に,セッション管理部104が,200 OKメッセージM303のFromヘッダが示す通信元SIP−URIと,Toヘッダが示す通信先SIP−URIと,Call−IDヘッダが示す通信セッションの識別情報に対応するセッションログDB70中のテーブルエントリへ,セッション終了時刻として現在時刻を記録し,セッションログの収集を停止する。
この後,SIPサーバ10は,セッションログ情報をボディ部に含むセッションログ情報メッセージM306を生成し,課金サーバ30へ送信する。ここでセッションログ情報メッセージM306はセッション管理部104によって作成され,図9に示すようなボディ部を持つ。
以上が,ユーザ側通信装置41がサービス側通信装置42へセッションの切断を要求する場合のシーケンスとなる。
次に図12を用いて,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たない場合で,かつサービス側通信装置42からの200 OKメッセージが権限判定の結果よりも先に通知された場合のシーケンスについて説明する。
ユーザ側通信装置41がSIPサーバ10へINVITEメッセージM101を送信してから,サービス側通信装置42がアプリケーションログの収集を開始(M111)するまでのシーケンスについては,図10で示したシーケンスと同様であるため,説明を省略する。
この後,権限判定サーバ20は,権限判定処理の結果,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たないことを確認すると,SIPサーバ10へ権限判定結果[拒否]メッセージM121を送信する。権限判定結果[拒否]メッセージM121は権限判定処理部203によって作成され,図8に示すようなボディ部を持つ。
SIPサーバ10は,権限判定サーバ20から権限判定結果[拒否]メッセージM121を受信すると,処理フローS501に従い,SIPメッセージ処理部102が,SIPメッセージである403ForbiddenメッセージM122を生成し,ユーザ側通信装置41へ送信する。
ユーザ側通信装置41は,SIPサーバ10から403ForbiddenメッセージM122を受信すると,SIPメッセージ処理部412が,ACKメッセージM123を生成し,SIPサーバ10へ送信する。
SIPサーバ10は,ユーザ側通信装置41へ403ForbiddenメッセージM122を送信した後,処理フローS502に従い,鍵生成サーバ40へ鍵生成取消メッセージM124を送信する。鍵生成取消メッセージM124はアプリケーション処理部105によって作成され,図8に示すようなボディ部を持つ。
鍵生成サーバ40は,SIPサーバ10から鍵生成取消メッセージM124を受信すると,鍵生成処理部403が,処理中であった鍵生成処理を終了する。続いて,メッセージ処理部402が,鍵生成取消応答メッセージM125を生成し,SIPサーバ10へ送信する。ここで鍵生成取消応答メッセージM125は,図8に示すようなボディ部を持つ。
ここで図8を用いて鍵生成取消応答メッセージボディ部M125−1の一例について説明する。KeyGen要素のstatus属性の値であるcanceledは,当該メッセージが鍵生成の取消要求に対する応答として送信されたものであることを示す。KeyGen要素の内容は,対応する鍵生成取消メッセージボディ部M124−1のKeyGen要素の内容と同一である。
次にSIPサーバ10は,処理フローS503に従い,サービス側通信装置42から200 OKメッセージを受信しているかどうかを判定する。本シーケンスにおいては,この時点でサービス側通信装置42から200 OKメッセージを受信している場合を扱うため,処理フローS504に従い,サービス側通信装置42へBYEメッセージM126を送信する。BYEメッセージM126はSIPメッセージ処理部102によって生成され,図8に示すようなボディ部を持つ。
サービス側通信装置42は,SIPサーバ10からBYEメッセージM126を受信すると,SIPメッセージ処理部422が,当該BYEメッセージに対する応答となる200 OKメッセージM127を生成し,SIPサーバ10へ送信する。次に,サービス側通信装置42は,サーバ処理部423が,ユーザ側通信装置41へのサービス提供可能状態を終了するとともに,アプリケーションログの収集を停止する。また,SIPメッセージ処理部422が,受信したBYEメッセージM126のボディ部に,status属性がcancelであるSessionInfo要素が含まれるか否かをチェックする。本シーケンスにおいては,当該要素がBYEメッセージのボディ部に含まれるため,サービス側通信装置42は,アプリケーションログ情報メッセージを課金サーバ30へ送信しない。
最後に,SIPサーバ10は,サービス側通信装置42からBYEメッセージに対する200 OKメッセージM127を受信し,処理を終了する。
以上が,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たない場合で,かつサービス側通信装置42からの200 OKメッセージが権限判定の結果よりも先に通知された場合のシーケンスとなる。
本シーケンスにおいては,一旦SIPサーバ10とサービス側通信装置42の間で確立したSIPダイアログを解消するために利用したBYEメッセージのボディ部に,ユーザ側通信装置41がセッションを確立することができなかったことを示す情報(図8のBYEメッセージボディM126−1に示す,SessionInfo要素のstatus属性の値であるcancel)を含めていることを特徴とする。当該情報を含めることにより,サービス側通信装置42は,受信したBYEメッセージがセッションを終了させるために送信されたものか,あるいはセッション確立処理が途中で中断されたことを示すために送信されたものであるか,を判別することができる。これにより,課金サーバ30へ不要なアプリケーションログが送信されることを防ぎ,結果として,不正な課金処理が発生することを防ぐ,という効果がある。
次に図13を用いて,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たない場合で,かつサービス側通信装置42からの200 OKメッセージよりも先に権限判定の結果が通知された場合のシーケンスについて説明する。
ユーザ側通信装置41がSIPサーバ10へINVITEメッセージM101を送信してから,サービス側通信装置42がプロセス起動処理等を開始する(M108)までのシーケンスについては,図10で示したシーケンスと同様であるため,説明を省略する。
この後,権限判定サーバ20は,権限判定処理部203が,サービス側通信装置42が200 OKメッセージを送信するよりも先に権限判定処理を済ませ,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たないことを確認すると,SIPサーバ10へ権限判定結果[拒否]メッセージM121を送信する。権限判定結果[拒否]メッセージM121はメッセージ処理部202によって作成され,図8に示すようなボディ部を持つ。
SIPサーバ10は,権限判定サーバ20から権限判定結果[拒否]メッセージM121を受信すると,処理フローS501に従い,SIPメッセージ処理部102が,403ForbiddenメッセージM122を送信する。
ユーザ側通信装置41は,SIPサーバ10から403ForbiddenメッセージM122を受信すると,SIPメッセージ処理部412が,ACKメッセージM123を生成し,SIPサーバ10へ送信する。
SIPサーバ10は,ユーザ側通信装置41へ403ForbiddenメッセージM122を送信した後,処理フローS502に従い,鍵生成サーバ40へ鍵生成取消メッセージM124を送信する。鍵生成取消メッセージM124はアプリケーション処理部105によって作成され,図8に示すようなボディ部を持つ。
鍵生成サーバ40は,SIPサーバ10から鍵生成取消メッセージM124を受信すると,鍵生成処理部403が,処理中であった鍵生成処理を終了する。続いて,メッセージ処理部402が,鍵生成取消応答メッセージM125を生成し,SIPサーバ10へ送信する。ここで鍵生成取消応答メッセージM125は,図8に示すようなボディ部を持つ。
次にSIPサーバ10は,処理フローS503に従い,サービス側通信装置42から200 OKメッセージを受信しているかどうかを判定する。本シーケンスにおいては,この時点でまだサービス側通信装置42から200 OKメッセージを受信していない場合を扱うため,処理フローS506に従い,SIPメッセージ処理部422が,サービス側通信装置42へSIPメッセージであるCANCELメッセージM131を送信する。
サービス側通信装置42は,SIPサーバ10からCANCELメッセージM131を受信すると,SIPメッセージ処理部422が,当該CANCELメッセージに対する応答となる200 OKメッセージM132を生成し,SIPサーバ10へ送信する。
続いて,サービス側通信装置42は,SIPメッセージ処理部422が,SIPサーバ10へSIP最終応答メッセージである487 Request Terminatedメッセージを送信する。
SIPサーバ10は,サービス側通信装置42からCANCELメッセージM131に対する200 OKメッセージM132を受信すると,処理フローS508,S505に従い,処理を終了する。
次に図14を用いて,サービス側通信装置42がサービスを提供できない状態であった場合のシーケンスについて説明する。
ユーザ側通信装置41がSIPサーバ10へINVITEメッセージM101を送信してから,SIPサーバ10がサービス側通信装置42へINVITEメッセージM105を送信するまでのシーケンスについては,図10で示したシーケンスと同様であるため,説明を省略する。
続いてサービス側通信装置42が,何らかの理由でサービスを提供できない状態であることを伝えるために,SIPメッセージ処理部422が,SIPサーバ10へSIPエラー応答メッセージM141を送信する。例えば,サービス側通信装置42はSIPメッセージである486Busy Hereメッセージを送信することで,サービス側通信装置42が既に他のユーザ側通信装置と多数のセッションを確立しており,これ以上新しいセッションを確立することができない状況にあることを通知することができる。
SIPサーバ10は,SIPエラー応答メッセージM141を受信すると,処理フローS401に従い,SIPメッセージ処理部102が,サービス側通信装置42へACKメッセージM142を送信する。
次に,SIPサーバ10は,処理フローS402に従い,SIPメッセージ処理部102が,サービス側通信装置42から受信していたSIPエラー応答メッセージM141のヘッダ部から自URIを含むViaヘッダを除去することでSIPエラー応答メッセージM143を生成し,ユーザ側通信装置41へ送信する。
ユーザ側通信装置41は,SIPサーバ10からSIPエラー応答メッセージM143を受信すると,SIPメッセージ処理部412が,SIPサーバ10へACKメッセージM144を送信する。
次に,SIPサーバ10は,処理フローS403に従い,機能提供サーバへ処理要求を取り消すためのメッセージを送信する。本シーケンスにおいては,要求処理中の機能提供サーバとして権限判定サーバ20および鍵生成サーバ40が存在する。
まず,SIPサーバ10は,アプリケーション処理部105が,権限判定取消メッセージM145を生成し,権限判定サーバ20へ送信する。権限判定取消メッセージM145は,図8に示すようなボディ部を持つ。
権限判定サーバ20は,SIPサーバ10から権限判定取消メッセージM142を受信すると,権限判定処理部203が,処理中であった権限判定処理を終了する。続いて,メッセージ処理部202が,権限判定取消応答メッセージM146を生成し,SIPサーバ10へ送信する。権限判定取消応答メッセージM146は,図8に示すようなボディ部を持つ。
ここで図8を用いて権限判定取消応答メッセージボディ部M146−1の一例について説明する。Permission要素のstatus属性の値であるcanceledは,当該メッセージが権限判定の中断要求に対する応答として送信されたものであることを示し,id属性の値358a1a77は当該メッセージが対応する権限判定中断メッセージに含まれるid属性の値と一致する。Permission要素の内容は,対応する権限判定中断メッセージボディ部M142−1のPermission要素の内容と同一である。
また,SIPサーバ10は,アプリケーション処理部105が,鍵生成取消メッセージM124を生成し,鍵生成サーバ40へ送信する。鍵生成取消メッセージM124は,図8に示すようなボディ部を持つ。
鍵生成サーバ40は,SIPサーバ10から鍵生成取消メッセージM124を受信すると,鍵生成処理部403が,処理中であった鍵生成処理を終了する。続いて,メッセージ処理部402が,鍵生成取消応答メッセージM125を生成し,SIPサーバ10へ送信する。ここで鍵生成取消応答メッセージM125は鍵生成処理部403によって生成され,図8に示すようなボディ部を持つ。
SIPサーバ10は,権限判定サーバ20から権限判定取消応答メッセージM146を受信し,また鍵生成サーバ40から鍵生成取消応答メッセージM123を受信し,処理を終了する。
本シーケンスにおいては,権限判定処理や鍵生成処理が実行されている間にも,SIPサーバ10はサービス側通信装置42からのSIPエラー応答メッセージを受信することができ,さらに当該SIPエラー応答メッセージをユーザ側通信装置41へ転送することが可能である。このため,ユーザ側通信装置41は,サービス側通信装置42がサービスを提供できない状態にあることを,従来の手順よりも早く知ることができる,という効果がある。
以上が,サービス側通信装置42がサービスを提供できない状態であった場合のシーケンスとなる。
本実施例においては,従来の手順と比較すると,INVITEメッセージを受信したサービス側通信装置42が,プロセス起動処理等,サービスの提供に必要な初期処理を,権限判定サーバ20による権限判定処理や鍵生成サーバ40による鍵生成処理と並行して実行できる。このため,セッション確立までに要する時間が短縮される,という効果がある。
さらに,本実施例において,セッション確立中に機能提供サーバから与えられる情報の中に,ユーザ側通信装置およびサービス側通信装置へ伝えるべき情報が存在しない場合,SIPサーバ10はUPDATEメッセージM114を送信する必要がなく,また,サービス側通信装置はUPDATEメッセージに対する200 OKメッセージM115を送信する必要がない。具体的には,鍵生成処理を各通信装置内もしくはSIPサーバ上で行うシステムの場合,本実施例で用いる鍵生成サーバは必要とされず,ユーザ側通信装置およびサービス側通信装置へ伝えるべき情報が存在しない。そのため,UPDATEメッセージおよび200 OKメッセージの送受信処理を省略することが可能となり,より高速なセッション確立を実現することが可能となる。
なお,本実施形態において,それぞれ異なる独立した装置として説明した,機能提供サーバの各々とセッション管理サーバは,任意の二つ以上が一つの装置として実現されていても構わない。機能提供サーバが,セッション管理サーバ装置に含まれる場合は,そのIPアドレスは不要となり,複数の機能提供サーバが一つに纏まる場合は,共通のIPアドレスと異なるポート番号を備えることになる。
また,本実施例において,権限判定サーバ20は,ユーザがサービス側通信装置により提供されるサービスを享受するための権限について判定を行っているが,この例の変形として,権限判定サーバ20ではユーザ側通信装置がサービス側通信装置とセッションを確立するための権限について判定し,当該セッション上で提供されるサービスをユーザが享受するための権限判定については,各サービス側通信装置で行う,といった構成も可能である。
次に,図15から図23を参照して,本発明によるデータ通信の第二の実施例について説明する。
第二の実施例では,ユーザの権限判定やセッション鍵の生成を行う機能提供サーバを,Application Server(AS)としてIMSアーキテクチャ上へ配置したシステムにおいて,S−CSCFが,INVITEメッセージの転送と,ASに対する処理要求メッセージの送信を並行して行うことで,セッション確立までに要する時間を短縮する過程を示す。
図15および図16に構成を示した,第二の実施例におけるシステムは,ネットワーク0とネットワーク1の二つのネットワーク上で構成される。ネットワーク0とネットワーク1は,ルータ等により接続され,両ネットワーク上に存在する装置は,相互に通信することが可能となっている。ネットワーク0上には,P−CSCF11と,I−CSCF12と,S−CSCF13と,HSS21と,鍵生成を行うアプリケーションサーバである鍵生成AS31と,ユーザ側通信装置41と,が存在する。また,ネットワーク1上には,P−CSCF14と,I−CSCF15と,S−CSCF16と,ユーザ情報の管理を行うHSS22と,権限判定を行うアプリケーションサーバである権限判定AS32と,サービス側通信装置42と,が存在する。
P−CSCF11は,192.168.11.11というIPアドレスが割り当てられている。P−CSCF11は,その機能として,例えば,ネットワーク0を介して他のCSCFならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)111と,SIPメッセージを処理するSIPメッセージ処理部112と,Diameterメッセージを処理するDiameterメッセージ処理部113と,各通信装置からの要求に基づき,SIPメッセージの転送などを処理するP−CSCF処理部114と,を含む。
P−CSCF14は,192.168.14.11というIPアドレスが割り当てられている。P−CSCF14の機能構成はP−CSCF11と同様であるため,説明を省略する。
I−CSCF12は,192.168.12.11というIPアドレスが割り当てられている。I−CSCF12は,その機能として,例えば,ネットワーク0を介して他のCSCFならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)121と,SIPメッセージを処理するSIPメッセージ処理部122と,Diameterメッセージを処理するDiameterメッセージ処理部123と,ネットワーク内のS−CSCFの検索などを行うI−CSCF処理部124と,を含む。
I−CSCF15は,192.168.15.11というIPアドレスが割り当てられている。I−CSCF15の機能構成はI−CSCF12と同様であるため,説明を省略する。
S−CSCF13は,192.168.13.11というIPアドレスが割り当てられている。S−CSCF13は,その機能として,例えば,ネットワーク0を介して他のCSCFならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)131と,SIPメッセージを処理するSIPメッセージ処理部132と,Diameterメッセージを処理するDiameterメッセージ処理部133と,ASなどと連携してセッションの制御を行うS−CSCF処理部134と,を含む。
S−CSCF16は,192.168.16.11というIPアドレスが割り当てられている。S−CSCF16の機能構成はS−CSCF13と同様であるため,説明を省略する。
HSS21は,192.168.21.11というIPアドレスが割り当てられている。HSS21は,その機能として,例えば,ネットワーク0を介して他のサーバならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)211と,Diameterメッセージを処理するDiameterメッセージ処理部212と,ユーザ情報の管理を行うHSS処理部213と,を含む。
HSS22は,192.168.22.11というIPアドレスが割り当てられている。HSS22の機能構成はHSS21と同様であるため,説明を省略する。
HSS21,HSS22はそれぞれDiameterサーバとして働き,各々のDiameterメッセージ処理部が,DiameterメッセージLIR(Location−Info−Request)を受信し,DiameterメッセージLIA(Location−Info−Answer)を送信することができる。
鍵生成AS31は,192.168.31.11というIPアドレスが割り当てられている。鍵生成AS31は,例えば,ネットワーク0を介して他のサーバならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)311と,SIPメッセージを処理するSIPメッセージ処理部312と,処理要求に基づき,ユーザ側通信装置とサービス側通信装置との間の暗号化通信に用いられるセッション鍵の生成処理を行う鍵生成処理部313と,を含む。
権限判定AS32は,192.168.32.11というIPアドレスが割り当てられており,各ユーザがサービス側通信装置が提供するサービスを享受可能か否かについての権限情報を管理する権限DB80を備えている。実施例1と同様に,権限DB80の管理対象は,サービスを享受するための権限だけでなく,セッションを確立するための権限も含んでいる。権限判定AS32は,例えば,ネットワーク0を介して他のサーバならびに通信装置と通信するためのネットワークインタフェースカード部(NIC)321と,権限判定要求メッセージを処理するメッセージ処理部322と,権限DB80への処理を制御する権限判定処理部323と,を含む。
ユーザ側通信装置41には,192.168.41.11というIPアドレスが割り当てられている。ユーザ側通信装置41の機能構成は第一の実施例と同様であるため,説明を省略する。
サービス側通信装置42には,192.168.42.11というIPアドレスが割り当てられている。サービス側通信装置42の機能構成は第一の実施例と同様であるため,説明を省略する。
P−CSCF11,14,I−CSCF12,15,S−CSCF13,16はそれぞれSIPサーバとして働き,各々のSIPメッセージ処理部が,SIPメッセージであるINVITEメッセージ,BYEメッセージ,CANCELメッセージ,UPDATEメッセージや,それに対する応答メッセージ等を送受信する。
また,P−CSCF11,14,I−CSCF12,15,S−CSCF13,16はそれぞれDiameterクライアントとして働き,各々のDiameterメッセージ処理部が,DiameterプロトコルのLIRメッセージ等を送信することができる。
以下,図15に示したユーザ側通信装置41が,図16に示したサービス側通信装置42と,IMSを介したデータ通信を行う場合の通信手順を説明する。
まず,ユーザ側通信装置41およびサービス側通信装置42はそれぞれネットワーク0およびネットワーク1上のP−CSCFに対し,ログインを開始する。当該ログイン処理に関しては,非特許文献2で示されるIMSの仕様で定められた手順に従うため,説明を省略する。
以下,図17から図23を用いて,IMSへのログイン処理が完了したユーザ側通信装置41が,サービス側通信装置42とのセッションを確立するまでのシーケンスについて説明する。
ネットワーク0上のS−CSCF13ならびにネットワーク1上のS−CSCF16の処理フローは,第一の実施例におけるSIPサーバ10の処理フローとほぼ同等である。
初めに,図17および図18を用いて,ログイン処理が完了したユーザ側通信装置41がサービス側通信装置42にサービスの提供を要求する際のシーケンスを示す。
まず,ユーザ側通信装置41は,ネットワーク0上のP−CSCF11へINVITEメッセージM401を送信する。
P−CSCF11は,ユーザ側通信装置41からINVITEメッセージM401を受信すると,SIPメッセージ処理部112が,当該INVITEメッセージを元にINVITEメッセージM402を生成し,S−CSCF13へ送信する。
S−CSCF13は,P−CSCF11からINVITEメッセージM402を受信すると,ユーザ側通信装置41のログイン時にHSS21から取得したフィルタクライテリアと,当該INVITEメッセージに含まれるユーザ情報を照らし合わせる(M403)。この結果,本実施例においては,セッション確立に際し鍵生成AS31の提供する機能が必要であると判断し,鍵生成AS31に対して鍵生成要求メッセージM404を送信する。鍵生成要求メッセージM404としては,SIPメッセージであるMESSAGEメッセージを用いる。当該MESSAGEメッセージはSIPメッセージ処理部132とS−CSCF処理部134によって生成される。また当該MESSAGEメッセージのボディ部は,図8に示した鍵生成要求メッセージボディ部M104−1と同様の構造を持つ。
続いてS−CSCF13は,鍵生成AS31からの応答を待たずに,ネットワーク1上のI−CSCF15へINVITEメッセージM405を送信する。
なお,S−CSCF13は鍵生成要求メッセージM404,INVITEメッセージM405の順でメッセージを送信しているが,これら二つのメッセージはこの順序には限定されず,任意の順序で送信することが可能である。
鍵生成AS31は,S−CSCF13から鍵生成要求メッセージM404を受信すると,鍵生成処理部313が鍵生成処理を開始する(M406)。
これに並行し,ネットワーク1上のI−CSCF15は,S−CSCF13からINVITEメッセージM405を受信すると,当該INVITEメッセージの宛先であるサービス側通信装置42を担当するS−CSCFのIPアドレスを取得するため,Diameterメッセージ処理部153がDiameterプロトコルのLIRメッセージM407を生成し,同じネットワーク1上のHSS22へ送信する。
HSS22は,I−CSCF15からLIRメッセージM407を受信すると,当該LIRメッセージから抽出したサービス側通信装置42のIPアドレスをキーとして内部DBを検索し,サービス側通信装置42を担当するS−CSCF16のIPアドレスを得る。次にHSS22は,Diameter処理部222が,得られたS−CSCF16のIPアドレスを含むLIAメッセージM408を生成し,I−CSCF15へ送信する。
I−CSCF15は,Diameterメッセージ処理部153が,HSS22から受信したLIAメッセージM408からS−CSCF16のIPアドレスを抽出すると,SIPメッセージ処理部152が,INVITEメッセージM405を元にINVITEメッセージM409を生成し,S−CSCF16のIPアドレスへ向けて送信する。
S−CSCF16は,I−CSCF15からINVITEメッセージM409を受信すると,サービス側通信装置42のログイン時にHSS22から取得したフィルタクライテリアと,当該INVITEメッセージに含まれるサービス情報を照らし合わせる(M410)。この結果,本実施例においては,セッション確立に際し権限判定AS32の機能が必要であると判断し,権限判定AS32に対して権限判定要求メッセージM411を送信する。権限判定要求メッセージM411としては,鍵生成要求メッセージと同様に,SIPメッセージであるMESSAGEメッセージを用いる。当該MESSAGEメッセージはSIPメッセージ処理部162とS−CSCF処理部164によって生成される。また当該MESSAGEメッセージのボディ部は,図8に示した権限判定要求メッセージボディ部M103−1と同様の構造を持つ。
続いてS−CSCF16は,権限判定AS32からの返答を待たずに,ネットワーク1上のP−CSCF14へINVITEメッセージM412を送信する。
なお,S−CSCF16は権限判定要求メッセージM411,INVITEメッセージM412の順でメッセージを送信しているが,これら二つのメッセージはこの順序には限定されず,任意の順序で送信することが可能である。
権限判定AS32は,S−CSCF16から権限判定要求メッセージM411を受信すると,権限判定処理部323が権限DB80に権限情報の問い合わせを行う(M413)。
これに並行し,ネットワーク1上のP−CSCF14は,S−CSCF16からINVITEメッセージM412を受け取ると,SIPメッセージ処理部142が,当該INVITEメッセージを元にINVITEメッセージM414を生成し,同じネットワーク1上のサービス側通信装置42へ送信する。
INVITEメッセージM414を受信したサービス側通信装置42は,サーバ処理部423が,サービスの提供に当たって必要となる初期化処理(プロセスの起動等)を開始する(M415)。初期化処理が完了すると,サービス側通信装置42は,P−CSCF14へ200 OKメッセージM416を送信する。
サービス側通信装置42から200 OKメッセージM416を受信したP−CSCF14は,SIPメッセージ処理部142が,当該200 OKメッセージを元に200 OKメッセージM417を生成し,S−CSCF16へ送信する。
S−CSCF16は,P−CSCF14から200 OKメッセージM417を受信すると,SIPメッセージ処理部162が,当該200 OKメッセージに対するACKメッセージM418を生成し,P−CSCF14へ送信する。
P−CSCF14は,S−CSCF16からACKメッセージM418を受信すると,SIPメッセージ処理部142が,当該ACKメッセージを元にACKメッセージM419を生成し,サービス側通信装置42へ送信する。
権限判定処理M413を行っていた権限判定AS32は,当該権限判定処理を終え,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持つことを確認すると,S−CSCF16へ権限判定結果[許可]メッセージM420を送信する。権限判定結果[許可]メッセージM420としては,SIPメッセージである200 OKメッセージを用いる。当該200 OKメッセージはSIPメッセージ処理部322と権限判定処理部323によって生成される。また当該200 OKメッセージのボディ部は,図8に示した権限判定結果[許可]メッセージボディ部M112−1と同様の構造を持つ。
S−CSCF16は,サービス側通信装置42,権限判定AS32の両者からメッセージを受信すると,SIPメッセージ処理部162が,INVITEメッセージM409に対する200 OKメッセージM417のヘッダ部から自URIを含むViaヘッダを除去することで,INVITEメッセージM409に対する200 OKメッセージM421を生成し,I−CSCF15へ送信する。
I−CSCF15は,S−CSCF16から200 OKメッセージM421を受信すると,当該200 OKメッセージを元に200 OKメッセージM422を生成し,ネットワーク0上のS−CSCF13へ送信する。
S−CSCF13は,I−CSCF15から200 OKメッセージM422を受信すると,SIPメッセージ処理部132が,当該200 OKメッセージに対するACKメッセージM423を生成し,S−CSCF16へ送信する。
鍵生成処理M406を行っていた鍵生成AS31は,当該鍵生成処理を完了すると,S−CSCF13へ鍵生成結果メッセージM424を送信する。鍵生成結果メッセージM424としては,SIPメッセージである200 OKメッセージを用いる。当該200 OKメッセージはSIPメッセージ処理部312と鍵生成処理部313によって生成される。また当該200 OKメッセージのボディ部は,図8に示した鍵生成結果メッセージボディ部M113−1と同様の構造を持つ。
S−CSCF13は,サービス側通信装置42,鍵生成AS31の両者からメッセージを受信すると,ネットワーク1上のS−CSCF16へSIPメッセージであるUPDATEメッセージM425を送信する。UPDATEメッセージM425はSIPメッセージ処理部132およびS−CSCF処理部134によって生成される。当該UPDATEメッセージのボディ部には,鍵生成結果メッセージM424によって運ばれたセッション鍵情報が含まれる。
S−CSCF16は,S−CSCF13からUPDATEメッセージM425を受信すると,SIPメッセージ処理部162が,当該UPDATEメッセージを元にUPDATEメッセージM426を生成し,P−CSCF14へ転送する。
P−CSCF14は,S−CSCF16からUPDATEメッセージM426を受信すると,SIPメッセージ処理部142が,当該UPDATEメッセージを元にUPDATEメッセージM427を生成し,サービス側通信装置42へ転送する。
サービス側通信装置42は,P−CSCF14からUPDATEメッセージM427を受信すると,SIPメッセージ処理部422が,当該UPDATEメッセージのボディ部に含まれるセッション鍵情報を取得した後,当該UPDATEメッセージに対する200 OKメッセージM428を生成する。次に当該200 OKメッセージをP−CSCF14へ送信し,ユーザ側通信装置41へサービスの提供が可能な状態へ遷移する。
P−CSCF14は,サービス側通信装置42から200 OKメッセージM428を受信すると,SIPメッセージ処理部142が,当該200 OKメッセージを元に200 OKメッセージM429を生成し,S−CSCF16へ送信する。
S−CSCF16は,P−CSCF14から200 OKメッセージM429を受信すると,SIPメッセージ処理部162が,当該200 OKメッセージを元に200 OKメッセージM430を生成し,ネットワーク0上のS−CSCF13へ送信する。
S−CSCF13は,S−CSCF16から200 OKメッセージM430を受信すると,SIPメッセージ処理部132が,P−CSCF11から受信していたINVITEメッセージM402のヘッダ部から,自URIを含むViaヘッダを除去することで200 OKメッセージM431のヘッダ部を生成する。また,鍵生成AS31から受信した鍵情報結果メッセージのボディ部に含まれるセッション鍵情報から,200 OKメッセージM431のボディ部を生成し,ヘッダ部と結合することで200 OKメッセージM431を生成し,P−CSCF11へ送信する。
P−CSCF11は,S−CSCF13から200 OKメッセージM431を受信すると,SIPメッセージ処理部112が,当該200 OKメッセージを元に200 OKメッセージM432を生成し,ユーザ側通信装置41へ送信する。
ユーザ側通信装置41は,P−CSCF11から200 OKメッセージM432を受信すると,SIPメッセージ処理部412が,当該200 OKメッセージのボディ部に含まれるセッション鍵情報を取得した後,当該200 OKメッセージへの応答として,P−CSCF11へACKメッセージM433を送信する。
P−CSCF11は,ユーザ側通信装置41からACKメッセージM433を受信すると,SIPメッセージ処理部112が,当該ACKメッセージを元にACKメッセージM434を生成し,S−CSCF13へ送信する。
S−CSCF13は,P−CSCF11からACKメッセージM434を受信し,処理を終了する。
以上の手順によって,ユーザ側通信装置41とサービス側通信装置42との間に通信セッションが確立され,ユーザ側通信装置41からサービス側通信装置42へのアクセスと,サービス側通信装置42からユーザ側通信装置41への情報サービスが可能となる(M435)。ユーザ側通信装置41とサービス側通信装置42との間の通信は,セッション確立中に得られたセッション鍵情報を用いて暗号化される。
本実施例においては,鍵生成AS31による鍵生成処理M406,権限判定AS32による権限判定処理M413,サービス側通信装置42によるプロセス起動処理等M415が並行して行われる。このため,それぞれの処理を一つ一つ順に行う手順と比較して,通信開始までに要する時間が短縮される,という効果がある。
ユーザ側通信装置41がサービス側通信装置42へセッションの切断を要求する場合のシーケンスについては,IMSの仕様で定められた手順に従うため,説明を省略する。
次に図19および図20を用いて,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たない場合で,かつサービス側通信装置42からの200OKメッセージが権限判定の結果よりも先に通知された場合のシーケンスについて説明する。
ユーザ側通信装置41がP−CSCF11へINVITEメッセージM401を送信してから,P−CSCF14がサービス側通信装置42へACKメッセージM419を送信するまでのシーケンスについては,図17および図18で示したシーケンスと同様である。
この後,権限判定AS32は,権限判定処理の結果,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たないことを確認すると,S−CSCF16へ権限判定結果[拒否]メッセージM441を送信する。権限判定[拒否]メッセージM441としてはSIPメッセージである403 Forbiddenメッセージを用いる。当該403 ForbiddenメッセージはSIPメッセージ処理部322および権限判定処理部323によって生成される。また当該403 Forbiddenメッセージのボディ部は,図6に示した権限判定[拒否]メッセージボディ部M121−1と同様の構造を持つ。
S−CSCF16は,権限判定結果[拒否]メッセージM441を受信すると,SIPメッセージ処理部162が,INVITEメッセージM409に対する403 ForbiddenメッセージM442を生成し,I−CSCF15へ送信する。
また,S−CSCF16は,SIPメッセージ処理部162が,BYEメッセージM443を生成し,P−CSCF14へ送信する。
P−CSCF14は,S−CSCF16からBYEメッセージM443を受信すると,SIPメッセージ処理部142が,当該BYEメッセージを元にBYEメッセージM444を生成し,サービス側通信装置42へ送信する。
サービス側通信装置42は,P−CSCF14からBYEメッセージM444を受信すると,SIPメッセージ処理部422が,当該BYEメッセージに対する応答として200 OKメッセージM445を生成し,P−CSCF14へ送信する。
P−CSCF14は,サービス側通信装置42から200 OKメッセージM445を受信すると,SIPメッセージ処理部142が,当該200 OKメッセージを元に200 OKメッセージM446を生成し,S−CSCF16へ送信する。
図20において,I−CSCF15は,S−CSCF16から403 ForbiddenメッセージM442を受信すると,SIPメッセージ処理部152が,当該403 Forbiddenメッセージを元に403 ForbiddenメッセージM447を生成し,ネットワーク0上のS−CSCF13へ送信する。
S−CSCF13は,I−CSCF15から403 ForbiddenメッセージM447を受信すると,SIPメッセージ処理部132が,当該403 Forbiddenメッセージに対する応答となるACKメッセージM448を生成し,ネットワーク1上のS−CSCF16へ送信する。
また,S−CSCF13は,I−CSCF15から受信した403 ForbiddenメッセージM447を元に,SIPメッセージ処理部132が,403 ForbiddenメッセージM449を生成し,P−CSCF11へ送信する。
P−CSCF11は,S−CSCF13から403 ForbiddenメッセージM449を受信すると,SIPメッセージ処理部112が,当該403 Forbiddenメッセージを元に403 ForbiddenメッセージM450を生成し,ユーザ側通信装置41へ送信する。
ユーザ側通信装置41は,P−CSCF11から403 ForbiddenメッセージM450を受信すると,SIPメッセージ処理部412が,当該403 Forbiddenメッセージに対する応答となるACKメッセージM451を生成し,P−CSCF11へ送信する。
P−CSCF11は,ユーザ側通信装置41からACKメッセージM451を受信すると,SIPメッセージ処理部112が,当該ACKメッセージを元にACKメッセージM452を生成し,S−CSCF13へ送信する。
また,S−CSCF13は,鍵生成AS31へ鍵生成取消メッセージM453を送信する。鍵生成取消メッセージM453としては,SIPメッセージであるMESSAGEメッセージを用いる。当該MESSAGEメッセージはSIPメッセージ処理部132によって生成される。また当該MESSAGEメッセージのボディ部は,図8に示した鍵生成取消メッセージボディ部M124−1と同様の構造を持つ。
鍵生成AS31は,S−CSCF13から鍵生成取消メッセージM453を受信すると,鍵生成処理部313が,処理中であった鍵生成処理を終了する。続いて,SIPメッセージ処理部132が,鍵生成取消応答メッセージM454を生成し,S−CSCF13へ送信する。鍵生成取消応答メッセージM454としてはSIPメッセージである200 OKメッセージを用いる。また当該200 OKメッセージのボディ部は,図8に示した鍵生成取消応答メッセージボディ部M125−1と同様の構造を持つ。
次に図21を用いて,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たない場合で,かつサービス側通信装置42からの200 OKメッセージよりも先に権限判定の結果が通知された場合のシーケンスについて説明する。
ユーザ側通信装置41がP−CSCF11へINVITEメッセージM401を送信してから,サービス側通信装置42がプロセス起動処理等M415の実行を開始するまでのシーケンスについては,図17および図18で示したシーケンスと同様である。
この後,権限判定AS32は,権限判定処理の結果,ユーザ側通信装置41がサービス側通信装置42のサービスを享受するための権限を持たないことを確認すると,S−CSCF16へ権限判定結果[拒否]メッセージM441を,サービス側通信装置42が200 OKメッセージを送信するよりも先に,送信する。権限判定結果[拒否]メッセージM441は,図19で示したシーケンス中の権限判定結果[拒否]メッセージM441と同一のメッセージである。
S−CSCF16は,権限判定AS32から権限判定結果[拒否]メッセージM441を受信すると,SIPメッセージ処理部162が,INVITEメッセージM409に対する403 ForbiddenメッセージM442を生成し,I−CSCF15へ送信する。
また,S−CSCF16は,SIPメッセージ処理部162が,CANCELメッセージM461を生成し,P−CSCF14へ送信する。
この後,403 ForbiddenメッセージM442を受信したI−CSCF15と,ネットワーク0内の各装置と,で行われるシーケンスについては,図20で示したシーケンスと同一であるため,説明を省略する。
P−CSCF14は,S−CSCF16からCANCELメッセージM461を受信すると,SIPメッセージ処理部142が,当該CANCELメッセージを元に,CANCELメッセージM462を生成し,サービス側通信装置42へ送信する。
また,P−CSCF14は,SIPメッセージ処理部142が,CANCELメッセージM461に対する応答メッセージである200 OKメッセージM463を生成し,S−CSCF16へ送信する。
サービス側通信装置42は,P−CSCF14からCANCELメッセージM462を受信すると,SIPメッセージ処理部422が,当該CANCELメッセージに対する応答として200 OKメッセージM464を生成し,P−CSCF14へ送信する。
続いて,サービス側通信装置42は,SIPメッセージ処理部422が,SIP最終応答メッセージである487 Request Terminatedメッセージを生成し,P−CSCF14へ送信する。
P−CSCF14は,サービス側通信装置42から487 Request Terminatedメッセージを受信すると,SIPメッセージ処理部142が,当該487 Request Terminatedメッセージを元に,487 Request TerminatedメッセージM466を生成し,S−CSCF16へ送信する。
S−CSCF16は,P−CSCF14から487 Request TerminatedメッセージM466を受信すると,SIPメッセージ処理部162が,当該487 Request Terminatedメッセージに対する応答となるACKメッセージM467を生成し,P−CSCF14へ送信する。
P−CSCF14は,S−CSCF16からACKメッセージM467を受信すると,SIPメッセージ処理部142が,当該ACKメッセージを元に,ACKメッセージ468を生成し,サービス側通信装置42へ送信する。
次に図22および図23を用いて,サービス側通信装置42がサービスを提供できない状態であった場合のシーケンスについて説明する。
ユーザ側通信装置41がP−CSCF11へINVITEメッセージM401を送信してから,P−CSCF14がサービス側通信装置42へINVITEメッセージM414を送信するまでのシーケンスについては,図17および図18で示したシーケンスと同様である。
続いてサービス側通信装置42が,何らかの理由でサービスを提供できない状態であることを伝えるために,P−CSCF14へSIPエラー応答メッセージM471を送信する。例えば,サービス側通信装置42はSIPメッセージである486Busy Hereメッセージを送信することで,サービス側通信装置42が既に他のユーザ側通信装置と多数のセッションを確立しており,これ以上新しいセッションを確立することができない状況にあることを通知することができる。
P−CSCF14は,サービス側通信装置42からSIPエラー応答メッセージM471を受信すると,SIPメッセージ処理部142が,当該SIPエラー応答メッセージを元にSIPエラー応答メッセージM472を生成し,S−CSCF16へ送信する。
S−CSCF16は,P−CSCF14からSIPエラー応答メッセージM472を受信すると,SIPメッセージ処理部162が,当該SIPエラー応答メッセージに対する応答となるACKメッセージM473を生成し,P−CSCF14へ送信する。
P−CSCF14は,S−CSCF16からACKメッセージM473を受信すると,SIPメッセージ処理部142が,当該ACKメッセージを元にACKメッセージM474を生成し,サービス側通信装置42へ送信する。
次に,S−CSCF16は,SIPメッセージ処理部162が,受信したSIPエラー応答メッセージM472を元にSIPエラー応答メッセージM475を生成し,I−CSCF15へ送信する。
次に,S−CSCF16は,権限判定AS32へ権限判定取消メッセージM476を送信する。権限判定取消メッセージM476としては,SIPメッセージであるMESSAGEメッセージを用いる。当該MESSAGEメッセージはSIPメッセージ処理部162によって生成される。また当該MESSAGEメッセージのボディ部は,図8に示した権限判定取消メッセージボディ部M145−1と同様の構造を持つ。
権限判定AS32は,S−CSCF16から権限判定取消メッセージM476を受信すると,権限判定処理部323が,処理中であった権限判定処理を終了する。続いて,SIPメッセージ処理部322が,権限判定取消応答メッセージM477を生成し,S−CSCF16へ送信する。権限判定取消応答メッセージM477としてはSIPメッセージである200 OKメッセージを用いる。また当該200 OKメッセージのボディ部は,図8に示した権限判定取消応答メッセージボディ部M146−1と同様の構造を持つ。
一方,I−CSCF15は,S−CSCF16から受信したSIPエラー応答メッセージM475を元にSIPエラー応答メッセージM478を生成し,ネットワーク0上のS−CSCF13へ送信する。
S−CSCF13は,ネットワーク1上のI−CSCF15からSIPエラー応答メッセージM478を受信すると,SIPメッセージ処理部132が,当該SIPエラー応答メッセージに対する応答となるACKメッセージM479を生成し,ネットワーク1上のS−CSCF16へ送信する。
次に,S−CSCF13は,SIPメッセージ処理部132が,SIPエラー応答メッセージM478を元にSIPエラー応答メッセージM480を生成し,P−CSCF11へ送信する。
次に,S−CSCF13は,鍵生成AS31へ鍵生成取消メッセージM481を送信する。鍵生成取消メッセージM481としては,SIPメッセージであるMESSAGEメッセージを用いる。当該MESSAGEメッセージはSIPメッセージ処理部132によって生成される。また当該MESSAGEメッセージのボディ部は,図8に示した鍵生成取消メッセージボディ部M124−1と同様の構造を持つ。
鍵生成AS31は,S−CSCF13から鍵生成取消メッセージM481を受信すると,鍵生成処理部313が,処理中であった鍵生成処理を終了する。続いて,SIPメッセージ処理部312が,鍵生成取消応答メッセージM482を生成し,S−CSCF13へ送信する。鍵生成取消応答メッセージM482としては,SIPメッセージである200 OKメッセージを用いる。また当該200 OKメッセージのボディ部は,図8に示した鍵生成取消応答メッセージボディ部M125−1と同様の構造を持つ。
一方,P−CSCF11は,S−CSCF13からSIPエラー応答メッセージM480を受信すると,SIPメッセージ処理部112が,当該SIPエラー応答メッセージを元にSIPエラー応答メッセージM483を生成し,ユーザ側通信装置41へ送信する。
ユーザ側通信装置41は,P−CSCF11からSIPエラー応答メッセージM483を受信すると,SIPメッセージ処理部412が,当該SIPエラー応答メッセージに対する応答となるACKメッセージM484を生成し,P−CSCF11へ送信する。
P−CSCF11は,ユーザ側通信装置41からACKメッセージM484を受信すると,SIPメッセージ処理部112が,当該ACKメッセージを元にACKメッセージM485を生成し,S−CSCF13へ送信する。
本実施例では,権限判定処理や鍵生成処理が実行されている間にも,S−CSCF16およびS−CSCF13は,P−CSCFやI−CSCFによって転送されたサービス側通信装置42からのSIPエラー応答メッセージを受信することができる。当該SIPエラー応答メッセージはP−CSCF11を経由し,ユーザ側通信装置41の元へ届けられる。このため,ユーザ側通信装置41は,サービス側通信装置42がサービスを提供できない状態にあることを,従来の手順よりも早く知ることができる,という効果がある。
また,本実施例において,権限判定AS32は,ユーザがサービス側通信装置により提供されるサービスを享受するための権限について判定を行っているが,この例の変形として,権限判定AS32ではユーザ側通信装置がサービス側通信装置とセッションを確立するための権限について判定し,当該セッション上で提供されるサービスをユーザが享受するための権限判定については,各サービス側通信装置で行う,といった構成も可能である。
0,1:ネットワーク,10:SIPサーバ,11,14:P−CSCF,12,15:I−CSCF,13,16:S−CSCF,20:権限判定サーバ,21,22:HSS,30:課金サーバ,31:鍵生成AS,32:権限判定AS,40:鍵生成サーバ,41:ユーザ側通信装置,42:サービス側通信装置,50:アプリケーションログDB,60:レジストラDB,70:セッションログDB,80:権限DB,91:CPU,92:メモリ,93:ハードディスク,94:ネットワークインタフェース,95:入出力装置