Исправление конфигурации TURN сервера (relay-ip)
Дата: 2026-01-09
Проблема: Ошибка ICE 1010 - тайм-аут согласования соединения
Причина: Неправильная конфигурация relay-ip в TURN сервере
Проблема
Пользователи получают ошибку:
- "Попытка переподключения аудио. Тайм-аут согласования соединения (Ошибка ICE 1010)"
- "Обнаружена потеря соединения и звук не появляется"
В логах TURN сервера видны таймауты:
INFO: session ... closed (2nd stage), reason: allocation timeout
Причина
Для серверов, находящихся за NAT, конфигурация TURN сервера должна быть следующей:
- external-ip - внешний IP адрес (для STUN)
- relay-ip - внутренний IP адрес контейнера (для relay трафика)
Неправильная конфигурация relay-ip приводит к тому, что TURN сервер не может ретранслировать трафик между клиентами.
Решение
1. Исправление конфигурации TURN сервера
Файл: /etc/turnserver.conf
Исправления:
listening-port=3478
listening-ip=0.0.0.0
external-ip=89.179.242.240
relay-ip=10.218.14.37
min-port=32769
max-port=65535
static-auth-secret=8e3f6c01a3bbac78ad826d04c03cd4ab3de2fba747943005af2427e7865a09fa
realm=school.cdto.life
Важно:
- external-ip=89.179.242.240 - внешний IP для STUN
- relay-ip=10.218.14.37 - внутренний IP контейнера для relay трафика
2. Перезапуск TURN сервера
lxc exec BBB-CONT22-1 -- systemctl restart coturn
lxc exec BBB-CONT22-1 -- systemctl status coturn
3. Проверка портов на роутере
Убедитесь, что на роутере проброшены следующие порты:
- 3478 UDP/TCP - TURN сервер
- 32769-65535 UDP - relay порты для TURN
Автоматизация
Скрипт для автоматического исправления:
/home/cdto/DENKART/scripts/fix-bbb-turn-relay-ip.sh
Использование:
./scripts/fix-bbb-turn-relay-ip.sh [BBB_CONTAINER] [CONTAINER_IP] [EXTERNAL_IP]
Пример:
./scripts/fix-bbb-turn-relay-ip.sh BBB-CONT22-1 10.218.14.37 89.179.242.240
Проверка
1. Проверка конфигурации TURN сервера
lxc exec BBB-CONT22-1 -- cat /etc/turnserver.conf | grep -E "relay-ip|external-ip"
Ожидаемый результат:
external-ip=89.179.242.240
relay-ip=10.218.14.37
2. Проверка статуса TURN сервера
lxc exec BBB-CONT22-1 -- systemctl status coturn
Ожидаемый результат: Active: active (running)
3. Проверка логов TURN сервера
lxc exec BBB-CONT22-1 -- tail -f /var/log/turnserver/turnserver.log
Ожидаемый результат: Успешные подключения без таймаутов
4. Проверка работы в браузере
- Откройте BigBlueButton в браузере
- Подключитесь к конференции с микрофоном
- Откройте
about:webrtcв Firefox - Проверьте, что используются TURN candidates
- Проверьте, что соединение стабильно
Связанные исправления
- FreeSWITCH конфигурация (
external_rtp_ip,external_sip_ip) -
См.
/home/cdto/DENKART/docs/operations/bbb-audio-fix.md -
mediasoup конфигурация (
webrtc.announcedIp,plainRtp.listenIp) -
См.
/home/cdto/DENKART/docs/operations/bbb-ice-1010-fix.md -
TURN сервер в bbb-webrtc-sfu
- См.
/home/cdto/DENKART/docs/operations/bbb-ice-1010-turn-fix.md
Примечания
- Для серверов за NAT
relay-ipдолжен быть внутренним IP - Для серверов без NAT
relay-ipможет быть внешним IP - Порты для relay (32769-65535) должны быть проброшены на роутере
- TURN сервер необходим для обхода ограничений NAT
Следующие шаги
- Протестируйте звук в BigBlueButton
- Проверьте логи TURN сервера на наличие ошибок
- Если проблема сохраняется:
- Проверьте порты на роутере
- Проверьте файрвол
- Проверьте логи bbb-webrtc-sfu