Thanks Steve,

That was just a snippet, the complete script is as follow:

#!/usr/bin/perl

use strict;


$|=1;


# Setup some variables

my %AGI; my $tests = 0; my $fail = 0; my $pass = 0;

my $key; my $value;


while(<STDIN>) {

        chomp;

        last unless length($_);

        if (/^agi_(\w+)\:\s+(.*)$/) {

                $AGI{$1} = $2;

        }

}


print STDERR "AGI Environment Dump:\n";

foreach my $i (sort keys %AGI) {

        print STDERR " -- $i = $AGI{$i}\n";

}


sub checkresult {

        my ($res) = @_;

        my $retval;

        $tests++;

        chomp $res;

        if ($res =~ /^200/) {

                $res =~ /result=(-?\d+)/;

                if (!length($1)) {

                        print STDERR "FAIL ($res)\n";

                        $fail++;

                } else {

                        print STDERR "PASS ($1)\n";

                        $pass++;

                }

        } else {

                print STDERR "FAIL (unexpected result '$res')\n";

                $fail++;

        }

}


my $count = keys(%AGI);

print "EXEC Dial('DAHDI/g2/$AGI{dnid},,W');

my $result = <STDIN>;

&checkresult($result);

There I'm not using the AGI class because as test not works ( seems to me 
because it is not there within this asterisk version) . I have tested the 
Script communication with asterisk works making it to execute a voice prompt.

I have run asterisk in verbose mode, and also set on the debug, but the only 
clue I have is just this error.

Regards,

Gustavo

On 06/03/2013, at 13:24, Steve Edwards <asterisk....@sedwards.com> wrote:

> On Wed, 6 Mar 2013, Gustavo Salvador wrote:
> 
>>> I'm writing an AGI Perl Script...
> 
>>> =============================
>>> #!/usr/bin/perl
>>> use strict;
>>> 
>>> my %AGI;
>>> :
>>> print "EXEC Dial(DAHDI/g2/$AGI{dnid},,W)";
>>> =============================
> 
> Is this your entire script or just a snippet? If this is all, this is not an 
> AGI.
> 
> An AGI is an executable that follows the AGI protocol. At a minimum, this 
> means:
> 
> 1) Read the AGI variables from STDIN.
> 
> 2) Write an AGI request to STDOUT.
> 
> 3) Read the AGI response from STDIN.
> 
> 4) Repeat steps 2 & 3 as needed.
> 
> Asterisk creates the process executing your AGI and sends a bunch of cruft to 
> it via the process's STDIN. If you don't read this, even if you don't need to 
> use the variables, your AGI will not execute correctly and reliably.
> 
> If you do not read the response after every request, your AGI will not 
> execute correctly and reliably.
> 
> Most people use an established AGI library since nobody understands the 
> implications of the protocol correctly the first time.
> 
> Can you enable AGI debugging on the Asterisk console and see if that yields 
> any clues?
> 
>>> When dialplan executes the AGI, asterisk throw the following error: 
>>> "Dropping incompatible voice fraile on SIP/INCONCERT-00004796 of formar 
>>> ulaw since our native format has changed to 0x8 (alaw)."
> 
> (Actual 'cut-n-paste' is better than 'retyping' console output.)
> 
> I think if you take another look, this is a warning, not an error. No big 
> deal, it means just what it says, just ignore it.
> 
> -- 
> Thanks in advance,
> -------------------------------------------------------------------------
> Steve Edwards       sedwa...@sedwards.com      Voice: +1-760-468-3867 PST
> Newline                                              Fax: +1-760-731-3000
> 
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> New to Asterisk? Join us for a live introductory webinar every Thurs:
>              http://www.asterisk.org/hello
> 
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>  http://lists.digium.com/mailman/listinfo/asterisk-users

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to