Доступ к AMI
Last updated
Last updated
Asterisk Manager Interface (AMI) - мощный и удобный программный интерфейс (API) Asterisk для управления системой из внешних программ. Благодаря AMI внешние программы могут осуществлять соединения с Asterisk посредством TCP протокола, инициировать выполнение команд, считывать результат их выполнения, а так же получать уведомления о происходящих событиях в реальном времени. AMI часто используют для интеграции с бизнес-процессами и системами, программным обеспечением CRM (Customer Relationship Managment — управление взаимодействия с клиентами). Управление Asterisk часто осуществляется из консоли CLI, но при использовании AMI не требуется прямой доступ к серверу, на котором запущен Asterisk. AMI — это наиболее простой инструмент, который в руках разработчика может оказаться очень мощным и гибким средством для интеграции с другими программными продуктами. Он дает возможность разработчикам использовать информацию, генерируемую Asterisk, в реальном масштабе времени.
Первое что необходимо сделать, это включить AMI и завести пользователя, с помощью которого клиентская программа будет аутентифицироваться. «Система» - «Доступ к AMI»
Для добавления новой учетной записи необходимо указать Имя пользователя и Пароль. Кроме того, необходимо задать Сетевой фильтр, т.е. из какой подсети разрешено подключение к пользователю AMI. Вы можете разрешить подключения с любых адресов, либо указать конкретную сеть, настройку который Вы произвели в разделе Сеть и Firewall → Сетевой экран.
Права пользователя AMI, устанавливаемые в секции [user] конфигурационного файла /etc/asterisk/manager.conf
Идентификатор прав | Чтение | Запись |
---|---|---|
System | Чтение общей информации о системе, например, уведомления о перезагрузке конфигурации | Позволяет пользователю выполнять Asterisk системы управления такими командами, как Restart, Reload, или Shutdown. Это разрешение также предоставляет пользователям возможность запускать системные команды за пределами Asterisk. Предоставление такого разрешения эквивалентно предоставлению доступа к командной оболочке, с правами пользователя / группы, под которыми запущен процесс Asterisk |
Call | Чтение события о каналах в системе | Позволяет пользователю устанавливать информация на каналах |
Log | Предоставляет пользователю доступ к чтению логов | Только чтение |
Verbose | Предоставляет пользователю доступ к чтению подробных логов | Только чтение |
Agent | Чтение событий статуса агентов из app_queue и chan_agent модулей | Позволяет пользователю выполнять действия для управления и получения состояния очередей и агентов |
User | Доступа к пользовательским событиям, а также событиям Jabber / XMPP пользователей | Позволяет пользователю выполнять команду UserEvent, для создания пользовательских событий |
Config | Только для записи | Позволяет пользователю получать, обновлять и перегружать файлы конфигурации |
Command | Только для записи | Позволяет пользователю выполнять команды Asterisk CLI из AMI |
Dtmf | Позволяет пользователю получать события DTMF | Только чтение |
Reporting | Доступ к событиям качества звонка, таким как jitterbuffer или RTCP | Позволяет пользователю выполнять ряд действий для получения статистики и информации о состоянии всей системы |
Cdr | Чтение событий записи данных в CDR | Только чтение |
Dialplan | Чтение событий установки переменных диалплана, создания экстенов | Только чтение |
Originate | Только для записи | Разрешение пользователю выполнять команду Origitate, которая отправляет запрос на создание нового звонка |