Обрыв звонка voice AI: как восстановить статус операции
Обрыв голосовой связи не означает, что начатая бизнес-операция отменена. Если запись на услугу уже сохранилась, повтор всего сценария после восстановления может создать дубль. Храните состояние разговора отдельно от результата действия.
Проследите момент неопределённости
Учебная последовательность: пользователь подтвердил время, инструмент сохранил запись, затем соединение оборвалось до озвучивания результата. При повторном входе человек спрашивает, получилось ли. Правильный следующий шаг — проверить прежнюю операцию, а не автоматически создать новую.
| Состояние | Как продолжить |
|---|---|
| Действие не запускалось | Возобновить согласование |
| Действие выполняется | Уточнить статус по ID |
| Действие завершено | Сообщить проверенный результат |
| Результат неизвестен | Не обещать успех и не повторять вслепую |
Что нужно сохранить до обрыва
Минимально полезны ID разговора, владелец, подтверждённые параметры и ID операции. Аудиозапись сама по себе не даёт удобного способа узнать, была ли сохранена запись. У исполнителя операции должен быть собственный источник статуса.
Новая сессия связи не обязана означать новую бизнес-задачу. При восстановлении связывайте их по проверенному контексту и владельцу. Нельзя выдавать результат только по известному клиенту номеру операции без проверки права его читать.
Проверки на управляемых сбоях
Оборвите тестовый канал до вызова инструмента, во время ожидания и после успешной записи. Для каждого случая восстановите разговор и проверьте число созданных объектов. Затем повторите событие завершения сессии: обработчик не должен повторно менять результат.
Различайте технический reconnect и новый звонок с новым намерением. Если человек действительно хочет вторую запись, это новая подтверждённая операция. Система не должна блокировать её только из-за совпадения части данных.
События голосового фреймворка помогают определить обрыв и завершение сессии, но не заменяют протокол работы вашего календаря или CRM. В интерфейсе поддержки показывайте оба статуса: что стало с разговором и что стало с действием.
Этот разбор подготовлен Latorn. Если вы уже знаете основы Python и API и хотите практиковать такие решения системно, сравните программу платного курса Voice AI Agents PRO со своей задачей. Открытый пример выше можно проверить самостоятельно; он не заменяет полный проект.
Технические источники: LiveKit events. Учебные ситуации и числа в статье придуманы для объяснения механизма.
Следующий шаг: Голосовые AI-агенты: диагностика диалога и аудио. По смежным вопросам: Аудиоочередь voice AI растёт: как найти backpressure, Voice RAG: как произносить ссылки на источники.
