Asterisk (after 1.4?) sends the AGI a HUP when the call hangs up.

Try setting your script to ignore the HUP signal and make it fork and go into the background so Asterisk thinks the process has completed.

In PHP ignore HUP:

    pcntl_signal(SIGHUP, SIG_IGN);

In PHP fork and become a short lived daemon:

    $pid = pcntl_fork();
        if ($pid == -1) {
            die("could not fork");
        } elseif ($pid) {
            exit; // we are the parent
        }
        // we are the child
        // detatch from the controlling terminal so we don't become a zombie when we die.
        if (posix_setsid() == -1) {
            die("could not detach from terminal");
        }


On 01/18/2018 12:27 PM, Jonathan H wrote:
I know that hangup handlers (https://wiki.asterisk.org/wiki/display/AST/Hangup+Handlers) have to finish quickly.

So it's no surprise that my speech to text agi which takes 8 seconds gets killed.

However, can anyone think of a way round this? So, once the caller has hung up, I need to take one of the channel variables, and pass it to a python agi script which then does speech to text.

In-call, it works fine. After hangup, it doesn't. Which is correct, but any thoughts on ways round this?

Thanks.



-- 
_____________________________________________________________________
-- 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