-3
我想过滤来自Asterisk Manager Interface的事件,以便仅显示PHP网页上的调用和调用信息。 这是代码,它什么都不显示。我已经试过这个修改后的字符串,而正常文本循环,它效果很好。PHP从Asterisk Manager接口(AMI)修改web显示事件
<?php
$socket = fsockopen("127.0.0.1","5038", $errno, $errstr, 10);
if (!$socket){
echo "$errstr ($errno)\n";
}
else{
fputs($socket, "action: login\r\n");
fputs($socket, "username: asterisk\r\n");
fputs($socket, "secret: zxczxc\r\n\r\n");
fputs($socket, "action: Waitevent\r\n");
$wrets=fgets($socket,128);
while(($buffer = fgets($socket,4096)) !== false)
{ $p1=strpos($buffer,"Newchannel");
if($p1 > 0)
echo "Calling ID =";
echo substr($buffer,$p1+4,4);
}
}
}
?>
这里是不用修改事件的结果:
那么问题是什么?在你的代码中找到bug - 这里是offtopic,参见规则。 – arheops
谢谢你回答我的问题。对不起,我是新手,我还不清楚。我的问题是使用while循环修改AMI事件不起作用。访问时,网页不显示任何内容。我已经试过这个循环与正常的文本文件来修改文本,它运作良好。 –
没有人会为你调试,对不起。做消息输出到日志文件,输出你的行为,查看所有结果。 – arheops