Клиентская библиотека службы автоматизации звонков Azure для JavaScript версии 1.3.0
Этот пакет содержит пакет SDK JavaScript для автоматизации вызовов коммуникации Azure. Автоматизация вызовов предоставляет разработчикам возможность создавать серверные рабочие процессы, интеллектуальные рабочие процессы звонков и записывать звонки для каналов голосовой связи и ТСОП.
Обзор документации по автоматизации вызовов | продукта
Начало работы
Необходимые условия
- подписка 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 необходимо предоставить во время createCall и answerCall , а события обратного вызова будут отправляться в этот 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);
Создание вызова
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);
ProcessEvents требуется для работы EventProcessor. После использования события 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
- запись и скачивание вызовов с помощью службы "Сетка событий"
Способствует
Если вы хотите внести свой вклад в эту библиотеку, ознакомьтесь с руководством по вкладу, чтобы узнать больше о том, как создавать и тестировать код.
Azure SDK for JavaScript