SHA256
Обновить диагностику звонков и документацию деплоя
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Исправление завершения звонка и таймаутов ACK
|
||||
|
||||
## Краткое описание
|
||||
|
||||
Исправлена клиентская логика звонков:
|
||||
- входящий экран теперь должен закрываться сразу при `remote_hangup`;
|
||||
- после нажатия `Ответить` добавлен таймаут ожидания стадии `connecting`, чтобы окно не висело бесконечно;
|
||||
- исходящий таймаут ожидания ACK больше не обрывает звонок слишком рано, если invite уже был доставлен.
|
||||
- в локальный app log клиента добавлен точный timeline по этапам звонка: invite, выбор remoteSessionId, accept/offer/answer, ICE, смены `RTCPeerConnection` и финализация.
|
||||
- добавлена явная диагностика `SESSION_NOT_FOUND` для звонковых сигналов: отдельный timeline-этап в клиенте и отдельный серверный warn-лог.
|
||||
|
||||
## Что проверять
|
||||
|
||||
- Если исходящая сторона завершила звонок, входящее окно у второй стороны закрывается сразу.
|
||||
- Если принять входящий звонок, а соединение/offer не приходит, экран не висит бесконечно и сам завершается по таймауту.
|
||||
- Если invite был доставлен, исходящий звонок не падает через 10 секунд раньше времени только из-за медленного ACK.
|
||||
- В app log по звонку видна последовательность этапов с локальными `+N ms`, по которой можно понять, где именно образуется задержка или гонка.
|
||||
- Если сигнал звонка не дошёл до целевой сессии, это явно видно и в клиенте, и в серверном логе.
|
||||
|
||||
## Ожидаемый результат
|
||||
|
||||
- Нет бесконечно висящего окна `Соединяем…` на принимающей стороне.
|
||||
- В логах вместо преждевременного `no_ack_10s` для уже доставленного invite появляется более поздний таймаут.
|
||||
- При `remote_hangup` звонок визуально завершается сразу.
|
||||
- По каждому проблемному звонку есть локальный timeline и тот же краткий timeline попадает в `CallDeliveryReport`.
|
||||
- В серверных логах есть строка `CALL_SIGNAL_SESSION_NOT_FOUND ...` с `callId`, `targetSessionId` и количеством активных сессий адресата.
|
||||
|
||||
## Статус
|
||||
|
||||
`pending`
|
||||
Reference in New Issue
Block a user