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