Содержание статьи:
Используя в работе голый Asterisk, рано или поздно становится недостаточно стандартных инструментов, для решения нужных задач. В этом случае нам поможет интерфейс AGI, который позволяет Asterisk взаимодействовать со сторонними приложениями, к примеру с приложением написанным на PHP.
Рассмотрим как настроить взаимодействие Asterisk с классом phpagi, посредством интерфейса AGI (Asterisk Gateway Interface).
Настройка Asterisk
Для подключения класса phpagi, в конфигурационный файл (/etc/asterisk/manager.conf), добавляем параметры подключения его (прим. astphp):
[general] enabled = yes port = 5038 bindaddr = 0.0.0.0 webenabled = no [astphp] secret = password deny=0.0.0.0/0.0.0.0 permit=0.0.0.0/0.0.0.0 displayconnects = yes read = system,call,log,verbose,command,agent,user,originate write = system,call,log,verbose,command,agent,user,originate
Настройка класса phpagi
Скачиваем последнюю версию phpagi с официального сайта, распаковываем ее и выполняем настройку связи phpagi с Asterisk.
Копируем распакованные файлы phpagi в каталоги Asterisk:
cd phpagi-2.20 cp /docs/phpagi.example.conf /etc/asterisk/phpagi.conf cp phpagi-asmanager.php /var/lib/asterisk/api-bin/phpagi-asmanager.php cp phpagi-fastagi.php /var/lib/asterisk/api-bin/phpagi-fastagi.php cp phpagi.php /var/lib/asterisk/api-bin/phpagi.php
В файле конфигурации phpagi (/etc/asterisk/phpagi.conf), в секции ([asmanager]) указываем данные для соединения с Asterisk:
[asmanager] server=localhost port=5038 username=astphp secret=password
На этом конфигурация связи закончена. Теперь можно использовать PHP-скрипты в диалплане Asterisk.
Подключение класса phpagi в PHP-скрипт
Каждый PHP-скрипт должен начинаться со строк объявления использования класса phpagi:
#!/usr/bin/php -q <?php require('phpagi.php'); $agi = new AGI(); ... ... ?>
Вызов PHP-скрипта из диалплана Asterisk (прим. с вызовом PHP-скрипта и передачи в него переменных из диалплана):
exten => _XXXX,1,AGI(myphpscrypt.php,${EXTEN},${CALLERID(num)})
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА
Оставить ответ