Browsed by
Tag: ivr

优化:将IVR-XML文件装入内存

优化:将IVR-XML文件装入内存

在多数语音交互的场景中, IVR-XML 文件都比较小,通常是几KB,因此收到呼叫触发 IVR 业务时,服务器都会从硬盘读取 IVR-XML 文件并触发相应的 IVR 流程。但是,如果负荷非常大,例如有大量的并发呼叫同时触发大量的 IVR 流程,miniSIPServer 将频繁读取硬盘上的 XML 文件。显然,这实际会影响服务器的性能。

因此我们做了点优化,将所有的 IVR-XML 文件都装入内存。如果这些文件没有被修改,IVR 业务就直接从内存中读取 XML 文件的内容。如果文件被修改了,miniSIPServer 会自动将修改后的 XML 文件再次装入内存。

这就意味着所有的 IVR 操作都是访问内存,不更改文件的情况下,不会再访问硬盘,miniSIPServer 运行比以前要快一些,在负荷沉重的时候尤其如此。

在IVR-XML流程中监视各种呼叫事件

在IVR-XML流程中监视各种呼叫事件

在部署 miniSIPServer 时,我们可以通过 IVR-XML 来订制自己需要的IVR业务流程,最常见的就是“自动话务员”业务。根据以往的 IVR-XML 功能集,我们可以使用“callto”动作发起新的呼叫,同时结束整个IVR流程。

但是,如果我们想监视呼叫过程中的某些事件,例如“被叫忙”,并根据这些事件改变IVR的流程,触发新的动作(action),我们该怎么做呢?

目前最新的 V37 版本已经发布,在这个版本中,扩展了一个与 IVR-XML 有关的关键特性。我们可以在“callto”动作中,配置“monitor-events”元素,对呼叫事件进行监视,并在事件发生时,将IVR流程转向新的动作。

例如,以下示例中,在“callto”动作中配置需要监视的事件:

<action method="callto" name="mainAction">
    <destination>100<destination>
    <monitor-events>
        <monitor-event detection="busy" nextaction="callto101"/>
    </monitor-events> 
</action> 

在这个示例中,如果“callto”发起的呼叫,遇到被叫忙,则 IVR 流程将执行下一个动作“callto101”, 即对另一个用户发起新的呼叫。

请参考IVR-XML 在线文档,了解更多关于“monitor-events”的细节。

上述zip文件是一个简单的IVR-XML脚本示例,用于测试新的“callto”动作。将其解压缩并保存在”xml”子目录下(您可以在miniSIPServer的安装目录下找到这个子目录),并在miniSIPServer中配置新的触发条件进行测试。

配置IVR业务
配置IVR业务
保存录制的语音

保存录制的语音

miniSIPServer 支持客户录制根据需要录制自己的语音,并替换系统默认的语音文件。以前的版本中,如果客户需要升级 MSS 的话,每次都需要备份好自己的语音,并重新替换系统默认的语音。

这当然是个小小的麻烦。现在,最新的V32可以解决这个麻烦了。

MSS 启动时,将在“mss_ann”目录下自动创建子目录“cust_ann”,现在您所有的自定义语音文件都可以放在这个子目录下。当 MSS 卸载或者升级时,这个子目录和内部的所有语音文件都不会删除或者被替换。MSS 启动后,会自动读取并加载“cust_ann”子目录下的语音文件。

在 windows 系统,这个子目录默认应该是“d:/myvoipapp/minisipserver/mss_ann/cust_ann”。在Linux系统中,这个子目录默认是“/opt/sipserver/mss_ann/cust_ann/”。

请参考在线文档了解录制自定义语音的更多细节。

https://www.myvoipapp.com/cn/docs/others/how_to_record_your_own_audio/index.html

在云端通信系统定义您自己的IVR业务

在云端通信系统定义您自己的IVR业务

众所周知,在本地MSS系统中我们可以定义自己的IVR业务。现在,我们将这个特性移植到云端通信系统中,也就是说您也可以以相同的方式在云通信系统中定义自己的IVR业务。

在本地MSS系统中,我们可以直接将IVR-XML文件保存在服务器目录中。而在云系统中,情况稍有不同。出于安全性考虑,我们暂时不允许用户直接上传文件到云端服务器中,因此您需要将自定义的IVR-XML文件发给我们的技术支持团队(support(a)myvoipapp.com),我们将替您将文件上传到您的虚拟服务器中。接着,您可以登录进系统,点击菜单“资源 / IVR-XML文件”进行检查。

云系统菜单项 "IVR-XML文件"
云系统菜单项 “IVR-XML文件”

如果您自定义的IVR-XML文件已经上载到虚拟服务器中,您就可以开始配置“如何触发IVR业务”。MSS系统允许根据被叫号码来触发不同的IVR业务,而且非常容易配置。请点击菜单“业务 / IVR业务”进行配置。

云系统菜单项"IVR业务"
云系统菜单项”IVR业务”

 

不同的呼叫触发不同的IVR流程

不同的呼叫触发不同的IVR流程

miniSipServer升级到V6.5版本,支持针对不同的入呼叫触发不同的IVR流程。

在MSS中进行简单的配置即可实现上述目的,请参考在线文档:

http://www.myvoipapp.com/cn/docs/mss_services/auto_attendant/index.html#multi-ivr

例如,我们希望对外线“1234”的入呼叫触发另外一个IVR流程,我们可以在“IVR业务”表中进行以下配置:

拨号计划 = default
被叫号码 = 1234  <--外线号码
IVR-XML文件名 = aa2.xml <--您自己定义的IVR-XML文件
中文语音支持

中文语音支持

昨天V6.4.3版本正式发布。这个版本相比V6.4.2版本,唯一的改动就是支持缺省的中文语音。目前支持的中文语音是中国大陆国语(普通话),暂不支持香港等地区的非普通话语音。

大陆中文用户无须配置,系统启动后,缺省会采用中文语音。例如,在部署自动话务员业务时,用户将不再听英文提示音,而是听中文提示音“您好,请输入分机号”等。受影响的业务还包括主叫预付费、卡号业务以及相关IVR业务等等。

缺省中文语音安装在”mss_ann/cn”子目录下。用户如果有需要,仍然可以替换为自己的定制语音。同时,我们也更新了中文语音描述文档,请参考:

http://www.myvoipapp.com/cn/docs/others/how_to_record_your_own_audio/index.html

INFO-DTMF

INFO-DTMF

miniSipServer V6版本升级到V6.1.3,本次升级主要是支持SIP-INFO消息传递DTMF信号。

部分VoIP服务商、网关设备仅仅支持INFO消息来传递DTMF信号,不支持2833,对于IVR类业务(例如自动话务员)而言,这显然是个非常严重的问题。升级后,MSS能同时支持2833以及INFO两种方式接收DTMF信号。

通过INFO消息携带DTMF信号,在IETF规范中有多个draft版本。MSS目前仅支持application/dtmf-relay方式。

V6.1版本以及IVR-XML

V6.1版本以及IVR-XML

MSS稳定版本从V6.0版本升级到V6.1版本。

本次升级主要引入了IVR-XML特性。有了IVR-XML特性,我们可以使用XML文件来实现IVR过程,非常轻松和简单。我们重新编写了自动话务员业务,您可以看到这非常简单。最新的自动话务员脚本存放在’xml’子目录下,文件名为’aa.xml’。

自动话务员文档也同步进行了更新,参考:

http://www.myvoipapp.com/docs/mss_services/auto_attendant/index.html

最重要的是,采用IVR-XML后,我们在IVR业务流程中可以轻松实现多级语音菜单。

请试试IVR-XML,相信您会喜欢这个特性!