[Asterisk-Users] How to detect AGI script failure?
Alex Hutton
alex.hutton at adaptime.net
Tue Nov 8 02:28:57 MST 2005
Thanks for the replies. I have realised that I can catch the execution
after the agi statement (if it fails) in the h priority, which I then
use to play an error message to the caller.
As you suggested, I am setting a variable in the agi script so that the
h priority knows whether the agi script succeeded or not.
Alex
Matt Riddell wrote:
> Alex Hutton wrote:
>
>>Hello,
>>
>>I'm new to the list so I hope I'm asking the question in the right
>>place. In our extensions.conf, we call an AGI script using the AGI
>>command.
>>
>>e.g.
>>
>>exten => 11,1,Answer
>>exten => 11,2,Wait(0.5)
>>exten => 11,3,Playback(welcome1)
>>exten => 11,4,agi(agi://192.168.1.88/hello.agi?src=test|${CALLERID})
>>
>>
>>
>>If for some reason, the AGI script fails to run (e.g. our AGI prog isn't
>>running), can we detect it and direct the call to a pre-recorded message?
>
>
> What I personally would do is first set a variable before you run the agi
> (i.e. completionstatus to "beforerun") then run the AGI. Once inside the AGI,
> set the variable for completion status. I.E. you could have ran well, failed
> with x etc etc. Then on the next priority, you can check this variable and
> via gotoif for the various statuses (including "beforerun" which would mean
> that the AGI didn't run at all).
>
> While this doesn't exactly answer your question, it is the best way to use
> multiple statuses.
>
> Make sense?
>
More information about the asterisk-users
mailing list