呼叫中心接入的解决方案

呼叫中心接入的解决方案

曾锃 田忠和

摘  要  呼叫中心技术是一门新兴的多学科交叉的技术,于90年代迅速崛起并在国外得到了广泛地应用。对呼叫中心的开发作了一般性探讨,并着重介绍了呼叫中心同外围设备(包括电话、传真、人工座席和Web服务器)的接入。
关键词  呼叫中心  座席代表  Web  进程

1  呼叫中心业务的扩展

  呼叫中心(Call Center)传统上是指若干个人工座席代表,集中处理打入或打出电话的系统。近年来,随着通信和计算机技术的发展和融合,特别是Internet的应用,呼叫中心被赋予了新的内容。呼叫中心不但能处理电话,还有自动语音、传真、电子函件、Web访问,甚至是基于Internet的电话和视频会议等。出现了将通信服务,语音和传真服务,Web服务,Email服务,数据库服务等集于一身的综合性(All-in-one)呼叫中心服务。
  呼叫中心的客户设备有两大类:电话(包括电话,传真机)和计算机。它们以同一个电话号码,按不同的方式连通呼叫中心,请求三种服务:电话-自动语音应答服务;电话-人工座席服务;计算机-Web服务。
  用户的呼叫,都由CTI(Computer Telephone Integrate)接入。前两种方式是由CTI接入后直接进行调度和服务。对计算机的服务请求,因为是通过Modem拨号接入的,因此CTI辨识后将电话通路转接到服务端的Modem池,通过远程服务器连接到呼叫中心的Web服务器。呼叫中心的功能延伸后增加了接入的复杂性。本文将对语音、座席、Web服务的接入方案和处理方法进行阐述。

2  呼叫中心系统解决方案

2.1  方案的构成
  
呼叫中心一般分为三个主要部分:第一是客户接入设备;第二是CTI设备;第三是企业内部的Intranet系统。Intranet包括远程服务器、防火墙、路由器、Web服务器、后台数据库服务器等。图1显示了以功能卡为主的呼叫中心解决方案。


图1以功能卡为主的呼叫中心示意图

2.2  CTI模型
  CTI是呼叫中心的核心设备。它负责呼叫接入、调度控制、信息通信和自动操作等任务。它由工控机、语音卡和座席卡以及应用软件等构成。
  开发模型在CTI应用结构和整个开发过程中,通常涉及到三个方面:最终用户、应用系统开发商、硬件厂商(如图2示)。


图2CTI系统模型

  最终用户所用的应用系统一般由系统最终用户、应用系统开发商、硬件厂商、语音处理/电话网络接口、操作系统及驱动程序、开发平台组成。而应用系统开发商必须在硬件厂商提供的软硬件开发平台下,结合具体操作系统提供的编程环境,给最终用户开发应用系统。硬件厂商则必须开发稳定、可靠的硬件产品以及丰富、方便的开发接口(如硬件驱动程序)。

3  呼叫中心的接入方式

  在CTI行业中,有许多制造商,如DIALOGIC,MNS等公司。本文将用DIALOGIC公司的系列产品,VFX/40 ESC语音卡,处理电话的提起和挂断,检测电话的双音频信号,发送语音和传真。MSI/80 SC座席卡,此卡兼用两种连接:一部分卡的呼出口连接座席电话,建立座席通道;另一部分呼出口连接Modem池,通过远程服务接至Web服务器,实现Intranet的应用。操作系统采用SCO-UNIX。
  客户通过一个电话号码拨入呼叫中心,根据不同功能有三种接入方式:
  (1)自动语音接入:客户拨通电话, VFX语音卡检测到呼叫信号即自动用语音应答,客户根据语音提示,用电话按键操作,CTI从后台数据库获取数据,以语音或传真方式提供所需信息。
  (2)请求座席接入:开始和自动语音接入一样,当根据提示按下接转人工座席的特定电话键后,CTI软件通过MSI系列座席卡接通空闲座席代表的电话,进行客户和座席业务代表的会话。
  (3)Web浏览接入:客户计算机由“拨号网络”拨通电话,客户计算机在“拨号网络”设置时要做特殊设定,设定拨入号码后加“b”。当计算机拨通电话后,CTI 的VFX语音卡辨识出有双音频信号“b”,就立即通过SC总线连通MSI系列座席卡的专用呼出口,此呼出口连接在Modem池上,由此建立客户计算机和Web服务器之间的连接。

