php agi api,PHP agi 编写测试
部分代碼來源于網絡,經過調試后寫在此:
/etc/asterisk/phpagi.conf? 配置內容:
[phpagi]
debug=true //是否打開debug,一般生產環境關閉
error_handler=true
tempdir=/var/spool/asterisk/tmp/
[asmanager]
server=10.1.0.7
port=5038
username=astman
secret=astman
[fastagi]
setuid=true
basedir=/var/lib/asterisk/agi-bin/
#!/usr/bin/php -q
set_time_limit(60);
ob_implicit_flush(false);
include("phpagi.php");
$agi=new AGI;
$agi->answer();
$agi->verbose('HELLO WORLD!!!!!!');
$agi->stream_file('welcome','#'); //播放語音流媒體,按#號終止播放
$agi->say_digits('1001','1234567890*#');
$agi->hangup();
?>
簡單IVR流程:
#!/usr/bin/php -q
set_time_limit(60);
ob_implicit_flush(false);
include("phpagi.php");
$agi=new AGI;
$agi->answer();
$prompt_enter_dest="welcome";
$res_dtmf=$agi->get_data($prompt_enter_dest,1000,1); //超時1000,最多1個數字
$res_num=$res_dtmf["result"];
$agi->say_digits($res_num);
if($res_num=="1")
{
$agi->verbose('You enter 1');
}
elseif($res_num=='2')
{
$agi->verbose('You enter 2');
}
else
{
$agi->stream_file('vm-goodbye','#');
}
$agi->hangup();
?>
如果帶參數的方式調用AGI則按照如下規則:
調用方法:
exten => s,1,AGI(myagi.php,${exten},${mID})
在myagi.php 中則使用如下的方法來獲取:
$argv[1] 對應${exten}
$argv[2] 對應${mID}
總結
以上是生活随笔為你收集整理的php agi api,PHP agi 编写测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php广告插入代码,[教程]如何在php
- 下一篇: 往事如风下一句是什么呢?