説明

統合通信システム

【課題】共通の統一通信システムを使用する種々のエンドポイントのタイプが、通信イベントに参加することを可能とする統合通信システム。
【解決手段】いくつかの実現例では、呼び出し側が、別のエンドポイントに通信要求をするエンドポイントに存在するクライアント・アプリケーションと相互作用する。統合通信システムに存在する通信イベント・マネージャが、通信イベントと、エンドポイントの能力とに基づいて、スクリプトのレポジトリから、スクリプトを選ぶ。通信イベント実行エンジンは、エンドポイントのうちの少なくとも1つと関連したユーザープロファイルを受信する。ユーザープロファイルは、通信が統合通信システムによってどのように処理されなければならないか、に対するユーザーの選好を記述するために、ユーザーによって構成できる。

【発明の詳細な説明】
【技術分野】
【0001】
本願発明の対象は、一般に、通信システムに関する。
【背景技術】
【0002】
従来の通信システムは、特定の技術を用いて設計される。例えば、公衆回線交換通信ネットワーク(PSTN)は、長距離にわたる電話およびデータ伝送をサポートするために設計され、VoIPネットワークは、インターネット・プロトコル(IP)を使っているインターネット上の電話とデータ伝送をサポートするように設計され、ショート・メッセージ・サービス(SMS)や他のテキスト・メッセージ発信技術は、インターネット上のテキスト・メッセージ発信をサポートするように設計され、携帯電話ネットワークは、携帯電話ネットワーク上で携帯電話とデータ伝送をサポートするように設計されている。
【0003】
現代のエンドポイント(例えば、電話、電子メール、テキスト・メッセージ発信など)は、いくつかの通信技術を統合して、これらのデバイスのユーザーがさまざまな方法で他のユーザーと情報交換することを可能としている。例えば、単一のモバイル機器を用いて、ユーザーは電話の呼出しや、テキスト・メッセージを送ること、ウェブをサーフィンすること、コンテンツをダウンロードすること、電子メール・メッセージを送受信することができる。また、無線テクノロジー(例えば、ブルートゥース、Wi−Fi、WiMAX)を使用している他のデバイスと直接に通信することができる。これらの複合型通信デバイスは、多くの場合、例えば、携帯電話ネットワーク・システムやインターネットサービスプロバイダ(ISP)システムなど、通信チャンネルを確立して、維持するために、いくつかのキャリアに依存する。
【発明の概要】
【0004】
共通の統一通信システムを使用する種々のエンドポイントのタイプが、通信イベントに参加することを可能とする統合通信システムが、開示される。いくつかの実現例では、呼び出し側が、別のエンドポイントに通信要求をするエンドポイントに存在するクライアント・アプリケーションと相互作用する。統合通信システムに存在する通信イベント・マネージャが、通信イベントと、エンドポイントの能力とに基づいて、スクリプトのレポジトリから、スクリプトを選択する。通信イベント実行エンジンは、エンドポイントのうちの少なくとも1つと関連したユーザープロファイルを受信する。ユーザープロファイルは、通信が統合通信システムによってどのように処理されなければならないか、に対するユーザーの選好を記述するために、ユーザーが構成できる。
【0005】
いくつかの実現例では、通信要求は、たとえば、ウェブ・アクセス層を通して行うことができる。クライアント・アプリケーションは、アプリケーション・プログラミング・インタフェース(API)及び/又は、通信要求の取扱いを可能にするフレームワーク、を使用することができる。選択されたスクリプトは、要求側のユーザープロファイルを考慮することによって、特徴サーバーが実行できる。特徴サーバーは、たとえば、エンドポイントにダイヤルする、コールレグ(call leg)をブリッジする、自動音声応答(IVR)交換を可能にすることなど、パケット交換ネットワーク上で通信タスクを実行するように動作可能な、ソフトスイッチ(Softswitch)または仮想PBXであることが可能である。
【0006】
種々のエンドポイントに対する通信要求をサポートするために、上述の統合通信システムは、スクリプトとユーザープロファイルを使用する。ユーザープロファイルは、ユーザーが、統合通信システムで使用するために、種々の能力がある複数のエンドポイントを特定することを可能とし、ユーザーが、それらのエンドポイントを通して、どのように連絡をとられることを望んでいるか、を含んでいる。統合通信システムは、ユーザーに、すべてのユーザーのエンドポイントに対して共通の統合通信システムを提供する。一方でまた、ユーザーに、ユーザーの地理学的位置、時刻、または、ユーザーによって操作されたエンドポイントのタイプに関係なく、他のエンドポイントと通信することに対するユーザーの選好を特定する手段を提供する。
【図面の簡単な説明】
【0007】
【図1】統合通信システムの例のブロック図である。
【図2】図1の統合通信システムのためのソフトウェアアーキテクチの例を図解する。
【図3】図1の統合通信システムに、エンドポイントにより提供される特性の例を図解する。
【図4】ユーザーAとユーザーBの間の電話対電話通信イベントの例を図解する。
【図5】ユーザーAとユーザーBの間のテキスト・メッセージ対電話通信イベントの例を図解する。
【図6】ユーザーAとユーザーBの間の電話対電子メール通信イベントの例を図解する。
【発明を実施するための形態】
【0008】
[統合通信システムの例]
図1は、統合通信システム100の例のブロック図である。いくつかの実現例では、システム100は、外部スクリプト・サーバー106、ウェブアクセス層108、API要求整理モジュール110、通信イベント・マネージャ112、ユーザー・マネージャ114、スクリプト・サーバー116、通信イベント実行モジュール118、音声サーバー120、特徴サーバー122を含む。
【0009】
システム100は、互いと通信するために2つ以上のエンドポイント102、124により用いられることが可能である(分かりやすさのために、2つのエンドポイントだけを示した)。エンドポイント102、124は、同一又は異なる能力を持つことができる。例えば、エンドポイント102は、インスタントメッセンジャのタイプのテキスト・メッセージ発信能力のみを持つことができ、一方で、エンドポイント124は、電話の呼を受信することだけができる。そのようなシナリオにおいては、エンドポイント102によって発生するテキスト・メッセージは、テキスト・メッセージが記録され、エンドポイント124のユーザーに再生されることができるように、テキストから音声に変換される。同様に、エンドポイント102が電子メールのみのデバイスである場合には、電子メール・メッセージ・テキストは、電子メール・メッセージが記録され、エンドポイント124のユーザーに再生されることができるように、テキストから音声に変換される。
【0010】
いくつかの実現例では、クライアント・アプリケーション104、124は、エンドポイント102中に存在して、ユーザーのこれらのエンドポイントが、他のエンドポイントとの通信要求を行うことを可能とする。アプリケーション104は、ユーザーが一つ以上のエンドポイントとの通信を要求することを可能とするユーザー・インタフェースを提示することができる。例えば、ユーザー・インタフェースは、電話番号にダイヤルするための仮想ダイヤル・パッド、または、ユーザーがクリックあるいはタッチして、呼び出し要求をすることができる番号を持ったコンタクト・カードを含むことができる。いくつかの実現例では、ユーザ・インタフェースは、ユーザーがクリックあるいはタッチして、通信要求をすることができる、埋め込まれたクリックから呼び出しへのリンク(click−to−call link)を有するブラウザ・ウインドウまたは他のアプリケーション・ウインドウである。
【0011】
いくつかの実現例では、アプリケーション104は、通信要求を行うために、APIまたはフレームワークを使用する。通信要求は、通信要求を処理するために集める、あるいは、「整理する」API要求整理モジュール110によって受信される。通信要求は、通信イベント・マネージャ112に転送される。通信イベント・マネージャ112は、通信要求を分析し、通信イベント実行エンジン118で実行されるべき一つ以上の通信イベントを同定する。通信イベント実行エンジン118は、通信イベントに参加しているエンドポイントと関連するユーザープロファイルを取り出す。ユーザープロファイルは、ユーザー・マネージャ114に連結したデータベースに保存することができる。ユーザーは、ウェブアクセス層108または他の適当なユーザー・インタフェースによって、プロフィールを作成し、編集することができる。一般に、ユーザープロファイルは、特定の通信イベントを実行するために、ユーザーの選好を記述する。いくつかの実現例では、ユーザープロファイルは、特定の時刻にユーザーのエンドポイントの各々とどのように通信するかを特定することができる。例えば、ユーザーが、日中に、彼らのオフィスにない場合には、プロフィールは、最初に呼び出すべきユーザーの携帯電話から始まって、ユーザーが決めることもできる特定の順序でユーザーの他のエンドポイントが続くユーザーの選好を含むことができる。ユーザー選好は、ハント・グループの仕様、デフォルト音声番号、デフォルト・テキスト、及び、通信イベントに関する他のユーザー選好、を含むことができるが、これらに限られているものではない。
【0012】
通信イベント・マネージャ112は、通信要求を実行するために、スクリプト・サーバー116に連結したデータベースに保存された多数のスクリプトから一つ以上のスクリプトを選ぶことができる。スクリプトは、例えば、2つ以上のエンドポイントの間で通信チャンネルを確立したり、取り壊すなど、特定のアクションに影響を及ぼすために実行することができる命令のセットである。通信イベント・マネージャ112は、必要ならば、
テキストから音声への変換や音声からテキストへ変換を含む、種々の音声サービスを提供することができる音声サーバー120に連絡することができる。これは、例えば、エンドポイントのうちの1つがテキスト・メッセージ発信のみのデバイスである場合などに起こる。音声サーバー120は、例えば要求者によって作成されたカスタマイズされたメッセージなど、種々の通信イベントに対する要求者に、再生される記録を提供することもできる。例えば、カスタマイズされた記録メッセージは、要求側は、その日の特定の時間帯にオフィスにはいないが、モバイル機器に連絡することができることを示すことができる。
【0013】
特徴サーバーは、ソフトスイッチ(Softswitch)または仮想PBXであることが可能である。特徴サーバー122は、たとえば、「Astericks(商標)」を使ってインプリメントすることができる。それは一般公開されているオープン・ソースのソフトスイッチである。いくつかの実現例では、特徴サーバー122は、通信イベントに参加しているエンドポイントの通信接続を確立して、モニタする。特徴サーバー122は、エンドポイントにダイヤルする、コールレグ(call leg)をブリッジする、テキストから音声に変換する、自動音声応答(IVR)交換を管理することなど、パケット交換ネットワーク(例えば、インターネット)の上の種々の基本的な通信イベントを実行するために使用可能である。
【0014】
いくつかの実現例では、外部スクリプト・サーバー106は、スクリプト・サーバー116の代わりに、または、追加して、使用することができる。外部スクリプト・サーバー106は、サードパーティの開発者によって用意されるカスタム・スクリプトを実行するのに用いることができる。外部スクリプト・サーバー106は、企業ユーザーが、その企業が事業をどのように行うのかに合わせた通信イベントのためにスクリプトをカスタマイズするのを可能とする顧客向けのユーザー・インタフェースを提示することができる。
【0015】
[ソフトウェアアーキテクチャの例]
図2は、図1の統合通信システム100に対する、ソフトウェアアーキテクチャの例200を図示する。いくつかの実現例では、アーキテクチャ200は、サービス・アクセス層202、サービス・インプリメント層204、特徴アクセス/抽象化層206、特徴インプリメント層208、ネットワーク・アクセス/抽象化層210、及び、
ネットワーク・インプリメント層212、を含む。
【0016】
サービス・アクセス層202は、ウェブアクセス層214を含むことができる。いくつかの実現例では、ウェブアクセス層214は、REST(Representational State Transfer)ネットワークアーキテクチャ主要部分を利用してインプリメントすることができる。しかし、追加的なメッセージ発信層なしで、HTTPで領域に特有のデータを送るどのようなユーザー・インタフェースでも使用することができる。追加的に、RPC(remote procedure call)に従うXMLまたはHTTPインターフェースを、ウェブアクセス層214の一部として使うことができる。ウェブアクセス層214は、エンドポイントの上で動作しているアプリケーションから、API要求を受信する。
【0017】
API要求整理モジュール216は、アプリケーションからAPI要求を集め、スケジューリングのために、要求を通信イベント・マネージャ(例えば、通信イベント・マネージャ112)に提出する。いくつかの実現例では、API要求整理モジュール216は、サーバー側スクリプト言語(例えば、PHP:ハイパーテキスト・プリプロセッサ)として使用して、インプリメントすることができる。PerlとC.PHPを含む他のスクリプト言語を使うことができるが、これらに限定されるものではない。
【0018】
サービス・インプリメント層204は、統合通信システム100により用いられるいくつかのサービスを含む。これらのサービスは、レポート・サービス218、通信イベント・サービス220、呼び出しスクリプト・サービス222、ユーザ・サービス224、企業サービス226、及び、サービス場所仲介サービス228、を含むことができるが、これらに限られるものではない。
【0019】
いくつかの実現例では、企業サービス226は、企業のために顧客と製品の面を管理することができる。企業サービス226は、その企業に対するためにユーザーとグループの管理に提供しているアプリケーションからの種々のタスクを取り扱うことができる。企業サービス226は、アプリケーションとユーザーの証明と認証を取り扱うこともできる。
【0020】
いくつかの実現例では、ユーザ・サービス224は、「私を見つけて(Find Me、候補番号への転送)」サービス選好、「私に付いてきて(Follow Me、タイムスケジュールによる転送)」サービス選好、番号管理、「邪魔しないでください」リスト、「呼び出し拒否」リスト、エンドポイント・デバイス能力、及び、ユーザーに特有の他のサービスを含む個々のユーザ・アカウントを管理することができるが、これらに限られるものではない。「私を見つけて」サービスは、ユーザーがどんな場所においても呼び出しを受信することを可能にする。「私に付いてきて」サービスは、いくつかの電話番号のどれででもユーザーが連絡することを可能にする。
【0021】
いくつかの実現例では、通信イベント・サービス220は、呼び出しイベントのスケジューリングとディスパッチを管理することができる。より詳しくは、通信イベント・サービス220は、どの通信イベント実行サービスに呼び出しがディスパッチされるか、呼び出し識別子の割当てと、限定されるものではないが、詐欺の識別、迷惑な呼出し元と不正使用、明白なユーザ・ブロッキング、その他を含む、実行する必要がある可能性がある評価を管理することができる。通信イベント・サービス220は、呼び出しが割り当てられる特徴サーバー機能を管理することもできる。例えば、通信イベント・サービス220は、呼び出しの開始、呼び出しのブリッジングまたは会議開催を取り扱うことができる。通信イベント・サービス220は、IVR、テキストから音声、音声からテキスト、オーディオ・ファイルの再生に対するインターフェースを提供することもできる。
【0022】
いくつかの実現例では、呼び出しスクリプト・サービス222は、通信イベント・サービス220において、コマンドのスクリプトを可能とすることによって呼び出しの流れを、振付けることができる。呼び出しスクリプト・サービス222は、通信イベント・サービス220により提供されるコマンドセットに合致している限り、どんなプログラミング言語ででも書くことができる。通信イベント・サービス220は、どの呼び出しスクリプト・サービス222と通信するべきか、及び、どのスクリプトが、所与の通信イベントのために起動されるのか、を知らされる。いくつかの実現例では、イベント・スクリプト・サーバは、顧客の施設に位置することができ、そして、顧客のシステムと直接的に統合することができる。
【0023】
いくつかの実現例では、レポート・サービス218は、個々の呼び出し、ユーザー・グループ、企業、企業内のユーザー、その他に関する、呼び出しセットアップとティアダウン、サービス品質(QoS)測定基準、呼出し持続時間について詳細情報を提供することができる。レポート・サービス218は、企業が、その顧客ベースを管理し、顧客課金を取り扱い、種々の他のタスクを実行することを可能とするレポートを提供することができる。
【0024】
いくつかの実現例では、一人以上のサービス場所仲介者228は、一つ以上のAPI要求整理モジュール216からのAPI要求に対するブローカとして活動する。仲介者228は、CORBA(Common Object Requesting Broker Architecture)など、例えば、レポート・サービス218、ユーザ・サービス224、エンタープライズ・サービス226および呼び出しスクリプト・サービス222など、アプリケーション・サービスの複数のインスタンスを管理するブローカー・プロセスであり得る。仲介者228は、一つ以上のウェブアクセス層214とアプリケーション・サービスの一つ以上のインスタンスとの間の透明な層を提供する。そのようなアーキテクチャは、柔軟性と拡張性を可能にする。アプリケーション・サービス・セットの各インスタンスは、下記のように、フェイルオーバ・ペアを形成して、データを共有することができる、それ自身のデータベースを有することができる。
【0025】
特徴アクセス/抽象化層206は、ユーザー・マネージャ(例えば、ユーザー・マネージャ114)により提供されるユーザープロファイルに従って通信イベントの実行に責任を持つ通信イベント実行エンジン230を含むことができる。通信イベント実行エンジン230は、特徴サーバー(例えば特徴サーバー122)と、エンドポイントの間で通信を確立するために通信する。
【0026】
いくつかの実現例では、仲介者228は、他のサービスに関連した登録アドレス情報を持つことができる。アプリケーションが特定のサービスの場所を要求するとき、アプリケーションは、要求を満たすことができるサービスが登録されたアドレス情報を受信する。アプリケーションが所与のサービスと通信することができないならば、アプリケーションは、別の登録されたサービスを利用するほうを選ぶことができる。このようにして、N個のサービスが、地理的な重なりと水平的性能スケーリングを提供して、アプリケーション要求を取り扱うために、利用可能となることができる。その上、サービス登録が属性を有することができるので、明確に異なる環境を、登録することができ、その意図する目標に対して利用可能とすることができる。例えば、テスト、統合化および生産環境が、仲介者228の一つのセットに登録することができる。各々の環境を異なる属性により登録することを可能にして、属性によって、ウェブ・サービスが要求することを可能とすることによって、そのアプリケーションは、それが意図された環境に収まることができる。
【0027】
通信イベント・マネージャ112は、サービスの各々の「インスタンス」が専用のフェイルオーバ・ペアを有することができるように、ペアに組織することができる。このフェイルオーバ・アーキテクチャは、一次および二次サービス構成を用いて、インプリメントすることができる。呼び出しイベントが予定されると、その呼び出しイベントを、そのピア通信イベント・マネージャが読み出すことができる、通信イベント・マネージャ112に結合したデータベースに置くことができる。二次サービスは、N秒遅れている通信イベントを実行するように構成することができる。そこでの仮定は、通信イベントが、その時間枠の範囲内で実行されなかったならば、一次サービスがダウンしているか、オーバーロードしているというものである。このようにして、一次サービスが機能している場合には、フェイルオーバは、明白なトークンパッシングまたは決定する特別なロジックなしで、達成することができる。
【0028】
特徴インプリメント層208は、エンドポイントにダイヤルする、コールレグ(call leg)をブリッジする、自動音声応答(IVR)交換を管理する、そのたの通信制御機能等、種々の通信制御機能を提供することのための特徴サービス232を含むことができる。
【0029】
ネットワーク・アクセス/抽象化層210は、ネットワーク・アクセスを取り扱うためのコードを含むことができる。層210は、ソフトウェアスイッチ(Softswitch)、仮想PBX、メディア・ゲートウェイ・コントローラ、呼び出しエージェントまたはゲートキーパーを含むことができる。いくつかの実現例では、ソフトウェアスイッチ(Softswitch)は、PSTNとIPネットワークを関連づけ、マルチメディア・トラフィックを管理することによって、ブリッジングPSTNとVoIP(Voice over Internet Protocol)のためにAPIを含むソフトウェア・ベースの切替プラットホームである。マルチメディア・トラフィックは、音声、ファックス、データ及びビデオを含むが、これに限定されるものではない。ソフトウェアスイッチ(Softswitch)は、さまざまなパケット・プロトコル(例えばSIP)の信号伝達を処理する。
【0030】
ネットワーク・インプリメント層212は、一つ以上のピア・パートナー238を含むピア・ネットワーク236を含むことができる。ピア・ネットワーク236は、各々のネットワークの顧客の間でトラフィックを交換する目的で、ピア・パートナー238によって操作される別々のネットワークの自発的な相互接続でありえる。その別々のネットワークは、物理的に相互接続することができて、例えばボーダー・ゲートウェイ・プロトコル(BGP)等のルーティング・プロトコルを通して経路情報の交換を可能にする。
ネットワークは、インターネット等のパケット交換ネットワークでも、他のタイプのどんなネットワークでもよい。
【0031】
図3は、図1の統合通信システムに、エンドポイントにより提供される特性の例を図解する。図3を参照すると、各々のエンドポイントは、エンドポイント・タイプとエンドポイント識別子とに関係している。エンドポイント・タイプは、電話、ソフトフォン、インスタント・メッセージ送信(IM)、電子メール・アドレス、その他を含むことができるが、これらに限られるものではない。各々のエンドポイント識別子は、能力のリスト、プレゼンス・インジケータ、能力属性及び地理学的位置と関係している。
能力のいくつかの例は、テキスト、音声とビデオを含む。能力属性の例は、コーデックである。
【0032】
各々のエンドポイント・タイプは、いつエンドポイントが通信可能であるのかを示すプレゼンス・インジケータと関係しているプレゼンス・インジケータは、通信を受信するために、そのエンドポイントに通信可能であることを潜在的要求者に対して注意喚起するように他のエンドポイントと共有することができる。
【0033】
地理学的位置は、全地球位置測定システム(GPS)、セルラー・タワー三角測量、例えばSkyhook(TM)無線位置測定サービス等のWi−Fi位置測定、を含むエンドポイントと統合するか、結合した一つ以上のポジショニング技術によって提供することができる。ただし、エンドポイントが含むのは、上記に限られるものではない。地理学的位置は、マッピング・アプリケーション、位置ベースのサービス・アプリケーション、エンドポイントの地理学的位置を利用する他のいかなるアプリケーションにおいても使用することができる。
【0034】
統合通信システムは、通信要求にサービスする最良の方法を決定するために、エンドポイントの特性を使うことができる。例えば、通信イベントに参加している各デバイスのエンドポイント・タイプがエンドポイント・タイプの「電話」である場合には、統合通信システムは、「電話機対電話機」のスクリプトを、電話接続を確立するために選択する。しかし、参加しているデバイスが、「インスタント・メッセージ送信」のエンドポイント・タイプを有し、他の参加しているデバイスが、「電話」のエンドポイント・タイプを有するならば、そして、統合通信システムは、「電話機対インスタント・メッセージ送信」のスクリプトを、参加しているエンドポイントの間で通信を確立するために、選択し、エンドポイント・タイプ「インスタント・メッセージ送信」のエンドポイントによって生成されるテキスト・メッセージをエンドポイント・タイプ「電話」のエンドポイント上で再生することができる音声記録に変換する、テキストからスピーチへのプロセスを実施することを含む。
【0035】
[実施例:電話対電話の通信]
図4は、ユーザーAとユーザーBの間の電話対電話通信イベントの例を図解する図である。y軸は、図の上部から図の下部まで増加する時間を表す。通信イベントに参加している統合通信システム・コンポーネントは、図の上部に示されている。この例において、コンポーネントは、アプリケーション/ユーザーA、呼び出しイベント・スケジューリング・サービス、ユーザープロファイル・サービス、呼び出しイベント実行、スクリプト・サーバー、特徴サーバー、ユーザーBにより操作される受信者デバイスである。
【0036】
この第1の通信シナリオにおいて、電話対電話の通信が、ユーザーBとで、ユーザーAにより始められる。第1のエンドポイント(例えばユーザーAの携帯電話)上で動いているアプリケーションは、第2のエンドポイント(例えば、ユーザーBの携帯電話)への呼び出しを予定する。スケジューリングは、呼び出しイベント・スケジューリング・サービスによって取り扱われる。呼び出しイベント・スケジューリング・サービスは、呼び出しエベント実行によって実行される双方向呼び出しスクリプトを選ぶことによって、呼び出し動作を起動する。呼び出しエベント実行は、呼び出し制御選好だけでなく、ユーザーAのエンドポイントを決定あるいは解決するのに用いることができるユーザーAプロフィールを要求するユーザプロファイル・サービスを呼び出す。プロフィールが修理するユーザーは、事象を特徴サーバーにプロフィールと双方向通話スクリプトを通過する実行と呼ぶために、ユーザーAプロフィールを返す。特徴サーバーはユーザーB電話のダイヤルを回して、ユーザーB電話が答えるのを待つ。答えが受信されるとき、特徴サーバーは、双方向通話スクリプトを起動するスクリプト・サーバーを呼び出す。スクリプト・サーバーは、実行のために特徴サーバーにスクリプト制御を送り、特徴サーバーは、双方向スクリプトにしたがってIVR交換を管理するために、スクリプト制御を実行し、そして、ユーザーB電話からの通話受理を待つ。通話受理が特徴サーバーによって受信されるとき、特徴サーバーは、ユーザーAプロフィールでエンドポイント・シーケンスによってユーザーA電話のダイヤルを回す。特徴サーバーがユーザーA電話から返事を受け取るとき、特徴サーバーは、双方向通話接続を確立するために、コールレグ(call leg)をブリッジする。
【0037】
[テキスト対電話通信の実施例]
図5は、ユーザーAとユーザーBの間のテキスト・メッセージ対電話通信イベントの例を図解する図である。この例において、「インスタント・メッセージ送信」のエンドポイント・タイプを有する、ユーザーAによって操作される第1のエンドポイントは、ユーザーBによって操作され、「電話」のエンドポイント・タイプを有する、第2のエンドポイントとの通信を要求する。ユーザーAのテキスト・メッセージ発信デバイス上で動いているアプリケーションは、ユーザーBの電話に呼び出しを予定する。そのスケジューリングは、呼び出しイベント・スケジューリング・サービスによって取り扱われる。呼び出しイベント・スケジューリング・サービスは、呼び出しエベント実行によって実行される電話スクリプトに対してIMを選ぶことによって、呼び出し動作を起動する。呼び出しエベント実行は、呼び出し制御選好だけでなく、ユーザーAのエンドポイントを決定あるいは解決するのに用いることができるユーザーAプロフィールを要求するために、ユーザプロファイル・サービスを呼び出す。ユーザプロファイル・サービスは、特徴サーバーへの電話スクリプトに、プロフィールとIMをパスする呼び出しエベント実行にユーザーAプロファイルを返す。この例において、ユーザープロファイルは、ユーザーAエンドポイントがインスタント・メッセージ送信能力を有することを示す。
【0038】
特徴サーバーは、ユーザーBの電話にダイヤルして、ユーザーBの電話が答えるのを待つ。答えが特徴サーバーによって受信されたときに、特徴サーバーは、IMに電話スクリプトを行使させるためにスクリプト・サーバーを呼び出す。スクリプト・サーバーは、実行のために特徴サーバーにスクリプト制御を送る。特徴サーバーは、IM−電話スクリプトに従ってIVR交換を管理するために、スクリプト制御を実行し、ユーザーBの電話からの呼び出し受理を待つ。呼び出し受理が特徴サーバーによって受信されるときに、特徴サーバーは、ユーザーBが回答したことを、ユーザーAの電話に通知する。ユーザーAのエンドポイントは、特徴サーバーにテキストを送る。特徴サーバーは、ユーザーAテキスト・メッセージ発信デバイスとユーザーBの電話の間の通信を可能とするために、スピーチからテキストのサービス、および、テキストからスピーチのサービスを起動する。
【0039】
[電話対電子メール通信の実施例]
図6は、ユーザーAとユーザーBの間の電話対電子メール通信イベントの例を図解するものである。この例において、ユーザーBにより操作される第1のエンドポイントは、「電話」のエンドポイント・タイプを有し、「電子メール」のエンドポイント・タイプを有するユーザーAにより操作される第2のエンドポイントとの通信を要求する。第1のエンドポイント(例えば、ユーザーBの電話)上で動いているアプリケーションは、第2のエンドポイント(例えば、ユーザーAの電子メール・デバイス)に、呼び出しを予定する。そのスケジューリングは、呼び出しイベント・スケジューリング・サービスによって取り扱われる。呼び出しイベント・スケジューリング・サービスは、呼び出しエベント実行によって実行される双方向呼び出しスクリプトを選ぶことによって、呼び出し動作を起動する。呼び出しエベント実行は、呼び出し制御選好だけでなく、ユーザーAのエンドポイントを決定あるいは解決するのに用いることができるユーザーAプロフィールを要求するために、ユーザプロファイル・サービスを呼び出す。ユーザプロファイル・サービスは、特徴サーバーへの双方向呼び出しスクリプトに、プロフィールとIMをパスする呼び出しエベント実行にユーザーAプロファイルを返す。この例において、ユーザープロファイルは、ユーザーAエンドポイントが電子メール能力だけを有することを示す。
【0040】
特徴サーバーはユーザーAの電話にダイヤルして、ユーザーAの電話が答えるのを待つ。ビジー信号が特徴サーバーによって受信されるときに、特徴サーバーは、第2のエンドポイントが電子メール・アドレスであると決定する呼び出しエベント実行に通知する。呼び出しエベント実行は、特徴サーバーに、ユーザーBの電話にダイヤルするように指示する。特徴サーバーはユーザーBの電話にダイヤルして、スクリプト・サーバーに、ユーザーAが利用できない旨のメッセージを残すために、ユーザーBの電話の上で、記録をする双方向呼び出しスクリプトを起動するように指示する。スクリプト・サーバーは、特徴サーバーにスクリプト制御を送る。特徴サーバーは、双方向呼び出しスクリプトによってIVR交換を実行するために、スクリプト制御を実行する。スクリプト制御は電子メール記録を生成するために記録を起動し、ユーザーAの電子メールに、電子メール記録を送る。
【0041】
上に記載した通信シナリオの実施例は、単に例としてだけである。他の通信シナリオが、通信イベントに参加しているエンドポイントのタイプ、及び、エンドポイントのユーザーのプロファイルに基づいて可能である。
【0042】
記述された特徴は、データ記憶システムからデータと命令を受信し、データと命令をデータ記憶システムに送信するように接続した少なくとも1つのプログラム可能なプロセッサーと、少なくとも1台の入力装置と少なくとも1台の出力装置を含むプログラマブルシステム上で、実行可能である一つ以上のコンピュータ・プログラムで有利にインプリメントすることができる。コンピュータ・プログラムは、直接または間接的に、特定の活動を実行するか、特定の結果をもたらすために、コンピュータで使うことができる一組の命令である。コンピュータ・プログラムは、コンパイル言語またはインタープリタ言語を含むプログラミング言語(例えば、オブジェクティブC、Java(登録商標))のどんな形式ででも書くことができ、また、スタンドアロンプログラムとして、または、コンポーネント、サブルーチンとして、コンピューティング環境の使用に適している他のユニットとして、など、どんな形でも展開することができる。
【0043】
命令のプログラムの実行のための適当なプロセッサーは、例を挙げれば、一般用マイクロプロセッサと特殊目的マイクロプロセッサの両方、単一のプロセッサーまたは、任意の種類のコンピュータのマルチプロセッサーまたはコアのうちの1つを含む、一般に、プロセッサーは、読取り専用メモリまたはランダムアクセスメモリーまたはその両方から命令とデータを受信する。コンピュータの主要要素は、命令を実行するためのプロセッサーと、命令とデータを保存することのための一つ以上のメモリである。一般に、コンピュータは、データ・ファイルを保存するための一つ以上の大容量記憶装置、例えば内蔵ハードディスクと取外し可能ディスクなどの磁気ディスク、光磁気ディスクを含むデバイス、そして、光ディスクをも含む、あるいは、それらと通信するために、動作上接続している。コンピュータ・プログラム命令とデータを明確に具体化するために適切な記憶装置は、例を挙げれば、例えばEPROM、EEPROMとフラッシュメモリ・デバイスなどの半導体メモリ・デバイスを含むあらゆる形の不揮発性メモリ、例えば内蔵ハードディスクと取外し可能ディスクなどの磁気ディスク、光磁気ディスク、及び、CD−ROMとDVD−ROMディスク、を含む。プロセッサーとメモリは、ASIC(特定用途向け集積回路)によって補う、あるいは、ASICに統合することができる。
【0044】
ユーザーとのインタラクションを提供するために、その特徴を、情報をユーザーに表示するための、例えば、CRT(cathode ray tube)またはLCD(liquid crystal display)モニタなどのディスプレイ装置、そして、キーボードと、例えば、マウスまたはトラックボールなど、ユーザーが入力をコンピュータに送ることができるポインティングデバイスを有するコンピュータ上にインプリメントすることができる。
【0045】
その特徴を、例えば、データサーバなどバックエンド・コンポーネントを含む、または、例えばアプリケーションサーバまたはインターネット・サーバなどのミドルウェア・コンポーネントを含む、あるいは、例えば、グラフィカルユーザーインタフェースを有しているクライアント・コンピュータやインターネット・ブラウザー、またはそれらのいかなる組合せからなるフロントエンドのコンポーネントを含む、コンピュータシステムにインプリメントすることができる。そのシステムのコンポーネントは、通信ネットワークのようなディジタルデータ通信のどんな形式や媒体によってでも接続することができる。通信ネットワークの例は、例えば、LAN、WANとコンピュータ、そして、インターネットを形成するネットワークを含む。
【0046】
そのコンピュータシステムは、クライアントとサーバーを含むことができる。クライアントとサーバーは、一般に、互いに離れており、典型的には、ネットワークを通して相互に作用する。クライアントとサーバーの関係は、それぞれのコンピュータで動いて、互いにクライアント・サーバ関係を有するコンピュータ・プログラムによって起こる。
【0047】
本願発明の多くの実施例が述べられた。それでも、発明の趣旨および範囲から出ることなく、種々の修正を行うことができることが理解されよう。したがって、他のインプリメントは、本出願の特許請求の範囲内である。

【特許請求の範囲】
【請求項1】
第2のエンドポイントで通信を確立するために第1のエンドポイントから要求を受信するステップと、
第1または第2のエンドポイントと結びついたユーザープロファイルから通信選好を決定するステップと、
要求された通信がテキスト・メッセージまたは電子メールである場合には、テキスト・メッセージまたは電子メールを音声信号に変換するステップと、
前記通信選好にしたがって、第1のエンドポイントと第2のエンドポイントの間で通信を確立するステップと、
少なくとも部分的にパケット交換ネットワーク上で、第2のエンドポイントに音声信号を送るステップと、
要求された通信が電話である場合には、前記通信選好にしたがって、第1のエンドポイントと第2のエンドポイントの間で電話の呼を確立するステップであって、
該電話の呼は、少なくとも部分的にパケット交換ネットワーク上で確立される、ステップと、を含むコンピュータにインプリメントされた方法。
【請求項2】
第1のエンドポイントと第2のエンドポイントのうちの少なくとも1つの能力を決定するステップと、
該決定された能力に従って、複数のスクリプトからスクリプトを選ぶステップと、
少なくとも部分的にパケット交換ネットワーク上で、第1および第2のエンドポイントの間で通信を確立するためにスクリプトを使用するステップと、を更に含む請求項1に記載の方法。
【請求項3】
第2のエンドポイントとの通信事象を可能にするために、第1のエンドポイントから要求を受信するために構成される第1のインターフェースと、
第1のインターフェースに結合して、第1または第2のエンドポイントと結びついたユーザープロファイルから通信選好を決定することと、
通信イベントが、テキスト・メッセージか、電子メールまたは電話の呼を含むかどうかを決定することと、
前記通信選好に基づいて、第1のエンドポイントと第2のエンドポイントの間で通信を確立することと、をするために構成されたプロセッサーと、を備える通信システム。
【請求項4】
前記プロセッサーは、第1のエンドポイントと第2のエンドポイントのうちの少なくとも1つの能力を決定することと、
前記決定した能力に従って複数のスクリプトからスクリプトを選ぶことと、
少なくとも部分的にパケット交換ネットワーク上で、第1および第2のエンドポイントの間で通信を確立するために、スクリプトを使用することと、をするために構成されている、請求項3に記載の通信システム。
【請求項5】
上記インターフェースは、ウェブ・アクセス層である、請求項3に記載の通信システム。
【請求項6】
テキスト・メッセージまたは電子メールを、第2のエンドポイントで再生される、通信イベントがテキスト・メッセージまたは電子メールである場合に、音声信号に変換するように構成されたテキスト−音声に変換するコンバータを更に備える請求項3に記載の通信システム。
【請求項7】
外部スクリプト・サーバーからスクリプトを受信するように構成された第2のインターフェースを更に備える請求項4に記載の通信システム。
【請求項8】
前記ユーザープロファイルは、
エンドポイント・デバイスに関連した少なくとも1つの記載、
「邪魔しないでください」リスト、
「呼び出し拒否」リスト、
「私を見つけて(Find Me、候補番号への転送)」サービス選好、
「私に付いてきて(Follow Me、タイムスケジュールによる転送)」サービス選好、
の1つ以上を含む、請求項3に記載の通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−19216(P2011−19216A)
【公開日】平成23年1月27日(2011.1.27)
【国際特許分類】
【出願番号】特願2010−142917(P2010−142917)
【出願日】平成22年6月23日(2010.6.23)
【出願人】(510175609)インテレピア,インコーポレイティド (7)
【Fターム(参考)】