Asterisk CLI - интерфейс командной строки

Asterisk CLI - интерфейс командной строки

Командная строка является мощным инструментом для мониторинга и управления работой Asterisk PBX. При запуске asterisk с флагом -r или -c, появиться следующие приглашение:
# asterisk   -vvvr
*CLI>
Количество ‘v‘ в параметрах задает порог отображаемой информации в консоли для данного подключения. Комбинация -vvvr задаст verbose level 8. Интерфейс командной строки Asterisk имеет свой конфиг – cli.conf
Введите core show help и нажмите enter для получения полного списка команд:
Командная строка поддерживает вывод доступных команд по неполному вводу нажатием ‘Tab‘:
Для получения дополнительной информации о конкретной команде, вы можете ввести core show help <command>. Например:

*CLI> core show help manager
                manager reload Reload manager configurations
    manager set debug [on|off] Show, enable, disable debugging of the manager code
          manager show command Show a manager interface command
         manager show commands List manager interface commands
        manager show connected List connected manager interface users
           manager show eventq List manager interface queued events
         manager show settings Show manager global settings
            manager show users List configured manager users
             manager show user Display information on a specific manager user
*CLI>
Вот некоторые полезные команды:
  • core set verbose <0-9> – порог отображаемой информации
  • core reload – перечитать все конфиги
  • core restart gracefully – перезагрузить Asterisk по завершению всех текущих вызовов (свободные каналы закрываются)
  • core restart now – перезагрузить Asterisk немедленно
  • core restart when convenient – перезагрузить Asterisk если нет разговоров

SIP

  • sip show peers – показать существующие SIP екстеншены и их статус
  • sip show peer 100 – отображает информацию о конкретном SIP екстеншене
  • sip show registry – отображает состояние зарегистрированных транков

PJSIP

  • pjsip set logger {on|off|host} – Включает/отключает вывод лога PJSIP
  • pjsip show aors – Показывает PJSIP Aors
Aor:    
    Contact:      
 =========================================================================================
Aor: 1000 1
Contact: 1000/sip:1000@192.168.1.32:5060;transport=UDP;rin Avail 9.645

Aor: 1001 1

  • pjsip show aor – Show PJSIP Aor
localhost*CLI> pjsip show aor 1000
Aor:
Contact:
=========================================================================================

Aor: 1000 1
Contact: 1000/sip:1000@192.168.1.32:5060;transport=UDP;rin Avail 13.017

ParameterName : ParameterValue
==========================================================================================
authenticate_qualify : false
contact : sip:1000@192.168.1.32:5060;transport=UDP;rinstance=56471484e9cd2c68
default_expiration : 3600
mailboxes :
max_contacts : 1
maximum_expiration : 7200
minimum_expiration : 60
outbound_proxy :
qualify_frequency : 60
remove_existing : true
support_path : false

DAHDI

  • dahdi show status – состояние портов dahdi
  • dahdi show channels – показать существующие каналы
  • pri show spans – отобразить объекты pri и их статус

Кодеки

  • core show translation recalc – расчет перекодировки кодеков

ещё

  • module show like mysql – отобразить загруженные модули содержащие в названии mysql
  • pri set debug {on|off} span 1 – Включается PRI дебаг on a span
  • rtp set debug {on|off|ip} – Включает/отключает RTP дебаг

Простые CLI приемы

Есть несколько трюков, которые помогут вам в интерфейсе командной строки Asterisk. Очень удобно завершение неполного ввода клавишей TAB. Если вы введете начало команды и нажмите клавишу Tab, Asterisk попытается завершить имя команды, или покажет возможные команды, которые начинаются с буквы, которые Вы ввели. Например, введите ‘co‘, а затем нажмите клавишу Tab.

localhost*CLI> co
confbridge  config      core
localhost*CLI> co
Теперь наберите ‘cor‘, и нажмите TAB снова. На этот раз Asterisk завершит слово, т.к. ‘core‘ является единственной командой, которая начинается с ‘cor‘. Этот трюк также работает с под-командами. Например, наберите ‘core show‘ и нажмите TAB. (Возможно, вам придется дважды нажать вкладку, если вы не поставили пробел после слова ‘show‘.) Asterisk покажет вам все под-команды.

localhost*CLI> core show [Tab]
application     applications    calls           channel         channels
channeltype     channeltypes    codec           codecs          config
file            function        functions       hanguphandlers  help
hint            hints           image           license         profile
settings        sound           sounds          switches        sysinfo
taskprocessors  threads         translation     uptime          version
warranty
localhost*CLI> core show

Повторение предыдущих команд.

Для просмотра ранее введенных команд, нажмите стрелочку вверх, таким образом можно пролистать всю историю назад и вперед.

Run Linux Shell Commands from The Asterisk CLI

Восклицательный знак перед командой позволяет предавать команды оболочке Linux.

localhost*CLI> !whoami
root
localhost*CLI>

Asterisk -rx

Иногда удобно дать команду, или получить информацию, не подключаясь непосредственно к консоли. Для этого используется ключ ‘-x‘.
Например, получить список sip пиров:

# asterisk -rx 'sip show peers'
Команда может заключаться, как в одинарные, так и в двойные кавычки.
Также можно отфильтровать полученные данные командой grep:

# asterisk -rx "sip show peers" | grep unreachebale

logger.conf

Консоль является объектом модуля логов в Asterisk. Что должно отображаться в консоли при подключении, настраивается в конфиге logger.conf.