(57)【要約】 【課題】ＳＩＰ環境でのコール・トレーシング・メカニズムを提供すること。【解決手段】  本発明のコール・トレースを実行する方法は、（Ａ）第２メッセージを受領するステップと、（Ｂ）第２フィルタ基準を前記第２メッセージに適用するステップと、これにより、前記第２メッセージに対し所定のプロセスを実行し、前記第２フィルタ基準は、第２メッセージの前に受領した第１メッセージの特性を予め解析し、前記第１メッセージに前記所定のプロセスを適用すると決定した結果、作成され、（Ｃ）前記第２メッセージが前記第２フィルタ基準に適合すると決定するステップと、（Ｄ）前記第２メッセージを所定のプロセスで処理するステップとを有する。【選択図】  図１
2011045056.tif 000002
【特許請求の範囲】
【請求項１】
コール・トレーシングを実行する方法において、
（Ａ）第２メッセージを受領するステップと、
（Ｂ）第２フィルタ基準を前記第２メッセージに適用するステップと、
これにより、前記第２メッセージに対し所定のプロセスを実行し、
前記第２フィルタ基準は、第２メッセージの前に受領した第１メッセージの特性を予め解析し、前記第１メッセージに前記所定のプロセスを適用すると決定した結果、作成され、
（Ｃ）前記第２メッセージが前記第２フィルタ基準に適合すると決定するステップと、
（Ｄ）前記第２メッセージを所定のプロセスで処理するステップ、
を有する
ことを特徴とするコール・トレーシングを実行する方法。
【請求項２】
前記第２フィルタ基準に適合しない第３メッセージを、前記所定のプロセスで処理しない
ことを特徴とする請求項１記載の方法。
【請求項３】
前記第３メッセージと第２メッセージは、共通のダイアログと共通の呼びの少なくとも一方の一部である
ことを特徴とする請求項２記載の方法。
【請求項４】
前記第２メッセージは、コンテンツ担持メッセージであり、
前記第３メッセージは、コンテンツ非担持メッセージである
ことを特徴とする請求項３記載の方法。
【請求項５】
前記第２メッセージと第３メッセージは、共通のエンドポイントの間で送信される
ことを特徴とする請求項３記載の方法。
【請求項６】
（Ｅ）前記第１メッセージを第１フィルタ基準で解析するステップ、
前記第１フィルタ基準は、前記第１メッセージが、所定のアドレス、所定のドメイン、所定のユーザから来たメッセージ或いはそこに行くメッセージの内の少なくとも一方のメッセージである場合には、所定のプロセスで処理し
（Ｆ）前記第１メッセージは、所定のアドレスに行くメッセージ或いは所定のアドレスから来たメッセージの内の一方であると決定するステップと、
（Ｇ）前記第１メッセージは、所定のアドレスに行くメッセージと所定のアドレスから来たメッセージの少なくとも一方であると決定したことに基づいて、前記第１メッセージの解析を開始するステップと、
これにより、第２フィルタ基準と第３フィルタ基準の少なくとも一方を、展開する
を更に有する
ことを特徴とする請求項１記載の方法。
【請求項７】
前記所定のプロセスは、コール・トレーシング・プロセスを含む
ことを特徴とする請求項１記載の方法。
【請求項８】
前記第２メッセージのペイロードは、ボイス・メッセージ、ビデオ・メッセージ、テキスト・メッセージの内の少なくとも１つを含む
ことを特徴とする請求項７記載のシステム。
【請求項９】
アプリケーションサーバに於いて、
（Ａ）メモリと、
前記メモリは、実行された時に、メッセージを所定のプロセスで処理するアプリケーションを含むインストラクションを記憶し、
前記アプリケーションは、イニシャル・フィルタ基準と第２フィルタ基準を含み、
前記アプリケーションは、第２フィルタ基準を、アプリケーションが受領した第２メッセージに適用し、これにより第２メッセージを所定のプロセスで処理するか否かを決定し、
前記第２フィルタ基準は、第２メッセージの前にアプリケーションで受領した第１メッセージの特性を予め解析し、前記第１メッセージに前記所定のプロセスを適用すると決定した結果、作成され、
（Ｂ）前記アプリケーションを実行するプロセッサと、
を有する
ことを特徴とするアプリケーション・サーバ。
【請求項１０】
前記第２フィルタ基準に適合しないアプリケーションで受領した第３メッセージは、所定のプロセスで処理されない
ことを特徴とする請求項１０記載のアプリケーション・サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信に関し、特に、コール・トレーシング方法に関する。
【背景技術】
【０００２】
ＳＩＰは、オープンなシグナリング・プロトコルであり、あらゆる種類のリアルタイムの通信セッションを確立する。ＳＩＰを用いて確立される通信セッションの一例は、音声、画像、インスタント・メッセージングを含む。これ等の通信セッションは、あらゆる種類の通信機器上で実行される。通信機器の一例としては、パソコン、ラップトップコンピュータ、パーソナルデジタルアシスタントである。ＳＩＰのキーの１つとなる特徴は、エンドユーザのＡＯＲ（Address of Record ）を全ての通信の１個の統合したパブリック・アドレスとして用いることができる点である。かくして、ＳＩＰを利用した通信の世界に於いては、ユーザのＡＯＲは、ユーザの唯一無二の（即ち単一の）アドレスとなり、ユーザを、ユーザに関連する通信機器の全てに関連付けている。このＡＯＲを用いると、発呼者は、ユーザ（被呼者）の通信機器の内の何れか１つ（ユーザ・エージェントと称する）に達することができ、これは唯一無二のデバイスのアドレス或いは電話番号のそれぞれを知らなくても、行うことができる。
【０００３】
従来の通信システムに於けるコール・トレーシング（電話の最後の使用状態（通話先等）を確認すること）は比較的容易であった。その理由は、通信の間に送信される大部分のメッセージはその通信に関連している（例えばコンテンツ担持のメッセージ）からである。しかしＳＩＰを使用すると、特定のエンドポイント又はＩＰアドレスからの多くのメッセージは、その呼びに対し全て有効であるとは限らない。例えば、ＳＩＰは、コンテンツ担持のメッセージではない、即ち、コール・トレーシング・プロセスに必ずしも利用できない多くのメッセージを利用する。かくして、ＳＩＰ環境に於いて、コール・トレーシングを自動的に行う解決方法は、今のところない。
【０００４】
従来のコール・トレーシングの解決方法は、１個のフィルタを用いて、コール・トレーシング・メカニズムに利用される呼びを特定していた。このフィルタ基準は、発信者のＩＤと目的地のＩＤとを含む。例えばコール・トレーシングのフィルタ基準は、コール・トレーシングはＩＰアドレス「Ａ」からＩＰアドレス「Ｂ」へのあらゆる呼びに対して或いはその逆に対して行われることを、示している。ＳＩＰ環境における従来の機構の問題点は、１個のフィルタ基準が、重要でない即ち適切でないＳＩＰメッセージに対しコール・トレーシングをトリガーしてしまうことである。これにより、不必要にコール・トレーシング資源とコール記録資源とを占有することになる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の一態様は、ＳＩＰ環境で使用されるのに適したインテリジェントなコール・トレーシング・メカニズムを提供することである。本発明の一実施例は、通信セッションのトレーシング用にマルチレベルのフィルタ基準を提案する。第１フィルタ基準は、従来のフィルタ基準に類似し、コーラー又はコーリーを中心にしている。例えば第１フィルタ基準は、通信セッションのトレーシングは、アドレス「Ａ」からアドレス「Ｂ」への呼び、又はドメイン「Ｘ」からドメイン「Ｙ」への呼びに対し、行わなければならないと指示している。第１フィルタ基準に適合する第１メッセージが見いだされた場合には、モジュールは、この第１メッセージを解析して、ある種のコール・パラメータ或いは特性（例えばコールＩＤとタグ情報）を見つけ出す。その後、このコールＩＤとタグ情報を用いて、第２フィルタ基準を展開（生成）する。この第２フィルタ基準を用いて、後から送信されたメッセージをフィルタ処理する。この後から送信されたメッセージは、必ずしも第１フィルタ基準を満たしていてもいなくてもよい。
【０００６】
このようなシステム構築により提供される利点は、第１フィルタ基準は、それ等が確立したコール・ダイアログに関連するメッセージを要求しない点である。ＳＩＰは、ダイアログが一旦確立されると、メッセージ・フィールドの一部を変化させる（mutates）。第１フィルタがこれ等のフィールドに依存している場合には、最初のトリガリング・フィルタは、これ等のメッセージを見逃す。本発明の一態様でば、第１フィルタにマッチしたイニシャル・メッセージにより生成されたダイアログを捕獲することである。そうする為に、本発明の一実施例は、第２のダイアログ・フィルタ又はコール・フィルタをダイナミックに或いはアルゴリズムで生成して、ダイアログ中（in-dialog）のメッセージを獲得することである。このダイアログ又はコール・フィルタが終了するのは、ダイアログが終了した時、フィルタで規定した非活性状態の時間切れが発生した時、タ−ミナル・メッセージのカウント閾値を越えた時である。
【０００７】
前記のメッセージのカウント閾値は、第２の個別のインスタンスに特定のものであるか、トリガリング・フィルタとそれにより生成されたダイアログ・フィルタに特有なものであるか、或いはトレーシング・アプリケーションに対し一般的なものである。この階層化の組み合わせからのリミット閾値を強化してもよい。
【０００８】
第１フィルタ基準は、活性状態を維持し、その結果、他のダイアログは、同時に或いは順次トレースされる。この第１フィルタ基準は、コンテンキスト−ベースの第２フィルタをサポートしたり維持したりする必要がないが、第２フィルタで共有される残留メッセージ・リミット・カウンターが生成される。
【０００９】
第２フィルタ基準が創設されると、この第２フィルタ基準は、第１フィルタ基準が適用される前に、適用される。これにより、ダイアログに関連するがドロップされたメッセージが、第２のコール・トレーシング基準内に含まれる。これによりドロップしたダイアログが完全にトレースされる。これが有益なのは、悪意の呼びが、通信サーバにより壊され廃棄されたメッセージをしばしば含むからである。トリガー・フィルタとコール・フィルタの両方とも、ドロップしたメッセージに適用され、これにより、完全な悪意のコール・メッセ−ジ・シーケンスの捕獲と解析が可能となる。従って、本発明の他の態様により、ドロップしたメッセージは、第２フィルタに関連するトレース・フィルタに関連してログされるが、これは第１フィルタ基準に適合したメッセージに依存せず、行うことができる点である。
【００１０】
本発明の一実施例は、呼びに限定されず、あらゆる種類の通信セッションで利用可能である。自動的なコンテキスチャル・トレーシングは、通信セッションに関連する目的にも拡張可能である。例えば、セッションベースのテキスト・メッセージング或いはセキュリティカメラのストリーミングは、アプリケーション・ユーザ・エージェントによりセッション又はダイアログのセットアップに関連し、これはこの適合型の（自動）技術を用いてトレースすることができる。
【課題を解決するための手段】
【００１１】
本発明のコール・トレーシングを実行する方法は、
（Ａ）第２メッセージを受領するステップと、
（Ｂ）第２フィルタ基準を前記第２メッセージに適用するステップと、
これにより、前記第２メッセージに対し所定のプロセスを実行し、
前記第２フィルタ基準は、第２メッセージの前に受領した第１メッセージの特性を予め解析し、前記第１メッセージに前記所定のプロセスを適用すると決定した結果、作成され、
（Ｃ）前記第２メッセージが前記第２フィルタ基準に適合すると決定するステップと、
（Ｄ）前記第２メッセージを所定のプロセスで処理するステップ、
を有する。
【００１２】
本明細書に於いて、用語「トランザクション」とは、２箇所のエンドポイントの間で、選択的事項として中間プロキシを介して、情報を交換することを意味する。これは、その一部がエントツーエンドではない関連するメッセージの多重性（multilicity）を交換することにより行われる。
【００１３】
用語「ダイアログ」又は「セッション」は、トランザクションにより確立された、選択的事項として一方により更新されたか或いは着信した、通信コンテンツを意味する。      ダイアログは、不動作（トランザクションの欠如）に起因するタイムアウト（時間切れ）により終了する。
用語「イニシャル・トランザクション」とは、ダイアログを確立するトランザクションをいう。
用語「更新されたトランザクション」とは、確立もしないし着信もしないダイアログに関連するミド・ダイアログのトランザクションをいう。
用語「フリースタンディング・トランザクション」とは、ダイアログに関係せずダイアログを確立も着信もしないトランザクションをいう。
用語「ターミネイティング・トランザクション」とは、ダイアログを着信する或いは終了（着信することにより、それまでのトランザクションは終了する、従って着信と終了とはほぼ同意である）させるトランザクションをいう。
【００１４】
用語「トリガー・フィルタ」と「第１（イニシャル）フィルタ」とは、同意で用いられ、第１のアプリケーション・フィルタ或いは第１のフィルタ・ルールを意味する。これ等のフィルタは、ある属性を有する。この属性は、イニシャル・トランザクション又はフリースタンディング・トランザクション内の一部或いは全てのメッセージのコンテンツに適用される。トリガー・フィルタ又は第１フィルタを用いて、マッチ（一致）が成功すると、トリガリング（トリガーした）メッセ−ジは、関連するトランザクション内の他の全てのメッセージにより、トレースされ追従される。ダイアログが確立されると、更新されたトランザクションとターミネイティング・トランザクションに関連する全てのメッセージは、ダイアログ・フィルタによりトレースされる。
【００１５】
用語「ダイアログ・フィルタ」、「コール・フィルタ」、「第２フィルタ」は、同意で用いられ、ダイアログに関連する全てのメッセージをフィルタ処理するために、トリガー・フィルタロジックにより創設されたあらゆる種類のフィルタを意味する。ダイアログ・フィルタのマッチ属性は、以下の組合せを含む。
（１）マッチしたメッセージから採られた属性、
（２）トリガー・フィルタからコピーされた属性、
このトリガー・フィルタは、イニシャル・トランザクション内のイニシャル・メッセージのマッチングに際し、そのフィルタが適用されてもされなくてもよい。
（３）外部ソースから計算された属性、例えば時間、日付等である。
（４）前記の（１）、（２）、（３）の組み合わせから計算された属性、
更にダイアログ・フィルタは、イニシャル・トランザクションの残りのメッセージにマッチするが、これは、トリガー・フィルタがそれをできない場合である。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施例による通信システムのブロック図。
【図２】本発明の一実施例で使用されるデータ構造を表す図。
【図３】本発明の一実施例によりメッセージを処理する方法のフローチャート図。
【発明を実施するための形態】
【００１７】
本発明は、以下に説明する通信システムで用いられる。本発明は、サーバ又はデータベースを使用するシステムで使用されるが、本発明は、特定の通信システム或いはシステムの構成要素の構築に限定されるものではない。ここに開示した技術は、呼びをトレースしたり類似のアプリケーションを起動したりするのが好ましい通信アプリケーションで使用される。
【００１８】
本発明のシステムと方法は、解析ソフトウエア、モジュール、関連する解析ハードウエアを例に説明する。しかし本発明を明瞭にするために、以下の説明では、公知の構造、要素、装置はブロックで示して、その詳細な構造の説明は、割愛したり或いは概要のみを説明する。
【００１９】
図１において、通信システム１００は、通信ネットワーク１０４を有する。この通信ネットワーク１０４は、通信機器１０８とアプリケーション・サーバ１１２とを接続する。
【００２０】
信頼された通信ネットワーク１０４は、公知の通信媒体或いは通信媒体の集合体であり、あらゆる種類のプロトコルを用いてメッセージをエンドポイント間で伝送する。通信ネットワーク１０４は、有線又は無線の通信技術を含む。インターネットは、通信ネットワーク１０４の一例であり、ＩＰネットワークを構成する。このＩＰネットワークは、世界中に分散した多くのコンピュータと多くの通信機器からなり、電話システムと他の通信手段を介して接続される。通信機器１０８の一例は、Standard Plain Old Telephone System (POTS),Integrated Services Digital Network(ISDN),Public Switched Telephone Network(PSTN),Local Area Network(LAN),Wide Area Network(WAN), Session Initiation Protocol(SIP)Network,  とあらゆる企業内ネットワークと、パケット交換或いは回路交換のネットワークを含む。 
【００２１】
通信機器１０８は、あらゆる種類の通信機器或いは処理装置であり、例えばパソコン、ラップトップ、ＰＤＡ、携帯電話、スマートフォン、通常の電話、アナログフォン、ＤＣＰ電話或いはそれらの組み合わせである。１個の通信機器１０８は、一人のユーザが制御するか或いは関連しているが、複数のユーザで使用することもできる。例えば企業内の通信機器は、社員が有効なユーザネームとパスワードを入力することにより、利用できるようになっている。
【００２２】
複数の通信機器１０８を、同一のユーザに関連していてもよい。言い換えると、２個の通信機器１０８は一人のユーザに帰属するが、様々な通信機器に対応できる。一例として、ユーザは、４個の通信機器１０８を有し、それぞれが、一人のユーザの個人用の電話、仕事場の電話、個人用のパソコン、ｅメール装置にそれぞれ対応してもよい。別の構成として、各通信機器１０８は、様々なユーザが所有し操作することもできる。
【００２３】
一般的に通信機器１０８は、他の通信機器１０８とのビデオ通信、オーディオ通信、テキスト通信、データ通信をサポートする。別の通信機器１０８と通信するために、ある通信機器１０８が使用する通信媒体の種類は、両方の通信機器１０８或いは一方の通信機器１０８に利用可能な通信アプリケーションに依存する。
【００２４】
アプリケーション・サーバ１１２は、アプリケーションとファンクションを、通信機器１０８に提供する、特に他の通信機器１０８との通信セッションの間に提供する。本発明の一実施例によれば、アプリケーション・サーバ１１２に記憶されているアプリケーションは、ＳＩＰアプリケーションを含み、フューチャとファンクションをＳＩＰの呼び或いはＳＩＰの通信セッションに提供する。このようなフューチャとファンクションは、通信セッションの一部であるメッセージを処理する事により提供される。アプリケーション・サーバ１１２に記憶されるアプリケーションの一例は、コール・トレーシング・アプリケーション１１６である。このコール・トレーシング・アプリケーション１１６は、プロセッサにより実行されると、コール・トレーシング機能を、アプリケーション・サーバ１１２が受領したメッセージに対し、実行する。
【００２５】
本発明の一実施例によれば、コール・トレーシング・アプリケーション１１６は、コール・トレーシングに関連する特定の機能を提供する。例えば、メッセージの同定（特定）、記録、記憶装置を提供する。コール・トレーシング・アプリケーション１１６は、トレーシング・モジュール１２８を有し、コール・トレーシング・アプリケーション１１６が、このようなタスクを実行するのを補助する。
【００２６】
本発明の一実施例によれば、コール・トレーシング・アプリケーション１１６は、２つのフィルタ基準を有する。第一のフィルタ基準は、トリガー・フィルタ基準１２０に対応し、コール・トレーシング・プロセスの処理が行われる通信セッション内の第１のメッセージを特定するのに用いられる。第２のフィルタ基準は、ダイアログ又は呼びフィルタ基準１２４に対応する。このダイアログ又は呼びフィルタ基準１２４は、展開或いは開発され、より正確且つ自動的に通信セッションで送信されるメッセージ、特にコンテンツ端持（含む）メッセージとコンテンツ非端持（含まない）メッセージの両方を用いて、コール・トレーシング・プロセスの処理を行うべきか否かを決定する。
【００２７】
本発明の一実施例によれば、ダイアログ又は呼びフィルタ基準１２４は、第１メッセージの特性を以前に解析し、この第１メッセージがコール・トレーシング・プロセスで処理すべきであるとの決定した結果として、展開（開発）される。言い換えると、コール・トレーシング・アプリケーション１１６は、通信セッションの間メッセージを受領し、通信セッションからのメッセージがトリガー・フィルタ基準１２０を満たすと決定し、そのメッセージを、コール・トレーシング・プロセスで処理する。これは、トレーシング・モジュール１２８を起動することにより、行う。
【００２８】
更にトリガー・フィルタ基準１２０を満たすメッセージは、トレーシング・モジュール１２８により又はコール・トレーシング・アプリケーション１１６内の他のモジュールで解析され、ダイアログ又は呼びフィルタ基準１２４を決定する。一例として、トレーシング・モジュール１２８は、トリガー・フィルタ基準１２０を満たすメッセージを解析して、呼びＩＤとタグ情報のような呼びパラメータ又は特性のあるタイプを獲得する。呼びＩＤ（これは発呼者又は被呼者の組み合わせと共に開始した時間と呼びを含む識別子又は呼びの開始時間、発呼者、被呼者、の何れかにより生成されるハッシュ関数であるか又はランダムに割り当てられた呼び識別子である）とタグ情報（これはメッセージヘッダー内のタグとして記憶されているもの）をその後用いて、ダイアログ又は呼びフィルタ基準１２４を得る。呼びＩＤは、発呼者又は被呼者の組み合わせと共に開始した時間と呼びを含む識別子又は呼びの開始時間、発呼者、被呼者、の何れかにより生成されるハッシュ関数であるか又はランダムに割り当てられた呼び識別子である。タグ情報は、メッセージヘッダー内のタグとして記憶されているものである。
【００２９】
ＳＩＰに於いては、タグは発呼者に関連し、別のタグは被呼者に関連している。これ等のタグは、アプリケーション識別子と考えられる。エンドポイントに複数のアプリケーションがあり、それ故にタグ上には複数のアプリケーションがある。タグは、ＳＩＰでは、要求されるが他のプロトコルでは存在しない。それは、セッションを確立した初期メッセージから集められた情報内のコンポーネントにすぎない。この情報を用いて、プロトコルに特有のフィルタを生成して、セッションを捕獲する。ＳＩＰの場合には、全てのセッションには、当事者がコール・トレースする事に興味はない最大２０５１０９０個のタグがあるが、このようなタグは無視される。
【００３０】
このダイアログ又は呼びフィルタ基準１２４を用いて、後から送信されたメッセージをフィルタ処理する。このメッセージは、トリガー・フィルタ基準１２０に適合していてもいなくてもよい。それ故に、イニシアル・トリガーがディスエイブルされると、トリガー・フィルタ基準１２０に適合しているメッセージは、それ等がダイアログ又は呼びフィルタ基準に適合していない場合には、トレースされない。このことが言えるのは、イニシアル・トリガー・フィルタがディスエイブルされている時のみである。これにより、コール・トレーシングを関連メッセージに限定するのを補助し、通信セッションのトレーシング資源（例えばプロセッサ、メモリ等）を保存して、必要なとき或いは関連する時のみ、使用される。しかし、イニシアル・トリガー・フィルタ基準がイネーブルされ続けると、新たなダイアログ又は呼びフィルタ基準１２４が生み出される。コール・トレーシングの結果は、アプリケーション・サーバ１１２内に又は遠隔地にあるデータベース（企業内データベース１３２）内に保存される。企業内データベース１３２は、ユーザ（必ずしも企業内ユーザに限定されない）に関連する情報とその通信披瀝を含む。
【００３１】
図２に於いて、本発明の一実施例のデータ構造２００を説明する。データ構造２００は、複数のフィールドを有し、コール・トレーシング・プロセスを実行することに関連する情報を記憶する。従って、データ構造２００は、アプリケーション・サーバ１１２又は企業内データベース１３２に記憶される。データ構造２００は、コール・トレーシング・プロセスの実行結果、又は登録されたコンテンツが記憶されるメモリロケーションに対するポインタに関連する情報を含む。具体的には、データ構造２００は、コール・プロパティ・フィールド２０４と、トリガー・トレーシング・フィルタ基準フィールド２０８と、ダイアログ又はコール・トレーシング・フィルタ基準フィールド２１２と、関連通信フィールド２１６と、フィルタ終了情報フィールド２２０とを有する。
【００３２】
コール・プロパティ・フィールド２０４は、呼びの特性或いは通信セッションの特性に関連する情報を含む。コール・プロパティ・フィールド２０４は、トリガー・フィルタ基準１２０を満足させるメモリを解析する事により、入力される。結果として、コール・プロパティ・フィールド２０４は、通信セッションへの当事者の同定情報と、タグ識別子とを含む。このタグ識別子は、後から送信されるメッセージのタグと比較され、このようなメッセージがそれに適用されるコール・トレーシング・プロセスを有するか否かを決定する。
【００３３】
トリガー・トレーシング・フィルタ基準２０８は、トリガー・フィルタ基準１２０を有する。このトリガー・フィルタ基準１２０は、コール・トレーシング・プロセスが適用される当事者又は通信機器を（通常、通信機器の識別子又はポートアドレスで）規定する。トリガー・トレーシング・フィルタ基準２０８内の情報を用いて、通信セッションがそれに適用されるコール・トレーシング・プロセスを有するか否かを決定する。
【００３４】
ダイアログ又はコール・トレーシング・フィルタ基準２１２は、ある情報を有し、この情報を用いて、トリガー・フィルタ基準１２０を満足させる通信セッション内のメッセージがそれに適用されるコール・トレーシング・プロセスを有するべきか否かを、決定する。従って、ダイアログ又はコール・トレーシング・フィルタ基準２１２は、第２のダイアログ又は呼びフィルタ基準１２４を、他の関連情報と共に、有する。これらをを用いて、通信セッション（これはダイアログとも称する）が、それに適用されるトリガー・フィルタ基準１２０を有するか否かを決定する。
【００３５】
他の通信・フィールド２１６は、様々な通信セッションの間の関係を特定する情報を有する。例えば呼びがドロップ（廃棄）され、その後同一の当事者の間で再開されると、ドロップされた呼びは、後続の呼びに関連しているという事実が、他の通信・フィールド２１６内に保持される。これは、２個の呼びが互いに関連している時は、複数の当事者間ののカンファレンスの場合である時に、特に有益である。
【００３６】
フィルタ終了情報フィールド２２０は、あるデータを有する。このデータを用いて、第２のダイアログ又は呼びフィルタ基準１２４は廃棄されるべきか或いは既に使用されていないかの決定が行われる。具体的には、通信セッションがトレーシング・モジュール１２８によりトレースされると、通信セッションのトレースを、その全体にわたって、継続することに利点がある。この場合、第２のダイアログ又は呼びフィルタ基準１２４は、通信セッションが終了すると、廃棄或いは無視される。別の構成として、第２のダイアログ又は呼びフィルタ基準１２４は、通信セッションが終了した後所定の間、保持するのが好ましい。これは、特にドロップされた呼びの状況を知るためにも好ましい。この実施例に於いては、フィルタ終了情報２２０は、第２のダイアログ又は呼びフィルタ基準１２４は、トレースされている通信セッションが終了した後所定の時間（例えば５分間、１０分間或いは１日）適用されるべきであると、決定することもできる。
【００３７】
フィルタ終了情報２２０は、第２のダイアログ又は呼びフィルタ基準１２４は通信セッションの開始後所定の時間適用されるべきであると規定することができる。着信情報を通信セッションの開始をベースにすることは、意図したアプリケーションとコール・トレーシング・プロセスの使用により、利点がある場合も無い場合もある。この理由は、特に通信セッションが、第２のダイアログ又は呼びフィルタ基準１２４がドロップする前に、終了しないからである。通信セッションが、第２のダイアログ又は呼びフィルタ基準１２４が終了した後も継続する場合には、第２のダイアログ又は呼びフィルタ基準１２４は、イニシアル・フィルタ基準１２０の下で、通信セッションの別のメッセージを解析して、コール・プロパティ・フィールド２０４を埋めることにより、再開される。
【００３８】
図３に本発明の一実施例のメッセージ処理方法を示す。この方法は、メッセージをアプリケーション・サーバ１１２が受領した時に開始する（ステップ３０４）。この受領したメッセージを、その後、既存のダイアログ又は呼びフィルタ基準１２４に基づいて解析し（ステップ３０８）、このメッセージがコール・トレーシング・プロセスで処理すべきか否かを決定する（ステップ３１２）。具体的には、メッセージが通信セッションの一部であるか或いはトレーシング・モジュール１２８によりトレースされているダイアログの一部である場合には、ダイアログ又は呼びフィルタ基準１２４は、そのダイアログのある呼びはトレーシング・モジュール１２８により処理すべきであると、決定する。上記したように、ダイアログ又は呼びフィルタ基準１２４は、前に受領したメッセージの特性に基づいて生成される。この前に受領したメッセージは、現在受領したメッセージと同一のダイアログの一部である。
【００３９】
呼びの特性がダイアログ又は呼びフィルタ基準１２４にマッチして、このメッセージがコール・トレーシング・プロセスで処理すべきと決定された場合には、本発明の方法は、トレーシング・モジュール１２８を起動する（ステップ３１６）。メッセージがダイアログ又は呼びフィルタ基準１２４を満足しない場合には、本発明の方法は、メッセージは、以前に解析したダイアログの一部であるか否かの決定をする（ステップ３１８）。このステップに於いて、コール・トレーシング・アプリケーション１１６は、メッセージの処理披瀝を解析して、メッセージは、既に解析されているがコール・トレーシング・プロセスでは処理されていない他のダイアログに帰属するか否かを決定する。この決定は、使用される処理用の資源の量を制限するため、特にダイアログをコール・トレースすべきでないとの再度の決定を回帰するために行われる。この問い合わせの応答が肯定的の場合には、本発明の方法は、メッセージは、トレーシング・モジュール１２８を起動せずに、アプリケーション・サーバ１１２により処理する（ステップ３２８）。
【００４０】
受領したメッセージが、ダイアログの第１メッセージ（例：ＳＩＰ  ＩＮＶＩＴＥメッセージ或いは通信セッションを開始する類似のタイプのインビテーション）であるかか、受領したメッセージが、ダイアログの第１のコンテンツ端持メッセージである場合には、メッセージは、トリガー・フィルタ基準１２０に基づいて解析され（ステップ３２０）、メッセージとそのダイアログは、コール・トレーシング・プロセスで処理すべきか否かを決定する（ステップ３２４）。この問い合わせに応答がネガティブな場合（即ちメッセージはトリガー・フィルタ基準１２０を満足しない場合）、本発明の方法はステップ３２８に移る。
【００４１】
受領したメッセージがトリガー（イニシャル）・フィルタ基準１２０を満たすと、本発明の方法は、このメッセージを解析して、使用されているダイアログ又は呼びフィルタ基準１２４を規定し、同一ダイアログの後続のメッセージをフィルタ処理する（ステップ３３２）。メッセージから取り出しダイアログ又は呼びフィルタ基準１２４を展開するのに用いられた情報は、このメッセージの本体又はヘッダー内に含まれる呼びＩＤとタグ情報の少なくとも一方を含む。適切なダイアログ又はダイアログ又は呼びフィルタ基準１２４が展開されると、本発明の方法は、ダイアログ又は呼びフィルタ基準１２４をデータ構造２００内に記憶する（ステップ３３６）。同時に或いはその直後に、トレーシング・モジュール１２８を起動して、受領したメッセージ上でコール・トレーシング機能を実行する（ステップ３１６）。
【００４２】
このプロセスは何回でも繰り返すことができる。斯くして、本発明の実施例は、第１と第２のフィルタ基準に限定されず、３回以上のフィルタ処理も含むことができる。本発明の実施例は、少なくとも第２のフィルタ基準（ダイアログ・マッチング）と第３のフィルタ基準（呼びマッチング）を、１個のメッセージがトリガー・フィルタ基準マッチすることに基づいて、創り出すことができる。上記したように、フィルタ基準のいかなる回数も本発明の範囲に入る。一例として、複数回（数百回もの）ダイアログからなるあらゆる種類の呼び（例、カンファレンス）に於いて、本発明の実施例は、斯く当事者がカンファレンスに追加される毎に、パターン或いはルールにマッチングする新たなフィルタを創り出すことができる。
【００４３】
ダイアログ・フィルタが意図するメッセージは、トリガー・フィルタ基準にマッチしないシグネチャを有することがある。これは、特にＳＩＰのようなプロトコルの場合に当てはまる。この場合に於いて、コンタクト情報が交換され、ダイアログを確立するために使用されたものを置換する。本発明の一実施例によれば、マッチがトリガー・フィルタと行われると、トリガー・フィルタは、「アームド」即ち活性状態にあってもなくてもよい。活性状態にある場合には、新たな独立したダイアログ・フィルタを創設して、新たなダイアログに関連するメッセージを追跡する。
【００４４】
それ等がトリガー・フィルタにマッチしたという事実に基づいて、コール・トレースするために選択された新たなダイアログは、同一のトリガー・フィルタによりマッチされた他のダイアログとオーバーラップする寿命を有する。
【００４５】
オペレーターにより選択されたトリガー・フィルタの属性が、ダイアログ・メッセージのミューテイタブル・フィールド（mutate-able field）に適用されないような場合には、ダイアログ・メッセージは、トリガー・フィルタとダイアログ・フィルタの両方にマッチする。このような場合、ダイアログ・フィルタが支配して、別の二重のダイアログ・フィルタが創設されることはない。
【００４６】
ダイアログが確立された後トリガー・フィルタが活性化され、ダイアログ・メッセージがトリガー・フィルタにマッチすると、ダイアログ・フィルタが構築されて、ダイアログの残りの部分がトレースされる。
【００４７】
本発明の一実施例によれば、通信サーバーが、サイレント・パーティとして行動するために呼びに自分自身を課する場合がある。これは、バック・ツー・バックエージェントと称する。カンファレンスコールが、何回かの二人の当事者の呼びを実際に呼びから成り、カンファレンスサーバーが互いに共通の当事者として機能する場合がある。「呼び」が、シグナリングレベルで複数のダイアログに分けられるといつでも、この関連する呼びのそれぞれをトレースし関連付けるのが好ましい（トラブルシューティングや合法的なインターセプト等）。本発明の実施例は、次に述べる幾つかの方法により複合的な呼びをサポートする方法を提供する。
（１）トリガー・フィルタが、個々の低レベルのダイアログの何れかの確立を認識し、それぞれに対する個別のダイアログ・フィルタを形成する。
（２）トリガー・フィルタが、個々の低レベルのダイアログの何れかの確立を認識し、まずこのようなマッチがあると、これとマルチパーティ・コールを含む後続の複数回のダイアログをマッチするのに十分広いダイアログ・フィルタを形成する。
（３）この第１に形成されたダイアログ・フィルタが、更なる参加者を含めるために呼びのイクステンションを認識し、それ等が創設された時に各関連するダイアログに伸びるよう、そのマッチ基準をを自己修正する。
（４）この第１に形成されたダイアログ・フィルタが、更なる参加者を含めるために呼びのイクステンションを認識し、それ等が創設された時に各関連するダイアログにマッチするよう、更なるダイアログ・フィルタを作る。
後者の２つの方法は、イニシアル・トリガー・フィルタが呼びのイクステションをモニタしないときに有益である。その理由は、それはダイアログ内のメッセージを得るためにフィルタ処理しないからである。
【００４８】
用語「コンピュータで読み取り可能な媒体」とは、コンピュータが実行するプロセスを記憶する媒体或いは伝送媒体を意味する。媒体とは、非揮発性媒体、揮発性媒体、伝送媒体を意味する。非揮発性の媒体とは、ＮＶＲＡＭ、磁気ディスク又は光学ディスクである。揮発性媒体とは、ＤＲＡＭ、メインメモリを意味する。このコンピュータで読み取り可能な媒体の一般的なものとしては、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気ディスク、他の磁気媒体、磁気光学媒体、ＣＤ−ＲＯＭ、パンチカード、ペーパーテープ等、更にＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、メモリカード、メモリチップ、或いはカートリッジ等がある。ｅ−ｍａｉｌ或いは他の自己保存型の情報アーカイブに付属したデジタルファイルは、記憶媒体に等価な分配型の記憶媒体であり、本発明でいう記憶媒体と見なすことができる。コンピュータで読み取り可能な媒体がデータベースとして構築された場合には、このデータベースは、あらゆる種類のデータベース、例えば関連型、階層型、オブジェクト志向型のいずれをも含む。
本発明のリンクは、回路交換又はパケット交換型の通信のリンクを例に説明した。しかし他の通信システム、例えば、ＳＩＰベースの通信システムとそのエンドポイントもも利用可能である。リンクとして使用される伝送媒体は、電気信号を搬送できる媒体（同軸ケーブル、銅線ワイヤ、光ファイバー）、音波或い光波を搬送できる媒体、或いは無線やインフラレッド（赤外線）の通信媒体も含む。
本明細書の「モジュール」「エージェント」「ツール」とは、ハードウエア、ソフトウエア、ファームウエア、或いはそれらの組み合わせである。構成要素に関連した機能を実行する。
本発明の「エンドポイント」は、例えば、電話機、スピーカホーン、携帯電話、ＳＩＰでイネーブルされるエンドポイント、ソフトフォン、ＶｏＩＰ、ＰＤＡ，ビデオカンファランスシステム、有線装置又は無線装置等を含む。更に、音声／データ通信を送受信できる装置を指す。
本発明は、インターネット・プロトコルで接続されたネットワーク環境を例に説明する。本発明のシステムと方法は、ソフトウエアとモジュールとそれらに関連するハードウエアとネットワークを例に説明するが、公知の構造、構成要素、装置は、ブラックボックスの形態で示し単に概要を示すに留める。本発明は、実施例以外に様々な方法で実現できる。
上記の実施例では、システムの様々な構成要素或いはシステムのある構成要素は、遠隔地に即ち分散型ネットワーク（ＬＡＮ、ケーブルネットワーク、インターネット）のノードに、又は専用のシステム内の離れた点に配置されている。しかしシステムのこれ等の構成要素は、１つの装置例えばゲートウエイに組み込むこともできる。或いは分散型ネットワーク（例えばアナログ又はデジタルの通信ネットワーク、パケット交換ネットワーク、回路交換ネットワーク、ケーブルネットワーク）の特定のノード上に、集めることもできる。
ここで議論したフローチャートは、特定のイベントのシーケンスを例に説明するが、本発明の操作に影響を及ぼすことなく、これ等のシーケンスの変更、追加、一部省略も可能である。本発明のシステムと方法は、特殊コンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、ＡＳＩＣ、他の集積回路ＤＳＰ、ハードワイヤド電子素子、論理素子、例えばディスクリートな要素回路、プログラム可能な論理回路、ゲートアレイ、例えばＰＬＤ、ＰＬＡ、ＦＰＧＡ、ＰＡＬ、特殊目的コンピュータ或いは他の手段で実現できる。
本発明を実施するのに用いられるハードウエアは、コンピュータ、携帯用装置、電話器（携帯電話、インターネット電話、デジタル、アナログそれ等の組合せの電話）や他の公知のハードウエアである。これ等の装置のあるものは、プロセッサ（例；シングル又はマルチプルのマイクロプロセッサ）、メモリ、非揮発性記憶媒体、入力装置、出力装置等を含む。更に別の形態のソフトウエアの実行は、分散型の処理、要素／目的型の分散型処理、並列処理或いは仮想機械処理で実行される。
他の実施例に於いては、ここに開示された方法は、オブジェクト指向のソフトウエア開発環境を用いたソフトウエアと組み合わせて実現できる。このソフトウエア環境は、様々なコンピュータ又はワークステーションで使用されるポータブルなソースコードを提供する。別の構成として、開示されたシステムは、標準の論理回路又はＶＬＳＩデザインを用いて一部又は全部のハードウエアで実現できる。本発明のシステムを実行するのにハードウエア又はソフトウエアを用いるかは、システムに要求される速度と効率に依存する。特に使用される特定のソフトウエア、ハードウエアのシステム、マイクロプロセッサ又はマイクロコンピュータシステムに依存する。
他の実施例に於いては、開示された方法は、コンピュータで読み取り可能な記憶媒体に記憶されたソフトウエアで実行され、コントローラとメモリとを有するプログラムされた汎用コンピュータ、特殊目的コンピュータ、マイクロプロセッサ等で実施される。これ等の実施例に於いては、本発明のシステムと方法は、パソコンに組み込まれたプログラムで実行できる。例えばアプレット、ＪＡＶＡ、ＣＧＩスクプリト、サーバ或いはコンピュータ、ワークステーションに記録された資源或いは専用の測定システムに組み込まれたルーチン等で実施できる。
本発明のシステムは、本発明のシステムと方法をソフトウエア又はハードウエアのシステムに物理的に組み込むことにより実施することもできる。  本発明は、特定の標準及びプロトコルを例に説明したが、本発明はこのような標準とプロトコルに制限されるものではない。他の類似の標準とプロトコルも本発明で用いることができる。これ等の標準とプロトコルは、今後開発されるより効率的な標準とプロトコルで置換されるかも知れないが、このような置換も本発明の一態様（一実施例）と考えられる。
【００４９】
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。用語「又は」に関して、例えば「Ａ又はＢ」は、「Ａのみ」、「Ｂのみ」ならず、「ＡとＢの両方」を選択することも含む。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
【符号の説明】
【００５０】
１００  通信システム
１０４  通信ネットワーク
１０８  通信機器
１１２  アプリケーション・サーバ
１１６  コール・トレーシング・アプリケーション
１２０  トリガー・フィルタ基準
１２４  トリガー／呼びフィルタ基準
１２８  トレーシング・モジュール
１３２  企業内データベース
２０４  コール・プロパティ
２０８  トリガー・トレーシング・フィルタ基準
２１２  ダイアログ又はコール・トレーシング・フィルタ基準
２１６  他の通信
２２０  フィルタ終了情報
図３
３０４：メッセージを受領する
３０８：ダイアログ又は呼びのフィルタ基準を、メッセージに適用する
３１２：ダイアログ又は呼びのフィルタ基準は、メッセージにマッチするか？
３１６：トレーシングモジュールを起動する
３１８：メッセージは、以前に解析したダイアログの一部か？
３２０：トリガー・フィルタ基準を、メッセージに適用する
３２４：トリガー・フィルタ基準は、メッセージにマッチするか？
３２８：トレーシングモジュールを起動せずに、メッセージが通過するのを許す
３３２：メッセージを解析する
３３６：ダイアログ又は呼びのフィルタ基準を開発し記憶する
【図１】
2011045056.tif 000003
【図２】
2011045056.tif 000004
【図３】
2011045056.tif 000005
【外国語明細書】
2011045056000001.pdf