[asterisk-users] AGI Script Returning 4
Steve Edwards
asterisk.org at sedwards.com
Sat Jan 30 20:38:45 CST 2021
On 1/30/21 1:18 PM, Alexander Perkins wrote:
>> the PHP-AGI script fails after it is executed and simply returns
>> 'returning 4'.
On Sat, 30 Jan 2021, Michal Rybarik wrote:
> I think this can happen by hanging up the call by one party, when SIGHUP
> is sent to AGI script. PHP will exit on SIGHUP. It can be resolved by
> initializing signal handler in PHP script (pcntl_signal) for SIGHUP and
> doing nothing in it (return).
>From res_agi.c:
enum agi_result {
AGI_RESULT_FAILURE = -1,
AGI_RESULT_SUCCESS,
AGI_RESULT_SUCCESS_FAST,
AGI_RESULT_SUCCESS_ASYNC,
AGI_RESULT_NOTFOUND,
AGI_RESULT_HANGUP,
};
so, AGI_RESULT_HANGUP == 4.
When Asterisk detects the hangup on the channel, it sends a SIGHUP to your
AGI.
I always set a signal handler on SIGHUP and do what makes sense to my
application: maybe some cleanup or syslog() before return() or exit().
Almost always exit().
--
Thanks in advance,
-------------------------------------------------------------------------
Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST
https://www.linkedin.com/in/steve-edwards-4244281
More information about the asterisk-users
mailing list