Hi,
ich bin momentan am verzweifeln mit meinem Asterisk 1.4.29, PHP 5.2.6-1 und AGI.
Ich möchte, dass mein per AGI aufgerufenes PHP-Skript, wegen seiner Laufzeit von ca. 10 sec, "asynchron" ausgeführt wird. D.h. Es soll direkt nach dem Starten des Skripts im Wählplan weitergemacht werden.
Die "best practice" hierzu ist (in Perl) auf voip-info.org beschrieben.
Daraufhin habe ich folgendes Skript erstellt:
Das Skript wird folgendermassen aufgerufen:
Leider bleibt so mein Wählplan 10 Sekunden hängen obwohl, meiner und der "allgemeinen Internet-Meinung" nach, der Kindprozess durch den Fork unabhängig von Asterisk laufen sollte.
Das muss doch schon mal jemand gemacht haben... Bin für jeden Tipp dankbar!
ich bin momentan am verzweifeln mit meinem Asterisk 1.4.29, PHP 5.2.6-1 und AGI.
Ich möchte, dass mein per AGI aufgerufenes PHP-Skript, wegen seiner Laufzeit von ca. 10 sec, "asynchron" ausgeführt wird. D.h. Es soll direkt nach dem Starten des Skripts im Wählplan weitergemacht werden.
Die "best practice" hierzu ist (in Perl) auf voip-info.org beschrieben.
Daraufhin habe ich folgendes Skript erstellt:
PHP:
#!/usr/bin/php -q
<?php
$pid = pcntl_fork();
if ($pid == -1) {
die('Unable to fork');
} else if ($pid) {
#Parent
fwrite(STDOUT, "\n");
exit();
} else {
#Child
#...
sleep(10);
#...
}
?>
Das Skript wird folgendermassen aufgerufen:
Code:
exten => 123,2,AGI(sendnum.php,${CALLERID(num)},124,125,126)
Leider bleibt so mein Wählplan 10 Sekunden hängen obwohl, meiner und der "allgemeinen Internet-Meinung" nach, der Kindprozess durch den Fork unabhängig von Asterisk laufen sollte.
Das muss doch schon mal jemand gemacht haben... Bin für jeden Tipp dankbar!
Zuletzt bearbeitet: