次の方法で共有


JavaScript 用 Azure Communication Call Automation クライアント ライブラリ - バージョン 1.2.0

このパッケージには、Azure Communication Call Automation 用の JavaScript SDK が含まれています。 通話オートメーションを使用すると、開発者は、サーバーベースのインテリジェントな通話ワークフローを構築し、音声チャネルと PSTN チャネルの通話記録を作成できます。

呼び出しの自動化 | の概要製品ドキュメント

作業の開始

前提条件

[インストール中]

npm install @azure/communication-call-automation

ブラウザーのサポート

JavaScript バンドル

ブラウザーでこのクライアント ライブラリを使用するには、まず bundler を使用する必要があります。 これを行う方法の詳細については、 バンドルに関するドキュメントを参照してください。

主要な概念

名前 説明
CallAutomationClient CallAutomationClient は、このクライアント ライブラリを使用する開発者のための主要なインターフェイスです。 または によってcreateCallanswerCall呼び出しを開始するために使用できます。
CallConnection CallConnection は、進行中の呼び出しを表します。 または answerCallを使用してcreateCall呼び出しが確立されたら、 や addParticipantなどのtransfer呼び出しに対してさらにアクションを実行できます。
CallMedia CallMedia は、 などの playメディア関連のアクションを実行してメディア ファイルを再生するために使用できます。 これは、確立された CallConnectionから取得できます。
CallRecording CallRecording などの startRecording関連するアクションを記録するために使用できます。 これは から CallAutomationClient取得できます。
コールバック イベント コールバック イベントは、呼び出し中に返送されるイベントです。 これは、 などの CallConnected呼び出しの情報と状態を提供します。 CallbackUrlは と の間にcreateCallanswerCall指定する必要があり、コールバック イベントはこの URL に送信されます。 を使用 callAutomationEventParser すると、到着したときにこれらのイベントを解析できます。
着信イベント 着信が発生すると (で応答 answerCallできます)、着信呼び出し eventgrid イベントが送信されます。 これは上記のコールバック イベントとは異なり、Azure portalに設定する必要があります。 詳細については、「 着信呼び出し 」を参照してください。
CallAutomationEventProcessor CallAutomationEventProcessor は、 などの CallConnected呼び出し中のコールバック イベントを処理するための便利な方法です。 これにより、呼び出しとイベントの間の相関関係がより簡単になります。 その使用方法については、次の例を参照してください。

CallAutomationClient を初期化する

import { CallAutomationClient } from '@azure/communication-call-automation';
import { DefaultAzureCredential } from "@azure/identity"; 

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential(); 
const endpointUrl = '<ENDPOINT>' 
const callAutomationClient = new CallAutomationClient(endpointUrl, credential); 

Create呼び出し

import { CommunicationUserIdentifier } from "@azure/communication-common";
import { CallAutomationClient, CallInvite } from '@azure/communication-call-automation';

// target endpoint for ACS User
const target: CommunicationUserIdentifier = {
  communicationUserId:
    "8:acs:...",
}

// make invitation
const callInvite: CallInvite = {
   targetParticipant:target
};

// callback url to recieve callback events
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

// send out the invitation, creating call
const response = callAutomationClient.createCall(callInvite, callbackUrl);

メディアの再生

// from callconnection of response above, play media of media file
const myFile: FileSource = { uri: "https://<FILE-SOURCE>/<SOME-FILE>.wav" }
const response = callConnection.getCallMedia().playToAll(myFile);

コールバック イベント Mid-Connection 処理する

通話オートメーションの SDK は、中間接続イベントを簡単に処理するために、これらのイベントを処理する簡単な方法を提供します。 CallAutomationEventProcessor を見てください。 これにより、呼び出しとイベントの間の相関関係がより簡単になります。

const eventProcessor: CallAutomationEventProcessor = await callAutomationClient.getEventProcessor();
eventProcessor.processEvents(incomingEvent);

EventProcessor を機能させるには、ProcessEvents が必要です。 EventProcessor によってイベントが使用されたら、その機能の使用を開始できます。

CreateCall を使用して呼び出しを行い、呼び出しの CallConnected イベントを待機する例については、以下を参照してください。

// send out the invitation, creating call
const callInvite = new CallInvite(target);
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";
const callResult = callAutomationClient.createCall(callInvite, callbackUrl);

// giving 30 seconds timeout for waiting on createCall's event, 'CallConnected'
const createCallEventResult : CreateCallEventResult = await callResult.waitForEventProcessor(undefined, 30000);
// once this returns, call is now established!

// check if it was successful
if (createCallEventResult.isSuccess)
{
  // work with callConnected event
  const callConnectedEvent : CallConnected = createCallEventResult.successResult!;
}

トラブルシューティング

次のステップ

共同作成

このライブラリに投稿する場合、コードをビルドしてテストする方法の詳細については、投稿ガイドを参照してください。