В данной статье будет рассмотрен модуль Asterisk CLI – Command Line Interface, другими словами – консоль Asterisk. Данный инструмент является многоцелевым и может выполнять следующие функции:
- Получение информации о системных компонентах Asterisk
- Настройка системной конфигурации
- Просмотр логов, ошибок и предупреждений в реальном времени
- Генерация звонков в целях проведения тестов
- Просмотр расширенной документации – для API, приложений, функций, настройки модулей и так далее.
Далее рассмотрим процесс вызова консоли – есть несколько путей.
Через веб-интерфейс FreePBX
Для этого необходимо открыть веб-интерфейс Вашей АТС и далее пройти по следующему пути: Admin –> Asterisk CLI
После этого откроется страница, на которой можно вводить команды.
По SSH
С помощью удаленного доступа – по SSHTelnet с использованием терминала (к примеру, PuTTy). При таком типе подключения необходимо будет ввести логин и пароль, и затем ввести команду:
[root@localhost ~]#asterisk -rvvvv
Примечание: Количество букв «v» означает уровень логирования в CLI. Т.е чем больше букв – тем больше информации будет «сыпаться» на экран.
Как только был получен доступ, возможно будет вывести следующую информацию:
- Телефонные звонки
- Регистрацию абонентов
- Уведомления о появлении новых абонентов
- Запросить перезагрузку системных компонентов (экстеншенов, транков и т.д)
Все команды имеют следующий синтаксис:
module name -> action type -> parameters (Название модуля –> Тип действия -> Параметры)
К примеру – команда sip show peers, которая выведет список зарегистрированных chan_sip абонентов.
Если же ваша АТС работает некорректно – к примеру, Asterisk не стартует вообще, стоит попробовать вызвать консоль с другим набором настроек, которые позволят начать специфическую отладку приложений – логирование порядка загрузки, соединения с базой данной, количества попыток регистрации и прочее.
Кроме того, есть возможность запускать команды CLI без непосредственного ввода команд, описанных выше. Для этого необходимо напрямую обратиться к модулю Asterisk:
[root@localhost ~]#asterisk -rx 'reload now'К примеру, данная команда перезагрузит весь модуль Asterisk.
Самые нужные команды
Ниже будут приведены описания некоторых часто используемых команд:
localhost*CLI>DIALPLAN SHOW \ вывод вашего диалплана (правила маршрутизации вызовов)
localhost*CLI>CORE SHOW TRANSLATION \ вывод таблицы с методами транскодирования кодеков
localhost*CLI>SIP SET DEBUG PEER PHONE_EXT \ запуск отладки определенного экстеншена (с указанием номера экстеншена)
localhost*CLI>SIP SET DEBUG IP PEER_IP \ запуск отладки определенного абонента по его сетевому адресу
localhost*CLI>SIP SET DEBUG OFF \ отключение режима отладки
localhost*CLI>RELOAD \ перезагрузка модуля Asterisk, не всей АТС целиком. Может использоваться после внесения измерений
localhost*CLI>RESTART NOW \ перезагрузка всей системы в целом, может понадобиться если команды reload недостаточно или в целях регулярной плановой перезагрузки.
Главная команда, которую нужно усвоить – help, она выводит все прочие команды. Очень удобный внутренний инструмент.