1

本文主要面向呼叫中心项目的初学者,简要介绍如何利用Asterisk和Freepbx搭建一个HelloWorld级别的呼叫中心。

主要用到的东西是Asterisk,这东西是内部已经实现了呼叫中心所需的大部分功能。

另外推荐配合Freepbx一起使用,这货相当于是Asterisk的管理工具,提供了一套比较完善的管理界面。Asterisk本身没有界面化的管理平台,是通过手动写配置文件完成的,初次接触的话可能两眼一抹黑一蹬腿。。。

最后一个有可能要用到的东西是dahdi,这东西搭建了语音卡(硬件)和Asterisk之间的一座桥梁。当然如果没有硬件需求(比如纯SIP话机)可以不用。

文中的示例用到了SIP软电话,可以随便下一个,我用的是Zoiper。Zoiper软电话

一个简单的Asterisk实例

1. 安装

dahdi+Asterisk+Freepbx全家桶

Freepbx官网的安装指南,照着这个走一边绝对没问题。注意这个是Ubuntu14.04版本的安装指南,在左边可以看到。如果不用语音卡的话可以跳过dahdi的安装。

安装完之后用浏览器访问 http://127.0.0.1/admin/config.php 进入Freepbx配置界面。

2. 配置dahdi(可选)

dahdi_genconf
dahdi_cfg -vvv

看一下输出如果没有报错的话就可以了。

关于dahdi报错的各种疑难杂症的处理方法稍后我再单独写一篇总结。

配置正确的输出信息大概长这样。我目前用的是4个外线口的语音卡。注意这里的通道号(channel 01~04)是待会要配置的通道。

DAHDI Tools Version - 2.10.2

DAHDI Version: 2.10.2
Echo Canceller(s): 
Configuration
======================


Channel map:

Channel 01: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 01)
Channel 02: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 02)
Channel 03: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 03)
Channel 04: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 04)

4 channels to configure.

Setting echocan for channel 1 to mg2
Setting echocan for channel 2 to mg2
Setting echocan for channel 3 to mg2
Setting echocan for channel 4 to mg2

3. 配置SIP分机

首先来创建两个分机。在呼叫中心中他们就相当于座席了。

Freepbx上方菜单Applications->Extensions,选择 Generic CHAN SIP Device。接下来填写

{
User Extension : 1001
Display Name : 1001
Username : 1001         #注意,每个分机对应一个用户,待会软电话登录的时候会用到
Password : pw1001 
记得把NAT Mode改为 Yes-(force_rport,comedia)。有时SIP客户端连不上服务器就是这个原因。
}

之后重复上述花括号{}里的步骤再创建一个1002的分机。 打开两个SIP电话软件,用刚刚配好的用户登录,就可以拨号测试一下了。

4. 配置呼出规则

Freepbx菜单->Connectivity->Trunks 创建一个新的DAHDI Trunk,在最下方的DAHDI Trunks中我们可以选择呼出时使用哪个端口,可以指定一个端口或者以选择某个组进行顺序呼出(4外线语音卡默认情况下4个外线口都在一个组里)。

Freepbx菜单->Connectivity->Outbound Routes 创建一条新的呼出路由。

Dialed Number Manipulation Rules 项中,符合该规则的号码会被认为是出局号码,比如很多公司内线电话拨打外线时需要前加9。(该项具体用法可以参考Freepbx该页面中自带的说明)。

在此最简单的方式可以在 match pattem 中填写8个X或者11个X(座机号码和手机号码)。最后在 Optional Destination on Congestion 中选择 Trunks,再选择刚刚创建的 DAHDI Trunks 即可。

保存配置,呼出规则就配置完毕了,可以用SIP电话尝试拨打自己的手机测试一下结果。

5. 配置呼入规则

Freepbx菜单->Connectivity->Inbound Routes 创建一条新的 Inbound Routes,在最下端的 Set Destination 中选择 Extensions,选择分机1001。随后保持配置。

此时我们用外线拨入,Asterisk会将来电转接到分机1001上面。

至此,Asterisk的实例就算搭建完成了。

扩展:Asterisk能实现哪些功能?

Freebpx提供的一些扩展模块包括:

  • IVR:主要实现按键选路功能比如——“业务办理请按1,故障申告请按2,如需人工服务请按9”。IVR就相当于某些编程语言中的Switch,根据用户的按键进行分支选择。

  • 振铃组(Ring Groups):实际上是呼叫分组,比如把业务部的分机分到一个组,销售部的分到一个组,你可以把来电转接到某个组(比如在本文的例子中,我们是直接把来电转接到分机的),然后Asterisk会根据该组的策略来决定将来电具体分配个某个分机。

  • 来电录音(Call Recording):通话会以音频文件的形式保存下来,具体的开始和结束时间都自行配置。

  • 时间条件(Time Conditions):“想把非工作时间的来电转到一个单独的分组”或者“节假日的时候想选择播放不同的语音”用这个模块就对了。与IVR大同小异,只不过这个是通过时间进行判断而不是用户的按键。

能不能跟CRM整合在一起呢?

所谓跟CRM整合是源于这么一个常见的需求:

客户来电后,坐席员的客户端上弹出相关信息(主要是来电号码,这个由Asterisk提供),坐席员可以通过CRM客户端上的按钮将此来电转接给另一个坐席员,也可以在与客户沟通完毕后通过CRM客户端上的按钮将客户来电至满意度评分环节。评分环节会语音提示“请对我们的服务做出评价,满意请按1…………”。

上面这段内容是可以通过Asterisk提供的接口——AMI(Asterisk Manager Interface)实现的,关于AMI的介绍以及具体使用实例稍后更新。


舞鹤
47 声望6 粉丝

引用和评论

0 条评论