IAD上实现IVR实时编程的方法、装置及应用方法、系统与流程

文档序号:11732143阅读:273来源:国知局
IAD上实现IVR实时编程的方法、装置及应用方法、系统与流程

本发明涉及接入设备,尤其涉及在综合接入设备上实现ivr实时编程的方法及装置。



背景技术:

ivr(英文全称为:interactivevoiceresponse)即交互式语音应答,是自助服务的重要设备,为完成引导用户进行选择、自动语音报读、自动传真收发等功能,也是现代设备客服中心实现7×24小时服务的重要手段。从ivr使用者角度看,一个好的ivr系统应该具有以下特点:语音清晰、导航菜单简单明确;语音流程应由用户控制,在每一个播放点上都能够:重读、返回开始、具有自动语音帮助功能、能够在放音过程中拨号、具备语音识别及文字语音转换的集成。iad(综合接入设备,internetaddictiondisorder)设备的ivr系统除了要设置各种网络、语音的参数外,还要能读取当前设置的网络及语音参数。

iad一般应用于嵌入式系统中,受限于存储空间及硬件的运算能力,不能达到大型ivr服务器的功能,目前主要是通过用预先编程的手段,把拟定好的流程写好,通过编译器把代码编译为可执行的机器目标码,给iad设备升级编译出来的目标码,再由iad设备执行ivr的操作控制流程。而对ivr进行升级时,需要把机器码擦写大片的flash芯片空间和重新加载升级后的机器码来对其进行升级更新,但是这样的升级更新时,会带来很多的弊端。比如,设备正在运行中,擦写flash芯片的时候,为了防止其他应用程序对擦写工作的干扰,必须把系统锁住,保护擦写程序的运行环境,意味着这时iad设备已经暂时脱离了工作状态,不能提供服务;在升级程序期间,设备要完成软件版本号检查,版本适用性检验,版本校验;在擦写flash过程中,设备严禁掉电,否则flash中的目标码将会变成不完整,将无法正常启动;flash芯片本身也有擦写寿命,过于频繁的升级会造成flash寿命的损耗,增加设备故障的风险;同时频繁升级的话,就会产生比较多的版本,也会为版本管理带来不利的影响。对于在线使用的设备,升级不可避免的会造成客户应用中断,增加了客户投诉风险。最后,所有ivr流程修改都必须经过软件开发人员修改代码,重新编译后,形成新的软件版本,用户需求种类多的时候,会造成版本繁多,版本管理困难。因为要软件开发人员进行二次开发,对研发力量依赖度高,往往会对客户的相应速度较慢。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种iad上实现ivr实时编程的方法,其能够解决现有技术中ivr升级更新过程中操作麻烦、不便于使用、管理等问题。

本发明的目的之一采用以下技术方案实现:

本发明提供了iad上实现ivr实时编程的方法,包括以下步骤:

s1:接收并获取xml配置文件;

s2:获取并判断voip模块是否启动,若是,则voip模块初始化并执行s6;若否,则依次执行s3、s4和s5;

s3:向voip模块发送ivr配置更新的通知;

s4:通过voip模块读取xml配置文件;

s5:暂停接入设备的运行环境,执行s6;当配置完成后,恢复接入设备的运行环境;

s6:根据xml配置文件配置sip的digitmap模块和ivrextend模块;

所述digitmap模块用于根据预设的号码规则表对用户的拨号进行匹配得出对应规则关联操作,然后报告给ivrextend模块;所述ivrextend模块用于解析对应规则关联操作并执行;所述号码规则表是根据xml配置文件生成的。

优选地,所述xml配置文件记录了ivr的参数和流程;所述号码规则表用于保存拨号与规则关联操作之间的对应关系;所述号码规则表是根据ivr的参数和流程生成的。

优选地,所述对应规则关联操作至少包括ivr的播放、配置获取以及修改配置。

为了克服现有技术的不足,本发明的目的之二在于提供一种iad上实现ivr实时编程的装置,其能够解决现有技术中ivr升级更新过程中操作麻烦、不便于使用、管理等问题。

