Внутренние компоненты сетевых вызовов

В статье описываются потоки вызовов в Службах коммуникации Azure. Потоки сигналов и мультимедиа зависят от типов вызовов, которые делают ваши пользователи. Примеры типов звонков включают в себя: один-на-один через VoIP, один-на-один через общедоступную телефонную сеть (ТСОП) и групповые вызовы, содержащие сочетание участников, подключенных через VoIP и ТСОП. Дополнительные сведения см. в разделе "Типы вызовов".

Протоколы сигналов и мультимедиа

При установке однорангового или группового вызова два протокола используются за кулисами — HTTPS для сигнализации (REST) и безопасный протокол транспортировки в реальном времени (SRTP) для передачи медиа.

Сигнал между пакетами SDK или между пакетами SDK и контроллерами сигналов служб коммуникации обрабатывается с помощью HTTPS REST (TLS). Службы коммуникации Azure используют TLS 1.2. Для трафика мультимедиа в режиме реального времени (RTP) рекомендуется использовать пользовательский дейтаграммный протокол (UDP). Если брандмауэр запрещает использование UDP, пакет SDK использует протокол управления передачей (TCP) для мультимедиа.

Давайте рассмотрим протоколы сигналов и мультимедиа в различных сценариях.

Случаи потока звонков

Случай 1. VoIP с прямым подключением между двумя устройствами

В один-на-один VoIP или видеозвонках трафик предпочитает наиболее прямой путь. Прямой путь означает, что если два пакета SDK могут напрямую связаться друг с другом, они устанавливают прямое подключение. Прямой путь возможен, если два пакета SDK находятся в одной подсети (например, в подсети 192.168.1.0/24) или два, когда устройства, живут в подсетях, которые могут видеть друг друга (пакеты SDK в подсети 10.10.0.0/16 и 192.168.1.0/24 могут связаться друг с другом).

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

Вариант 2. VoIP, в котором невозможно прямое подключение между устройствами, но подключение между устройствами NAT возможно

Если два устройства находятся в подсетях, которые не могут связаться друг с другом, но подключение между устройствами преобразования сетевых адресов (NAT) возможно, клиентские пакеты SDK устанавливают подключение через устройства NAT. Например, если Алиса работает из кафе и Боб работает из домашнего офиса.

Для Алисы это NAT кафе, и для Боба это NAT домашнего офиса. Устройство Алисы отправляет внешний адрес ее NAT, и Боб делает то же самое. Пакеты SDK получают внешние адреса из служебных программ для обхода NAT в сеансе, которые службы коммуникации Azure предоставляют бесплатно. Логика, которая обрабатывает рукопожатие между Алисой и Бобом, встроена в пакеты SDK, предоставляемые службами коммуникации Azure. Вам не нужна дополнительная конфигурация.

Схема вызова VoIP с помощью служебных программ обхода сеансов для подключения NAT (STUN).

Случай 3. VoIP, в котором невозможно ни прямое, ни NAT-подключение

Если один или оба клиентских устройства находятся за симметричным NAT, для ретрансляции мультимедиа между двумя пакетами SDK требуется отдельная облачная служба. Эта служба называется обходом NAT с использованием ретрансляторов (TURN) и также предоставляется Службами коммуникации Azure. Пакет SDK для звонков служб коммуникации автоматически использует службы TURN на основе обнаруженных сетевых условий. Плата TURN включается в цену звонка.

Схема, показывающая VOIP через обход с помощью ретрансляторов вокруг подключения NAT (TURN).

Случай 4. Групповые вызовы с ТСОП

Как сигнальные, так и медиа для вызовов PSTN используют ресурс телефонии Azure Communication Services. Этот ресурс связан с другими перевозчиками.

Трафик медиа ОКТС проходит через медиапроцессор.

Схема группового вызова ОТС со службами связи.

Замечание

Обработчик мультимедиа также является агентом пользователя 'спина к спине', как определено в RFC 3261 SIP: Протокол инициации сеанса, то есть он может конвертировать кодеки при обработке вызовов между сетями Microsoft и Carrier. Контроллер сигналов служб коммуникации Azure — это реализация прокси-сервера SIP корпорации Майкрософт для одного и того же RFC.

Для групповых вызовов мультимедиа и сигнализация всегда передаются через серверную часть Служб коммуникации Azure. Звук и /или видео со всех участников смешаны в обработчике мультимедиа. Все участники группового вызова отправляют аудио- и видеопотоки в медиа-процессор, который возвращает их в виде смешанных мультимедийных потоков.

Протокол реального времени (RTP) по умолчанию для групповых вызовов — это протокол пользовательской диаграммы данных (UDP).

Замечание

Обработчик мультимедиа может выступать в качестве единицы управления с несколькими точками (MCU) или выборочной единицы пересылки (SFU).

Схема, отображающая поток UDP мультимедиа в службах связи.

Если пакет SDK не может использовать UDP для мультимедиа из-за ограничений брандмауэра, он пытается использовать протокол управления передачей (TCP). Компонент обработчика мультимедиа требует UDP, поэтому в этом случае служба TURN в службах коммуникации добавляется в групповой вызов для преобразования TCP в UDP. Плата TURN включается в цену звонка.

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

Пример 5: SDK для служб связи и службы Microsoft Teams в запланированной встрече в Teams

Сигнальные потоки передаются через контроллер сигналов. Медиаконтент обрабатывается через процессор мультимедиа. Контроллер сигналов и обработчик мультимедиа совместно используются между службами коммуникации и Microsoft Teams.

Схема, на которой показан пакет SDK служб коммуникации и клиент Teams в запланированном собрании Teams.

Случай 6. Ранний носитель

Ссылается на медиа, которое обменивается, например, аудио и видео, до того как вызываемый принимает сеанс. Для раннего потока мультимедиа контроллер границы сеанса (SBC) должен связываться с первой конечной точкой, которая запускает потоковую передачу мультимедиа; поток мультимедиа может начинаться до номинирования кандидатов. SBC должен поддерживать отправку двухтональных многочастотных сигналов (DTMF) на этом этапе для поддержки сценариев IVR и голосовой почты. SBC должен использовать самый высокий путь приоритета, по которому он получает проверки, если номинации не завершены.

Дальнейшие шаги