JavaScript 用 Azure Communication Call Automation クライアント ライブラリ - バージョン 1.3.0
このパッケージには、Azure Communication Call Automation 用の JavaScript SDK が含まれています。 通話オートメーションを使用すると、開発者は、サーバーベースのインテリジェントな通話ワークフローを構築し、音声および PSTN チャネルの通話記録を行うことができます。
はじめ
前提 条件
- Azure サブスクリプション。
- 既存の Communication Services リソース。 リソースを作成する必要がある場合は、Azure Portal、Azure PowerShell、または Azure CLIを使用できます。
装着
npm install @azure/communication-call-automation
ブラウザーのサポート
JavaScript バンドル
ブラウザーでこのクライアント ライブラリを使用するには、まず、バンドルを使用する必要があります。 これを行う方法の詳細については、
主な概念
名前 | 形容 |
---|---|
CallAutomationClient |
CallAutomationClient は、このクライアント ライブラリを使用する開発者向けの主要なインターフェイスです。 これは、createCall または answerCall によって呼び出しを開始するために使用できます。 |
CallConnection |
CallConnection は、進行中の呼び出しを表します。 呼び出しが createCall または answerCall で確立されると、transfer や addParticipant など、呼び出しに対してさらにアクションを実行できます。 |
CallMedia |
CallMedia を使用して、メディア ファイルを再生するために、play などのメディア関連のアクションを実行できます。 これは、確立された CallConnection から取得できます。 |
CallRecording |
CallRecording を使用して、startRecording などの関連するアクションを記録できます。 これは、CallAutomationClient から取得できます。 |
コールバック イベント | コールバック イベントは、呼び出しの実行中に返されるイベントです。
CallConnected など、通話の情報と状態を提供します。
CallbackUrl
createCall および answerCall 中に指定する必要があり、コールバック イベントはこの 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);
呼び出しの作成
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 を機能させるには、ProcessEvent が必要です。 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!;
}
トラブルシューティング
次の手順
- Call Automation の概要
- 着信通話の概念 を
する - Call Automation を使用して顧客との対話ワークフローを構築する
- Call Automation を使用して着信テレフォニー呼び出しをリダイレクトする
- クイック スタート: アクション を再生する
- クイック スタート: アクション を認識する
- Azure Communication Services での通話記録の詳細を確認する
- Event Grid を使用して通話を記録およびダウンロードする
貢献
このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Azure SDK for JavaScript