Asterisk CLI - интерфейс командной строки
cli sip core reload restart show peers registry
asterisk -vvvvvv
Командная строка является мощным инструментом для мониторинга и управления работой 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
- core set verbose <0-9> - порог отображаемой информации.
- core reload - перечитать все конфиги
- core restart gracefully перезагрузить Asterisk по завершению всех текущих вызовов (свободные каналы закрываются)
- core restart now Restart перезагрузить 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} – Enable/Disable PJSIP Logger Output
- pjsip show aors – Show PJSIP Aors
Aor: <Aor..............................................> <MaxContact> Contact: <Aor/ContactUri.................................> <Status....> <RTT(ms)..> ========================================================================================= 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: <Aor..............................................> <MaxContact> Contact: <Aor/ContactUri.................................> <Status....> <RTT(ms)..> ========================================================================================= 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 Enables PRI debugging on a span
- rtp set debug {on|off|ip} Enable/Disable RTP debugging
Тестовый звонок через консоль
Иногда в процессе настройки возникает вопрос «как позвонить из консоли», для того что бы проверить внесенные изменения. С этим может помочь следующая команда:
channel originate Local/НОМЕР@from-internal application echo
В результате выполнения которой будет вызван указанный НОМЕР (замените номером на который хотите позвонить) и после его ответа вызовется приложение echo возвращающее все сказанное.
Простые 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