次の方法で共有


チュートリアル: CTI イベントのルーティングに対して汎用リスナー アダプターを使用する

このチュートリアルでは、CTI デスクトップ マネージャーおよび汎用リスナーを Unified Service Desk で使用して、CTI イベントを Unified Service Desk の画像ポップとして表示する方法を説明します。 このチュートリアルでは、CTI 要求を Unified Service Desk に送信する、サンプル CTI シミュレーター アプリケーションを使用します。

このチュートリアルでは、以下の操作を行います。

  • CTI コール テスター アプリケーションで指定した電子メール アドレスに基づき、サンプル データで取引先担当者レコードを検索します。

  • Unified Service Desk のセッション内の一致するレコードを表示する、ウィンドウ ナビゲーション ルールを作成します。

前提条件

  • Microsoft .NET Framework 4.6.2

  • Unified Service Desk クライアント アプリケーション。ホストされたコントロールをテストするために必要です。

  • Visual Studio 2012 または Visual Studio 2013

  • コンピューターにサンプル CTI シミュレーター アプリケーション Visual Studio プロジェクトをダウンロードします。 プロジェクトを構築し、アプリケーション (.exe file) をサンプル アプリケーション プロジェクトの bin\debug フォルダーから実行します。 アプリケーションをテストするために Unified Service Desk クライアントを実行しているのと同じコンピューター上で、USD CTI シミュレーター アプリケーションを実行する必要があります。

手順 1: Unified Service Desk で CTI デスクトップ マネージャーのホストされたコントロールを構成する

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

  2. 基本設定で、ホストされたコントロールを選択します。

  3. + 新規を選択します。

  4. 新しいホストされたコントロールページで、次の値を指定します。

    フィールド
    件名 CTITest
    USD コンポーネントの種類 CTI デスクトップ マネージャー
    表示グループ HiddenPanel
    アセンブリ URI Microsoft.Crm.UnifiedServiceDesk.GenericListener
    アセンブリの種類 Microsoft.Crm.UnifiedServiceDesk.GenericListener.DesktopManager

    Note

    アセンブリ URI およびアセンブリの種類フィールドで指定した値は、CTI デスクトップ マネージャーのホストされたコントロールの種類の汎用リスナー値です。

  5. 保存を選択して、ホストされたコントロールを作成します。

手順 2: CTI イベントが Unified Service Desk で起動されるかテストする

  1. Unified Service Desk クライアントを開始し、Microsoft Dataverse インスタンスに接続します。 クライアントが起動したら、右上隅にある 設定歯車ボタン を選択してデバッガー コントロールを表示し、デバッグ出力のクリア削除ボタン を選択してデスクトップをクリアします。

    Unified Service Desk クライアント。

  2. USD CTI シミュレーター アプリケーションを開始し、キー列に電子メールと入力し、 列で任意の値を指定します。 USD に送信をクリックします。

    Unified Service Desk の CTI シミュレーター。

  3. クライアント アプリケーションに画面ポップアップが発生し、CTI イベントが実行されます。 この場合、CTILookUpRequest は USD CTI シミュレーター アプリケーションで指定された値で起動されます。 まだウィンドウ ナビゲーション ルールを適用していないため、何も実行されません。

    CTI イベントのスクリーン ポップ。

手順 3: CtiLookUpRequest をルーティングするウィンドウ ナビゲーション ルールを定義する

