欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

实现回拨 AGI(PHP)

程序员文章站 2022-05-17 14:08:59
...
[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);
?>
相关标签: 回拨 AGI(PHP)