Подключение класса phpagi к AGI интерфейсу Asterisk (FreePBX)

Используя в работе голый Asterisk, рано или поздно становится недостаточно стандартных инструментов, для решения нужных задач. В этом случае нам поможет интерфейс AGI, который позволяет Asterisk взаимодействовать со сторонними приложениями, к примеру с приложением написанным на PHP.

 

Рассмотрим как настроить взаимодействие Asterisk с классом phpagi, посредством интерфейса AGI (Asterisk Gateway Interface).

Все ниже действия будут производится на Debian 8 JessieAsterisk 13 и версией PHP — 5.6. Хочу обратить внимание что ниже описанное так же будет применимо к FreePBX

 

Настройка Asterisk

Для подключения класса phpagi, в конфигурационный файл (/etc/asterisk/manager.conf), добавляем параметры подключения его (прим. astphp):

Для безопасности в секции [general], в параметре bindaddr, можно задать IP-адрес с которого будет разрешено подключатся к интерфейсу AGI. В секции профиля подключения ([astphp]), можно так же указать разрешенные\запрещенные (deny\permit) адреса для подключения к профилю.

 

Настройка класса phpagi

ВАЖНО. В случае если выполняется настройка для FreePBX, то необходимости скачивать и копировать модули phpagi нет необходимости, т.к. они входят в поставку FreePBX. Переходим сразу к настройке соединения.

Скачиваем последнюю версию phpagi с официального сайта, распаковываем ее и выполняем настройку связи phpagi с Asterisk.

 

Копируем распакованные файлы phpagi в каталоги Asterisk:

 

В файле конфигурации phpagi (/etc/asterisk/phpagi.conf), в секции ([asmanager]) указываем данные для соединения с Asterisk:

 

На этом конфигурация связи закончена. Теперь можно использовать PHP-скрипты в диалплане Asterisk.

 

Подключение класса phpagi в PHP-скрипт

Каждый PHP-скрипт должен начинаться со строк объявления использования класса phpagi:

ЗАМЕЧАНИЕ. PHP скрипты необходимо размещать в папку /var/lib/asterisk/agi-bin

 

Вызов PHP-скрипта из диалплана Asterisk (прим. с вызовом PHP-скрипта и передачи в него переменных из диалплана):

 

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Оставить ответ

четыре + шесть =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика