[asterisk-users] FastAGI hangs up channel if server is not available

Lee Jenkins lee at datatrakpos.com
Thu May 17 11:54:37 MST 2007


Lee Jenkins wrote:
> 
> Hi all,
> 
> Running 1.2.14
> 
> When I call a FastAGI script such as this script for an incoming call:
> 
> [calldirect]
> exten=>s,1,Answer()
> exten=>s,2,AGI(agi://192.168.1.175/calldirect?check&${CALLERID(num)})
> exten=>s,3,Goto(check_time,s,1)
> 
> and the FastAGI server is not running (Asterisk gets "connection 
> refused" TCP error), Asterisk just terminates the call like so:
> 
> May 17 12:58:00 WARNING[10154]: res_agi.c:210 launch_netscript: Connect 
> to 'agi://192.168.1.175/calldirect?check&NNNNNNNNNN' failed: Connection 
> refused
>   == Spawn extension (remove_caller, s, 2) exited non-zero on 
> 'SIP/datatrak-0978b670'
> 
> The text of the relevant wiki article 
> (http://www.voip-info.org/wiki-Asterisk+FastAGI) infers that execution 
> should roll through to the next executable line in the context where it 
> was called in the case of an error in executing the FastAGI:
> 
> "Asterisk 1.2
> Under Asterisk 1.2, if a request to a FastAGI service failed for any 
> reason, there was no way to determine this from the dialplan. The 
> recommended action is to set a channel variable before calling the 
> FastAGI, setting that variable to a known value within the FastAGI, and 
> then checking that variable once the AGI has returned..."
> 
> 

Apparently, this is a standing issue with FastAGI (at least ins 1.2 
branch).  I found a work around using the "h".

Bread Crumbs follow:

Work around using "h" extension:
http://lists.digium.com/pipermail/asterisk-users/2006-August/161459.html

Still a PIA to have to include pseudo exception handling each time a 
FastAGI is referenced.

There is also a bug report from '05 that I came across:

http://bugs.digium.com/view.php?id=4029

But it looks like it was stalled.

-- 

Warm Regards,

Lee





More information about the asterisk-users mailing list