Боты для звонков и виртуальных собраний
Боты, взаимодействующие со звонками и собраниями Teams в реальном времени с помощью голосовых команд, видео и демонстрации экрана. С помощью API Microsoft Graph для звонков и онлайн-собраний приложения Microsoft Teams теперь могут взаимодействовать с пользователями посредством голосовых вызовов и видеосвязи. Эти API позволяют добавлять следующие новые функции:
- Рабочие процессы интерактивного автоответчика (IVR)
- Управление вызовами.
- Доступ к аудио- и видеопотокам в режиме реального времени, в том числе общий доступ к классическим и мобильным приложениям.
Чтобы использовать эти Graph API в приложении Teams, создайте бот и укажите некоторые дополнительные данные и разрешения.
Кроме того, платформа мультимедиа в реальном времени позволяет ботам взаимодействовать со звонками и собраниями Teams с помощью голосовой связи, видео и демонстрации экрана в режиме реального времени. Бот, участвующий в аудио- или видеозвонках и виртуальных собраниях - это обычный бот Microsoft Teams с несколькими дополнительными функциями, используемыми для регистрации бота.
Манифест приложения Teams с двумя дополнительными параметрами supportsCalling
и supportsVideo
разрешениями Graph для идентификатора приложения Microsoft App бота и согласия администратора клиента позволяют зарегистрировать бота. При регистрации бота для звонков и собраний Teams нужно указать URL-адрес веб-перехватчика, который является конечной точкой веб-перехватчика для всех входящих вызовов, адресованных боту. Боту-мультимедиа, размещенному в приложении, для доступа к аудио- и видеопотокам мультимедиа требуется библиотека Microsoft.Graph.Communications.Calls.Media .NET, а сам бот должен быть развернут на компьютере Windows Server или гостевой операционной системе сервера Windows Server в Azure. Боты в Teams поддерживают только определенный набор форматов мультимедиа для аудио- и видеоконтента.
Функции звонков и онлайн-ботов для собраний
Боты могут выполнять следующие функции, вызывая API Microsoft Graph для звонков и собраний по сети:
Возможности | Функции |
---|---|
Основные возможности | • Инициируйте один-к-одному вызов между двумя пользователями. • Инициируйте групповой вызов с более чем двумя пользователями (до 350 пользователей). • Обновите один-к-один вызов с двумя пользователями до группового вызова с более чем двумя пользователями. • Присоединитесь к групповому вызову после его запуска. • Пригласите участника VoIP для присоединения к текущему групповому вызову. |
Управление посередине вызова | • Включите или отключите видео. • Отключить или включить микрофон. • Переключение между камерами. • Положите вызов на удержание или возобновите его локально. • Активный динамик. • Выберите говорящего для звонков. • Выберите микрофон для звонков. • Показывать состояние участника, например простой, ранний носитель, подключение, подключение, удержание, в вестибюле или отключен. • Показывать состояние вызова, например ранний носитель, входящий, подключение, звон, подключение, подключение, подключение, удержание, отключение или отключение. • Показать, отключен ли участник. • Показать причину, по которой участник покинул звонок. |
Демонстрация экрана | • Общий доступ ко всему экрану из приложения. • Предоставление общего доступа к определенному приложению (из списка запущенных приложений). • Предоставление общего доступа к вкладке веб-браузера из списка открытых вкладок. • Совместное использование системного звука во время демонстрации экрана. • Участник может просматривать удаленный общий доступ к экрану. |
Список | • Вывод списка участников звонка. • Удаление участника из звонка. |
Телефонная сеть общего пользования (ТСОП) | • Разместите один к одному вызов с участником ТСОП. • Разместите групповой звонок с участниками ТСОП. • Обновите один-к-один вызов с участником ТСОП в групповой вызов. • Выход из группового звонка в качестве участника ТСОП. • Поддержка ранних носителей. |
Теперь необходимо разобраться в некоторых основных понятиях, терминах и соглашениях.
Термины
Следующие основные понятия, терминология и соглашения помогут вам использовать боты для звонков и собраний по сети:
- Голосовые или видеозвонки
- Типы звонков
- Сигналы
- Звонки и собрания по сети
- Мультимедиа в реальном времени
Голосовые или видеозвонки
Звонки в Teams могут использовать только аудиосвязь или комбинацию аудио и видео. Вместо терминов "голосовой звонок" и "видеозвонок" используется термин "вызов".
Типы звонков
Вызовы — это одноранговые сеансы связи между пользователем и ботом или многопользовательские сеансы связи между ботом и несколькими пользователями (групповой вызов).
Ниже приведены различные типы вызовов и разрешения, необходимые для вызова:
Пользователь может инициировать одноранговый звонок с помощью вашего бота или пригласить бота в существующую многопользовательскую конференцию. Многопартийный вызов еще не включен в пользовательском интерфейсе Teams.
Примечание.
Вызовы бота, инициированные пользователем, не поддерживаются в мобильном клиенте Teams.
Разрешения Graph не требуются пользователю для запуска однорангового вызова с помощью бота. Боту, чтобы участвовать в многопользовательском вызове или инициировать одноранговый вызов с пользователем, требуются дополнительные разрешения.
Вызов может начинаться как одноранговый и позже стать многопользовательским. Ваш бот может инициировать многопользовательский вызов, пригласив других пользователей, если у него есть разрешение на инициацию группового звонка. Если у бота нет разрешений на участие в групповых вызовах и если участник добавляет к вызову другого участника, бот удаляется из вызова.
Сигналы
Существует два типа сигналов: входящий и вызывающий. Ниже приведены различные функции сигналов.
Чтобы получать входящие звонки, введите конечную точку в параметрах бота. Эта конечная точка получает уведомление при инициации входящего вызова. Вы можете ответить на звонок, отклонить его или перенаправить его другому пользователю.
Когда бот участвует в вызове, существуют API-интерфейсы для отключения и включения звука бота, а также для запуска и прекращения общего доступа к содержимому видео или рабочего стола, предоставляемого ботом другим участникам.
Бот также может получать доступ к списку участников, приглашать новых участников и отключать им звук.
Звонки и собрания по сети
С точки зрения пользователя Teams существует два типа онлайн-собраний: незапланированные и запланированные. С точки зрения бота между этими типами онлайн-собраний нет никакой разницы. Для бота онлайн-собрание — это многопользовательский звонок между набором участников, который включает в себя координаты собрания. Координаты собрания — это метаданные собрания, в том числе botId
, chatId
, связанный с собранием, joinUrl
, startTime
или endTime
и т. д.
Мультимедиа в реальном времени
Когда бот участвует в звонках или виртуальных собраниях, он должен работать со звуковым и видеопотоком. Когда пользователи разговаривают по телефону, показывают себя на веб-камере или представляют свои экраны на собрании, боту он отображается в виде аудио- и видеопотоков. Если бот хочет произнести что-нибудь, даже совсем простое, например нажать 0, чтобы связаться с оператором в сценарии интерактивного голосового ответа (IVR), для этого необходимо воспроизвести . WAV-файл. В совокупности это называется мультимедиа или мультимедиа в режиме реального времени.
Мультимедиа в режиме реального времени — это сценарии, в которых мультимедиа должны обрабатываться в режиме реального времени, а не воспроизводить ранее записанные аудио или видео. Работа с потоками мультимедиа, потоками мультимедиа в режиме реального времени, является сложной задачей. Корпорация Майкрософт создала платформу работы с мультимедиа в режиме реального времени для обработки этих сценариев, чтобы взять на себя как можно большую часть традиционной интенсивной обработки мультимедиа в режиме реального времени. Когда бот отвечает на входящий вызов или присоединяется к новому или существующему вызову, он должен сообщить платформе мультимедиа в реальном времени, как будет обрабатываться мультимедиа. Если вы создаете приложение IVR, вы можете разгрузить дорогостоящую обработку звука в корпорацию Майкрософт. Кроме того, если боту требуется прямой доступ к потокам мультимедиа, этот сценарий также поддерживается. Существует два типа обработки мультимедиа:
Размещение мультимедиа в службе: боты фокусируются на управлении рабочим процессом приложения, в частности - маршрутизации вызовов, а обработка звука перепоручается платформе Майкрософт для работы с мультимедиа в режиме реального времени. При размещении мультимедиа в службе существует несколько вариантов реализации и размещения вашего бота. Медиа-бот, размещенный в службе, можно реализовать как службу без отслеживания состояния, так как он не обрабатывает мультимедиа локально. Боты мультимедиа, размещенные в службе, могут использовать следующие API:
PlayPrompt
для воспроизведения звукового клипа.Record
для записи звуковых клипов.SubscribeToTone
для подписки на двойные тоны с несколькими частотами (DTMF).Например, чтобы знать, когда пользователь нажал 0 для связи с оператором.
Размещение мультимедиа в приложении: для прямого доступа к мультимедиа боту потребуется определенное разрешение Graph. После того как бот получит разрешение, библиотека мультимедиа в режиме реального времени и пакет SDK для вызовов Graph помогают создавать богатые возможностями мультимедиа в режиме реального времени и вызывать ботов. Бот, размещенный в приложении, должен располагаться в среде Windows. Дополнительные сведения см. в разделе Боты мультимедиа, размещаемые в приложениях.
Пример кода
Название примера | Описание | Microsoft Graph |
---|---|---|
Коммуникации Graph | Коммуникации Graph для взаимодействия с платформой связи Майкрософт. | Просмотр |
Следующий этап
Дополнительные ресурсы
Platform Docs