Интерфейс управления Asterisk, или как его называют Asterisk Manager Interface (AMI) представляет собой интерфейс для управления вашей IP – АТС внешними приложениями, путем передачи команд или получения различных телефонных событий. Зачастую, данный интерфейс используется для интеграции 1С и asterisk, что позволяет принимать звонки в интерфейсе 1С, выполнять вызовы, подтягивать карточку клиента при входящем звонке и так далее.
Разберем настройку данного интерфейса и параметров подключения к нему на примере настройки через графический интерфейс администратора 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 и выполнить следующие итерации:
Перед началом работ по изменению конфигурации, рекомендуем сделать резервную копию файла.
[root@localhost ~]# vim /etc/asterisk/manager.conf //подключаемся к конфигурационному файлу manager.conf
Делаем следующие настройки в секции [general]:
[general]
enabled = yes //включает AMI
port = 5038 //порт для подключения к AMI интерфейсу
bindaddr = 0.0.0.0 //откуда принимать подключения (по умолчанию, 0.0.0.0 – разрешено подключаться со всех адресов)
displayconnects=no ; //отображать ли подключения к Asterisk в командной строке
Переходим к настройке самого пользователя. Для этого, под секцией [general] необходимо создать нового пользователя. Дадим ему имя – test с паролем P@ssw0rd :
[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
По окончанию настроек, нажмите комбинацию клавиш :x! для сохранения файла. После этого, введите команду:
[root@localhost ~]# asterisk -rx "core restart now"
ПРОВЕРЯЕМ ПОДКЛЮЧЕНИЯ К AMI
Теперь, после настроек, проверим подключение к 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. Это означает, что интерфейс настроен и готов к работе.