php agi api,PHP agi 编写测试
部分代碼來(lái)源于網(wǎng)絡(luò),經(jīng)過(guò)調(diào)試后寫在此:
/etc/asterisk/phpagi.conf? 配置內(nèi)容:
[phpagi]
debug=true //是否打開(kāi)debug,一般生產(chǎn)環(huán)境關(guān)閉
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','#'); //播放語(yǔ)音流媒體,按#號(hào)終止播放
$agi->say_digits('1001','1234567890*#');
$agi->hangup();
?>
簡(jiǎn)單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); //超時(shí)1000,最多1個(gè)數(shù)字
$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();
?>
如果帶參數(shù)的方式調(diào)用AGI則按照如下規(guī)則:
調(diào)用方法:
exten => s,1,AGI(myagi.php,${exten},${mID})
在myagi.php 中則使用如下的方法來(lái)獲取:
$argv[1] 對(duì)應(yīng)${exten}
$argv[2] 對(duì)應(yīng)${mID}
總結(jié)
以上是生活随笔為你收集整理的php agi api,PHP agi 编写测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php广告插入代码,[教程]如何在php
- 下一篇: 往事如风下一句是什么呢?