前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何设计一个IVR?

如何设计一个IVR?

作者头像
Seven Du
发布2020-12-21 16:03:51
1.6K0
发布2020-12-21 16:03:51
举报

IVR(交互式语音响应)的全称是Interactive Voice Response,它是一种自动电话系统,也就是我们常说的电话语音菜单。FreeSWITCH支持非常强大的语音菜单──你可以写简单的XML,或更灵活的Lua,当然还有Event Socket,Erlang Socket等,并且默认配置了一个功能齐全的例子demo_ivr,先注册一个分机,拨打5000,就可以听到菜单提示了。

IVR菜单功能可以通过以XML格式描述IVR菜单来轻松创建IVR菜单,下面我们来配置一种最简单的IVR,当有电话呼入时,会播放:“您好,欢迎致电xxx,请直拨分机号,查号请拨0”.

我们在首先在/usr/local/freeswitch/conf/ivr_menus目录下添加新的welcome菜单:

代码语言:javascript
复制
<menu name="welcome"
greet-long="/tmp/welcome.wav"
greet-short="/tmp/welcom_short.wav"
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
exit-sound="voicemail/vm-goodbye.wav"
timeout="15000"
max-failures="3"
max-timeouts="3"
inter-digit-timeout="2000"
digit-len="4">

<entry action="menu-exit" digits="*"/>
<entry action="menu-exec-app" digits="0" param="transfer 800 XML default"/>
<entry action="menu-exit" digits="*"/>
<entry action="menu-exec-app" digits="1" param="transfer 1000 XML default"/>
<entry action="menu-exec-app" digits="2" param="bridge user/1001"/>
</menu>

其中各字段的含义为: name:IVR菜单的名称 greet-long:第一次播放菜单提示,语音文件默认位置是在/usr/local/freeswitch/sound/目录下 gree-short:用户长时间没有按键菜单循环时,要播放的较短版本的菜单提示 invalid-sound:在用户没有输入或输入无效时播放 exit-sound:菜单结束时播放 timeout:指定超时时间 max-failures:最大错误按键数 inter-digit-timeout:两次按键的最大间隔(毫秒) digit-len:菜单项的长度,即最大收号位数

每个IVR菜单可以支持多个操作,如: menu-exit:退出菜单 menu-exec-app:执行FreeSWITCH相关的application操作

在本例中,用户按0时,会执行transfer,转接到服务台800,用户按1时,转接到1000,按2时,会执行bridge,桥接到1001.

以上菜单设定好后,在控制台执行reloadxml使配置生效。然后可以进行测试:

代码语言:javascript
复制
freeswitch> originate user/1007 &ivr(welcome)

测试成功后,就可以配置把所有用户来话转到语音菜单了。

是不是感觉上面的配置有点繁琐,如果使用XUI的话,便简单多了,如设定拨打某一外线号码比如拨打热线40018888进入IVR语音导航,则只需如下配置:

首先,在界面点'设置'->'IVRS'->'新建'

编辑完成后,点击保存就可以了

然后,在IVR Action界面添加执行菜单:

其中按键数就是xml里的digits,选择执行系统命令,transfer到指定分机就可以了,设定好后,可以进后台进行测试:

最后,在路由里点击'路由'->'新建'

编辑完成后,点击保存就可以了,然后我们可以使用某一分机拨打40018888进入该IVR菜单了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeSWITCH中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档