一致が見つかる場合はセッションを作成するウィンドウズ ナビゲーション ルールを作成し、一致する取引先担当者レコードを Unified Service Desk のセッションに表示します

  1. Dynamics 365 インスタンスにサインインします。

  2. 取引先担当者の高度な検索に移動し、アクティブな取引先担当者を検索するクエリを作成します。ここで電子メール、電子メール アドレス 2、または電子メール アドレス 3 フィールドは、someone_c@example.com などの特定の値と等しくなります。

    メール アドレスに基づいた取引先担当者のクエリ。

  3. Fetch XML のダウンロードを選択し、クエリを FetchXML として保存します。

  4. Unified Service Desk 管理者アプリに移動します。

  5. ウィンドウ ナビゲーション ルールの選択。

  6. + 新規作成 を選択します

  7. 新しいウィンドウ ナビゲーション ルールウィンドウで、次の値を指定します。

    フィールド
    件名 CTITestRoute
    順序 50
    インポート元 CTITest

    これが CTI デスクトップ マネージャーのホストされたコントロールの名前です。
    通信方向 両方
  8. ルールを保存します。 これにより、ページの残りのコントロールが有効になります。

  9. ここで、このルールに対して、保存済みの FetchXML クエリを追加します。 CTI 検索領域で、追加を選択します。

  10. 新しい CTI 検索ウィンドウで、以下の値を指定します。

  • 名前: CTIContactSearch

  • 受注: 1

  • FetchXML:

    
    <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">  
      <entity name="contact">  
        <attribute name="fullname" />  
        <attribute name="parentcustomerid" />  
        <attribute name="telephone1" />  
        <attribute name="emailaddress1" />  
        <attribute name="contactid" />  
        <order attribute="fullname" descending="false" />  
        <filter type="and">  
          <condition attribute="statecode" operator="eq" value="0" />  
          <filter type="or">  
            <condition attribute="emailaddress1" operator="eq" value="[[cti.Email]]" />  
            <condition attribute="emailaddress2" operator="eq" value="[[cti.Email]]" />  
            <condition attribute="emailaddress3" operator="eq" value="[[cti.Email]]" />  
          </filter>  
        </filter>  
      </entity>  
    </fetch>  
    

    注意Note

    アドレス someone_c@example.com は [[cti.Email]] で置換され、検索は Unified Service Desk CTI シミュレーター アプリケーション内の 電子メール キーのために指定した値に基づき実行されます。

取引先担当者の CTI 検索を定義。

  1. CTI 検索ルールを保存して、ウィンドウ ナビゲーション ルールに戻ります。

  2. 1 つの一致項目決定フィールドで、セッションの作成、一致項目の読み込み後、アクション実行を選択します。

  3. 単一の一致項目アクションフィールドで、検索アイコンを選択して値を選択し、+ 新規を選択します。

  4. + 新しいアクション コールページで、次の値を指定して、取引先担当者レコードを開くようにアクション コールを作成します。

    フィールド Value
    Name CTIOpenContact
    ホストされたコントロール CRM グローバル マネージャー
    Action Open_CRM_Page
    日付 Id=[[$Context.Id]]
    LogicalName=[[$Context.LogicalName]]
  5. アクション コールを保存し、アクション コール ページを閉じて、ウィンドウ ナビゲーション ルール定義ページに戻ります。

  6. 結果領域で以下を実行します。

    1. 宛先フィールドでタブを選択して、一致する取引先担当者レコードをタブに表示します。

    2. 対象のタブフィールド で、取引先担当者のホストされたコントロールを選択します。 Package Deployer ツールを使用して、Dataverse のサーバーにサンプル Unified Service Desk アプリケーションを展開した際に、取引先担当者のホストされたコントロールが作成されます。 詳細については、Package Deployer を使用したサンプル Unified Service Desk アプリケーションの CRM サーバーへの展開 を参照してください。

    3. タブの表示フィールドで、取引先担当者のホストされたコントロールを選択します。

    ルールの定義に対する適切な値の指定。

  7. ウィンドウ ナビゲーション ルールを保存します。

CTI アダプターのテスト

  1. Unified Service Desk クライアントを開始し、Dataverse インスタンスに接続します。 クライアントが起動したら、右上隅にある 設定歯車ボタン を選択してデバッガー コントロールを表示し、デバッグ出力のクリア削除ボタン を選択してデスクトップをクリアします。

    Unified Service Desk クライアント。

  2. USD CTI シミュレーター アプリケーションを開始し、キー列に電子メールと入力し、検索する取引先担当者の有効な電子メール ID を指定します。 この場合、列に someone_d@example.com と入力します。 米国ドルに送信 を選択します。

    取引先担当者を検索するには、メールを指定します。

  3. 一致する取引先担当者レコードが Unified Service Desk のセッションに表示されます。

    セッションに表示される一致する取引先担当者レコード。

  4. CTI 検索の結果として発生するイベントを表示するには、デバッガのホストされたコントロールをチェックします。 また、$Context 変数にコンテキスト情報を表示し、CTI 変数に CTI 情報を表示するには、データ パラメータータブをチェックします。

関連項目

CTI システムと統合する
UII コンピューター テレフォニー統合 (CTI) フレームワーク