Top.Mail.Ru

Доступ к AMI

Asterisk Manager Interface (AMI) - мощный и удобный программный интерфейс (API) MikoPBX для управления системой из внешних программ. Благодаря AMI внешние программы могут осуществлять соединения с MikoPBX посредством TCP протокола, инициировать выполнение команд, считывать результат их выполнения, а так же получать уведомления о происходящих событиях в реальном времени.

AMI часто используют для интеграции с бизнес-процессами и системами, программным обеспечением CRM (Customer Relationship Managment — управление взаимодействия с клиентами). Управление MikoPBX часто осуществляется из консоли CLI, но при использовании AMI не требуется прямой доступ к серверу, на котором запущен MikoPBX. AMI — это наиболее простой инструмент, который в руках разработчика может оказаться очень мощным и гибким средством для интеграции с другими программными продуктами. Он дает возможность разработчикам использовать информацию, генерируемую MikoPBX, в реальном масштабе времени.

Первое что необходимо сделать, это включить AMI и завести пользователя, с помощью которого клиентская программа будет аутентифицироваться. «Система» - «Доступ к AMI»

2018-08-13_153526.png

Для добавления новой учетной записи необходимо указать Имя пользователя и Пароль. Кроме того, необходимо задать Сетевой фильтр, т.е. из какой подсети разрешено подключение к пользователю AMI. Вы можете разрешить подключения с любых адресов, либо указать конкретную сеть, настройку который Вы произвели в разделе Сеть и FirewallСетевой экран.

2018-08-13_153613.png

Опции и права пользователя AMI

Права пользователя 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, которая отправляет запрос на создание нового звонка