4  呼叫中心接入的软件设计

  接入处理包括对客户呼叫的响应和挂断。整个过程可分为五个部分:(1)呼叫的接入;(2)座席的接入;(3)Web连接;(4)座席和Web服务的断开;(5)语音卡和座席卡的桥接和断开。下面分别加以说明。
4.1  呼叫的接入
  呼叫接入是呼叫中心的核心技术之一。有适用于PSTN或ISDN的接入设备,可自动检测和接收电话通信所需的各种信号、信令,完成信令和协议之间的转换和控制。VFX/40 ESC用于PSTN。
4.1.1  主要处理模式
  在DIALOGIC开发软件包中的许多函数都有同步(Synchronious)和异步(Asychronious)两种模式。同步模式是一种线性方式,各种过程在软件的控制下顺序执行,例如:在接入电话后播放欢迎致辞。在播放的过程中,不执行其它操作。异步模式是事件触发方式,例如:电话接通(off_hook),挂断(on_hook),语音播放(dx_play)等都是作为一个事件来处理。CTI产生各种突发事件,驱使执行相应的应用函数,实现相应的功能。例如:语音开始播放是一个事件,软件将根据需要,控制语音卡播放不同的语音。语音开始播放后返回,等待下一个事件的发生。
  由此,应用程序也可采用同步和异步两种方法。同步处理将每一路电话接通到挂断的全过程作为一个进程来处理,过程清晰,编程方便,程序流程能够预测和控制。其缺点是灵活性差,如果系统需要修改或扩展时,程序修改的量相当可观,并且所占用的系统资源大。异步处理适应灵活多变,修改和扩展方便,占用系统小。但系统编程复杂,对各种事件的相应处理和出现时间必须精确地掌握。
4.1.2  处理模式的扩展
  针对同步和异步的不同特点,我们采用异步守候,同步运行的模式,见图3。


图3呼叫接入过程

  异步守候进程等待呼叫事件,在第一次振铃之后,检测是否有特殊双音频信号‘b’,如果检测到,则置Web服务标志位‘m’;同时唤醒同步运行进程;将语音通道号和Web服务标志位作为参数传至同步运行进程。如果没有检测到,则唤醒同步运行进程后,将语音通道号和语音服务标志‘t’传至该同步运行的服务进程。例如:一个同步运行的服务进程p4,它的第一个参数是电话和Modem的区别标志,‘m’:Modem,‘t’:Telephone;第二个参数是通道名称;第三个参数是通道号。利用system命令调用p4。
4.1.3  实现语句
if(digbuf[chfd].dg_value[0]=='b'){  /* 判断缓冲区内容是否为b */
  sprintf(dispbuf,"p4 %c %s %d &",'m',chptr->devname,
  chptr-.chno);
  system(dispbuf);   /* system调用为Web服务的p4,
        后面加&为后台运行 */
  }
else{
  sprintf(dispbuf,"d4 %c %s %d &",'t',chptr->devname,
  chptr->chno);
  system(dispbuf);   /* system调用为电话语音服务的p4 */
}
  同步运行服务进程发现Web服务标志置位,就转向网络服务,否则将相应的语音通道打开,获得语音句柄(handle),提供传统的语音或传真服务。
  这种混合方式,能及时捕捉呼叫信号,按任务分别执行。其优点是系统资源占用相对较少,编程清晰、处理方便。例如:如果完全采用同步模式,每一个语音通道将有一个进程守候,即使没有呼入,语音通道进程依然存在。而采用混合方式,只在出现呼叫时才产生一个相应的同步进行服务进程,无疑大大提高了系统资源的利用。
4.2  座席的接入
  座席接入的任务是由语音服务转为呼叫座席,实现人与人的对话,并且将客户的帐号、口令等信息传给座席计算机。
  需要人工座席服务时,语音服务进程执行call_lady函数,将客户信息传递给座席进程,座席进程接收消息后按一定算法(如均衡呼叫算法)连通空闲的座席电话。UNIX进程间的通信一般有消息队列,共享内存和管道三种方式。接入时我们采用消息队列,消息队列是内存的一部分,任何进程都可以定义消息队列,并在队列中写入或取出消息内容。我们规定了进程通信协议。以下是语音接入处理进程发向座席接入进程的消息队列结构:
struct  MSGFORM{
  char  MsgID;    /*消息队列唯一的标识号*/
  char  msgtext[30];    /*消息体*/
} ;
  消息体内的信息结构:
struct  MSGTEXTSTRU{
  char  voxchannel[8];  /*语音通道的唯一标志*/
  char msgtype;  /*服务类型:T-座席服务,P-Web服务*/
  char  usercounte[10];    /*客户帐号*/
  char  userpasswd[6];  /*口令*/
};
  消息体的内容包括语音通道的标识,类型标志,帐号和密码。构成一个定长的字符串。语音通道的标识是DIALOGIC系列所规定的通道唯一标志。类型标志可自定义。
  座席接入后返回消息队列给语音处理进程,表示接入是否成功。这一次消息交互是以MsgID消息队列标识号握手的。
4.3  Web的接入
  Web接入和座席接入使用同一块座席卡的不同呼出口,进程间的交互过程使用与座席同一个消息队列,只是服务类型为P,连通空闲的Modem口,实现呼叫转移。从而登录远程服务器,由远程服务器提供Web的网络服务。
4.4  座席和Web服务的断开
  接入也包括断开操作。断开有两种情况:一种是工作结束客户主动挂机断开连接,或者座席、Web服务繁忙不能连接而正常断开;另一种是座席故障无响应或客户长期占用Web服务,超时而引起的非正常断开。例如,客户浏览Web后不再操作。我们采用三种非正常断开方案:一是浏览器TCP/IP自动超时断开拨号网络;二是Web应用程序对于超时不操作的用户断开其连接;三是规定每一笔浏览业务连接的最长时限。在一定的时间之内,客户必须完成业务操作,否则时间一到,呼叫中心程序断开连接。
4.5  语音卡和座席卡的桥接和断开
4.5.1  原理说明
  语音卡和座席卡之间通过SC总线进行信息交换。SC总线的信息传输是数字信号,采用分时方式,每一个时间片段称为时间槽(time-slot)。卡的通道在SC总线上的表示即为时间槽,在软件中通道通过开发包中的函数获得特定的时间槽,此时间槽在整个系统中是唯一的。SC总线的桥接就是通过通道句柄对其它通道的时间槽进行监听(listen)实现的。桥接过程如下:
  ①语音通道获得一个时间槽(time-slot)。
  ②座席通道获得一个时间槽(time-slot)。
  ③语音通道的句柄监听(listen)座席通道的时间槽。
  ④座席通道的句柄监听(listen)语音通道的时间槽。
4.5.2  实现语句
voxdevhd=dx_open(voxchannel,0)
/*以同步方式打开语音通道,获得语音通道句柄voxdevhd */
statdevhd=ms_open(statchannel,0)
 /*以同步方式打开座席通道,获得座席通道句柄statdevhd */
dx_getxmitslot(voxdevhd,& voxtsinfo)
     /*语音通道获得时间槽voxtsinfo*/
ms_getxmitslot(statdevhd,& stattsinfo)    
     /*座席通道获得时间槽stattsinfo*/
ms_listen(statdevhd,& voxtsinfo) /*语音通道监听座席通道*/
ag_listen(voxdevhd,& stattsinfo) /*座席通道监听语音通道*/
通道断开,只需通道句柄取消监听(Unlisten)时间槽就可以了。语句为:
ms_unlisten(statdevhd)    /*座席通道断开监听*/
ag_unlisten(voxdevhd)    /*语音通道断开监听*/
4.6  方案小结
  此方案优点是通过座席卡转接Modem,完成远程服务器的登录,因此可以把它当成座席的一个部分。只需加入人工座席和Modem的区别标志位,就可以很快地完成编程的工作,而源程序的变动不大。同时可以根据负载的情况,灵活地调节人工座席和Modem的个数,以满足实际的需要。此方案电气性能好,软件容易实现。但其缺点是占用了宝贵的座席资源,以MSI座席卡为例,每块卡8个端口(Port)。如果Modem占了4口,人工座席最多只有4个,对于座席数量多或Web接入多的系统,要用较多的座席卡,以增加呼出端口数量。

5  总结及展望

  本文讨论了呼叫中心的系统解决方案及接入的软件设计方案。随着Internet和其它传播媒介的发展,呼叫中心的接入方式必然不断地丰富和扩展。在电子商务及许多公众服务行业中将发挥出越来越大的作用。

曾锃(华中理工大学自动控制科学工程系  武汉 430074)
田忠和(华中理工大学自动控制科学工程系  武汉 430074)

参考文献

1,曲晋云. 呼叫中心及相关技术. 电信快报, 1999年第1期
2,Herman D'hooge. 通信PC机. 电信交换, 1997年第1期
3,Dialogic Cooperation, Voice Software Reference for Unix

你可能感兴趣的:(原理)