Интерфейс управления Asterisk, или как его еще называют Asterisk Manager Interface (AMI) — это интерфейс для управления вашей IP-АТС внешними приложениями, отправки команд или получения различных телефонных событий. Часто этот интерфейс используется для дополнения 1С и астериска, что позволяет принимать звонки на интерфейс 1С, совершать звонки, вызывать карточку клиента при входящем звонке и так далее.
Разберем настройку данного интерфейса и параметров подключения к нему на примере настройки через графический интерфейс администратора FreePBX 13 и через консоль сервера (CLI) в настройках CentOS
НАСТРОЙКА AMI В FREEPBX
В верхнем меню навигации, выберите вкладку Settings и далее перейдите в раздел Asterisk Managers, как указано на скриншоте ниже:

Далее, для того, чтобы добавить нового пользователя, нажмите на кнопку Add Manager:

Откроется окно настройки нового пользователя. Разберем каждый пункт отдельно:

Следующим шагом будет настройка прав данного пользователя. Для этого, необходимо перейти во вкладку Rights

По окончанию настроек нажмите Submit
НАСТРОЙКА AMI В CLI
Сделаем тоже самое, но через консоль CentOS. Для этого, необходимо подключиться к серверу по SSH и выполнить следующие итерации:
Теперь, после настроек, проверим подключение к AMI через созданного пользователя. Для этого, через консоль сервера сделаем подключение по протоколу telnet на порт 5038, который указан в секции [general] в параметре Port, конфигурационного файла manager.conf :
[root@localhost ~]# telnet localhost 5038
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/2.8.0
Action: login
Username: test
Secret: P@ssw0rd
Response: Success
Message: Authentication accepted
Готово. Ответом на подключения является сообщение Success. Это означает, что интерфейс настроен и готов к работе.
Разберем настройку данного интерфейса и параметров подключения к нему на примере настройки через графический интерфейс администратора FreePBX 13 и через консоль сервера (CLI) в настройках CentOS
НАСТРОЙКА AMI В FREEPBX
В верхнем меню навигации, выберите вкладку Settings и далее перейдите в раздел Asterisk Managers, как указано на скриншоте ниже:

Далее, для того, чтобы добавить нового пользователя, нажмите на кнопку Add Manager:

Откроется окно настройки нового пользователя. Разберем каждый пункт отдельно:

- Manager Name - Имя пользователя AMI. Не должно содержать в себе пробелы.
- Manager Secret - Пароль для пользователя AMI.
- Deny - В данном поле вы можете указать IP – адрес и маску подсети, с которых необходимо запретить подключение к AMI по указанным данным. Если хотите указать несколько подсетей, то используйте символ &. Например, 192.168.1.0/255.255.255.0&192.168.2.0/255.255.255.0
- Permit - Укажите IP – адрес и маску подсети, с которых разрешено подключение к AMI через этого пользователя. Синтаксис аналогичен как и в поле Deny.
- Write Timeout - Укажите таймаут, который будет использовать Asterisk при записи данных через данную AMI учетную запись. По умолчанию, период равен 100 миллисекунд.
Следующим шагом будет настройка прав данного пользователя. Для этого, необходимо перейти во вкладку Rights

По окончанию настроек нажмите Submit
НАСТРОЙКА AMI В CLI
Сделаем тоже самое, но через консоль CentOS. Для этого, необходимо подключиться к серверу по SSH и выполнить следующие итерации:
Делаем следующие настройки в секции [general]:[root@localhost ~]# vim /etc/asterisk/manager.conf //подключаемся к конфигурационному файлу manager.conf
Переходим к настройке самого пользователя. Для этого, под секцией [general] необходимо создать нового пользователя. Дадим ему имя – test с паролем P@ssw0rd :[general]
enabled = yes //включает AMI
port = 5038 //порт для подключения к AMI интерфейсу
bindaddr = 0.0.0.0 //откуда принимать подключения (по умолчанию, 0.0.0.0 – разрешено подключаться со всех адресов)
displayconnects=no ; //отображать ли подключения к Asterisk в командной строке
По окончанию настроек, нажмите комбинацию клавиш :x! для сохранения файла. После этого, введите команду:[test] //аналогично полю Manager Name в FreePBX
secret = P@ssw0rd //аналогично полю Manager Secret
deny=0.0.0.0/0.0.0.0 //аналогично полю Deny
permit=127.0.0.1/255.255.255.0 //аналогично полю Permit
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
writetimeout = 5000 //аналогично полю Write Timeout
ПРОВЕРЯЕМ ПОДКЛЮЧЕНИЯ К AMI[root@localhost ~]# asterisk -rx "core restart now"
Теперь, после настроек, проверим подключение к AMI через созданного пользователя. Для этого, через консоль сервера сделаем подключение по протоколу telnet на порт 5038, который указан в секции [general] в параметре Port, конфигурационного файла manager.conf :
[root@localhost ~]# telnet localhost 5038
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/2.8.0
Action: login
Username: test
Secret: P@ssw0rd
Response: Success
Message: Authentication accepted
Готово. Ответом на подключения является сообщение Success. Это означает, что интерфейс настроен и готов к работе.