コール・トランスクリプトの追加
コールトランスクリプトは、コール中に提案を提供し、コールのサマリーを生成するために使用されます。
MCA内の通話記録は、音声をテキストに変換することによって作成される通話の書面による記録です。 CTIサプライヤが電話のライブ・トランスクリプションをテキスト・ストリームの形式で提供している場合、これらのトランスクリプト・メッセージをFusionエンゲージメント・パネルでレンダリングできます。 コールが開始されたら、UEF FeedLiveTranscriptアクションAPIを使用してオーディオをテキストに変換できます。  
このAPIを使用すると、インテグレータはエージェントと顧客の両方のトランスクリプト・メッセージをレンダリングできます。 これを有効にすると、「Fusionエンゲージメント」パネルのノート入力ボックスがトランスクリプト・コンポーネントに置き換えられ、「エージェントがコールに参加しました」および「顧客がコールに参加しました」というメッセージが「エンゲージメント」パネルに「コール詳細」ボタンとともに表示されます。 エージェントは、[コール詳細]ボタンをクリックして、コール中にメモを入力できます。
通話中に通話記録を追加する方法の概要を示す図を次に示します。

図に示すように、CTIサプライヤは、進行中のコールのリアルタイム・オーディオ・ストリームを提供する必要があります。その後、リアルタイムの音声からテキストへのサービスに渡して、進行中のコールの背後にあるテキスト・データを取得します。 OCI Realtime Speech SDKは、ユーザーが使用できる音声からテキストへのサービスです。 CTIサプライヤがリアルタイム・トランスクリプトを直接提供する場合は、それらをUEF APIに渡してFusion画面にレンダリングできます。
メディアツールバーアプリケーションでコールトランスクリプトを有効または無効にする方法
次の例に示すように、関数subscribeToSupportedFeaturesをfusionHandler.tsファイルに定義します。 public static async subscribeToSupportedFeatures(): Promise<any> {
        const request = FusionHandler.frameworkProvider.requestHelper.createSubscriptionRequest('onToolbarAgentCommand');
        FusionHandler.phoneContext.subscribe(request, (response) => {
            const agentCommandResponse: IMcaOnToolbarAgentCommandEventResponse = response as IMcaOnToolbarAgentCommandEventResponse;
            return new Promise((resolve, reject) => {
                const agentCommandResponseData = agentCommandResponse.getResponseData();
                const commandObject = agentCommandResponse.getResponseData().getData();
                const command = agentCommandResponse.getResponseData().getCommand();
                if (command === 'getActiveInteractionCommands') {
                    const outData = {
                        'supportedCommands': [],
                        'supportedFeatures': [
                            {
                                'name': 'transcriptEnabled',
                                'isEnabled': true   // Set as true to enable transcripts
                            }
                        ]
                    };
                    agentCommandResponseData.setOutdata(outData);
                    commandObject.result = 'success';
                }
                resolve(commandObject);
            })
        })
    }コード・サンプルでは、outData変数のsupportedFeatures配列を使用して、トランスクリプト、サマリーおよび提案機能を有効または無効にします。 isEnabledキーをtrueまたはfalseに設定して、この機能を有効または無効にできます。 
次に、アプリケーションの初期化中にこの関数を呼び出す必要があります。 そのため、次の図に示すように、前の例に示した関数をintegrationEventsHandler.tsのmakeAgentAvailable関数からコールします。 

リアルタイム音声SDKを使用して、CTIサプライヤのオーディオ・ストリームを、トランスクリプトに適したテキスト・データに変換できます。
オーディオ・ストリームから変換されたテキストを受信したら、FeedLiveTranscript APIを使用してFusionでレンダリングできます。 オーディオ・ストリーム・ソースに基づいて、そのトランスクリプトをエージェント・メッセージまたはユーザーのメッセージとしてレンダリングできます。  
 FeedLiveTranscriptリクエスト・オブジェクトに基づいて、トランスクリプトがエンゲージメント・パネルにレンダリングされます。
トランスクリプト・メッセージのレンダリング
FeedLiveTranscript APIは、エンゲージメント・コンテキスト(startCommイベント・アクション・レスポンスから使用可能)から実行する必要があります。 エンゲージメント・コンテキストが使用可能になったら、 FeedLiveTranscript APIのリクエスト・オブジェクトを作成し、必要なプロパティ(メッセージ、メッセージID、状態、ロール)を設定します。 エージェント・トランスクリプト・メッセージを追加するために、ロールをAGENTに設定する必要があります。 エージェント・トランスクリプト・メッセージを追加するために、ロールをEND_USERに設定する必要があります。 このAPIが実行されると、エージェントのトランスクリプト・メッセージがFusionエンゲージメント・パネルにレンダリングされます。 
メディア・ツールバー・アプリケーションで、fusionHandler.tsに次の関数を追加します。
public static async addRealTimeTranscript(messageId: string, message: string, role: string, state: string): Promise<any> {
    var requestObject: IMcaFeedLiveTranscriptActionRequest = FusionHandler.frameworkProvider.requestHelper.createPublishRequest('FeedLiveTranscript') as IMcaFeedLiveTranscriptActionRequest;
    requestObject.setMessageId(messageId);
    requestObject.setMessage(message);
    requestObject.setRole(role);
    requestObject.setState(state);
    var res = await FusionHandler.engagementContext.publish(requestObject);
    return res;
}また、integrationEventsHandler.tsに別のファンクションを追加して、前のファンクションを呼び出します。
public async addRealTimeTranscript(messageId: string, message: string, role: string, state: string): Promise<any> {
    var resp: any = await FusionHandler.addRealTimeTranscript(messageId, message, role, state);
    return resp;
}リアルタイム・スピーチからテキスト・サービスへのトランスクリプション結果を受信したら、vendorHandler.tsファイルからこの関数を呼び出す必要があります。
詳細は、生成AIアクセラレータの概要を参照してください。
進捗の確認
これらのステップを完了したら、OJET serveを使用してアプリケーションを起動し、Fusionアプリケーションにサインインします。 メディア・ツールバーを開き、エージェントの空き状況ボタンをクリックして、エージェントを呼び出せるようにします。 次に、カスタマ・ケア番号へのコールを開始します。 受信コール通知は、メディア・ツールバー・アプリケーションおよびFusionウィンドウに表示されます。 コールを受け入れると、メディア・ツールバーの状態がACCEPTED状態に変更され、エンゲージメントがFusionアプリケーションで開きます。 成績証明書コンポーネントが「ノート」フィールドではなく「エンゲージメント」パネルにロードされていることがわかります。これには、メッセージ、エージェントがコールに参加し、顧客がコールに参加しました。 スピーキングを開始すると、トランスクリプト・コンポーネントにトランスクリプトが追加されます。