Обзор службы автоматизации вызовов
Службы коммуникации Azure автоматизация звонков предоставляет разработчикам возможность создавать серверные, интеллектуальные рабочие процессы звонков и записывать звонки для каналов голосовой связи и ТСОП. Пакеты SDK, доступные в C#, Java, JavaScript и Python, используют модель событий действий для создания персонализированных взаимодействий с клиентами. Приложения связи могут прослушивать события вызова в режиме реального времени и выполнять действия уровня управления (например, ответ, передачу, воспроизведение звука, запись и т. д.) для управления вызовами на основе бизнес-логики.
Примечание.
Служба автоматизации звонков в настоящее время не поддерживает вызовы комнат .
Распространенные варианты использования
Ниже приведены некоторые распространенные варианты использования, которые можно создать с помощью службы автоматизации вызовов:
- Программные вызовы VoIP или ТСОП для транзакционных рабочих процессов, таких как напоминания для вызова и встречи, чтобы улучшить обслуживание клиентов.
- Создавайте интерактивные рабочие процессы взаимодействия для самостоятельного обслуживания клиентов для таких вариантов использования, как резервирование заказов и обновления, использование воспроизведения (аудио URL-адрес, текст в речь и SSML) и действия распознавания (DTMF и голосовой связи).
- Интеграция приложений связи с центрами контактов и частными сетями телефонии с помощью прямой маршрутизации.
- Защитите удостоверение клиента путем создания служб маскирования номеров для подключения покупателей к продавцам или пользователям с поставщиками партнеров на вашей платформе.
- Повышение вовлеченности путем создания автоматизированных программ распространения клиентов для маркетинга и обслуживания клиентов.
- Анализируйте в процессе после вызова несмешанные аудиозаписи в целях обеспечения качества.
Службы коммуникации Azure службу автоматизации вызовов можно использовать для создания рабочих процессов вызовов для сценариев обслуживания клиентов, как показано в архитектуре высокого уровня. Вы можете отвечать на входящий вызов или совершать исходящие вызовы. Выполните такие действия, как воспроизведение приветственного сообщения, подключение клиента к динамическому агенту в клиентском приложении пакета SDK для вызова Службы коммуникации Azure, чтобы ответить на входящий запрос на вызов. С поддержкой Службы коммуникации Azure ТСОП или прямой маршрутизации можно подключить этот рабочий процесс к центру контактов.
Возможности
В следующем списке представлен набор функций, доступных в пакетах SDK для автоматизации вызовов Службы коммуникации Azure.
Область функций | Возможность | .NET | Java | JavaScript | Python |
---|---|---|---|---|---|
Сценарии предварительного вызова | Ответить на вызов один к одному | ✔️ | ✔️ | ✔️ | ✔️ |
Ответ на групповой вызов | ✔️ | ✔️ | ✔️ | ✔️ | |
Размещение нового исходящего вызова к одной или нескольким конечным точкам | ✔️ | ✔️ | ✔️ | ✔️ | |
Перенаправление* (переадресация) вызова к одной или нескольким конечным точкам | ✔️ | ✔️ | ✔️ | ✔️ | |
Отклонение входящего вызова | ✔️ | ✔️ | ✔️ | ✔️ | |
Сценарии среднего вызова | Добавление одной или нескольких конечных точек в существующий вызов | ✔️ | ✔️ | ✔️ | ✔️ |
Отмена добавления конечной точки в существующий вызов | ✔️ | ✔️ | ✔️ | ✔️ | |
Воспроизведение звука из звукового файла | ✔️ | ✔️ | ✔️ | ✔️ | |
Воспроизведение звука с помощью текста в речь | ✔️ | ✔️ | ✔️ | ✔️ | |
Распознавание входных данных пользователей с помощью DTMF | ✔️ | ✔️ | ✔️ | ✔️ | |
Распознавание голосовых входных данных пользователя | ✔️ | ✔️ | ✔️ | ✔️ | |
Запуск непрерывного распознавания DTMF | ✔️ | ✔️ | ✔️ | ✔️ | |
Остановка непрерывного распознавания DTMF | ✔️ | ✔️ | ✔️ | ✔️ | |
Отправка DTMF | ✔️ | ✔️ | ✔️ | ✔️ | |
Отключить участник | ✔️ | ✔️ | ✔️ | ✔️ | |
Удаление одной или нескольких конечных точек из существующего вызова | ✔️ | ✔️ | ✔️ | ✔️ | |
Слепая передача* вызов 1:1 к другой конечной точке | ✔️ | ✔️ | ✔️ | ✔️ | |
Слепая передача* участник из группового вызова в другую конечную точку | ✔️ | ✔️ | ✔️ | ✔️ | |
Повесить звонок (удалить ногу вызова) | ✔️ | ✔️ | ✔️ | ✔️ | |
Завершение вызова (удаление всех участников и завершение вызова) | ✔️ | ✔️ | ✔️ | ✔️ | |
Отмена операций мультимедиа | ✔️ | ✔️ | ✔️ | ✔️ | |
Совместное использование пользовательских сведений (с помощью заголовков VOIP или SIP) с конечными точками при добавлении их в вызов или передаче вызова на них | ✔️ | ✔️ | ✔️ | ✔️ | |
Сценарии запросов | Получение состояния вызова | ✔️ | ✔️ | ✔️ | ✔️ |
Получение участника в вызове | ✔️ | ✔️ | ✔️ | ✔️ | |
Вывод списка всех участников вызова | ✔️ | ✔️ | ✔️ | ✔️ | |
Запись звонков | Запуск, приостановка, возобновление и остановка записи | ✔️ | ✔️ | ✔️ | ✔️ |
*Перенос или перенаправление звонка VoIP на номер телефона в настоящее время не поддерживается.
Архитектура
Служба автоматизации вызовов использует интерфейс REST API для получения запросов и предоставления ответов на все действия, выполняемые в службе. Из-за асинхронного характера вызова большинство действий имеют соответствующие события, которые активируются при успешном завершении или сбое действия.
Службы коммуникации Azure использует сетку событий для доставки Событие входящегоCall и веб-перехватчики HTTPS для всех обратных вызовов в середине вызова.
Действия вызова
Действия перед вызовом
Эти действия выполняются перед подключением конечной точки назначения, указанной в уведомлении о событии ВходящегоCall. События обратного вызова веб-перехватчика взаимодействуют только с действием предварительного вызова "ответ", а не для действий отклонить или перенаправить.
Ответ с помощью события ВходящегоCall из пакета SDK службы "Сетка событий" и "Автоматизация вызовов", вызов может быть получен приложением. Это действие позволяет выполнять сценарии IVR, в которых приложение может программно отвечать на входящие вызовы ТСОП. Другие сценарии включают ответы на вызов от имени пользователя.
Отклонить отклонить вызов означает, что приложение может получать событие ВходящихCall и предотвратить подключение вызова к конечной точке назначения.
Перенаправление с помощью события ВходящихCall из сетки событий вызов может быть перенаправлен на одну или несколько конечных точек, создающих один или одновременный сценарий вызова (sim-ring). Действие перенаправления не отвечает на вызов, вызов просто перенаправляется или перенаправляется в другую конечную точку назначения для ответа.
Создание действия создания звонка можно использовать для размещения исходящих звонков на номера телефонов и других пользователей связи. Варианты использования включают в себя размещение исходящих вызовов приложения для упреждающего информирования пользователей о сбое или уведомления об обновлении заказа.
Действия среднего вызова
Эти действия можно выполнить на вызовах, которые отвечают или помещаются с помощью пакетов SDK службы автоматизации вызовов. Каждое действие по середине вызова имеет соответствующее событие успешного или неудачного вызова веб-перехватчика.
Добавление и удаление участников один или несколько участников можно добавить в один запрос, каждый из которых является вариантом поддерживаемых конечных точек назначения. Обратный вызов веб-перехватчика отправляется для каждого участника, успешно добавленного в звонок.
Воспроизведение , когда приложение отвечает на вызов или помещает исходящий звонок, вы можете воспроизвести звуковой запрос вызывающего абонента. Этот звук можно циклировать при необходимости в таких сценариях, как воспроизведение музыки. Чтобы узнать больше, ознакомьтесь с нашими понятиями и инструкциями по настройке голосовых запросов пользователям с помощью действия Play.
Распознать входные данные после воспроизведения звукового запроса приложения можно запросить входные данные пользователя для управления бизнес-логикой и навигацией в приложении. Дополнительные сведения см. в наших концепциях и руководствах по сбору данных пользователей.
Непрерывное распознавание DTMF, когда приложение должно иметь возможность получать тонЫ DTMF в любой момент в вызове без необходимости активировать определенное действие распознавания. Это может быть полезно в сценариях, когда агент находится на вызове и требует, чтобы пользователь ввел какой-либо идентификатор или номер отслеживания. Дополнительные сведения об использовании этого представления см. в нашем руководстве.
Отправка DTMF, когда приложению требуется отправить тон DTMF внешнему участнику, это может быть в целях, таких как вызов внешнего агента и предоставление номера расширения, или что-то вроде навигации по внешнему меню IVR.
Отключение звука приложения может отключить определенные пользователи на основе бизнес-логики. Затем пользователю потребуется вручную отменить их, если они хотят говорить.
Передача , когда приложение отвечает на вызов или помещает исходящий вызов в конечную точку, этот вызов можно передать в другую конечную точку назначения. Передача вызова 1:1 удаляет возможность приложения управлять вызовом с помощью пакетов SDK службы автоматизации вызовов.
Запись : вы решаете, когда следует запускать, приостановить или возобновить запись, основанную на бизнес-логике приложения, или вы можете предоставить пользователю управление для активации этих действий. Дополнительные сведения см. в наших концепциях и кратком руководстве.
Зависание, когда приложение ответило на один вызов, действие зависания удаляет ногу вызова и завершает вызов с другой конечной точкой. При наличии более двух участников вызова (группового вызова), выполнение действия "зависания" удаляет конечную точку приложения из группового вызова.
Завершите работу приложения с ответом на вызов один к одному или группе или поместите исходящий звонок с одним или несколькими участниками, это действие удаляет всех участников и завершает вызов. Эта операция активируется путем задания forEveryOne
свойства true в действии вызова "Зависание".
Отмена операций мультимедиа на основе бизнес-логики приложения может потребоваться отменить текущие и очередные операции мультимедиа. В зависимости от отмененной операции мультимедиа и тех, которые в очереди, вы получите событие веб-перехватчика, указывающее, что действие отменено.
Сценарии запросов
Список участников возвращает список всех участников вызова. Боты записи и транскрибирования опущены из этого списка.
События
В следующей таблице описаны текущие события, создаваемые Службы коммуникации Azure. В следующих двух таблицах описываются события, создаваемые сеткой событий, и из службы автоматизации вызовов как события веб-перехватчика.
События Сетки событий
Большинство событий, отправленных сеткой событий, не зависят от платформы, что означает, что они создаются независимо от пакета SDK (вызовов или автоматизации вызовов). Несмотря на то что вы можете создать подписку для любого события, мы рекомендуем использовать событие ВходящегоCall для всех вариантов использования службы автоматизации вызовов, где вы хотите управлять вызовом программным способом. Используйте другие события для создания отчетов и телеметрии.
Мероприятие | Description |
---|---|
IncomingCall | Уведомление о вызове пользователя связи или номера телефона |
CallStarted | Устанавливается вызов (входящий или исходящий) |
CallEnded | Вызов завершается, и все участники удаляются |
УчастникAdded | Участник добавлен в звонок |
Участник удален | Участник был удален из вызова |
ЗаписьFileStatusUpdated | Доступен файл записи |
Дополнительные сведения об этих событиях и схеме полезных данных см. здесь
События веб-перехватчика службы автоматизации вызовов
События автоматизации вызовов отправляются в URI обратного вызова веб-перехватчика, указанный при ответе или месте нового исходящего вызова.
Мероприятие | Description |
---|---|
Вызов Подключение ed | Нога вызова приложения подключена (входящий или исходящий трафик) |
CallDisconnected | Этап вызова приложения отключен |
CallTransferAccepted | Этап вызова приложения был передан в другую конечную точку |
CallTransferFailed | Сбой передачи вызова приложения |
AddParticipantSucceeded | Приложение добавило участника |
AddParticipantFailed | Приложение не удалось добавить участника |
CancelAddParticipantSucceeded | Приложение отменило добавление участника |
CancelAddParticipantFailed | Приложению не удалось отменить добавление участника |
RemoveParticipantSucceeded | Приложение успешно удалило участника из вызова. |
RemoveParticipantFailed | Приложению не удалось удалить участника из вызова. |
УчастникиUpdated | Состояние участника изменилось при подключении этапа вызова приложения к вызову |
PlayCompleted | Приложение успешно воспроизводило звуковой файл, предоставленный |
PlayFailed | Не удалось воспроизвести звук в приложении |
PlayCanceled | Запрошенное действие воспроизведения отменено |
Распознаваемый | Распознавание входных данных пользователей успешно завершено |
РаспознатьCanceled | Запрошенное действие распознавания отменено |
RecognizeFailed | Распознавание входных данных пользователем не удалось Дополнительные сведения о событиях распознавания действий см. в руководстве по сбору входных данных пользователей |
ЗаписьStateChanged | Состояние действия записи изменилось с активного на неактивное или наоборот |
ContinuousDtmfRecognitionToneReceived | StartContinuousDtmfRecognition выполнен успешно, и от участника был получен тон DTMF. |
ContinuousDtmfRecognitionToneFailed | StartContinuousDtmfRecognition завершено, но при обработке тон DTMF от участника произошла ошибка |
ContinuousDtmfRecognitionStopped | Успешно выполнена stopContinuousRecognition |
SendDtmfCompleted | SendDTMF успешно завершен, а тоны DTMF отправлены целевому участнику |
SendDtmfFailed | Произошла ошибка при отправке тонов DTMF |
Чтобы понять, какие события публикуются для различных действий, см . в этом руководстве , в котором приведены примеры кода и схемы последовательности для различных потоков управления вызовами.
При подтверждении событий обратного вызова рекомендуется реагировать на стандартные коды состояния HTTP, такие как 200 OK. Подробные сведения не нужны и более подходят для процессов отладки.
Сведения о защите доставки событий обратного вызова см. в этом руководстве.
Uri обратного вызова операции
Это необязательный параметр в некоторых API-интерфейсах среднего вызова, которые используют события в качестве асинхронных ответов. По умолчанию все события отправляются в URI обратного вызова по умолчанию, заданный API CreateCall / AnswerCall, когда пользователь устанавливает вызов. При использовании URI обратного вызова операции соответствующие события этого отдельного запроса (только один раз) будут отправлены в новый универсальный код ресурса (URI).
Поддерживаемый API | Соответствующее событие |
---|---|
AddParticipant | AddParticipantSucceed / AddParticipantFailed |
RemoveParticipant | RemoveParticipantSucceed / RemoveParticipantFailed |
TransferCall | CallTransferAccepted / CallTransferFailed |
CancelAddParticipant | CancelAddParticipantSucceeded / CancelAddParticipantFailed |
Воспроизведение | PlayCompleted / PlayFailed / PlayCanceled |
PlayToAll | PlayCompleted / PlayFailed / PlayCanceled |
Recognize | RecognizeCompleted / RecognizeFailed / RecognizeCanceled |
StopContinuousDTMFRecognition | ContinuousDtmfRecognitionStopped |
SendDTMF | ContinuousDtmfRecognitionToneReceived / ContinuousDtmfRecognitionToneFailed |
Следующие шаги
Ниже приведены некоторые статьи, интересующие вас:
- Узнайте, как ваш ресурс взимается за различные варианты использования вызовов с примерами.
- Ознакомьтесь с кратким руководством по созданию исходящего вызова.
- Узнайте об использовании и операционных журналах, опубликованных автоматизацией вызовов .