基于Freeswitch的IVR图形化配置系统及其方法与流程

文档序号:21969897发布日期:2020-08-25 18:59阅读:1152来源:国知局
基于Freeswitch的IVR图形化配置系统及其方法与流程

本发明涉及一种基于freeswitch的ivr图形化配置系统及其方法。



背景技术:

目前,ivr(interactivevoiceresponse)即互动式语音应答,是一种语音电话系统中的常见业务,该业务能够实现当电话呼叫到语音电话系统后,进入到一个语音业务菜单。用户听取系统所播放的提示音后,在电话拨号盘点击不同的按键,从而进入不同的业务流程,如进入指定的下一级菜单、系统播放一段提示音或者系统将此通电话转接到一个分机号码等。用户通过电话拨号盘的按键,即可实现与语音电话系统的互动,能够覆盖一部分需要人工接听电话的场景,因此在通信领域有着广泛的应用场景。

freeswitch作为一款通用的语音电话系统软件,提供了丰富多样的语音业务,freeswitch支持通过在其后台修改xml格式的配置文件,实现ivr业务的配置,同时可通过后台命令进行配置文件的加载,从而实现ivr业务的配置生效。由于freeswitch并没有自带的web页面,只能在后台进行配置文件的修改,并且无法实时立即生效,因此这种配置加载方式对于一般的用户有着较高的技术要求,存在使用门槛,并不适合直接应用于日常的语音电话的生产环境。常规的第三方页面配置方法往往是按照freeswitch的业务配置逻辑,在页面上进行各个菜单的配置和相互嵌套,同时通过页面将配置写入后台配置文件并进行加载,来实现业务功能。这种方法有如下问题:

1)错误影响系统范围广,由于freewitch自身的特性,其配置文件如有格式上的错误,不仅会影响该业务的配置,还会导致freeswitch重启后配置报错无法正常运行;

2)数据一致性差,页面配置需要同时写入数据库和后台配置文件,由于数据库和后台配置文件各存一份数据,较容易出现只修改了一侧数据而引起前后台数据不一致,更容易出现各类业务未按页面配置生效的问题;

3)时效性差,数据配置后需要加载才能生效,但有些业务在使用过程中无法加载,需要等待业务空闲时才能加载生效,因此不利于实时修改,而且当数据量较大时,加载配置文件往往也会耗费较多的时间;

4)业务流程不直观,多层的ivr业务配置往往涉及到主菜单、子菜单及各类流程的嵌套,只是按照业务逻辑进行列表式展示不够直观,用户在配置时只能看到局部业务流程容易遗漏支线配置,用户体验差。



技术实现要素:

本发明的目的是克服现有技术存在的不足,提供一种基于freeswitch的ivr图形化配置系统及其方法。

本发明的目的通过以下技术方案来实现:

基于freeswitch的ivr图形化配置系统,特点是:包含界面配置模块、数据库、lua调用模块以及freeswitch模块,外部语音模块与freeswitch模块通过ip网络互联;

界面配置模块通过java程序将用户在界面配置的各类数据写入数据库中,可读取已经保存的配置数据展示在前台页面;配置数据包含拨号规则配置和ivr配置;

数据库用于存储界面配置模块写入的各类配置数据;配置数据包含拨号规则配置和ivr配置;

lua调用模块接口由多个子模块组成,业务流程涉及dialplan.lua和ivr.lua调用脚本,dialplan.lua用于读取数据库拨号规则配置,执行拨号规则动作,用于将呼叫转到ivr.lua;ivr.lua用于读取数据库ivr配置,接管呼叫后按照默认配置及用户的按键反馈,调用freeswitch模块的开放接口执行相应的动作;

freeswitch模块,用于语音呼叫和语音业务的实现,支持使用通用的语音协议与外部语音模块进行语音交互,提供esl接口供lua调用模块调用;freeswitch模块设置一默认规则,将收到的呼叫转到lua调用模块中的dialplan.lua,根据对应的号码匹配到ivr规则,转到ivr.lua读取数据库对应的各项配置数据,调用freeswitch模块的ivrmenu接口生成菜单树并执行,freeswitch模块根据对应的菜单树执行相应操作,并与用户按键进行交互。

进一步地,上述的基于freeswitch的ivr图形化配置系统,其中,外部语音模块为外部输入输出语音的外围平台终端,外部语音模块与freeswitch模块通过ip网络互联,语音交互基于sip协议、rtp语音媒体流以及dtmf,sip协议为基于ip网络的通用语音信令控制协议,用于语音呼叫的信令控制;rtp语音媒体流承载语音通话内容;dtmf即双音多频,通话过程将话机上按键信号传递给另一端。

进一步地,上述的基于freeswitch的ivr图形化配置系统,其中,拨号规则配置中设定语音呼叫的路由条件和动作,当语音呼叫满足某条拨号规则匹配条件时,可按照规则设定执行动作;ivr配置一方面针对菜单属性进行设置,包括欢迎长提示音、欢迎短提示音、输入错误提示音、离开提示音、转接提示音、超时时间、等待时间、最大超时次数、最大超时次数、确认按键、按键长度,另一方面针对检测到按键后的动作进行设置,包括转内线、转外线、执行应用操作、挂断、转子菜单、转上级菜单、转根菜单、播放提示音。

进一步地,上述的基于freeswitch的ivr图形化配置系统,其中,界面配置模块界面采用树状图的方式展示菜单的层级和内容,用户可方便直观的进行ivr业务的配置和调整。

本发明基于freeswitch的ivr图形化配置方法,包括以下步骤:

s1:外部语音模块呼叫到freeswitch模块;

s2:freeswitch模块根据默认规则将呼叫转到dialplan.lua脚本;

s3:dialplan.lua脚本读取数据库配置,将呼叫转到ivr.lua脚本;

s4:ivr.lua脚本读取数据库中参数,调用freeswitch模块的ivrmenu接口生成相应菜单树;

s5:freeswitch模块根据ivrmenu接口生成的菜单树执行相应操作。

更进一步地,上述的基于freeswitch的ivr图形化配置方法,其中,步骤s1,外部语音模块发送一个呼叫到freeswitch模块,外部语音模块为一语音终端,如已经注册freeswitch,可自由拨打任意号码送到freeswitch;语音终端拨打一个系统对外公布的ivr的号码,将呼叫送到freeswitch模块。

更进一步地,上述的基于freeswitch的ivr图形化配置方法,其中,步骤s2,freeswitch模块收到呼叫后,首先进入默认的拨号规则配置,调用dialplan.lua脚本处理通话。

更进一步地,上述的基于freeswitch的ivr图形化配置方法,其中,步骤s3,dialplan.lua脚本收到调用后,读取数据库配置,根据路由规则匹配被叫号码,调用freeswitch模块的transfer接口执行ivr.lua脚本。

更进一步地,上述的基于freeswitch的ivr图形化配置方法,其中,步骤s4,ivr.lua脚本收到调用后,读取数据库配置,按照配置数据调用freeswitch模块的ivrmenu接口生成菜单树。

更进一步地,上述的基于freeswitch的ivr图形化配置方法,其中,步骤s5,freeswitch模块根据ivrmenu接口生成的菜单树执行放音、转接、挂断的操作,与检测到的用户按键动作交互。

本发明与现有技术相比具有显著的优点和有益效果,具体体现在以下方面:

①本发明基于freeswitch的ivr图形化配置系统及其方法,用户能够以图形化的方式进行freeswitch的ivr业务配置,通过freeswitch接口调用的特点,使ivr配置实时生效,解决了传统写配置文件方法所存在的加载速度慢、配置文件错误风险、数据一致性等问题,更加高效、可靠;

②错误影响系统范围可控,采用接口调用的方式,不会影响freeswitch自身的配置文件,因此不存在配置文件错误导致freeswitch重启后无法正常运行的情况;即使接口调用有错误,也仅影响到单个业务功能的实现,不会影响到其他业务功能或整体系统;

③数据一致,无论是页面显示或是后台的逻辑实现,均基于数据库中的配置数据,因此不存在数据一致性的问题;

④实时生效,页面配置写入数据库后,业务流程立即生效,不需要额外的加载配置过程;

⑤图形化的配置界面,图形化展示ivr的业务流程,所见即所得;树状的展示方法能够帮助用户更好的理解业务流程,提升用户体验。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明具体实施方式了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书中所特别指出的结构来实现和获得。

附图说明

图1:本发明系统的模块架构示意图;

图2:本发明方法的流程示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现详细说明具体实施方案。

如图1所示,基于freeswitch的ivr图形化配置系统,包含界面配置模块102、数据库103、lua调用模块104以及freeswitch模块105,外部语音模块101为外部输入输出语音的外围平台终端,外部语音模块101与freeswitch模块105通过ip网络互联,语音交互基于sip协议、rtp语音媒体流以及dtmf,sip协议为基于ip网络的通用语音信令控制协议,用于语音呼叫的信令控制;rtp语音媒体流承载语音通话内容;dtmf即双音多频,通话过程将话机上按键信号传递给另一端;

