工具下载:
IVR流程开发工具-CoolDraw及说明文档
IVR流程服务器、网关工具 IVR流程调试工具
一、IVR平台介绍和开发
-----------------------名词------------------------
ACD:(Automatic Call Distribution) - 自动服务分配设备
即成批的处理来话呼叫,并将这些来话按指定的转接方式传送各个人工座席
IVR:(Interactive Voice Response) - 交互性语音应答
PBX:(Private Branch Exchange) - 用户级交换机(俗称:程控交换机、电话交换机、集团电话)
PBX是现代办公常用的电话通讯管理手段的一种,使电话管理者可集团性管理外线来电与内线呼出
CTI:(Computer Telephony Integration) - 计算机电话集成
它是指计算机化的呼叫中心,例如将您的呼叫直接接入到正确的地点
APP:(Application) - 应用程序
---------------------------------------------------
IVR平台组成部分:
1)业务流程:为用户提供服务的IVR业务流程服务序列定义
2)流程服务器:解析业务流程的服务器
3)语音服务器:驱动语音硬件的服务器,提供放音、录音
4)开发工具:用户定义业务流程开发流程的可视化工具
IVR系统逻辑结构:
1)接入层:驱动语音设备的硬件,提供用户接入,处理信令、接续,实现用户与语音平台的话路接通
2)CTI集成层:服务器供应层,提供IVR业务所需要的底层服务,语音、传真、坐席等,并且扩展到认证、网关、短信、互联网等
3)应用层:IVR业务层,提供各种IVR流程服务
Wise Center呼叫中心:
一套呼叫中心整体解决方案
流程设计-项目文件
1)流程工程文件 - *.GFP,管理整个IVR流程的其他文件。
2)图形文件 - *.GFS,IVR项目中的一个图形化流程文件,每一个流程对应一个GFS文件,其中主流程必须是main.gfs,子流程可以任意命名。
3)脚本文件 - *.TFS,在IVR项目中,所有的图形化流程文件经过初步编译即产生一个TFS脚本文件,TFS是流程中间代码。
4)流程文件 - *.FLW,在IVR项目中,编译TFS脚本文件就产生最终的流程文件*.FLW,FLW文件就可以加载到流程服务器运行的最后文件了。
5)配置文件 - *.INI,每一条流程可以配置一个INI文件用于配置动态数据
IVR流程开发调试:
1、安装CoolDraw
2、新建流程工程(*.gfp)
3、新建编写图形流程(*.gfs)
4、编译图形流程转成脚本流程(*.tfs)
5、编译脚本流程转成流程文件(*.flw)
6、配置流程服务器(CCFS)
1)、Data\Ccfs.ini -- 流程服务器配置文件:通讯配置(IVR服务器、HTTP网关、LOG等配置)
2)、Data\Flow.INI -- 流程配置文件:流程配置(流程名称、编号[入口编号]、流程文件[flw文件]、参数文件[ini文件]、工作目录[flw/ini目录位置])
7、启动ccfs,加载flw流程文件
8、VPhone -- ivr流程虚拟机调试
注意:CoolDraw节点的使用,函数、动作的说明请参考Cool Draw参考手册
变量:
局部用户变量:在包含子流程的项目中,子流程与主流程的局部用户变量不共享
全局用户变量:在包含子流程的项目中,子流程与主流程的全局用户变量共享
INI参数变量:读取配置在*.ini文件中的内容;修改两个地方[配置文件、INI参数变量]。使用方法
@key
系统内置变量(系统寄存器):
SR0 ~ SR29:字符串变量,SR0经常用于存放系统函数返回的结果字符串
IR0 ~ IR29:整数变量,IR0经常用于存放系统函数返回的结果整数值
FR0 ~ FR29:小数变量,FR0经常用于存放系统函数返回的结果整数值
FD0 ~ FD29:字符类型,数据库记录集返回值存放的变量
[系统变量] – 采用$开头识别,注:字符串类型的长度必须小于256字符
$SESSIONID:整型,是系统流程内部ID号,运行时唯一;
$PrivateData:字符串,用户自定义数据
$FlowType:整形,流程编号
$VoiceDir:字串型,是当前的录音文件路径,当流程中使用相对路径时使用。
$WORKDIR:字串型,是流程的工作目录。
以下是呼叫信息:
$ProfileNo:整型,$Dialed:字符串,$Access:字符串,$Author:字符串,$Account:字符串,$TrunkGroup:字符串,$Circuit2:字符串,$Rou:字符串,$Extension:字符串,$PrivateString:字符串,$SwitchID:字符串
IVR调用HTTP请求:
1、配置并启用HTTP网关服务
2、配置流程服务器的网关信息
3、环节调用
1、HttpGW.ini -- HTTP网关配置文件
[LocalServer]
;机器编号
ServerID=15
IPNum =1
IP1 =192.168.88.56
;端口
Port =8150
Logfile = log\HttpGWComm.log
[Gateway]
;Http模块编号
ModuleID = 80
2、Ccfs.ini -- 流程服务器配置文件
;Local server section
[LocalServer]
ServerID=12
IPNum=1
IP1=192.168.88.56
Port=8120
Logfile=Log\CCFSComm.log
AutoIP=0
;Remote Server section
[RemoteServer1]
ServerID=13
Name=UnPBX服务器
IP=192.168.88.56
Port=8130
[RemoteServer2]
Name=HTTP网关
;机器编号 -- 与HttpWG.ini的ServerID相同
ServerID=15
;与HttpWG.ini的IP1相同
IP=192.168.88.56
;端口 --
与HttpWG.ini的Port相同
Port=8150
3、环节调用
参数1:数据网关(机器编号*100+模块号)
-- 机器编号:ServerID; 模块编号:ModuleID
参数2:命令ID
-- 默认: 1,暂时不清楚如何配置
参数3:命令字符串
-- 请求URL - 必须以“http://”或者“https://”开头才认为是合法url
如:Do DirectRequestData[1580, 1, "http://www.google.com"]
返回参数:
Status: <0 - 表示出错,FD0存放出错描述;其它 - 等于web server返回的状态字,如:200表示成功
FD0: status>0时,存放web server返回的html内容
常见问题:
1、子流程中注意begin节点,不要勾选“主函数类型的开始节点”,否则调试的时候一直处于输入按键阶段。
2、执行动作-调用子流程(CallFunc),不带参的Returned必须在带参的Returned(0)后面。
3、变量的使用方法
系统变量:$Author
全局变量/局部变量:CardNo
配置文件变量:@CPDir
4、使用通用节点执行CallFunc动作时,参数1必须加&。如:&FCP_PlayDetail
5、设置挂机调用流程 OnStopFlow