0

我想在 Asterisk 中使用 php 制作简单的 IVR。当我单独运行 php 程序时,它可以正常工作。但是当我在星号中通过 AGI 命令调用它时,它不起作用。这是我的 php 文件:

#!/usr/bin/php -q
<?
 set_time_limit(30);
 require('phpagi.php');
 $agi = new AGI();
 $agi->answer();
 $file = '/var/www/html/test.txt';
 $current = file_get_contents($file);
 $current .= "Test\n";
 file_put_contents($file, $current);
 $agi->say_digits(1234);
 $agi->hangup();
 ?>

这是拨号方案:

[testphp]
exten => 6565,1,Answer 
exten => 6565 2,Playback(Hello-World)
exten => 6565,3,AGI(testphp.php) 
exten => 6565 4,Playback(Hello-World)
exten => 6565,5,Hangup 

当我用手机拨打 6565 时,它只播放两次“Hello World”信息!php 文件权限是可执行的。

我已经在 VirtualBox 中安装了 Elastix(Asterisk)。

我究竟做错了什么?

请帮忙。

4

1 回答 1

0

执行以下操作:

1)停止星号

asterisk -rx "core stop now"

2) 在 ssh 控制台中启动它

asterisk -vvvgc

3) 启用星号 AGI 调试

agi set debug on

您将在脚本中看到错误。还要检查 selinux 是否已关闭

于 2012-06-05T17:01:59.423 回答