Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

ASTERISK_CLI_DEBUG IP-Телефония и СКУД

Секреты Asterisk CLI: подробный логгинг SIP и PJSIP для поиска причин обрыва звонков

Обновлено: 26.08.2026 · Официальная документация ↗
  • Звонки абонентов внезапно обрываются во время разговора, и непонятно, кто инициатор сброса.
  • IP-телефон не может зарегистрироваться на АТС, выдавая неизвестную ошибку.
  • Необходимо в реальном времени увидеть полные заголовки SIP-пакетов (INVITE, 200 OK, BYE, CANCEL).

1. Как подключиться к консоли Asterisk CLI

Подключитесь к вашему серверу IP-АТС по SSH под пользователем root и выполните команду входа в интерактивную консоль управления:

asterisk -rvvvvv

(Количество букв «v» задает уровень подробности вывода сообщений — Verbosity).

2. Включение подробного логгинга для современного драйвера PJSIP

Внутри консоли Asterisk введите команды:

# Включить полный вывод всех SIP-пакетов в консоль
pjsip set logger on

# Включить фильтрацию дебага только по конкретному номеру (например, 101)
pjsip set logger host 192.168.1.50

# Отключить логгирование после завершения диагностики
pjsip set logger off

3. Включение логгинга для старого драйвера Chan_SIP

# Включить дебаг для всех пакетов
sip set debug on

# Включить дебаг только для IP-адреса провайдера
sip set debug ip 10.20.30.40

# Отключить дебаг
sip set debug off

4. Как читать основные SIP-сигналы в логе при обрыве звонка

  • INVITE → начальный запрос на установку соединения;
  • 100 Trying → сервер начал обработку звонка;
  • 180 Ringing → у вызываемого абонента пошли гудки;
  • 200 OK → абонент поднял трубку, разговор начался;
  • BYE → одна из сторон повесила трубку (в заголовке From указано, кто именно нажал кнопку отбоя);
  • CANCEL → звонящий сбросил вызов до того, как ему ответили.
💡 Практика специалистов: Никогда не оставляйте команду 'pjsip set logger on' включенной на нагруженных серверах в постоянном режиме. При большом количестве одновременных вызовов непрерывная запись миллионов строк в лог-файл быстро забьет диск /var/log и приведет к зависанию всей системы.

Частые вопросы (FAQ)

Как сохранить лог звонка в текстовый файл для отправки техподдержке провайдера?

Включите запись в файл через Linux-команду: 'asterisk -rx "pjsip set logger on" && tail -f /var/log/asterisk/full > /tmp/sip_debug.log'. Воспроизведите звонок и нажмите Ctrl+C.

Почему консоль завалена тысячами сообщений, мешающими читать логи?

Уменьшите уровень детализации вывода командной: 'core set verbose 1' и 'core set debug 0'.

Как увидеть статус всех активных телефонных трубок в PJSIP?

Выполните в консоли команду: 'pjsip show endpoints' — вы увидите список всех внутренних номеров, их IP-адреса и текущий статус доступности (Available / Unavailable).

Что означает строка 'Reason: Q.850;cause=16' в пакете BYE?

Код Q.850 Cause 16 означает 'Normal call clearing' — абсолютно нормальное штатное завершение разговора по инициативе одного из собеседников (нажатие кнопки 'Положить трубку').

Полезные материалы
Рекомендуем