当前位置: 首页 > 编程日记 > 正文

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}

相关文章:

查询数据库所有表、字段、触发器等

SQL SERVER查看所有表名:select name from sysobjects where typeU查询表的所有字段名:Select name from syscolumns Where IDOBJECT_ID(表名)select * from information_schema.tablesselect * from information_schema.viewsselect * from information…

浅谈学前教育与计算机,浅谈学前教育专业计算机教学改革与实践.doc

精品文档,助力人生,欢迎关注小编!浅谈学前教育专业计算机教学改革与实践【摘要】学前教育专业的计算机教学如果按照普通大专院校的计算机文化基础课教学模式,基于学生的专业及学习特点,培养的学生对于计算机知识的认识…

c语言指针要点,C语言指针的重点有哪些?

指针说难也不难,说不难吧,有点难理解把握几点,就不是很难了1、指针是变量,可以当成一般的变量来操作2、指针可以做减法,不可以做加乘除,减法的意思是求两个内存空间之间隔着几个字节。加乘除没有意义3、内存…

python学习随笔(七)_函数

函数 #作用:封装和复用 数学定义:yf(x) ,y是x的函数,x是自变量。yf(x0, x1, ..., xn) Python函数 由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元 完成一定的功能 函数的作用…

计算机控制里ddc什么缩略语,空调自动化术语和缩略语.doc

空调自动化术语和缩略语1.6 空调自动化术语和缩略语1.6.1 术语解释Application—Specific Controller,专用控制器:专用控制器是意图连接一个或几个设备以便提供某种特殊功能的数字控制器。专用控制器通常有固定的控制算法和有限的参数调整。Automatic Communication…

Linux中重定向--转载

转:http://blog.csdn.net/songyang516/article/details/6758256 1重定向 1.1 重定向符号> 输出重定向到一个文件或设备 覆盖原来的文件>! 输出重定向到一个文件或设备 强制覆盖原来的文件>> 输出重定向到一个文件或设…

matlab 2010无法运行程序,matalb r2010a安装后打开出现一系列警告,无法运行,哪位大神帮...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Matlab R2010a安装完成后的错误:Warning: D:\Program Files\MATLAB\R2010b\toolbox\local\pathdef.m not found.Toolbox Path Cache is not being used. Type help toolbox_path_cache for more info Undefined functio…

小米4c怎么添加语言怎么设置在哪里,小米4c路由器设置教程

摘要 腾兴网为您分享:番茄小说,唱吧app,酷狗,腾讯会议,唯品会等知识经验教程,欢迎大家关注腾兴网。小米4c路由器该怎么设置,不少小伙伴们不清楚设置方法是什么,想要知道该怎么设置的&#xff0c…

用PHP计算个税,PHP计算个人所得税示例【不使用速算扣除数】

本文实例讲述了PHP计算个人所得税。分享给大家供大家参考,具体如下:不使用速算扣除数计算个人所得税,PHP自定义函数实现个人所得税计算。使用速算扣除数计算个人所得税过于简单,略过不提。PHP和JS有相同之处,知道PHP计…

mono+jexus 部署之CompilationException

使用 HelpPage 组件 CompilationException 好不容易在ubuntu上搭建了monojexus,欣喜若狂的部署上发布的网站,急忙打开,成功运行。 但是别高兴的太早,当我打开WebApi帮助页时出现了CompilationException。 解决办法 修改 WebConfig…

MAC 重置MySQL root 密码

MAC 重置MySQL root 密码 重置MySQL root 密码:当忘记密码,或者想要强行重置 MySQL 密码的时候,可以像下面这样: 1.停止 MySQL 服务 12sudo /usr/local/mysql/support-files/mysql.server stop//当停止失败 见下边 如何用mac 活动…

计算机二级vlookup引用怎么操作,VLOOKUP函数怎样引用二个条件

函数 LOOKUP的数组形式是在数组的第一行或第一列中查找指定数值,然后返回最后一行或最后一列中相同位置处的数值。如果需要查找的数值在数组的第一行或第一列,就可以使用函数LOOKUP 的这种形式。当需要指定列或行的位置时,可以使用函数 LOOKU…

android 自定义录像机,android-camera2 - 将自定义捕获请求构建器选项设置为使用Camera2 API捕获图像以使用OpenCV库进行摄像机校准 - 堆栈内存溢出...

我们正在使用Camera2 API捕获N张图像,而未设置任何自定义捕获请求构建器选项。 我们正在使用这些图像通过OpenCV Android库411进行相机校准。然后,我们正在使用OpenCV Android库进行图像失真处理。 角落处的输出图像不清晰,角落向中心缩小。 …

java读取配置文件信息

String configfile "cfg/client.cfg";// 读取配置文件账号密码Properties props new Properties();InputStream in new BufferedInputStream(new FileInputStream(configfile));props.load(in);String userName props.getProperty("userName");String …

php explore im,浏栏器器-explore.class.php_php

//原作者:epsilon7//SonyMusic(sonymusic163.net)class BrowserDetector {var $UA ""; //$HTTP_USER_AGENT的内容var $BROWSER "Unknown"; //浏览器类型http://www.gaodaima.com/46792.html浏栏器器-explore.class.php_phpvar $PLATFORM &quo…

