(57)【要約】【課題】共通の統一通信システムを使用する種々のエンドポイントのタイプが、通信イベントに参加することを可能とする統合通信システム。【解決手段】いくつかの実現例では、呼び出し側が、別のエンドポイントに通信要求をするエンドポイントに存在するクライアント・アプリケーションと相互作用する。統合通信システムに存在する通信イベント・マネージャが、通信イベントと、エンドポイントの能力とに基づいて、スクリプトのレポジトリから、スクリプトを選ぶ。通信イベント実行エンジンは、エンドポイントのうちの少なくとも１つと関連したユーザープロファイルを受信する。ユーザープロファイルは、通信が統合通信システムによってどのように処理されなければならないか、に対するユーザーの選好を記述するために、ユーザーによって構成できる。【選択図】図１
2011019216.tif 000002
【特許請求の範囲】
【請求項１】
第２のエンドポイントで通信を確立するために第１のエンドポイントから要求を受信するステップと、
第１または第２のエンドポイントと結びついたユーザープロファイルから通信選好を決定するステップと、
要求された通信がテキスト・メッセージまたは電子メールである場合には、テキスト・メッセージまたは電子メールを音声信号に変換するステップと、
前記通信選好にしたがって、第１のエンドポイントと第２のエンドポイントの間で通信を確立するステップと、
少なくとも部分的にパケット交換ネットワーク上で、第２のエンドポイントに音声信号を送るステップと、
要求された通信が電話である場合には、前記通信選好にしたがって、第１のエンドポイントと第２のエンドポイントの間で電話の呼を確立するステップであって、
該電話の呼は、少なくとも部分的にパケット交換ネットワーク上で確立される、ステップと、を含むコンピュータにインプリメントされた方法。
【請求項２】
第１のエンドポイントと第２のエンドポイントのうちの少なくとも１つの能力を決定するステップと、
該決定された能力に従って、複数のスクリプトからスクリプトを選ぶステップと、
少なくとも部分的にパケット交換ネットワーク上で、第１および第２のエンドポイントの間で通信を確立するためにスクリプトを使用するステップと、を更に含む請求項１に記載の方法。
【請求項３】
第２のエンドポイントとの通信事象を可能にするために、第１のエンドポイントから要求を受信するために構成される第１のインターフェースと、
第１のインターフェースに結合して、第１または第２のエンドポイントと結びついたユーザープロファイルから通信選好を決定することと、
通信イベントが、テキスト・メッセージか、電子メールまたは電話の呼を含むかどうかを決定することと、
前記通信選好に基づいて、第１のエンドポイントと第２のエンドポイントの間で通信を確立することと、をするために構成されたプロセッサーと、を備える通信システム。
【請求項４】
前記プロセッサーは、第１のエンドポイントと第２のエンドポイントのうちの少なくとも１つの能力を決定することと、
前記決定した能力に従って複数のスクリプトからスクリプトを選ぶことと、
少なくとも部分的にパケット交換ネットワーク上で、第１および第２のエンドポイントの間で通信を確立するために、スクリプトを使用することと、をするために構成されている、請求項３に記載の通信システム。
【請求項５】
上記インターフェースは、ウェブ・アクセス層である、請求項３に記載の通信システム。
【請求項６】
テキスト・メッセージまたは電子メールを、第２のエンドポイントで再生される、通信イベントがテキスト・メッセージまたは電子メールである場合に、音声信号に変換するように構成されたテキスト−音声に変換するコンバータを更に備える請求項３に記載の通信システム。
【請求項７】
外部スクリプト・サーバーからスクリプトを受信するように構成された第２のインターフェースを更に備える請求項４に記載の通信システム。
【請求項８】
前記ユーザープロファイルは、
エンドポイント・デバイスに関連した少なくとも１つの記載、
「邪魔しないでください」リスト、
「呼び出し拒否」リスト、
「私を見つけて（Ｆｉｎｄ  Ｍｅ、候補番号への転送）」サービス選好、
「私に付いてきて（Ｆｏｌｌｏｗ  Ｍｅ、タイムスケジュールによる転送）」サービス選好、
の１つ以上を含む、請求項３に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の対象は、一般に、通信システムに関する。
【背景技術】
【０００２】
従来の通信システムは、特定の技術を用いて設計される。例えば、公衆回線交換通信ネットワーク（ＰＳＴＮ）は、長距離にわたる電話およびデータ伝送をサポートするために設計され、ＶｏＩＰネットワークは、インターネット・プロトコル（ＩＰ）を使っているインターネット上の電話とデータ伝送をサポートするように設計され、ショート・メッセージ・サービス（ＳＭＳ）や他のテキスト・メッセージ発信技術は、インターネット上のテキスト・メッセージ発信をサポートするように設計され、携帯電話ネットワークは、携帯電話ネットワーク上で携帯電話とデータ伝送をサポートするように設計されている。
【０００３】
現代のエンドポイント（例えば、電話、電子メール、テキスト・メッセージ発信など）は、いくつかの通信技術を統合して、これらのデバイスのユーザーがさまざまな方法で他のユーザーと情報交換することを可能としている。例えば、単一のモバイル機器を用いて、ユーザーは電話の呼出しや、テキスト・メッセージを送ること、ウェブをサーフィンすること、コンテンツをダウンロードすること、電子メール・メッセージを送受信することができる。また、無線テクノロジー（例えば、ブルートゥース、Ｗｉ−Ｆｉ、ＷｉＭＡＸ）を使用している他のデバイスと直接に通信することができる。これらの複合型通信デバイスは、多くの場合、例えば、携帯電話ネットワーク・システムやインターネットサービスプロバイダ（ＩＳＰ）システムなど、通信チャンネルを確立して、維持するために、いくつかのキャリアに依存する。
【発明の概要】
【０００４】
共通の統一通信システムを使用する種々のエンドポイントのタイプが、通信イベントに参加することを可能とする統合通信システムが、開示される。いくつかの実現例では、呼び出し側が、別のエンドポイントに通信要求をするエンドポイントに存在するクライアント・アプリケーションと相互作用する。統合通信システムに存在する通信イベント・マネージャが、通信イベントと、エンドポイントの能力とに基づいて、スクリプトのレポジトリから、スクリプトを選択する。通信イベント実行エンジンは、エンドポイントのうちの少なくとも１つと関連したユーザープロファイルを受信する。ユーザープロファイルは、通信が統合通信システムによってどのように処理されなければならないか、に対するユーザーの選好を記述するために、ユーザーが構成できる。
【０００５】
いくつかの実現例では、通信要求は、たとえば、ウェブ・アクセス層を通して行うことができる。クライアント・アプリケーションは、アプリケーション・プログラミング・インタフェース（ＡＰＩ）及び／又は、通信要求の取扱いを可能にするフレームワーク、を使用することができる。選択されたスクリプトは、要求側のユーザープロファイルを考慮することによって、特徴サーバーが実行できる。特徴サーバーは、たとえば、エンドポイントにダイヤルする、コールレグ（ｃａｌｌ  ｌｅｇ）をブリッジする、自動音声応答（ＩＶＲ）交換を可能にすることなど、パケット交換ネットワーク上で通信タスクを実行するように動作可能な、ソフトスイッチ（Ｓｏｆｔｓｗｉｔｃｈ）または仮想ＰＢＸであることが可能である。
【０００６】
種々のエンドポイントに対する通信要求をサポートするために、上述の統合通信システムは、スクリプトとユーザープロファイルを使用する。ユーザープロファイルは、ユーザーが、統合通信システムで使用するために、種々の能力がある複数のエンドポイントを特定することを可能とし、ユーザーが、それらのエンドポイントを通して、どのように連絡をとられることを望んでいるか、を含んでいる。統合通信システムは、ユーザーに、すべてのユーザーのエンドポイントに対して共通の統合通信システムを提供する。一方でまた、ユーザーに、ユーザーの地理学的位置、時刻、または、ユーザーによって操作されたエンドポイントのタイプに関係なく、他のエンドポイントと通信することに対するユーザーの選好を特定する手段を提供する。
【図面の簡単な説明】
【０００７】
【図１】統合通信システムの例のブロック図である。
【図２】図１の統合通信システムのためのソフトウェアアーキテクチの例を図解する。
【図３】図１の統合通信システムに、エンドポイントにより提供される特性の例を図解する。
【図４】ユーザーＡとユーザーＢの間の電話対電話通信イベントの例を図解する。
【図５】ユーザーＡとユーザーＢの間のテキスト・メッセージ対電話通信イベントの例を図解する。
【図６】ユーザーＡとユーザーＢの間の電話対電子メール通信イベントの例を図解する。
【発明を実施するための形態】
【０００８】
［統合通信システムの例］
図１は、統合通信システム１００の例のブロック図である。いくつかの実現例では、システム１００は、外部スクリプト・サーバー１０６、ウェブアクセス層１０８、ＡＰＩ要求整理モジュール１１０、通信イベント・マネージャ１１２、ユーザー・マネージャ１１４、スクリプト・サーバー１１６、通信イベント実行モジュール１１８、音声サーバー１２０、特徴サーバー１２２を含む。
【０００９】
システム１００は、互いと通信するために２つ以上のエンドポイント１０２、１２４により用いられることが可能である（分かりやすさのために、２つのエンドポイントだけを示した）。エンドポイント１０２、１２４は、同一又は異なる能力を持つことができる。例えば、エンドポイント１０２は、インスタントメッセンジャのタイプのテキスト・メッセージ発信能力のみを持つことができ、一方で、エンドポイント１２４は、電話の呼を受信することだけができる。そのようなシナリオにおいては、エンドポイント１０２によって発生するテキスト・メッセージは、テキスト・メッセージが記録され、エンドポイント１２４のユーザーに再生されることができるように、テキストから音声に変換される。同様に、エンドポイント１０２が電子メールのみのデバイスである場合には、電子メール・メッセージ・テキストは、電子メール・メッセージが記録され、エンドポイント１２４のユーザーに再生されることができるように、テキストから音声に変換される。
【００１０】
いくつかの実現例では、クライアント・アプリケーション１０４、１２４は、エンドポイント１０２中に存在して、ユーザーのこれらのエンドポイントが、他のエンドポイントとの通信要求を行うことを可能とする。アプリケーション１０４は、ユーザーが一つ以上のエンドポイントとの通信を要求することを可能とするユーザー・インタフェースを提示することができる。例えば、ユーザー・インタフェースは、電話番号にダイヤルするための仮想ダイヤル・パッド、または、ユーザーがクリックあるいはタッチして、呼び出し要求をすることができる番号を持ったコンタクト・カードを含むことができる。いくつかの実現例では、ユーザ・インタフェースは、ユーザーがクリックあるいはタッチして、通信要求をすることができる、埋め込まれたクリックから呼び出しへのリンク（ｃｌｉｃｋ−ｔｏ−ｃａｌｌ  ｌｉｎｋ）を有するブラウザ・ウインドウまたは他のアプリケーション・ウインドウである。
【００１１】
いくつかの実現例では、アプリケーション１０４は、通信要求を行うために、ＡＰＩまたはフレームワークを使用する。通信要求は、通信要求を処理するために集める、あるいは、「整理する」ＡＰＩ要求整理モジュール１１０によって受信される。通信要求は、通信イベント・マネージャ１１２に転送される。通信イベント・マネージャ１１２は、通信要求を分析し、通信イベント実行エンジン１１８で実行されるべき一つ以上の通信イベントを同定する。通信イベント実行エンジン１１８は、通信イベントに参加しているエンドポイントと関連するユーザープロファイルを取り出す。ユーザープロファイルは、ユーザー・マネージャ１１４に連結したデータベースに保存することができる。ユーザーは、ウェブアクセス層１０８または他の適当なユーザー・インタフェースによって、プロフィールを作成し、編集することができる。一般に、ユーザープロファイルは、特定の通信イベントを実行するために、ユーザーの選好を記述する。いくつかの実現例では、ユーザープロファイルは、特定の時刻にユーザーのエンドポイントの各々とどのように通信するかを特定することができる。例えば、ユーザーが、日中に、彼らのオフィスにない場合には、プロフィールは、最初に呼び出すべきユーザーの携帯電話から始まって、ユーザーが決めることもできる特定の順序でユーザーの他のエンドポイントが続くユーザーの選好を含むことができる。ユーザー選好は、ハント・グループの仕様、デフォルト音声番号、デフォルト・テキスト、及び、通信イベントに関する他のユーザー選好、を含むことができるが、これらに限られているものではない。
【００１２】
通信イベント・マネージャ１１２は、通信要求を実行するために、スクリプト・サーバー１１６に連結したデータベースに保存された多数のスクリプトから一つ以上のスクリプトを選ぶことができる。スクリプトは、例えば、２つ以上のエンドポイントの間で通信チャンネルを確立したり、取り壊すなど、特定のアクションに影響を及ぼすために実行することができる命令のセットである。通信イベント・マネージャ１１２は、必要ならば、
テキストから音声への変換や音声からテキストへ変換を含む、種々の音声サービスを提供することができる音声サーバー１２０に連絡することができる。これは、例えば、エンドポイントのうちの１つがテキスト・メッセージ発信のみのデバイスである場合などに起こる。音声サーバー１２０は、例えば要求者によって作成されたカスタマイズされたメッセージなど、種々の通信イベントに対する要求者に、再生される記録を提供することもできる。例えば、カスタマイズされた記録メッセージは、要求側は、その日の特定の時間帯にオフィスにはいないが、モバイル機器に連絡することができることを示すことができる。
【００１３】
特徴サーバーは、ソフトスイッチ（Ｓｏｆｔｓｗｉｔｃｈ）または仮想ＰＢＸであることが可能である。特徴サーバー１２２は、たとえば、「Ａｓｔｅｒｉｃｋｓ（商標）」を使ってインプリメントすることができる。それは一般公開されているオープン・ソースのソフトスイッチである。いくつかの実現例では、特徴サーバー１２２は、通信イベントに参加しているエンドポイントの通信接続を確立して、モニタする。特徴サーバー１２２は、エンドポイントにダイヤルする、コールレグ（ｃａｌｌ  ｌｅｇ）をブリッジする、テキストから音声に変換する、自動音声応答（ＩＶＲ）交換を管理することなど、パケット交換ネットワーク（例えば、インターネット）の上の種々の基本的な通信イベントを実行するために使用可能である。
【００１４】
いくつかの実現例では、外部スクリプト・サーバー１０６は、スクリプト・サーバー１１６の代わりに、または、追加して、使用することができる。外部スクリプト・サーバー１０６は、サードパーティの開発者によって用意されるカスタム・スクリプトを実行するのに用いることができる。外部スクリプト・サーバー１０６は、企業ユーザーが、その企業が事業をどのように行うのかに合わせた通信イベントのためにスクリプトをカスタマイズするのを可能とする顧客向けのユーザー・インタフェースを提示することができる。
【００１５】
［ソフトウェアアーキテクチャの例］
図２は、図１の統合通信システム１００に対する、ソフトウェアアーキテクチャの例２００を図示する。いくつかの実現例では、アーキテクチャ２００は、サービス・アクセス層２０２、サービス・インプリメント層２０４、特徴アクセス／抽象化層２０６、特徴インプリメント層２０８、ネットワーク・アクセス／抽象化層２１０、及び、
ネットワーク・インプリメント層２１２、を含む。
【００１６】
サービス・アクセス層２０２は、ウェブアクセス層２１４を含むことができる。いくつかの実現例では、ウェブアクセス層２１４は、ＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）ネットワークアーキテクチャ主要部分を利用してインプリメントすることができる。しかし、追加的なメッセージ発信層なしで、ＨＴＴＰで領域に特有のデータを送るどのようなユーザー・インタフェースでも使用することができる。追加的に、ＲＰＣ（ｒｅｍｏｔｅ  ｐｒｏｃｅｄｕｒｅ  ｃａｌｌ）に従うＸＭＬまたはＨＴＴＰインターフェースを、ウェブアクセス層２１４の一部として使うことができる。ウェブアクセス層２１４は、エンドポイントの上で動作しているアプリケーションから、ＡＰＩ要求を受信する。
【００１７】
ＡＰＩ要求整理モジュール２１６は、アプリケーションからＡＰＩ要求を集め、スケジューリングのために、要求を通信イベント・マネージャ（例えば、通信イベント・マネージャ１１２）に提出する。いくつかの実現例では、ＡＰＩ要求整理モジュール２１６は、サーバー側スクリプト言語（例えば、ＰＨＰ：ハイパーテキスト・プリプロセッサ）として使用して、インプリメントすることができる。ＰｅｒｌとＣ．ＰＨＰを含む他のスクリプト言語を使うことができるが、これらに限定されるものではない。
【００１８】
サービス・インプリメント層２０４は、統合通信システム１００により用いられるいくつかのサービスを含む。これらのサービスは、レポート・サービス２１８、通信イベント・サービス２２０、呼び出しスクリプト・サービス２２２、ユーザ・サービス２２４、企業サービス２２６、及び、サービス場所仲介サービス２２８、を含むことができるが、これらに限られるものではない。
【００１９】
いくつかの実現例では、企業サービス２２６は、企業のために顧客と製品の面を管理することができる。企業サービス２２６は、その企業に対するためにユーザーとグループの管理に提供しているアプリケーションからの種々のタスクを取り扱うことができる。企業サービス２２６は、アプリケーションとユーザーの証明と認証を取り扱うこともできる。
【００２０】
いくつかの実現例では、ユーザ・サービス２２４は、「私を見つけて（Ｆｉｎｄ  Ｍｅ、候補番号への転送）」サービス選好、「私に付いてきて（Ｆｏｌｌｏｗ  Ｍｅ、タイムスケジュールによる転送）」サービス選好、番号管理、「邪魔しないでください」リスト、「呼び出し拒否」リスト、エンドポイント・デバイス能力、及び、ユーザーに特有の他のサービスを含む個々のユーザ・アカウントを管理することができるが、これらに限られるものではない。「私を見つけて」サービスは、ユーザーがどんな場所においても呼び出しを受信することを可能にする。「私に付いてきて」サービスは、いくつかの電話番号のどれででもユーザーが連絡することを可能にする。
【００２１】
いくつかの実現例では、通信イベント・サービス２２０は、呼び出しイベントのスケジューリングとディスパッチを管理することができる。より詳しくは、通信イベント・サービス２２０は、どの通信イベント実行サービスに呼び出しがディスパッチされるか、呼び出し識別子の割当てと、限定されるものではないが、詐欺の識別、迷惑な呼出し元と不正使用、明白なユーザ・ブロッキング、その他を含む、実行する必要がある可能性がある評価を管理することができる。通信イベント・サービス２２０は、呼び出しが割り当てられる特徴サーバー機能を管理することもできる。例えば、通信イベント・サービス２２０は、呼び出しの開始、呼び出しのブリッジングまたは会議開催を取り扱うことができる。通信イベント・サービス２２０は、ＩＶＲ、テキストから音声、音声からテキスト、オーディオ・ファイルの再生に対するインターフェースを提供することもできる。
【００２２】
いくつかの実現例では、呼び出しスクリプト・サービス２２２は、通信イベント・サービス２２０において、コマンドのスクリプトを可能とすることによって呼び出しの流れを、振付けることができる。呼び出しスクリプト・サービス２２２は、通信イベント・サービス２２０により提供されるコマンドセットに合致している限り、どんなプログラミング言語ででも書くことができる。通信イベント・サービス２２０は、どの呼び出しスクリプト・サービス２２２と通信するべきか、及び、どのスクリプトが、所与の通信イベントのために起動されるのか、を知らされる。いくつかの実現例では、イベント・スクリプト・サーバは、顧客の施設に位置することができ、そして、顧客のシステムと直接的に統合することができる。
【００２３】
いくつかの実現例では、レポート・サービス２１８は、個々の呼び出し、ユーザー・グループ、企業、企業内のユーザー、その他に関する、呼び出しセットアップとティアダウン、サービス品質（ＱｏＳ）測定基準、呼出し持続時間について詳細情報を提供することができる。レポート・サービス２１８は、企業が、その顧客ベースを管理し、顧客課金を取り扱い、種々の他のタスクを実行することを可能とするレポートを提供することができる。
【００２４】
いくつかの実現例では、一人以上のサービス場所仲介者２２８は、一つ以上のＡＰＩ要求整理モジュール２１６からのＡＰＩ要求に対するブローカとして活動する。仲介者２２８は、ＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔｉｎｇ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ）など、例えば、レポート・サービス２１８、ユーザ・サービス２２４、エンタープライズ・サービス２２６および呼び出しスクリプト・サービス２２２など、アプリケーション・サービスの複数のインスタンスを管理するブローカー・プロセスであり得る。仲介者２２８は、一つ以上のウェブアクセス層２１４とアプリケーション・サービスの一つ以上のインスタンスとの間の透明な層を提供する。そのようなアーキテクチャは、柔軟性と拡張性を可能にする。アプリケーション・サービス・セットの各インスタンスは、下記のように、フェイルオーバ・ペアを形成して、データを共有することができる、それ自身のデータベースを有することができる。
【００２５】
特徴アクセス／抽象化層２０６は、ユーザー・マネージャ（例えば、ユーザー・マネージャ１１４）により提供されるユーザープロファイルに従って通信イベントの実行に責任を持つ通信イベント実行エンジン２３０を含むことができる。通信イベント実行エンジン２３０は、特徴サーバー（例えば特徴サーバー１２２）と、エンドポイントの間で通信を確立するために通信する。
【００２６】
いくつかの実現例では、仲介者２２８は、他のサービスに関連した登録アドレス情報を持つことができる。アプリケーションが特定のサービスの場所を要求するとき、アプリケーションは、要求を満たすことができるサービスが登録されたアドレス情報を受信する。アプリケーションが所与のサービスと通信することができないならば、アプリケーションは、別の登録されたサービスを利用するほうを選ぶことができる。このようにして、Ｎ個のサービスが、地理的な重なりと水平的性能スケーリングを提供して、アプリケーション要求を取り扱うために、利用可能となることができる。その上、サービス登録が属性を有することができるので、明確に異なる環境を、登録することができ、その意図する目標に対して利用可能とすることができる。例えば、テスト、統合化および生産環境が、仲介者２２８の一つのセットに登録することができる。各々の環境を異なる属性により登録することを可能にして、属性によって、ウェブ・サービスが要求することを可能とすることによって、そのアプリケーションは、それが意図された環境に収まることができる。
【００２７】
通信イベント・マネージャ１１２は、サービスの各々の「インスタンス」が専用のフェイルオーバ・ペアを有することができるように、ペアに組織することができる。このフェイルオーバ・アーキテクチャは、一次および二次サービス構成を用いて、インプリメントすることができる。呼び出しイベントが予定されると、その呼び出しイベントを、そのピア通信イベント・マネージャが読み出すことができる、通信イベント・マネージャ１１２に結合したデータベースに置くことができる。二次サービスは、Ｎ秒遅れている通信イベントを実行するように構成することができる。そこでの仮定は、通信イベントが、その時間枠の範囲内で実行されなかったならば、一次サービスがダウンしているか、オーバーロードしているというものである。このようにして、一次サービスが機能している場合には、フェイルオーバは、明白なトークンパッシングまたは決定する特別なロジックなしで、達成することができる。
【００２８】
特徴インプリメント層２０８は、エンドポイントにダイヤルする、コールレグ（ｃａｌｌ  ｌｅｇ）をブリッジする、自動音声応答（ＩＶＲ）交換を管理する、そのたの通信制御機能等、種々の通信制御機能を提供することのための特徴サービス２３２を含むことができる。
【００２９】
ネットワーク・アクセス／抽象化層２１０は、ネットワーク・アクセスを取り扱うためのコードを含むことができる。層２１０は、ソフトウェアスイッチ（Ｓｏｆｔｓｗｉｔｃｈ）、仮想ＰＢＸ、メディア・ゲートウェイ・コントローラ、呼び出しエージェントまたはゲートキーパーを含むことができる。いくつかの実現例では、ソフトウェアスイッチ（Ｓｏｆｔｓｗｉｔｃｈ）は、ＰＳＴＮとＩＰネットワークを関連づけ、マルチメディア・トラフィックを管理することによって、ブリッジングＰＳＴＮとＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のためにＡＰＩを含むソフトウェア・ベースの切替プラットホームである。マルチメディア・トラフィックは、音声、ファックス、データ及びビデオを含むが、これに限定されるものではない。ソフトウェアスイッチ（Ｓｏｆｔｓｗｉｔｃｈ）は、さまざまなパケット・プロトコル（例えばＳＩＰ）の信号伝達を処理する。
【００３０】
ネットワーク・インプリメント層２１２は、一つ以上のピア・パートナー２３８を含むピア・ネットワーク２３６を含むことができる。ピア・ネットワーク２３６は、各々のネットワークの顧客の間でトラフィックを交換する目的で、ピア・パートナー２３８によって操作される別々のネットワークの自発的な相互接続でありえる。その別々のネットワークは、物理的に相互接続することができて、例えばボーダー・ゲートウェイ・プロトコル（ＢＧＰ）等のルーティング・プロトコルを通して経路情報の交換を可能にする。
ネットワークは、インターネット等のパケット交換ネットワークでも、他のタイプのどんなネットワークでもよい。
【００３１】
図３は、図１の統合通信システムに、エンドポイントにより提供される特性の例を図解する。図３を参照すると、各々のエンドポイントは、エンドポイント・タイプとエンドポイント識別子とに関係している。エンドポイント・タイプは、電話、ソフトフォン、インスタント・メッセージ送信（ＩＭ）、電子メール・アドレス、その他を含むことができるが、これらに限られるものではない。各々のエンドポイント識別子は、能力のリスト、プレゼンス・インジケータ、能力属性及び地理学的位置と関係している。
能力のいくつかの例は、テキスト、音声とビデオを含む。能力属性の例は、コーデックである。
【００３２】
各々のエンドポイント・タイプは、いつエンドポイントが通信可能であるのかを示すプレゼンス・インジケータと関係しているプレゼンス・インジケータは、通信を受信するために、そのエンドポイントに通信可能であることを潜在的要求者に対して注意喚起するように他のエンドポイントと共有することができる。
【００３３】
地理学的位置は、全地球位置測定システム（ＧＰＳ）、セルラー・タワー三角測量、例えばＳｋｙｈｏｏｋ（ＴＭ）無線位置測定サービス等のＷｉ−Ｆｉ位置測定、を含むエンドポイントと統合するか、結合した一つ以上のポジショニング技術によって提供することができる。ただし、エンドポイントが含むのは、上記に限られるものではない。地理学的位置は、マッピング・アプリケーション、位置ベースのサービス・アプリケーション、エンドポイントの地理学的位置を利用する他のいかなるアプリケーションにおいても使用することができる。
【００３４】
統合通信システムは、通信要求にサービスする最良の方法を決定するために、エンドポイントの特性を使うことができる。例えば、通信イベントに参加している各デバイスのエンドポイント・タイプがエンドポイント・タイプの「電話」である場合には、統合通信システムは、「電話機対電話機」のスクリプトを、電話接続を確立するために選択する。しかし、参加しているデバイスが、「インスタント・メッセージ送信」のエンドポイント・タイプを有し、他の参加しているデバイスが、「電話」のエンドポイント・タイプを有するならば、そして、統合通信システムは、「電話機対インスタント・メッセージ送信」のスクリプトを、参加しているエンドポイントの間で通信を確立するために、選択し、エンドポイント・タイプ「インスタント・メッセージ送信」のエンドポイントによって生成されるテキスト・メッセージをエンドポイント・タイプ「電話」のエンドポイント上で再生することができる音声記録に変換する、テキストからスピーチへのプロセスを実施することを含む。
【００３５】
［実施例：電話対電話の通信］
図４は、ユーザーＡとユーザーＢの間の電話対電話通信イベントの例を図解する図である。ｙ軸は、図の上部から図の下部まで増加する時間を表す。通信イベントに参加している統合通信システム・コンポーネントは、図の上部に示されている。この例において、コンポーネントは、アプリケーション／ユーザーＡ、呼び出しイベント・スケジューリング・サービス、ユーザープロファイル・サービス、呼び出しイベント実行、スクリプト・サーバー、特徴サーバー、ユーザーＢにより操作される受信者デバイスである。
【００３６】
この第１の通信シナリオにおいて、電話対電話の通信が、ユーザーＢとで、ユーザーＡにより始められる。第１のエンドポイント（例えばユーザーＡの携帯電話）上で動いているアプリケーションは、第２のエンドポイント（例えば、ユーザーＢの携帯電話）への呼び出しを予定する。スケジューリングは、呼び出しイベント・スケジューリング・サービスによって取り扱われる。呼び出しイベント・スケジューリング・サービスは、呼び出しエベント実行によって実行される双方向呼び出しスクリプトを選ぶことによって、呼び出し動作を起動する。呼び出しエベント実行は、呼び出し制御選好だけでなく、ユーザーＡのエンドポイントを決定あるいは解決するのに用いることができるユーザーＡプロフィールを要求するユーザプロファイル・サービスを呼び出す。プロフィールが修理するユーザーは、事象を特徴サーバーにプロフィールと双方向通話スクリプトを通過する実行と呼ぶために、ユーザーＡプロフィールを返す。特徴サーバーはユーザーＢ電話のダイヤルを回して、ユーザーＢ電話が答えるのを待つ。答えが受信されるとき、特徴サーバーは、双方向通話スクリプトを起動するスクリプト・サーバーを呼び出す。スクリプト・サーバーは、実行のために特徴サーバーにスクリプト制御を送り、特徴サーバーは、双方向スクリプトにしたがってＩＶＲ交換を管理するために、スクリプト制御を実行し、そして、ユーザーＢ電話からの通話受理を待つ。通話受理が特徴サーバーによって受信されるとき、特徴サーバーは、ユーザーＡプロフィールでエンドポイント・シーケンスによってユーザーＡ電話のダイヤルを回す。特徴サーバーがユーザーＡ電話から返事を受け取るとき、特徴サーバーは、双方向通話接続を確立するために、コールレグ（ｃａｌｌ  ｌｅｇ）をブリッジする。
【００３７】
［テキスト対電話通信の実施例］
図５は、ユーザーＡとユーザーＢの間のテキスト・メッセージ対電話通信イベントの例を図解する図である。この例において、「インスタント・メッセージ送信」のエンドポイント・タイプを有する、ユーザーＡによって操作される第１のエンドポイントは、ユーザーＢによって操作され、「電話」のエンドポイント・タイプを有する、第２のエンドポイントとの通信を要求する。ユーザーＡのテキスト・メッセージ発信デバイス上で動いているアプリケーションは、ユーザーＢの電話に呼び出しを予定する。そのスケジューリングは、呼び出しイベント・スケジューリング・サービスによって取り扱われる。呼び出しイベント・スケジューリング・サービスは、呼び出しエベント実行によって実行される電話スクリプトに対してＩＭを選ぶことによって、呼び出し動作を起動する。呼び出しエベント実行は、呼び出し制御選好だけでなく、ユーザーＡのエンドポイントを決定あるいは解決するのに用いることができるユーザーＡプロフィールを要求するために、ユーザプロファイル・サービスを呼び出す。ユーザプロファイル・サービスは、特徴サーバーへの電話スクリプトに、プロフィールとＩＭをパスする呼び出しエベント実行にユーザーＡプロファイルを返す。この例において、ユーザープロファイルは、ユーザーＡエンドポイントがインスタント・メッセージ送信能力を有することを示す。
【００３８】
特徴サーバーは、ユーザーＢの電話にダイヤルして、ユーザーＢの電話が答えるのを待つ。答えが特徴サーバーによって受信されたときに、特徴サーバーは、ＩＭに電話スクリプトを行使させるためにスクリプト・サーバーを呼び出す。スクリプト・サーバーは、実行のために特徴サーバーにスクリプト制御を送る。特徴サーバーは、ＩＭ−電話スクリプトに従ってＩＶＲ交換を管理するために、スクリプト制御を実行し、ユーザーＢの電話からの呼び出し受理を待つ。呼び出し受理が特徴サーバーによって受信されるときに、特徴サーバーは、ユーザーＢが回答したことを、ユーザーＡの電話に通知する。ユーザーＡのエンドポイントは、特徴サーバーにテキストを送る。特徴サーバーは、ユーザーＡテキスト・メッセージ発信デバイスとユーザーＢの電話の間の通信を可能とするために、スピーチからテキストのサービス、および、テキストからスピーチのサービスを起動する。
【００３９】
［電話対電子メール通信の実施例］
図６は、ユーザーＡとユーザーＢの間の電話対電子メール通信イベントの例を図解するものである。この例において、ユーザーＢにより操作される第１のエンドポイントは、「電話」のエンドポイント・タイプを有し、「電子メール」のエンドポイント・タイプを有するユーザーＡにより操作される第２のエンドポイントとの通信を要求する。第１のエンドポイント（例えば、ユーザーＢの電話）上で動いているアプリケーションは、第２のエンドポイント（例えば、ユーザーＡの電子メール・デバイス）に、呼び出しを予定する。そのスケジューリングは、呼び出しイベント・スケジューリング・サービスによって取り扱われる。呼び出しイベント・スケジューリング・サービスは、呼び出しエベント実行によって実行される双方向呼び出しスクリプトを選ぶことによって、呼び出し動作を起動する。呼び出しエベント実行は、呼び出し制御選好だけでなく、ユーザーＡのエンドポイントを決定あるいは解決するのに用いることができるユーザーＡプロフィールを要求するために、ユーザプロファイル・サービスを呼び出す。ユーザプロファイル・サービスは、特徴サーバーへの双方向呼び出しスクリプトに、プロフィールとＩＭをパスする呼び出しエベント実行にユーザーＡプロファイルを返す。この例において、ユーザープロファイルは、ユーザーＡエンドポイントが電子メール能力だけを有することを示す。
【００４０】
特徴サーバーはユーザーＡの電話にダイヤルして、ユーザーＡの電話が答えるのを待つ。ビジー信号が特徴サーバーによって受信されるときに、特徴サーバーは、第２のエンドポイントが電子メール・アドレスであると決定する呼び出しエベント実行に通知する。呼び出しエベント実行は、特徴サーバーに、ユーザーＢの電話にダイヤルするように指示する。特徴サーバーはユーザーＢの電話にダイヤルして、スクリプト・サーバーに、ユーザーＡが利用できない旨のメッセージを残すために、ユーザーＢの電話の上で、記録をする双方向呼び出しスクリプトを起動するように指示する。スクリプト・サーバーは、特徴サーバーにスクリプト制御を送る。特徴サーバーは、双方向呼び出しスクリプトによってＩＶＲ交換を実行するために、スクリプト制御を実行する。スクリプト制御は電子メール記録を生成するために記録を起動し、ユーザーＡの電子メールに、電子メール記録を送る。
【００４１】
上に記載した通信シナリオの実施例は、単に例としてだけである。他の通信シナリオが、通信イベントに参加しているエンドポイントのタイプ、及び、エンドポイントのユーザーのプロファイルに基づいて可能である。
【００４２】
記述された特徴は、データ記憶システムからデータと命令を受信し、データと命令をデータ記憶システムに送信するように接続した少なくとも１つのプログラム可能なプロセッサーと、少なくとも１台の入力装置と少なくとも１台の出力装置を含むプログラマブルシステム上で、実行可能である一つ以上のコンピュータ・プログラムで有利にインプリメントすることができる。コンピュータ・プログラムは、直接または間接的に、特定の活動を実行するか、特定の結果をもたらすために、コンピュータで使うことができる一組の命令である。コンピュータ・プログラムは、コンパイル言語またはインタープリタ言語を含むプログラミング言語（例えば、オブジェクティブＣ、Ｊａｖａ（登録商標））のどんな形式ででも書くことができ、また、スタンドアロンプログラムとして、または、コンポーネント、サブルーチンとして、コンピューティング環境の使用に適している他のユニットとして、など、どんな形でも展開することができる。
【００４３】
命令のプログラムの実行のための適当なプロセッサーは、例を挙げれば、一般用マイクロプロセッサと特殊目的マイクロプロセッサの両方、単一のプロセッサーまたは、任意の種類のコンピュータのマルチプロセッサーまたはコアのうちの１つを含む、一般に、プロセッサーは、読取り専用メモリまたはランダムアクセスメモリーまたはその両方から命令とデータを受信する。コンピュータの主要要素は、命令を実行するためのプロセッサーと、命令とデータを保存することのための一つ以上のメモリである。一般に、コンピュータは、データ・ファイルを保存するための一つ以上の大容量記憶装置、例えば内蔵ハードディスクと取外し可能ディスクなどの磁気ディスク、光磁気ディスクを含むデバイス、そして、光ディスクをも含む、あるいは、それらと通信するために、動作上接続している。コンピュータ・プログラム命令とデータを明確に具体化するために適切な記憶装置は、例を挙げれば、例えばＥＰＲＯＭ、ＥＥＰＲＯＭとフラッシュメモリ・デバイスなどの半導体メモリ・デバイスを含むあらゆる形の不揮発性メモリ、例えば内蔵ハードディスクと取外し可能ディスクなどの磁気ディスク、光磁気ディスク、及び、ＣＤ−ＲＯＭとＤＶＤ−ＲＯＭディスク、を含む。プロセッサーとメモリは、ＡＳＩＣ（特定用途向け集積回路）によって補う、あるいは、ＡＳＩＣに統合することができる。
【００４４】
ユーザーとのインタラクションを提供するために、その特徴を、情報をユーザーに表示するための、例えば、ＣＲＴ（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ）またはＬＣＤ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）モニタなどのディスプレイ装置、そして、キーボードと、例えば、マウスまたはトラックボールなど、ユーザーが入力をコンピュータに送ることができるポインティングデバイスを有するコンピュータ上にインプリメントすることができる。
【００４５】
その特徴を、例えば、データサーバなどバックエンド・コンポーネントを含む、または、例えばアプリケーションサーバまたはインターネット・サーバなどのミドルウェア・コンポーネントを含む、あるいは、例えば、グラフィカルユーザーインタフェースを有しているクライアント・コンピュータやインターネット・ブラウザー、またはそれらのいかなる組合せからなるフロントエンドのコンポーネントを含む、コンピュータシステムにインプリメントすることができる。そのシステムのコンポーネントは、通信ネットワークのようなディジタルデータ通信のどんな形式や媒体によってでも接続することができる。通信ネットワークの例は、例えば、ＬＡＮ、ＷＡＮとコンピュータ、そして、インターネットを形成するネットワークを含む。
【００４６】
そのコンピュータシステムは、クライアントとサーバーを含むことができる。クライアントとサーバーは、一般に、互いに離れており、典型的には、ネットワークを通して相互に作用する。クライアントとサーバーの関係は、それぞれのコンピュータで動いて、互いにクライアント・サーバ関係を有するコンピュータ・プログラムによって起こる。
【００４７】
本願発明の多くの実施例が述べられた。それでも、発明の趣旨および範囲から出ることなく、種々の修正を行うことができることが理解されよう。したがって、他のインプリメントは、本出願の特許請求の範囲内である。
【図１】
2011019216.tif 000003
【図２】
2011019216.tif 000004
【図３】
2011019216.tif 000005
【図４】
2011019216.tif 000006
【図５】
2011019216.tif 000007
【図６】
2011019216.tif 000008