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       sedwa...@sedwards.com      Voice: +1-760-468-3867 PST
            https://www.linkedin.com/in/steve-edwards-4244281

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

Check out the new Asterisk community forum at: https://community.asterisk.org/

New to Asterisk? Start here:
     https://wiki.asterisk.org/wiki/display/AST/Getting+Started

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

Reply via email to