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


Общие сведения о пакете SDK для вызовов

Службы коммуникации Azure позволяет браузерам, приложениям и службам конечных пользователей управлять голосовой связью и видеосвязи. На этой странице рассматривается пакет SDK для вызова клиента, который можно внедрить на веб-сайты и собственные приложения. На этой странице приведены подробные описания функций клиента звонков, таких как сведения о поддержке платформы и браузера. Службы программно управляют и получают доступ к вызовам с помощью API службы автоматизации вызовов. Rooms API — это необязательный API в службах Azure Communication Services, который добавляет больше возможностей для голосового или видеозвонка, например, роли и разрешения.

Чтобы создать собственный интерфейс пользователя с помощью пакета SDK для вызовов, ознакомьтесь с краткими руководствами по вызовам или образцовым примером вызовов.

Если вам нужна помощь с пользовательским опытом, библиотека пользовательского интерфейса Azure Communication Services предоставляет коллекцию компонентов с открытым исходным кодом, готовых к интеграции в ваше приложение. С помощью этого набора предварительно созданных элементов управления вы можете создавать красивые возможности взаимодействия с помощью языка разработки Fluent Майкрософт. Если вы хотите узнать больше о библиотеке пользовательского интерфейса, посетите сайт обзора.

После начала разработки ознакомьтесь со страницей известных проблем, чтобы найти ошибки, над которыми мы работаем.

Ссылки на пакет SDK

Платформа Web (JavaScript) Windows (.NET) iOS Android Другие
Звонки npm NuGet GitHub Maven
Библиотека пользовательского интерфейса npm - GitHub GitHub GitHub, Storybook

Ключевые функции

  • Управление устройствами и мультимедиа. Пакет SDK для вызовов предоставляет средства для привязки к аудио- и видеоустройствам, кодирует содержимое для эффективной передачи через плоскость передачи данных и отображает содержимое на указанных выходных устройствах и в представлениях. Для совместного использования экрана и приложений также предоставляются интерфейсы API.
  • PSTN — пакет SDK для звонков может инициировать голосовые звонки с традиционной публичной телефонной сетью общего пользования, используя номера телефонов, которые вы приобретаете в портале Azure или программно. Вы также можете принести собственные номера с помощью контроллеров границ сеанса.
  • Собрания Teams и звонки - Пакет SDK для звонков может участвовать в собраниях Teams и взаимодействовать с голосовым и видеоканалом передачи данных Teams.
  • Шифрование. Пакет SDK для вызовов шифрует трафик и предотвращает несанкционированное подключение к каналу связи.
  • Адресация. Службы коммуникации Azure предоставляют универсальные удостоверения, используемые для адресации конечных точек связи. Клиенты могут использовать эти удостоверения для проверки подлинности службы и общения друг с другом. Эти идентификации используются в интерфейсах API звонков, которые предоставляют клиентам информацию о том, кто находится на вызове (список).
  • Безопасность доступа пользователей
  • Уведомления. Пакет SDK для вызовов предоставляет интерфейсы API, позволяющие клиентам получать уведомления о входящем вызове. В ситуациях, когда ваше приложение не работает на переднем плане, шаблоны доступны для запуска всплывающих уведомлений ("toasts") для информирования конечных пользователей о входящем вызове.
  • Статистика мультимедиа — пакет SDK для вызовов предоставляет подробные сведения о метриках голосовых и видеозвонков . Благодаря этой информации разработчики имеют более четкое представление о качестве звонков и могут принимать обоснованные решения для дальнейшего улучшения взаимодействия.
  • Ограничения видео. Пакет SDK для звонков предоставляет API-интерфейсы , которые получают возможность регулировать качество видео среди других параметров во время видеозвонков путем настройки параметров , таких как разрешение и частота кадров, поддерживающие различные ситуации вызова для различных уровней качества видео.
  • Диагностика для пользователей (UFD) — пакет SDK для вызовов предоставляет события , предназначенные для предоставления аналитических сведений о базовых проблемах, которые могут повлиять на качество вызовов. Разработчики могут подписаться на триггеры, такие как слабые сетевые сигналы или отключенные микрофоны, гарантируя, что они всегда знают о любых факторах, влияющих на вызовы.
  • текст в режиме реального времени (RTT) - текст в режиме реального времени (RTT) предоставляет разработчикам возможность передавать текст практически в режиме реального времени во время вызова. Эта функция предназначена для поддержки пользователей, которые испытывают трудности с речью, обеспечивая заметное отображение их текстовых сообщений для других участников собрания, как при устном общении.

