Обзор службы автоматизации вызовов

Службы коммуникации 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

Следующие шаги

Ниже приведены некоторые статьи, интересующие вас: