Tony Mountifield wrote:
In article <[EMAIL PROTECTED]>,
Lee Jenkins <[EMAIL PROTECTED]> wrote:
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..."

Is there a setting/var that I am missing?

No, the information is wrong. You need to make a small mod to res/res_agi.c
in order to trap this case. Look for the second occurrence of
LOCAL_USER_REMOVE, and add the lines just before it as show by this
patch extract (ignore the line numbers; I have other mods too):

@@ -2065,6 +2106,9 @@
                        close(fds[1]);
                if (efd > -1)
                        close(efd);
+       } else {
+               pbx_builtin_setvar_helper(chan, "AGISTATUS", "NOTFOUND");
+               res = 0;
        }
        LOCAL_USER_REMOVE(u);
        return res;

With this change, a refused connection will not hang up the channel, but
instead will set the AGISTATUS variable to "NOTFOUND".

Cheers
Tony

Nice.  Thanks, Tony.

Has this patched been accepted/committed in subsequent releases such as a 1.2.17?

Thanks again,

Lee


--

Warm Regards,

Lee



_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

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

Reply via email to