Подробные возможности

В следующем списке представлен набор функций, которые в настоящее время доступны в пакетах SDK для вызовов Службы коммуникации Azure.

Группа функций Возможность JS Windows Java (Android) Objective-C (iOS)
Основные возможности Настройка индивидуального вызова между двумя пользователями ✔️ ✔️ ✔️ ✔️
Поместите групповой вызов с более чем двумя пользователями (до 100 пользователей) ✔️ ✔️ ✔️ ✔️
Перевести индивидуальный вызов с двумя пользователями в групповой вызов с более чем двумя пользователями ✔️ ✔️ ✔️ ✔️
Присоединитесь к групповому вызову после начала ✔️ ✔️ ✔️ ✔️
Приглашение другого участника голосовых вызовов через IP присоединиться к текущему групповому вызову ✔️ ✔️ ✔️ ✔️
Управление во время вызова Включение или отключение видео ✔️ ✔️ ✔️ ✔️
Включение или отключение микрофона ✔️ ✔️ ✔️ ✔️
Отключение звука других участников ✔️ ✔️1 ✔️1 ✔️1
Переключение между камерами ✔️ ✔️ ✔️ ✔️
Локальное удержание/отмена удержания ✔️ ✔️ ✔️ ✔️
Активный динамик ✔️ ✔️ ✔️ ✔️
Выбор динамика для вызовов ✔️ ✔️ ✔️ ✔️
Выбор микрофона для вызовов ✔️ ✔️ ✔️ ✔️
Отображение состояния участника
Бездействие, Ранние медиа, Подключение, Подключено, Удерживается, В зале ожидания, Отключено
✔️ ✔️ ✔️ ✔️
Отображение состояния вызова
Предварительные сигналы и сообщения, Входящий, Подключение, Звонок, Подключено, На удержании, Отключение, Разъединенный
✔️ ✔️ ✔️ ✔️
Отображение того, отключен ли у участника микрофон ✔️ ✔️ ✔️ ✔️
Отображение причины, по которой участник закончил вызов ✔️ ✔️ ✔️ ✔️
Общий доступ к экрану Общий доступ ко всему экрану в приложении ✔️ ✔️2 ✔️2 ✔️2
Предоставление общего доступа к определенному приложению (из списка запущенных приложений) ✔️ ✔️2
Предоставление общего доступа к вкладке веб-браузера из списка открытых вкладок ✔️
Передача системного звука во время демонстрации экрана ✔️
Участник может просмотреть демонстрацию удаленного экрана ✔️ ✔️ ✔️ ✔️
Список Список участников ✔️ ✔️ ✔️ ✔️
Удалить участника ✔️ ✔️ ✔️ ✔️
ТСОП Создать индивидуальный вызов с участником ТСОП ✔️ ✔️ ✔️ ✔️
Создать групповой вызов с участниками ОТС ✔️ ✔️ ✔️ ✔️
Преобразовать индивидуальный вызов с участником телефонной сети общего пользования в групповой вызов. ✔️ ✔️ ✔️ ✔️
Отключиться от группового вызова в качестве участника PSTN ✔️ ✔️ ✔️ ✔️
Поддержка раннего медиа ✔️ ✔️ ✔️ ✔️
Общие Проверьте микрофон, динамик и камеру с помощью службы проверки звука (доступна по вызову 8:echo123) ✔️ ✔️ ✔️ ✔️
Управление устройствами Запрос разрешения на использование аудио и видео ✔️ ✔️ ✔️ ✔️
Получение списка камер ✔️ ✔️ ✔️ ✔️
Настройка камеры ✔️ ✔️ ✔️ ✔️
Получение выбранной камеры ✔️ ✔️ ✔️ ✔️
Получить список микрофонов ✔️ ✔️ 3 3
Настройка микрофона ✔️ ✔️ 3 3
Получение выбранного микрофона ✔️ ✔️ 3 3
Получение списка докладчиков ✔️ ✔️ 3 3
Настройка параметров докладчика ✔️ ✔️ 3 3
Получить выбранного докладчика ✔️ ✔️ 3 3
Рендеринг видео Отображение одного видео в нескольких местах (локальная камера или удалённый поток) ✔️ ✔️ ✔️ ✔️
Настройка или обновление режима масштабирования ✔️ ✔️ ✔️ ✔️
Отображение удаленного видеопотока ✔️ ✔️ ✔️ ✔️
Видеоэффекты Размытие фона ✔️ ✔️ ✔️ ✔️
Пользовательское фоновое изображение ✔️ ✔️ ✔️ ✔️
Звуковые эффекты Музыкальный режим ✔️ ✔️ ✔️
Эхоподавление ✔️ ✔️ ✔️
Подавление шума ✔️ ✔️ ✔️ ✔️
Автоматическая регулировка усиления (AGC) ✔️ ✔️ ✔️
Доступность текст в режиме реального времени (RTT) ✔️ ✔️ ✔️ ✔️
Уведомления 4 Push-уведомления ✔️ ✔️ ✔️ ✔️
Пользовательский контекст Добавление User-to-User (UUI) или кастомных заголовков в вызова ✔️

1 Возможность отключения других пользователей в настоящее время доступна в общедоступной предварительной версии.

2 Возможность общего экрана может быть достигнута с помощью API необработанных мультимедиа. Для получения дополнительных сведений см. краткое руководство по быстрому старту по доступу к необработанным медиа файлам.

3 Пакет SDK для вызовов не имеет явного API для этих функций. Вместо этого используйте API ОС Android и iOS.

4 Максимальное значение для TTL на собственных платформах составляет 180 дней (1552 000 секунд), а минимальное значение — 5 минут (300 секунд). Для CTE (настраиваемая конечная точка для Teams)/M365 Identity максимальное значение TTL составляет 24 часа (86 400 секунд).

Поддержка SDK JavaScript для вызова в различных операционных системах и браузерах

В следующей таблице представлен набор поддерживаемых браузеров, доступных в настоящее время. Мы поддерживаем последние три основных версии браузера (последние три дополнительных версий для Safari), если иное не указано.

Платформа Chrome Safari Microsoft Edge Firefox Веб-виджет Electron
Android ✔️ ✔️ ✔️
iOS ✔️ ✔️ ✔️ ✔️
macOS ✔️ ✔️ ✔️ ✔️ ✔️
Windows ✔️ ✔️ ✔️ ✔️
Ubuntu/Linux ✔️
  • Исходящий общий доступ к экранам не поддерживается в мобильных браузерах iOS или Android.
  • Поддержка Firefox доступна в общедоступной предварительной версии.
  • В настоящее время вызывающий пакет SDK поддерживает только Android System WebView в Android, iOS WebView (WKWebView) в общедоступной предварительной версии. Другие типы внедренных браузеров или WebView на других платформах ОС официально не поддерживаются, например GeckoView, Chromium Embedded Framework (CEF), Microsoft Edge WebView2. Запуск JavaScript SDK для вызовов на этих платформах не проходит активное тестирование, возможно, он будет работать, а возможно и нет.
  • Приложение iOS в Safari не может перечислить или выбрать устройства микрофона и динамика (например, Bluetooth). Эта проблема является ограничением iOS, и операционная система управляет выбором устройства по умолчанию.

Модель безопасности клиента-браузера

Использование WebRTC по протоколу HTTPS

Интерфейсы API WebRTC, например getUserMedia, требуют, чтобы вызывающее их приложение обслуживалось по протоколу HTTPS. Для локальной разработки можно использовать http://localhost.

Внедрение пакета SDK для вызова Служб коммуникации в iframe

Новая политика разрешений (также называемая политикой функций) доступна в различных браузерах. Эта политика влияет на сценарии вызова, контролируя то, как приложения могут получать доступ к камере и микрофону устройства через элемент iframe с различными источниками.

