发明内容
本发明要解决的技术问题是提供一种实现视频交互式语音应答业务的方法及业务控制点,解决SCE开发业务周期较长、不具备复用性和移植性的问题。
为解决上述技术问题,本发明的一种实现视频交互式语音应答业务的方法,包括:
业务控制点在话务呼入后,获取统一资源定位符(URL),在所述URL后添加流水号,发送给超文本传输协议(HTTP)服务器,并为所述URL生成后缀数据,将后缀数据***到以所述流水号为索引的URL地址后缀表中;
所述HTTP服务器在接收到所述URL及流水号后,根据所述流水号查询所述URL地址后缀表,得到对应的后缀数据,根据所述URL和后缀数据向主叫用户播放视频。
进一步地,所述后缀数据包含所述话务的会话号和主叫号码;
所述根据所述URL和后缀数据向主叫用户播放视频,包括:所述HTTP服务器为所述话务申请资源,采用所述会话号标识所述话务,根据所述URL获取视频,根据所述主叫号码向所述主叫用户播放获取到的视频。
进一步地,还包括:
所述后缀数据还包含启用红黑名单标志,所述HTTP服务器在为所述话务申请资源前,根据所述启用红黑名单标志判断所述主叫号码是否属于红名单或黑名单,如果属于红名单,则执行所述为话务申请资源的操作;如果属于黑名单,则结束话务。
进一步地,还包括:
所述HTTP服务器接收主叫用户的输入,在所述主叫用户选择交换类功能时,向所述业务控制点发送业务请求消息,在所述业务请求消息中携带消息类型和操作码;
所述业务控制点根据所述消息类型判断所述业务请求消息是否由所述HTTP服务器发送,并根据所述操作码执行相应的交换类功能。
进一步地,还包括:
所述业务控制点在执行相应的交换类功能后,根据执行结果获取需要向主叫用户播放的视频对应的URL,在该URL后添加会话号和视频类型标识,发送给所述HTTP服务器;
所述HTTP服务器根据接收到的URL和视频类型标识获取视频,根据所述会话号向所述主叫用户播放获取到的视频。
进一步地,还包括:
在所述业务请求消息中还携带有客户品牌,所述业务控制点根据所述客户品牌对所述主叫用户进行差异化处理;
在所述操作码指示执行呼转功能时,所述业务请求消息中还携带呼转自动业务类型,所述业务控制点根据所述呼转自动业务类型呼转到对应的自动业务;
在所述操作码指示执行排队功能时,所述业务请求消息中还携带有子业务键,所述业务控制点根据所述子业务键到相应技能组的坐席下进行排队,并根据子业务键记录日志。
进一步地,还包括:
所述HTTP服务器在所述话务在本侧结束时,向业务控制点发送包含操作码指示挂机或HTTP服务器异常的业务请求消息,并释放资源;所述业务控制点接收到所述业务请求消息后,进行资源释放;或者,
所述业务控制点在所述话务在本侧结束时,向所述HTTP服务器发送消息,配置所述消息的操作类型为删除,在消息中携带会话号,并释放资源;所述HTTP服务器接收到所述消息后,判断操作类型为删除,根据会话号释放主叫用户占用的资源。
进一步地,一种业务控制点,包括:通用自动业务处理模块和信息发送模块,其中:
所述通用自动业务处理模块,用于在话务呼入后,获取统一资源定位符(URL),在所述URL后添加流水号,并为所述URL生成后缀数据,将后缀数据***到以所述流水号为索引的URL地址后缀表中;
所述信息发送模块,用于将添加流水号的URL发送给超文本传输协议(HTTP)服务器。
进一步地,所述通用自动业务处理模块,还用于接收所述HTTP服务器发送的业务请求消息,根据所述业务请求消息中携带的消息类型判断所述业务请求消息是否由所述HTTP服务器发送,并根据所述操作码执行相应的交换类功能,根据执行结果获取需要向主叫用户播放的视频对应的URL,在该URL后添加会话号和视频类型标识,发送给所述HTTP服务器。
进一步地,一种超文本传输协议服务器,包括:网页(WEB)应用处理模块和信息收发模块,其中:
所述信息收发模块,用于接收业务控制点发送的统一资源定位符(URL)及流水号;
所述WEB应用处理模块,用于根据所述流水号查询所述URL地址后缀表,得到对应的后缀数据,根据所述URL和后缀数据向主叫用户播放视频。
进一步地,所述后缀数据包含话务的会话号和主叫号码;
所述WEB应用处理模块,具体用于为所述话务申请资源,采用所述会话号标识所述话务,根据所述URL获取视频,根据所述主叫号码向所述主叫用户播放获取到的视频。
进一步地,所述WEB应用处理模块,还用于接收主叫用户的输入,在所述主叫用户选择交换类功能时,向所述业务控制点发送业务请求消息,在所述业务请求消息中携带消息类型和操作码。
综上所述,本发明为视频业务开发者提供一套简单便捷的开发环境,视频业务开发者只需关注视频菜单流程无需了解智能网知识;WEB开发入门要求不高业务容易推广;较之传统的SCE视频业务WEB开发的业务画面质量更好,图文表达更加丰富。
具体实施方式
考虑到采用网页(WEB)应用开发放音功能和收号功能较SCE更加快捷,并且可以利用WEB应用集成开发环境的强大功能,进行单步调试、断点调试,可以随时查看变量的实时取值,既可以提高开发效率,又可以给程序员调试业务带来方便,因此,本实施方式中通过SCE业务负责用户接入和处理各类交换事件、外呼和排队转人工等交换类功能;WEB应用负责菜单和各种视频播放;当流程需要排队转人工或者外呼的时候,WEB应用组装数据,通过BCSM(基本呼叫状态模型)事件发给智能网,智能网收到事件后通知相应的业务会话,业务会话收到后对数据解析,然后根据WEB应用指令完成后续操作,实现将视频IVR流程中的放音功能和收号功能从SCE开发中相分离,以WEB应用进行开发视频业务的方式。
智能网为每一个话务呼入定义一个唯一的编号,称为会话号,会话号唯一确定一个话务呼入,外部程序可以通过会话号与话务呼入通信;智能网还需定义一个BCSM事件,WEB应用注册到智能网上,可以通过BCSM事件与SCE业务通信;SCE业务在触发WEB应用的时候需要在URL地址后面带上会话号,由于信令限制URL不能携带所有的信息给WEB应用,可以通过数据表等方式递数据;这样业务菜单流程都是在WEB应用实现,SCE业务实现外呼、排队上座席和传真等交换类功能;SCE业务将外呼、排队上座席、传真等操作做成模块,并按照操作编号定义好调用接口做成一个通用自动业务,WEB应用就可以根据需要调用需要的功能模块,如此,采用本方法开发视频业务无需了解智能网知识,只须用WEB开发视频菜单页面。
本实施方式中,智能网视频IVR中的放音功能和收号功能使用WEB应用实现,通过SCE开发的通用自动业务只需要实现排队功能、留言功能、传真功能和呼转功能等。
如图1所示,每个话务呼入进入到IVR***中的智能网中的业务控制点上的通用自动业务处理模块,通用自动业务处理模块需要完成前导处理(比如:获取***参数等),然后申请建立与超文本传输协议(HTTP)服务器上的WEB应用处理模块的资源连接,成功后在数据库中读取需要发送的统一资源定位符(URL),本实施方式中保存URL的URL地址配置表(VC_URL_config)的结构如表1所示:
表1
字段名 |
字段类型 |
可至 |
字段描述 |
name |
varchar2(30) |
Not null |
URL地址的名称 |
URL |
varchar2(100) |
Not null |
URL地址 |
remark |
varchar2(256) |
null |
URL地址的详细说明 |
在一次呼叫中首次向WEB应用处理模块发送URL地址时,通用自动业务处理模块需要将一些参数(如主叫号码等)传递给WEB应用处理模块,这些参数用于WEB应用处理模块对本次呼叫进行差异化处理。由于协议的限制,发送的URL长度不能超过128位,如果将所有需要传递的参数都添加在URL后面,其长度肯定要超过128位,因此采用另外一种机制:在数据库中建立一张表用于保存URL的后缀的URL地址后缀表(VC_URL_TAIL),URL地址后缀表以流水号为索引,如下表2所示:
表2
字段名 |
字段类型 |
可至 |
字段描述 |
flowno |
varchar2(20) |
Not null |
流水号 |
URL_tail_value |
varchar2(512) |
Not null |
URL地址后缀部份 |
remark |
varchar2(256) |
null |
后缀部份的详细说明 |
流水号是通用自动业务处理模块从SCP中获取的,具有唯一性,将流水号添加到首次发送给WEB应用处理模块的URL地址后面,并在表VC_URL_TAIL中***该流水号和对应的后缀。后缀部分一般格式如下:会话号^主叫号码^启用红黑名单标志,其中:
会话号由通用自动业务处理模块生成,具有唯一性,作为通用自动业务处理模块和WEB应用处理模块之间交互的标识,通用自动业务处理模块后续发送给WEB应用处理模块的URL地址中均需要含有会话号,WEB应用处理模块以此创建内存区,缓存该次呼叫中的数据并执行相应的操作。
主叫号码用于WEB应用处理模块从相关的配置表中获取用户信息。
当启用红黑名单标志时,WEB应用处理模块会对用户进行红黑名单判断,并根据结果向用户播放不同的视频。
后缀数据部分可根据不同的需求进行修改。
完成上述操作后,通用自动业务处理模块通过SIB向WEB应用处理模块发送URL。WEB应用处理模块接收到后进行解析,判断是否含有流水号,如果含有则从VC_URL_TAIL中查询该流水号对应的后缀数据,并进行解析,随后根据解析结果向用户播放相应的视频。自此,流程进入WEB应用处理模块。
如上所述,排队功能、留言功能、传真功能、呼转功能等需要在通用自动业务处理模块中实现。因此当用户在WEB应用处理模块中选择以上功能时,视频IVR流程需要从WEB应用处理模块返回到通用自动业务处理模块中。WEB应用处理模块通过SCP向通用自动业务处理模块发送业务请求消息,通用自动业务处理模块通过事件接收操作获取到业务请求消息,并进行解析,根据解析出的内容实现相应的功能。
WEB应用处理模块通过SCP发送给通用自动业务处理模块的消息格式一般为:WEBtoauto^OP=操作码^SK=子业务键^BR=客户品牌^CT=呼转自动业务类型。
“WEBtoauto”为消息类型,用于通用自动业务处理模块判断接收到的业务请求消息是否是由WEB应用处理模块发送。
操作码用于指引通用自动业务处理模块进行不同的功能处理,操作码枚举如下:
000-挂机
001-首次排队
002-录制留言视频
003-排队失败后,用户选择再次选择排队
004-呼转
005-传真
006-WEB应用异常,通知通用自动业务处理模块强制释放资源
在WEB应用处理模块释放资源时,通用自动业务处理模块是感知不到的,WEB应用处理模块在释放资源前需要发送包含操作码等于000的消息通知通用自动业务处理模块释放资源。
排队功能需要在通用自动业务处理模块中完成,并且用户首次选择排队时,通用自动业务处理模块需要对排队参数赋初始值,因此WEB应用处理模块需要向通用自动业务处理模块发送包含操作码等于001的消息。
录制留言视频功能需要在通用自动业务处理模块中完成,如果用户选择录制视频,WEB应用处理模块需要向通用自动业务处理模块发送包含操作码等于002的消息。
如果首次排队失败后用户再次选择排队,此时需要对一些特殊参数进行赋值(如排队次数),因此WEB应用处理模块需要向通用自动业务处理模块发送包含操作码等于003的消息。
呼转自动业务功能需要在通用自动业务处理模块中完成,如果用户选择该功能,WEB应用处理模块需要向通用自动业务处理模块发送包含操作码等于004的消息。
传真功能需要在通用自动业务处理模块中完成,如果用户选择传真,WEB应用处理模块需要向通用自动业务处理模块发送包含操作码等于005的消息。
如果呼叫在WEB应用处理模块侧出现异常,通用自动业务处理模块需要释放已申请的资源,因此WEB应用处理模块需要向通用自动业务处理模块发送包含操作码等于006的消息。
关于操作码的类型可以根据需求进行修改。
子业务键用于指引通用自动业务处理模块到相应技能组的坐席下进行排队,并在通用自动业务处理模块记录日志时使用。
客户品牌用于通用自动业务处理模块中对用户进行差异化处理。
呼转自动业务类型用于指引通用自动业务处理模块呼转相应的自动业务,操作码为004时有效。
当在通用自动业务处理模块中完成排队功能、留言功能、传真功能、呼转功能等后,如果需要返回WEB应用处理模块,则从表VC_URL_config中获取相应的URL地址,因为此时WEB应用处理模块已经获取到用户的信息,所以不需要向WEB应用处理模块发送过多的后缀数据,也就不需要向表VC_URL_TAIL中添加数据,只需要发送会话号和视频类型标识即可,将这些数据直接添加到URL地址后面,使用通用自动业务处理模块中的SIB向WEB应用处理模块发送。
当呼叫结束时,通用自动业务处理模块和WEB应用处理模块都需要释放已申请的资源。当呼叫是在WEB应用处理模块侧结束时,WEB应用处理模块在释放资源前需要向通用自动业务处理模块发送消息,操作码为000或006,通用自动业务处理模块在获取到这个操作码后会进行资源释放。
当呼叫是在通用自动业务处理模块侧结束时,通用自动业务处理模块在释放资源前通过SIB利用WINTTCP协议向SCP发送消息,消息内容包括:
字段名 |
字段类型 |
字段描述 |
Operate |
varchar2(20) |
操作类型 |
dialogid |
varchar2(20) |
会话号 |
其中将操作类型赋值为“delete”,会话号即为前面获取到的。SCP将该消息利用WINTTCP协议发送给WEB应用处理模块,WEB应用处理模块获取到后进行解析,判断操作类型是否为“delete”,如果是则释放消息中会话号所占有的资源。
图2为本实施方式的实现视频IVR业务的方法,包括:
步骤201:利用SCE工具开发通用自动业务处理模块,并将通用自动业务处理模块加载到SCP上;
步骤202:开发WEB应用处理模块,将WEB应用处理模块加载到HTTP服务器上,并与SCP建立连接;
步骤203:初始化URL地址配置表(VC_URL_config);
步骤204:话务呼入IVR***后进入到通用自动业务处理模块的前置流程,获取***参数,获取URL地址,在URL地址后面添加流水号,生成后缀数据,向URL地址后缀表(VC_URL_TAIL)中***后缀数据;
步骤205:通用自动业务处理模块利用特定的SIB向WEB应用处理模块发送URL地址;
步骤206:WEB应用处理模块解析接收到的URL地址,判断是否含有流水号,如果有,则根据流水号查询VC_URL_TAIL中的相应后缀数据,解析后缀数据,获取***参数,对主叫号码进行处理,根据会话号申请资源,随后根据不同的***应用和主叫号码类型向用户播放视频;
步骤207:如果用户选择排队功能、留言功能、传真功能或呼转功能,WEB应用处理模块通过SCP发送业务请求消息给通用自动业务处理模块;
步骤208:通用自动业务处理模块接收到消息后进行解析,根据操作码进行相应的处理,如果后续流程中还需要返回WEB应用,则从VC_URL_config中获取相应的URL地址,在后面添加会话号和视频类型标识,通过特定SIB发送给WEB应用处理模块;
步骤209:WEB应用处理模块接收到URL地址后,进行解析,根据会话号和视频类型标识,确定向用户播放相应类型的视频;
步骤210:呼叫在WEB应用处理模块侧结束时,WEB应用处理模块释放资源前向通用自动业务处理模块发送消息通知其释放资源。
呼叫在通用自动业务处理模块侧结束时,通用自动业务处理模块释放资源前通过特定SIB向WEB应用处理模块发送消息通知其释放资源,消息的内容包括操作类型和会话号。
应用示例1:
以下通过一个开发视频IVR业务的实例,说明本实施方式的方法,本实例需要实现进入菜单流程前播放欢迎视频,菜单流程有两个按键,按键1播报预置的视频,按键2转人工服务
本实例中需要使用以下视频,1.3gp:“欢迎使用视频服务热线”;2.3gp:“3G业务体验请按1,人工服务请按2”;3.3gp为预置的3G业务体验视频;4.3gp:“继续排队请按1,否则请挂机。”;5.3gp:“对不起,您的排队次数过多,欢迎下次使用,再见。”。
步骤一:将通用自动业务处理模块加载到SCP上,在SMAP中配置接入码;
本案例中设置的接入码为10000。
步骤二:将WEB应用处理模块与SCP建立连接;
步骤三:运行脚本文件,初始化数据库中的数据;
本实例中使用内存数据库作为流程控制数据库。
下表为URL地址配置表:
步骤四:通用自动业务处理模块获取welcome对应的URL地址,并添加本次呼叫的流水号,修改后的URL地址为:http://10.9.133.89:8080/shcm/video/welcome.jsp?flowno=2010071413230000130,生成后缀数据96^13980000016^1,向表VC_URL_TAIL中***流水号和后缀数据;
flowno |
URL_tail_value |
remark |
2010071413230000130 |
96^13980000016^1 |
|
步骤五:通过特定的SIB将URL地址发送给WEB应用处理模块;
步骤六:WEB应用处理模块从URL地址中获取流水号:2010071413230000130,根据该流水号从表VC_URL_TAIL获取到后缀数据96^13980000016^1,为会话号96申请资源,1表示开启红名单,对主叫号码13980000016进行判断,如果属于红名单表则播放视频1.3gp和2.3gp;如果不属于则结束呼叫;
步骤七:在2.3gp播放完后,用户按2选择人工服务,WEB应用生成业务请求消息WEBtoauto^OP=001^SK=10001^BR=1^CT=0,并将该消息通过SCP发送给通用自动业务处理模块;
步骤八:通用自动业务处理模块接收到消息后进行解析,判断操作码为001,根据子业务键10001获取相应的技能号后进行排队处理,如果首次排队失败,此时并未超过排队最大次数(本实例中排队最大次数为2),通用自动业务处理模块从表VC_URL_config中获取toManualError对应的URL地址:http://10.9.133.89:8080/shcm/video/toManualError.jsp?dialogid=,添加会话号和视频类型标识后URL地址变为:http://10.9.133.89:8080/shcm/video/toManualError.jsp?dialogid=96&errorPoint=1,通过特定的SIB将该URL地址发送给WEB应用处理模块;
步骤九:WEB应用处理模块收到URL地址后,进行解析,根据会话号96和errorPoint=1确定向主叫号码13980000016播放视频4.3gp;
如果用户按1选择继续排队,WEB应用处理模块生成消息:WEBtoauto^OP=003^SK=10001^BR=1^CT=0,并将该消息通过SCP发送给通用自动业务处理模块。通过自动业务处理模块接收到该消息后进行解析,判断操作码为003,累加排队次数后根据子业务键10001获取相应的技能号后进行排队处理。如果排队仍然失败,此时已超过排队最大次数,通用自动业务处理模块从表VC_URL_config中获取toManualError对应的URL地址:http://10.9.133.89:8080/shcm/video/toManualError.jsp?dialogid=,添加会话号和标示播放视频类型的数据后URL地址变为:http://10.9.133.89:8080/shcm/video/toManualError.jsp?dialogid=96&errorPoint=2,通过特定的SIB将该URL地址发送给WEB应用处理模块。WEB应用处理模块收到该URL地址后,进行解析,根据会话号96和errorPoint=2确定向主叫号码13980000016播放视频5.3gp。
步骤十:如果呼叫在WEB应用处理模块侧结束,WEB应用处理模块向通用自动业务处理模块发送包含操作码等于000或006的消息,然后释放资源,通用自动业务处理模块接收到该消息后,进行资源释放。
如果呼叫在通用自动业务处理模块侧结束,通用自动业务处理模块向WEB应用发送消息,其中Operate=“delete”,dialogid=“96”,随后释放资源,WEB应用处理模块收到该消息后,进行解析,判断出Operate等于“delete”后根据dialogid释放主叫号码13980000016占用的资源。
图3所示为本实施方式的业务控制点,包括:通用自动业务处理模块和信息发送模块,其中:
通用自动业务处理模块,用于在话务呼入后,获取统一资源定位符(URL),在URL后添加流水号,并为URL生成后缀数据,将后缀数据***到以流水号为索引的URL地址后缀表中;
信息发送模块,用于将添加流水号的URL发送给超文本传输协议(HTTP)服务器。
通用自动业务处理模块,还用于接收HTTP服务器发送的业务请求消息,根据业务请求消息中携带的消息类型判断业务请求消息是否由HTTP服务器发送,并根据操作码执行相应的交换类功能,根据执行结果获取需要向主叫用户播放的视频对应的URL,在该URL后添加会话号和视频类型标识,发送给HTTP服务器。
图4所示为本实施方式的超文本传输协议服务器,包括:WEB应用处理模块和信息收发模块,其中:
信息收发模块,用于接收业务控制点发送的统一资源定位符(URL)及流水号;
WEB应用处理模块,用于根据流水号查询URL地址后缀表,得到对应的后缀数据,根据URL和后缀数据向主叫用户播放视频。
后缀数据包含话务呼入的会话号和主叫号码;
WEB应用处理模块,具体用于为话务呼入申请资源,采用会话号标识话务呼入,根据URL获取视频,根据主叫号码向主叫用户播放获取到的视频。
WEB应用处理模块,还用于接收主叫用户的输入,在主叫用户选择交换类功能时,向业务控制点发送业务请求消息,在业务请求消息中携带消息类型和操作码。
通过以上步骤完成本***中的视频IVR流程,与传统SCE开发视频IVR流程相比,在本发明的***中开发视频IVR流程主要步骤是设计排队功能、留言功能、传真功能、呼转功能等,并不用关注放音功能和收号功能,并且通过修改配置表VC_URL_config中的URL地址可以快速实现视频IVR流程的开发和修改,因此大幅提高了业务开发的效率,降低了开发成本,可移植性好。