@L_V_S

Как определить подключние AGI скрипта к asterisk?

Пытаюсь подключить скрипт к диаплану в астериске дабы укоротить конфиг extensions.conf

но не пойму как выявить выполняется ли скприт

подключаю следующим образом, сам скрипт в папке /var/lib/asterisk/cgi-bin/

exten=> s,1,AGI(incoming.agi)

вот как понят, что он отработал, к примеру с ошибками или нет?
  • Вопрос задан
  • 3684 просмотра
Пригласить эксперта
Ответы на вопрос 2
можно кинуть NOOP
с asterisk-perl сводится к одной строке:
$AGI->noop("Start");
Ответ написан
Комментировать
@pcdesign
вот как понят, что он отработал, к примеру с ошибками или нет

Включите внутри вашего скрипта ведение логов.
На коленке, например так:

open my $file, '>  /tmp/my-agi.log';
print $file "Скрипт запустился";


Ну и так далее, в начале в конце, в середине скрипта.
Записывайте туда значения переменных, данные которые вы получаете от AGI и что с ними там делаете.
Все пишите в текстовичок.
Будет понятно как он отрабатывает.

Либо используете готовый модуль для ведения логов, типа Log::Log4perl.
С ним еще удобнее.
Вот кусок из моего кода:

use Data::Dumper;
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init( { level => $ON, file => ">>/var/lib/asterisk/agi-bin/test.log" } );

DEBUG "START";

my $AGI   = new Asterisk::AGI;
my %input = $AGI->ReadParse();

DEBUG "cid" . Dumper($AGI);


Когда вы убедитесь, что скрипт отрабатывает как нужно, то просто отключаем ведение логов level => $OFF.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы