你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 JavaScript 的 Azure 通信呼叫自动化客户端库 - 版本 1.2.0
此包包含适用于 Azure 通信呼叫自动化的 JavaScript SDK。 呼叫自动化使开发人员能够构建基于服务器的智能呼叫工作流,以及语音和 PSTN 通道的呼叫录制。
入门
先决条件
- 一个 Azure 订阅。
- 现有的通信服务资源。 如果需要创建资源,可以使用 Azure 门户、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 必须在 和 answerCall 期间createCall 提供 ,并且回调事件将发送到此 URL。 可以使用 callAutomationEventParser 在事件到达时分析这些事件。 |
传入呼叫事件 | 当传入呼叫发生 (可以使用) 应答 answerCall 时,将发送传入呼叫 eventgrid 事件。 这与上述回调事件不同,应在Azure 门户上进行设置。 有关详细信息 ,请参阅传入呼叫 。 |
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!;
}
故障排除
后续步骤
- 呼叫自动化概述
- 传入呼叫概念
- 使用呼叫自动化生成客户交互工作流
- 使用呼叫自动化重定向呼入电话
- 快速入门:播放操作
- 快速入门:识别动作
- 阅读有关 Azure 通信服务 中的呼叫录制的详细信息
- 使用事件网格录制和下载通话
贡献
若要为此库做出贡献,请阅读贡献指南,详细了解如何生成和测试代码。