ivr
/*************************************************************
北京高阳圣思园信息技术有限公司IVR业务:
流程说明:公司介绍子流程
发布版本:Version 1.0.0
编写日期:2005-05-27
修改日期:2006-03-02
流程作者:Hisunsray
联系方式:Tel - (010)84505155-531
E_Mail :zhaojt@hisunsray.com
版权归属:北京高阳圣思园信息技术有限公司
*************************************************************/ /*************************************************************
主流程修改记录:
2005-05-27:编制公司介绍子流程
2006-03-02:修改流程为点歌台,增加上一条,下一条,重听操作
*************************************************************/ /*************************************************************
寄存器使用说明:
SR10: 播放内容
SR0: 系统提示音路径
SR30: 播放的提示音
SR50: 内容语音路径
SR51: 播放的内容语音 *************************************************************/
/************************************************************
子流程输入输出参数说明:
输入:
无 输出:
_Field1:点送的内容
返回值:
0:表示成功
1:表示失败
*************************************************************/
/*****************宏定义*************************************/
#define SUCCESS 0
#define EXCEPTION 1
/************************************************************/ TRACE ON FUNCTION Func_key1
{ /**
开始
*/
BEGIN:
EvtStart[]
ReadStrFromINI(_INIFileName,"PATH.key1",SR0) /*z:\0236\125901234\1\*/
ReadStrFromINI(_INIFileName,"PATH.key1Content",SR50) /*z:\0236\125901234\1\content\*/
->stTipVoice //跳转到函数 /**
播放欢迎语音
*/
stTipVoice:
SAssign(SR30,SR0) //把路径赋值给SR30
SAdd(SR30,"Tip1.vox") //收听过程中按1键听下一条,2键听上一条,3键重听,按*键返回主菜单
PlayFile(SR30,"?") //"?"代表按任意键打断,""表示不打断 //未打断
EvtReturn[]
SAssign(SR1,"song") //歌曲名称的共有名song
SAssign(SR2,"") //歌曲名称的编号
-> stPlayContent //打断
EvtReturn[]
SAssign(SR1,"song")
SAssign(SR2,"")
-> stPlayContent //异常
EvtReturn[-] -> END //异常 /**
根据变量播放内容语音
*/
stPlayContent:
SAssign(SR51,SR50) //*z:\0236\125901234\1\content\*/
SAdd(SR51,SR1) //z:\0236\125901234\1\content\song
SAdd(SR51,SR2) //z:\0236\125901234\1\content\song1 SR2为计数变量,下一首则加,上一首则减
SAdd(SR51,".vox") //播放第一首song1.vox
PlayFile(SR51,"123#*") //z:\0236\125901234\1\content\song1.vox
EvtReturn[] -> stGetDigits //等待用户按键
EvtReturn[] -> stGetDigits
EvtReturn[-] -> END stGetDigits:
GetDigits(,,"") //获取用户按键,3秒超时
EvtReturn[]
//SAssign(SR10,_EventData)
-> stCheckButton //如果正常获取,则检查按键
EvtReturn[] -> stPlayContent //超时重放
EvtReturn[-] -> END //返回 stCheckButton:
CheckPushedButton() //检查用户按键
EvtReturn[] -> stNext //按键1
EvtReturn[] -> stBefore //按键2
EvtReturn[] -> stPlayContent //按键3
EvtReturn[] -> END //按键#
EvtReturn[] -> END //按键*
EvtReturn[-] -> stPlayContent //其他按键 stNext: //听下一条
StoI(IR2,SR2) //类型转换
IAdd(IR2,) //序号加1
IEqual(IR2,) //序号与10比较
EvtReturn[] //参数1大于参数2
SAssign(SR2,"")
->stPlayContent
EvtReturn[-]
ItoS(SR2,IR2)
->stPlayContent stBefore: //听上一条
StoI(IR2,SR2)
ISub(IR2,) //序号减1
IEqual(IR2,) //序号与1比较
EvtReturn[] //参数1小于参数2
SAssign(SR2,"")
->stPlayContent
EvtReturn[-] //其他
ItoS(SR2,IR2)
->stPlayContent /********************************************随机播放内容音*****************************************************/ stRandPlay:
IntRand(IR2,) //IR2中的随机数为0至10中的任意一个
IEqual(IR2,)
EvtReturn[]
IAdd(IR2,)
ItoS(SR2,IR2)
->stPlayContent
EvtReturn[-]
ItoS(SR2,IR2)
->stPlayContent }
ivr的更多相关文章
- FreeSWITCH IVR中lua调用并执行nodejs代码
一.功能需求: 通过FreeSWITCH的IVR按键调用相应的脚本文件:nodejs提供很多的模组,可以方便的与其它系统或者进行任何形式的通讯,我的应用是通过nodejs发送http post请求: ...
- 配置IVR实现语音
1.新建系统录音档 登入FreePBX,在Admin面板下选择System Recordings,如下图: 在这个页面可以上传制作好的一些录音,例如像“欢迎致电XXX,按1中文,按2英文... ...
- lucene+IKAnalyzer实现中文纯文本检索系统
首先IntelliJ IDEA中搭建Maven项目(web):spring+SpringMVC+Lucene+IKAnalyzer spring+SpringMVC搭建项目可以参考我的博客 整合Luc ...
- ios项目里扒出来的json文件
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...
- Android应用中实现系统“分享”接口
在android下各种文件管理器中,我们选择一个文件,点击分享可以看到弹出一些app供我们选择,这个是android系统分享功能,我们做的app也可以出现在这个列表中. 第一步:在Manifest.x ...
- ios UIWebView 在开发中加载文件
UIWebView 在实际应用中加载文件的时候,有两种情况, 1. 实行在线预览 , 2. 下载到本地,再查看 如果是第一种情况: NSURL *url = [NSURL URLWithString: ...
- 在网页布局中合理使用inline formating context(IFC)
引子:给大家出一个小小的考题,如何使用css来实现类似下面的在指定区域内,内容自适应的垂直居中.
- 深入理解C++对象模型
C++对象模型是比较重要的一个知识点,学习C++对象的内存模型,就可以明白C++中的多态原理.类的初始化顺序问题.类的大小问题等. 1 C++对象模型基础 1.1 C++对象中都有哪些东东 C++对象 ...
- [工作中的设计模式]解释器模式模式Interpreter
一.模式解析 解释器模式是类的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器.客户端可以使用这个解释器来解释这个语言中的句子. 以上是解释器模式的类图,事实上我 ...
随机推荐
- 如何利用 jQuery 修改 css 中带有 !important 的样式属性?
使用 jQuery 修改 css 中带有 !important 的样式属性 外部样式为: div.test { width:auto !important; overflow:auto !import ...
- CF 427D Match & Catch 求最短唯一连续LCS
题目来源:CF 427D Match & Catch 题意:给出2个字符串 求最短的连续的公共字符串 而且该字符串在原串中仅仅出现一次 思路:把2个字符串合并起来求height 后缀数组hei ...
- [Node.js]连接mongodb
摘要 前面介绍了node.js操作mysql以及redis的内容,这里继续学习操作mongodb的内容. 安装驱动 安装命令 cnpm install mongodb 安装成功 数据库操作 因为mon ...
- 【jvm】java查看内存使用jmap,jstat和jstack使用 ,docker启动服务下查看jvm使用情况
[声明,如果是docker启动的服务,可以在进入容器内后,再使用如下命令操作] [docker exec -it 容器ID /bin/bash 即可进入容器内] [如果不是docker启动的 ...
- OPTAUTH 两步验证详解
先贴图: 在对外网开放的后台管理系统中,使用静态口令进行身份验证可能会存在如下问题: (1) 为了便于记忆,用户多选择有特征作为密码,所有静态口令相比动态口令而言,容易被猜测和破解: (2) 黑客可以 ...
- MYSQL 1093 之You can't specify target table for update in FROM clause解决办法
You can't specify target table for update in FROM clause含义:不能在同一表中查询的数据作为同一表的更新数据. 出现以上错误,是因为想将表自身的字 ...
- LinkedList中将对象按照某一属性排序
例如,链表 treelist 声明如下: LinkedList<TreeNode> treelist = new LinkedList<TreeNode>(); 其中 Tree ...
- Java并发编程的艺术(十一)——线程池(2)
Executor两级调度模型 在HotSpot虚拟机中,Java中的线程将会被一一映射为操作系统的线程. 在Java虚拟机层面,用户将多个任务提交给Executor框架,Executor负责分配线程执 ...
- 通过Selector来设置按钮enable/unable状态的样式
我们可以用selector来配置button可用或者不可用时的背景,也可以用它来配置button不同状态下的文字颜色.下面左图是可用状态,右图是不可用状态. 一.配置按钮不同状态的背景 首先我们 ...
- arcgis server 10 for java 8399根目录是404的提示取消,并跳转到 地图目录 /arcgis/rest/services下
看了Howto: 取消ArcGIS Server 9.x for Java内置tomcat在8399端口的文件列表 http://support.esrichina-bj.cn/2009/0819/9 ...