Если вы хотите использовать элемент iframe для размещения части приложения из другого домена, необходимо добавить в него атрибут allow с правильным значением.

Например, этот iframe обеспечивает доступ как к камере, так и к микрофону:

<iframe allow="camera *; microphone *">

Поддержка Android Calling SDK

  • Поддержка Android API уровня 21 или выше
  • Поддержка Java 7 или более поздней версии
  • Поддержка Android Studio 2.0

Мы настоятельно рекомендуем определять и проверять сценарий, посещая поддерживаемые платформы Android.

Поддержка iOS Calling SDK

  • Поддержка iOS 10.0+ во время сборки и iOS 12.0+ во время выполнения
  • Xcode 12.0+
  • Поддержка iPadOS 13.0+

Максимальная длительность вызова

Максимальная продолжительность вызова составляет 30 часов, и участники, которые достигают максимального времени существования звонка в течение 30 часов , отключаются от вызова.

Поддерживаемо количество входящих видеопотоков

Пакет SDK для вызовов Службы коммуникации Azure поддерживает следующие конфигурации потоковой передачи:

Лимит Интернет Windows/Android/iOS
Максимальное число исходящих локальных потоков, которые можно отправить одновременно 1 видео и 1 общий доступ к экрану 1 видео и 1 совместное использование экрана
Максимальное число входящих удаленных потоков, которые можно одновременно отобразить 16 видео + 1 общий доступ к экранам в классических браузерах*, 4 видео + 1 общий доступ к экранам в веб-браузерах 9 видео + 1 общий доступ к экрану

* Начиная с пакета SDK для веб-звонков Службы коммуникации Azure версии 1.16.3. Хотя пакет SDK для вызовов не применяет эти ограничения, пользователи могут столкнуться с снижением производительности, если они превышены. Используйте API Optimal Video Count, чтобы определить количество входящих видеопотоков, которые ваша веб-среда может поддерживать. Чтобы правильно поддерживать 16 входящих видео, компьютеру требуется не менее 16 ГБ ОЗУ и 4-ядерный или более процессор возрастом менее 3 лет.

Поддерживаемые разрешения видео

Пакет SDK для вызова Службы коммуникации Azure автоматически настраивает разрешения потоков видео и общего доступа к экрану во время вызова.

Примечание.

Разрешение может отличаться в зависимости от количества участников вызова, объема пропускной способности, доступной клиенту, аппаратных возможностей локального участника, который отображает удаленные видеопотоки и другие общие параметры вызова.

Пакет SDK для вызовов Службы коммуникации Azure поддерживает отправку следующих разрешений видео

Максимальное разрешение видео WebJS iOS Android Windows
Отправка видео 720P 720P 720P 1080P
Отправка экрана 1080P 1080P 1080P 1080P
Получение удаленного видеопотока или общего доступа к экрану 1080P 1080P 1080P 1080P

Количество участников в службе поддержки звонков

  • До 350 пользователей могут присоединиться к групповому звонку, конференции в комнате, а также к звонкам через Teams и Службы коммуникации Azure.
  • После того как размер звонка достигает 100+ участников, пакет SDK для звонков отображает только первые четыре доминирующих динамиков, имеющих активную видеокамеру.
  • Если число пользователей на вызове равно 100+, просматриваемое число входящих видео автоматически уменьшается с 4x4 (16 входящих видео) до 2x2 (4 входящих видео).
  • Когда число пользователей идет ниже 100, количество поддерживаемых входящих видео возвращается до 4x4 (16 входящих видео).

Время ожидания для вызова пакета SDK

Следующие временные ограничения применяются к SDK-компонентам служб голосовой связи:

Действие Время ожидания в секундах
Повторное подключение или удаление участника 60
Добавление новой модальности в вызов или ее удаление из него (запуск или завершение видео либо общий доступ к экрану) 40
Время ожидания операции передачи вызовов 60
Время ожидания установления звонка 1:1 85
Время ожидания установления группового вызова 85
Время ожидания инициализации вызова в телефонной сети общего пользования 115
Продвижение звонка 1:1 на групповую конференцию с временем ожидания 115

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