次の方法で共有


Unified Service Desk 用 CTI アダプタの作成に関する考慮事項

このトピックは、コンピューター テレフォニー統合 (CTI) アダプターを Unified Service Desk で動作できるように作成するときに考慮すべき情報を提供しています。

CTI コントロール (Softphone ユーザー インターフェイス) の仕様

ソフトフォンと CTI ユーザーインター フェースコンポーネントが Unified Service Desk と相互運用できるようにするには、以下の条件を満たす必要があります。

  • コントロールは Windows Presentation Foundation (WPF) を使用して作成され、 DynamicsBaseHostedControl クラスから派生されます。

  • CTI コントロールは、Unified Service Desk の CtiPanel に配置されます。 コントロールの高さは、CtiPanel に適合するように 23 にする必要があります。 より大きいコントロールを使用することもできます。

  • 複数の CTI コントロールまたはユーザー インターフェイス コンポーネントを CtiPanel に配置することができます。 これは、水平方向のスタック パネルです。したがって、このパネルに複数のコントロールを配置する場合、それらは並んで表示されます。

電話サービス機能をサポートする操作

Unified Service Desk の機能は、プログラミングを行わずに先進的なアプリケーション デザインを構成する能力です。 この種の機能は、Unified Service Desk のアクション概念を通じて公開されています。 テレフォニー コントロール機能をホストされたアプリケーションのボタン、エージェント スクリプト、およびリンクまで拡張するという発想をサポートするために、このシステムでは、CTI アダプターによって公開される機能に対して定義されるアクションに依存しています。 これは、CTI コンポーネントの CTI デスクトップ マネージャーのホストされたコントロールで UII アクションを公開することによって行います。 これらの各アクションによって、管理者は、アプリケーションの動作をより詳細に制御します。

次のアクションが、CTI のデスクトップ マネージャーのホストされたコントロールで定義および実装されることを推奨します。

アクション 説明
発信 呼び出し番号。 このパラメーターを指定しない場合、ユーザーが数字を入力するダイアルパットが表示されます。

呼び出しが通話中の場合、このアクションは IVR の場合と同様に数字をダイヤルします。
転送 転送を開始または完了します。 転送が開始されたが完了していない場合、このアクションは呼び出しを転送し、パラメーターを無視します。 通話中の場合、このアクションは呼び出しを保留にし、コンテキスト データを渡して新しい呼び出しを作成します。
会議 会議を開始または完了します。 会議が開始されたが完了していない場合、このアクションは通話を会議モードで開き、パラメーターを無視します。 通話中の場合、呼び出しを保留にし、コンテキスト データを渡して新しい呼び出しを作成します。
切断 現在の呼び出しを終了します。

Note

これらのアクションが、CTI デスクトップ マネージャーのホストされたコントロールでサポートされている場合、アプリケーション内のさまざまな場所からこの機能をトリガーできます。これにより、緊密に統合されたエージェント エクスペリエンスを提供します。

CTI のスクリーン ポップ

Unified Service Desk で CTI のスクリーン ポップをデザインする際には、次の内容を確認する必要があります。

  • CTIrequest の CallInfo パラメーターに、次の値が入力されている必要があります。

    パラメーター 説明設定
    direction 着信には “inbound” を、送信には “outbound” を指定します。

    これはシステムが使用し、管理者が通話の方向に応じて異なる動作を指定できるようにします。
    Calltype 音声通話には “phonecall” を、チャット セッションには “chat” を指定します。
  • 常に望ましい動作とは限らないため、CTI アダプターは Microsoft Dataverse で自動的に活動を作成しません。 したがって、システム管理者がこれを構成する必要があります。

    try  
    {  
      FireRequestAction(new RequestActionEventArgs("*", CtiLookuprequest.CTILOOKUPACTIONNAME,GeneralFunctions.Serialize<CtiLookupRequest>(data)));  
    }  
    

    Note

    CTI のアクションを呼び出すために、CTILOOKUPACTIONNAME を使用することと、サンプル コードに示すように、アプリケーション名が「*」であると仮定されています。

重要

User Interface Integration (UII)CTI フレームワークに従わない Unified Service Desk の CTI アダプターを作成することができます。

CTI 検索は、Dataverse の FetchXML を使用して実行されます。 CTI から任意のパラメーターに渡されたデータを使用して、Dataverse の選択したエンティティ内の任意のフィールドを検索できます。 一致が見つかるまで、一度に 1 つのルールで検索は実行されます。 Unified Service Desk のウィンドウ ナビゲーション ルールとの一致が一度検出されると、次の手順のナビゲーション ルールで構成されているガイダンスに従います。 通常、活動に関するセッションを開くルールが設定され、オプションとしてタブに活動が表示されます。CTIsearch をパフォームするためにウィンドウ ナビゲーション ルールを構成する方法については、 チュートリアルを参照してください: CTI イベントの汎用リスナー アダプターを使用します

