(57)【要約】【課題】柔軟なルーティングのためのシステム及び方法を提供する。【解決手段】第２の通信デバイスとの通信セッションを確立するリクエストが受信される。通信セッションを確立するリクエストは、通信セッションをルーティングするための１以上のルーティング属性を備える。通信セッションをルーティングするための１以上のルーティング属性は、動的ルーティングフレームワークにおいてルックアップされる。通信セッションは、１以上のルーティング属性及び動的ルーティングフレームワークにおいて定義される１以上の規則に基づいて第２の通信デバイスではなく第３の通信デバイス又は送信先にルーティングされる。例えば、通信セッションは、最初に自動音声応答（ＩＶＲ）システムにルーティングされるのではなくルーティング属性に基づいて特定のコンタクトセンターキューにルーティングされる。【選択図】  図３
2020014207.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサと、
コンピュータ可読媒体であって、前記マイクロプロセッサに接続され、前記マイクロプロセッサによって実行されると、前記マイクロプロセッサに、
第２の通信デバイスとの第１の通信セッションを確立するリクエストであって前記第１の通信セッションをルーティングするための第１のルーティング属性を備えるリクエストを受信させ、
動的ルーティングフレームワークにおいて前記第１の通信セッションをルーティングするための前記第１のルーティング属性をルックアップさせ、
前記第１のルーティング属性及び前記動的ルーティングフレームワークにおいて定義される１以上の規則に基づいて第３の通信デバイス又は送信先に前記第１の通信セッションをルーティングさせる
マイクロプロセッサ可読実行可能命令を備えるコンピュータ可読媒体と
を備えるシステム。
【請求項２】
前記マイクロプロセッサ可読実行可能命令はさらに、前記マイクロプロセッサに、
前記第１の通信セッションが確立された後に、前記第１の通信セッションをルーティングするための第２のルーティング属性を含む前記第１の通信セッションに関連する第２のメッセージを受信させ、
前記動的ルーティングフレームワークにおいて前記第１の通信セッションをルーティングするための前記第２のルーティング属性をルックアップさせ、
前記第２のルーティング属性及び前記動的ルーティングフレームワークにおいて定義される１以上の規則に基づいて第４の通信デバイスに前記第１の通信セッションをルーティングさせる、請求項１に記載のシステム。
【請求項３】
前記第１の通信セッションの前記第１のルーティング属性が前記第１の通信セッションのメディアタイプを定義し、前記マイクロプロセッサ可読実行可能命令はさらに、前記マイクロプロセッサに、
複数の可能なメディアタイプから、前記第１の通信セッションの前記定義されたメディアタイプを識別させ、前記第１の通信セッションを前記第３の通信デバイス又は送信先にルーティングすることが前記第１の通信セッションの前記定義されたメディアタイプに基づく、請求項１に記載のシステム。
【請求項４】
ネットワークルーティングアプリケーションが、前記第２の通信デバイスとの前記第１の通信セッションを確立する前記リクエストに前記第１のルーティング属性を挿入するのに使用される、請求項１に記載のシステム。
【請求項５】
前記第１のルーティング属性は、前記第１の通信セッションを確立する前記リクエストにおける複数のヘッダにある複数のルーティング属性を備え、前記複数のヘッダが、前記第３の通信デバイス又は送信先への前記第１の通信セッションの前記ルーティングを決定する条件の階層的セットを定義する、請求項１に記載のシステム。
【請求項６】
前記マイクロプロセッサ可読実行可能命令がさらに、
前記第１の通信デバイス及びネットワークルーティングアプリケーションの前記少なくとも１つから、前記第２の通信デバイスとの第２の通信セッションを確立するリクエストであって前記第２の通信セッションをルーティングするための第２のルーティング属性を定義するリクエストを受信し、
前記動的ルーティングフレームワークにおいて前記第２の通信セッションをルーティングするための前記第２のルーティング属性をルックアップし、
前記第２のルーティング属性及び前記動的ルーティングフレームワークにおいて定義された前記１以上の規則に基づいて前記第２の通信セッションを第４の通信デバイスにルーティングする
ように前記マイクロプロセッサをプログラムする、請求項１に記載のシステム。
【請求項７】
前記ルーティング属性が複数のルーティング属性を備え、前記第１の通信セッションを前記第３のデバイス又は送信先にルーティングするように１以上の論理演算子が前記複数のルーティングパラメータにおいて使用される、請求項１に記載のシステム。
【請求項８】
第２の通信デバイスとの第１の通信セッションを確立するリクエストを受信するステップであって、前記第１の通信セッションを確立する前記リクエストは前記第１の通信セッションをルーティングするための第１のルーティング属性を備えるものである、ステップと、
動的ルーティングフレームワークにおいて前記第１の通信セッションをルーティングするための前記第１のルーティング属性をルックアップするステップと、
前記第１のルーティング属性及び前記動的ルーティングフレームワークにおいて定義される１以上の規則に基づいて第３の通信デバイス又は送信先に前記第１の通信セッションをルーティングするステップと
を備える方法。
【請求項９】
前記第１の通信セッションが確立された後に、前記第１の通信セッションをルーティングするための第２のルーティング属性を含む前記第１の通信セッションに関連する第２のメッセージを受信するステップと、
前記動的ルーティングフレームワークにおいて前記第１の通信セッションをルーティングするための前記第２のルーティング属性をルックアップするステップと、
前記第２のルーティング属性及び前記動的ルーティングフレームワークにおいて定義される１以上の規則に基づいて第４の通信デバイスに前記第１の通信セッションをルーティングするステップと
をさらに備える請求項８に記載の方法。
【請求項１０】
マイクロプロセッサと、
コンピュータ可読媒体であって、前記マイクロプロセッサに接続され、前記マイクロプロセッサによって実行されると、前記マイクロプロセッサに、
第２の通信デバイスとの第１の通信セッションを確立するリクエストであって前記第１の通信セッションを第３の通信デバイス又は送信先にルーティングするための第１のセットの１以上のルーティング規則を定義するリクエストを受信させ、
前記第１のセットの１以上のルーティング規則に基づいて前記第１の通信セッションを前記第３の通信デバイス又は送信先にルーティングさせる
マイクロプロセッサ可読実行可能命令を備えるコンピュータ可読媒体と
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、米国仮特許出願第６２／６９９０５８号、２０１８年７月１７日出願、発明の名称「ＦＬＥＸＩＢＬＥ  ＲＯＵＴＩＮＧ」の利益を主張し、その全体においてこの参照によりここに取り込まれる。
【０００２】
本開示は、概略として通信システムに関し、特に通信システムのための柔軟なルーティングフレームワークに関する。
【背景技術】
【０００３】
コンタクトセンター（ＣＣ）及び他のユニファイドコミュニケーション（ＵＣ）ビジネスは、入着通信セッションをルーティングするのに使用されるハードコードされたルーティングフレームワークによって課される制限と今日も戦っている。今日のソリューションは、顧客が創造的かつ複雑なルーティングを要求する柔軟性に欠ける。技術が進歩するにつれて、より柔軟なルーティングフレームワークを提供する能力を提供するようにソリューションも進化しなければならない。
【発明の概要】
【０００４】
これら及び他のニーズが、本開示の種々の実施形態及び構成によって取り組まれる。第２の通信デバイスとの通信セッションを確立するリクエストが受信される。通信セッションを確立するリクエストは、通信セッションをルーティングするための１以上のルーティング属性を備える。通信セッションをルーティングするための１以上のルーティング属性は、動的ルーティングフレームワークにおいてルックアップされる。通信セッションは、１以上のルーティング属性及び動的ルーティングフレームワークにおいて定義される１以上の規則に基づいて第２の通信デバイスではなく第３の通信デバイス又は送信先（例えば、ソフトウェアアプリケーション）にルーティングされる。例えば、通信セッションは、自動音声応答（ＩＶＲ）システムに最初にルーティングされるのではなくルーティング属性に基づいて特定のコンタクトセンターキューにルーティングされる。
【０００５】
文言「少なくとも１つ」、「１以上」、「又は（若しくは）」及び「及び／又は」は、用法において接続的かつ離接的なオープンエンドな表現である。例えば、「Ａ、Ｂ及びＣの少なくとも１つ」、「Ａ、Ｂ又はＣの少なくとも１つ」、「Ａ、Ｂ及びＣの１以上」、「Ａ、Ｂ又はＣの１以上」、「Ａ、Ｂ及び／又はＣ」及び「Ａ、Ｂ又はＣ」という表現の各々は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢの双方、Ａ及びＣの双方、Ｂ及びＣの双方、又はＡ、Ｂ及びＣの全てを意味する。
【０００６】
用語「ａ」又は「ａｎ」エンティティは、そのエンティティの１以上をいう。このように、用語「ａ」（又は「ａｎ」）、「１以上」及び「少なくとも１つ」は、ここでは互換可能に使用され得る。また、用語「備える」、「含む」及び「有する」も互換可能に使用され得ることを注記する。
【０００７】
ここで使用する用語「自動的」及びその変化形とは、その処理又は動作が実行されると実質的な人間の入力なしに行われる任意の処理又は動作であって通常は連続的又は準連続的であるものをいう。ただし、処理又は動作の実行が実質的又は非実質的な人間の入力を用いるとしても、その入力がその処理又は動作の実行前に受信される場合にはその処理又は動作は自動的となり得る。人間の入力は、どのようにして処理又は動作が実行されるかにその入力が影響を与える場合に実質的であるとみなされる。処理又は動作の実行に同意する人間の入力は、「実質的」とはみなされない。
【０００８】
本開示の態様は、ここでは全て一般に「回路」、「モジュール」又は「システム」ともいう全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）又はソフトウェア及びハードウェアの態様を組み合わせた実施形態の形式を採り得る。１以上のコンピュータ可読媒体の任意の組合せが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。
【０００９】
コンピュータ可読記憶媒体は、例えば、ただし限定的にではなく、電子、磁気、光学、電磁、赤外若しくは半導体システム、装置若しくはデバイス又は上記の任意の適宜の組合せであればよい。コンピュータ可読記憶媒体のより具体的な例（網羅的リストではない）は以下：１以上の配線を有する電気接続、可搬コンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、可搬コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光学記憶デバイス、磁気記憶デバイス、又は上記の任意の適宜の組合せを含むことになる。この書類の背景において、コンピュータ可読記憶媒体は、命令実行システム、装置又はデバイスによる又はそれとの関連における使用のためにプログラムを含み又は記憶することができる任意の有形媒体となり得る。
【００１０】
コンピュータ可読信号媒体は、例えば、ベースバンドにおいて又は搬送波の一部としてここに具現化されるコンピュータ可読プログラムコードを有する伝搬データ信号を含み得る。そのような伝搬信号は、これに限定されないが、電磁気、光又はこれらの任意の適切な組合せを含む種々の形態のいずれかをとり得る。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置若しくはデバイスによって又はそれとの接続において使用するためにプログラムを通信、伝搬又は搬送することができる任意のコンピュータ可読媒体であり得る。コンピュータ可読媒体上で具現化されるプログラムコードは、これに限定されないが、無線、有線、光ファイバケーブル、ＲＦなど又は上記の任意の適切な組合せを含む任意の適切な媒体を用いて送信され得る。
【００１１】
ここで使用される用語「判定する／決定する」、「算出する」及び「計算する」並びにその変化形は、互換可能に使用され、任意のタイプの方法、処理、数学的演算又は技術を含む。
【００１２】
ここで使用される用語「セッション開始プロトコル」（ＳＩＰ）は、インターネットプロトコル（ＩＰ）上で音声及び映像呼などのマルチメディア通信セッションを制御するために広く使用されるＩＥＴＦによって定義されるシグナリングプロトコルをいう。プロトコルは、１つ又は幾つかのメディアストリームからなる二者間（ユニキャスト）又は多数者間（マルチキャスト）セッションを作成、修正及び終端するために使用され得る。修正は、アドレス又はポートを変更すること、より多くの参加者を招待すること及びメディアストリームを追加又は削除することを伴い得る。他の実行可能なアプリケーションの例は、ビデオ会議、ストリーミングマルチメディア配信、インスタントメッセージング、存在情報、ファイル転送及びオンラインゲームを含む。ＳＩＰは、インターネットエンジニアリングタスクフォース（ＩＥＴＦ）ネットワークワーキンググループ（２０００年１１月）から入手可能なＲＦＣ３２６１に記載されるものであり、この文書は及びＳＩＰを記述する他の全てのＳＩＰ  ＲＦＣは、それらが教示することの全てについてその全体において参照によりここに取り込まれる。
【００１３】
ここにおいて及び特許請求の範囲において定義されるように、「通信セッション」は、ボイス、ビデオ、マルチメディア、ゲーミング、バーチャルリアリティ、インスタントメッセージング（ＩＭ）、ｅメール、テキストメッセージング、ウェブインタラクションなどのような任意のタイプの通信セッションであり得る。
【００１４】
用語「通信デバイス」は、任意の種類の通信デバイスであり得る。例えば、通信デバイスは、ユーザ通信デバイス（例えば、スマートフォン、デスクトップコンピュータ、ノートパッドなど）であってもよいし、ルータ、ネットワーク要素、着信呼自動分配（ＡＣＤ）システム、メールサーバ、ＩＭセッションマネージャ、通信マネージャ、ＩＶＲシステム、コンタクトセンターキュー、コンタクトセンタープール、ビデオ／ボイスメールシステム、通信ボット、ウェブサーバなどのような非ユーザ通信デバイスであってもよい。
【００１５】
ここにおいて及び特許請求の範囲において定義されるように、用語「ルーティング属性」は、どのように通信セッションがルーティングされるのかを変更／修正するのに使用される任意のタイプの属性であってもよいし、それを含んでいてもよい。ルーティング属性は、コンタクトセンターキュー、自動音声応答（ＩＶＲ）システム、ビデオ／ボイスメールシステムなどのようなリソースを備え得る。ルーティング属性は、特定のヘッダ、ヘッダにおける特定の属性、添付物（例えば、ＳＩＰヘッダにおける添付ＸＭＬドキュメント）、ペイロードにおける特定の値／パラメータなどであり得る。例えば、ルーティング属性は、ＳＩＰ  Ｖｉａヘッダ、ＳＩＰ  Ｃｏｎｔａｃｔヘッダ、ＳＩＰ  Ｒｄｃｏｒｄ−Ｒｏｕｔｅヘッダ、ＳＩＰ  Ｒｅｆｅｒ−Ｔｏヘッダなどのような特定のヘッダに存在し得る。ＳＩＰに加えて、セッション記述プロトコル属性（例えば、セッション記述プロトコルメッセージにおける特定のタイプの定義済みコーデック）、Ｈ．３２３ヘッダ／属性、ビデオプロトコルヘッダ／属性、ウェブリアルタイムコミュニケーション（ＷｅｂＲＴＣ）プロトコルヘッダ／属性、独自開発ヘッダ／属性、インスタントメッセージングプロトコルヘッダ／属性、シンプルメール転送プロトコルヘッダ／属性などのような他のヘッダ／属性が使用され得る。ルーティング属性は、特定のシーケンスの属性（例えば、Ａ＋！Ｂ＋Ｃ＝特定のルーティング挙動）又は論理演算子の任意の組合せを含み得る。
【００１６】
ここで使用される用語「手段」は米国特許法第１１２条（ｆ）及び／又は１１２条、第６項によるその最も広い可能な解釈で与えられるべきである。したがって、用語「手段」を含む請求項は、全ての構造物、材料又はここに説明する動作及びその均等物の全てを包含するものである。また、構造物、材料又は動作及びその均等物は、概要、図面の簡単な説明、詳細な説明、要約書及び特許請求の範囲自体に記載される全てのものを含むものである。
【００１７】
前述のものは、開示の幾つかの態様の理解を与える簡略化された概要である。この概要は、開示及びその種々の実施形態の広範な又は網羅的な概観ではない。それは、開示の鍵となる又は重要な要素を特定するものでも、開示の範囲を境界付けるものでもなく、以下に提示されるより詳細な説明への導入として簡略化された態様において開示の選択的コンセプトを提示するものである。理解されるように、開示の他の実施形態は、以上に記載され又は以下に詳細に説明される構成の１以上を単独又は組合せにおいて利用して可能となる。また、開示は例示の実施形態の観点において提示されるが、開示の個々の態様が個別に特許請求され得ることが理解されるべきである。
【図面の簡単な説明】
【００１８】
【図１】図１は、柔軟なルーティングシステムを提供するための第１の例示的システムのブロック図である。
【図２】図２は、ネットワーク要素を用いて柔軟なルーティングシステムを提供するための第２の例示的システムのブロック図である。
【図３】図３は、ルーティング属性を用いて柔軟なルーティングシステムを提供するための処理のフロー図である。
【図４】図４は、動的ルーティングフレームワークにおいてルーティング規則を定義するための例示のユーザインターフェースの図である。
【図５】図５は、コンタクトセンターにおいて柔軟なルーティングシステムを提供するユーザインターフェースの図である。
【図６】図６は、ルーティング規則を用いて柔軟なルーティングシステムを提供するための処理のフロー図である。
【発明を実施するための形態】
【００１９】
図１は、柔軟なルーティングシステムを提供するための第１の例示的システム１００のブロック図である。第１の例示的システム１００は、ユーザ通信デバイス１０１Ａ〜１０１Ｎ、ネットワーク１１０、コンタクトセンター１２０、エージェント通信デバイス１３０Ａ〜１３０Ｎ、管理端末１４０及びセンサ／他のデバイス１５０を備える。さらに、コンタクトセンターエージェント１３１Ａ〜１３１Ｎは、エージェント通信デバイス１３０Ａ〜１３０Ｎにおいて示され、管理者１４１は管理端末１４０において示される。
【００２０】
ユーザ通信デバイス１０１Ａ〜１０１Ｎは、パーソナルコンピュータ（ＰＣ）、電話機、ビデオシステム、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、タブレットデバイス、ノートブックデバイス、スマートフォン、会議システムなどのような、ネットワーク１１０上で通信可能な任意のユーザデバイスであってもよく、又はそれを含み得る。図１に示すように、単一のユーザ通信デバイス１０１のみを含み、任意数のユーザ通信デバイス１０１Ａ〜１０１Ｎが、ネットワーク１１０に接続され得る。
【００２１】
ユーザ通信デバイス１０１Ａは、ルーティングアプリケーション１０２Ａをさらに備える。ルーティングアプリケーション１０２Ａは、ユーザ通信デバイス１０１Ａに読み込まれ得る任意のファームウェア／ソフトウェアアプリケーションであってもよいし、それを含み得る。ルーティングアプリケーション１０２Ａは、コンタクトセンター１２０における通信セッションのルートを変更するルーティングパラメータ及び／又はルーティング規則を挿入及び／又は送信するのに使用され得る。
【００２２】
ルーティングアプリケーション１０２Ａは、通信セッション中の任意の時間におけるルーティングパラメータ及び／又はルーティング規則を既存のメッセージに挿入し得る。例えば、ルーティングアプリケーション１０２Ａは、ルーティングパラメータ及び／又はルーティング規則をＳＩＰ  ＩＮＶＩＴＥメッセージに（通信セッションの最初の確立時に）挿入し得る。ＳＩＰ  ＩＮＶＩＴＥ（又は他のＳＩＰメッセージ）におけるルーティングパラメータ及び／又はルーティング規則は、要求ユニフォームリソース識別子（ＵＲＩ）、添付物（例えば、添付されたエクステンシブルマークアップランゲージ（ＸＭＬ）ドキュメント）、ヘッダを介したＳＩＰ、ＳＩＰメッセージボディヘッダ、独自ヘッダ、標準ヘッダなどに位置し得る。
【００２３】
ルーティングアプリケーション１０２Ａは、通信セッション中にメッセージを送信することによってルーティングパラメータ及び／又はルーティング規則を動的に送信し得る。例えば、ルーティングアプリケーション１０２Ａは、通信セッションが確立された後にどのように通信セッションがルーティングされるのかを変更するルーティングパラメータ及び／又はルーティング規則とともにＳＩＰ  ＮＯＴＩＦＹ、ＳＩＰ  ＰＵＢＬＩＳＨ、ＳＩＰ  ＲＥＦＥＲ、ＳＩＰ  ＩＮＶＩＴＥ、メッセージ、任意のＳＩＰメッセージタイプなどを送信又は修正してもよい。送信／修正されるＳＩＰメッセージは、定義されたイベントに基づいて発生し得る。例えば、ＳＩＰ  ＲＥＦＥＲメッセージは、誰に呼が転送されているのかに基づいて異なるルーティングパラメータで修正され得る。ユーザ通信デバイス１０１Ｂ〜１０１Ｎは便宜上ルーティングアプリケーション１０２を示していないが、ユーザ通信デバイス１０１Ｂ〜１０１Ｎは対応するルーティングアプリケーション１０２も備え得る。
【００２４】
ネットワーク１１０は、インターネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ボイスオーバーＩＰネットワーク（ＶｏＩＰ）、公衆交換電話網（ＰＳＴＮ）、パケット交換ネットワーク、回路交換ネットワーク、セルラネットワーク、これらの組合せなどのような電子的通信を送信及び受信することができる通信機器の任意の集合であってもよいし、それを含み得る。ネットワーク１１０は、イーサネット、インターネットプロトコル（ＩＰ）、セッション開始プロトコル（ＳＩＰ）、サービス総合デジタル網（ＩＳＤＮ）、ビデオプロトコル、インスタントメッセージング（ＩＭ）プロトコル、ｅメールプロトコルなどのような様々な電子的プロトコルを使用し得る。したがって、ネットワーク１１０は、パケット及び／又は回路交換通信を介してメッセージを搬送するように構成された電子通信ネットワークである。
【００２５】
コンタクトセンター１２０は、ユーザ通信デバイス１０１Ａ〜１０１Ｎのユーザにサービスを提供することができる任意のコンタクトセンター１２０であってもよいし、それを含み得る。サービスは、テクニカルサポート、営業、緊急サービスなどのような種々のタイプのサービスを備え得る。ユーザは、ボイス通信セッション、ビデオ通信セッション、マルチメディア通信セッション、バーチャルリアリティ通信セッション、インスタントメッセージング（ＩＭ）通信セッション、ｅメール通信セッション、テキストメッセージ通信セッションなどのような種々の媒体においてコンタクトセンター１２０との通信セッションを開始（又は受信）し得る。
【００２６】
コンタクトセンター１２０は、通信マネージャ１２１、コンタクトセンターキュー１２２、自動音声応答（ＩＶＲ）システム１２３、コンタクトセンタープール１２４、ビデオ／ボイスメールシステム１２５、通信セッションボット１２６、動的ルーティングフレームワーク１２７、ウェブサーバ１２８及び静的ルーティング規則１２９をさらに備える。
【００２７】
通信マネージャ１２１は、構内交換機（ＰＢＸ）、及び着信呼自動分配（ＡＣＤ）システム、ルータ、ネットワークスイッチ、ＩＭサーバ、ｅメールサーバなどのような、コンタクトセンター１２０における通信セッションを管理及びルーティングできるファームウェア／ソフトウェアに結合された任意のハードウェアであってもよいし、それを含み得る。通信マネージャ１２１は、ボイス、ビデオ、マルチメディア、バーチャルリアリティ、ＩＭ、ｅメール、テキストメッセージングなどのような種々のタイプの通信セッションを管理及びルーティングし得る。
【００２８】
コンタクトセンターキュー１２２は、通信セッションを保持するのに使用可能な任意のコンピュータ構成であってもよいし、それを含み得る。例えば、コンタクトセンターキュー１２２は、エージェント通信デバイス１３０／コンタクトセンターエージェント１３１に最終的にルーティングされるボイス通信セッションを保持するのに使用可能である。コンタクトセンターキュー１２２は、任意の種類の通信セッションを保持することができる。
【００２９】
ＩＶＲシステム１２３は、音声を介してユーザと相互作用することができる任意のシステムであってもよいし、それを含み得る。ＩＶＲシステム１２３は、コンタクトセンター１２０においてルーティング決定を行うユーザからの情報を収集するのに使用され得る。例えば、ＩＶＲシステム１２３は、入着ビデオ通信セッションをコンタクトセンターキュー１２２又はコンタクトセンタープール１２４にルーティングするのに使用され得る。
【００３０】
コンタクトセンタープール１２４は、コンタクトセンターエージェント１３１によって選択されるまで通信を保持することができる任意のコンピュータ構成であってもよいし、それを含み得る。コンタクトセンタープール１２４は、任意の種類の通信セッションを保持することができる。
【００３１】
ビデオ／ボイスメールシステム１２５は、ユーザがビデオ又はボイスメールを残すことを可能とするソフトウェアに結合された任意のハードウェアであってもよいし、それを含み得る。
【００３２】
通信セッションボット１２６は、チャットボット、テキストメッセージングボット、ウェブサーバボットなどのような、テキストを介してユーザと相互作用可能なソフトウェアに結合された任意のハードウェアであってもよいし、それを含み得る。
【００３３】
動的ルーティングフレームワーク１２７は、通信セッションのルーティングを定義する任意のセットの規則であってもよいし、それを含み得る。動的ルーティングフレームワーク１２７は、管理端末１４０を介して管理者１４１によって動的に定義され得る。
【００３４】
ウェブサーバ１２８は、Ａｐａｃｈｅ（登録商標）、ＩＩＳ（登録商標）、ｎｇｉｎｘ（登録商標）などのような任意の周知のウェブサーバ１２８であってもよいし、それを含み得る。ウェブサーバ１２８は、ルーティングアプリケーション１０２をユーザ通信デバイス１０１にブラウザを介して提供し得る。
【００３５】
静的ルーティング規則１２９は、コンタクトセンター１２０において事前定義又は管理されるルーティング規則であってもよいし、それを含み得る。静的ルーティング規則１２９は、コンタクトセンター１２０の当初のルーティング能力に基づく。
【００３６】
エージェント通信デバイス１３０Ａ〜１３０Ｎは、ユーザ通信デバイス１０１のような任意のユーザ通信デバイスであってもよいし、それを含み得る。一実施形態では、エージェント通信デバイス（例えば、１３０Ａ）は、電話機及びパーソナルコンピュータのような複数のエージェント通信デバイス１３０を備え得る。
【００３７】
センサ／他のデバイス１５０は、カメラ、ＲＦＩＤスキャナ、圧力センサ、ドキュメントスキャナ、ルータ、サーバ、通信システム、警報システム、マイクロフォンなどのような、通信セッションを確立することができる任意のセンサ／デバイスであってもよいし、それを含み得る。不図示であるが、センサ／他のデバイス１５０はまた、ルーティングアプリケーション１０２を備え得る。
【００３８】
図２は、ネットワーク要素２２０を用いて柔軟なルーティングシステムを提供するための第２の例示的システム２００のブロック図である。図２は、ユーザ通信デバイス１０１Ａ〜１０１Ｎ、ネットワーク１１０、コンタクトセンター１２０、エージェント通信デバイス１３０Ａ〜１３０Ｎ及びネットワーク要素２２０を備える。便宜上不図示であるが、第２の例示的システム２００は、管理端末１４０も備え得る。同様に、コンタクトセンターエージェント１３１Ａ〜１３１Ｎ及び管理者は、第２の例示的システム２００のユーザであってもよい。
【００３９】
ネットワーク要素２２０は、ルータ、セッションマネージャ、着信呼自動分配装置（ＡＣＤ）、セッションボーダーコントローラ（ＳＢＣ）、プロキシサーバなどのような通信セッションを管理することができる任意のネットワーク要素であってもよいし、それを含み得る。ネットワーク要素２２０は、ネットワークルーティングアプリケーション２０２をさらに備える。ネットワークルーティングアプリケーション２０２は、バックトゥバックユーザエージェント（Ｂ２ＢＵＡ）のような、通信セッションを傍受及び管理することができる任意のアプリケーションであり得る。
【００４０】
図２の一実施形態では、ルーティングアプリケーション１０２は、ユーザ通信デバイス１０１Ａ〜１０１Ｎにはない。その代わりに、ルーティングアプリケーション１０２の機能は、ネットワークルーティングアプリケーション２０２にある。図２では、ネットワークルーティングアプリケーション２０２は、どのように（すなわち、ユーザ通信デバイス１０１Ａ〜１０１Ｎのいずれから）通信セッションがコンタクトセンター１２０においてルーティングされるのかを変更するルーティング属性及び／又はルーティング規則を挿入及び／又は送信することができる。ネットワークルーティングアプリケーション２０２は、ルーティングアプリケーション１０２Ａについて述べたのと同じ態様でルーティング属性／ルーティング規則を挿入及び／又は送信し得る。同様に、ネットワークルーティングアプリケーション２０２は、ルーティングアプリケーション１０２Ａについて説明したのと同じ態様でマシンラーニングを使用し得る。
【００４１】
図２の一実施形態では、ルーティングアプリケーション１０２及びネットワークルーティングアプリケーション２０２の双方は、単一の通信セッションに対するルーティングパラメータ及び／又はルーティング規則を各々挿入及び／又は送信し得る。言い換えると、ルーティングアプリケーション１０２及びネットワークルーティングアプリケーション２０２は、分散ルーティングアプリケーション１０２／２０２である。
【００４２】
図３は、ルーティング属性を用いる柔軟なルーティングシステムを提供するための処理のフロー図である。例示的には、ユーザ通信デバイス１０１Ａ〜１０１Ｎ、ルーティングアプリケーション１０２、コンタクトセンター１２０、通信マネージャ１２１、コンタクトセンターキュー１２２、ＩＶＲシステム１２３、コンタクトセンタープール１２４、ビデオ／ボイスメールシステム１２５、通信セッションボット１２６、動的ルーティングフレームワーク１２７、ウェブサーバ１２８、エージェント通信デバイス１３０Ａ〜１３０Ｎ、管理端末１４０、センサ／デバイス１５０、ネットワーク要素２２０及びネットワークルーティングアプリケーション２０２は、メモリ（すなわち、コンピュータメモリ、ハードディスクなど）のようなコンピュータ可読記憶媒体に記憶されたプログラム命令を実行することによって、図３〜６の方法及びここに記載される処理を実行するコンピュータ又はマイクロプロセッサのような、記憶プログラムによって制御されるエンティティである。図３〜６に記載される方法は特定の順序で示されるが、当業者は、図３〜６におけるステップは異なる順序で実施され及び／又はマルチスレッド化環境において実施され得ることを認識することになる。さらに、種々のステップは、実施に基づいて省略又は追加され得る。
【００４３】
通常、ユーザがコンタクトセンター１２０への通信セッションを開始する場合、ユーザは、標準的には１−８００番をダイヤルし、一般ｅメールアドレスを使用し、コンタクトセンター１２０のＩＭアドレスを使用などする。これらの場合の各々において、当初のルーティングアドレス／番号は、通信セッションの最終的な送信先ではない。通常は、ユーザがそれらの最終的な送信先に接続されるためには、コンタクトセンター１２０を介してユーザを誘導するための幾つかのステップを採ることになる。例えば、ユーザは、入着呼自動分配（ＡＣＤ）システム（通信マネージャ１２１）のアドレスである１−８００番をダイヤルすることになる。そして、ＡＣＤシステムは、ＩＶＲシステム１２３に通信セッションをルーティングする。ユーザからの入力に基づいて、ユーザは、最終的にユーザをコンタクトセンターエージェント１３１に接続するコンタクトセンターキュー１２２にルーティングされる。多くの場合において、この静的に定義された処理は非効率である。図３において述べるようなルーティング属性の使用によって、通信セッションの意図する送信先に到達するための簡略化された処理が可能となる。
【００４４】
同様に、非コンタクトセンター環境では、図３に記載した処理は、どのように当初の通信セッションがルーティングされるかを変更するのに使用され得る。例えば、個々のユーザに対する入着ボイス通信セッションは、図３に記載するようなルーティング属性の使用に基づいて異なるユーザ／デバイスにルーティングされ得る。さらに、通信は、センサ／デバイス１５０とのものであってもよい。例えば、遠隔警報システム／カメラシステムが、コンタクトセンター１２０に対して通信セッションを開始し得る。
【００４５】
処理は、ステップ３００で開始する。ステップ３０１において、管理端末１４０を介して、管理者１４１は、動的ルーティングフレームワーク１２７に対するルーティング属性を管理する。管理されるルーティング属性は、任意のタイプのルーティング属性であり得る。管理者１４１によって定義されるルーティング属性は、単一の属性であり得る。例えば、メッセージがパラメータ／ヘッダＡを含む場合、通信セッションは異なるデバイスにルーティングされ得る。管理者１４１によって定義されるルーティング属性は、特定のシーケンスの属性（例えば、Ａ＋！Ｂ＋Ｃ＝特定のルーティング挙動）であり得る。例えば、メッセージタイプがＳＩＰ  ＩＮＶＩＴＥメッセージであり、特定の要求ＵＲＩを有さず、独自のヘッダ「ＱｕｅｕｅＲｏｕｔｅ」を含む場合には、メッセージは特定のコンタクトセンターキュー１２２にルーティングされる。ルーティング属性のシーケンスは、論理積、論理和、排他的論理和、否定などのような論理演算子の任意の組合せを用いることができる。管理者１４１によって定義されるルーティング属性は、特定の属性の欠如に基づいていてもよい。例えば、メッセージがパラメータＱｕｅｕｅＲｏｕｔｅを含まない場合、通信セッションは特定のＩＶＲシステム１２３にルーティングされる。この柔軟性によって、管理者は、任意の通信環境においてどのように通信セッションがルーティングされるかを動的にカスタマイズすることができる。
【００４６】
定義されるルーティング属性は、既存のヘッダ／パラメータ及び／又は新たなヘッダ／パラメータに基づいていてもよい。例えば、定義されるルーティング属性は、ＳＩＰ  ＩＮＶＩＴＥメッセージにおける新たな独自ヘッダに対するものであってもよい。あるいは、定義されるルーティング属性は、ＳＩＰ  ＩＮＶＩＴＥメッセージにおける特定の標準ヘッダ／パラメータに対するものであってもよい。
【００４７】
一実施形態では、動的ルーティングフレームワーク１２７は、ルーティングアプリケーション１０２／ネットワークルーティングアプリケーションを使用しなくてもよい。この実施形態では、動的ルーティングフレームワーク１２７において定義される管理ルーティング属性は、通信セッションが通常はどのようにルーティングされるかを変更する既存のヘッダ／パラメータを使用する。
【００４８】
通信マネージャ１２１は、通信セッション（例えば、ＳＩＰ  ＩＮＶＩＴＥ）又は他のメッセージ（例えば、ＳＩＰ  ＮＯＴＩＦＹ、ＳＩＰ  ＰＵＢＬＩＳＨ、ＳＩＰ  ＲＥＧＩＳＴＥＲ、ＳＩＰ  ＮＯＴＩＦＹ、ＳＩＰ  ＩＮＦＯ、ＳＩＰ  ＯＰＴＩＯＮＳ、ＳＩＰ  ＵＰＤＡＴＥ、ＳＩＰ  ｒｅ−ＩＮＶＩＴＥ、交換ヘッダメッセージ付きのＳＩＰ  ＩＮＶＩＴＥなど）を確立するリクエストがステップＳ３０２において受信されるかを確認するように待機する。ステップ３０２の受信メッセージは、ハイパーテキストトランスポートプロトコル（ＨＴＴＰ）、Ｈ．３２３、ウェブリアルタイムプロトコル（ＷｅｂＲＴＣ）などのような他のタイプのプロトコルに基づき得る。通信セッション又は他のメッセージを確立するリクエストがステップ３０２において受信されない場合、ステップ３０２の処理は繰り返される。
【００４９】
一方、通信セッション又は他のメッセージを確立するリクエストがステップＳ３０２で受信される場合、通信マネージャ１２１は、ステップ３０４において、動的ルーティングフレームワーク１２７において定義される通信セッション又は他のメッセージを確立するリクエストにおける１以上のルーティング属性があるかを調べて確認する。ステップ３０４において動的ルーティングフレームワーク１２７において定義されるいずれのルーティング属性もない場合、通信マネージャ１２１は、ステップ３０８においてコンタクトセンター１２０の静的ルーティング規則１２９による通信をルーティング及び／又は管理する。そして、処理は、ステップ３０２に進む。
【００５０】
動的フレームワーク１２７に定義される１以上のルーティング属性がある場合、ステップ３０６において通信セッションがルーティング属性に従ってルーティングされてから、処理はステップ３０２に進む。例えば、通信セッションは、異なるデバイス（例えば、異なるユーザ通信デバイス１０１）又は異なる送信先（例えば、ソフトウェアアプリケーション）にルーティングされる。ルーティング属性は、どのように通信セッションがコンタクトセンター１２０にルーティングされるかに影響を与えることができる任意のタイプのルーティング属性であり得る。例えば、ユーザ通信デバイス１０１の位置（例えば、ユーザ通信デバイス１０１Ａの位置及び／又はユーザが誰かに基づく特定のデバイス／コンタクトセンター１２０へのルート）、コンタクトセンター１２０の混雑度（例えば、コンタクトセンター１２０の混雑レベルに基づく特定のデバイスへのルート）、コンタクトセンターキュー１２２における呼待ち時間（待ち時間が閾値を下回る場合のコンタクトセンターキュー１２２へのルート）、時刻、特定のコンタクトセンターエージェント１３１のエージェントの状態（例えば、コンタクトセンターエージェント１３１が休み時間中であるか）、自動音声応答（ＩＶＲ）システム識別子、ＩＶＲシステム１２３におけるメニュー識別子、ＩＶＲメニューセット（例えば、ＩＶＲシステム１２３によって使用される特定セットのメニュー）、ベクターディレクトリ番号（ＶＤＮ）、言語（例えば、言語設定に基づくＩＶＲシステム１２３へのルート）、通用語、ユーザ通信デバイス１０１の速度（例えば、プロセッサ速度又は帯域幅容量）、ユーザ通信デバイス１０１のデバイスタイプ（例えば、モバイル又は非モバイル）、ユーザ通信デバイス１０１の画面サイズ、ユーザ通信デバイス１０１上に表示されるドキュメント、ユーザ通信デバイス１０１上のインストール済みアプリケーション、ユーザ通信デバイス１０１上の実行中アプリケーション、エージェントのスキル、エージェントのスキルレベル、ボイスメールシステム識別子、ボイスメールシステム識別子、コンタクトセンターキュー識別子、コンタクトセンターキュー１２２における優先レベル、コンタクトセンターキュー１２２における繰上げ数（例えば、コンタクトセンターキュー１２２における６位分の繰上げ）、コンタクトセンタープール識別子、インスタントメッセージングボット識別子、通信セッションボット識別子、コーデックタイプ（例えば、コーデックタイプがビデオコーデックに対するものである場合に映像呼に対応しているコンタクトセンターキュー１２２へのルート）、送信先識別子、メディアタイプ（例えば、メディアタイプが音声又は映像である場合、特定のコンタクトセンターキュー１２２へのルート）などであり得る。
【００５１】
ルーティング属性は、データベースから及び／又はパターンマッチングに基づいて規則をフェッチするのに使用され得る。そして、データベースからの規則は、コンタクトセンターにおいて通信セッションをルーティングするメッセージにおける１以上の既存のパラメータを使用し得る。例えば、ＳＩＰ  ＩＮＶＩＴＥメッセージは、発呼者の電話番号及び高優先度キュールーティングパラメータを有し得る。異なるＳＩＰ  ＩＮＶＩＴＥメッセージが同じ高優先度キュールーティング属性を有する場合であっても、発呼者Ａについては、呼は第１の高優先度コンタクトセンターキュー１２２にルーティングされることになり、発呼者Ｂ（異なる電話番号に基づく）については、呼は第２の高優先度コンタクトセンターキュー１２２にルーティングされることになる。
【００５２】
図３において、ルーティング属性は、通信セッションが開始される時に通常は送信される。ただし、ルーティング属性は、通信セッションが確立された後に送信されてもよい。例えば、ルーティング属性は、（例えば、ＳＩＰ  Ｒｅ−ＩＮＶＩＴＥメッセージにおいて）通信セッションが転送される時に送信され得る。
【００５３】
図３の一実施形態では、複数の別個のヘッダが、ルーティング属性に対して使用され得る。複数の別個のヘッダは、階層的セットのルーティング属性を定義するのに使用され得る。例えば、ＳＩＰ  ＵＲＩにおけるルーティングパラメータは、ＳＩＰメッセージボディヘッダにおいてルーティングパラメータよりも優先し得る。
【００５４】
一実施形態では、ルーティングアプリケーション１０２Ａは、マシンラーニングに基づいてルーティングパラメータ及び／又はルーティング規則を挿入及び／又は送信し得る。マシンラーニングアルゴリズムは、通常はどのように通信がルーティングされるのかについてユーザの特定の挙動を時間にわたって識別するのに使用され得る。例えば、ルーティングアプリケーション１０２Ａは、ユーザＡがコンタクトセンター１２０に対する音声呼を開始する場合にユーザＡは常に特定のコンタクトセンターキュー１２２に接続されることを（すなわち、それ自体によって又はコンタクトセンター１２０からの入力に基づいて）学習し得る。ユーザがコンタクトセンター１２０に対する通信セッションを開始する場合、マシンラーニングに基づいて、通信セッションはコンタクトセンターキュー１２２に、ＩＶＲシステム１２３及び提供された（通常よりは少ない）限定されたセットのメニューなどに直接にルーティングされ得る。一実施形態では、ルーティングアプリケーション１０２／２０２は、動的ルーティングフレームワーク１２７から、特定のルーティングパラメータ及び／又はルーティング規則を通信セッション又は他のメッセージを確立するリクエストに挿入する命令を受信し得る。
【００５５】
図４は、動的ルーティングフレームワーク１２７においてルーティング規則を定義するための例示のユーザインターフェースの図である。図４は、ユーザインターフェース４００を備える。ユーザインターフェース４００は、属性フィールド４０１、値フィールド４０２、属性追加ボタン４０３、リソースフィールド４０４、リソース追加ボタン４０５、現在定義されている属性のリスト４１０、会社Ａ属性４１１Ａ、会社Ｂ属性４１１Ｂ、キュー待ち時間属性４１１Ｃ、現在定義されているリソースのリスト４２０、ＩＶＲ  Ａリソース４２１Ａ、低優先度キュー製品Ｘリソース４２１Ｂ、ＩＶＲメニューＡリソース４２１Ｃ、製品Ｘに対する高優先度キュー４２１Ｄ、ルーティング規則４３０、論理演算子４３１、演算数１に対する属性位置４４０Ａ、演算数２に対する属性位置４４０Ｂ、演算数１に対するヘッダ名４４１Ａ、演算数２に対するヘッダ名４４１Ｂ、演算数１に対する属性値４４２Ａ、演算数２に対する属性値４４２Ｂ、演算数１に対する負数４４３Ａ、演算数２に対する負数４４３Ｂ、選択リソース４４４及び規則追加ボタン４４５を備える。
【００５６】
管理者１４１は、管理端末１４０を介して、属性フィールド４０１に属性の名称を入力し、値フィールド４０２において属性に対する値を入力することによってルーティング属性を追加することができる。例えば、図４に示すように、管理者１４１は、「会社Ｎ」の値を有する属性「会社」について入力している。そして、管理者１４１は、新たなルーティング属性を現在定義されている属性４１０のリストに追加するように属性追加ボタン４０３を選択することができる。
【００５７】
そして、管理者１４１は、リソースフィールド４０４においてリソース（また、ルーティング属性）を選択することができる。例えば、リソースは、コンタクトセンターキュー１２２、ＩＶＲシステム１２３、コンタクトセンタープール１２４、ビデオメールシステム１２５、通信ボット１２６、ウェブサーバ１２８などであり得る。図４では、管理者１４１は、リソース「ＩＶＲメニューＡ」１２５を選択している。そして、管理者１４１は、リソース追加ボタン４０５を選択することによって、選択リソースを現在定義されているリソース４２０のリストに追加することができる。
【００５８】
現在定義されている属性のリストは、会社Ａ属性４１１Ａ、会社Ｂ属性４１１Ｂ及びキュー待ち時間属性４１１Ｃを備える。会社Ａ属性４１１Ａは、属性「会社」に対して「会社Ａ」の値を定義している。会社Ｂ属性４１１Ｂは、属性「会社」に対して「会社Ｂ」の値も定義している。本例では、属性「会社」は、２つの可能な値「会社Ａ」及び「会社Ｂ」を有する。キュー待ち時間属性４１１Ｃ（「キュー待ち時間」）は、「１０分超」の値を有する。
【００５９】
現在定義されているリソースのリスト４３０は、ＩＶＲ  Ａリソース４２１Ａ、低優先度キュー製品Ｘリソース４２１Ｂ、ＩＶＲメニューＡリソース４２１Ｃ及び製品Ｘリソースに対する高優先度キュー４２１Ｄを備える。
【００６０】
管理者１４１は、名称をルーティング規則４３０に入力することによってルーティング規則の名称を定義することができる。管理者１４１は、ルーティング規則４３０に対して論理演算子４３１を定義することができる。本例では、管理者１４１は、論理演算子「ＡＮＤ」を選択している。論理演算子４３１は、演算数１〜２に対するものである。演算数１について、管理者１４１は、ＳＩＰヘッダにあるべき属性タイプ４４０Ａを選択している。ルーティング属性は、異なるヘッダにあるものとして管理者１４１に識別され得る。例えば、ルーティング属性は、セッション記述プロトコル属性（例えば、特定タイプのコーデック）に存在し得る。使用されるべき演算数が１つのみである場合、管理者は論理演算子４３１について「ＮＯＮＥ」を選択し得る。
【００６１】
そして、管理者１４１は、ルーティングパラメータがどの特定のＳＩＰヘッダ（又はメッセージにおけるいずれの場所）にあるはずなのかを定義する。本例では、管理者１４１は、演算数１に対するヘッダ名フィールド４４１Ａにおいて独自ＳＩＰヘッダ名のキュー待ち時間を識別している。管理者１４１は、演算数２に対するヘッダフィールド４４１Ｂにおいて会社の名称を有する独自ＳＩＰヘッダを識別している。そして、管理者１４１は、属性値を選択する。本例では、管理者１４１は、キュー待ち時間ヘッダが演算数１に対する属性値４４２Ａにおいて１０よりも大きい属性値を有することを選択している。管理者１４１はまた、演算数２に対する属性値４４２Ｂが会社Ａであることを選択している。
【００６２】
管理者１４１は、演算数１に対するキュー待ち時間属性４４１ＡについてＮＯＴ演算子を示すように演算数１に対する負数４４３Ａを選択することができる。管理者１４１はまた、会社Ｂ属性４１１Ｂに対するＮＯＴ演算子４１１Ｂを示すように演算数２に対する負数４４３Ｂを選択することができる。定義されたルーティング属性に基づいて、管理者は、ルーティング規則に対するリソース４４４を選択することができる。本例では、管理者１４１は、製品Ｘに対する高優先度キュー４２１Ｄを選択している。管理者１４１がフィールド４３０、４３１及び４４０〜４４４を設定すると、管理者１４１は規則追加ボタン４４５を選択することによってルーティング規則を追加することができる。マルチインスタンスヘッダについて、管理者は、属性４１１を探すべきヘッダの（いずれか又は全ての）インスタンスを指定することができる。
【００６３】
定義された規則の簡単なシンタックスに基づいて、管理者１４１は、コンタクトセンター１２０（又は任意のルーティングシステム）によって、以前にサポートされていなかったルーティング規則を動的に定義することができる。動的ルーティングフレームワーク１２７によって、従来技術では実現できなかったロバストかつ動的なルーティング能力が可能となる。
【００６４】
図５は、コンタクトセンター１２０において柔軟なルーティングシステムを提供するユーザインターフェース５００の図である。図５は、ユーザインターフェース５００を備える。ユーザインターフェース５００は、通信セッション確立ボタン５０１、ユーザのリスト５０２、通信セッションタイプ無線選択ボタン５０３、ＩＶＲシステム方向付けチェックボックス５１０、コンタクトセンターキュー製品Ｙチェックボックス５１１、コンタクトセンターキュー待ち時間の高優先度１０分超チェックボックス５１２、位置提供チェックボックス５１３、実行中及びインストール済みアプリケーション共有チェックボックス５１４、ボイスメール／ビデオメール送信チェックボックス５１５、コンタクトセンターキュー製品Ｘチェックボックス５１６、デバイスタイプ／画面サイズ送信チェックボックス５１７及びエージェント・ビルスミスへのルーティングチェックボックス５１８を備える。
【００６５】
ＩＶＲシステム方向付けチェックボックス５１０によって、通信セッションをＩＶＲシステム１２３にルーティングするのに使用される動的ルーティングフレームワーク１２７にルーティングパラメータが挿入及び／又は送信される。コンタクトセンターキュー製品Ｙチェックボックス５１１によって、通信セッションを製品Ｙに対するコンタクトセンターキュー１２２にルーティングするのに使用される動的ルーティングフレームワーク１２７にルーティングパラメータが挿入及び／又は送信される。コンタクトセンターキュー待ち時間の高優先度１０分超チェックボックス５１２によって、通常通り指定されたコンタクトセンターキュー１２２に１０分超の待ち時間がある場合に通信セッションを高優先度コンタクトセンターキュー１２２にルーティングするのに使用される動的ルーティングフレームワーク１２７にルーティングパラメータが挿入及び／又は送信される。位置提供チェックボックス５１３によって、ユーザ通信デバイス１０１の位置に基づいて通信セッションをルーティングするのに使用される動的ルーティングフレームワーク１２７にルーティングパラメータが挿入及び／又は送信される。
【００６６】
実行中及びインストール済みアプリケーション共有チェックボックス５１４によって、ユーザがユーザ通信デバイス１０１にインストールし又はそこで実行中であるアプリケーションに基づいて通信セッションをルーティングするのに使用される動的ルーティングフレームワーク１２７にルーティングパラメータが挿入及び／又は送信される。例えば、ユーザ通信デバイス１０１にインストールされたＰＤＦビューワをユーザが有する場合、ルーティングパラメータは、自動的に表示されるＰＤＦドキュメントをコンタクトセンターエージェント１３１がユーザに送信できるように、通信セッションがオーディオからビデオに切り替わるようにすることができる。ボイスメール／ビデオメール送信チェックボックス５１５によって、ボイス又はビデオ通信セッションをビデオ／ボイスメールシステム１２５にルーティングするのに使用される動的ルーティングフレームワーク１２７に位置ルーティングパラメータが挿入及び／又は送信される。
【００６７】
コンタクトセンターキュー製品Ｘチェックボックス５１６によって、通信セッションを製品Ｘに対するコンタクトセンターキュー１２２にルーティングするのに使用される動的ルーティングフレームワーク１２７にルーティングパラメータが挿入及び／又は送信される。デバイスタイプ（例えば、スマートフォン、デスクトップコンピュータなど）／画面サイズ（例えば、小型／大型）送信チェックボックス５１７によって、ユーザ通信デバイス１０１のデバイスタイプ及び／又は画面サイズに基づいて通信セッションをルーティングするのに使用される動的ルーティングフレームワーク１２７に１以上のルーティングパラメータが挿入及び／又は送信される。エージェント・ビルスミスへのルーティングチェックボックス５１８によって、通信セッションをコンタクトセンターエージェント１３１ビルスミスのエージェント通信デバイス１３０に直接ルーティングするのに使用される動的ルーティングフレームワーク１２７にルーティングパラメータが挿入及び／又は送信される。
【００６８】
ユーザがコンタクトセンター１２０との通信セッションを確立したい場合、ユーザはユーザのリスト５０２からユーザを選択し、通信セッションタイプ無線選択ボタン５０３から通信セッションタイプ（本例では音声）を選択し、その後チェックボックス５１０〜５１８の１以上を選択する。何が選択されるかに基づいて、チェックボックス５１０〜５１８の他の選択肢は選択可能でなくてもよい。図５に示すように、ユーザは、位置提供チェックボックス５１３並びに実行中及びインストール済みアプリケーション共有チェックボックス５１４を選択している。そして、ユーザは、通信セッション確立ボタン５０１を選択して、コンタクトセンター１２０への音声通信を確立する。
【００６９】
選択されたチェックボックス（本例では５１３及び５１４）に基づいて、ルーティングアプリケーション１０２は、コンタクトセンター１２０への音声通信セッションを確立する初期リクエストにあるルーティングパラメータ（位置、インストール済みアプリケーション及び実行中アプリケーション）を挿入及び／又は送信する。音声通信を確立する初期リクエストは、通常は１−８００番（例えば、ＡＣＤシステムの番号）を用いて送信される。ルーティングパラメータに基づいて、ＡＣＤシステムに送信される代わりに、音声呼はルーティングパラメータに基づいて（すなわち、ＡＣＤシステムとは異なる通信デバイスに）ルーティングされる。
【００７０】
図６は、ルーティング規則を用いて柔軟なルーティングシステムを提供するための処理のフロー図である。処理は、ステップ６００で開始する。通信マネージャ１２１は、通信セッション（例えば、ＳＩＰ  ＩＮＶＩＴＥ）又は他のメッセージ（例えば、ＳＩＰ  ＮＯＴＩＦＹ、ＳＩＰ  ＰＵＢＬＩＳＨ、ＳＩＰ  ＲＥＧＩＳＴＥＲ、ＳＩＰ  ＮＯＴＩＦＹ、ＳＩＰ  ＩＮＦＯ、ＳＩＰ  ＯＰＴＩＯＮＳ、ＳＩＰ  ＩＮＶＩＴＥなど）を確立するリクエストがステップ６０２で受信されるかを待機して確認する。通信セッション又は他のメッセージを確立するリクエストがステップ６０２で受信される場合、ステップ６０２の処理が繰り返される。
【００７１】
一方、通信セッション又は他のメッセージを確立するリクエストがステップＳ６０２で受信される場合、通信マネージャ１２１は、ステップ６０４において、通信セッション又は他のメッセージを確立するリクエストにおける１以上のルーティング規則があるかを調べて確認する。ルーティング規則は、どのように通信セッションがコンタクトセンター１２０においてルーティングされるかを変更する任意の規則であり得る。例えば、ユーザが１−８００番を用いてＡＣＤシステムに発呼する場合、ルーティング規則はルーティングを他の送信先／デバイスに変更する。例えば、ルーティング規則は、ＩＶＲシステム１２３に直接ルーティングすることを記述し、コンタクトセンター１２０が２０個を超える保留呼（例えば、コンタクトセンターキュー１２２の動的パラメータ）を有する場合に特定のＩＶＲメニューを表示することを開始し得る。ルーティング規則は、製品Ｘについての低優先度キューに５個を超える呼がある場合には呼を製品Ｘについての高優先度キューにルーティングすることを記述することができる。ルーティング規則は、現在定義されているリソースのリスト４３０において定義されるルーティング規則と同様であればよい。ルーティング規則は、論理積、論理和、排他的論理和、否定などのような種々のファクタに基づく。図６におけるルーティング規則を用いることと図３におけるルーティングパラメータを用いることとの差異は、ルーティング規則は動的ルーティングフレームワーク１２７においてルックアップされる必要がないことである。
【００７２】
図６の一実施形態では、複数の別個のヘッダが、ルーティング規則に対して使用され得る。複数の別個のヘッダは、階層的セットのルーティング規則を定義するのに使用され得る。例えば、ヘッダを介したＳＩＰにおけるルーティング規則は、ＳＩＰメッセージボディヘッダにおいてルーティング規則よりも優先し得る。
【００７３】
ステップ６０４において通信セッション又は他のメッセージを確立するリクエストにおいて定義されるいずれのルーティング規則もない場合、通信マネージャ１２１は、ステップ６０８においてコンタクトセンター１２０の静的ルーティング規則１２９による通信をルーティング及び／又は管理する。そして、処理は、ステップ６０２に進む。
【００７４】
通信セッション又は他のメッセージを確立するリクエストにおいて定義される１以上のルーティング規則がある場合、ステップ６０６において通信セッションがルーティング規則に従ってルーティングされる。そして、処理はステップ６０２に進む。
【００７５】
図６では、ルーティング規則は、通常は通信セッションが確立される時に送信される。ただし、ルーティング規則は、通信セッションが確立された後に送信されてもよい。例えば、ルーティング規則は、（例えば、ＳＩＰ  Ｒｅ−ＩＮＶＩＴＥメッセージにおいて）通信セッションが転送される時に送信され得る。
【００７６】
図１〜６において記載された処理は、通信セッションがコンタクトセンター１２０においてルーティングされる場合について説明される。ただし、図１〜６に記載される処理は、非コンタクトセンター環境においても作用し得る。例えば、動的ルーティングフレームワーク１２７は、企業環境において通信セッションをルーティングするのに使用され得る。
【００７７】
ここに記載されるプロセッサの例は、これに限定されないが、Ｑｕａｌｃｏｍｍ（登録商標）Ｓｎａｐｄｒａｇｏｎ（登録商標）８００及び８０１、４Ｇ  ＬＴＥ  Ｉｎｔｅｇｒａｔｉｏｎ及び６４ビットコンピューティングでのＱｕａｌｃｏｍｍ（登録商標）Ｓｎａｐｄｒａｇｏｎ（登録商標）６１０及び６１５、６４ビットアーキテクチャでのＡｐｐｌｅ（登録商標）Ａ７プロセッサ、Ａｐｐｌｅ（登録商標）Ｍ７モーション・コプロセッサ、Ｓａｍｓｕｎｇ（登録商標）Ｅｘｙｎｏｓ（登録商標）シリーズ、Ｉｎｔｅｌ（登録商標）Ｃｏｒｅ（登録商標）ファミリのプロセッサ、Ｉｎｔｅｌ（登録商標）Ｘｅｏｎ（登録商標）ファミリのプロセッサ、Ｉｎｔｅｌ（登録商標）Ａｔｏｍ（登録商標）ファミリのプロセッサ、Ｉｎｔｅｌ  Ｉｔａｎｉｕｍ（登録商標）ファミリのプロセッサ、Ｉｎｔｅｌ（登録商標）Ｃｏｒｅ（登録商標）ｉ５−４６７０Ｋ及びｉ７−４７７０Ｋ  ２２ｎｍ  Ｈａｓｗｅｌｌ、Ｉｎｔｅｌ（登録商標）Ｃｏｒｅ（登録商標）ｉ５−３５７０Ｋ  ２２ｎｍ  Ｉｖｙ  Ｂｒｉｄｇｅ、ＡＭＤ（登録商標）ＦＸ（登録商標）ファミリのプロセッサ、ＡＭＤ（登録商標）ＦＸ−４３００、ＦＸ−６３００及びＦＸ−８３５０  ３２ｎｍ  Ｖｉｓｈｅｒａ、ＡＭＤ（登録商標）Ｋａｖｅｒｉプロセッサ、Ｔｅｘａｓ  Ｉｎｓｔｒｕｍｅｎｔｓ（登録商標）Ｊａｃｉｎｔｏ  Ｃ６０００（登録商標）車載インフォテイメントプロセッサ、Ｔｅｘａｓ  Ｉｎｓｔｒｕｍｅｎｔｓ（登録商標）ＯＭＡＰ（登録商標）車載グレードモバイルプロセッサ、ＡＲＭ（登録商標）Ｃｏｒｔｅｘ（登録商標）−Ｍプロセッサ、ＡＲＭ（登録商標）Ｃｏｒｔｅｘ−Ａ及びＡＲＭ９２６ＥＪ−Ｓ（登録商標）プロセッサ、その他工業用の同等のプロセッサの少なくとも１つを含み得るものであり、いずれかの周知又は将来開発される標準、命令セット、ライブラリ及び／又はアーキテクチャを用いる計算機能を実行し得る。
【００７８】
ここに記載されるステップ、機能及び動作のいずれも、連続的及び自動的に実行され得る。
【００７９】
ただし、本開示を無用に曖昧にすることを回避するため、前述の説明は多数の周知の構造及びデバイスを省略している。この省略は、特許請求される開示の範囲の限定として解釈されるべきではない。具体的詳細が、本開示の理解を与えるように説明される。ただし、本開示は、ここに説明する具体的詳細を超える様々な態様で実施され得ることが理解されるべきである。
【００８０】
ここに説明する例示の実施形態は共配置されるシステムの種々の構成要素を示すが、システムの特定の構成要素はＬＡＮ及び／又はインターネットなどの分散ネットワークの離れた部分において又は専用システム内で遠隔に配置されてもよい。したがって、システムの構成要素は１以上のデバイスに組み合わされ、アナログ及び／又はデジタル電気通信ネットワーク、パケット交換ネットワーク又は回路交換ネットワークのような分散ネットワークの特定のノードにおいて共配置され得ることが理解されるべきである。前述の説明から、及び計算効率の理由のために、システムの構成要素はシステムの動作に影響を与えることなく構成要素の分散ネットワーク内の任意の位置において配置され得ることが分かるはずである。例えば、種々の構成要素が、ＰＢＸ及びメディアサーバ、ゲートウェイのようなスイッチに、１以上の通信デバイスに、１以上のユーザ施設に、又はこれらの組合せに位置し得る。同様に、システムの１以上の機能部分が、電気通信デバイスと関連のコンピューティングデバイスとの間に分散され得る。
【００８１】
またさらに、要素を接続する種々のリンクは有線若しくは無線リンク又はその任意の組合せ、又は接続された要素に並びに要素からデータを供給及び／若しくは通信することができる他の任意の周知の若しくは後に開発される要素であればよいことが理解されるべきである。これらの有線又は無線リンクは、安全なリンクであってもよく、暗号化された情報を通信することができる。リンクとして使用される伝送メディアは、例えば、同軸ケーブル、銅配線及びファイバ光学系を含む、電気信号に対する任意の適切なキャリアであればよく、電磁波及び赤外線データ通信中に生成されるものなどの音響又は光波の形式を採り得る。
【００８２】
また、フローチャートが特定のシーケンスのイベントとの関連で記載及び図示されたが、このシーケンスに対する変更、付加及び省略が開示の動作に実質的に影響を与えることなく行われ得ることが理解されるべきである。
【００８３】
本開示の多数のバリエーション及び変形例が使用され得る。開示の幾つかの構成について他を提供することなく提供することが可能となる。
【００８４】
さらに他の実施形態では、この開示のシステム及び方法は、専用コンピュータ、プログラムされたマイクロプロセッサ又はマイクロコントローラ及び周辺集積回路素子、ＡＳＩＣ又は他の集積回路、デジタル信号プロセッサ、ディスクリート素子回路などのハード配線電子又は論理回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡ、ＰＡＬなどのプログラマブル論理デバイス又はゲートアレイ、専用コンピュータ、任意の比較手段などとの関連において実施可能である。一般に、ここに説明する方法を実施することができる任意のデバイス又は手段は、この開示の種々の態様を実施するのに使用され得る。本開示に使用され得る例示のハードウェアは、コンピュータ、ハンドヘルドデバイス、電話機（例えば、セルラ、インターネット可能な、デジタル、アナログ、ハイブリッド及びその他）及び当技術で周知の他のハードウェアを含む。これらのデバイスの一部は、プロセッサ（例えば、単一又は複数のマイクロプロセッサ）、メモリ、不揮発性ストレージ、入力デバイス及び出力デバイスを含む。またさらに、ただし限定することなく、分散処理又はコンポーネント／オブジェクト分散処理、並列処理又は仮想機械処理を含む代替のソフトウェア実施例も、ここに記載される方法を実施するのに構築され得る。
【００８５】
さらに他の実施形態では、開示の方法は、様々なコンピュータ又はワークステーションプラットフォームにおいて使用可能な可搬ソースコードを提供するオブジェクト又はオブジェクト指向ソフトウェア開発環境を用いてソフトウェアとの関連で直ちに実施され得る。あるいは、開示のシステムは、標準論理回路又はＶＬＳＩ設計を用いてハードウェアにおいて部分的又は完全に実施され得る。本開示に応じたシステムを実施するのにソフトウェアが使用されるのかハードウェアが使用されるのかは、システムの速度及び／又は効率要件、特定の機能、並びに利用される特定のソフトウェア若しくはハードウェアシステム又はマイクロプロセッサ若しくはマイクロコンピュータシステムに依存する。
【００８６】
さらに他の実施形態では、開示の方法は、記憶媒体に記憶され、プログラムされた汎用コンピュータにおいてコントローラ及びメモリ、専用コンピュータ、マイクロプロセッサなどの協働によって実行され得るソフトウェアにおいて部分的に実施され得る。これらのインスタンスにおいて、この開示のシステム及び方法は、アプレット、ＪＡＶＡ（登録商標）又はＣＧＩスクリプトのようなパーソナルコンピュータに組み込まれたプログラムとして、サーバ又はコンピュータワークステーションに常駐するリソースとして、専用測定システム、システムコンポーネントなどに組み込まれたルーチンとして実施され得る。システムはまた、システム及び／又は方法をソフトウェア及び／又はハードウェアシステムに物理的に含むことによって実施され得る。
【００８７】
本開示は特定の標準及びプロトコルを参照して実施形態において実施される構成要素及び機能を説明するが、開示はそのような標準及びプロトコルに限定されない。ここに言及されない他の類似の標準及びプロトコルが存在しており、本開示に含まれるものとみなされる。さらに、ここに言及される標準及びプロトコル並びにここに言及されない他の類似の標準及びプロトコルは、本質的に同じ機能を有するより速い又はより有効な均等物によって定期的に代替される。そのような同じ機能を有する代替の標準及びプロトコルは、本開示に含まれる均等物とみなされる。
【００８８】
本開示は、種々の実施形態、機器構成及び態様において、種々の実施形態、部分的組合せ及びその部分集合を含む、ここに実質的に図示及び記載する構成要素、方法、処理、システム及び／又は装置を含む。当業者は、本開示を理解すれば、ここに開示されたシステム及び方法をどのように製造及び使用するかを理解するはずである。本開示は、種々の実施形態、機器構成及び態様において、例えば、性能を向上し、容易性を実現し、及び／又は実施のコストを低減するために従来のデバイス又は処理において使用されてきたようなアイテムがないことを含み、ここに図示及び／若しくは記載されていないアイテムがなくても、又はその種々の実施形態、機器構成若しくは態様において、デバイス及び処理を提供することを含む。
【００８９】
本開示の以上の説明は、説明及び図示の目的で提示された。上記は、ここに開示される単数又は複数の形態に開示を限定することを意図するものではない。以上の詳細な説明では、例えば、開示の種々の構成が、開示の合理化の目的で１以上の実施形態、機器構成又は態様においてともにグループ化されている。開示の実施形態、機器構成又は態様の構成は、上述したもの以外の代替の実施形態、機器構成又は態様と組み合わせられ得る。この開示の方法は、特許請求される開示が、各請求項に明示的に記載されるよりも多くの構成を要件とする意図を反映するものとして解釈されてはならない。そうではなく、以降の特許請求の範囲が反映するように、進歩的な態様は上記の単一の開示の実施形態、機器構成又は態様の全ての構成よりも少ないものに存在する。したがって、以降の特許請求の範囲は、独立した開示の好ましい実施形態として各請求項がそれ自体で成立する状態でこの詳細な説明にそれにより含まれる。
【００９０】
さらに、開示の説明は１以上の実施形態、機器構成又は態様並びに特定のバリエーション及び変形例の記載を含んでいるが、他のバリエーション、組合せ及び変形例は、例えば、本開示を理解した後に当業者の技術及び知識内となるように、開示の範囲内となる。いずれの特許可能な事項も公に特化させることを意図することなく、そのような代替の、互換可能な及び／又は均等の構造、機能、範囲若しくはステップがここに開示されるか否かにかかわらず、請求項に記載されるものに対する代替の、互換可能な及び／又は均等の構造、機能、範囲若しくはステップを含み、許可される程度で代替の実施形態、機器構成又は態様を含む権利を取得することが意図されている。
【図１】
2020014207.tif 000003
【図２】
2020014207.tif 000004
【図３】
2020014207.tif 000005
【図４】
2020014207.tif 000006
【図５】
2020014207.tif 000007
【図６】
2020014207.tif 000008
【外国語明細書】
2020014207.tif 000009
2020014207.tif 000010
2020014207.tif 000011
2020014207.tif 000012
2020014207.tif 000013
2020014207.tif 000014
2020014207.tif 000015
2020014207.tif 000016
2020014207.tif 000017
2020014207.tif 000018
2020014207.tif 000019
2020014207.tif 000020
2020014207.tif 000021
2020014207.tif 000022
2020014207.tif 000023
2020014207.tif 000024
2020014207.tif 000025
2020014207.tif 000026
2020014207.tif 000027
2020014207.tif 000028
2020014207.tif 000029
2020014207.tif 000030
2020014207.tif 000031
2020014207.tif 000032
2020014207.tif 000033
2020014207.tif 000034
2020014207.tif 000035
2020014207.tif 000036
2020014207.tif 000037
2020014207.tif 000038
2020014207.tif 000039
2020014207.tif 000040
2020014207.tif 000041
2020014207.tif 000042