prefixkit Вопрос инженеруСпросить Поддержать EN

Телефония

Проверка TURN и STUN сервера

Проверьте свой TURN или STUN сервер прямо из браузера: выдаёт ли он relay-адреса по UDP, TCP и TLS, принимает ли логин, сколько отвечает. Поддерживает временные пароли coturn (use-auth-secret). Данные никуда не отправляются.

Проверка идёт из вашего браузера через WebRTC: логин, пароль и секрет не покидают страницу. Результат зависит от вашей сети — если у вас закрыт UDP, проверьте ещё с мобильного интернета.

Зачем нужен TURN

WebRTC-звонки и софтфоны сначала пытаются соединиться напрямую. STUN подсказывает внешний адрес, но если у одной из сторон симметричный NAT или корпоративный межсетевой экран, напрямую не получится — звук пойдёт только через TURN-ретранслятор. Без рабочего TURN такие звонки соединяются без звука или не соединяются вовсе. Свой тип NAT — тест NAT.

Что значат результаты

  • relay — сервер выделил адрес-ретранслятор: TURN работает с этим транспортом.
  • srflx — ваш внешний адрес, который сообщил STUN.
  • 401 — сервер ответил, но не принял логин. 701 или пусто — ответа нет.

Минимальный coturn

# /etc/turnserver.conf
listening-port=3478
tls-listening-port=5349
external-ip=203.0.113.10
realm=turn.example.com
use-auth-secret
static-auth-secret=длинный-случайный-секрет
cert=/etc/letsencrypt/live/turn.example.com/fullchain.pem
pkey=/etc/letsencrypt/live/turn.example.com/privkey.pem
min-port=49160
max-port=49200
no-multicast-peers
denied-peer-ip=10.0.0.0-10.255.255.255
denied-peer-ip=192.168.0.0-192.168.255.255
denied-peer-ip=172.16.0.0-172.31.255.255

Откройте на сервере 3478 UDP/TCP, 5349 TCP и диапазон 49160–49200 UDP. Строки denied-peer-ip не дают использовать ваш TURN как вход во внутреннюю сеть. Размер сервера — подбор сервера.

Идея?