IVR流程的编写

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

IPSWITCH系统培训之二1IPSWITCH平台业务流程的编写主讲:谢枚彤2001年应届毕业生培训之一——目录2•实现流程的模块•流程源文件的结构•数据类型•动作•流程的配置文件•业务流程的配置IPSWITCH系统培训之二3IPSWITCH平台业务流程主要由IVR模块实现相关模块:ACDAAASERVERDBAccessGATEWAYIPSWITCH系统培训之二4流程源文件的构成1.主文件文本的主文件(.sc为后缀)文件头说明主程序体图形化的主文件(.frm为后缀)2.头文件IPSWITCH平台流程语言结构IPSWITCH系统培训之二5#include头文件名——包含头文件说明#define宏名宏值——宏定义说明例:文件头中说明#definePromptThanks2000主程序体中[PROMPTPrompThanks]等价于[PROMPT2000]#iniparam类型@参数常量名——配置参数常量说明例:头文件中#iniparamSTRING@UserData主程序体中[ASSIGNSR9,@UserData]配置文件(后缀为.ini)中[Parameters]UserData=12345则,主程序体中该语句等价于[ASSIGNSR9,”12345”]#function函数名——函数说明主文件--文件头说明IPSWITCH系统培训之二6它通常是一组函数定义的系列,每一函数定义可描述如下:函数名{:状态1[动作a1参数···][动作an参数···]事件e1状态s1事件e2状态s2N事件en状态sn[动作a1‘参数···]M[动作am'参数···]:状态2同上:状态m}函数定义系列中的第一个函数必须是主函数(main)主文件--主程序体IPSWITCH系统培训之二7IPSWITCH平台流程语言结构简单的主文件(.SC),可编译通过#functionmainmain{:stWaitConnect-stPlay:stPlay[PLAYFILE“welcome.vox”]StopPlayBack-stExitDialTerminate-stExitFailed-stExitTimeOut-stExit:stExit[Return0]}IPSWITCH系统培训之二8头文件文件头说明#include头文件名——说明包含另外一个头文件#define宏名宏值——说明定义一个宏#iniparam类型@参数常量名——说明一个配置参数常量#function函数名——说明一个函数IPSWITCH平台流程语言结构IPSWITCH系统培训之二9流程的启动与结束开始状态:stWait在stWait状态下以Connect事件启动流程结束状态:stExit在stExit状态下以[Return0]动作结束流程IPSWITCH系统培训之二10IPSWITCH流程语言的数据类型有三种:整型字串型浮点数型数据类型IPSWITCH系统培训之二11常量整型常量字串型常量浮点型常量宏定义常量配置参数常量IPSWITCH系统培训之二12变量寄存器变量整型寄存器:IR0~IR29字串型寄存器:SR0~SR29FD0~FD29浮点型寄存器:FR0~FR29IPSWITCH系统培训之二13系统变量与流程相关的系统变量。如:$ServiceType、$FlowType、$InputParam、$OutputParam。与呼叫相关的系统变量。如:$CallerID、$CalledID、$Device1、$Device2。与数据库访问相关的系统变量。如:$DBKey1、$DBRecCount。与认证计费相关的系统变量。如:$AccountID、$Passwor、$ServiceItemNo变量IPSWITCH系统培训之二14共享变量共享变量是在同一台IVR中共用的变量,用于同一IVR中流程之间的通讯。流程结束后,变量的值仍然保存着。变量IPSWITCH系统培训之二15注释//单行注释/*…*/多行注释IPSWITCH系统培训之二16动作数字运算动作字符串运算动作数据类型转换动作比较判断转移动作媒体操作动作呼叫控制动作数据库访问动作计费与认证动作文件操作动作系统操作动作流程间通信动作邮箱管理动作设置例外处理函数动作其他动作IPSWITCH系统培训之二17数字运算动作AssignI1,I2AssignF1,I2AssignF1,F2AssignS1,S2incI1decI1IPSWITCH系统培训之二18addI1,I2addF1,I2addF1,F2subI1,I2subF1,I2subF1,F2mulI1,I2mulF1,I2mulF1,F2divF1,I2divF1,F2数字运算动作IPSWITCH系统培训之二19idivI1,I2//把I1整除I2的值赋给变量I1modI1,I2//把I1整除I2的余值赋给变量I1IntRandI1//产生一个0~(I1-1)的随机整数,结果存于IR0中FloatRandI1I2//产生一个0~I1之间的随机浮点数,精确到小数点后I2位。结果存于FR0中数字运算动作IPSWITCH系统培训之二20StrSubS1,I1,I2StrCatS1,S2StrLenS1StrUpperS1StrLowerS1StrStrS1,S2字串运算动作IPSWITCH系统培训之二21字串运算动作ParseParamS1,I1,S2例如:S1=”param1$param2$param3$param4”S2=”$”[ParseParamS1,2,”$”]取出第二个参数param2。StrLTrimS1StrRTrimS1StrTrimS1IPSWITCH系统培训之二22时间操作动作NowTimeTimeAddI1,I2,I3把I1表示的时间按I2指定的类型,增加I3的值,结束存放在I1I2类型:1(秒)、2(分)、3(小时)、4(天)、5(月)、6(年)TimeDifI1,I2,I3按I3的类型,计算I1,I2分别表示的时间的差值,结果存于IR0中I3类型:1(秒)、2(分)、3(小时)、4(天)、5(月)、6(年)7(星期)IPSWITCH系统培训之二23时间操作动作TimePartI1,I2按I2指定的类型,取I1表示的时间的相应部分,结果存于IR0中。I2类型:1(秒)、2(分)、3(小时)、4(天)、5(月)、6(年)、7(星期)IPSWITCH系统培训之二24MakeDateI1,I2,I3把I1作为年份,I2为月份,I3作为日期生成一个整数表示的时间,(时分秒为缺省值),结果存于IR0中。无效日期返回-1。MakeTimeI1,I2,I3把I1作为小时数,I2为分钟数,I3为秒数生成一个整数表示的时间,结果存于IR0中。(年月日为缺省值)无效时间返回-1。时间操作动作IPSWITCH系统培训之二25数据类型转换动作itosI1stoiS1TimeToStrI1,S2StrToTimeS1ftosF1,I2stofS1IPSWITCH系统培训之二26EqualI1,I2EqualS1,S2EqualF1,F2,I3GreatS1,S2GreatF1,F2LessS1,S2LessF1,F2以上的几种比较动作都将产生以下两个事件之一:Passed成立Failed不成立比较判断转移动作IPSWITCH系统培训之二27CaseI1根据I1的值转移到不同的状态执行,它产生一个Case(参数)的事件,对这一事件处理分别迁移到不同的状态即可实现了多分支程序的设计。比较判断转移动作IPSWITCH系统培训之二28SetDTMFS1设置响应的拨号“?”表示所有按键均可响应(缺省)“D”表示0~9的数字按键均可响应“d”表示1~9的数字按键均可响应“”表示所有键均不响应。媒体操作动作IPSWITCH系统培训之二29SetRecInitI1SetPlayInitI1SetIntrDigI1设置拨号的时间间隔(单位为秒),即用户如果在按了一个键后在给定时间内未按下一个键则收号过程结束(产生TimeOut事件),缺省值为5秒。媒体操作动作IPSWITCH系统培训之二30SetMaxSilI1设置录音过程中的最大静音时长为I1秒。即在录音过程中如果出现了给定时长的静音时间,则录音过程结束(产生Record事件),缺省为5秒。SetLangI1设置播放提示音、合成音的语种:I1=1:普通话(缺省)I1=2:本地方言I1=3:英语媒体操作动作IPSWITCH系统培训之二31PromptI1播放第I1段提示音,产生以下事件:StopPlayBack——正常放音结束DialTerminate——放音被按键打断Failed——失败LPromptI1,I2,I3根据语种的值选择播放I1,I2,I3的提示音,产生以下事件:StopPlayBack——正常放音结束DialTerminate——放音被按键打断Failed——失败媒体操作动作IPSWITCH系统培训之二32媒体操作动作MixPlayI1,S1根据语种自动合成语音播放。I1为合成的格式:1(金额)、2整数)、3(字符)、4(日期时间)、5(小数)结束时产生以下事件:StopPlayBack——正常放音结束DialTerminate——放音被按键打断Failed——失败IPSWITCH系统培训之二33PlayFileS1播放语音文件,S1为文件名。结束时产生以下事件:StopPlayBack——正常放音结束DialTerminate——放音被按键打断Failed——失败(一般为文件不存在)媒体操作动作IPSWITCH系统培训之二34ClrMixerAddPromptToMixerI1,I2,I3AddStrToMixerI1,S2AddIntToMixerI1AddTimeToMixerI1,S2AddFloatToMixerF1,I2媒体操作动作IPSWITCH系统培训之二35PlayMixer播放合成音缓冲区的内容。(注意:执行MixPlay将清空合成音缓冲区,执行PlayMixer不会将MixPlay放置的合成音清空。)结束时产生以下事件:StopPlayBack——正常放音结束DialTerminate——放音被按键打断Failed——失败媒体操作动作IPSWITCH系统培训之二36RecordFileS1,I2,I3录音并存入文件中,S1为文件名,I2为最大录音时长(秒),I3是指采取0(覆盖的方式)或1(添加的方式),产生的事件:Record——正常录音结束(由Setmaxsil设置的最大静音时间决定,录音时超出最大静音时间则产生此事件)DialTerminate——录音被话机按键打断TimeOut——最大录音时长已到Failed——失败媒体操作动作IPSWITCH系统培训之二37DialDTMFS1模拟话机拨号,产生一串DTMF串。产生事件:DialTerminate——被对方按键中止StopDial——正常结束中止媒体操作动作IPSWITCH系统培训之二38DigitI1接收一位话机按键,I1为最大时间(秒),接收到的字符值返回SR0,数字值返回IR0(“*”=11,“#”=12)。结束时产生事件:StopDigits(‘值’)——正常收号结束TimeOut——超时没有收到按键媒体操作动作IPSWITCH系统培训之二39语种选择:stWelcome[Prompt2000]//欢迎使用168,普通话请按1,广州话请按2,英语请按3。StopPlayBack-stDigitDialTerminate-stDigitFailed-stExitTimeOut-stExit:stDigit[Digit10]StopDigits(‘1’)

1 / 81
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功