Asterisk Managment Interface (AMI) — мощный интерфейс API для Asterisk, позволяет управлять, выполнять команды, получать уведомления о событиях в реальном времени и т.д.
Для включения Asterisk AMI откроем файл /etc/asterisk/manager.conf в текстовом редакторе и укажем параметры:
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
timestampevents = yes
displayconnects = yes
allowmultiplelogin = yes
webenabled = no
#include "manager.d/*.conf"
Теперь создадим файл настроек для первого пользователя:
sudo nano /etc/asterisk/manager.d/admin.conf
sudo chown asterisk:asterisk /etc/asterisk/manager.d/admin.conf
И добавим в него:
[admin]
secret = IXNFO
deny = 0.0.0.0/0.0.0.0
permit = 127.0.0.1/255.255.255.0
permit = 192.168.2.2/255.255.255.255
permit = 192.168.5.5/255.255.255.255
read = system,call,log,verbose,command,agent,user,config,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config,dtmf,reporting,cdr,dialplan,originate
Где я указал:
admin (логин пользователя)
secret (пароль пользователя)
deny (запрещаем всем доступ)
permit (разрешаем доступ только с указанных IP адресов и сетей)
read и write (определяем права пользователю, я указал все)
Применим изменения:
asterisk -rvvv
module reload manager
manager reload
quit
Убедимся что Asterisk AMI запущен:
netstat -tulpn | grep :5038
Пример просмотра доступных команд, настроек, пользователей, подключенных пользователей, событий:
manager show commands
manager show command NAME
manager show settings
manager show users
manager show connected
manager show events
Включить и отключить режим отладки можно так:
manager set debug on
manager set debug off
Смотрите также мои статьи:
IPTables правила для Asterisk AMI
Прочие статьи статьи о Asterisk