以Digium公司开源的软交换软件Asterisk为基础使用Freepbx作为交换机&呼叫中心Web管理系统管理语音交互树和呼叫中心各个队列座席策略等,基于AsteriskJavaAMI接口自行开发一套CtiProxy座席代理软件,使用Flex技术实现座席端队列动态显示控件,实现座席动态登录,退出。使用WEB集成本企业的CRM实现来电弹屏,电话来显记录及日常呼叫操作,降低了集成成本。使用快捷键实现呼叫转移,三方呼叫,临时退出(恢复进入)队列,强插,监听等基本呼叫中心功能,基本满足了30座席400呼叫中心基本日常运作。
本文使用的名词解释参考
4.1 所用开源项目介绍
Asterisk( www.asterisk.org)
Asterisk是一款实现电话用户交换机(PBX)功能的自由软件、开源软件。Asterisk提供完善PBX功能,可以连接多种不同的电话终端,包括普通电话机,IP电话机,软电话等,支持多种主流的IP电话协议和系统接口。Asterisk软件提供很多以前只有昂贵的专业PBX系统才支持的功能,比如:语音信箱,会议电话,交互式语音应答和自动电话转接等。由于该软件开放的性质,用户可以灵活的配置方便的扩展系统的功能,甚至编程开发自己所需功能的模块。”摘自-中文维基百科。这里采用asterisk作为方案的基础是因为asterisk不但是VOIP CALLCENTER应用用户最多的开源平台,而且Digium公司提供了一系列的硬件设备为系统搭建提供稳定的支撑。这里作为模拟PSTN接入卡,采用的是DIGIUM公司原装的TDM2400P转接卡实现24口FXS接入,为30座席模拟进线提供支持。
FreePBX( www.freepbx.org)
FreePBX 是一个最强大的 GUI(基于网页的)配置Asterisk 的工具。FreePBX 之前被称为 Asterisk Management Portal,是 IP 电话工具 Asterisk 的标准化实现,可提供 Web 配置界面和其他工具。”摘自-中文维基百科。FreePBX作为最好的Asterisk配置工具,已经有超过300万个下载,截至本文发布版本也已经发展到3.0。下图为FreePBX监控Asterisk工作状态的状态面板,能够显示相关的运行信息。
▲图4-1
AsteriskJava (www.asterisk-java.org)
AsteriskJava 是一个使用java语言编写的一套通过使用Fast-CGI(基于tcp的asterisk 代理接口快速实现)或AMI(asterisk 管理接口)协议和asterisk进行通讯的一套SDK(基础开发类库)。使用AsteriskJava 能够实现监听Asterisk平台呼叫事件(实现客户端弹屏通知),座席登录退出,呼出或挂机等语音操作,实现了一个客户端通过网络操作Asterisk的一个代理接口,为对Asterisk进行二次应用集成开发提供了很友好的跨平台解决方案。
4.2 30座席纯软交换呼叫中心系统搭建
上图为系统基本架构,首先使用安装有TDM2400P的一台服务器安装FreePBX和Asterisk搭建呼叫中心系统,然后开发CallCenterProxy(呼叫中心座席网关)及Flex座席控件集成WebCrm。具体搭建过程(IVR,ACD,QUEUE)请参考相关项目文档或其他互联网公开发表文章,本文不再累述,本文着重强调在搭建过程中需要注意到的一些事项以及关键开发过程中遇到的一些技术问题解决方案。
4.2.1 动态座席
一个24*7正常运作的呼叫中心一般都是采用多班人次进行倒班来交替工作的,不可避免多个座席人员使用同一个座席来进行工作,也不可避免采用其他人的工位进行临时工作,这时候座席动态化的需求就显而易见。动态座席是指座席人员使用客户端软件在登录的时候,指定自己的座席工号登录座席,座席人员本身通讯可以使用纯电话软件,也可以采用座席所在的固定接入分机,有了动态座席的支持,那么座席人员可以灵活的机动选择临时工位办公。
本方案动态座席,主要使用Asterisk本身所支持的agent特性,在多个队列(Queue)中设置Agent登录作为座席识别标识,只有使用AgentLogin指令(AMI协议)登录到指定的队列才能真正实现座席在线,并可在随时使用AgentLogoff退出队列。下面介绍具体在FreePBX中的配置。