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
|
log-file=stdout
|
||||||
simple-log
|
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-сети
|
# Внешний IP сервера — обязателен для клиентов вне docker-сети
|
||||||
# (network_mode: host здесь не даёт coturn определить публичный IP
|
# (network_mode: host здесь не даёт coturn определить публичный IP
|
||||||
# автоматически). Для локальной разработки (без внешних участников)
|
# автоматически). Для локальной разработки (без внешних участников)
|
||||||
|
|||||||
@@ -374,6 +374,19 @@ state: connected`, но собеседник не видит видео/не с
|
|||||||
`docker logs vidconf-coturn-1 --since 10m 2>&1 | grep -ci allocate`.
|
`docker logs vidconf-coturn-1 --since 10m 2>&1 | grep -ci allocate`.
|
||||||
Ноль при живом звонке из-за NAT означает, что до coturn не дошли —
|
Ноль при живом звонке из-за NAT означает, что до coturn не дошли —
|
||||||
смотрите ufw и `TURN_EXTERNAL_IP`.
|
смотрите 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)
|
### TURN over TLS (порт 5349)
|
||||||
|
|
||||||
@@ -457,7 +470,11 @@ compose-файле): копирует `fullchain.pem`/`privkey.pem` в свой
|
|||||||
8. Провести звонок, принудительно загнав клиента в relay-режим (ICE
|
8. Провести звонок, принудительно загнав клиента в relay-режим (ICE
|
||||||
transport policy `relay` в браузере), и убедиться, что аллокации в
|
transport policy `relay` в браузере), и убедиться, что аллокации в
|
||||||
`docker logs vidconf-coturn-1` растут именно через TLS-соединение, а
|
`docker logs vidconf-coturn-1` растут именно через TLS-соединение, а
|
||||||
обычный TURN на 3478 продолжает работать для остальных клиентов.
|
обычный TURN на 3478 продолжает работать для остальных клиентов
|
||||||
|
(с `verbose`, см. предупреждение в п.4 выше, каждая аллокация видна
|
||||||
|
отдельной строкой `ALLOCATE processed, success` — можно отличить
|
||||||
|
TLS-сессию от обычной по времени и по тому, что порт входящего
|
||||||
|
соединения — 5349).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user