Настройка 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