Настройка AMI

AMI - Asterisk Management Interface

Настройка через FreePBX

Если Asterisk управляется через FreePBX 2.9 и выше, тогда настройку AMI можно выполнить через веб-интерфейс.

Откройте меню «Конфигурация» - «Asterisk API» и нажмите кнопку «Добавить»

Установите необходимые права

Настройка через конфигурационные файлы

  • Сделайте резервную копию файла /etc/asterisk/manager.conf
  • Откройте файл /etc/asterisk/manager.conf
  • Перейдите в секцию [general] и отредактируйте ее
[general]
enabled=yes              ; возможность работать с AMI (по-умолчанию no)
port=5038                ; на порту TCP 5038
bindaddr=192.168.1.0     ; принимать соединения в лок. сети (0.0.0.0 - все)
timestampevents = no     ; Отправлять в пакетах событий временную метку
displayconnects = yes    ; Отображать факт подключения пользователя к AMI
allowmultiplelogin = yes ; Разрешить несколько подключений с одним именем
  • Создайте секцию пользователя AMI
[amiuser]                          ; имя пользователя
secret=passwd1234                  ; пароль пользователя AMI
deny=0.0.0.0/0.0.0.0               ; запретить все ip-адреса
permit=192.168.1.0/255.255.255.0   ; разрешить соединение с подсети
read=system,call,command,agent,user,dialplan   ; список классов событий
write=system,call,command,agent,user,originate ; список классов команд
writetimeout=5000 ; таймаут записи в AMI-соединение в миллисекундах

По умолчанию, параметр writetimeout равен 100 или 0.1 секунды. Этого времени может быть недостаточно, особенно если AMI находится за пределами локальной сети.
В случае частого разрыва AMI-соединения по инициативе сервера Asterisk, вы можете попробовать подобрать этот параметр опытным путем

  • Выполните перезапуск командой core restart

Проверка

  • Откройте окно командной строки CMD или воспользуйтесь программой PuTTY
  • В параметрах подключения PuTTY установите переключатель в позицию Telnet, в поле IP-адрес введите адрес сервера Asterisk, в поле порт 5038
  • Asterisk AMI должен ответить приветствием
  • Введите команду авторизации, после команды 2 раза нажмите клавишу «Enter»
Action: login
Username: amiuser
Secret: passwd1234

В результате, вы должны получить ответ на введенную команду:

Response: Success
Message: Authentication accepted

Полное описание оций и прав