Звонки и конференции: настройка и эксплуатация
Актуально для: SimpleTwo 0.9.x · Проверено: 20.09.2026
Установка ролей sfu, turn и recorder описана в развёртывании
on-premise. Эта статья — про то, что происходит после: что
администратор настраивает, как ведёт себя пул, кто чем управляет в звонке и куда смотреть,
когда «звонок соединился, а звука нет».
1. Из чего состоит звонок
| Часть | Кто | Что делает |
|---|---|---|
| Сигналинг | messaging | приглашение, звонок, ответ, отбой едут по тому же соединению, что и переписка |
| Пропуск в комнату | координатор | подписывает участнику токен доступа к комнате: что ему можно, на какой срок |
| Медиа | sfu | принимает потоки и пересылает их остальным. Не микширует: каждый получает то, что нужно его экрану |
| Обход NAT | turn | релей для тех, кто иначе не соединится напрямую (порядка 15% участников) |
| Запись | recorder | пишет комнату целиком и кладёт результат в объектное хранилище |
Комната ад-хок-звонка называется по разговору, из которого его начали, а комната встречи — по встрече. Из этого следует практичное: звонок в одном и том же чате всегда попадает в одну и ту же комнату, поэтому право войти туда даёт не имя комнаты, а пропуск с ограниченным сроком, который можно отозвать.
2. Что настраивает администратор
Telephony → Calls & conferences (SFU) — учётные данные медиасервера: API key и API secret. Ими координатор подписывает пропуска; адрес узла берётся из карточки развёртывания, а не вводится второй раз руками.
Settings → Recording — куда складывать записи: endpoint, регион, бакет, ключ доступа,
секрет и префикс. Хранилище — роль s3 или ваше существующее S3-совместимое.
Клиент подключается к SFU напрямую: сигналинг можно спрятать за общий TLS-фронт, а медиа — нет, каждый узел объявляет свои ICE-кандидаты. Если в адресе узла оказался приватный адрес, до которого клиент не дотягивается (типичная установка в DMZ), звонок соединится и будет молчать.
3. Пул SFU
Несколько узлов sfu работают как один медиасервер, а связывает их redis:
- комната живёт на том узле, где её открыли, и пул отвечает, на каком именно. Поэтому второй узел без шины поставить нельзя — установка откажет;