(57)【特許請求の範囲】
【請求項１】
端末間の呼制御に関するメッセージに基づいて、セッションの識別子、開始時刻、終了時刻および前記セッションがタイムアウトにより終了したか否かを示す異常終了情報を含む呼情報をそれぞれ記録する複数の呼制御装置と、
前記複数の呼制御装置から収集した複数の呼情報のうち、前記セッションがタイムアウトにより終了したことを示す異常終了情報を含む第１の呼情報の終了時刻を、前記第１の呼情報と同一の識別子を含む第２の呼情報の終了時刻に置き換える情報処理装置と、
を含むことを特徴とする通信課金システム。
【請求項２】
前記第１の呼情報は、前記複数の呼情報のうち、発呼端末を収容する呼制御装置から収集され、かつ、前記セッションがタイムアウトにより終了したことを示す異常終了情報を含む呼情報であることを特徴とする請求項１に記載の通信課金システム。
【請求項３】
前記第２の呼情報は、前記複数の呼情報のうち、着呼端末を収容する呼制御装置から収集され、かつ、前記セッションがタイムアウトにより終了していないことを示す異常終了情報を含む呼情報であることを特徴とする請求項１または２に記載の通信課金システム。
【請求項４】
前記情報処理装置は、
発呼端末および着呼端末を収容する呼制御装置が同一の呼制御装置の場合には、前記第１の呼情報の終了時刻を、当該終了時刻から所定時間減算した時刻に置き換えることを特徴とする請求項３に記載の通信課金システム。
【請求項５】
前記情報処理装置は、
前記第２の呼情報の終了時刻に置き換えられた置換後の終了時刻を含む前記第１の呼情報に基づいて、前記端末間の通話時間を含む課金情報を生成することを特徴とする請求項１〜４のいずれか一つに記載の通信課金システム。
【請求項６】
複数の呼制御装置と情報処理装置とを含む通信課金システムの通信課金方法であって、
前記複数の呼制御装置が、
端末間の呼制御に関するメッセージに基づいて、セッションの識別子、開始時刻、終了時刻および前記セッションがタイムアウトにより終了したか否かを示す異常終了情報を含む呼情報をそれぞれ記録し、
前記情報処理装置が、
前記複数の呼制御装置から収集した複数の呼情報のうち、前記セッションがタイムアウトにより終了したことを示す異常終了情報を含む第１の呼情報の終了時刻を、前記第１の呼情報と同一の識別子を含む第２の呼情報の終了時刻に置き換える、
ことを特徴とする通信課金方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信課金システムおよび通信課金方法に関する。
【背景技術】
【０００２】
従来、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを介した通話における呼制御プロトコルとして、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）がある。ＳＩＰは、音声や映像の交換などを行うためのセッションの生成・変更・切断を行うプロトコルであり、ＩＰ電話、テレビ電話などのリアルタイム性が要求されるアプリケーションで採用されている。また、ＳＩＰに従って呼制御を行うコンピュータとしては、ＳＩＰサーバが利用される。
【０００３】
先行技術としては、例えば、下り課金情報または上り課金情報が生成された時点で下り課金情報と上り課金情報の突合わせを行い、突合わせ不一致が発生したときに、呼制御ノードとゲートウェイノードに呼制御情報が残っている状態で原因究明を行う技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２６０３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、ネットワーク障害等により端末からのセッションの切断要求がＳＩＰサーバに届かず、利用者が電話を切ったタイミングに応じたセッションの終了時刻を記録できない場合がある。
【０００６】
一つの側面では、本発明は、端末間の通話に係るセッションの終了時刻を補正する通信課金システムおよび通信課金方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、複数の呼制御装置と情報処理装置とを含む通信課金システムにおいて、前記複数の呼制御装置が、端末間の呼制御に関するメッセージに基づいて、セッションの識別子、開始時刻、終了時刻および前記セッションがタイムアウトにより終了したか否かを示す異常終了情報を含む呼情報をそれぞれ記録し、前記情報処理装置が、前記複数の呼制御装置から収集した複数の呼情報のうち、前記セッションがタイムアウトにより終了したことを示す異常終了情報を含む第１の呼情報の終了時刻を、前記第１の呼情報と同一の識別子を含む第２の呼情報の終了時刻に置き換える通信課金システムおよび通信課金方法が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、端末間の通話に係るセッションの終了時刻を補正することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる通信課金方法の一実施例を示す説明図である。
【図２】図２は、通信課金システム２００のシステム構成例を示す説明図である。
【図３】図３は、課金サーバ２０１等のハードウェア構成例を示すブロック図である。
【図４】図４は、端末Ｍｉのハードウェア構成例を示すブロック図である。
【図５】図５は、呼情報Ｄの具体例を示す説明図である。
【図６】図６は、呼情報ＤＢ２２０の記憶内容の一例を示す説明図である。
【図７】図７は、加入者管理テーブル２３０の記憶内容の一例を示す説明図である。
【図８】図８は、セッションリフレッシュの動作例を示すシーケンス図である。
【図９】図９は、ＳＩＰサーバＳｋの機能的構成例を示すブロック図である。
【図１０】図１０は、課金サーバ２０１の機能的構成例を示すブロック図である。
【図１１】図１１は、セッションの通信終了時刻の補正例を示す説明図（その１）である。
【図１２】図１２は、セッションの通信終了時刻の補正例を示す説明図（その２）である。
【図１３】図１３は、課金情報の具体例を示す説明図である。
【図１４】図１４は、ＳＩＰサーバＳｋの記録処理手順の一例を示すフローチャートである。
【図１５】図１５は、課金サーバ２０１の生成処理手順の一例を示すフローチャート（その１）である。
【図１６】図１６は、課金サーバ２０１の生成処理手順の一例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる通信課金システムおよび通信課金方法の実施の形態を詳細に説明する。
【００１１】
（通信課金方法の一実施例）
図１は、実施の形態にかかる通信課金方法の一実施例を示す説明図である。図１において、通信課金システム１００は、情報処理装置１０１と、呼制御装置１０２〜１０４と、端末１０５，１０６と、を含む。通信課金システム１００において、情報処理装置１０１、呼制御装置１０２〜１０４および端末１０５，１０６は、例えば、インターネットなどのネットワークを介して接続される。
【００１２】
情報処理装置１０１は、呼制御装置１０２〜１０４から呼情報を収集するコンピュータである。ここで、呼情報は、セッションのセッション識別子、開始時刻、終了時刻および異常終了情報を含む情報である。セッションは、２点間（機器間）の通信において、情報をやり取りするために設定する論理的な接続関係である。異常終了情報については後述する。
【００１３】
呼制御装置１０２〜１０４は、呼制御を行うコンピュータである。呼制御とは、電話の接続や切断、監視などの制御である。呼制御装置１０２〜１０４は、端末間の呼制御に関するメッセージに基づいて、呼情報をそれぞれ記録する。メッセージは、端末間の通話のために、端末／呼制御装置間あるいは呼制御装置間で送受信される制御信号である。
【００１４】
端末１０５，１０６は、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を利用した通話を行うことができるコンピュータである。ＶｏＩＰは、インターネットやイントラネットなどのＩＰネットワークを用いて音声データを送受信する技術である。
【００１５】
ＩＰネットワークを介した通話における呼制御プロトコルとしては、例えば、ＳＩＰやＨ．３２３などがある。以下の説明では、呼制御プロトコルとして、「ＳＩＰ」を例に挙げて説明する。
【００１６】
ここで、端末１０５を発信者側の端末（発呼端末）とし、端末１０６を着信者側の端末（着呼端末）として、端末１０５から端末１０６に電話をかける場合を想定する。また、呼制御装置１０２が端末１０５を収容し、呼制御装置１０４が端末１０６を収容する場合を想定する。
【００１７】
この場合、端末１０５は、端末１０６宛のＩＮＶＩＴＥを送信する。ＩＮＶＩＴＥは、通話要求を行うためのリクエストメッセージである。ＩＮＶＩＴＥには、例えば、Ｃａｌｌ−ＩＤ、発信者の電話番号、着信者の電話番号などが含まれる。Ｃａｌｌ−ＩＤは、呼を識別する識別子である。
【００１８】
Ｃａｌｌ−ＩＤは、発信者側の端末（例えば、端末１０５）で生成される。発信者の電話番号や着信者の電話番号は、例えば、ＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）形式で表現される。発信者の電話番号を例に挙げると、「ｓｉｐ：発信者の電話番号＠×××」のように表現され、「×××」部分には、例えば、発信者側の端末を収容する呼制御装置のドメインが入る。
【００１９】
端末１０５から送信されたＩＮＶＩＴＥは、呼制御装置１０２〜１０４を介して、端末１０６に転送される。各呼制御装置１０２〜１０４は、ＩＮＶＩＴＥを受信すると、ステータスコード「１００（暫定応答）」のレスポンスメッセージを返す。レスポンスメッセージには、例えば、ＩＮＶＩＴＥに含まれるＣａｌｌ−ＩＤ、発信者の電話番号、着信者の電話番号などが含まれる。
【００２０】
端末１０６は、ＩＮＶＩＴＥを受信すると、ステータスコード「１００」のレスポンスメッセージを返した後、電話のベルを鳴らすなどの呼び出し処理を行い、ステータスコード「１８０」のレスポンスメッセージを返す。ステータスコード「１８０」のレスポンスメッセージは、呼び出し中であることを発信者へ伝えるためのものである。端末１０６から送信されたレスポンスメッセージは、呼制御装置１０２〜１０４を介して、端末１０５に転送される。
【００２１】
また、端末１０６は、オフフック（例えば、受話器をあげる）に応じて、ステータスコード「２００（成功）」のレスポンスメッセージを返す。ステータスコード「２００」のレスポンスメッセージが、呼制御装置１０２〜１０４を介して、端末１０５に転送されると、端末１０５，１０６間の通話が開始される。
【００２２】
各呼制御装置１０２〜１０４において、ステータスコード「２００」のレスポンスメッセージが受信されると、端末／呼制御装置間または呼制御装置間のセッションがそれぞれ確立される。例えば、呼制御装置１０２が、ステータスコード「２００」のレスポンスメッセージを受信すると、端末１０５との間のセッションと、呼制御装置１０３との間のセッションがそれぞれ確立される。
【００２３】
これら端末／呼制御装置間および呼制御装置間のセッションは、端末１０５，１０６間の通話（呼）に係る一連のセッションであり、同一のセッション識別子が設定される。セッション識別子としては、例えば、Ｃａｌｌ−ＩＤ、発信者の電話番号および着信者の電話番号の組合せを用いることができる。
【００２４】
また、各呼制御装置１０２〜１０４は、ステータスコード「２００」のレスポンスメッセージを受信すると、当該メッセージの受信時刻をセッションの開始時刻として、セッションのセッション識別子と対応付けて記録する。したがって、各呼制御装置１０２〜１０４におけるセッションの開始時刻は、ステータスコード「２００」のレスポンスメッセージの転送時間分それぞれ異なる時刻となる。
【００２５】
また、発信者（または、着信者）が電話を切ると、端末１０５（または、端末１０６）は、端末１０６宛（または、端末１０５宛）のＢＹＥを送信する。ＢＹＥは、確立しているセッションの切断を要求するためのものであり、呼を解放するために双方向で用いられるリクエストメッセージである。ＢＹＥには、例えば、Ｃａｌｌ−ＩＤ、発信者の電話番号、着信者の電話番号などが含まれる。
【００２６】
また、各呼制御装置１０２〜１０４は、ＢＹＥを受信すると、ＢＹＥの受信時刻をセッションの終了時刻として、セッションのセッション識別子と対応付けて記録する。これにより、各呼制御装置１０２〜１０４において、端末１０５，１０６間の通話（呼）に係る各セッションの開始時刻と終了時刻が記録される。この結果、例えば、発信者側の端末１０５を収容する呼制御装置１０２により記録されたセッションの開始時刻と終了時刻から通話時間を求めることが可能となり、発信者に対する課金処理を行うことができる。
【００２７】
ところが、ネットワーク障害等により、発信者側の端末１０５を収容する呼制御装置１０２に、端末１０５，１０６からのＢＹＥが届かない場合がある。ネットワーク障害等には、例えば、通信課金システム１００内の不図示のネットワーク機器（例えば、ルータ、スイッチ）の障害、ネットワーク機器間の伝送路の障害、呼制御装置（例えば、呼制御装置１０３）の輻輳などが含まれる。
【００２８】
この場合、呼制御装置１０２において、端末１０５（または、呼制御装置１０３）との間でタイムアウトが発生するまで、端末１０５（または、呼制御装置１０３）とのセッションが終了したと見なされず、実際の終了時刻よりも後の時刻が、セッションの終了時刻として記録されてしまうことがある。
【００２９】
この結果、発信者に対して正しく課金できない、すなわち、実際の通話時間よりも長い通話時間に基づく課金処理が行われてしまう場合がある。また、一度通話が開始された後は、タイムアウトによりセッションが終了しても、例えば、Ｑ．８５０のｃａｕｓｅ値として、通常切断（ＢＹＥによる切断）と同じ値が設定される。このため、ｃａｕｓｅ値から、タイムアウトによるセッションの終了を判別することができない。
【００３０】
そこで、本実施の形態では、ネットワーク障害等によりタイムアウトが発生して異常終了したセッションの終了時刻を補正するための通信課金方法について説明する。以下、通信課金システム１００の処理例について説明する。
【００３１】
（１）呼制御装置１０２〜１０４は、端末間の呼制御に関するメッセージに基づいて、セッションのセッション識別子、開始時刻、終了時刻および異常終了情報を含む呼情報（例えば、呼情報１１１〜１１３）をそれぞれ記録する。異常終了情報は、セッションがタイムアウトにより終了したか否かを示す情報である。セッションは、通信相手との接続が有効であることを確認するためのリクエストメッセージに対するレスポンスメッセージが所定時間内に受信できない場合にタイムアウトとなり解放（切断）される。
【００３２】
ここで、ネットワーク障害等により、発信者側の端末１０５を収容する呼制御装置１０２に、端末１０５，１０６からのＢＹＥが届かない場合、すなわち、通信相手との接続が有効であることを確認するためのリクエストメッセージに対するレスポンスメッセージも届かない場合を想定する。
【００３３】
この場合、呼制御装置１０２は、例えば、端末１０５との間のセッションの終了（呼切断）を検出したことに応じて、当該セッションがタイムアウトにより終了したか否かを判断する。図１の例では、端末１０５との間のセッションがタイムアウトにより終了している。このため、呼制御装置１０２は、端末１０５との間のセッションがタイムアウトにより終了したことを示す異常終了情報を含む呼情報１１１を記録する。
【００３４】
呼情報１１１には、セッション識別子Ａ（例えば、Ｃａｌｌ−ＩＤ、発信者の電話番号、着信者の電話番号）、開始時刻ｔS１、終了時刻ｔE１が含まれる。呼情報１１１は、呼制御装置１０２が端末１０５から受信したＩＮＶＩＴＥ（リクエストメッセージ）に対する呼情報（端末１０５との間のセッションの情報）である。なお、図示は省略するが、呼制御装置１０２は、呼制御装置１０３に送信したＩＮＶＩＴＥに対する呼情報（呼制御装置１０３との間のセッションの情報）についても記録する。
【００３５】
また、呼制御装置１０３は、例えば、呼制御装置１０２との間のセッションの終了（呼切断）を検出したことに応じて、当該セッションがタイムアウトにより終了したか否かを判断する。図１の例では、呼制御装置１０２との間のセッションが、呼制御装置１０４からＢＹＥを受信したことに応じて終了している。このため、呼制御装置１０３は、呼制御装置１０２との間のセッションがタイムアウトにより終了していないことを示す異常終了情報を含む呼情報１１２を記録する。
【００３６】
呼情報１１２には、セッション識別子Ａ、開始時刻ｔS２、終了時刻ｔE２が含まれる。呼情報１１２は、呼制御装置１０３が呼制御装置１０２から受信したＩＮＶＩＴＥに対する呼情報（呼制御装置１０２との間のセッションの情報）である。なお、図示は省略するが、呼制御装置１０３は、呼制御装置１０４に送信したＩＮＶＩＴＥに対する呼情報（呼制御装置１０４との間のセッションの情報）についても記録する。
【００３７】
また、呼制御装置１０４は、例えば、呼制御装置１０３との間のセッションの終了（呼切断）を検出したことに応じて、当該セッションがタイムアウトにより終了したか否かを判断する。図１の例では、呼制御装置１０３との間のセッションが、端末１０６からＢＹＥを受信したことに応じて終了している。このため、呼制御装置１０４は、呼制御装置１０３との間のセッションがタイムアウトにより終了していないことを示す異常終了情報を含む呼情報１１３を記録する。
【００３８】
呼情報１１３には、セッション識別子Ａ、開始時刻ｔS３、終了時刻ｔE３が含まれる。呼情報１１３は、呼制御装置１０４が呼制御装置１０３から受信したＩＮＶＩＴＥに対する呼情報（呼制御装置１０３との間のセッションの情報）である。なお、図示は省略するが、呼制御装置１０４は、端末１０６に送信したＩＮＶＩＴＥに対する呼情報（端末１０６との間のセッションの情報）についても記録する。
【００３９】
（２）情報処理装置１０１は、呼制御装置１０２〜１０４から呼情報（例えば、呼情報１１１〜１１３）を収集する。具体的には、例えば、情報処理装置１０１は、呼制御装置１０２〜１０４に対して呼情報の送信要求を送信することにより、呼制御装置１０２〜１０４から呼情報を収集する。
【００４０】
また、情報処理装置１０１は、呼制御装置１０２〜１０４から定期的に送信される呼情報を受信することにより、呼制御装置１０２〜１０４から呼情報を収集することにしてもよい。ここでは、呼制御装置１０２〜１０４から呼情報１１１〜１１３が収集された場合を想定する。
【００４１】
（３）情報処理装置１０１は、呼制御装置１０２〜１０４から収集した複数の呼情報のうち、セッションがタイムアウトにより終了したことを示す異常終了情報を含む第１の呼情報を検索する。図１の例では、呼情報１１１〜１１３のうち、セッションがタイムアウトにより終了したことを示す異常終了情報を含む呼情報１１１が第１の呼情報として検索される。
【００４２】
また、情報処理装置１０１は、第１の呼情報が検索された場合、複数の呼情報のうち、第１の呼情報と同一のセッション識別子を含む第２の呼情報を検索する。すなわち、情報処理装置１０１は、第１の呼情報と同一のセッション識別子を含み、かつ、セッションがタイムアウトにより終了していないことを示す異常終了情報を含む呼情報を第２の呼情報として検索する。
【００４３】
図１の例では、呼情報１１１〜１１３のうち、呼情報１１１と同一のセッション識別子Ａを含み、かつ、セッションがタイムアウトにより終了していないことを示す異常終了情報を含む呼情報１１２，１１３が検索される。
【００４４】
（４）情報処理装置１０１は、第２の呼情報が検索された場合、第１の呼情報の終了時刻を、第２の呼情報の終了時刻に置き換える。図１の例では、情報処理装置１０１は、呼情報１１１の終了時刻ｔE１を、呼情報１１２の終了時刻ｔE２または呼情報１１３の終了時刻ｔE３のいずれかに置き換える。
【００４５】
このように、通信課金システム１００によれば、呼制御装置１０２〜１０４により、セッションのセッション識別子、開始時刻、終了時刻および異常終了情報を含む呼情報を記録することができる。これにより、呼情報に含まれる異常終了情報から、ネットワーク障害等によりタイムアウトが発生して異常終了したセッションを判別することができる。
【００４６】
また、通信課金システム１００によれば、情報処理装置１０１により、呼制御装置１０２〜１０４から収集した複数の呼情報のうち、セッションがタイムアウトにより終了したことを示す異常終了情報を含む第１の呼情報を検索することができる。これにより、端末１０５，１０６からのＢＹＥに応じた終了時刻ではなく、ＢＹＥが届かないために発生したタイムアウトに応じた終了時刻を含む呼情報を特定することができる。
【００４７】
また、通信課金システム１００によれば、情報処理装置１０１により、複数の呼情報のうち、第１の呼情報と同一のセッション識別子を含む第２の呼情報を検索することができる。これにより、端末１０５または端末１０６からのＢＹＥに応じた終了時刻を含む呼情報を特定することができる。
【００４８】
また、通信課金システム１００によれば、情報処理装置１０１により、第１の呼情報の終了時刻を、第２の呼情報の終了時刻に置き換えることができる。これにより、ネットワーク障害等により異常終了したセッションについての呼情報の終了時刻を、同一のセッション識別子の正常終了したセッションについての呼情報の終了時刻を用いて補正することができる。
【００４９】
図１の例では、ネットワーク障害等により異常終了したセッションについての呼情報１１１の終了時刻ｔE１を、同一のセッション識別子Ａの正常終了したセッションについての呼情報１１３の終了時刻ｔE３（または、呼情報１１２の終了時刻ｔE２）を用いて補正することができる。
【００５０】
この結果、例えば、呼情報１１１の開始時刻ｔS１と、補正後の終了時刻ｔE３から通話時間を求めて、発信者に対する課金処理を行うことができる。これにより、実際の通話時間よりも長い通話時間、図１の例では、実際の終了時刻ｔEからｔE１までの時間分長い通話時間に基づく課金処理が行われることを回避して、発信者に対する余分な課金を防ぐことができる。
【００５１】
なお、上述した説明では、各呼制御装置１０２〜１０４が受信したＩＮＶＩＴＥ（リクエストメッセージ）に対する呼情報１１１〜１１３を例に挙げて説明したが、これに限らない。例えば、情報処理装置１０１は、各呼制御装置１０２〜１０４が送信したＩＮＶＩＴＥに対する呼情報を用いて、上記（３）および（４）の処理を行うことにしてもよい。
【００５２】
（通信課金システム２００のシステム構成例）
つぎに、図１に示した情報処理装置１０１を通信課金システム２００の課金サーバ２０１に適用した場合について説明する。
【００５３】
図２は、通信課金システム２００のシステム構成例を示す説明図である。図２において、通信課金システム２００は、課金サーバ２０１と、ＳＩＰサーバＳ１〜Ｓ３と、端末Ｍ１〜Ｍｎ（ｎは、２以上の自然数）と、を含む。通信課金システム２００において、課金サーバ２０１、ＳＩＰサーバＳ１〜Ｓ３および端末Ｍ１〜Ｍｎは、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、インターネット、移動体通信網、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などである。
【００５４】
以下の説明では、端末Ｍ１〜Ｍｎのうちの任意の端末を「端末Ｍｉ」と表記する場合がある（ｉ＝１，２，…，ｎ）。また、ＳＩＰサーバＳ１〜Ｓ３のうちの任意のＳＩＰサーバを「ＳＩＰサーバＳｋ」と表記する場合がある（ｋ＝１，２，３）。
【００５５】
課金サーバ２０１は、呼情報ＤＢ（データベース）２２０および加入者管理テーブル２３０を有し、端末間の通話にかかる課金処理を行うコンピュータである。呼情報ＤＢ２２０および加入者管理テーブル２３０についての詳細な説明は、図６および図７を用いて後述する。
【００５６】
ＳＩＰサーバＳ１〜Ｓ３は、ＳＩＰに従って呼制御を行うコンピュータである。ＳＩＰサーバＳ１〜Ｓ３は、端末Ｍｉまたは他のＳＩＰサーバＳｋからの呼制御に関するメッセージに基づいて、呼情報Ｄ（いわゆる、ＣＤＲ：Ｃａｌｌ  Ｄａｔａ  Ｒｅｃｏｒｄ）をそれぞれ記録する。
【００５７】
ＳＩＰサーバＳ１，Ｓ３は、自サーバが収容する端末Ｍｉ（加入者）の加入者データを管理する加入者用ＳＩＰサーバである。加入者データは、例えば、加入者の電話番号とＩＰアドレスとの対応関係などを示す情報である。ＳＩＰサーバＳ２は、加入者用ＳＩＰサーバ間を中継する中継用ＳＩＰサーバである。
【００５８】
図１に示した呼制御装置１０２〜１０４は、例えば、ＳＩＰサーバＳ１〜Ｓ３に相当する。また、図２では、便宜上、通信課金システム２００内のＳＩＰサーバを３台のみ表記することにしたが、２台以上であればＳＩＰサーバは何台であってもよい。
【００５９】
端末Ｍ１〜Ｍｎは、ＳＩＰによるＶｏＩＰ通話が可能なコンピュータである。端末Ｍ１〜Ｍｎは、例えば、課金対象となるＩＰ電話サービスの加入者が使用するＩＰ電話機、携帯電話機、スマートフォン、ＰＣ（パーソナル・コンピュータ）などである。図１に示した端末１０５，１０６は、例えば、端末Ｍ１〜Ｍｎに相当する。
【００６０】
（課金サーバ２０１等のハードウェア構成例）
つぎに、図２に示した課金サーバ２０１およびＳＩＰサーバＳｋのハードウェア構成例について説明する。ここでは、課金サーバ２０１およびＳＩＰサーバＳｋを「課金サーバ２０１等」と表記する。
【００６１】
図３は、課金サーバ２０１等のハードウェア構成例を示すブロック図である。図３において、課金サーバ２０１等は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００６２】
ここで、ＣＰＵ３０１は、課金サーバ２０１等の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００６３】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデム、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）などを採用することができる。
【００６４】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。なお、課金サーバ２０１等は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、マウス、ディスプレイなどを有することにしてもよい。
【００６５】
（端末Ｍｉのハードウェア構成例）
図４は、端末Ｍｉのハードウェア構成例を示すブロック図である。図４において、端末Ｍｉは、ＣＰＵ４０１と、メモリ４０２と、ディスプレイ４０３と、入力装置４０４と、Ｉ／Ｆ４０５と、音声信号処理部４０６と、スピーカ４０７と、マイクロフォン４０８と、を有する。また、各構成部はバス４００によってそれぞれ接続される。
【００６６】
ここで、ＣＰＵ４０１は、端末Ｍｉの全体の制御を司る。メモリ４０２は、例えば、ＲＯＭ、ＲＡＭおよびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ４０１のワークエリアとして使用される。メモリ４０２に記憶されるプログラムは、ＣＰＵ４０１にロードされることで、コーディングされている処理をＣＰＵ４０１に実行させる。
【００６７】
ディスプレイ４０３は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ４０３は、例えば、液晶ディスプレイ、有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどを採用することができる。
【００６８】
入力装置４０４は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置４０４は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
【００６９】
Ｉ／Ｆ４０５は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、図２に示したＳＩＰサーバＳ１〜Ｓ３）に接続される。そして、Ｉ／Ｆ４０５は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。
【００７０】
音声信号処理部４０６は、スピーカ４０７およびマイクロフォン４０８に接続される。例えば、マイクロフォン４０８に受音された音声は、音声信号処理部４０６でＡ／Ｄ変換される。また、スピーカ４０７からは音声が出力される。なお、端末Ｍｉは、上述した構成部のほかに、例えば、ディスクドライブ、ディスクなどを有することにしてもよい。
【００７１】
（呼情報Ｄの具体例）
つぎに、ＳＩＰサーバＳｋにより記録される呼情報Ｄ（ＣＤＲ）の具体例について説明する。以下の説明では、ＳＩＰサーバＳｋにより記録される呼情報Ｄとして、ＳＩＰサーバＳｋが受信したリクエストメッセージに対する呼情報Ｄを例に挙げて説明する。
【００７２】
図５は、呼情報Ｄの具体例を示す説明図である。図５において、呼情報５００は、Ｃａｌｌ−ＩＤと、発信者番号と、着信者番号と、通信開始時刻と、通信終了時刻と、切断理由と、異常終了フラグと、を含む情報である。
【００７３】
ここで、Ｃａｌｌ−ＩＤは、呼を識別する識別子である。発信者番号は、発信者を識別する識別子であり、例えば、発信者の電話番号である。着信者番号は、着信者を識別する識別子であり、例えば、着信者の電話番号である。通信開始時刻は、セッションの開始時刻である。通信終了時刻は、セッションの終了時刻である。切断理由は、呼切断された理由を示すＱ．８５０のｃａｕｓｅ値である。切断理由「１６」は、通常切断を示す。
【００７４】
異常終了フラグは、セッションリフレッシュＴ．Ｏ．（タイムアウト）によりセッションが終了したか否かを示す情報であり、上述した異常終了情報に相当する。異常終了フラグには、セッションリフレッシュＴ．Ｏ．により終了した場合に「１」が設定され、セッションリフレッシュＴ．Ｏ．により終了していない場合に「０」が設定される。なお、セッションリフレッシュＴ．Ｏ．についての詳細な説明は、図８を用いて後述する。
【００７５】
（呼情報ＤＢ２２０の記憶内容）
つぎに、課金サーバ２０１が有する呼情報ＤＢ２２０の記憶内容について説明する。呼情報ＤＢ２２０は、例えば、図３に示した課金サーバ２０１のメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００７６】
図６は、呼情報ＤＢ２２０の記憶内容の一例を示す説明図である。図６において、呼情報ＤＢ２２０は、呼情報Ｄ１〜ＤＸを記憶する。図６中、「Ｄ１〜ＤＸ」は、本明細書において説明上用いる呼情報を識別する識別子である。
【００７７】
呼情報Ｄは、収集元ＳＩＰサーバ情報と、Ｃａｌｌ−ＩＤと、発信者番号と、着信者番号と、通信開始時刻と、通信終了時刻と、切断理由と、異常終了フラグと、を含む情報である。ここで、収集元ＳＩＰサーバ情報は、呼情報Ｄの収集元であるＳＩＰサーバＳｋを識別する識別子である。
【００７８】
（加入者管理テーブル２３０の記憶内容）
つぎに、課金サーバ２０１が有する加入者管理テーブル２３０の記憶内容について説明する。加入者管理テーブル２３０は、例えば、課金サーバ２０１のメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００７９】
図７は、加入者管理テーブル２３０の記憶内容の一例を示す説明図である。図７において、加入者管理テーブル２３０は、電話番号と収容先ＳＩＰサーバ情報とを対応付けて記憶する。ここで、電話番号は、課金対象となるＩＰ電話サービスの加入者の電話番号である。収容先ＳＩＰサーバ情報は、加入者が使用する端末Ｍｉを収容するＳＩＰサーバＳｋを識別する識別子である。
【００８０】
（セッションリフレッシュの動作例）
つぎに、ＳＩＰサーバＳｋのセッションリフレッシュの動作例について説明する。セッションリフレッシュは、通信相手との接続が有効であることを確認するために定期的に行われる通信である。
【００８１】
図８は、セッションリフレッシュの動作例を示すシーケンス図である。図８において、ＵＡＣは、Ｉｎｉｔｉａｌ−ＩＮＶＩＴＥを送信する送信側のＳＩＰサーバを示す。また、ＵＡＳは、Ｉｎｉｔｉａｌ−ＩＮＶＩＴＥを受信する受信側のＳＩＰサーバを示す。Ｉｎｉｔｉａｌ−ＩＮＶＩＴＥは、通話要求を行うためのリクエストメッセージであり、図１に示したＩＮＶＩＴＥに相当する。
【００８２】
ＳＩＰサーバＳｋは、Ｉｎｉｔｉａｌ−ＩＮＶＩＴＥの送信側または受信側のＳＩＰサーバのいずれにもなり得る。ここでは、Ｉｎｉｔｉａｌ−ＩＮＶＩＴＥの受信側のＳＩＰサーバであるＵＡＳを例に挙げて、ＳＩＰサーバＳｋのセッションリフレッシュの動作例について説明する。
【００８３】
ＵＡＳは、Ｉｎｉｔｉａｌ−ＩＮＶＩＴＥに対するステータスコード「２００」のレスポンスメッセージを送信すると、セッションリフレッシュのタイマを起動する。また、ＵＡＳは、タイマを起動してからＴ秒経過してタイマが満了すると、ｒｅ−ＩＮＶＩＴＥをＵＡＣに送信する。Ｔは、例えば、１００〜２００秒程度の値に設定される。
【００８４】
ｒｅ−ＩＮＶＩＴＥは、接続が有効であることを確認するためのリクエストメッセージである。ＵＡＳは、ｒｅ−ＩＮＶＩＴＥを送信後、ＵＡＣから、ステータスコード「１００」のレスポンスメッセージを受信し、さらに、ステータスコード「２００」のレスポンスメッセージを受信すると、タイマを起動して、ＵＡＣにＡＣＫを返す。
【００８５】
一方、ＵＡＳは、ｒｅ−ＩＮＶＩＴＥを送信してから所定時間Ｆ（図８中、ＳＩＰタイマ）が経過しても、ｒｅ−ＩＮＶＩＴＥに対するレスポンスメッセージをＵＡＣから受信しなかった場合は、セッションリフレッシュＴ．Ｏ．により、ＵＡＣとの間のセッションを終了（解放）する。Ｆは、例えば、３２秒程度の値に設定される。
【００８６】
なお、ここでは、ＵＡＳを例に挙げてセッションリフレッシュの動作例について説明したが、Ｉｎｉｔｉａｌ−ＩＮＶＩＴＥの送信側のＳＩＰサーバであるＵＡＣについても、ＵＡＳと同様のセッションリフレッシュの動作を行う。
【００８７】
（ＳＩＰサーバＳｋの機能的構成例）
図９は、ＳＩＰサーバＳｋの機能的構成例を示すブロック図である。図９において、ＳＩＰサーバＳｋは、検出部９０１と、記録部９０２と、送信部９０３と、を含む構成である。検出部９０１〜送信部９０３は制御部となる機能であり、具体的には、例えば、図３に示したＳＩＰサーバＳｋのメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、ＳＩＰサーバＳｋのメモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００８８】
検出部９０１は、呼接続を検出する機能を有する。具体的には、例えば、検出部９０１は、通話要求を行うためのＩＮＶＩＴＥ（Ｉｎｉｔｉａｌ−ＩＮＶＩＴＥ）に対するステータスコード「２００」のレスポンスメッセージを受信したことに応じて、呼接続を検出する。
【００８９】
呼接続が検出された場合、検出部９０１は、ステータスコード「２００」のレスポンスメッセージの受信時刻を、通信開始時刻（セッションの開始時刻）として、セッション識別子と対応付けて保持する。セッション識別子は、例えば、ＩＮＶＩＴＥに含まれるＣａｌｌ−ＩＤ、発信者番号および着信者番号の組合せである。
【００９０】
検出部９０１は、呼切断を検出する機能を有する。具体的には、例えば、検出部９０１は、呼を解放するためのＢＹＥを受信したことに応じて、呼切断を検出する。この場合、検出部９０１は、ＢＹＥの受信時刻を通信終了時刻（セッションの終了時刻）として、セッション識別子と対応付けて保持する。
【００９１】
また、例えば、検出部９０１は、セッションリフレッシュＴ．Ｏ．によりセッションが終了したことに応じて、呼切断を検出する。この場合、検出部９０１は、セッションリフレッシュＴ．Ｏ．の発生時刻を通信終了時刻（セッションの終了時刻）として、セッション識別子と対応付けて保持する。
【００９２】
記録部９０２は、検出部９０１によって検出された検出結果に基づいて、呼情報Ｄを記録する機能を有する。具体的には、例えば、まず、記録部９０２は、検出された呼切断が、セッションリフレッシュＴ．Ｏ．による呼切断であるか否かを判断する。
【００９３】
ここで、セッションリフレッシュＴ．Ｏ．による呼切断ではない場合、記録部９０２は、異常終了フラグを「０」に設定して、セッション識別子と対応付けて保持する。一方、セッションリフレッシュＴ．Ｏ．による呼切断の場合、記録部９０２は、異常終了フラグを「１」に設定して、セッション識別子と対応付けて保持する。
【００９４】
そして、記録部９０２は、セッション識別子（Ｃａｌｌ−ＩＤ、発信者番号、着信者番号）と、当該セッション識別子に対応する通信開始時刻、通信終了時刻および異常終了フラグを含む呼情報Ｄ（例えば、呼情報５００）を記録する。なお、呼情報Ｄには、例えば、切断理由（Ｑ．８５０のｃａｕｓｅ値）が合わせて記録されることにしてもよい。
【００９５】
異常終了フラグによれば、セッションリフレッシュＴ．Ｏ．により終了したセッション（異常終了したセッション）と、発呼端末または着呼端末からのＢＹＥに基づき終了したセッション（正常終了したセッション）とを判別することが可能となる。
【００９６】
送信部９０３は、記録された呼情報Ｄを課金サーバ２０１に送信する機能を有する。具体的には、例えば、送信部９０３は、呼情報Ｄが記録されると、その都度、課金サーバ２０１に呼情報Ｄを送信することにしてもよい。また、例えば、送信部９０３は、記録された呼情報Ｄを定期的に課金サーバ２０１に送信することにしてもよい。さらに、例えば、送信部９０３は、課金サーバ２０１から呼情報Ｄの送信要求を受信したことに応じて、記録された呼情報Ｄを課金サーバ２０１に送信することにしてもよい。
【００９７】
（課金サーバ２０１の機能的構成例）
図１０は、課金サーバ２０１の機能的構成例を示すブロック図である。図１０において、課金サーバ２０１は、受信部１００１と、検索部１００２と、補正部１００３と、生成部１００４と、出力部１００５と、を含む構成である。受信部１００１〜出力部１００５は制御部となる機能であり、具体的には、例えば、図３に示した課金サーバ２０１のメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、課金サーバ２０１のメモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００９８】
受信部１００１は、ＳＩＰサーバＳｋから呼情報Ｄを受信する機能を有する。具体的には、例えば、受信部１００１は、ＳＩＰサーバＳｋから定期的に送信される呼情報Ｄを受信する。また、例えば、受信部１００１は、ＳＩＰサーバＳｋに対して呼情報Ｄの送信要求を送信することにより、ＳＩＰサーバＳｋから呼情報Ｄを受信することにしてもよい。
【００９９】
受信された呼情報Ｄ（例えば、呼情報５００）は、呼情報Ｄの収集元であるＳＩＰサーバＳｋを識別する収集元ＳＩＰサーバ情報と対応付けて呼情報ＤＢ２２０に登録される。これにより、呼情報ＤＢ２２０に新たな呼情報Ｄが記憶される。
【０１００】
検索部１００２は、受信された呼情報Ｄのうち、セッションがセッションリフレッシュＴ．Ｏ．により終了したことを示す異常終了フラグを含む第１の呼情報を検索する機能を有する。具体的には、例えば、検索部１００２は、呼情報ＤＢ２２０から、異常終了フラグに「１」が設定された呼情報Ｄを第１の呼情報として検索する。
【０１０１】
ＩＰ電話サービスにおいて、電話の通話時間は、発信者側の端末Ｍｉ（発呼端末）を収容するＳＩＰサーバＳｋにより記録された呼情報Ｄをもとに算定される。このため、検索部１００２は、呼情報ＤＢ２２０から、発呼端末を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグに「１」が設定された呼情報Ｄを第１の呼情報として検索することにしてもよい。
【０１０２】
具体的には、例えば、まず、検索部１００２は、呼情報ＤＢ２２０からいずれかの呼情報Ｄを選択する。つぎに、検索部１００２は、加入者管理テーブル２３０（図７参照）を参照して、選択した呼情報Ｄの発信者番号に対応する収容先ＳＩＰサーバ情報を特定する。そして、検索部１００２は、特定した収容先ＳＩＰサーバ情報と、選択した呼情報Ｄの収集元ＳＩＰサーバ情報とが一致するか否かを判断する。
【０１０３】
ここで、収容先ＳＩＰサーバ情報と収集元ＳＩＰサーバ情報とが一致する場合、検索部１００２は、選択した呼情報Ｄの異常終了フラグに「１」が設定されているか否かを判断する。そして、異常終了フラグに「１」が設定されている場合に、検索部１００２は、選択した呼情報Ｄを第１の呼情報とする。
【０１０４】
以下の説明では、第１の呼情報として、発呼端末を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグに「１」が設定された呼情報Ｄを例に挙げて説明する。
【０１０５】
検索部１００２は、第１の呼情報を検索した場合、受信された呼情報Ｄのうち、第１の呼情報と同一のセッション識別子を含む第２の呼情報を検索する機能を有する。具体的には、例えば、検索部１００２は、呼情報ＤＢ２２０から、第１の呼情報と同一のＣａｌｌ−ＩＤ、発信者番号および着信者番号を含み、かつ、異常終了フラグに「０」が設定された呼情報Ｄを第２の呼情報として検索する。
【０１０６】
この際、検索部１００２は、呼情報ＤＢ２２０から、着信者側の端末Ｍｊ（着呼端末、ｉ≠ｊ、ｊ＝１，２，…，ｎ）を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグに「０」が設定された呼情報Ｄを第２の呼情報として検索することにしてもよい。
【０１０７】
補正部１００３は、検索された第１の呼情報の通信終了時刻を、検索された第２の呼情報の通信終了時刻に置き換える機能を有する。具体的には、例えば、補正部１００３は、第２の呼情報が複数検索された場合、第１の呼情報の通信終了時刻を、第２の呼情報として検索されたいずれかの呼情報Ｄの通信終了時刻に置き換える。
【０１０８】
より具体的には、例えば、補正部１００３は、第１の呼情報の通信終了時刻を、第２の呼情報として検索された、着呼端末を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグに「０」が設定された呼情報Ｄの通信終了時刻に置き換えることにしてもよい。
【０１０９】
第１の呼情報の通信終了時刻を第２の呼情報の通信終了時刻に置き換える場合のセッションの通信終了時刻の補正例については、図１１を用いて後述する。
【０１１０】
なお、発呼端末と着呼端末とを収容するＳＩＰサーバＳｋが同一の場合がある。この場合、第１の呼情報として、発呼端末を収容するＳＩＰサーバＳｋから収集された呼情報Ｄを第１の呼情報とすると、第２の呼情報として、着呼端末を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグに「０」が設定された呼情報Ｄが検索されない。
【０１１１】
このため、発呼端末と着呼端末とを収容するＳＩＰサーバＳｋが同一の場合には、補正部１００３は、第１の呼情報の通信終了時刻を、当該通信終了時刻から所定時間Ｆ減算した時刻に置き換えることにしてもよい。所定時間Ｆは、図８で説明したように、例えば、ｒｅ−ＩＮＶＩＴＥを送信してからセッションリフレッシュＴ．Ｏ．が発生するまでの時間（ＳＩＰタイマのタイマ時間）である。
【０１１２】
第１の呼情報の通信終了時刻を所定時間Ｆ減算した時刻に置き換える場合のセッションの通信終了時刻の補正例については、図１２を用いて後述する。
【０１１３】
なお、補正部１００３は、第２の呼情報が複数検索された場合には、第１の呼情報の通信終了時刻を、第２の呼情報として検索された複数の呼情報Ｄのうち通信終了時刻が最も過去の呼情報Ｄの通信終了時刻に置き換えることにしてもよい。さらに、補正部１００３は、第１の呼情報の通信終了時刻を、第２の呼情報として検索された複数の呼情報Ｄの平均通信終了時刻に置き換えることにしてもよい。
【０１１４】
生成部１００４は、置換後の通信終了時刻を含む第１の呼情報に基づいて、端末間の通話時間を含む課金情報を生成する機能を有する。具体的には、例えば、生成部１００４は、第１の呼情報に含まれる通信開始時刻から置換後の通信終了時刻までの時間間隔を通話時間として算出することにより、算出した通話時間を含む課金情報を生成する。課金情報の具体例については、図１３を用いて後述する。
【０１１５】
出力部１００５は、生成された課金情報を出力する機能を有する。具体的には、例えば、出力部１００５は、図１３に示すような課金情報１３００を出力することにしてもよい。出力部１００５の出力形式としては、例えば、メモリ３０２、ディスク３０５などの記憶装置への記憶、Ｉ／Ｆ３０３による外部のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
【０１１６】
また、出力部１００５は、置換後の通信終了時刻を含む第１の呼情報を出力することにしてもよい。これにより、他のコンピュータ、あるいは、人手により、置換後の通信終了時刻を含む第１の呼情報に基づく課金情報を生成することができる。
【０１１７】
（セッションの通信終了時刻の補正例）
つぎに、セッションの通信終了時刻の補正例について説明する。まず、図１１を用いて、第１の呼情報の通信終了時刻を第２の呼情報の通信終了時刻に置き換える場合のセッションの通信終了時刻の補正例について説明する。
【０１１８】
図１１は、セッションの通信終了時刻の補正例を示す説明図（その１）である。図１１において、呼情報Ｄ１は、発呼端末を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグに「１」が設定された第１の呼情報である。また、呼情報Ｄ９９は、着呼端末を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグに「０」が設定された第２の呼情報である。
【０１１９】
この場合、補正部１００３は、呼情報Ｄ１の通信終了時刻「２０１４／０１／１６  １２：０６．５３．８１」を、呼情報Ｄ９９の通信終了時刻「２０１４／０１／１６  １２：０６．０７．２９」に置き換える。これにより、発呼端末の収容先ＳＩＰサーバＳ１により記録された異常終了したセッションの通信終了時刻を、着呼端末の収容先ＳＩＰサーバＳ３により記録された正常終了したセッションの通信終了時刻で補正することができる。
【０１２０】
つぎに、図１２を用いて、第１の呼情報の通信終了時刻を所定時間Ｆ減算した時刻に置き換える場合のセッションの通信終了時刻の補正例について説明する。
【０１２１】
図１２は、セッションの通信終了時刻の補正例を示す説明図（その２）である。図１２において、呼情報Ｄ１は、発呼端末を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグに「１」が設定された第１の呼情報である。ここでは、着呼端末を収容するＳＩＰサーバＳｋが、発呼端末と同一のＳＩＰサーバＳ１である場合を想定する。
【０１２２】
この場合、補正部１００３は、呼情報Ｄ１の通信終了時刻「２０１４／０１／１６  １２：０６．５３．８１」を、当該通信終了時刻から所定時間Ｆ減算した時刻に置き換える。ここで、所定時間Ｆを「３２［ｓ］」とすると、置換後の通信終了時刻は、「２０１４／０１／１６  １２：０６．２１．８１」となる。
【０１２３】
（課金情報の具体例）
図１３は、課金情報の具体例を示す説明図である。図１３において、課金情報１３００は、Ｃａｌｌ−ＩＤと、発信者番号と、着信者番号と、通話時間と、通信開始時刻と、通信終了時刻と、切断理由と、異常終了フラグと、を含む情報である。
【０１２４】
課金情報１３００によれば、通話時間「３２．１６．８４」に基づいて、発信者番号「０３−ｘｘｘｘ−４４４４」から特定される発信者に対する課金処理を行うことができる。また、異常終了フラグ「１」により、通信終了時刻が補正されたことを特定することができる。
【０１２５】
（通信課金システム２００の各種処理手順）
つぎに、通信課金システム２００の各種処理手順について説明する。まず、通信課金システム２００内のＳＩＰサーバＳｋの記録処理手順について説明する。
【０１２６】
＜ＳＩＰサーバＳｋの記録処理手順＞
図１４は、ＳＩＰサーバＳｋの記録処理手順の一例を示すフローチャートである。図１４のフローチャートにおいて、まず、ＳＩＰサーバＳｋは、呼接続を検出したか否かを判断する（ステップＳ１４０１）。ここで、ＳＩＰサーバＳｋは、呼接続を検出するのを待つ（ステップＳ１４０１：Ｎｏ）。
【０１２７】
そして、ＳＩＰサーバＳｋは、呼接続を検出した場合（ステップＳ１４０１：Ｙｅｓ）、セッション識別子（例えば、Ｃａｌｌ−ＩＤ、発信者番号、着信者番号）と対応付けて通信開始時刻を保持する（ステップＳ１４０２）。つぎに、ＳＩＰサーバＳｋは、呼切断を検出したか否かを判断する（ステップＳ１４０３）。
【０１２８】
ここで、ＳＩＰサーバＳｋは、呼切断を検出するのを待つ（ステップＳ１４０３：Ｎｏ）。そして、ＳＩＰサーバＳｋは、呼切断を検出した場合（ステップＳ１４０３：Ｙｅｓ）、セッション識別子と対応付けて通信終了時刻を保持する（ステップＳ１４０４）。つぎに、ＳＩＰサーバＳｋは、検出した呼切断が、セッションリフレッシュＴ．Ｏ．による呼切断であるか否かを判断する（ステップＳ１４０５）。
【０１２９】
ここで、セッションリフレッシュＴ．Ｏ．による呼切断の場合（ステップＳ１４０５：Ｙｅｓ）、ＳＩＰサーバＳｋは、異常終了フラグに「１」を設定する（ステップＳ１４０６）。一方、セッションリフレッシュＴ．Ｏ．による呼切断ではない場合（ステップＳ１４０５：Ｎｏ）、ＳＩＰサーバＳｋは、異常終了フラグに「０」を設定する（ステップＳ１４０７）。
【０１３０】
そして、ＳＩＰサーバＳｋは、セッション識別子と、当該セッション識別子に対応する通信開始時刻、通信終了時刻および異常終了フラグを含む呼情報Ｄを記録して（ステップＳ１４０８）、本フローチャートによる一連の処理を終了する。
【０１３１】
これにより、セッションリフレッシュＴ．Ｏ．により終了したセッション（異常終了したセッション）と、発呼端末または着呼端末からのＢＹＥに基づき終了したセッション（正常終了したセッション）とを判別可能な異常終了フラグを含む呼情報を記録することができる。
【０１３２】
＜課金サーバ２０１の生成処理手順＞
つぎに、通信課金システム２００内の課金サーバ２０１の生成処理手順について説明する。課金サーバ２０１の生成処理は、例えば、管理者により予め指定される時刻（例えば、毎日の午前０時、毎週月曜日の午前０時など）に定期的に実行される。
【０１３３】
図１５および図１６は、課金サーバ２０１の生成処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、課金サーバ２０１は、呼情報ＤＢ２２０から選択されていない未選択の呼情報Ｄを選択する（ステップＳ１５０１）。以下の説明では、ステップＳ１５０１において選択された呼情報Ｄを「処理対象の呼情報Ｄ」と表記する場合がある。
【０１３４】
つぎに、課金サーバ２０１は、加入者管理テーブル２３０を参照して、処理対象の呼情報Ｄの発信者番号に対応する収容先ＳＩＰサーバ情報を特定する（ステップＳ１５０２）。そして、課金サーバ２０１は、特定した収容先ＳＩＰサーバ情報と、処理対象の呼情報Ｄの収集元ＳＩＰサーバ情報とが一致するか否かを判断する（ステップＳ１５０３）。
【０１３５】
ここで、収容先ＳＩＰサーバ情報と収集元ＳＩＰサーバ情報とが一致しない場合（ステップＳ１５０３：Ｎｏ）、課金サーバ２０１は、ステップＳ１５０９に移行する。一方、収容先ＳＩＰサーバ情報と収集元ＳＩＰサーバ情報とが一致する場合（ステップＳ１５０３：Ｙｅｓ）、課金サーバ２０１は、処理対象の呼情報Ｄの異常終了フラグが「１」であるか否かを判断する（ステップＳ１５０４）。
【０１３６】
ここで、異常終了フラグが「０」の場合（ステップＳ１５０４：Ｎｏ）、課金サーバ２０１は、ステップＳ１５０８に移行する。一方、異常終了フラグが「１」の場合（ステップＳ１５０４：Ｙｅｓ）、課金サーバ２０１は、加入者管理テーブル２３０を参照して、処理対象の呼情報Ｄの着信者番号に対応する収容先ＳＩＰサーバ情報を特定する（ステップＳ１５０５）。
【０１３７】
そして、課金サーバ２０１は、特定した発信者番号に対応する収容先ＳＩＰサーバ情報と、特定した着信者番号に対応する収容先ＳＩＰサーバ情報とが同一であるか否かを判断する（ステップＳ１５０６）。ここで、収容先ＳＩＰサーバ情報が同一の場合（ステップＳ１５０６：Ｙｅｓ）、処理対象の呼情報Ｄの通信終了時刻を、当該通信終了時刻から所定時間Ｆ減算した時刻に置き換える（ステップＳ１５０７）。
【０１３８】
そして、課金サーバ２０１は、処理対象の呼情報Ｄに基づいて、課金情報を生成する（ステップＳ１５０８）。つぎに、課金サーバ２０１は、呼情報ＤＢ２２０から選択されていない未選択の呼情報Ｄがあるか否かを判断する（ステップＳ１５０９）。
【０１３９】
ここで、未選択の呼情報Ｄがある場合（ステップＳ１５０９：Ｙｅｓ）、課金サーバ２０１は、ステップＳ１５０１に戻る。一方、未選択の呼情報Ｄがない場合（ステップＳ１５０９：Ｎｏ）、課金サーバ２０１は、ステップＳ１５０８において生成された課金情報を出力して（ステップＳ１５１０）、本フローチャートによる一連の処理を終了する。
【０１４０】
また、ステップＳ１５０６において、収容先ＳＩＰサーバ情報が異なる場合には（ステップＳ１５０６：Ｎｏ）、課金サーバ２０１は、図１６に示すステップＳ１６０１に移行する。
【０１４１】
図１６のフローチャートにおいて、まず、課金サーバ２０１は、呼情報ＤＢ２２０から、処理対象の呼情報Ｄと同一のセッション識別子を含み、かつ、異常終了フラグに「０」が設定された呼情報Ｄを検索する（ステップＳ１６０１）。
【０１４２】
つぎに、課金サーバ２０１は、検索した呼情報Ｄのうち、収集元ＳＩＰサーバ情報が、ステップＳ１５０５において特定された着信者番号に対応する収容先ＳＩＰサーバ情報と一致する呼情報Ｄを特定する（ステップＳ１６０２）。
【０１４３】
そして、課金サーバ２０１は、特定した呼情報Ｄの通信終了時刻が、処理対象の呼情報Ｄの通信終了時刻よりも過去であるか否かを判断する（ステップＳ１６０３）。ここで、処理対象の呼情報Ｄの通信終了時刻のほうが過去の場合（ステップＳ１６０３：Ｎｏ）、課金サーバ２０１は、図１５に示したステップＳ１５０８に移行する。
【０１４４】
一方、特定した呼情報Ｄの通信終了時刻が過去の場合（ステップＳ１６０３：Ｙｅｓ）、課金サーバ２０１は、処理対象の呼情報Ｄの通信終了時刻を、特定した呼情報Ｄの通信終了時刻に置き換えて（ステップＳ１６０４）、図１５に示したステップＳ１５０８に移行する。
【０１４５】
これにより、ネットワーク障害等により異常終了したセッションについての呼情報Ｄの通信終了時刻を、同一のセッション識別子の正常終了したセッションについての呼情報Ｄの終了時刻を用いて補正して課金情報を生成することができる。なお、呼情報ＤＢ２２０の記憶内容は、例えば、課金サーバ２０１の生成処理が完了すると、その都度リセットされる。
【０１４６】
以上説明したように、実施の形態にかかる通信課金システム２００によれば、ＳＩＰサーバＳｋにより、セッション識別子、通信開始時刻、通信終了時刻および異常終了フラグを含む呼情報Ｄを記録することができる。これにより、呼情報Ｄの異常終了フラグから、ネットワーク障害等によりセッションリフレッシュＴ．Ｏ．が発生して異常終了したセッションを判別することができる。
【０１４７】
また、通信課金システム２００によれば、課金サーバ２０１により、呼情報ＤＢ２２０から、異常終了フラグ「１」を含む第１の呼情報を検索することができる。これにより、セッションリフレッシュＴ．Ｏ．により異常終了したセッションの通信終了時刻を含む呼情報Ｄを特定することができる。
【０１４８】
また、通信課金システム２００によれば、課金サーバ２０１により、呼情報ＤＢ２２０から、第１の呼情報と同一のセッション識別子を含み、かつ、異常終了フラグ「０」の第２の呼情報を検索することができる。これにより、異常終了したセッションと同一のセッション識別子を含み、発信者側の端末Ｍｉ（発呼端末）または着信者側の端末Ｍｊ（着呼端末）からのＢＹＥに応じて正常終了したセッションの通信終了時刻を含む呼情報Ｄを特定することができる。
【０１４９】
また、通信課金システム２００によれば、課金サーバ２０１により、第１の呼情報の通信終了時刻を、第２の呼情報の通信終了時刻に置き換えることができる。これにより、ネットワーク障害等により異常終了したセッションの通信終了時刻を、同一のセッション識別子の正常終了したセッションの通信終了時刻を用いて補正することができる。
【０１５０】
また、通信課金システム２００によれば、課金サーバ２０１により、呼情報ＤＢ２２０から、発信者側の端末Ｍｉ（発呼端末）を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグ「１」の第１の呼情報を検索することができる。これにより、発呼端末の収容先であるＳＩＰサーバＳｋにより記録されたセッションの通信終了時刻、すなわち、課金対象となる通話時間を算定する際のセッションの通話終了時刻をピンポイントで補正することができる。
【０１５１】
また、通信課金システム２００によれば、課金サーバ２０１により、呼情報ＤＢ２２０から、着信者側の端末Ｍｊ（着呼端末）を収容するＳＩＰサーバＳｋから収集され、かつ、異常終了フラグ「０」の第２の呼情報を検索することができる。これにより、ネットワーク障害等により異常終了したセッションの通信終了時刻を、着呼端末の収容先であるＳＩＰサーバＳｋにより記録されたセッションの通信終了時刻、すなわち、着信者が電話を切ったタイミングに合わせて補正することができる。
【０１５２】
また、通信課金システム２００によれば、課金サーバ２０１により、発呼端末と着呼端末とを収容するＳＩＰサーバＳｋが同一の場合には、第１の呼情報の通信終了時刻を、当該通信終了時刻から所定時間Ｆ減算した時刻に置き換えることができる。これにより、第２の呼情報が存在しない場合であっても、ネットワーク障害等により異常終了したセッションの通信終了時刻を、セッションリフレッシュＴ．Ｏ．が発生するまでのタイマ時間を用いて補正することができる。
【０１５３】
また、通信課金システム２００によれば、課金サーバ２０１により、置換後の通信終了時刻を含む第１の呼情報に基づいて、端末Ｍｉ，Ｍｊ間の通話時間を含む課金情報を生成することができる。これにより、補正後の通信終了時刻から算定される通話時間に基づく課金処理を行うことが可能となり、発信者に対する余分な課金を防ぐことができる。
【０１５４】
なお、本実施の形態で説明した通信課金方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５６】
（付記１）端末間の呼制御に関するメッセージに基づいて、セッションの識別子、開始時刻、終了時刻および前記セッションがタイムアウトにより終了したか否かを示す異常終了情報を含む呼情報をそれぞれ記録する複数の呼制御装置と、
前記複数の呼制御装置から収集した複数の呼情報のうち、前記セッションがタイムアウトにより終了したことを示す異常終了情報を含む第１の呼情報の終了時刻を、前記第１の呼情報と同一の識別子を含む第２の呼情報の終了時刻に置き換える情報処理装置と、
を含むことを特徴とする通信課金システム。
【０１５７】
（付記２）前記第１の呼情報は、前記複数の呼情報のうち、発呼端末を収容する呼制御装置から収集され、かつ、前記セッションがタイムアウトにより終了したことを示す異常終了情報を含む呼情報であることを特徴とする付記１に記載の通信課金システム。
【０１５８】
（付記３）前記第２の呼情報は、前記複数の呼情報のうち、着呼端末を収容する呼制御装置から収集され、かつ、前記セッションがタイムアウトにより終了していないことを示す異常終了情報を含む呼情報であることを特徴とする付記１または２に記載の通信課金システム。
【０１５９】
（付記４）前記情報処理装置は、
発呼端末および着呼端末を収容する呼制御装置が同一の呼制御装置の場合には、前記第１の呼情報の終了時刻を、当該終了時刻から所定時間減算した時刻に置き換えることを特徴とする付記３に記載の通信課金システム。
【０１６０】
（付記５）前記情報処理装置は、
前記第２の呼情報の終了時刻に置き換えられた置換後の終了時刻を含む前記第１の呼情報に基づいて、前記端末間の通話時間を含む課金情報を生成することを特徴とする付記１〜４のいずれか一つに記載の通信課金システム。
【０１６１】
（付記６）前記複数の呼制御装置は、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に従って呼制御を行うＳＩＰサーバであることを特徴とする付記１〜４のいずれか一つに記載の通信課金システム。
【０１６２】
（付記７）複数の呼制御装置と情報処理装置とを含む通信課金システムの通信課金方法であって、
前記複数の呼制御装置が、
端末間の呼制御に関するメッセージに基づいて、セッションの識別子、開始時刻、終了時刻および前記セッションがタイムアウトにより終了したか否かを示す異常終了情報を含む呼情報をそれぞれ記録し、
前記情報処理装置が、
前記複数の呼制御装置から収集した複数の呼情報のうち、前記セッションがタイムアウトにより終了したことを示す異常終了情報を含む第１の呼情報の終了時刻を、前記第１の呼情報と同一の識別子を含む第２の呼情報の終了時刻に置き換える、
ことを特徴とする通信課金方法。
【符号の説明】
【０１６３】
１００，２００  通信課金システム
１０１  情報処理装置
１０２〜１０４  呼制御装置
１０５，１０６，Ｍ１〜Ｍｎ，Ｍｉ，Ｍｊ  端末
２０１  課金サーバ
２２０  呼情報ＤＢ
２３０  加入者管理テーブル
９０１  検出部
９０２  記録部
９０３  送信部
１００１  受信部
１００２  検索部
１００３  補正部
１００４  生成部
１００５  出力部
Ｓ１〜Ｓ３，Ｓｋ  ＳＩＰサーバ
【図１】
0006340972.tif 000002
【図２】
0006340972.tif 000003
【図３】
0006340972.tif 000004
【図４】
0006340972.tif 000005
【図５】
0006340972.tif 000006
【図６】
0006340972.tif 000007
【図７】
0006340972.tif 000008
【図８】
0006340972.tif 000009
【図９】
0006340972.tif 000010
【図１０】
0006340972.tif 000011
【図１１】
0006340972.tif 000012
【図１２】
0006340972.tif 000013
【図１３】
0006340972.tif 000014
【図１４】
0006340972.tif 000015
【図１５】
0006340972.tif 000016
【図１６】
0006340972.tif 000017