fix(coturn): verbose-логирование — иначе ALLOCATE/CreatePermission не видны в docker logs
Дефолтный simple-log в coturn не пишет построчно ALLOCATE/CreatePermission/ Refresh даже при реально работающем relay (найдено на релизе 0.0.22: рабочий звонок через TURN, но grep -ci allocate по логам coturn = 0, подтверждение пришлось брать из логов LiveKit). Добавлен флаг verbose (умеренный режим, не Verbose/-V — тот слишком шумный). DEPLOYMENT.md предупреждает, что проверка через grep -ci allocate надёжна только с этим флагом.
This commit is contained in:
@@ -44,6 +44,17 @@ pkey=/etc/coturn/certs/key.pem
|
||||
log-file=stdout
|
||||
simple-log
|
||||
|
||||
# Умеренная verbose-логика (`-v`/`verbose` в терминах coturn, НЕ
|
||||
# `Verbose`/`-V` — тот режим сам coturn документирует как "very annoying",
|
||||
# построчный дамп пакетов). Без этого флага дефолтный уровень логов не
|
||||
# печатает ни строки на ALLOCATE/CreatePermission/Refresh, даже когда TURN
|
||||
# реально обслуживает relay — проверено на релизе 0.0.22 (`docker logs
|
||||
# vidconf-coturn-1 | grep -ci allocate` = 0 при живом рабочем звонке,
|
||||
# подтверждение пришлось брать из логов LiveKit). С этим флагом coturn
|
||||
# печатает по сессии: create/delete allocation, create permission, refresh —
|
||||
# достаточно, чтобы дальше проверять относительно скромный вывод.
|
||||
verbose
|
||||
|
||||
# Внешний IP сервера — обязателен для клиентов вне docker-сети
|
||||
# (network_mode: host здесь не даёт coturn определить публичный IP
|
||||
# автоматически). Для локальной разработки (без внешних участников)
|
||||
|
||||
@@ -374,6 +374,19 @@ state: connected`, но собеседник не видит видео/не с
|
||||
`docker logs vidconf-coturn-1 --since 10m 2>&1 | grep -ci allocate`.
|
||||
Ноль при живом звонке из-за NAT означает, что до coturn не дошли —
|
||||
смотрите ufw и `TURN_EXTERNAL_IP`.
|
||||
⚠️ **Эта проверка работает только с `verbose` в
|
||||
`deploy/coturn/turnserver.conf.template`** (включён по умолчанию). Без
|
||||
этого флага coturn пишет в лог только служебные строки старта
|
||||
(листенеры, `Total auth threads`) и НИКОГДА не логирует
|
||||
ALLOCATE/CreatePermission/Refresh — `grep -ci allocate` даёт `0` даже
|
||||
когда relay реально обслуживает звонок. Это не гипотеза: на релизе
|
||||
0.0.22 именно так и обнаружили — рабочий relay-звонок (LiveKit
|
||||
`connectionType: turn`, реальные relay-кандидаты в `49160-49200`) при
|
||||
дефолтном `simple-log` без `verbose` дал `grep -ci allocate` = `0`,
|
||||
подтверждение пришлось брать из логов LiveKit. Если ваш конфиг старее
|
||||
и `verbose` в нём нет — добавьте флаг, перерендерите
|
||||
(`./deploy/render-templates.sh`) и пересоздайте `coturn`, прежде чем
|
||||
доверять этой проверке.
|
||||
|
||||
### TURN over TLS (порт 5349)
|
||||
|
||||
@@ -457,7 +470,11 @@ compose-файле): копирует `fullchain.pem`/`privkey.pem` в свой
|
||||
8. Провести звонок, принудительно загнав клиента в relay-режим (ICE
|
||||
transport policy `relay` в браузере), и убедиться, что аллокации в
|
||||
`docker logs vidconf-coturn-1` растут именно через TLS-соединение, а
|
||||
обычный TURN на 3478 продолжает работать для остальных клиентов.
|
||||
обычный TURN на 3478 продолжает работать для остальных клиентов
|
||||
(с `verbose`, см. предупреждение в п.4 выше, каждая аллокация видна
|
||||
отдельной строкой `ALLOCATE processed, success` — можно отличить
|
||||
TLS-сессию от обычной по времени и по тому, что порт входящего
|
||||
соединения — 5349).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user