(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の一態様は、SIP環境で使用されるのに適したインテリジェントなコール・トレーシング・メカニズムを提供することである。本発明の一実施例は、通信セッションのトレーシング用にマルチレベルのフィルタ基準を提案する。第1フィルタ基準は、従来のフィルタ基準に類似し、コーラー又はコーリーを中心にしている。例えば第1フィルタ基準は、通信セッションのトレーシングは、アドレス「A」からアドレス「B」への呼び、又はドメイン「X」からドメイン「Y」への呼びに対し、行わなければならないと指示している。第1フィルタ基準に適合する第1メッセージが見いだされた場合には、モジュールは、この第1メッセージを解析して、ある種のコール・パラメータ或いは特性(例えばコールIDとタグ情報)を見つけ出す。その後、このコールIDとタグ情報を用いて、第2フィルタ基準を展開(生成)する。この第2フィルタ基準を用いて、後から送信されたメッセージをフィルタ処理する。この後から送信されたメッセージは、必ずしも第1フィルタ基準を満たしていてもいなくてもよい。
【0006】
このようなシステム構築により提供される利点は、第1フィルタ基準は、それ等が確立したコール・ダイアログに関連するメッセージを要求しない点である。SIPは、ダイアログが一旦確立されると、メッセージ・フィールドの一部を変化させる(mutates)。第1フィルタがこれ等のフィールドに依存している場合には、最初のトリガリング・フィルタは、これ等のメッセージを見逃す。本発明の一態様で
は、第1フィルタにマッチしたイニシャル・メッセージにより生成されたダイアログを捕獲することである。そうする為に、本発明の一実施例は、第2のダイアログ・フィルタ又はコール・フィルタをダイナミックに或いはアルゴリズムで生成して、ダイアログ中(in-dialog)のメッセージを獲得することである。このダイアログ又はコール・フィルタが終了するのは、ダイアログが終了した時、フィルタで規定した非活性状態の時間切れが発生した時、タ−ミナル・メッセージのカウント閾値を越えた時である。
【0007】
前記のメッセージのカウント閾値は、第2の個別のインスタンスに特定のものであるか、トリガリング・フィルタとそれにより生成されたダイアログ・フィルタに特有なものであるか、或いはトレーシング・アプリケーションに対し一般的なものである。この階層化の組み合わせからのリミット閾値を強化してもよい。
【0008】
第1フィルタ基準は、活性状態を維持し、その結果、他のダイアログは、同時に或いは順次トレースされる。この第1フィルタ基準は、コンテンキスト−ベースの第2フィルタをサポートしたり維持したりする必要がないが、第2フィルタで共有される残留メッセージ・リミット・カウンターが生成される。
【0009】
第2フィルタ基準が創設されると、この第2フィルタ基準は、第1フィルタ基準が適用される前に、適用される。これにより、ダイアログに関連するがドロップされたメッセージが、第2のコール・トレーシング基準内に含まれる。これによりドロップしたダイアログが完全にトレースされる。これが有益なのは、悪意の呼びが、通信サーバにより壊され廃棄されたメッセージをしばしば含むからである。トリガー・フィルタとコール・フィルタの両方とも、ドロップしたメッセージに適用され、これにより、完全な悪意のコール・メッセ−ジ・シーケンスの捕獲と解析が可能となる。従って、本発明の他の態様により、ドロップしたメッセージは、第2フィルタに関連するトレース・フィルタに関連してログされるが、これは第1フィルタ基準に適合したメッセージに依存せず、行うことができる点である。
【0010】
本発明の一実施例は、呼びに限定されず、あらゆる種類の通信セッションで利用可能である。自動的なコンテキスチャル・トレーシングは、通信セッションに関連する目的にも拡張可能である。例えば、セッションベースのテキスト・メッセージング或いはセキュリティカメラのストリーミングは、アプリケーション・ユーザ・エージェントによりセッション又はダイアログのセットアップに関連し、これはこの適合型の(自動)技術を用いてトレースすることができる。
【課題を解決するための手段】
【0011】
本発明のコール・トレーシングを実行する方法は、
(A)第2メッセージを受領するステップと、
(B)第2フィルタ基準を前記第2メッセージに適用するステップと、
これにより、前記第2メッセージに対し所定のプロセスを実行し、
前記第2フィルタ基準は、第2メッセージの前に受領した第1メッセージの特性を予め解析し、前記第1メッセージに前記所定のプロセスを適用すると決定した結果、作成され、
(C)前記第2メッセージが前記第2フィルタ基準に適合すると決定するステップと、
(D)前記第2メッセージを所定のプロセスで処理するステップ、
を有する。
【0012】
本明細書に於いて、用語「トランザクション」とは、2箇所のエンドポイントの間で、選択的事項として中間プロキシを介して、情報を交換することを意味する。これは、その一部がエントツーエンドではない関連するメッセージの多重性(multilicity)を交換することにより行われる。
【0013】
用語「ダイアログ」又は「セッション」は、トランザクションにより確立された、選択的事項として一方により更新されたか或いは着信した、通信コンテンツを意味する。 ダイアログは、不動作(トランザクションの欠如)に起因するタイムアウト(時間切れ)により終了する。
用語「イニシャル・トランザクション」とは、ダイアログを確立するトランザクションをいう。
用語「更新されたトランザクション」とは、確立もしないし着信もしないダイアログに関連するミド・ダイアログのトランザクションをいう。
用語「フリースタンディング・トランザクション」とは、ダイアログに関係せずダイアログを確立も着信もしないトランザクションをいう。
用語「ターミネイティング・トランザクション」とは、ダイアログを着信する或いは終了(着信することにより、それまでのトランザクションは終了する、従って着信と終了とはほぼ同意である)させるトランザクションをいう。
【0014】
用語「トリガー・フィルタ」と「第1(イニシャル)フィルタ」とは、同意で用いられ、第1のアプリケーション・フィルタ或いは第1のフィルタ・ルールを意味する。これ等のフィルタは、ある属性を有する。この属性は、イニシャル・トランザクション又はフリースタンディング・トランザクション内の一部或いは全てのメッセージのコンテンツに適用される。トリガー・フィルタ又は第1フィルタを用いて、マッチ(一致)が成功すると、トリガリング(トリガーした)メッセ−ジは、関連するトランザクション内の他の全てのメッセージにより、トレースされ追従される。ダイアログが確立されると、更新されたトランザクションとターミネイティング・トランザクションに関連する全てのメッセージは、ダイアログ・フィルタによりトレースされる。
【0015】
用語「ダイアログ・フィルタ」、「コール・フィルタ」、「第2フィルタ」は、同意で用いられ、ダイアログに関連する全てのメッセージをフィルタ処理するために、トリガー・フィルタロジックにより創設されたあらゆる種類のフィルタを意味する。ダイアログ・フィルタのマッチ属性は、以下の組合せを含む。
(1)マッチしたメッセージから採られた属性、
(2)トリガー・フィルタからコピーされた属性、
このトリガー・フィルタは、イニシャル・トランザクション内のイニシャル・メッセージのマッチングに際し、そのフィルタが適用されてもされなくてもよい。
(3)外部ソースから計算された属性、例えば時間、日付等である。
(4)前記の(1)、(2)、(3)の組み合わせから計算された属性、
更にダイアログ・フィルタは、イニシャル・トランザクションの残りのメッセージにマッチするが、これは、トリガー・フィルタがそれをできない場合である。
【発明を実施するための形態】
【0017】
本発明は、以下に説明する通信システムで用いられる。本発明は、サーバ又はデータベースを使用するシステムで使用されるが、本発明は、特定の通信システム或いはシステムの構成要素の構築に限定されるものではない。ここに開示した技術は、呼びをトレースしたり類似のアプリケーションを起動したりするのが好ましい通信アプリケーションで使用される。
【0018】
本発明のシステムと方法は、解析ソフトウエア、モジュール、関連する解析ハードウエアを例に説明する。しかし本発明を明瞭にするために、以下の説明では、公知の構造、要素、装置はブロックで示して、その詳細な構造の説明は、割愛したり或いは概要のみを説明する。
【0019】
図1において、通信システム100は、通信ネットワーク104を有する。この通信ネットワーク104は、通信機器108とアプリケーション・サーバ112とを接続する。
【0020】
信頼された通信ネットワーク104は、公知の通信媒体或いは通信媒体の集合体であり、あらゆる種類のプロトコルを用いてメッセージをエンドポイント間で伝送する。通信ネットワーク104は、有線又は無線の通信技術を含む。インターネットは、通信ネットワーク104の一例であり、IPネットワークを構成する。このIPネットワークは、世界中に分散した多くのコンピュータと多くの通信機器からなり、電話システムと他の通信手段を介して接続される。通信機器108の一例は、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, とあらゆる企業内ネットワークと、パケット交換或いは回路交換のネットワークを含む。
【0021】
通信機器108は、あらゆる種類の通信機器或いは処理装置であり、例えばパソコン、ラップトップ、PDA、携帯電話、スマートフォン、通常の電話、アナログフォン、DCP電話或いはそれらの組み合わせである。1個の通信機器108は、一人のユーザが制御するか或いは関連しているが、複数のユーザで使用することもできる。例えば企業内の通信機器は、社員が有効なユーザネームとパスワードを入力することにより、利用できるようになっている。
【0022】
複数の通信機器108を、同一のユーザに関連していてもよい。言い換えると、2個の通信機器108は一人のユーザに帰属するが、様々な通信機器に対応できる。一例として、ユーザは、4個の通信機器108を有し、それぞれが、一人のユーザの個人用の電話、仕事場の電話、個人用のパソコン、eメール装置にそれぞれ対応してもよい。別の構成として、各通信機器108は、様々なユーザが所有し操作することもできる。
【0023】
一般的に通信機器108は、他の通信機器108とのビデオ通信、オーディオ通信、テキスト通信、データ通信をサポートする。別の通信機器108と通信するために、ある通信機器108が使用する通信媒体の種類は、両方の通信機器108或いは一方の通信機器108に利用可能な通信アプリケーションに依存する。
【0024】
アプリケーション・サーバ112は、アプリケーションとファンクションを、通信機器108に提供する、特に他の通信機器108との通信セッションの間に提供する。本発明の一実施例によれば、アプリケーション・サーバ112に記憶されているアプリケーションは、SIPアプリケーションを含み、フューチャとファンクションをSIPの呼び或いはSIPの通信セッションに提供する。このようなフューチャとファンクションは、通信セッションの一部であるメッセージを処理する事により提供される。アプリケーション・サーバ112に記憶されるアプリケーションの一例は、コール・トレーシング・アプリケーション116である。このコール・トレーシング・アプリケーション116は、プロセッサにより実行されると、コール・トレーシング機能を、アプリケーション・サーバ112が受領したメッセージに対し、実行する。
【0025】
本発明の一実施例によれば、コール・トレーシング・アプリケーション116は、コール・トレーシングに関連する特定の機能を提供する。例えば、メッセージの同定(特定)、記録、記憶装置を提供する。コール・トレーシング・アプリケーション116は、トレーシング・モジュール128を有し、コール・トレーシング・アプリケーション116が、このようなタスクを実行するのを補助する。
【0026】
本発明の一実施例によれば、コール・トレーシング・アプリケーション116は、2つのフィルタ基準を有する。第一のフィルタ基準は、トリガー・フィルタ基準120に対応し、コール・トレーシング・プロセスの処理が行われる通信セッション内の第1のメッセージを特定するのに用いられる。第2のフィルタ基準は、ダイアログ又は呼びフィルタ基準124に対応する。このダイアログ又は呼びフィルタ基準124は、展開或いは開発され、より正確且つ自動的に通信セッションで送信されるメッセージ、特にコンテンツ端持(含む)メッセージとコンテンツ
非担持(含まない)メッセージの両方を用いて、コール・トレーシング・プロセスの処理を行うべきか否かを決定する。
【0027】
本発明の一実施例によれば、ダイアログ又は呼びフィルタ基準124は、第1メッセージの特性を以前に解析し、この第1メッセージがコール・トレーシング・プロセスで処理すべきであるとの決定した結果として、展開(開発)される。言い換えると、コール・トレーシング・アプリケーション116は、通信セッションの間メッセージを受領し、通信セッションからのメッセージがトリガー・フィルタ基準120を満たすと決定し、そのメッセージを、コール・トレーシング・プロセスで処理する。これは、トレーシング・モジュール128を起動することにより、行う。
【0028】
更にトリガー・フィルタ基準120を満たすメッセージは、トレーシング・モジュール128により又はコール・トレーシング・アプリケーション116内の他のモジュールで解析され、ダイアログ又は呼びフィルタ基準124を決定する。一例として、トレーシング・モジュール128は、トリガー・フィルタ基準120を満たすメッセージを解析して、呼びIDとタグ情報のような呼びパラメータ又は特性のあるタイプを獲得する。呼びID(これは発呼者又は被呼者の組み合わせと共に開始した時間と呼びを含む識別子又は呼びの開始時間、発呼者、被呼者、の何れかにより生成されるハッシュ関数であるか又はランダムに割り当てられた呼び識別子である)とタグ情報(これはメッセージヘッダー内のタグとして記憶されているもの)をその後用いて、ダイアログ又は呼びフィルタ基準124を得る。呼びIDは、発呼者又は被呼者の組み合わせと共に開始した時間と呼びを含む識別子又は呼びの開始時間、発呼者、被呼者、の何れかにより生成されるハッシュ関数であるか又はランダムに割り当てられた呼び識別子である。タグ情報は、メッセージヘッダー内のタグとして記憶されているものである。
【0029】
SIPに於いては、タグは発呼者に関連し、別のタグは被呼者に関連している。これ等のタグは、アプリケーション識別子と考えられる。エンドポイントに複数のアプリケーションがあり、それ故にタグ上には複数のアプリケーションがある。タグは、SIPでは、要求されるが他のプロトコルでは存在しない。それは、セッションを確立した初期メッセージから集められた情報内のコンポーネントにすぎない。この情報を用いて、プロトコルに特有のフィルタを生成して、セッションを捕獲する。SIPの場合には、全てのセッションには、当事者がコール・トレースする事に興味はない最大2051090個のタグがあるが、このようなタグは無視される。
【0030】
このダイアログ又は呼びフィルタ基準124を用いて、後から送信されたメッセージをフィルタ処理する。このメッセージは、トリガー・フィルタ基準120に適合していてもいなくてもよい。それ故に、イニシアル・トリガーがディスエイブルされると、トリガー・フィルタ基準120に適合しているメッセージは、それ等がダイアログ又は呼びフィルタ基準に適合していない場合には、トレースされない。このことが言えるのは、イニシアル・トリガー・フィルタがディスエイブルされている時のみである。これにより、コール・トレーシングを関連メッセージに限定するのを補助し、通信セッションのトレーシング資源(例えばプロセッサ、メモリ等)を保存して、必要なとき或いは関連する時のみ、使用される。しかし、イニシアル・トリガー・フィルタ基準がイネーブルされ続けると、新たなダイアログ又は呼びフィルタ基準124が生み出される。コール・トレーシングの結果は、アプリケーション・サーバ112内に又は遠隔地にあるデータベース(企業内データベース132)内に保存される。企業内データベース132は、ユーザ(必ずしも企業内ユーザに限定されない)に関連する情報とその通信披瀝を含む。
【0031】
図2に於いて、本発明の一実施例のデータ構造200を説明する。データ構造200は、複数のフィールドを有し、コール・トレーシング・プロセスを実行することに関連する情報を記憶する。従って、データ構造200は、アプリケーション・サーバ112又は企業内データベース132に記憶される。データ構造200は、コール・トレーシング・プロセスの実行結果、又は登録されたコンテンツが記憶されるメモリロケーションに対するポインタに関連する情報を含む。具体的には、データ構造200は、コール・プロパティ・フィールド204と、トリガー・トレーシング・フィルタ基準フィールド208と、ダイアログ又はコール・トレーシング・フィルタ基準フィールド212と、関連通信フィールド216と、フィルタ終了情報フィールド220とを有する。
【0032】
コール・プロパティ・フィールド204は、呼びの特性或いは通信セッションの特性に関連する情報を含む。コール・プロパティ・フィールド204は、トリガー・フィルタ基準120を満足させるメモリを解析する事により、入力される。結果として、コール・プロパティ・フィールド204は、通信セッションへの当事者の同定情報と、タグ識別子とを含む。このタグ識別子は、後から送信されるメッセージのタグと比較され、このようなメッセージがそれに適用されるコール・トレーシング・プロセスを有するか否かを決定する。
【0033】
トリガー・トレーシング・フィルタ基準208は、トリガー・フィルタ基準120を有する。このトリガー・フィルタ基準120は、コール・トレーシング・プロセスが適用される当事者又は通信機器を(通常、通信機器の識別子又はポートアドレスで)規定する。トリガー・トレーシング・フィルタ基準208内の情報を用いて、通信セッションがそれに適用されるコール・トレーシング・プロセスを有するか否かを決定する。
【0034】
ダイアログ又はコール・トレーシング・フィルタ基準212は、ある情報を有し、この情報を用いて、トリガー・フィルタ基準120を満足させる通信セッション内のメッセージがそれに適用されるコール・トレーシング・プロセスを有するべきか否かを、決定する。従って、ダイアログ又はコール・トレーシング・フィルタ基準212は、第2のダイアログ又は呼びフィルタ基準124を、他の関連情報と共に、有する。これらをを用いて、通信セッション(これはダイアログとも称する)が、それに適用されるトリガー・フィルタ基準120を有するか否かを決定する。
【0035】
他の通信・フィールド216は、様々な通信セッションの間の関係を特定する情報を有する。例えば呼びがドロップ(廃棄)され、その後同一の当事者の間で再開されると、ドロップされた呼びは、後続の呼びに関連しているという事実が、他の通信・フィールド216内に保持される。これは、2個の呼びが互いに関連している時は、複数の当事者間ののカンファレンスの場合である時に、特に有益である。
【0036】
フィルタ終了情報フィールド220は、あるデータを有する。このデータを用いて、第2のダイアログ又は呼びフィルタ基準124は廃棄されるべきか或いは既に使用されていないかの決定が行われる。具体的には、通信セッションがトレーシング・モジュール128によりトレースされると、通信セッションのトレースを、その全体にわたって、継続することに利点がある。この場合、第2のダイアログ又は呼びフィルタ基準124は、通信セッションが終了すると、廃棄或いは無視される。別の構成として、第2のダイアログ又は呼びフィルタ基準124は、通信セッションが終了した後所定の間、保持するのが好ましい。これは、特にドロップされた呼びの状況を知るためにも好ましい。この実施例に於いては、フィルタ終了情報220は、第2のダイアログ又は呼びフィルタ基準124は、トレースされている通信セッションが終了した後所定の時間(例えば5分間、10分間或いは1日)適用されるべきであると、決定することもできる。
【0037】
フィルタ終了情報220は、第2のダイアログ又は呼びフィルタ基準124は通信セッションの開始後所定の時間適用されるべきであると規定することができる。着信情報を通信セッションの開始をベースにすることは、意図したアプリケーションとコール・トレーシング・プロセスの使用により、利点がある場合も無い場合もある。この理由は、特に通信セッションが、第2のダイアログ又は呼びフィルタ基準124がドロップする前に、終了しないからである。通信セッションが、第2のダイアログ又は呼びフィルタ基準124が終了した後も継続する場合には、第2のダイアログ又は呼びフィルタ基準124は、イニシアル・フィルタ基準120の下で、通信セッションの別のメッセージを解析して、コール・プロパティ・フィールド204を埋めることにより、再開される。
【0038】
図3に本発明の一実施例のメッセージ処理方法を示す。この方法は、メッセージをアプリケーション・サーバ112が受領した時に開始する(ステップ304)。この受領したメッセージを、その後、既存のダイアログ又は呼びフィルタ基準124に基づいて解析し(ステップ308)、このメッセージがコール・トレーシング・プロセスで処理すべきか否かを決定する(ステップ312)。具体的には、メッセージが通信セッションの一部であるか或いはトレーシング・モジュール128によりトレースされているダイアログの一部である場合には、ダイアログ又は呼びフィルタ基準124は、そのダイアログのある呼びはトレーシング・モジュール128により処理すべきであると、決定する。上記したように、ダイアログ又は呼びフィルタ基準124は、前に受領したメッセージの特性に基づいて生成される。この前に受領したメッセージは、現在受領したメッセージと同一のダイアログの一部である。
【0039】
呼びの特性がダイアログ又は呼びフィルタ基準124にマッチして、このメッセージがコール・トレーシング・プロセスで処理すべきと決定された場合には、本発明の方法は、トレーシング・モジュール128を起動する(ステップ316)。メッセージがダイアログ又は呼びフィルタ基準124を満足しない場合には、本発明の方法は、メッセージは、以前に解析したダイアログの一部であるか否かの決定をする(ステップ318)。このステップに於いて、コール・トレーシング・アプリケーション116は、メッセージの処理披瀝を解析して、メッセージは、既に解析されているがコール・トレーシング・プロセスでは処理されていない他のダイアログに帰属するか否かを決定する。この決定は、使用される処理用の資源の量を制限するため、特にダイアログをコール・トレースすべきでないとの再度の決定を回帰するために行われる。この問い合わせの応答が肯定的の場合には、本発明の方法は、メッセージは、トレーシング・モジュール128を起動せずに、アプリケーション・サーバ112により処理する(ステップ328)。
【0040】
受領したメッセージが、ダイアログの第1メッセージ(例:SIP INVITEメッセージ或いは通信セッションを開始する類似のタイプのインビテーション)であるかか、受領したメッセージが、ダイアログの第1のコンテンツ
担持メッセージである場合には、メッセージは、トリガー・フィルタ基準120に基づいて解析され(ステップ320)、メッセージとそのダイアログは、コール・トレーシング・プロセスで処理すべきか否かを決定する(ステップ324)。この問い合わせに応答がネガティブな場合(即ちメッセージはトリガー・フィルタ基準120を満足しない場合)、本発明の方法はステップ328に移る。
【0041】
受領したメッセージがトリガー(イニシャル)・フィルタ基準120を満たすと、本発明の方法は、このメッセージを解析して、使用されているダイアログ又は呼びフィルタ基準124を規定し、同一ダイアログの後続のメッセージをフィルタ処理する(ステップ332)。メッセージから取り出しダイアログ又は呼びフィルタ基準124を展開するのに用いられた情報は、このメッセージの本体又はヘッダー内に含まれる呼びIDとタグ情報の少なくとも一方を含む。適切なダイアログ又はダイアログ又は呼びフィルタ基準124が展開されると、本発明の方法は、ダイアログ又は呼びフィルタ基準124をデータ構造200内に記憶する(ステップ336)。同時に或いはその直後に、トレーシング・モジュール128を起動して、受領したメッセージ上でコール・トレーシング機能を実行する(ステップ316)。
【0042】
このプロセスは何回でも繰り返すことができる。斯くして、本発明の実施例は、第1と第2のフィルタ基準に限定されず、3回以上のフィルタ処理も含むことができる。本発明の実施例は、少なくとも第2のフィルタ基準(ダイアログ・マッチング)と第3のフィルタ基準(呼びマッチング)を、1個のメッセージがトリガー・フィルタ基準マッチすることに基づいて、創り出すことができる。上記したように、フィルタ基準のいかなる回数も本発明の範囲に入る。一例として、複数回(数百回もの)ダイアログからなるあらゆる種類の呼び(例、カンファレンス)に於いて、本発明の実施例は、斯く当事者がカンファレンスに追加される毎に、パターン或いはルールにマッチングする新たなフィルタを創り出すことができる。
【0043】
ダイアログ・フィルタが意図するメッセージは、トリガー・フィルタ基準にマッチしないシグネチャを有することがある。これは、特にSIPのようなプロトコルの場合に当てはまる。この場合に於いて、コンタクト情報が交換され、ダイアログを確立するために使用されたものを置換する。本発明の一実施例によれば、マッチがトリガー・フィルタと行われると、トリガー・フィルタは、「アームド」即ち活性状態にあってもなくてもよい。活性状態にある場合には、新たな独立したダイアログ・フィルタを創設して、新たなダイアログに関連するメッセージを追跡する。
【0044】
それ等がトリガー・フィルタにマッチしたという事実に基づいて、コール・トレースするために選択された新たなダイアログは、同一のトリガー・フィルタによりマッチされた他のダイアログとオーバーラップする寿命を有する。
【0045】
オペレーターにより選択されたトリガー・フィルタの属性が、ダイアログ・メッセージのミューテイタブル・フィールド(mutate-able field)に適用されないような場合には、ダイアログ・メッセージは、トリガー・フィルタとダイアログ・フィルタの両方にマッチする。このような場合、ダイアログ・フィルタが支配して、別の二重のダイアログ・フィルタが創設されることはない。
【0046】
ダイアログが確立された後トリガー・フィルタが活性化され、ダイアログ・メッセージがトリガー・フィルタにマッチすると、ダイアログ・フィルタが構築されて、ダイアログの残りの部分がトレースされる。
【0047】
本発明の一実施例によれば、通信サーバーが、サイレント・パーティとして行動するために呼びに自分自身を課する場合がある。これは、バック・ツー・バックエージェントと称する。カンファレンスコールが、何回かの二人の当事者の呼びを実際に呼びから成り、カンファレンスサーバーが互いに共通の当事者として機能する場合がある。「呼び」が、シグナリングレベルで複数のダイアログに分けられるといつでも、この関連する呼びのそれぞれをトレースし関連付けるのが好ましい(トラブルシューティングや合法的なインターセプト等)。本発明の実施例は、次に述べる幾つかの方法により複合的な呼びをサポートする方法を提供する。
(1)トリガー・フィルタが、個々の低レベルのダイアログの何れかの確立を認識し、それぞれに対する個別のダイアログ・フィルタを形成する。
(2)トリガー・フィルタが、個々の低レベルのダイアログの何れかの確立を認識し、まずこのようなマッチがあると、これとマルチパーティ・コールを含む後続の複数回のダイアログをマッチするのに十分広いダイアログ・フィルタを形成する。
(3)この第1に形成されたダイアログ・フィルタが、更なる参加者を含めるために呼びのイクステンションを認識し、それ等が創設された時に各関連するダイアログに伸びるよう、そのマッチ基準をを自己修正する。
(4)この第1に形成されたダイアログ・フィルタが、更なる参加者を含めるために呼びのイクステンションを認識し、それ等が創設された時に各関連するダイアログにマッチするよう、更なるダイアログ・フィルタを作る。
後者の2つの方法は、イニシアル・トリガー・フィルタが呼びのイクステションをモニタしないときに有益である。その理由は、それはダイアログ内のメッセージを得るためにフィルタ処理しないからである。
【0048】
用語「コンピュータで読み取り可能な媒体」とは、コンピュータが実行するプロセスを記憶する媒体或いは伝送媒体を意味する。媒体とは、非揮発性媒体、揮発性媒体、伝送媒体を意味する。非揮発性の媒体とは、NVRAM、磁気ディスク又は光学ディスクである。揮発性媒体とは、DRAM、メインメモリを意味する。このコンピュータで読み取り可能な媒体の一般的なものとしては、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気ディスク、他の磁気媒体、磁気光学媒体、CD−ROM、パンチカード、ペーパーテープ等、更にRAM、PROM、EPROM、FLASH−EPROM、メモリカード、メモリチップ、或いはカートリッジ等がある。e−mail或いは他の自己保存型の情報アーカイブに付属したデジタルファイル
・システムは、記憶媒体に等価な分配型の記憶媒体であり、本発明でいう記憶媒体と見なすことができる。コンピュータで読み取り可能な媒体がデータベースとして構築された場合には、このデータベースは、あらゆる種類のデータベース、例えば関連型、階層型、オブジェクト志向型のいずれをも含む。
本発明のリンクは、回路交換又はパケット交換型の通信のリンクを例に説明した。しかし他の通信システム、例えば、SIPベースの通信システムとそのエンドポイントもも利用可能である。リンクとして使用される伝送媒体は、電気信号を搬送できる媒体(同軸ケーブル、銅線ワイヤ、光ファイバー)、音波或い光波を搬送できる媒体、或いは無線やインフラレッド(赤外線)の通信媒体も含む。
本明細書の「モジュール」「エージェント」「ツール」とは、ハードウエア、ソフトウエア、ファームウエア、或いはそれらの組み合わせである。構成要素に関連した機能を実行する。
本発明の「エンドポイント」は、例えば、電話機、スピーカホーン、携帯電話、SIPでイネーブルされるエンドポイント、ソフトフォン、VoIP、PDA,ビデオカンファランスシステム、有線装置又は無線装置等を含む。更に、音声/データ通信を送受信できる装置を指す。
本発明は、インターネット・プロトコルで接続されたネットワーク環境を例に説明する。本発明のシステムと方法は、ソフトウエアとモジュールとそれらに関連するハードウエアとネットワークを例に説明するが、公知の構造、構成要素、装置は、ブラックボックスの形態で示し単に概要を示すに留める。本発明は、実施例以外に様々な方法で実現できる。
上記の実施例では、システムの様々な構成要素或いはシステムのある構成要素は、遠隔地に即ち分散型ネットワーク(LAN、ケーブルネットワーク、インターネット)のノードに、又は専用のシステム内の離れた点に配置されている。しかしシステムのこれ等の構成要素は、1つの装置例えばゲートウエイに組み込むこともできる。或いは分散型ネットワーク(例えばアナログ又はデジタルの通信ネットワーク、パケット交換ネットワーク、回路交換ネットワーク、ケーブルネットワーク)の特定のノード上に、集めることもできる。
ここで議論したフローチャートは、特定のイベントのシーケンスを例に説明するが、本発明の操作に影響を及ぼすことなく、これ等のシーケンスの変更、追加、一部省略も可能である。本発明のシステムと方法は、特殊コンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、ASIC、他の集積回路DSP、ハードワイヤド電子素子、論理素子、例えばディスクリートな要素回路、プログラム可能な論理回路、ゲートアレイ、例えばPLD、PLA、FPGA、PAL、特殊目的コンピュータ或いは他の手段で実現できる。
本発明を実施するのに用いられるハードウエアは、コンピュータ、携帯用装置、電話器(携帯電話、インターネット電話、デジタル、アナログそれ等の組合せの電話)や他の公知のハードウエアである。これ等の装置のあるものは、プロセッサ(例;シングル又はマルチプルのマイクロプロセッサ)、メモリ、非揮発性記憶媒体、入力装置、出力装置等を含む。更に別の形態のソフトウエアの実行は、分散型の処理、要素/目的型の分散型処理、並列処理或いは仮想機械処理で実行される。
他の実施例に於いては、ここに開示された方法は、オブジェクト指向のソフトウエア開発環境を用いたソフトウエアと組み合わせて実現できる。このソフトウエア環境は、様々なコンピュータ又はワークステーションで使用されるポータブルなソースコードを提供する。別の構成として、開示されたシステムは、標準の論理回路又はVLSIデザインを用いて一部又は全部のハードウエアで実現できる。本発明のシステムを実行するのにハードウエア又はソフトウエアを用いるかは、システムに要求される速度と効率に依存する。特に使用される特定のソフトウエア、ハードウエアのシステム、マイクロプロセッサ又はマイクロコンピュータシステムに依存する。
他の実施例に於いては、開示された方法は、コンピュータで読み取り可能な記憶媒体に記憶されたソフトウエアで実行され、コントローラとメモリとを有するプログラムされた汎用コンピュータ、特殊目的コンピュータ、マイクロプロセッサ等で実施される。これ等の実施例に於いては、本発明のシステムと方法は、パソコンに組み込まれたプログラムで実行できる。例えばアプレット、JAVA、CGIスクプリト、サーバ或いはコンピュータ、ワークステーションに記録された資源或いは専用の測定システムに組み込まれたルーチン等で実施できる。
本発明のシステムは、本発明のシステムと方法をソフトウエア又はハードウエアのシステムに物理的に組み込むことにより実施することもできる。 本発明は、特定の標準及びプロトコルを例に説明したが、本発明はこのような標準とプロトコルに制限されるものではない。他の類似の標準とプロトコルも本発明で用いることができる。これ等の標準とプロトコルは、今後開発されるより効率的な標準とプロトコルで置換されるかも知れないが、このような置換も本発明の一態様(一実施例)と考えられる。
「フロッピー」「JAVA」は登録商標である。
【0049】
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。用語「又は」に関して、例えば「A又はB」は、「Aのみ」、「Bのみ」ならず、「AとBの両方」を選択することも含む。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
【符号の説明】
【0050】
100 通信システム
104 通信ネットワーク
108 通信機器
112 アプリケーション・サーバ
116 コール・トレーシング・アプリケーション
120 トリガー・フィルタ基準
124 トリガー/呼びフィルタ基準
128 トレーシング・モジュール
132 企業内データベース
204 コール・プロパティ
208 トリガー・トレーシング・フィルタ基準
212 ダイアログ又はコール・トレーシング・フィルタ基準
216 他の通信
220 フィルタ終了情報
図3
304:メッセージを受領する
308:ダイアログ又は呼びのフィルタ基準を、メッセージに適用する
312:ダイアログ又は呼びのフィルタ基準は、メッセージにマッチするか?
316:トレーシングモジュールを起動する
318:メッセージは、以前に解析したダイアログの一部か?
320:トリガー・フィルタ基準を、メッセージに適用する
324:トリガー・フィルタ基準は、メッセージにマッチするか?
328:トレーシングモジュールを起動せずに、メッセージが通過するのを許す
332:メッセージを解析する
336:ダイアログ又は呼びのフィルタ基準を開発し記憶する