基于SmarTele语音流程脚本语言构建IVR系统的研究
2009-02-23祁长兴
祁长兴
1序言
交互式语音应答(IVR)是呼叫中心系统的重要组成部分。通过IVR系统,客户可以在普通的电话上通过按键输入其服务请求及相关信息,而IVR系统则根据客户请求,自动访问呼叫中心或企业后台业务系统中的资源,完成客户的服务请求,并将执行结果通过电话、传真等方式提供给客户。本文主要论述使用强讯的SmarTele语音流程脚本语言构建IVR系统。
2IVR语音服务器
IVR语音服务器一般与PBX直接相连,来话首先接入PBX,然后转到IVR系统。IVR服务器主要完成自动语音导航、自动语音及流程、传真服务器的功能。强讯公司的ctsIVR语音服务器,包含了自动语音应答及流程设定、数据库访问及修改、传真服务器、VoIP电话网关、语音合成及识别、人工座席服务、与呼叫中心(CTI)接口、通过TCP/IP与其他系统透明连接、业务量统计查询等多种功能。IVR语音服务器是语音流程文件的运行环境,是保证IVR系统能正确稳定运行的基础。
3用SmarTele构建语音流程文件
SmarTele是用于实现语音流程定制的语音流程脚本语言。SmarTele脚本语言采用开放式结构,以独立文本文件为信息存放基础,文件之间可以相互调用,简便易学,维护方便。同时提供了“TeleEdit.exe脚本编辑器”工具编辑修改,也可以使用记事本等工具编写。
3.1SmarTele的基本功能
一个完整的语音流程,可以由一个或多个语音流程文件组成,一个流程文件是由若干个语音节点组成的,通常,以.dat为文件的扩展名。一个流程文件不能超过10000行,每个节点不能超过100行。
一个语音节点的模式为:
NODE=1
节点命令[参数1、参数2……]NEXT=[下一个节点号]或
节点命令[参数1、参数2……]NEXT=[Sx:下一个节点号]或
节点命令[参数1、参数2……]LINK=[系统流程号]
NODE=2
节点命令[参数1、参数2……]NEXT=[下一个节点号]
说明:
(1)语音节点:
节点格式1:“NODE=x”
节点格式2:NODE=x:
(2)节点命令:完成语音的一个基本操作,例如:用于录音、放音、拨号等的PLAY_VOX、PLAY_ONE_DTMF等命令或内置函数。
(3)参数1、参数2……:不同的节点命令,需要不同的参数。
NEXT=[下一个节点号]:流程下一步要执行的操作。
NEXT=[Sx:下一个节点号]:Sx:必须为$1-$99,存放流程文件名;下一个节点号:为数字或D1-D99。
LINK=[系统流程号]:将流程下一步连接到应用程序中。
3.2通过SmarTele实现动态操作和播报语音信息
在通常的呼叫中心的IVR系统中,对数据库基础数据及外部文件等动态数据的访问和调用是非常必要的。SmarTele主要通过以下几种主要的方式实现对动态信息的调用和访问:
(1)通过内置函数来直接访问ODBC,操作SQL语句来实现对数据库的访问与操作
格式:DB_CONNECT DATABASE=[数据库名]:UID=[user];PWD=[pass];DSN=[ODBC名],然后通过调用DB_FIND、DB_UPDATE、DB_ADD等内置函数,输入相应的SQL语句,实现对数据库的调用与操作。
(2)通过访问DLL调用动态连接库文件
由于SmarTele内置函数有限,有时候不能解决某些比较复杂的操作,系统提供了一个名称为ctaCallDll.dll的函数集,增强对业务处理的功能。
(3)通过通讯网关访问数据库
IVR语音平台向网络中的代理服务器(客户端)通过TCP协议发出一个请求,等待(最长三分钟)客户端返回消息后,语音流程继续执行下面任务。
用法:REQUEST inReg outReg Wait-Time NEXT=X
参数:
inReg:是向客户端传送的消息变量,可以是S1-$99,最大长度为250。
TCP格式为:IVRCMD;CH=XX;RE-QUEST=inReg;
outReg:是客户端传回的消息变量,可以是$1-$99,最大长度为250。
客户端返回的消息格式应为:RE-SPONSE XXX,系统自动将XXX存入out-Reg中。
WaitTime:等待的时间,单位是秒,如没有此参数则系统默认最大等三分钟。
通过这种方法,可以通过代理服务器。访问远程数据库、大型数据库、保密数据库等。
(4)与FIS引擎结合动态播报信息
通过FIS语音播报引擎,将相应的播报内容生成语音文件,返回该语音文件所在的路径后调用节点命令,实现对语音信息的播报。
4语音文件的测试与部署
通常编写好的语音流程文件的入口文件为start.dat,可以通过TeleDebug.exe对IVR系统进行调试,同时以TeleSpy.exe为系统环境测试监控。这两个工具为开发测试提供了便捷。将IVR相关的语音流程文件放入IVR服务器指定的目录下,启动并正确配置ctsIVR语音服务器。
5总结
综上所述,用SmarTele语音流程脚本语言来构建IVR,简单易学,部署方便,系统运行稳定,目前很多大的企业和单位都有着可靠的应用。