Asterisk Manager Interface (AMI) в FreePBX

naomi

Moderator
Команда форума
Интерфейс управления Asterisk, или как его еще называют Asterisk Manager Interface (AMI) — это интерфейс для управления вашей IP-АТС внешними приложениями, отправки команд или получения различных телефонных событий. Часто этот интерфейс используется для дополнения 1С и астериска, что позволяет принимать звонки на интерфейс 1С, совершать звонки, вызывать карточку клиента при входящем звонке и так далее.

Разберем настройку данного интерфейса и параметров подключения к нему на примере настройки через графический интерфейс администратора FreePBX 13 и через консоль сервера (CLI) в настройках CentOS

НАСТРОЙКА AMI В FREEPBX

В верхнем меню навигации, выберите вкладку Settings и далее перейдите в раздел Asterisk Managers, как указано на скриншоте ниже:

1.jpg

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

2.jpg

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

3.jpg

  • 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

4.jpg

По окончанию настроек нажмите 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. Это означает, что интерфейс настроен и готов к работе.
 
Верх