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 编写测试相关推荐
- 怎样编写测试类测试分支_编写干净的测试–天堂中的麻烦
怎样编写测试类测试分支 如果我们的代码有明显的错误,我们很有动力对其进行改进. 但是,在某些时候,我们认为我们的代码"足够好"并继续前进. 通常,当我们认为改进现有代码的好处小于所 ...
- junit编写测试代码_编写数据访问代码测试-不测试框架
junit编写测试代码 当我们向数据访问代码编写测试时,是否应该测试其公共API的每种方法? 一开始听起来很自然. 毕竟,如果我们不测试所有内容,那么如何知道我们的代码可以按预期工作? 这个问题为我们 ...
- 怎样编写测试类测试分支_编写干净的测试-被认为有害的新内容
怎样编写测试类测试分支 很难为干净的代码找到一个好的定义,因为我们每个人都有自己的单词clean的定义. 但是,有一个似乎是通用的定义: 简洁的代码易于阅读. 这可能会让您感到有些惊讶,但我认为该定义 ...
- 为数据访问代码编写测试–不测试框架
当我们向数据访问代码编写测试时,是否应该测试其公共API的每种方法? 一开始听起来很自然. 毕竟,如果我们不对所有内容进行测试,那么如何知道我们的代码可以按预期工作呢? 这个问题为我们提供了重要的线索 ...
- 如何使用Postman和Newman在CI环境中自动化REST API端到端测试
Postman is a great tool to explore REST APIs. You can build requests and try them out to get quick f ...
- XCode中的单元测试:编写测试类和方法(内容意译自苹果官方文档)
当你在工程中通过测试导航栏添加了一个测试target之后, xcode会在测试导航栏中显示该target所属的测试类和方法. 这一章演示了怎么创建测试类,以及如何编写测试方法. 测试targets, ...
- 什么是API? [如何编写和阅读API文档]
随着API在互联网时代中变得越来越普遍,不仅是编程人员会用到,现在也会要求产品经理或互联网运营会调试和对接API.看这篇文章的你可能会使用或开发API,或者两者兼而有之. 因此,对你来说,不仅要了解如 ...
- php 使用api接口测试工具,php API接口如何进行测试 - Codeception
如题codeception 单元测试 Undefined index: HTTP_HOST 报错 测试驱动代码: commonconfigmain.php 跨域登陆代码 : 测试驱动运行到common ...
- nightwatch编写测试
nightwatch编写测试 使用describe()接口 使用"导出"接口 使用ES6 async/await 断言 使用.expect()断言 编写单元测试 异步单元测试 合并 ...
最新文章
- 使用OpenCV进行人脸关键点检测
- 台湾一校长震动所有中国人的演讲
- jQuery可放大预览的图片滑块
- QString中包含中文的时候, 转为char *
- “约见”面试官系列之常见面试题之第一百零六篇之css只在当前组件中起作用(建议收藏)
- Spring基础面试题-同步更新
- [转]ASP.NET刷新页面的六种方法
- mysql 存储过程 风险_删除/恢复SQL server危险的存储过程方法
- OSPF邻接关系状态机
- ERWIN中表结构导出到doc文件中
- Linux学习第一节课学习心得
- 暗影精灵4如何调节风扇转速_惠普暗影精灵4 简单几步设置让游戏画面更流畅
- 中职计算机教学工作随笔,教学随笔(精选15篇)
- 手把手教你用SetWindowsHookEx做一个键盘记录器
- Android利用jsoup爬虫爬网页数据(二)
- C++约瑟夫环改良版
- 蘑菇街Android组件与插件化
- 佛山市政携手企企通,打造高效协同的云端极速供应链
- MySQL 8.0 全文检索功能 根据中文字符检索相关数据
- 地球最后的夜晚 HDTC