Используя в работе голый Asterisk, рано или поздно становится недостаточно стандартных инструментов, для решения нужных задач. В этом случае нам поможет интерфейс AGI, который позволяет Asterisk взаимодействовать со сторонними приложениями, к примеру с приложением написанным на PHP.
Рассмотрим как настроить взаимодействие Asterisk с классом phpagi, посредством интерфейса AGI (Asterisk Gateway Interface).
Настройка Asterisk
Для подключения класса phpagi, в конфигурационный файл (/etc/asterisk/manager.conf), добавляем параметры подключения его (прим. astphp):
Настройка класса phpagi
ВАЖНО. В случае если выполняется настройка для FreePBX, то необходимости скачивать и копировать модули phpagi нет необходимости, т.к. они входят в поставку FreePBX. Переходим сразу к настройке соединения.
Скачиваем последнюю версию phpagi с официального сайта, распаковываем ее и выполняем настройку связи phpagi с Asterisk.
Копируем распакованные файлы phpagi в каталоги Asterisk:
В файле конфигурации phpagi (/etc/asterisk/phpagi.conf), в секции ([asmanager]) указываем данные для соединения с Asterisk:
На этом конфигурация связи закончена. Теперь можно использовать PHP-скрипты в диалплане Asterisk.
Подключение класса phpagi в PHP-скрипт
Каждый PHP-скрипт должен начинаться со строк объявления использования класса phpagi:
Вызов PHP-скрипта из диалплана Asterisk (прим. с вызовом PHP-скрипта и передачи в него переменных из диалплана):