本发明的目的之二采用以下技术方案实现:

本发明还提供了iad上实现ivr实时编程的装置,包括:

配置文件获取模块,用于接收并获取xml配置文件;

判断状态模块,用于获取并判断voip模块是否启动,若是,则初始化voip模块并执行配置模块;若否,则依次执行通知模块、解析模块和动态配置模块;

通知模块,用于向voip模块发送ivr配置更新的通知;

解析模块,用于通过voip模块读取xml配置文件;

动态配置模块,用于暂停接入设备运行环境,执行配置模块;当配置完成后,恢复接入设备运行环境;

配置模块,用于根据xml配置文件配置sip的digitmap模块和ivrextend模块;

所述digitmap模块用于根据预设的号码规则表对用户的拨号进行匹配得出对应规则关联操作,然后报告给ivrextend模块;所述ivrextend模块用于解析对应规则关联操作并执行;所述号码规则表是根据xml配置文件生成的。

优选地,所述xml配置文件记录了ivr的参数和流程;所述号码规则表用于保存拨号与规则关联操作之间的对应关系;所述号码规则表是根据ivr的参数和流程生成的。

优选地,所述对应规则关联操作至少包括ivr的播放、配置获取以及修改配置。

为了克服现有技术的不足,本发明的目的之三在于提供一种iad上实现ivr的应用方法,其实现了综合接入设备的ivr的应用问题。

本发明的目的之三采用以下技术方案实现:

本发明还提供了iad上实现ivr的应用方法,包括以下步骤:

接收用户的拨号;

通过digitmap模块根据拨号在号码规则表中匹配得出关联操作并报告给ivrextend模块;所述号码规则表是根据xml配置文件生成的;

通过ivrextend模块解析该关联操作并得出后续动作并执行。

优选地,所述后续动作至少包括播放语音、拨号进行音信号、上报配置参数、获取参数以及继续接收号码。

为了克服现有技术的不足,本发明的目的之四在于提供一种iad上实现ivr的应用系统,其实现了综合接入设备的ivr的应用问题。

本发明的目的之四采用以下技术方案实现:

本发明还提供了iad上实现ivr的应用系统,包括:

号码获取模块,用于接收用户的拨号;

匹配模块,用于通过digitmap模块根据拨号在号码规则表中匹配得出关联操作并报告给ivrextend模块;所述号码规则表是根据xml配置文件生成的;

执行模块,用于通过ivrextend模块解析该关联操作得出后续动作并执行。

相比现有技术,本发明的有益效果在于:通过本发明从实现接入设备上的ivr的实时编程更新,解决了现有技术中ivr升级更新过程操作麻烦、不便于使用、管理等的问题,大大提高了升级的效率、操作简便性,降低了工程师开发的难度。

附图说明

图1为本发明提供的当voip模块未启动时的ivr实时编程的方法流程图;

图2为本发明提供的当voip模块已经启动时的ivr实时编程的方法流程图;

图3为本发明提供的iad上实现ivr实时编程的装置模块图;

图4为本发明提供的一实施例的应用方法流程图;

图5为本发明提供的一实施例的应用系统模块图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述:

本发明提供了一种iad上实现ivr实时编程的方法,是用于实现对ivr的升级更新的操作。

ivr编程的内容包括流程和参数,流程与参数均采用文本方式作为记录载体,同时考虑到配置解析参数通用性的问题,本发明中采用xml格式来进行记录。xml语言为可扩展标示语言,可用来定义其他语言的一种元语言,其前身是sgml(标准通用标记语言),它没有标签集、也没有语法规则,但是其有句法规则。通过使用xml来存储ivr的流程和参数,其文件的大小只有几kb,仅仅类似于iad的配置参数区的大小。因此,在更改流程时的保存操作就相当于做了一次iad正常的配置参数存储操作,只需擦写很小的区域即可实现,把风险降到了最低。

