首页 >后端开发 >php教程 >实现回拨 AGI(PHP)

实现回拨 AGI(PHP)

PHPz
PHPz原创
2016-06-23 14:33:01102557浏览

[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