计算机评语公式怎么输,在excel中,如何使用公式写评语

2006-03-17还有1个多月就要考英语专4了,请问大家,现在该怎么复习呢?还有专4的补考和初考哪个难啊,通过率有多少啊?首先我想说的是因为你们学校的原因要你们补考,那我想这个证书是会得到国家的认可的。然后就是复习。一…

001_python单元测试

一、同事推荐的 pytest库 > 官网:http://doc.pytest.org/en/latest/ github地址>https://github.com/pytest-dev/pytest/ 二、python标准库的unittest的特性和java的junit很相似。 转载于:https://www.cnblogs.com/arun-python/p/6568631.html

三星android获取root权限,三星G9250(S6 Edge公开版全网通 Android 5.1)获取ROOT权限详解教程...

伴随着安卓刷机越来越流行,很多安卓用户都喜欢上了这种可以自定个性系统的行为,那么三星G9250(S6 Edge公开版全网通 Android 5.1)怎么获取ROOT权限?三星G9250(S6 Edge公开版全网通 Android 5.1)一ROOT过程如何操作呢?奇兔小编在此大家说一说一键ROOT的…

认识和了解python

一: Python介绍 1.1 python创始人吉多.范罗苏姆(龟叔)在1989年开发.python崇尚优美,清晰,简单. 1.2 python是一门解释型语言,属于弱类型语言. 1.3 优点: 1.优雅,明确,简单 2.开发率高 3.可移植性,可扩展性,可嵌入型 缺点: 1.速度慢, 2…

惰性求值 php,详细介绍C#函数式编程的示例代码

public double MemoryUtilization(){//计算目前内存使用率var pcInfo new ComputerInfo();var usedMem pcInfo.TotalPhysicalMemory - pcInfo.AvailablePhysicalMemory;return (double)(usedMem / Convert.ToDecimal(pcInfo.TotalPhysicalMemory));}public int BigCalculatat…

wowpve服务器优势,PVE服务器法师对本职业的一点看法

看过了各位高手的对法师的一些看法,其中被喷的也不在少数,其实大家公认的在魔兽世界里没有最强的职业,只有更强的玩家,所有流派的诞生都是各位玩家在不断的探索中发现的,我是一个休闲法师玩家在这里只谈谈自己的一些看…

安装Android SDK需要选择哪些,开始为Android开发,我应该选择安装哪些SDK?

我开始将我的开发人员技能扩展到Android开发.我安装了所有的工具和配置,每件事看起来都很棒,作为默认设置,我安装了3.2 SDK,但是没有太多的文档在那个,2.x SDK上的模式是什么.它是否像IOS,android有一个良好的向后可计算性?我可以继续使用3.x并依靠它(使用2.x SDK中…

oracle 分区使用情况,Oracle Hash分区的使用总结

近期项目需要用到分区表,但是分区键值有无法确定,因此只能使用hash分区(range、list分区以前常用,比hash分区简单),查询了文档,发现上面说的和实际使用时有点差距,就专门做实验验证下。官方文档(11g、12c的…

第四周工作总结

转载于:https://www.cnblogs.com/yuezhihao/p/6587333.html

VS2013\VS2017 使用git 总是需要输入账号密码

问题: VS2013\VS2017 使用git 总是需要输入账号密码 解决方案:删除原凭证,或者修改原凭证,重新输入一次账号和密码并且选择“记住凭证”即可! 转载于:https://www.cnblogs.com/zhaokunbokeyuan256/p/9583091.html

css炫酷标题,纯css3鼠标滑过图片炫酷标题显示特效

很多网站的图片鼠标滑过显示标题效果都是使用jQuery来完成的,现在,我们可以使用CSS3 animations来完成同样惊艳的效果。如果你对CSS3 animations还不了解,请先阅读CSS3 animations。HTML我们使用html5来制作这款插件。通过figure和figcaption…

学习成长就到鸿蒙思维,庆国庆,迎中秋,鸿蒙教育享双节99元开启思维之旅!!...

原标题:庆国庆,迎中秋,鸿蒙教育享双节99元开启思维之旅!!庆国庆,迎中秋,鸿蒙教育享双节99元开启思维之旅!!鸿蒙口才+绘画课推出99元体验课程!学1科…

String拼接字符串效率低,你知道原因吗?

面试官Q1:请问为什么String用""拼接字符串效率低下,最好能从JVM角度谈谈吗? 对于这个问题,我们先来看看如下代码: public class StringTest {public static void main(String[] args) {String a "abc&…

oracle01003,ORA-01003:nostatementparsed-Oracle

手贱,故意删除了一张表,在OGG同步数据的同时,删除之后立刻报错,如下:OCI Error ORA-12096: error in materialized view log on "JTINFO"."TBL_USERID"ORA-01003: no statement parsed (status 1…

笔记一:python安装和执行

一:学习内容 python安装python简介python执行二:python安装 1. 下载python,网地址:https://www.python.org/,进入地址后,点击下载downloads下的windows 2. 进入下载页后,选择要下载的版本和类型…