Php Script In H Context Makes Channel Hang : Solution ?

Home » Asterisk Users » Php Script In H Context Makes Channel Hang : Solution ?
Asterisk Users 1 Comment

Hello,

I execute the following php script when a call ends and the h-context is executed :

/exten => h,n,System(/usr/bin/php
/var/log/asterisk/loggingAST/loggingAST.php
/var/log/asterisk/loggingAST/${CHANNEL:4}.csv)/

The script loggingAST.php writes some information in a MySQL database on a remote webserver.

I have noticed that when the webserver is unreachable, this channel
“hangs” and Asterisk can not clear the channel and rtp ports.

Is there a way to have the channel cleared, even if it takes some time to execute the php script ??

Kind regards,

Jonas.

One thought on - Php Script In H Context Makes Channel Hang : Solution ?

  • This is an excerpt from a script I use for post processing received faxes.

    You need the PHP process extension, on CentOS that is the php-process package.

    ….

    declare(ticks=1);

    // become a daemon so we don’t tie up asterisk resources while we process the fax
    $pid = pcntl_fork();
    if ($pid == -1) {
    die(“could not fork”);
    } else if ($pid) {
    exit(); // we are the parent
    }

    // we are the child

    // detatch from the controlling terminal if (posix_setsid() == -1) {
    die(“could not detach from terminal”);
    }

    // be nice and lower our priority (and the priority of any spawned processes)
    proc_nice(10);


    ….

    —–Original Message—