Основные команды для просмотра состояния SIP/PJSIP

Администратор, работающий только через графический интерфейс FreePBX, видит лишь статичную картину с задержкой. Чтобы понимать процессы изнутри и оперативно диагностировать связь, нужно использовать CLI Asterisk (Command Line Interface). Это консоль, которая показывает жизнь АТС в реальном времени.

Ранее мы настроили логирование в файлы. Теперь перейдем к активной работе: научимся запрашивать статусы регистраций, проверять доступность оборудования и находить сетевые проблемы до того, как посыпались жалобы от пользователей.

Подключение к консоли

Чтобы вводить команды, нужно войти в оболочку Asterisk из терминала Linux. Используйте команду с флагами детализации:

asterisk -rvvv
  • -r (remote) — подключение к запущенному процессу Asterisk.
  • -vvv (verbose) — уровень детализации. Чем больше букв v, тем подробнее консоль описывает события.

Диагностика стека PJSIP

PJSIP — современный и основной драйвер для SIP-телефонии. Его архитектура объектная, поэтому данные в консоли структурированы четче, чем в старом драйвере.

Проверка абонентов и транков

Для проверки состояния внутренних номеров и внешних линий используйте команду pjsip show endpoints. Она выводит список всех «конечных точек» (телефонов, шлюзов, транков).

Как показано в Сравнении 1, статус в консоли прямо указывает на готовность устройства.

Регистрация у провайдера

Чтобы проверить, авторизовалась ли ваша АТС на сервере оператора, используйте команду pjsip show registrations.


Работа с Legacy: chan_sip

Старый драйвер chan_sip все еще встречается при поддержке устаревшего оборудования или специфических транков.

Проверка пиров

Для этого стека используйте команду sip show peers. Она выводит таблицу всех настроенных устройств (пиров).

Пример проблемного вывода:

Name/username             Host            Dyn Forcerport ACL Port     Status      
102/102                   (Unspecified)    D  Yes        A  0        UNKNOWN

Статус UNKNOWN и Host (Unspecified) означают, что телефон не зарегистрирован. Возможные причины: неверный пароль, блокировка порта 5060 файрволом или ошибки в сетевых настройках самого аппарата.

Проверка внешних регистраций

Для контроля связи с провайдерами в старом стеке введите sip show registry. В колонке State должно быть Registered.


Фильтрация и быстрые команды

Когда в системе сотни абонентов, искать информацию в общем списке неудобно. Используйте уточняющие команды:

  1. Детальная информация по номеру: pjsip show endpoint 101 — покажет настройки NAT, разрешенные кодеки и параметры безопасности для конкретного устройства.
  2. Фильтрация через системные утилиты: Вы можете использовать инструменты Linux, не выходя из CLI Asterisk (через символ !): ! asterisk -rx "pjsip show endpoints" | grep Unavailable — выведет только те устройства, которые сейчас не в сети. 🔍

Практическое задание: Войдите в CLI вашей АТС и выполните:

  1. Найдите основной SIP-транк в списке pjsip show registrations. Убедитесь, что он в статусе Registered.
  2. Выведите подробные данные по любому активному внутреннему номеру через pjsip show endpoint [номер]. Найдите строку Identify, чтобы понять, как Asterisk идентифицирует это устройство.

Мы научились проверять, кто находится в сети. Однако успешная регистрация не гарантирует прохождение вызова. В следующем уроке мы разберем анализ активных вызовов и диалплана, чтобы видеть, как сигнал проходит внутри системы и где он может застрять.

Понравился урок?

Сохраните прогресс и получите персональный курс по любой теме — без форм и паролей

Продолжить в Telegram