基于Freeswitch实现公司总机话务台功能

本文介绍了如何使用FreeSwitch替代旧式硬件话务台,通过FXO网关连接线路,并配置IVR模块来实现公司总机功能。详细讲解了IVR配置文件的关键设置,包括欢迎音、超时、错误提示等,并将IVR应用到Dialplan拨号计划中,实现简单而有效的电话接入系统。
摘要由CSDN通过智能技术生成

最近公司的老话务台由于硬件故障不能再使用了,老板让找找有什么新的方案可以替代,这还用想嘛,直接FreeSwitch搞定啦,因为正好手头有一个FXO口的网关,接上线路,架上服务器就能用啦。

说干就干,查阅了下FreeSwitch的IVR相关的配置,完全能够满足需求,比起原来的硬件话务台功能更加的丰富灵活呢。查阅完资料就开始动手操作,基本上从配置到调试通过,一天搞定。然后就这么稳定运行了一个多月,什么问题都没有。应一些朋友的要求,我今天把整个过程记录一下,供有需要的朋友参考!

这里主要记录的是IVR流程的关键配置方法,关于FreeSwitch的安装,还有FXO口网关以及IP话机的配置这里就不再赘述了,网上有大量的资料可以参考。这里先把公司总机组网的结构图补充下:

从需求角度,对于大部分公司的总机要求其实用一句话就可以概括了,那就是“欢迎致电XXXX公司,请直拨分机号,查号请拨0”。

针对以上这句话的需求,FreeSwitch有个叫IVR的模块可以完美的实现。IVR系统默认的配置文件为conf/autoload_configs/ivr.conf.xml。

配置文件示例如下:

<include>
    <menus>
        <menu name="callcenter"
            greet-long="welcome.wav"
            greet-short="welcom_short.wav"
            invalid-sound="error.wav"
            exit-sound="goodbye.wav"
            timeout="10000"
            max-failures="5"
            max-timeouts="5"
            inter-digit-timeout="2000"
            digit-len="4">
            <entry action="menu-exec-app" digits="0" param="transfer 1000 XML default"/>
            <entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML default"/>
        </menu>
    </menus>
</include>

在上述配置中,首先,我们指定菜单的名字(name)是callcenter,其他各项的含义如下:

  • greet-long:指定最开始的欢迎音,即为最开始播放的声音,比如“您好,欢迎致电烟台小樱桃网络科技有限公司,请直拨分机号,查号请拨0”的语音,该语音文件默认的位置应该是在/usr/local/freeswitch/sounds目录下。
  • greet-short:该项指定一个简短的提示音,当用户长时间没有按键,操作超时时,再次播放的欢迎音,比如”请直拨分机号,查号请拨0“。
  • invalid-sound:如果用户按错了键,则会使用该提示。如果你安装时使用了“make sounds-install”命令安装了声音文件,则该文件应该是默认存在的。
  • exit-sound:该项指定最后菜单退出时的声音,默认会提示“Good Bye”。
  • timeout:指定超时时间(毫秒),等待用户输入按键的最大超时时间。
  • max-failures:指容忍用户按键错误的次数。当用户的按键与所有的菜单配置都不匹配,则失败。
  • max-timeouts:即最大超时次数。
  • inter-digit-timeout:为两次按键的最大间隔(毫秒)。如用户拨分机号1001时,假设拨了10,等5秒,然后再按01,这时系统实际收到的号码为10(后面的01超时后没有收到),则会播放invalid-sound指定的声音文件以提示错误。
  • digit-len:说明菜单项的长度,即最大收号位数。在本例中,用户分机号长度为4位,因此我们使用4,等收到4位按键时,立即执行相应的动作,否则一直等直到按键超时。

配置好IVR后,我们需要把它应用到Dialplan拨号计划中去,大部分情况下应该配置在public.xml,增加如下的extension:

<extension name="call_incoming">
    <condition field="destination_number" expression="^(\d+)$">
        <action application="answer" data=""/>
        <action application="ivr" data="callcenter"/>
    </condition>
</extension>

到此,一个公司的话务台功能就配置好了,配合FXO网关和IP话机,整个系统就可以顺利的跑起来了。

其实基于这样一个系统,FreeSwitch还可以实现更复杂的功能比如录音,记录话单等等,这些就留给小伙伴们自行研究啦:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值