適用於 JavaScript 的 Azure 通訊呼叫自動化用戶端連結庫 - 1.2.0 版
此套件包含適用於 Azure 通訊呼叫自動化的 JavaScript SDK。 通話自動化可讓開發人員建置伺服器型、智慧型手機工作流程,以及語音和 PSTN 通道的通話錄製。
開始使用
Prerequisites
- Azure 訂用帳戶。
- 現有的通訊服務資源。 如果您需要建立資源,您可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI。
安裝
npm install @azure/communication-call-automation
瀏覽器支援
JavaScript 套件組合
若要在瀏覽器中使用此用戶端連結庫,您必須先使用套件組合器。 如需如何執行這項操作的詳細資訊,請參閱我們的 統合檔。
重要概念
名稱 | 描述 |
---|---|
CallAutomationClient | CallAutomationClient 是使用此客戶端連結庫的開發人員的主要介面。 它可用來起始 或的createCall answerCall 呼叫。 |
CallConnection | CallConnection 表示進行中的呼叫。 使用 或answerCall 建立createCall 呼叫之後,即可針對呼叫執行進一步的動作,例如 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 通訊服務 中的通話錄製
- 使用事件方格記錄和下載呼叫
參與
如果您希望向此程式庫投稿,請參閱投稿指南,深入瞭解如何組建與測試程式碼。