(57)【要約】【課題】H.323コールロギングのためのシステム及び方法。【解決手段】コールロギングのための方法を提供する。方法は、コンピュータデバイスと関連付けられたポートが送受信するパケットヘッダをモニタすることを含む。次に、コンピュータデバイスのポート番号を判定する。その後、データを渡すための通信チャネルが確立されているかについての識別が行なわれる。通信チャネルが確立され、ポート番号がH.323アプリケーションと関連付けられていると判定された場合には、通話開始時刻を記録し始める。通信チャネルが終了すると、通話終了時刻を記録し始める。その後、通話終了時刻から通話開始時刻を差し引いて通話持続時間が判定される。その後、カレンダーアプリケーションを呼び出し、通話持続時間をカレンダーアプリケーションにログとして記録する。【選択図】図１
2006166449.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータデバイスと関連付けられたポートが送受信するパケットヘッダをモニタするステップと、
コンピュータデバイスと関連付けられたポートのポート番号を判定するステップと、
データを渡せる通信チャネルが確立されているか識別するステップと、
ポート番号がH.323アプリケーションと関連付けられ、通信チャネルが確立している場合には、
H.323アプリケーションと関連付けられたポート番号の通話持続時間を記録するステップと、
カレンダーアプリケーションを呼び出すステップと、
通話持続時間をカレンダーアプリケーションにログとして記録するステップとを含む、
コールロギング情報を記録するための方法。
【請求項２】
パケットヘッダをモニタする方法は、
TCPパケットのパケットヘッダをモニタするステップを含む、請求項１に記載のコールロギング情報を記録するための方法。
【請求項３】
ポート番号１７２０接続が確立しているか判定するステップをさらに含む、請求項１に記載のコールロギング情報を記録するための方法。
【請求項４】
H.323ハンドシェイクが完了しているか判定するステップを含む、請求項１に記載のコールロギング情報を記録するための方法。
【請求項５】
H.323アプリケーションと関連付けられたポート番号の通話持続時間を記録する方法は、
通話開始時刻を記録するステップと、
通信チャネルが終了すると同時に通話終了時刻を記録するステップと、
通話終了時刻から通話開始時刻を差し引いて通話持続時間を判定するステップとを含む、請求項１に記載のコールロギング情報を記録するための方法。
【請求項６】
通話終了時刻を記録する方法は、
ポート１７２０への接続が終わると通話終了時刻を記録するステップを含む、請求項５に記載のコールロギング情報を記録するための方法。
【請求項７】
カレンダーアプリケーションを呼び出す方法は、カレンダーアプリケーションAPIを介してカレンダーアプリケーションを呼び出すステップを含む、請求項１に記載のコールロギングを記録するための方法。
【請求項８】
パケットヘッダをモニタする方法は、
TCPパケットヘッダの中のSYNフラグビットがオンになっているか判定すると共に、ハンドシェイクシーケンスが完了しているか判定するステップとを含む、請求項１に記載のコールロギングを記録するための方法。
【請求項９】
ハンドシェイクシーケンスはクライアント及びサーバ間でSYN、SYN+ACK、ACKを有するパケットを交換するステップを含む、請求項８に記載のコールロギングを記録するための方法。
【請求項１０】
通話終了時刻を記録する方法は、
TCPパケットヘッダの中のFINフラグビットがオンになっているか判定するステップを含む、請求項５に記載のコールロギングを記録するための方法。
【請求項１１】
中央処理ユニット（CPU）と、
CPUと通信しているメモリユニットを含むコールロギングのためのシステムであって、メモリユニットは、
モニターロジックを含み、モニターロジックはシステムが受信しているネットワークトラフィックデータをモニタするように構成され、
モニターロジックがH.323通話が終わったことを通知することによりカレンダーアプリケーションを呼び出すように構成されたロギングロジックを含む、システム。
【請求項１２】
モニターロジックは、システムが受信しているネットワークトラフィックデータのパケットヘッダをモニタするように構成される、請求項１１に記載のコールロギングのためのシステム。
【請求項１３】
モニターロジックは、パケットヘッダから情報を抽出し、その情報に基づいて、パケットがシステムのポート１７２０への又はポート１７２０からのTCPパケットかどうかについて判定を行なう、請求項１２に記載のコールロギングのためのシステム。
【請求項１４】
モニターロジックは、ネットワークトラフィックデータのパケットヘッダから抽出された情報に基づいてH.323通話開始をロギングロジックに知らせるように構成される、請求項１１に記載のコールロギングのためのシステム。
【請求項１５】
モニターロジックは、パケットヘッダの中のSYNフラグビットがON状態およびハンドシェイクシーケンスの完了と関連付けられているか判定するように構成され、両者は共にH.323通話開始を示している、請求項１２に記載のコールロギングのためのシステム。
【請求項１６】
ハンドシェイクシーケンスはクライアント及びサーバ間でSYN、SYN+ACK、ACKを有するパケットを交換することを含む、請求項１５に記載のコールロギングのためのシステム。
【請求項１７】
モニターロジックは、パケットヘッダの中のFINフラグビットがH.323通話の終わりを示すON状態と関連付けられるか判定するように構成される、請求項１２に記載のコールロギングのためのシステム。
【請求項１８】
カレンダーアプリケーションは電子メールアプリケーションに統合される、請求項１１に記載のコールロギングのためのシステム。
【請求項１９】
ロギングロジックは通話持続時間をカレンダーアプリケーションにログとして記録するように構成される、請求項１１に記載のコールロギングのためのシステム。
【請求項２０】
中央処理ユニット（CPU）と、
CPUと通信しているメモリユニットを含むコールロギングのためのシステムであって、メモリユニットは、
システムが受信しているネットワークトラフィックデータをモニタするように構成されたスニファと、
通話が終わったことをモニターロジックが通知することによりカレンダーアプリケーションを呼び出して通話持続時間をカレンダーアプリケーションにログとして記録するように構成されたロギングロジックと、
ネットワークデータコンテント情報を抽出するためにネットワークトラフィックデータを構文解析するためのパーサーロジックとを含む、システム。
【請求項２１】
パーサーロジックはH.225/H.245ネットワークトラフィックデータパーサーを含む、請求項２０に記載のコールロギングのためのシステム。
【請求項２２】
ロギングロジックは、パーサーロジックが導出するコンテント情報を通話持続時間と共にログとして記録するように構成される、請求項２０に記載のコールロギングのためのシステム。
【請求項２３】
ネットワークデータコンテント情報は、発信当事者の氏名及び通話に関係するその他の情報を含む、請求項２０に記載のコールロギングのためのシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してコールロギングに関する。より具体的には、本発明は、H.323アプリケーションのためのコールロギングのシステム及び方法に関する発明である。
【背景技術】
【０００２】
ますます通信ネットワークを介してビジネスを行なうようになっているので、行なった通信の正確な記録を維持する必要がある。こうした記録は通話の正確な記録を残しておくのに役立つだけでなく、請求書の誤りや詐欺、サービスの食い違いなどを防止するのに役立つ。H.323は、例えば、インターネットなど、パケットベースのネットワークで、リアルタイムのポイントツーポイント及びマルチポイントの音声、映像及びデータの通信の互換性を促進する国際電気通信連合（ITU: International Telecommunication Union）承認の標準規格である。既存のH.323プロトコル又はビデオ会議システムは多くがユーザの通話活動を記録するためにコールロギング機能を含んでいる。しかし、これらの既存のシステムはそれぞれ独自の所有権を主張できるフォーマットで通話のログデータを保存する。そのために、ユーザはデータをアクセスする場合、カスタムインタフェースを使用することになる。さらに、ユーザは、一つのH.323アプリケーションから別のH.323アプリケーションに移るときに、通話ログをアクセスするために、新たなユーザインタフェースを学ばなければならないことになる。
【０００３】
【特許文献１】米国特許第6,731,730号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
さらに、既存の技術はコールロギング機能をアプリケーションそのものの中に統合するので、そのためにユーザはカスタムインタフェースを介して通話ログをアクセスすることになり、そこから上記の課題が生じる。そこで、アプリケーションとは無関係で、しかもカスタムインタフェースを使用しなくとも直接アプリケーションプログラムに通話記録をログとして記録できる柔軟性をユーザに与えるコールロギング機能に対するニーズがある。
【課題を解決するための手段】
【０００５】
大まかに言えば、本発明は、いかなるアプリケーションプログラムとも無関係に機能し、ユーザの既存のカレンダーアプリケーションプログラムと互換性上なんら問題のないコールロギングシステムを提供することで、こうしたニーズに応えるものである。
【０００６】
本発明は、特定のH.323アプリケーションと一体化されていない、標準のH.323アプリケーションのためのコールロギングメカニズムを提供する。本発明は、パケットベースのシステムに入り、送り出されるTCP/IP及び・又はUDP/IPパケットを調べる。ポート１７２０のTCP接続状態をモニタして、ここで説明するこの実施例はH.323通話接続及び終了を自動的に検出する。その結果、本発明は、H.323アプリケーションから通知がなくてもH.323通話ロギングを行なうことができる。通話についての情報はユーザの既存のカレンダーアプリケーションに直接ログとして記録される。
【０００７】
本発明は、プロセスとして、装置として、システムとして、デバイスとして、或いは方法としてなど、数多くのやり方でインプリメントできることを理解するべきである。本発明のいくつかの実施例を以下に説明する。
【０００８】
一つの実施例で、コールロギングのための方法を提供する。方法は、コンピュータデバイスと関連付けられたポートが送受信するパケットヘッダをモニタすることを含む。次に、コンピュータデバイスのポート番号が判定される。その後、データを渡すための通信チャネルがすでに確立しているかどうかについて識別がなされる。通信チャネルが確立され、H.323アプリケーションと関連付けられたポート番号が判定されている場合には、この方法は通話開始時刻を記録し始める。通信チャネルを終了すると、この方法は通話終了時刻を記録し始める。その後、通話終了時刻から通話開始時刻を差し引いて通話持続時間が判定される。その後、カレンダーアプリケーションを呼び出し、通話持続時間をカレンダーアプリケーションにログとして記録する。
【０００９】
別の実施例で、コールロギングのためのシステムを提供する。システムは中央処理ユニットを含む。システムはさらにメモリユニットを含む。メモリユニットはモニターロジックを含む。モニターロジックはシステムが受け取っているネットワークトラフィックデータをモニタするように構成される。モニターロジックは入ってくるネットワークトラフィックデータ内でパケットタイプを検出する。メモリユニットはロギングロジックも含む。ロギングロジックは、H.323通話が終わったことをモニターロジックが通知すると、カレンダーアプリケーションを呼び出すように構成される。ロギングロジックは通話持続時間をカレンダーアプリケーションにログとして記録する。
【００１０】
別の実施例で、コールロギングのためのシステムを提供する。システムは中央処理ユニットを含む。システムはさらにメモリユニットを含む。メモリユニットはモニターロジックを含む。モニターロジックはシステムが受け取っているネットワークトラフィックデータをモニタするように構成される。モニターロジックは入ってくるネットワークトラフィックデータ内でパケットタイプを検出する。メモリユニットはネットワークトラフィックデータを構文解析してネットワークコンテントデータ情報を抽出する機能を有するパーサーロジックも含む。ネットワークコンテントデータ情報は着信（incoming call）についての情報を提供する。メモリユニットは、H.323通話が終わったことをモニターロジックが通知すると、カレンダーアプリケーションを呼び出すように構成されたロギングロジックも含む。ロギングロジックは通話持続時間をカレンダーアプリケーションにログとして記録する。
【００１１】
発明のその他の態様及び利点については、例として発明の原理を図解している添付の図面と共に、以下の詳細な説明から明白になる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。
【００１３】
［実施形態］
H.323アプリケーションのためのコールロギングとして発明を開示する。本発明において、コールロガー（call logger）はアプリケーションプログラムとは無関係で、ユーザの既存のカレンダーアプリケーションプログラムに適合可能である。ロガーがある特定の通話について通話持続時間やその他の情報を記録するデータベースとして既存のカレンダーアプリケーションプログラムを使用する。発明は、H.323通話の接続及び終了を自動的に検出することで通話の自動ログを保存する。その結果、発明はH.323アプリケーションから直接通知がなくてもH.323コールロギングのタスクを実行できる。
【００１４】
図１に、本発明の実施例による模式的パケットベースの通信ネットワークを示す。ネットワークは、音声、映像、IPテレフォニーや、その他のタイプのデータを互いに或いはデータサーバ１１８と交換する参加者１１８を含む。そうした構成において、データ交換はピアツーピア１１６、クライアント‐サーバ１１４や、その両者の様々な組合せが可能である。当業者ならば、様々な実施例において、通信ネットワークは、無線ネットワーク、有線ネットワーク、或いはその両者の組合せが可能なことを理解するだろう。
【００１５】
図２に、発明の実施例による模式的サーバ１１８を示す。サーバ１１８をバス２０４でメモリユニット２０６と通信している中央処理ユニット２０２を含んで表示している。メモリにはモニターロジック２０８とロギングロジック２１０が入っている。モニターロジック２０８はサーバ１１８が受信しているネットワークトラフィックデータをモニタするように構成されている。モニターロジック２０８は入ってくるパケットヘッダを監視し、各パケットのヘッダを分析する。さらに、モニターロジック２０８はH.323ハンドシェイクだけでなくTCP接続ハンドシェイクも監視する。ポート１７２０はH.323アプリケーション用のデフォルトポートだから、ポート１７２０への接続を記録することでH.323ハンドシェイクをモニタする。一旦TCP接続とH.323ハンドシェイクが完了したら、対応するデバイス間でデータが送信される。モニターロジック２０８はポート１７２０をモニタすることで通信の終わりを記録する。H.323では、H.323通話接続の開始システムが先ず最初にサーバ１１８の或いは参加者１２０のTCPポート１７２０にTCP接続を行なう。どちらかの当事者がH.323通話を終えると、TCPポート１７２０の接続が終了する。その結果、ポート１７２０宛てのTCP/IPパケットをモニタすることによって、本発明はH.323通話がいつ始まってどれだけ長く続いたか判定することができる。したがって、ポート１７２０への接続が確立したときと、ポート１７２０への接続が終わったときをモニタすることによって、モニターロジック２０８は通話の始まりと終わりを記録することができる。
【００１６】
H.323アプリケーションは、TCPポート１７２０で接続待ちしている別のH.323アプリケーションにTCP接続を行なう。それから、後続のデータ交換において、両方のアプリケーションが制御データ及びメディアを送信できるようにさらに多くのTCP及びUDPポートを開く。図３はH.323接続状態を示している。図３は、ポート１７２０で接続待ちしているクライアント３０２に接続を行なうクライアント３００を含んでいる。それから、後続のデータ交換において、両方のクライアント３００及び３０２はもっと多くのTCP及びUDP接続を開く。図３に示した接続は、アプリケーション特定のTCP接続及びアプリケーション特定のUDP接続を含んでいる。アプリケーション特定のUDP接続には、オーディオReal-Time Transport Control Protocol（RTCP）、オーディオReal-Time Transport Protocol（RTP）、ビデオRTCP、ビデオRTPなどがある。当業者ならば、上記のTCP及びUDP接続のリストは模式的なリストであり、完全なリストのつもりではないことを理解するだろう。
【００１７】
新たなTCP接続が確立すると、クライアントとサーバとの間でSYN、SYN+ACK、ACKを有するTCPパケットが交換される。クライアントとサーバとの間でTCP接続を確立するために、クライアントは、クライアントが接続したいサーバのポート番号を指定している同期シーケンス番号フラグ（SYN）とクライアントの初期シーケンス番号を有するパケットを送る。すると、サーバがサーバの初期シーケンス番号（ISN）が入ったSYNを有するサーバ独自のパケットによって応答する。サーバは、クライアントのISN＋1を肯定応答（ACK）することによってクライアントのSYNをACKする。クライアントはその後、サーバのISN＋１をACKしてサーバからのSYNを受け取ったことを通知する。当業者ならば、上記のハンドシェイクシーケンスは模式的なもので、TCP接続を確立するのに他のタイプのハンドシェイクシーケンスを用いても構わないことを理解するだろう。接続を終了する必要があるときには、どちらかの当事者がFINフラグがオンのTCPパケットを送り出して、TCP接続が終わったことを相手に知らせることができる。したがって、モニターロジック２０８は、ポート１７２０宛てのTCPフラグSYN又はFINを有するTCP/IPパケットをモニタすることでH.323通話の開始及び終了を判定できる。
【００１８】
図２について言えば、サーバ１１８はさらに、通話をログとして記録するカレンダーアプリケーションを呼び出すためにメモリ２０６内にコールロギングロジック２１０を含む。一旦モニターロジック２０８が通話が完了したと判定すると、モニターロジック２０８はコールロギングロジック２１０に通話終了通知を送る。コールロギングロジック２１０はまた、モニターロジック２０８から通話開始時刻を受け取り、通話開始時刻と通話終了時刻との差をとることによって通話持続時間を算出する。その後、コールロギングロジック２１０は、カレンダーアプリケーションを呼び出し、通話持続時間をカレンダーアプリケーションにログとして記録する。当業者ならば、コールロギングロジック２１０は通話持続時間だけでなくその他の情報もカレンダーアプリケーションにログとして記録できることを理解するだろう。情報は、例えば、発信者（caller）の氏名、遠隔IPアドレスなどがあり得る。さらに、ロギングロジック２１０は、必要に応じて、カレンダーアプリケーションにすでに記憶されている情報をアクセスしてその情報をユーザに提示することができる。
【００１９】
本発明で説明している通話はネットワーク上で起こり、通信の異なる一つの局面を担当する各層を有するネットワークを開発する。図４に、本発明の実施例による通話のモニタ及びロギング動作を管理すると共に容易にするのに必要となる様々なネットワーク層を示す。最下位の層はネットワークインタフェース層４１４である。ネットワークインタフェース層４１４はネットワークインタフェースカード４２０を含む。ネットワークインタフェースカード４２０はネットワークでの通信を容易にするのに使用されているメディアとインタフェースをとるために使用される。メディアは、ケーブル、ワイヤレス、Digital Subscriber Line（DSL）などといった使用可能な媒体のどれでも構わない。ネットワークインタフェース層はドライバ層４２２と通信しており、ドライバ層４２２はネットワーク層のスタック内にある別のプロトコル層である。ドライバ層はデバイスドライバ４１５を含む。ネットワークインタフェースカード４２０はデバイスドライバ４１５と共にメディアとのインタフェースを取り易くする。ドライバ層はネットワーク層４２４と通信している。ネットワーク層４２４はネットワークでパケットを送受信する責務を有する。ネットワーク層４２４は、IP、Internet Control Message Protocol（ICMP）、Internet Group Management Protocol（IGMP）などといったいろいろなタイプのプロトコルを含んで構わない。ネットワーク層４２４の上にある層はトランスポート層４２６である。トランスポート層４２６は、サーバ１１８及びクライアント１２０間又は２参加者間又はそれらの組合せ間でのデータの流れを可能にする。トランスポート層４２６は、TCP、User Datagram Protocol（UDP）、Sequence Packet Exchange（SPX）、Packet Exchange Protocol（PEP）、VAX OSI Transport Exchange（VOTS）、Apple Talk Echo Protocol（AEP）、Apple Talk Transaction Protocol（ATP）、Name Building Protocol（NBP）、Routing Table Maintenance Protocol（RTMP）などといったいろいろ異なるタイプのプロトコルを含んで構わない。一般に知られているように、TCPは、いずれかの側が相手側にデータを送る前に、両者間でTCP接続が確立していることが必要だから、TCPはUDPよりも信頼性のあるデータ通信を提供する。当業者ならば、上記のトランスポート層プロトコル例のそれぞれの詳細を認識及び理解するだろう。ここに説明している本発明の原理は、特定のトランスポート層プロトコルとは無関係に、同じように適用できることを理解するべきである。
【００２０】
アプリケーション層４０２はトランスポート層４２６の上にある。アプリケーション層４２６｛４０２？｝は複数の異なるプロトコルを有する。これらのプロトコルは、サーバ１１８又は参加者１２０で実行される任意のアプリケーションの詳細をハンドルするように装備されている。アプリケーション層にあるいろいろなタイプのプロトコルとしは、Telnet、File Transfer Protocol（FIT）、Simple Mail Transfer Protocol（SMTP）、Simple Network Management Protocol（SNMP）、File transfer, access and management（FTAM）、Remote File System（RFS）などが可能である。当業者ならば、上記のアプリケーション層プロトコル例のそれぞれの詳細を認識及び理解するだろう。ここに説明している本発明の原理は、特定のアプリケーション層プロトコルとは無関係に、同じように適用できることを理解するべきである。
【００２１】
アプリケーション層４０２で複数のアプリケーションが実行される。図４はさらに、アプリケーション層４０２で実行されるプリケーションプログラムをいくつか示している。数ある中で、アプリケーション層４０２で実行される模式的なアプリケーションプログラムとしては、例えば、カレンダーアプリケーション４０４、H.323アプリケーション４０６、モニターロジック２０８、ロギングロジック２１０がある。モニターロジック２０８はスニファ４１６の中に含まれている。スニファ４１６はネットワークデータをモニタするように構成される。スニファ４１６は自立型（self contained）プログラムでも、又はしかるべきソフトウェアかファームウェアプログラミングを有するハードウェアデバイスでも構わない。スニファ４１６はネットワークトラフィック、つまり、入ってくる生のデータ４１８を調べ、傍受したデータをコピーするが、傍受したデータを改竄したり、宛先変更したりはしない。スニファ４１６はTCP/IPパケットベースのネットワーク或いはその他の適切なプロトコルと共に使用されることがあることを理解するべきである。スニファ４１６は入ってくるパケットを調べ、TCPパケットかどうか判定するためにそのヘッダから情報を抽出する。パケットがTCPパケットであると判定された場合には、スニファ４１６はソースポートか宛先ポートかいずれかが１７２０であるか判定するためにパケットヘッダを調べ始める。ソースポート又は宛先ポートが１７２０であると判定された場合には、スニファ４１６はSYNフラグビットがオンになっているか判定するためにTCPフラグフィールドを調べる。SYNフラグビットがオンならば、モニターロジック２０８が上記のSYN、SYN+ACK、ACKハンドシェイクシーケンス全体をモニタする。一旦ハンドシェイクシーケンスが完了したら、モニターロジック２０８はH.323通話の開始を示す信号をロギングロジック２１０に送る。スニファ４１６がFINフラグビットを検出したら、モニターロジック２０８がロギングロジック２１０にH.323通話の終わりを知らせる。ロギングロジック２１０は、カレンダーアプリケーションプログラムAPIを介してカレンダーアプリケーション４０４を呼び出し、通話持続時間をカレンダーアプリケーション４０４にログとして記録する。
【００２２】
図５Aに、本発明の実施例による模式的なパケットを示す。表示しているパケットは、IPヘッダ５０２、TCPヘッダ５０４、TCPデータ部分５０６を含む。TCPヘッダ５０４には、図４のスニファ４１６がH.323通話の開始及び終了について判定を行なうのに必要な情報が入っている。図５Bは、本発明の実施例による模式的なTCPヘッダである。TCPヘッダ５０４はソースポート番号５０８及び宛先ポート番号５１０を含む。分かるように、TCPヘッダにはその他の情報も入っており、そうした情報は抽出され、ユーザの既存のカレンダーアプリケーションにログとして記録されることがある。スニファ４１６は、着信が間違いなくH.323通話であることを確認するために、ソースポート又は宛先ポートが１７２０であるか判定するべくTCPヘッダを検査して、入ってくるパケットを調べる。
【００２３】
図６は、本発明の実施例による、通話のモニタ及びロギング動作を管理すると共に容易にするのに必要となるいろいろなネットワーク層を示す。図６は、アプリケーション層４０２がさらにメッセージ構文解析ロジック４２８を含んでいる点を除けば図４に類似している。図６は、ネットワークインタフェース層４１４、ネットワーク層４２４、トランスポート層４２６、アプリケーション層４０２も表示している。これらの層の機能は図４に関して詳細に述べたとおりである。メッセージパーサーロジック４２８は着信について更なる発信者情報を抽出し易くする。パーサーロジック４２８は、メッセージを構文解析してTCP１７２０接続からの情報の中でもとりわけ発信者の氏名などの情報を得るように構成される。一つの実施例で、メッセージパーサーロジック４２８はH.225/H.245パーサーである。H.225/H.245パーサーは、通話セットアップ段階にH.323通話から通話情報を抽出する。通話情報には、数ある中で、とりわけ発信者の氏名、発信者のIPアドレス、１２８ビットの全世界的に固有な通話の識別番号といった発信者IDなどがある。別の実施例において、メッセージパーサーロジック４２８はモニターロジックと一体化される。
【００２４】
図７は、本発明の実施例による、H.323通話の自動コールロギングに必要となるいろいろな動作の概要を提供するフローチャートである。図１に関して説明したタイプのモニターロジック（サーバのメモリ内にある）がポートが送受信するパケットヘッダをモニタする動作７０２で始まる。上記のように、ある特定のポート番号はある特定のタイプのデータメッセージと同義である。例えば、ポート番号１７２０はH.323データメッセージのデフォルトポートである。したがって、モニターロジックがパケットヘッダを調べるとき、モニターロジックは先ず最初にパケットがTCPパケットかどうか判定する。パケットがTCPパケットであると判定された場合には、モニターロジックは動作７０４に示すポート番号宛のTCPヘッダを調べる。動作７０６で、モニターロジックはデータを渡せる通信チャネルがすでに確立されているかどうかについての判定を行なう。一つの実施例において、H.323ハンドシェイクだけでなくポートへの接続も完了しているときには、通信チャネルは確立していると言う。データを渡せる通信チャネルが確立している場合には、動作７０８でポート番号がH.323アプリケーションと関連付けられているか判定を行なう。一つの実施例で、H.323アプリケーションと関連付けられたポート番号はポート１７２０であり、したがって、ポート番号が１７２０かどうかの判定が動作７０８で行なわれる。
【００２５】
一旦ポート番号がH.323アプリケーションと関連付けられたポートであると判定されたら、動作７１０でモニターロジックは通話開始時刻を記録するようにロギングロジックに知らせる。モニターロジックがポート１７２０の接続終了を感知すると、モニターロジックは、動作７１０に表示したように、通話終了時刻を記録するようにロギングロジックに知らせる。一旦通話が終わると、動作７１２でロギングロジックは通話終了時刻から通話開始時刻を差し引いて通話持続時間を判定する。その後、動作７１４で、ロギングロジックはカレンダーアプリケーションAPIを介してカレンダーアプリケーションを呼び出す。この方法は次に、動作７１６に進み、そこで通話の持続時間がカレンダーアプリケーションにログとして記録される。カレンダーアプリケーションは、広く使われている電子メールアプリケーションと関連付けられたカレンダーアプリケーションを含む、市販のカレンダーアプリケーションで構わないことを理解するべきである。上述のように、パーサーロジックから提供される更なる情報も記録されても構わない。
【産業上の利用可能性】
【００２６】
上記のごとく、本発明の利点は数多い。第１に、通話ロギング機能はある特定のアプリケーションとは無関係である。その結果、本発明はユーザの既存のカレンダーアプリケーションを用いても機能する。したがって、ユーザに必要なのは自分がもっているカレンダーアプリケーションを使用できるようになることだけである。さらに、本発明は、ユーザがいろいろなH.323アプリケーションをランしたい場合その数を問わず、多数の異なるH.323アプリケーションに適合可能である。通話ログをアクセスするのに、本発明によって事実上カスタムユーザインタフェースの必要性がなくなる。
【００２７】
上記の実施例を考えれば、発明は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクルプロセッサベースの又はプログラミング可能な消費者エレクトロニクス、ミニコンピュータ、メインフレームコンピュータなどを含み、その他のコンピュータシステム構成で実施可能なことを理解するべきである。さらに、発明は、コンピュータシステムに記憶可能なデータを伴う様々なコンピュータで実現する動作を採用することがある。これらの動作は物理的数量の物理的操作を必要とする動作である。必ずしもそうとは限らないが、普通は、こうした数量は記憶、転送、結合、比較、或いはその他の操作が可能な電気信号又は磁気信号の形をとる。さらに、実行される操作は、生成、識別。判定、又は比較といった表現で呼ばれることが多い。
【００２８】
発明の一部をなすここで説明した動作はどれも有益な機械動作である。発明はこうした動作を実行するためのデバイス又は装置にも関する。装置は必要な目的のために特別に構築されても構わないし、或いはコンピュータに記憶されているコンピュータプログラムで選択的に起動又は構成される汎用のコンピュータでも構わない。特に、様々な汎用の機械をここで教えるところに従って書かれたコンピュータプログラムと共に使用してもいいし、さもなければ必要な動作を実行するように専用化された装置を構築するほうが都合がいいかもしれない。
【００２９】
発明は、コンピュータ可読媒体上にコンピュータ可読コードとして実施することもできる。コンピュータ可読媒体とは、コンピュータシステムが後から読み取れるデータを記憶できる任意のデータストレージデバイスである。コンピュータ可読媒体は、コンピュータコードを含んだ電磁搬送波も含む。コンピュータ可読媒体の例としては、ハードドライブ、ネットワーク接続ストレージ（NAS）、読み取り専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープや、その他の光学的及び非光学的データストレージデバイスなどがある。分散してコンピュータ可読コードを記憶及び実行できるように、コンピュータ可読媒体をネットワーク接続コンピュータシステム上に分散することもできる。
【００３０】
はっきり理解できるように発明をある程度詳細に説明してきたが、添付の特許請求の範囲内で一定の変更及び修正が可能なことは明白であろう。したがって、本願実施例は例証と考え、限定と考えるべきではない。また、発明はここで述べた詳細に限定されるものではなく、添付の特許請求の範囲及びその均等範囲内で修正されて構わない。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施例による模式的パケットベースの通信ネットワーク。
【図２】本発明の実施例による模式的サーバー。
【図３】本発明の実施例による模式的H.323接続状態。
【図４】本発明の実施例による、通話のモニタ及びコールロギング動作を管理すると共に容易にするのに必要となる種々のネットワーク層。
【図５】Ａは本発明の実施例による模式的パケット、Ｂは本発明の実施例による模式的TCPヘッダ。
【図６】本発明の別の実施例による、通話のモニタ及びコールロギング動作を管理すると共に容易にするのに必要となるネットワーク層。
【図７】本発明の実施例による、H.323通話の自動コールロギングに必要となる動作の概要を提供するフローチャート。
【符号の説明】
【００３２】
202            CPU
204            バス
206            メモリ
208            モニターロジック
210            ロガーロジック
300            クライアントA
302            クライアントB
208            モニターロジック
210            ロギングロジック
402            アプリケーション
404            カレンダーアプリケーション
406            H.323アプリケーション
414            ネットワークインタフェース層
415            ドライバ
416            スニファ
418            生データ
420            ネットワークインタフェースカード
422            ドライバ
424            ネットワーク層
426            トランスポート層
502            IPヘッダ
504            TCPヘッダ
506            TCPデータ
504            データ（もしあれば）
508            16ビットソースポート番号
510            16ビット宛先ポート番号
208            モニターロジック
210            ロギングロジック
402            アプリケーション
404            カレンダーアプリケーション
406            H.323アプリケーション
414            ネットワークインタフェース層
415            ドライバ
416            スニファ
418            生データ
420            ネットワークインタフェースカード
422            ドライバ
424            ネットワーク層
426            トランスポート層
428            H.225/H245メッセージパーサー
702            ポートで送受信するパケットヘッダをモニタ
704            ポート番号を判定
706            データを渡せる通信チャネルが確立しているか？
708            ポート番号はH.323アプリケーションと関連付けられているか？
710            通話の開始および終了時刻を記録
712            通話終了時刻から通話開始時刻を差し引いて通話持続時間を判定
714            カレンダーアプリケーションを呼び出す
716            カレンダーアプリケーションに通話持続時間をログとして記録
【図１】
2006166449.tif 000003
【図２】
2006166449.tif 000004
【図３】
2006166449.tif 000005
【図４】
2006166449.tif 000006
【図５】
2006166449.tif 000007
【図６】
2006166449.tif 000008
【図７】
2006166449.tif 000009