本发明中对于ivr的流程与参数均记录与xml配置文件中,并通过xml配置文件中的基本节点来实现。其设计如下:对于基本节点的设计包括default_file_type(表示媒体文件的格式)、digit_group(表示号码组配置信息)、digit_type(表示号码类型配置信息)、voice_parse(表示媒体解析规则)、default_anounce(表示默认音配置信息)。

1)对于,default_file_type:一般来说,在播放文件时,采用何种方式从媒体文件中或相应的媒体数据。比如standard_header_type格式。当然也可以根据客户需求设置不同文件格式。

2)对于,digit_group:ivr进入的状态需要在xml配置文件中进行定义,该ivr进入的状态包括读取参数、设置ip、设置号码等等。而记录这些状态的就是通过digit_group来记录的。该digit_group的数量可根据ivr中所需要的功能项在xml配置文件中任意增加,但是其节点名称不可重复,比如可通过group_1、group_2等进行命名。优选地,对于每个digit_group都需要配置其对应参数,包括以下几种:

a、group_id:为sip号码表模块中的号码组序列号,用数字表示组的编号,这个数字是digit_group被voip模块识别的唯一标记。

b、unmatch_action:ivr进入在此号码组所代表的状态时,用户所拨的号码不能匹配号码组中任何号码串单元时,所采用的后续动作;该后续动作又包括:target_group(表示用户所拨打的号码串不能匹配当前号码组下的所有号码类型时,呼叫状态进入的digit_group的group_id)、start_timer(表示进入新的号码组后的起始定时器,即等待用户进行重新拨号的时间)、announce(表示播放声音配置,announce_x,x为声音节点,每个announce又包括以下节点:

anounce_type(表明动态语音dynamic、静态语音static、还是进程音信号signal)、file_name(为语音文件名*)、sector(为需播放语音文件中的片段号*)、payload(为语音的编码方式*)、disp_type(为动态语音所表示的数据类型**);signal_id(为进程音类型号***));

其中“*”是指anounce_type为static时使用的参数;“**”是指anounce_type为dynamic时使用的参数;“***”是指anounce_type为signal时使用的参数。比如,file_name表示当anounce_type为static时该file_name的参数值才会生效。

3)对于,digit_type:digit_type实际是代表一个号码串,同一个号码串在不同的呼叫状态下,所代表含义、触发的动作可能是不一样的。所以digit_type必须在不同digit_group下的才能起作用。根据每个digit_group下,需要拨打的号码串来定义digit_type,任意增加digit_type的子节点,其子节点名称可定义为type_1、type_2等,同时子节点名称不能重复出现。

其中,每个digit_type均包括以下参数:digit_str(号码单元内容代表某个功能的号码串,其格式遵循号码表格式的规定,以’(‘为开始,以’)’为结束)、digit_type(为实际号码表的号码类型号)、actions(匹配后的后续动作,可有多个action,以action_x为编号:每个actions又包括owner_group_id(表示生效号码)、target_group(匹配后生效的号码组)、report_data(为是否上报匹配号码串)、set_type(为上报号码串所设置的数据类型)、anounces(与号码组的规定相同))。注意,actions是只能执行一个action,其执行条件,就是与当前生效号码组匹配的owner_group_id。

4)对于,voice_parse:语音解析类型用于配置动态播放语音类型的具体参数。所述动态播放语音类型包括ip_address、mac_address、net_port、dhcp_enable等。每种类型下,都可定义不同的片段,可命名为one、two等,并且每个片段的语音参数包括file_name:、(语音文件名)、sector(文件中的片段序号)、payload(语音编码方式)。

5)对于,default_anounces:默认声音类型实际上包括了一个annouce的配置项,比如忙音。

因此,如图1所示,本发明所提供的方法还可分为两种情况,一种是指voip模块未启动时,也即是接入设备还未运行,包括以下步骤:

s11:对voip模块进行初始化;

s12:读取xml配置文件并解析;

s13:根据xml配置文件来配置更新sip的digitmap模块和ivrextend模块。

该方法是用于实现voip模块未启动时来实现加载ivr的流程与参数的过程。其中,voip(全称为voiceoverinternetprotocol)是表示接入设备;该xml配置文件中记载了ivr的流程与参数。sip(sessioninitiationprotocol)表示为会话初始化协议。接入设备进行通信时,均采用该协议进行通信。

digitmap模块是存在于媒体网关内的一种拨号方案,用于检测和报告终端的拨号事件;是用于接收用户的拨号并根据配置的号码规则表对拨号进行号码匹配,并得出对应规则关联操作报告给ivrextend模块。也即是该digitmap模块是用于拨号控制的模块,用于判断当前所拨打的号码是否符合进一步处理的要求;若否,则继续等待用户拨打下一个号码,若是,则根据该号码表规则匹配到对应的规则关联操作并报告给ivrextend模块。而ivrextend模块(interactivevoiceresponseextend交互式语音应答扩展模块)是用于根据规则关联操作执行ivr的播放、配置获取、修改配置等操作。该号码规则表中记录了号码与规则关联操作之间的对应关系,该号码规则表是由ivr的参数和流程得到,也即是在配置更新digitmap模块和ivrextend模块时,是对号码规则表以及ivrextend模块的参数进行更新的。

在对ivr进行升级时,该首先从xml配置文件中获取哪些号码排列是属于调用ivr功能的,然后配置到digitmap模块的号码规则表中。而ivrextend模块用来获取xml配置文件中关于每一种号码排列所对应的动作,比如包括播放哪一段音频文件、设置或获取当前的那个voip配置项等等。由于,该接入设备还未运行,因此,在升级更新ivr时并不影响接入设备的使用,可直接对其进行配置更新。

如图2所示,当voip模块已经启动,也即是接入设备处于运行环境下,该方法包括以下步骤:

s21:向voip模块发送ivr配置更新的通知;

s22:通过voip模块读取xml配置文件并解析;

s23:暂停接入设备运行环境,然后配置sip的digitmap模块和ivrextend模块,当配置完成后,恢复接入设备运行环境。

该方法是用于在接入设备运行的过程中,即voip以及启动的状态下,对设备进行配置更新ivr的参数和流程。另外,在配置sip的digitmap模块和ivrextend模块时,需要将其运行环境暂停,也即是所有的语音操作均暂时阻塞。比如,在配置操作时,用户是打不通接入设备的。但是由于本发明中ivr的流程与参数均采用的xml文件的方式进行存储,其数据很小。因此,在配置时,也只是进行参数删除或拷贝等简单操作,其配置完成时间在数十毫秒以内,这样,在配置时,正常业务完成没有任何实质性的影响。而对于用户来说,没有任何影响,因此不会存在被用户投诉的风险,实现了实时可编程的效果。

本发明还提供了一具体的实例来说明上述方法的实现:

事例1:当voip模块处于未运行状态时:

首先在iad上读取ivr的配置文件,该ivr配置文件中记录了ivr的参数与流程,通过xml格式文件中的节点来实现的,然后根据ivr配置文件中的节点来配置digitmap模块中的号码规则表中的每一项并保存每一项所对应的处理操作以及ivrextend模块中的参数。

对于ivrextend模块的参数的配置,比如更新音频文件的参数:查找iad本地的音频文件,并通过音频文件的头部注释来获取文件中包含独立音频的数量、起始地址、音频数据的长度、音频编码的格式等参数。

事例2:当voip模块处于运行状态时:

首先,voip模块接收到ivr配置文件更新的消息;然后,voip模块读取ivr配置文件并根据ivr配置文件中的节点来配置digitmap模块中的号码规则表中的所有项并保存每项所对应的处理操作。该配置可采用拷贝覆盖的方式,比如将旧的表项直接删除并将新的表项添加到号码规则表中。ivr配置文件采用xml格式文件。

另外,本发明可针对不同flash类型的存储方案均能够实现ivr的实时可编程。在前面已经得知flash的存储方式有两种,一种是直接地址访问,一种是文件系统。

