Files
SHiNE-server/TODO/Децентрализация/межсерверные_звонки.md
T

30 lines
1.9 KiB
Markdown

# Межсерверные звонки
## Зачем
В будущем пользователи на разных серверах должны иметь возможность устанавливать звонки так же, как пользователи одного сервера.
## Что сделать
1. Определить протокол межсерверной сигнализации звонков.
2. Добавить маршрутизацию offer/answer/ICE-кандидатов между серверами.
3. Добавить обработку статусов занятости, отказа, таймаута и ошибок маршрута.
4. Добавить диагностику доставки сигналов между серверами.
5. Проверить совместимость с текущими логами `CallDeliveryReport`.
## Что учесть
- Специальная диагностика установки звонков идёт через `CallDeliveryReport`.
- На production важно сохранять поля `reason`, `failureStage`, `pcConnectionState`, `pcIceConnectionState`, `routeLabel`, `configuredTurnHosts*`, `reachableTurnHosts*`.
- Межсерверные звонки не должны ломать текущий односерверный сценарий.
## Документы, которые потом нужно обновить
- `docs/API/`, если добавляются или меняются операции сигнализации;
- документы по звонкам/диагностике, если они будут выделены отдельно;
- deploy-документы, если появятся новые параметры TURN/server-to-server маршрутизации.
## Статус
Отложено до этапа децентрализации.