Help Asterisk / API / Perl

Home » Asterisk Users » Help Asterisk / API / Perl
Asterisk Users 2 Comments

Hi

i want use the API on my asterisk 1.6, but i have a small problems :

In extension, i start it :
exten => _X.,3,AGI(My-Script.agi)
The perl agi file are started without problems

but i want get into this script a lot of variable:
Type (SIP or IAX)
src (from cdr)

but that’s don’t work:

use Asterisk::AGI;
use lib “/var/lib/asterisk/agi-bin”;
$AGI = new Asterisk::AGI;
$typ = $AGI->get_variable(‘agi_type’);

$typ don’t have SIP or IAX, same test without succes:
$typ = $AGI->get_variable(‘type’);

anyone know this problems ?

thanks
Olivier

2 thoughts on - Help Asterisk / API / Perl

  • Hello!

    Try to use ${CHANNEL} instead of agi_type.

    It will be like this:

    $typ = $AGI->get_variable(‘CHANNEL’);
    @tmp_array=split(///, $typ);
    $typ = $tmp_array[0];

    and

    $src=$AGI->get_variable(‘cdr(src)’);

  • ‘agi_type’ is part of the AGI environment, not a channel variable.

    Read the documentation for your AGI library to see how to access the AGI
    environment variables — the cruft Asterisk writes to the STDIN of your
    AGI before any of your requests.