对于第一种保存ivr的流程和参数的方法是:ivr的流程及参数压缩后,在压缩文件的头部增加一个文件头,用于描述该压缩文件的版本信息、文件大小信息、文件合法性信息等。在主程序储存空间的尾部为存放该压缩文件的位置,系统只需根据主程序存储的位置信息,查找到主程序的大小,并计算出压缩文件存储位置,将压缩文件解压缩并放入内存中,就可实现ivr的流程及参数的加载。

对于第二种保存ivr流程和参数的方法是:只需在要修改ivr的流程及参数时,把文件系统相关的路径的读写属性改为可写,写入相关路径,再把路径的读写属性改为只读,这样就完成存储操作。

如图3所示,本发明还提供了一种iad上实现ivr可实时编程的装置,包括:

配置文件获取模块,用于接收并获取xml配置文件;

判断状态模块,用于获取并判断voip模块是否,若否,则执行配置模块;若是,则依次执行通知模块、解析模块和动态配置模块;

通知模块,用于向voip模块发送ivr配置更新的通知;

解析模块,用于通过voip模块读取xml配置文件;

动态配置模块,用于暂停接入设备运行环境,执行配置模块;当配置完成后,恢复接入设备运行环境;

配置模块,用于根据xml配置文件配置sip的digitmap模块和ivrextend模块;

所述digitmap模块用于接收用户的拨号并根据预设的号码规则表对拨号进行匹配得出对应规则关联操作,然后报告给ivrextend模块;所述ivrextend模块用于解析对应规则关联操作并执行;所述号码规则表是根据xml配置文件生成的。

优选地,所述xml配置文件记录了ivr的参数和流程;所述号码规则表用于拨号与规则关联操作的对应关系;所述号码规则表是根据ivr的参数和流程生成的。

优选地,所述对应规则关联操作至少包括ivr的播放、配置获取以及修改配置。

如图4所示,本发明还提供了一种在iad上实现ivr的应用方法,包括以下步骤:

s31:接收用户的拨号;

s32:通过digitmap模块根据拨号在号码规则表中匹配得出关联操作并报告给ivrextend模块;所述号码规则表是根据xml配置文件生成的;

s33:通过ivrextend模块解析该关联操作并得出后续动作并执行。

优选地,所述后续动作至少包括播放语音、拨号进行音信号、上报配置参数、获取参数以及继续接收号码。

例如,当客户摘机后,iad会向电话机发送拨号音,客户开始拨号。

当客户每拨出一个号码,系统都会将当前号码与前号码拼在一起组成新的号码串,并通过digitmap模块中号码规则表查找该号码串,当该号码串与号码规则表中的一个拨号方案完全匹配后,号码表会把匹配的拨号方案发送给ivrextend模块,进入号码处理过程,比如播放语音音频文件。

当播放语音音频文件时,会把需要播放的音频序号发给播放模块,播放模块先把音频的编码方式、打包间隔等参数配置到dsp模块中。然后把音频文件打开,并读取序号所指向的音频数据,往dsp模块写入,最终dsp模块把写入音频数据还原并slic上播放出来。

如图5所示,本发明还提供了一种在iad上实现ivr的应用系统,包括:

号码获取模块,用于接收用户的拨号;

匹配模块,用于通过digitmap模块根据拨号在号码规则表中匹配得出关联操作并报告给ivrextend模块;所述号码规则表是根据xml配置文件生成的;

执行模块,用于通过ivrextend模块解析该关联操作得出后续动作并执行。

本发明具有以下优点:

1、本发明中使得ivr的流程和参数使用xml格式文件来表示,从而把原来需要升级整个iad的firmware才实现的功能,变成只需要升级一个几kbytes大小的xml配置文件就可以实现,只相当于做了个配置修改就实现了;即使在iad运行过程中,也能够做到实时生效的效果,规避了对于更新升级ivr时所带来的一系列风险。

2、同时使用了xml语言进行描述,简单直观,只需要一个懂得初级编程知识的人员,就能进行编制修改xml流程。同时支持xml语言编写的工具很多,很方便使用。针对不同客户,不同应用环境的情况下,初级编程知识的支持人员就可以根据需求,用编辑器修改或编写ivr流程,实现客户需求,大大提高了效率,降低研发成本。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1