首頁 >後端開發 >php教程 >实现回拨 AGI(PHP)

实现回拨 AGI(PHP)

PHPz
PHPz原創
2016-06-23 14:33:01102580瀏覽

[capiin]
exten => 1234/016066666,1,Wait,1
exten => 1234/016066666,2,AGI,callback.php
exten => 1234/016066666,3,Hangup
<?php
ob_implicit_flush(true);
set_time_limit(0);
$err=fopen("php://stderr","w");
$in = fopen("php://stdin","r");
while (!feof($in)) {
$temp = str_replace("\n","",fgets($in,4096));
$s = split(":",$temp);
$agi[str_replace("agi_","",$s[0])] = trim($s[1]);
if (($temp == "") || ($temp == "\n")) {
break;
}
}
$cf = fopen("/home/kapejod/pbx/var/spool/asterisk/outgoing/cb".$agi["callerid"],"w+"); 
fputs($cf,"Channel: CAPI/".$agi["extension"].":".$agi["callerid"]."\n");
fputs($cf,"Context: capidialtone\n");
fputs($cf,"Extension: s\n");
fputs($cf,"SetVar: CALLERIDNUM=".$agi["extension"]."\n");
fputs($cf,"MaxRetries: 2\n");
fputs($cf,"RetryTime: 10\n");
fclose($cf);
fclose($in);
fclose($err);
?>

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn