Skip to content

Обеспечение доступности сервиса

Для того, чтобы клиенты могли подключиться к серверу, звонить/проводить конференции нужно обеспечить сетевую доступность сервиса.

Принцип работы

Порты системы видеоконференцсвязи

Сервис слушает один TCP порт, на котором отдается сервисный вебсайт (панель управления сервером, страницы конференций), а также через websocket подключаются клиенты. В случае недоступности UDP портов, AV трафик также будет передаваться через этот порт.

Передача AV трафика производится на некотором множестве UDP портов, каждый такой порт обслуживается AV транслятором сервиса. Для проведения видеоконференций с большим числом участников, нужно что-бы число этих AV трансляторов было не меньше числа ядер процессора машины на которой выполняется сервис. Например, для проведения конференции на 100 одновременных участников желательно не менее 16 AV трансляторов.

Для браузерных WebRTC-клиентов дополнительно используется отдельный UDP-диапазон WebRTC Gateway. Эти порты не являются портами AV-трансляторов: на них приходят ICE/DTLS/SRTP с браузера, после чего сервер связывает WebRTC media с существующим media core.

NAT

В случае, если сервер находится внутри сети, за NAT роутером, для подключения внешних клиентов, требуется пробросить все порты, с теми же номерами на роутере.

Проброс портов видеоконференцсвязь

Что должно быть доступно клиентам

Назначение Обычно используется
Панель, страницы конференций, API, WebSocket/WSS 443/tcp
AV-трансляторы UDP-диапазон сервера, например 5060-5063/udp
WebRTC Gateway для браузеров UDP-диапазон WebRTC, например 43000-43100/udp
Выпуск Let's Encrypt 80/tcp, если используется HTTP-01 challenge

Точный набор UDP-портов зависит от числа AV-трансляторов и настроек WebRTC Gateway. Если трансляторов больше четырех, откройте весь настроенный диапазон. Для WebRTC откройте диапазон WebRTC.PortRangeBegin / WebRTC.PortRangeEnd.

Проверка доступности

Проверяйте доступность не только с самого сервера, но и с внешнего компьютера:

curl -I https://<адрес_сервера>

Если web-страница открывается, но аудио или видео нестабильны, проверьте UDP-порты. Частая ситуация: TCP-порт открыт, а UDP закрыт в security group облачного провайдера.

Для браузерного WebRTC отдельно проверьте:

  • внешний адрес, который сервер отдает в ICE candidate;
  • проброс UDP-диапазона WebRTC на VideoGrace Server;
  • отсутствие подмены портов на NAT, если используется ограниченный port range.

Публичный сервер с доменом

Для публичной установки используйте DNS-имя и доверенный TLS-сертификат. Это важно для браузерных клиентов и для доверия пользователей к странице подключения.

Пошаговая инструкция: развертывание на VPS со своим доменом и Let's Encrypt.

Типовые ошибки

Симптом Причина
Сервер открывается локально, но не из интернета закрыт firewall ОС или облачного провайдера
Браузер показывает ошибку сертификата адрес сервера не совпадает с TLS-сертификатом
Клиенты подключаются, но нет медиа закрыты UDP-порты трансляторов
Web-клиент подключается, но WebRTC не выходит в connected закрыт UDP-диапазон WebRTC или неверный внешний адрес ICE
Работает только в одной сети NAT, корпоративный firewall или неверный внешний адрес

Далее: Подключение клиентов к системе