界面配置模块102通过java程序将用户在界面配置的各类数据写入数据库103中,可读取已经保存的配置数据展示在前台页面;配置数据包含拨号规则配置和ivr配置,拨号规则配置中设定语音呼叫的路由条件和动作,当语音呼叫满足某条拨号规则匹配条件时,可按照规则设定执行动作;ivr配置一方面针对菜单属性进行设置,包括欢迎长提示音、欢迎短提示音、输入错误提示音、离开提示音、转接提示音、超时时间、等待时间、最大超时次数、最大超时次数、确认按键、按键长度,另一方面针对检测到按键后的动作进行设置,包括转内线、转外线、执行应用操作、挂断、转子菜单、转上级菜单、转根菜单、播放提示音;界面配置模块102界面采用树状图的方式展示菜单的层级和内容,用户可方便直观的进行ivr业务的配置和调整;

数据库103用于存储界面配置模块102写入的各类配置数据;配置数据包含拨号规则配置和ivr配置;

lua调用模块104接口由多个子模块组成,业务流程涉及dialplan.lua和ivr.lua调用脚本,dialplan.lua用于读取数据库拨号规则配置,执行拨号规则动作,用于将呼叫转到ivr.lua;ivr.lua用于读取数据库ivr配置,接管呼叫后按照默认配置及用户的按键反馈,调用freeswitch模块105的开放接口执行相应的动作;

freeswitch模块105,用于语音呼叫和语音业务的实现,支持使用通用的语音协议与外部语音模块101进行语音交互,提供esl接口供lua调用模块104调用;freeswitch模块105设置一默认规则,将收到的呼叫转到lua调用模块104中的dialplan.lua,根据对应的号码匹配到ivr规则,转到ivr.lua读取数据库103对应的各项配置数据,调用freeswitch模块105的ivrmenu接口生成菜单树并执行,freeswitch模块105根据对应的菜单树执行相应操作,并与用户按键进行交互。

如图2所示,基于freeswitch的ivr图形化配置方法,包括以下步骤:

s1:外部语音模块101呼叫到freeswitch模块105;

外部语音模块101发送一个呼叫到freeswitch模块105,外部语音模块101为一语音终端,如已经注册freeswitch,可自由拨打任意号码送到freeswitch;语音终端拨打一个系统对外公布的ivr的号码,将呼叫送到freeswitch模块105;

s2:freeswitch模块105根据默认规则将呼叫转到dialplan.lua脚本;

freeswitch模块105收到呼叫后,首先进入默认的拨号规则配置,调用dialplan.lua脚本处理通话;

s3:dialplan.lua脚本读取数据库103配置,将呼叫转到ivr.lua脚本;

dialplan.lua脚本收到调用后,读取数据库103配置,根据路由规则匹配被叫号码,调用freeswitch模块105的transfer接口执行ivr.lua脚本;

s4:ivr.lua脚本读取数据库中参数,调用freeswitch模块105的ivrmenu接口生成相应菜单树;

ivr.lua脚本收到调用后,读取数据库配置,按照配置数据调用freeswitch模块105的ivrmenu接口生成菜单树;

s5:freeswitch模块105根据ivrmenu接口生成的菜单树执行相应操作;

freeswitch模块105根据ivrmenu接口生成的菜单树执行放音、转接、挂断的操作,与检测到的用户按键动作交互。

本发明基于freeswitch的语音导航图形化配置实现方法,解决现有技术背景下的错误影响系统范围广、数据一致性差、效实效性差以及业务流程不直观的问题。

一方面,错误影响系统范围可控,采用接口调用的方式,不会影响freeswitch自身的配置文件,因此不存在配置文件错误导致freeswitch重启后无法正常运行的情况;即使接口调用有错误,也仅影响到单个业务功能的实现,不会影响到其他业务功能或整体系统。

另一方面,数据一致,无论是页面显示或是后台的逻辑实现,均基于数据库中的配置数据,因此不存在数据一致性的问题。

其次,实时生效,页面配置写入数据库后,业务流程立即生效,不需要额外的加载配置过程。

还有,图形化的配置界面,图形化展示ivr的业务流程,所见即所得;树状的展示方法能够帮助用户更好的理解业务流程,提升用户体验。

综上所述,本发明基于freeswitch的ivr图形化配置系统及其方法,用户能够以图形化的方式进行freeswitch的ivr业务配置,通过freeswitch接口调用的特点,能够使ivr配置实时生效,也解决了传统写配置文件方法所存在的加载速度慢、配置文件错误风险、数据一致性等问题,相较传统写配置文件的方法,更加高效、可靠。

需要说明的是:以上所述仅为本发明的优选实施方式,并非用以限定本发明的权利范围;同时以上的描述,对于相关技术领域的专门人士应可明了及实施,因此其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在申请专利范围中。

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