Поделиться через


Боты для звонков и виртуальных собраний

Боты, взаимодействующие со звонками и собраниями 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 для взаимодействия с платформой связи Майкрософт. Просмотр

Следующий этап

Дополнительные ресурсы