Unified Service Desk のウィンドウ ナビゲーション ルールを使用して、サンプル CTI 検索ルールを構成してみましょう。 ウィンドウ ナビゲーション ルールの詳細については、" Unified Service Desk でウィンドウ ナビゲーション ルールを使用する を参照してください。

  1. Unified Service Desk 管理者にサインインします。

  2. 基本設定 から ウィンドウ ナビゲーション ルール を選択します。

  3. 新規をクリックします。

  4. ウィンドウ ナビゲーション ルールの名前と順序を入力します。 フォームボックスで、CTI デスクトップ マネージャーのホストされたコントロールを選択してください。

  5. CTI デスクトップ マネージャーを選択した後、開始活動から始まる CTI のオプションが表示されます。 開始活動フィールドには、CTI アダプターから渡されるエンティティ タイプを含める必要があります。 たとえば、電話、チャット、電子メールになります。 ひとつのルールで、CTIサーバーからの1種類のアクティビティのみを処理します。

  6. 保存 を選択し、次のステップに必要なフィールドを有効にします。

  7. CTI 検索の配下で、検索アイコンを選択して、検索ボックスの 新規 を選択し、FetchXML クエリを使用して新たな検索条件を定義します。

  8. 新しい CTI 検索画面で、CTI 検索クエリの順序と名前を指定します。 方向フィールドは受信または発信で、CTI イベントの特定の方向のみに対して検索を実行するために使用されます。 この方向は、CTI アダプターから渡されます。

    CTI 検索のための必須の FetchXML クエリを入力します。 Dataverse の高度な検索機能を使用して初期検索を作成し、FetchXML をダウンロードします。 キー フィールドは Dataverse の詳細検索では利用できない場合が多いため、XML をエクスポートした後に、この条件を手動で追加する必要がある場合があります。 Unified Service Desk コンテキストに表示したい属性を選択する必要もあります。 他の種類のデータ パラメーターのように、ディスプレーにページが読み込まれた後に表示されるのではなく、すぐに表示されます。 必要な FetchXML を取得したら、FetchXML ボックスにそのテキストを貼り付け、CTI の検索ルールを保存します。

    Unified Service Desk での新しい CTI の検索。

  9. システムが、そのルールの CTI の各検索項目を検索します。 クロス エンティティの検索のように見なすことができます。 条件は、最終的な結果セットに関連しており、複数の結果を処理する場合には、1つ以上のレコードが複数のエンティティタイプから検出したことを示す場合があります。

    検索リストの下には、3 つの条件とそれぞれの場合に実行すべき内容を示すために使用される選択が表示されます。

    条件 内容
    一致項目なし ルールで指定されたすべての検索で一致項目が見つからなかった場合、システムが行うこと。
    1 つの一致項目 組み合わせられた検索の結果として 1 つのレコードだけが見つかったときにシステムが行うこと。
    複数の一致項目 すべての検索で複数の結果が見つかった場合、システムが行うこと。

    各条件について、対処方法に関する決定があります。

    決定 内容
    セッションの作成後アクション実行 設定されたアクションを実行する前に、新しいセッションを作成します。 このアクションは、この新しいセッションのコンテキスト内で実行されます。
    セッションの作成、一致項目の読み込み後、アクション実行 セッションを作成し、次にモデル駆動型アプリ フォームの結果タブでの選択に基づいて、タブまたはエンティティ検索に一致を読み込みます。 最後に、アクションを呼び出します。 このオプションは、1 つの一致に対してのみ有効です。
    アクション実行 結果について何もせずに、必要に応じてこの条件に固有の設定済みのアクションを呼び出すように、システムに指示します。 この結果として順番に複数のアクションを呼び出すようにする場合は、Global Manager のホストされたコントロールで FireEvent アクションを呼び出すことができます。 このアクションは、現在のセッションのコンテキストで実行されます。 新しいセッションは作成されません。
    次のルール このルールの処理の残りの部分を無視して、一致する可能性がある他のルールを検索するように、システムに通知します。 続くルールに対して、新しい検索が実行されます。

    重要

    ナビゲーションのルールで設定された「次のルール」オプションをシステムが実行しない場合は、ナビゲーション ルール自体に設定されたアクションも実行されます。 特定の条件でのみルールを実行する場合は、対応するセクションのアクションを使用する必要があります。 選択肢に関係なく実行されるべき汎用的なアクションについては、ナビゲーション ルールのアクション リストに入力することができます。

チャット イベントの特別な機能

チャットイベントに応答する際、いくつか特別なことがシステムに発生します。 CTI イベントのデータ パラメーター値 "CTIDESKTOPMANAGERCONTROL" には、CTI デスクトップ マネージャーのホストされたアプリケーションの名前が入力され、SendIM アクションをサポートしていると仮定されています。 CtiLookupRequest にパスされた CALLTYPE が「Chat」の場合、Unified Service Desk はエージェント スクリプトのユーザー インターフェイスの追加ボタンを表示します。 エージェントがこのボタンを選択すると、CTIDESKTOPMANAGERCONTROL コントロールで指定された CTI デスクトップ マネージャーのホストされたコントロールで SendIM アクションの呼び出しを試みます。 エージェント スクリプトのテキストがこのアクションに渡され、CTI デスクトップ マネージャーのホストされたコントロールはチャット出力にこのテキスト 書き込むことを想定しています。

関連項目

UII コンピューター テレフォニー統合 (CTI) フレームワーク
CTIDESKTOPMANAGERCONTROL
CTI デスクトップ マネージャーの作成
Unified Service Desk でのウィンドウ ナビゲーションの規則の使用
チュートリアル: CTI イベントに対して汎用リスナー アダプタを使用する