Перейти к содержимому

Звонок не прошёл, и CDR не объясняет почему

Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию

CDR фиксирует результат звонка; SIP-лог фиксирует сам разговор между сторонами. Когда одного кода недостаточно, чтобы объяснить сбой, поток сообщений показывает, какая сторона что сказала и когда. SIP Logs Viewer (просмотрщик SIP-логов) извлекает сигнализацию одного звонка по его Call-ID и показывает её в виде диаграммы последовательности (ladder diagram).

  • Звонок не прошёл или вёл себя странно: например, оборвался через 30 секунд, звонил, но так и не соединился, или был без звука.
  • Код в CDR общий, например 500, 503 или 408, или у звонка вообще нет CDR.
  • Reports → Calls не даёт однозначного Diagnosis (диагноз).
  1. Сначала найдите звонок в Reports → Calls: его карточка содержит каждую попытку к вендорам с кодами, PDD и тем, кто завершил звонок.
  2. Откройте Call Details (детали звонка) и посмотрите Release Source (сторона, завершившая звонок), PDD и SDP Records: многие проблемы с медиа и тайм-аутами видны уже там.
  3. Убедитесь, что звонок недавний: SIP-логи ротируются через несколько дней, и старые звонки извлечь невозможно.

SIP Logs Viewer доступен корневому клиенту.

  1. Найдите звонок в Reports → Call Records (CDRs) или Vendors Call Records и скопируйте его Call-Id из Call Details. Для звонка без CDR возьмите Call-ID с устройства или АТС звонившего абонента.
  2. Нажмите Options → Queue SIP Log Extraction в строке или Extract SIP Log в развёрнутом представлении маршрутизации строки и подтвердите действие. Нажмите Open SIP Logs в подтверждении.
  3. Либо откройте Tools & Debugs → SIP Logs Viewer, введите Call-Id и Description (описание) в разделе Add Extracting Task (добавить задание на извлечение) и нажмите Add.
  4. Дождитесь, пока Status сменится с Extracting на Completed. Список обновляется сам.
  5. Нажмите View Log, чтобы увидеть диаграмму последовательности, или Get Log, чтобы скачать необработанные сообщения.
Screenshot "troubleshooting/sip-logs-viewer" has not been generated yet — see scripts/screenshots/screens.yml.

Not Found означает, что лог больше не содержит этого звонка (обычно потому, что лог ротирован) или что Call-ID неверный. Фильтруйте список по Start Date и End Date; по умолчанию показывается последняя неделя. Delete удаляет задание, которое вам больше не нужно.

Причина 1: звонок так и не дошёл до коммутатора

Заголовок раздела «Причина 1: звонок так и не дошёл до коммутатора»

Как подтвердить: извлечение недавнего звонка завершается с Not Found, и в Calls нет записи о нём.

Решение: INVITE потерялся ещё до коммутатора. Проверьте фаервол коммутатора (System Management → IP Firewall), маршрутизацию клиента к вашему IP-адресу и любой роутер с SIP ALG на пути. Смотрите Устройства теряют регистрацию или имеют односторонний звук.

Как подтвердить: диаграмма показывает INVITE от абонента и окончательный ответ коммутатора без единого INVITE к вендорам. Код ответа соответствует отрицательному внутреннему коду в CDR или ошибке аутентификации.

Решение: найдите код на странице Звонки завершаются с кодом ошибки SIP и воспроизведите звонок в Test Dialplan с CLI, CLD и адресом источника из INVITE.

Причина 3: вендор отклонил звонок или не ответил

Заголовок раздела «Причина 3: вендор отклонил звонок или не ответил»

Как подтвердить: диаграмма показывает INVITE к одному или нескольким адресам вендоров и их ответы. 100 Trying, после которого ничего нет вплоть до CANCEL, означает, что истекли тайм-ауты; быстрый 403 или 503 приходит со стороны вендора.

Решение: отправьте вендору Call-ID, время и его ответ. Настройте Reply Timeout, 1xx Timeout и 2xx Timeout или переместите вендора ниже в группе маршрутизации, пока проблему не исправят.

Причина 4: звонок соединился, но медиа не прошло

Заголовок раздела «Причина 4: звонок соединился, но медиа не прошло»

Как подтвердить: звонок доходит до 200 OK и ACK, но завершается BYE примерно через 30 или 60 секунд, или пользователи жалуются на тишину. SDP на диаграмме содержит частные адреса, например 192.168.x.x, или кодеки, которые не совпадают.

Решение: включите Use Media Relay (использовать медиа-реле) в подключении или Media Relay Type (тип медиа-реле) в аккаунте, проверьте, что порты релея открыты в фаерволе, и отключите SIP ALG на задействованных роутерах. Смотрите Медиа-реле.

Соберите следующую информацию и создайте обращение на support.flysip.com:

  • Call-ID и время звонка.
  • SIP-лог, скачанный через Get Log.
  • Аккаунт, CLI и CLD, а также что слышал абонент.