Php Script In H Context Makes Channel Hang : Solution ?
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—