[Asterisk-Users] AGI call problem

Josiah Bryan jbryan at productiveconcepts.com
Tue Apr 5 12:38:19 MST 2005


On Tuesday 05 April 2005 3:24 pm, Adam Robins wrote:
> I am issuing an AGI call in extensions.conf as follows:
>
> exten => 2000,1,Answer
> exten => 2000,n,AGI(script.pl)
> exten => 2000,n,Hangup
>
> Asterisk perl is installed.  "script.pl" is a valid perl script in
> /var/lib/asterisk/agi-bin
>
> Output is:
>
>     -- Executing Answer("SIP/2034-e908", "") in new stack
>     -- Executing AGI("SIP/2034-e908", "script.pl") in new stack
>     -- Launched AGI Script /var/lib/asterisk/agi-bin/script.pl
>     -- AGI Script script.pl completed, returning 0
>     -- Executing Hangup("SIP/2034-e908", "") in new stack
>   == Spawn extension (intl-access, 2000, 3) exited non-zero on
> 'SIP/2034-e908'
>
> The problem is that the logic in the script is not executing.
>

Check the following:

-The script is executable (chmod +x /var/lib/asterisk/agi-bin/script.pl)
-The script has the right interpreter in the head. (#!/bin/perl or whatever 
`which perl` gives you - put this on the first line of script.pl)

-If that doesnt work, run 'perl script.pl' from a shell on your asterisk box 
and check for syntax errors. (Make sure to have 'use strict;' in script.pl).
-If no syntax errors, try stepping through it by issuing AGI result codes to 
the script if that what your script is expecting (e.g. "200 result=0" or 
whatever the rest of the codes are) and check for undefined subs or 
something. 

It helps to 'use strict;' in your AGI scripts so that the interpreter does 
variable name checking for you and it shows up when you run your script from 
the command line.


-josiah


-- 
Josiah Bryan
IT Coordinator
Productive Concepts, Inc.
jbryan at productiveconcepts.com
(765) 964-6009, ext. 224



More information about the asterisk-users mailing list