[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