分类:
2008-11-08 21:33:24
——ZingServ平台IVR子系统介绍
2002/12/03
IVR系统的中文译名为"交互式语音应答系统",然而,真正的IVR系统早已超出这种中文译名所描述的功能范围--IVR是一种功能强大的电话自动服务系统。对用户来说,只有理解了这一点,才能真正了解IVR系统的价值;而对产品提供商来说,也只有理解了这一点,才能真正明确产品的应用范围和设计目标。· 按键识别 | · 自动应答 | · 自动转接 | · 自动传真 | · 文语转换 | · 数据库检索 |
· 语音录制 | · 数值运算 | · 逻辑运算 | · 字串运算 | · 比较运算 | · 调用外部程序 |
· Case分支 | · 转子IVR | · 转语音信箱 | · 强制退出 | · 座席/IVR切换 |
一个典型的ZingServ IVR流程是什么样的?
下图是一个最简单的ZingServ IVR流程的例子,即使没有接触过IVR流程的人,也能一看就明白个大概。当然,实际应用中的流程要比这个例子复杂得多,但有了图形化拖挂式工具的帮助,编辑起来并不困难。
ZingServ IVR的23个节点功能模块是什么?
IVR流程实际上是由一连串功能/判断节点串接而成的,它与我们日常的工作流程、业务流程有许多相象之处。在ZingServ平台中,已经将IVR应用中的常用功能全部提炼出来,它们最终表现为23个功能模块,只要将这些模块布署到不同的节点上,就能编辑出非常复杂、非常实用的IVR流程,还能大大减少二次开发的工作量。
播放语音:播放指定的语音文件,同时还能检测用户按键并作出响应。 | |
录制语音:将用户的语音录制到指定文件。 | |
停止录音:停止当前的录音操作。 | |
保存输入:将用户按键输入保存到指定变量中。 | |
转接分机:将外线用户转接到指定分机。 | |
转接队列:将外线用户转接到指定的技能组、群组或队列。 | |
取消转接:取消转接分机或转接队列操作。 | |
SQL操作:连接一个数据库并执行一个SQL语句。 | |
取查询结果:取SQL操作模块返回的查询结果。 | |
关闭连接:关闭和指定数据库的连接。 | |
本地数据库操作:可通过SQL语句直接访问系统数据库(Mysql)。 | |
比较运算:比较两个字串变量或常量是否相同。 | |
WEB访问:访问指定的URL并得到返回的结果。 | |
取得系统参数:查询系统参数,如系统时间、来电外线通道号或来电号码。 | |
数字转语音:按指定的格式读出给定的数字、日期、金额等。 | |
数值运算:计算一个数学表达式。 | |
逻辑运算:计算一个逻辑表达式。 | |
字串运算:进行字串合并、取字串长度、取子串、查询子串等操作。 | |
文本转语音:将指定的文本转换成语音播报出来。 | |
转接子IVR:转入事先编辑好的一个子IVR流程。 | |
Case分支:根据指定变量的不同值,转入不同的模块。 | |
转语音信箱:将IVR流程转入到系统内任意一个语音信箱。 | |
退出:结束与用户的语音交互过程。 |
流程的节点之间通过什么机制实现串接呢?
ZingServ IVR主要通过事件响应和后向关联路径机制来实现节点之间的串接。我们知道,在每一个节点,都有可能发生多种事件,例如客户按键事件或操作超时、错误事件,ZingServ IVR首先侦测或判断在某个节点所发生的事件类型,然后根据事先设置好的路径执行节点转接动作。
在ZingServ IVR中,不同模块所支持的事件各不相同:有些模块几乎支持全部事件,因为它们经常要做流程中的"交通"枢纽(例如作为入口节点的播放语音模块);有些模块只支持一两个事件,因为它们只是一些特殊或简单的功能模块。
除了根据事件设置节点路径之外,ZingServ IVR还能通过Case分支模块来根据一个变量的取值设置节点路径。
ZingServ IVR支持的事件列表如下:
· 单键输入:数字0-9 //用户按拨号盘上0-9键
· 单键输入:*,# //用户按拨号盘上 * 或 # 键
· 单键输入:任意键 // 用户按拨号盘上0-9,* 和 # 中的任意一个键。
· 多键输入:以 * 结尾的字符串 // 用户按拨号盘上一串数字键,并以*号结束。
· 多键输入:以 # 结尾的字符串 // 用户按拨号盘上一串数字键,并以#号结束。
· 多键输入:分机号码 // 用户输入了一个分机号码。
· 成功 // 操作成功。
· 失败 // 操作失败。如播放语音时语音文件不存在,或进行数据库操作,外部程序调用,取系统参数,读数字,进行运算操作,取子串,TTS播放语音时,由于具体设置不完善或不准确而导致失败,等等。
· 3次失败 // 连续调用该模块3次都失败。
· 超时 // 例如,播放完语音后都要设置一段等待时间,在这段时间内用户没有输入触发节点跳转的按键,就被认为是超时。
· 超时3次 // 连续发生3次超时事件。
· 结束 // 操作完成。
· 无法接通 // 例如,转接分机、队列或技能组时无法接通。
· 挂机 // 例如,在播放语音和TTS等过程中检测到挂机事件。
· 传真信号 // 检测到传真信号。
ZingServ IVR流程中的参数指什么?
参数是指模块的操作参数和结果参数,前者是模块在执行操作时需要使用的参数,后者则是模块在执行操作后产生的参数。
并不是所有的模块都有操作参数和结果参数,有些模块可能只有其中的一个,有些模块两个参数都没有。例如:播放语音模块必需有操作参数--要播放的语音文件的文件名,但它没有结果参数;存储变量模块必需有结果参数--变量名,但它没有操作参数;运算模块既有操作参数,也有结果参数;取消转队列模块和退出模块则没有参数。
变量在IVR流程中起到什么作用呢?
许多模块都要使用参数,有了变量,参数的使用就非常灵活了,例如:可以把一个模块的结果参数存成一个变量,然后让其他模块把这个变量当作操作参数使用;此外,当执行数据库存取操作时,可以使用一组变量来取出多条记录中的多个字段,或者写入。
ZingServ IVR支持非常灵活的自定义变量的使用,变量名可以由英文字母、个阿拉伯数字和符号"_"组成。在ZingServ标准版本中,一个IVR流程最多可使用40个自定义变量。
此外,ZingServ IVR还提供了多个特殊的自定义变量,可以用来在座席软件激活外部应用程序时传递参数。
除自定义变量外,ZingServ IVR还提供了多个系统变量,用来存储主叫号码、被叫号码、通道号码和呼入时间等,用户在定制流程时可以直接使用。
怎样编辑一个ZingServ IVR流程呢?
很简单,启动ZingServ IVR流程的定制工具IVRMaker后,新建或打开一个流程,然后按照以下4步进行操作:
1. 在要布署节点的位置添加一个相应的功能模块。
2. 编辑模块的属性,例如设置它的参数和节点名称,见下图。
4. 将流程保存起来,你可以选择多种保存形式:草稿,直接启用,文件形式,等等。
ZingServ IVR流程的语音提示文件是怎样产生的呢?
ZingServ IVR的播放语音模块中,提供了现场录放语音提示文件的界面,你可以通过电话或电脑声卡来录制语音提示文件。
此外,ZingServ IVRMaker还提供了上载语音提示文件的功能,你可以把事先录制好的语音提示文件直接上载到ZingServ IVR中。
在ZingServ的系统配置工具中,你还可以把IVR语音提示文件全部备份出来,以便出现意外时可以迅速恢复这些语音提示文件。
怎样在ZingServ IVR中录制客户留言呢?
有两种方式,一种是通过ZingServ的录制语音模块来灵活设置录音的起点、终点和录音长度,如客户投诉和客户建议大都通过这种方式来,这时录音文件的名称可以使用自定义变量,便于在二次开发中使用。
另一种是直接转到一个指定的语音信箱,此后用户可以通过设定权限的座席软件来查看和播放这些客户留言语音文件,管理起来也很方便。
ZingServ IVR是怎样支持TTS功能的呢?
在ZingServ IVR中,提供了两种TTS模块:一种是文本转语音,它的操作参数可以直接是一段文本,或者是一个文件,而且文件名还可以采用变量;另一种是数字转语音,它可以按照货币、数字、日期等多种格式朗读数字文本。
ZingServ IVR中的TTS模块支持中英文播报,并且已经将播报效果设置到最佳状态。
ZingServ IVR是怎样访问数据库的呢?
ZingServ IVR既可以访问外部数据库,也可以访问ZingServ自身的数据库。
ZingServ标准版本中的IVR可以直接通过SQL语句存取Mysql,Oracle,Sybase和MSSQL Server这4种数据库,并且可以通过变量一次对多条记录中的多个字段进行操作。这种方式大大减少了二次开发的工作量,给集成商和最终用户带来了许多方便。
ZingServ IVR为什么还要调用外部程序呢?
如果要把IVR设计成一个强大的自动服务系统,有时候用户需要IVR能访问一些定制的应用程序,如果IVR能够提供一个可以访问外部程序的接口,就能为用户提供很大的灵活性。ZingServ直接把这个接口作成一个模块,用户只要做简单的设置,就能调用一个外部程序,可以把IVR中的参数带给这个外部程序,还能把外部程序的执行结果返回给IVR。这种方式同样能节省二次开发的工作量。
ZingServ IVR为什么要支持多种运算操作呢?
如果要在IVR中频繁调用外部程序,势必会影响IVR的执行效率,因此要尽可能地把通用的功能放到IVR中。ZingServ支持比较运算、数值运算、逻辑运算和字串运算,既可以帮助用户实现更灵活的功能,进一步节省二次开发的工作量,又能有效地提高系统的运行效率。在ZingServ IVR的未来版本中,还会把更多的通用功能加入进来。
怎样才能简化一个复杂的IVR流程的编辑和维护工作呢?
ZingServ IVR专门为此设计了一个转接子IVR模块。你可以把那些深层次的IVR流程分支看作一个个独立的IVR来编辑,然后编辑一个一目了然的主IVR流程,让主IVR流程通过转接子IVR模块来调用那些流程分支,这样,再复杂的IVR流程也可以简化。
ZingServ IVR的转接子IVR模块不仅可以转到另一个IVR流程的入口节点,还可以转到其中的任意一个节点,它为您编辑复杂的IVR流程提供了足够的灵活性。
ZingServ IVR流程编辑或修改后怎样动态加载呢?
在ZingServ的系统配置工具中,你可以设置任何一个通道在任何一个时间段内启用任意一个已经编辑好的IVR流程,还可以专门设置假期中启用哪个IVR流程,我们称这一步工作为设置IVR计划。
如果您已经在IVR计划中启用了某个IVR流程,以后修改这个流程后,只需保存一下,系统就会自动把这个修改完的流程加载到IVR计划中,这种方式就是IVR流程的动态加载。