《银行催收业务综合管理平台CTI服务器设计与开发》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
代号10701学号10082067分类号TP311.52密级公开UDC编号题(中、英文)目银行催收业务综合管理平台CTI服务器设计与开发TheDesignandDevelopmentofCTIServerinBankPressing-for-paymentIntegratedPlatform作者姓名高宏学校指导教师姓名职称胡建伟副教授工程领域软件工程企业指导教师姓名职称康扶国高工提交课题日期二○一一年三月 西安电子科技大学学位课题独创性(或创新性)声明秉承学校严谨的学风和优良的科学道德,本人声明所呈交的课题是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,课题中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在课题中做了明确的说明并表示了谢意。申请学位课题与资料若有不实之处,本人承担一切相关的法律责任。本人签名:日期西安电子科技大学关于课题使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位课题的规定,即:研究生在校攻读学位期间课题工作的知识产权单位属西安电子科技大学。学校有权保留送交课题的复印件,允许查阅和借阅课题;学校可以公布课题的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存课题。同时本人保证,毕业后结合学位课题研究课题再攥写的文章一律署名单位为西安电子科技大学。(保密的课题在解密后遵守此规定)本学位课题属于保密,在年解密后适用本授权书。本人签名:日期导师签名:日期 摘要银行催收业务在国内刚刚兴起,国内尚无成熟的行业ERP系统可用,国外产品动辄百万以上的价格让国内用户难以接受。在此情况下,作者参与了由国内某[1]催收服务企业主导的行业ERP系统研发,设计并实现了其中的CTI(ComputerTelephonyIntegration)服务器系统。在该应用中,电话交换逻辑异常复杂,且与催收业务紧密联系,成品交换机不能满足要求,需要从板卡级构建交换系统并自己实现交换程序。传统利用板卡构建交换机时,为避免对硬件的并发访问冲突,交换程序都采用大循环的模式避免同时对硬件进行访问,但当交换逻辑复杂时,系统变得不可控制。本文创造性的采用了多线程技术,通过对板卡厂家提供的线程不安全SDK函数进行二次封装,提供互斥锁机制,使这些函数变成线程安全,从而增强了实现复杂功能的能力。另外根据项目实际需要,本设计在CTI服务器端实现了类似于QQ的即时通讯聊天工具的服务器端功能。该系统经过3个月的运行,稳定可靠、操作简便、响应及时,完全达到设计要求,为保障整个平台的正常运转起到了至关重要的作用。关键字:银行催收服务按需交换即时通讯自动回拨 AbstractDomesticbankpressing-for-paymentserverisprosperingquicklynowadays.SincedomesticindustrialstandardERPsystemisnotavailableinourcountryyetandthemillionpricedimportedsoftwareareusuallyunacceptable,anindustrialERPsystemwithcomprehensivefunctionwasdevelopbyacompanyin-country,Thewriterofthis[1]dissertationparticipatedintheR&DprocessofthisprojectanddesignedtheCTI(ComputerTelephonyIntegration)serversoftware.Atraditioncallcenterisusuallyconstructedbycards.Inordertoavoidtheconflictsofhardwareparallelaccessing,theexchangesoftwareutilizecircularmodetoaccesshardware.Butthismodeisnotsuitableforcomplexexchangedemandsbecauseitistenttobeuncontrollableinthatsituation.Thisdissertationproposedainnovativemultithreadingtechnology.Byre-encapsulationtheinsecuritythreadSDKfunctionprovidedbycardsvendor,amechanismofmutecanbeachievedtotransfertherealizecomplexfunctionandimprovedthesystem’srobustness.Inaddition,accordingtothepracticalneeds,aninstantcommunicationtoolhavingthefunctionlikeQQmustbeprovided.TheinstantcommunicationfunctionwasrealizedontheCTIserver.Afterthreemonthsoperation,thebankpress-for-paymentcomprehensivemanagementplatform,hasbeencharacterizedasfull-coverage,multi-function,stableandeasy-to-use,whichispracticalfortheautomaticity.CTIplaysakeyroletoensurethesmoothoperationofthewholesystem.Keyword:bankpressing-for-paymentserviceon-demandexchangeinstantcommunicationauto-redialing 目录第一章绪论.............................................................................................................11.1课题背景与研究意义................................................................................11.2银行催收业务综合管理平台研究现状....................................................11.3课题研究内容与目的................................................................................21.4课题章节安排............................................................................................3第二章相关技术介绍.............................................................................................52.1呼叫中心技术简介....................................................................................52.2CTI技术简介.............................................................................................62.3实现CTI技术的基本方法.......................................................................72.4本章小结.....................................................................................................8第三章需求分析.....................................................................................................93.1催收座席软件需求描述............................................................................93.2CTI服务器需求描述...............................................................................113.3系统角色..................................................................................................133.4电话交换服务..........................................................................................143.4.1用例...............................................................................................143.4.2来电处理流程...............................................................................153.4.3去电处理流程...............................................................................173.4.4用例顺序图...................................................................................203.5即时通讯服务..........................................................................................203.5.1功能描述.......................................................................................203.5.2用例...............................................................................................213.5.3用例顺序图...................................................................................223.6座席状态监控服务...................................................................................233.6.1功能描述.......................................................................................233.6.2活动图...........................................................................................233.7自动电话回拨服务..................................................................................253.7.1功能描述.......................................................................................253.7.2活动图...........................................................................................253.8本章小结...................................................................................................27第四章系统设计...................................................................................................29 4.1应用模型...................................................................................................294.2体系结构...................................................................................................304.3程序内部结构...........................................................................................314.4UI原型及导航设计.................................................................................334.4.1主界面设计...................................................................................334.4.2服务日志监控界面.......................................................................334.4.3服务运行状态控制界面设计.......................................................354.4.4其它功能项目设计.......................................................................354.4.5参数配置的几个界面设计...........................................................374.5类设计......................................................................................................394.5.1基本枚举类型................................................................................394.5.2与座席与员工相关的类................................................................394.5.3CTI向座席发出的命令封装类....................................................404.5.4CTI收到的座席发来的命令封装类............................................404.5.5A通道与D通道状态枚举........................................................414.5.6A通道类与D通道类................................................................424.5.7电话交换程序调度类...................................................................444.5.8与即时通讯服务相关的类...........................................................454.5.9与自动回拨相关的类...................................................................464.5.10与座席状态查询服务相关的类.................................................464.6数据库设计..............................................................................................474.6.1员工信息表...................................................................................474.6.2席位信息表...................................................................................474.6.3自动回拨请求表...........................................................................484.6.4电话通话记录表...........................................................................484.6.5客户来电未接电话表...................................................................494.6.6电话转移记录表...........................................................................494.6.7即时通讯记录表...........................................................................504.7本章小结...................................................................................................50第五章系统实现中的关键算法设计...................................................................515.1网络通讯核心算法...................................................................................515.1.1通讯数据封装格式........................................................................515.1.2命令编码命令参数.......................................................................515.1.3通讯线程算法...............................................................................53 5.2交换服务核心算法...................................................................................535.2.1主交换线程算法...........................................................................535.2.2D通道来电处理算法.................................................................545.3即时通讯服务线程核心算法实现..........................................................555.4自动回拨线程核心算法...........................................................................565.5东进SDKC函数线程安全封装方法.....................................................575.6本章小结...................................................................................................58第六章系统测试...................................................................................................596.1测试环境...................................................................................................596.2测试方法...................................................................................................596.3功能测试...................................................................................................606.4性能测试...................................................................................................626.5系统运行效果...........................................................................................626.6本章小结...................................................................................................65第七章总结与展望...............................................................................................677.1总结...........................................................................................................677.2展望...........................................................................................................67致谢.........................................................................................................................69参考文献.................................................................................................................71 第一章绪论1第一章绪论1.1课题背景与研究意义随着信用卡的发卡量不断地攀升,信用卡逾期不良贷款的风险也日趋加大。在中国人民银行发布的《2009年第一季度支付体系运行总体情况》中显示:信用卡逾期半年未偿信贷总额不断增加,占期末应偿信贷总额比例略有上升。第一季度,信用卡逾期半年未偿信贷总额49.70亿元,同比增加133.1%,占期末应偿信贷总额的3.0%,占比同比增加0.6个百分点。央行还首次在相关报告中提醒发卡银行“在大力推进信用卡业务快速发展的同时,应警惕信用卡逾期未偿金额持续上升所带来的潜在风险”。与公司、个人消费信贷所产生的不良贷款催收相比,信用卡的不良贷款金额较低、数量较多、持卡人分布范围广,且无任何担保、抵押、质押品可以弥补所欠账款等特点。发卡银行针对信用卡逾期不良贷款的催收压力由此可见一斑,各家发卡银行通常根据信用卡欠款逾期时间的长短,采取客服提醒持卡人还款方式,向债务人进行催收欠款。由于银行自身的催收能力逐渐无法适应信用卡逾期账款日益增长的速度,发卡银行出于加快逾期账款回收期限,以及降低经营成本的国际通行手段,将包括信用卡在内的个人消费贷款(信用卡、房屋贷款、小额信贷为主)的逾期债权催收业务外包给一些第三方专业催收公司。这种催收外包模式一定程度上减少了银行成本压力,加快了催收回款的速度。但是由于催收外包业务在中国刚刚开始,催收公司的业务能力与管理水平良莠不齐,违法违规的催收手段经常发生。而催收外包业务一旦开展不慎,将会给银行的声誉,乃至于社会带来了很大的负面影响,因此发卡银行在采取催收外包业务时一定要谨慎。提升催收公司的专业化程度,是这个行业的当务之急。1.2银行催收业务综合管理平台研究现状国外银行催收行业已经发展成熟规范,例如:美国作为现代信用卡的发源地,其催收产业化程度非常高,对信用卡产业监管的力度也是非常大。早在20世纪70年代开始,美国就制定了一系列针对信用卡产业发展的法律法规,构建了美国信用卡产业良性发展的法律环境。而中国台湾的信用卡产业化在20世纪90年代得到的迅猛的发展,信用卡催收产业化非常成熟。 2银行催收业务综合管理平台CTI服务器设计与开发从技术层面上讲,国外及台湾地区,银行催收业务专业公司为了加强内部管理、提高管理水平、降低催收违规风险、强化催收过程监督,纷纷开发应用了专门的行业内ERP系统,业务涵盖整个催收作业过程的方方面面,从与银行之间的数据智能对接,到以呼叫中心(CallCenter)为核心的催收过程,从催收过程监控与后期核查,到催收任务自动分配和绩效考核,ERP系统俨然已经成为行业规范化经营的有力推手。当前,银行催收业务在国内刚刚起步,国内尚无成熟的行业ERP系统可用,而国外产品价格太高,比如国内有些催收公司在使用的台湾此类产品售价都在150万以上。如此高的价格,使国内客户难以承受。1.3课题研究内容与目的在此情况下,由国内某催收服务企业主导开发一套适合国情,并在行业内领先的ERP系统。整个系统以呼叫中心为核心,功能覆盖催收业务的全过程。功能包括:银行催收数据批次管理、客户资料管理、欠款信息管理、催收管理、对账管理、业绩管理、统计报表管理、座席电话催收管理、任务分配、资信动态评级管理多个子系统。[8][17]图1.1表示了ERP系统、呼叫中心、CTI技术之间的关系。ERP系统CallCenter系统CTI服务器图1.1ERP、呼叫中心、CTI关系图[18]本人的主要工作就是完成呼叫中心的服务器端软件的开发,即CTI服务器端软件的开发。包括了四个相对独立的应用模块:1.电话交换服务(PBXService);2.即时通讯服务(IMService);3.座席状态监控服务(Desk-StatusDetectorService);4.自动回拨服务(Auto-CallbackService)。 第一章绪论3另外,还需要开发将这四个服务集成在一起协调运行的控制模块、参数配置软件、状态显示、日志记录等相关模块。从开发过程来说,本课题完成了从需求整理、需求分析、详细设计、系统实现、系统测试等全流程的开发过程。1.系统需求分析项目开发按照软件工程要求,采用分类分层的思想,将需求从大系统中分离出来,整理出本课题需要实现的功能需求,然后进行流程分解,编制软件需求说明书。2.系统设计根据软件业务需求说明书和系统行为分析,确定程序系统的组织结构和数据处理流程图,设计系统功能模块和数据结构,确定业务逻辑的操作和业务实体,封装数据与操作;对数据库的表操作功能进行功能封装;根据业务流程设计用户界面;异常处理。3.系统开发[20][9][10]硬件平台,我们选择一台研华的工控机(型号:研华IPC-602)作为CTI[21]服务器,CTI服务器安装1块东进的E1卡(型号:DJ-DN300)、2块座席语音卡[22](每块卡支持16路座席,型号:DJ-D160A),并安装相关驱动程序。软件开发,我们选择VisualStudio2008开发环境,编程语言采用面向对象的[3]C#语言,在编码过程中同时整理出相应的技术支持文档,以便于后期的日常维护。4.系统测试由于用户具备局域网运行环境,开发过程中先进行局部功能单元测试,然后进行联合测试,最后按测试用例要求进行整体测试,最终进入试运行阶段。测试通过后,编写完整的用户帮助文档或操作手册,最后完成系统开发。1.4课题章节安排全文共分为七章,各章组织结构如下:第一章绪论。主要介绍了课题的背景来源,课题所涉及的主要工作。[4]第二章相关技术介绍。介绍了呼叫中心及CTI技术的概念及实现方法。第三章需求分析。主要对项目的业务需求进行描述,并针对对需求进行分析,需求分析方法采用语言描述与UML相结合的方法,有用例图(UseCase)与顺序图(SequenceDiagram)、活动图(ActivityDiagram)等。第四章系统设计。主要从CTI服务器的体系结构、系统的UI与导航、类图、数据库等方面简述了设计过程。第五章系统实现中的关键算法设计。主要对项目中的一些关键技术点的实现 4银行催收业务综合管理平台CTI服务器设计与开发算法进行了描述。第六章系统测试。介绍了系统最后在测试环节的表现以及系统运行时的界面效果截图。第七章总结与展望。主要是对本课题工作做以总结,并设想在多个分公司情况下,整个系统应该如何改进以适应未来的需求。最后是作者为完成本课题所参考的文献,并致谢那些为本课题顺利完成而给予帮助的老师们。 第二章相关技术介绍5第二章相关技术介绍2.1呼叫中心技术简介因为银行催收ERP系统的核心是呼叫中心系统,在此,我们将呼叫中心稍作介绍。[16][19]呼叫中心(CallCenter)又叫作客户服务中心,它是一种新的基于CTI技术,与企业连为一体的一个完整的综合信息服务系统的服务方式,利用现代的通信手段,有效地为客户提供高质量的服务。呼叫中心一般是在一个相对集中的场所,由一批服务人员组成的服务机构,通常利用计算机通讯技术,处理来自企业、顾客的电话垂询,尤其具备同时处理大量来话的能力,还具备主叫号码显示,可将来电自动分配给具备相应技能的人员处理,并能记录和储存所有来话信息。一个典型的以客户服务为主的呼叫中心可以兼具呼入与呼出功能,当处理顾客的信息查询、咨询、投诉等业务的同时,可以进行顾客回访、满意度调查等呼出业务。银行催收ERP系统就是建立在呼叫中心平台基础之上的,催收人员以电话为媒介,通过呼叫中心与客户进行交流,呼叫中心自动完成交换、通话记录、自动回拨并播放语音等功能。通常,一个典型的呼叫中心的构建如图2.1所示:图2.1呼叫中心构建图 6银行催收业务综合管理平台CTI服务器设计与开发2.2CTI技术简介CTI技术是实现呼叫中心的核心。[27]CTI即计算机电话集成(ComputerTelephonyIntegration)技术,将计算机技术应用到电话系统中,能够自动地对电话中的信令信息进行识别处理,并通过建立有关的话路连接,而向用户传送预定的录音文件、转接来话等。现在,人们更倾向于把CTI中的Telephony改成Telecommunication的,即CTI改成ComputerTelecommunicationIntegration的缩写。CTI技术的发展就其历史来说也不过十几年,如果把第一个用电话订机票系统算起来也不过30多年,但它的发展速度是惊人的。几年前工作在通信领域的工程技术人员了解CTI一词的含义并不奇怪。如今,电台、电视机、报纸、杂志、教科书上,处处可以看到“CTI”一词。现在人们生活中几乎时时、处处与CTI技术打交道。如今您想要查一个单位的电话号码时,用的是采用CTI技术的114查号台。CTI技术内容十分广泛,但概括起来,有如下的一些应用技术和内容:IP电[13]话和IP传真;电子商务;呼叫中心(客户服务中心);客户关系管理(CRM)与服务系统;自动语音应答系统;自动语音信箱,自动录音服务;基于IP的语音、数据、视频的CTTI系统;综合语音、数据服务系统;自然语音识别CTI系统;有线、无线计费系统;专家咨询信息服务系统;传呼服务、故障服务、秘书服务;多媒体综合信息服务。总结成一句话就是人们常说的“CTI技术已是无处不在,无时不在”。上面讲的是CTI应用技术的主要内容,下面则介绍一些属上述内容的专业服务系统,即特别服务号,这些系统为企业、政府、公司和广大用户提供了良好的服务并受到广泛的欢迎,如前面已经提到的服务亲切的160人工信息服务系统,服务迅捷的168自动信息服务系统,提高效率的166语音信息系统,用在各行各业的计费系统和催缴系统,其它如112、117、119、114、121等信息查询和服务系统。其实CTI技术内容远远不至这些,众所共知我们的时代是一个网络的时代,最大的问题和最大的追求目标是各种网络(固定网、移动网、数据网、电视网、卫星通讯网„„)的融合和统一,各种信息(消息)的规程融合统一。可以说任何需要语音、数据通信,特别是那些希望把计算机网(Internet网)与通信网结合起来完成语音数据的信息交换的系统都要CTI技术。目前将语音、数据、视频集成并实现多媒体服务的技术发展迅速,这一技术实质上也属CTI范畴。因此可以说一切想使用语音、数据、视频信号的行业都需要CTI技术。 第二章相关技术介绍72.3实现CTI技术的基本方法现代的呼叫中心,应用了计算机电话集成(CTI)技术使呼叫中心的服务功能大大加强。CTI技术是以电话语音为媒介,用户可以通过电话机上的按键来操作呼叫中心的计算机。接入呼叫中心的方式可以是用户电话拨号接入、传真接入、计算机及调制解调器(MODEM)拨号连接以及因特网网址(IP地址)访问等,用户接入呼叫中心后,就能收到呼叫中心任务提示音,按照呼叫中心的语音提示,就能接入数据库,获得所需的信息服务。并且存储、转发、查询、交换等处理。还可以通过呼叫中心完成交易。[24]通常情况下,CTI环境的建立需要以下的软硬件配置:1.硬件硬件有五个主要模块构成:[28]1)通信服务器。系统的核心服务器,装入相应的板卡和软件后实现交换、排队、VoIP网关等功能,根据安装规模的大小选择合适的服务器。2)通信板卡。通信板卡插在通信服务器的ISA或PCI槽内,分为Quantum通信板和Triton通信板两大类,提供模拟/数字线接入、IP通道和班长席等与系统外界的通信功能。3)数据库服务器。推荐采用SQLServer数据库,如果客户资料数据或者业务资料数据数量较大,也可以使用大型数据库来管理,如Informix、Oracle等。数据库系统需要单独设置一台服务器,对于特别重要的数据资料,要使用双机热备份来确保数据安全。4)座席微机。以IP分机方式登录的座席,每个座席员必须配置一台安装有NetMeeting的多媒体微机;以模拟分机方式登录的座席,每个座席员必须配置一部模拟电话和一台微机。5)耳麦。如果座席员全部采用IP分机方式登录系统,则只需要为每个座席配备一个接声卡的耳麦即可;如果有的座席员采用模拟分机方式登录系统,则需配备一个带拨号盘的耳麦电话。2.软件软件由CTI系统应用软件构成。[14]CTI系统应用软件应当提供易用的图形客户界面。用户可以用它来配置、管[29][30]理和维护系统,并将用作第三方开发增强型应用软件的平台。推荐将CTI软件中的组件(例如交换机服务)作为NTServices,当启动系统时会自动启动,无须人工启动,从而提高了安全性和可靠性。 8银行催收业务综合管理平台CTI服务器设计与开发2.4本章小结本章对呼叫中心(CallCenter)技术、呼叫中心的核心技术-CTI技术做了介绍,并介绍了实现CTI技术的基本方法。 第三章需求分析9第三章需求分析在软件工程中,需求分析指的是在建立一个新的或改变一个现存的系统或产品时,确定新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程。本章从催收ERP功系统催收座席软件需求、CTI服务器需求、CTI服务器软件的四个模块来分析讨论催收业务综合管理平台CTI服务器设计与开发的需求。3.1催收座席软件需求描述整个催收ERP系统有很多的用户角色,不同的用户角色对该系统有不同的业务功能需求,系统的操作用户分为:催收员、催收主管、稽核员、客户经理、外访员、经理。系统要求针对不同的用户身份,开发不同的应用程序。而其中,只有催收座席与催收主管座席与CTI服务器联系最紧密的,CTI服务端是为催收座席程序服务的,CTI服务端的任何需求都来自于座席端程序需求。因此,为了理解CTI服务端的功能需求,在此有必要对催收座席软件的功能进行描述,本课题完成的CTI服务器端的业务需求将在本章3.2部分详述。催收座席的功能需求也是很繁多的,有些需求与CTI服务无关,诸如:1.本月催收统计数据显示联络案数:本月中该催收员已进行过电话催缴的全部客户总数。未拨通案数:本月中该催收员未拨通电话数的总数。催回案数:本月中完全催回的客户总数(还清)。实收金额:本月中已经成功催回的金额总数。2.今日统计信息显示联络案数:当天由催收员进行过电话催收的全部客户总数。未拨通案数:当天该催收员未拨通电话数的总数。承诺付款:当天由催收员进行催收后承诺还款的金额总和。全部客户:分到该催收员名下的全部客户。今日待办:系统每天自动分配的150条任务。3.今日待办信息显示分颜色显示150条今天待催收业务信息,简要列出客户的基本信息以及欠款信息。红色:代表主管设定的紧急催收;蓝色:代表客户承诺还款时间为今日或明日的客户欠款信息;桔黄色:代表预约客户的提醒时间为今天或提醒时间已过期 10银行催收业务综合管理平台CTI服务器设计与开发但未处理的预约客户;绿色:出现位置不排序,代表你只要成功执行某一条,某一条就变为绿色,特指前次催收日为今天的记录。4.客户基本信息显示信息修改记录:客户信息修改历史记录查询。修改客户信息:催收员电话催收过程中,如果询问到的客户信息与催收界面原信息记录不符,可以进行手工改动,改动完毕后点击该按键,将提示修改成功并同时将此次修改过程存入信息修改记录。变动信用级:催收人员手工调动客户信用等级的发起栏,发起后交由稽核与主管审批。变动信息等级的结果可在催收作业菜单中的“等级变更电话提醒:当天设置了电话提醒的所有客户。紧急催收:包括由催收主管设置的需要优先催收的客户与已经主动进行了还款的客户。5.客户欠款信息显示欠款信息列表界面可以看到该客户名下的所有欠款账号/账户,双击后显示该笔欠款的详细信息。申请放弃催收:催收员发起放弃催收,交由主管与稽核审批。提出对账申请:客户已明确说明还款时间与还款金额,由催收员提出对账申请,交由客户经理进行银行对账。6.电话访谈信息与电话访谈记录电话访谈信息中由催收员进行手动输入通话重点内容与客户所承诺还款金额,并在点击保存后直接存入下方的电话访谈历史记录框中。7.其它功能停止催收申请查询:催收员在催收工作页面对某些客户发起停止催收申请后,可在此查询停催申请的进程。客户资料稽核清单:催收员在催收工作页面对某些客户发起客户资料核查后,可在此查看这些客户的审批进程。对账申请查询:催收员在催收工作页面对客户发起对账申请后,可在此看到被发起对账的客户名单。等级变更查询:催收员在催收工作页面中对客户发起信用等级变更时,可在此查看客户的等级变更的进程。催收座席与CTI服务相关的功能需求,才是我们要关注的重点,这些需求决定着CTI服务器将必须怎么样的功能,催收座席的操作方式也决定着CTI服务器端程序的实现方式,这些需求描述如下:1.催收座席与CTI服务器部署在一个局域网中运行。 第三章需求分析112.催收座席要在登录系统时,需要服务器认证,如果同一个员工在别的机器上已经登录了,需要强行退出已经登录的终端;3.如果有外来电话拨打到催收座席,催收座席电脑必须弹屏(弹出对话框),显示来电客户相关资料,并提供以下三种选择供催收座席处理来电:接听、不接听、转接给***座席接听。4.催收座席外拨电话,直接在界面上选择客户电话号码,或者手动输入电话号码,点击“拨打外线”的功能按钮,CTI服务器负责建立连接。5.催收座席在通话期间,需要CTI服务器要能自动记录录音,并工催收座席随时可以调阅回放。6.催收座席可以拨打内线,拨打方法是,输入座席分机号,点“拨打内线”即可。7.拨打外线或者拨打内线时,如果占线,CTI服务器负责通知催收座席程序,界面提示并播放占线音乐。8.催收主管座席可以随时查看各个催收座席的状态信息。9.催收主管座席能监听任何一路正在通话的线路,只监听,步剥夺通话双方的通话权。10.催收主管座席能强听任何一路正在通话的线路,剥夺正在通话的座席的通话权。11.外部来电要能经过CTI服务器准确转接到对应的催收座席。[11]12.座席之间能够进行类似于QQ的即时通讯。13.座席之间能够传递文件。14.座席的电话工作在长摘机模式下。15.一个电话中途被转接或者被监听、强听等的信息,能被座席主管查阅到,这就需要CTI服务器记录响应的历史。16.座席注销后,其他座席能感知到该座席已经下线。17.催收人员白天如果拨打某个电话没有打通,可以将这个电话设置为晚间自动回拨,到了晚上6:30以后(此时间可以设置),CTI服务器负责自动给客户拨打电话,接通后播放预先录制的语音文件,拨通拨不通都需要记录状态,以供催收员第二天掌握情况。3.2CTI服务器需求描述[23]鉴于3.1中的描述,催收座席程序对CTI服务器提出了功能需求,再加上CTI服务器自身管理的需求,这就构成了CTI服务器端程序的功能需求清单。表 12银行催收业务综合管理平台CTI服务器设计与开发格3.1是CTI服务器端的的需求矩阵。表3.1CTI服务器需求矩阵大类小类需求项电话交换外部来电外部来电侦测外部来电转接路由选择外部来电后给座席端弹屏根据座席应答方式处理外来电话录音监听处理强听处理挂机处理拨打外线接收座席拨打外线的请求给座席报告是否拨通信息接通外线录音接收并处理座席的拨分机号码的指令接收并处理催收主管座席发来的监听命令接收并处理催收主管座席发来的强听命令挂机处理拨打内线接收并处理座席的拨打内线指令接通内线,如果占线,需要报告拨打者挂机处理内部来电给座席弹屏接收座席是否接听挂机处理监听处理接收并处理催收主管座席的监听命令强听处理接收并处理催收主管座席的强听命令座席状态列表座席状态接收座席主管的请求命令并将当前各个座席的状态信息发送给催收主管座席登录接收登录命令,并建立与登录座席的通讯套接字如果有该工号人员在别的座席在线,强制其下线 第三章需求分析13续表3.1CTI服务器需求矩阵注销接收座席注销命令,处理相应的状态信息,关系通讯线程等座席状态轮询独立线程,自动监控各个在线座席通讯是否正常,为防止座席未正常注销(死机、直接关机、网络端等)而发生的通讯中断超时得不到座席应答时,要按该座席下线进行处理即时通讯登陆与注销接收座席自动登录请求接收座席注销命令信息传递接收信息分发信息文件传递接收文件转发文件自动回拨回拨设置检测是否到设置自动回拨的时间提取自动回拨的号码自动回拨并播放录音文件修改状态管理需求服务管理系统要能支持30个座席的规模服务状态监控服务日志启停服务广播信息录音文件存放目录磁盘空间管理清理逾期录音文件参数配置配置座席参数配置电话铃音、占线音、忙音参数配置自动回拨参数配置数据库链接参数配置录音文件存放参数3.3系统角色从本节开始,我们主要对CTI服务器端程序进行系统分析,这也是本课题完成的主要工作。 14银行催收业务综合管理平台CTI服务器设计与开发角色是表示提供或接收系统信息的人或者外部系统。对于整个催收管理平台来说,角色很多:催收员、催收主管、销售经理、外访人员等等,可是对于本课题完成的CTI服务器部分来说,角色只有两个:系统管理员、座席桌面软件。1.系统管理员(用户角色)是对CTI服务器软件进行管理和维护的人员,一种人员角色。2.座席桌面系统(外部系统角色)虽然座席桌面软件有好几种,不同的角色使用不同的座席桌面软件,可是它们在和CTI服务器在互动时,功能需求是一致的,方法是一样的。因此,我们在此把这类的桌面软件按照同一种角色对待,它们是一种外部系统角色。3.4电话交换服务电话交换服务是CTI服务器的最核心的一个功能,它要处理来电、去电、与座席桌面软件的互动、处理监听强听请求,并要将交换过程记入数据库,一边后期进行接通率统计。3.4.1用例站在外部看电话交换服务,把电话服务服务交换看成是个黑盒子,不关心内部实现,只从外部角色角度审视,该服务程序需要提供的功能项目如图3.1UML用例图所示。对角色“系统管理员”来说,系统应该提供如下的基本功能:启动服务、停止服务、查看服务异常、查看在线座席、查看交换端口状态。对外部系统角色“座席程序”来说,系统应该提供如下的基本功能:登录、注销、拨号、拨分机、监听、强听、来电弹屏、处理座席应答、挂断。登录注销启动服务拨号停止服务管理员拨分机坐席程序查看当前交换端口情况监听查看当前在线坐席强听查看交换异常挂断应答是否接听 第三章需求分析15图3.1电话交换服务用例图3.4.2来电处理流程来电处理是处理客户从外线打进电话的过程,当外面客户打进来电话时,交换机需要根据客户电话号码,从数据库检索客户信息,并根据催收分工,确定由哪个催收员来接听电话,并要检查该催收员目前的在线状态,做出不同的处理,对催收员的来电提示是通过软件完成(在催收员桌面弹出窗口),催收员是否接听的指令也不是传统的摘机过程,而是催收员通过桌面鼠标操作完成的,交换机需要根据催收员的指令接通电话,并开始自动进行录音。其处理流程大致如下:1.外部电话打进来时,交换机要读取来电号码,根据来电号码确定客户身份;2.如果来电不能确定客户身份,则转移到催收主管座席;3.如果能确定客户身份,从数据库查找该客户由哪个催收员负责,电话转给该催收座席;4.如果催收员不当班,则自动转到催收主管席位;5.如果催收主管占线,则给客户电话播放占线音乐;6.任何座席在接收到交换机发来的转接命令时,电脑屏幕将弹出对话框,显示来电信息以及客户信息,座席可以选择“接听”、“转接给其他人”、“拒绝接听”;7.座席的选择结果将会通过SOCKET发送给CTI服务器,CTI服务器将根据用户的选择做出相应的处理:如果座席选择了“接听”,则将外线与座席线路接通,并开始录音;如果座席选择了“拒绝接听”,则给外线播放“座席忙”的音乐,并在音乐播放完后自行挂断;如果座席选择了“转接给其他人”,则给要转接座席发送来电信息,处理方式同本座席的处理流程;8.通话过程中,CTI服务器还要检测其他座席有没有发出“监听”该路通话的请求。催收主管座席程序有监听的功能,催收主管通过催收主管桌面程序发出监听某路通话的命令给CTI服务器,CTI收到该命令后,将催收主管的线路搭接进正在通话的话音通路上,并设置催收主管只能监听,不能参与讨论;CTI服务器还要处理催收主管座席程序发来的“取消监听”的命令;另外,通话线路被拆线后,所有的监听也要被取消掉;一个话路可以同时支持多个监听;9.通话过程中,CTI服务器还需要处理催收主管座席发来的“强听”命令,CTI服务器收到强听命令后,需要断开当前座席与外线正在进行的通话,将外线直接与发来“强听”命令的座席接通,整个过程必须对外线客户来说是透明的,平滑过渡的;在处理强听时,需要处理好当前座席的状态收尾工作,包括搭接在其上的所有的监听线路; 16银行催收业务综合管理平台CTI服务器设计与开发10.所有的通话记录,CTI服务器都要负责自动进行后台录音,并要在数据库中登记相关通话双方的信息,以便后期检索;11.通话期间的任何监听、强听、转移过程,CTI服务器必须要能自动记录其转移过程,以便后期查询。来电处理流程是CTI服务端最复杂的一个处理流程,电话转接的规则比较复杂,是需要重点实现的功能项,期间涉及到外线通道的状态检测、数据库访问、座席状态判别、和座席之间的通讯交互、录音及磁盘空间管理等。在此,我们简单以流程图的方式来描述一下来电处理过程,如图3.2所示: 第三章需求分析17有电话打进来获取来电号码,给客户电话播放等待转接音乐可否读到号码N催收主管是否在线Y在线根据电话号码查找客户信线在不息占线催收主管电话是否占线能否找到客户信息N空闲Y给催收主管坐席发送来电信获取负责该客户的催收息,给出客户信息,在催收席员位弹屏是否有人负责N催收主管坐席用鼠标点Y不接听选择接听方式该催收员是否在线N接听Y催收员是否占线占线结束给客户电话播放等待音乐,直接接通客户电话与催收空闲主管坐席的耳麦给坐席发送来电信息,给给客户电话播放占出客户信息,在催收席位线音乐,等待客户弹屏挂机不接听坐席用鼠标点选择接听方式接听结束给客户电话播放等待音乐,直接来电处理结束接通客户电话与催收坐席的耳麦图3.2来电处理流程图3.4.3去电处理流程去电处理是指座席主动外拨客户的电话交换过程。座席人员通过座席软件发出拨号指令,CTI服务器在接收到拨号指令后,选择外线中继通道,并将号码通过该中继通道拨打出去,接通后将座席耳麦与外线通道接通,完成交换。同时,交换机还要负责自动对通话内容进行录音。其处理流程大致如下: 18银行催收业务综合管理平台CTI服务器设计与开发1.催收员在座席桌面程序中选择客户,并选择客户的手机、家庭电话、工作电话其中的一个,选择“拨打”;2.桌面程序通过SOCKET向CTI服务器发出拨号命令,并传送相应的电话号码;3.CTI服务器收到拨号命令后,寻找空闲的数字通道,并自动拨号,如果没找到空闲的外线通道,将状态通过SOCKET发给座席程序;如故找到空闲外线通道,则将座席话音与外线接通,并发送状态信息给座席程序;4.外线接通后,CTI服务器自动打开录音,并将录音信息记如数据库;5.通话过程中,CTI需要不断检测状态,检测外线是否挂断了电话,如果外线挂断了电话,则要停止录音,并拆掉链接。同时,CTI还要检测座席是否挂断了电话,座席挂断电话的方式是:催收员通过鼠标点击座席桌面程序上的挂断按钮,座席程序发送挂断命令给CTI服务器,CTI服务器接收到命令后执行拆线工作,并停止录音;6.通话过程中,CTI服务器还要检测其他座席有没有发出“监听”该路通话的请求。催收主管座席程序有监听的功能,通过催收主管桌面程序发出监听某路通话的命令给CTI服务器,CTI收到该命令后,将催收主管的线路搭接进正在通话的话音通路上,并设置催收主管只能监听,不能参与讨论;CTI服务器还要处理催收主管座席程序发来的“取消监听”的命令;另外,通话线路被拆线后,所有的监听也要被取消掉;一个话路可以同时支持多个监听;7.通话过程中,CTI服务器还需要处理催收主管座席发来的“强听”命令,CTI服务器收到强听命令后,需要断开当前座席与外线正在进行的通话,将外线直接与发来“强听”命令的座席接通,整个过程必须对外线客户来说是透明的,平滑过渡的;在处理强听时,需要处理好当前座席的状态收尾工作,包括搭接在其上的所有的监听线路。在日常催收业务中,外拨电话是最主要的业务,催收座席工作人员平均每人每天要拨打200个电话,30个座席一天总共要拨打6000个外线电话。因此,此功能对可靠性要求是最高的,同时要考虑效率因素,能否快速接通外线电话,也是关乎催收人员工作效率的大事,它成为整个系统运行效率的关键点。在此,我们简单以流程图方式描述一下去电处理的业务逻辑,如图3.3所示: 第三章需求分析19催收员选择客户点击【拨打电话】通过SOCKET发送拨号命令到CTI服务器选择E1数字通路是否选择到空闲的E1拨号接通和坐席之间的电话联络开始录音双方是否有一方挂断YN催收员有无Y拨分机号码拨打分机号码N有无催收主管Y启动监听要求监听NN有无催收主管Y启动强听结束要求强听图3.3去电处理流程图 20银行催收业务综合管理平台CTI服务器设计与开发3.4.4用例顺序图针对每个独立的用例(功能项),我们需要分析该功能项目的处理流程,从软件工程的角度出发,最适合用顺序图的方式来描述。鉴于本项目的功能项目很多,不便于全部在本课题中画出,此处仅仅以“座席登录”功能项目为例,给出该功能的顺序图,如图3.4所示。在线坐席队SOCKET侦SOCET连接坐席桌面程列听器序1:循环侦听2:请求连接3:创建SOCKET连接4:返回SOCKET接口5:返回通信用SOCKET6:发送登录信息7:更新在线坐席表图3.4“座席登录”顺序图3.5即时通讯服务3.5.1功能描述由于各个座席之间需要保持联系,客户提出需要一种类似于QQ的即时通信功能。即时通信模块在座席一端,要具备以下的功能:1.各个座席之间能进行实时聊天;2.发送的内容支持丰富文本格式,做到图文并茂;3.座席之间能够发送和接收文件;4.即时通信模块与座席程序完全集成,实现单点登录,也就是说:登录座席程序后,即时通讯程序自动按当前用户登录; 第三章需求分析215.即使通信程序中的人员列表直接读取系统中的组织机构与人员表信息,结构与平台上的人员组织结构相同;6.登陆后能够显示人员是否在线的状态,并用和QQ类似的图标进行明示;7.即时通信程序的界面完全模仿QQ界面,增强用户体验;8.在即时通信程序中,需要增加拨打内线的功能,也就是说,选择一个座席,可以与该座席直接进行语音通话。为了支持座席程序实现以上功能,CTI服务器段需要开发相应的即时通讯服务器程序,具体功能如下:1.接收座席发来的登陆命令,并将该座席的登录信息发布给所有在线座席;各个在线座席收到命令后显示“***刚刚登录”的信息;2.接收座席发来的登出命令,并将该座席的登录信息发布给所有在线座席;各个在线座席收到命令后显示“***刚刚退出”的信息;3.接收座席发来任何聊天信息,并将信息分发到相应的座席;4.聊天信息分为“公聊”和“私聊”,如果是“公聊”,服务器将聊天信息发给所有在线的座席,如果是“私聊”,服务器按照发言者提供的私聊列表,发送信息给相应的参与者;5.CTI服务器提供定期扫描服务,以应对有些机器没有登出座席程序直接关机,造成即时通信状态错误的情况;6.CTI服务器程序还要保留每个座席的聊天记录到数据库,以备每个座席随时可以查看聊天记录;7.CTI服务器还要处理聊天对象不再线时,有座席发给其内容,当他再次登陆时,要显示未读信息给该用户;8.CTI服务器还要为座席之间的文件传送提供中介服务;9.CTI服务器提供系统广播。3.5.2用例对于CTI服务器来说,座席程序就是外部系统,是CTI服务程序的一个角色。座席程序需要与CTI进行的交互,不是基于直接操作,而是基于网络通讯。座席程序跟CTI服务程序之间的交互有以下几种命令:登陆、注销、发私聊信息、发公聊信息、查询在线人员列表、发送文件、接收文件、获取未读信息。即时通讯服务作为单独服务,在CTI服务器端可以单独启动服务、停止服务。管理员还可以发布系统广播。图3.5表示即时通讯服务模块的的功能用例图: 22银行催收业务综合管理平台CTI服务器设计与开发登录注销启动服务发私聊信息管理员(fromUseCaseView)停止服务坐席程序发公聊信息(fromUseCaseView)发广播消息接收在线人员列表获取未读信息接收文件发送文件图3.5用例3.5.3用例顺序图鉴于本项目的功能项目很多,不便于全部在本课题中画出,此处仅仅以“座席登录”功能项目为例,给出该功能的顺序图,如图3.6所示:1.首先发起者给服务器通知,要发送文件给某人2.服务器做好接收准备,回馈信号给发送者3.发送者发送文件到服务器4.服务器检查接受者是否在线,如果在线,到(5),如果不在线,暂时保存文件到服务器,等接受者上线后进入(5)5.通知接受者,有文件要发送6.接受者做好接受准备,开始传送文件7.文件接收完毕后,服务器发通知给传送者,告知传送者,接受者已经将文件取走。为了实现上简单,保证处理一致,在处理发送者和接受者都在线时,我们都采用服务器暂存的方式,此处与真正的QQ实现上有差别。 第三章需求分析23在线队列侦听程序SOCKET坐席程序1:请求连接2:生成SOCKET3:回复ACK4:更新列表5:向所有在线人员发送上线信息6:转发上线信息7:显示上线信息图3.6“座席登录”顺序图3.6座席状态监控服务3.6.1功能描述为了电话转接服务正常进行,CTI服务器需要维持一张在线座席的表,这张表要及时准确地反应当前各个座席的在线情况,才能正确把电话转接到相应的座席。正常流程下,座席登录后会通过SOCKET发送登录信息给CTI服务器,CTI服务器将该座席加入到在线座席列表中;当用户正常退出程序时,会发送“Logout”命令给CTI服务器,CTI服务器将该用户从在线队列中移除。可以有这样一种情况:当座席程序登陆后,由于某种原因,例如:机器突然断电、程序死机、网络短线等原因造成座席已经无法与服务器联系了,也无法发送“Logout”命令给CTI服务器,而CTI服务器依然会以为该座席在线,这就造成了状态错误。为了解决上述问题,CTI服务器需要开发一个座席状态监控程序,随时和座席进行通信,如果通信失败,则视为座席出现未知故障,将该座席从在线列表中移除。这是一种主动联系的方式,而不是被动等待座席报告状态的方式,这样的服务程序会一直在后台独立线程中运行,循环往复,定时执行。3.6.2活动图本模块是一个后台服务,独立运行的一个线程,没有使用角色。 24银行催收业务综合管理平台CTI服务器设计与开发它的任务是定时对所有的座席机器进行扫描,发出心跳检测信号,等待座席机器应答,有应答,则说明该座席在线,否则下线了。对没有应答的座席,CTI服务器将做如下处理:1.使交换程序不要再将外来电话交换到该座席;2.通知即时通讯服务,将该座席用户设置为下线,并广播给其他座席。在此,用活动图来描述需求。图3.7座席活动图 第三章需求分析253.7自动电话回拨服务3.7.1功能描述由于业务的需要,催收座席在工作期间拨打客户电话,可能没有拨打通或者无人接听,为了核实该电话是否还能打通,并将拨打电话的意图告知用户,座席程序提供了“标注自动回拨”这样一个功能。凡是当天工作期间被标注为“自动回拨”的电话号码,当前晚上19:00~22:00(此时间段可以配置),CTI服务器自动对这些号码进行拨打,无需人工干预,如果拨打通电话,CTI服务器给客户播放预先录制好的语音文,说明拨打电话的缘由,同时将该电话标记为“可以拨通”;如果没有拨通,则重复拨打3次(次数可以配置)后将该电话标记为“不可拨通”。第二天上班,座席催收人员能够看到前一天设置的“自动回拨”的那些电话的处理结果,哪些是可以拨通的,哪些是无法打通的。3.7.2活动图本模块是一个后台服务,独立运行的一个线程,没有使用角色。该服务是个定时任务,每到晚上18:30开始执行,过了22:00停止执行(这个时间可以由用户设置)。它的任务主要是定时扫描有无需要自动回拨的电话,如果有,则自动拨打电话,并给外线客户播放预先录制好的语音文件。自动回拨的电话是白天由座席催收人员设置的号码,这些客户由于白天拨打电话,无人接听,利用晚上时间自动给客户拨打,以确认客户电话号码是否可以拨通。此处需要说明:一个号码没有拨通后,该号码的重试次数就会被减1,如果重试次数被减到0后,该挑自动重拨信息将被标记为“不可拨通电话”,不再拨打;一个号码的重试次数一般设置为4次(可配置),两次重试之间的时间间隔为10分钟;如果号码拨打通了,该挑自动重拨记录将被标记为“已拨通”,不再拨打。自动回拨电话的拨打结果,在催收人员第二天上班时,会自动列出这些号码的接通情况:“拨打通了”、“未拨打通,可能号码有误”、“拨打四次无人接听”。在此,用活动图来描述需求如图3.8所示: 26银行催收业务综合管理平台CTI服务器设计与开发图3.8自动回拨活动图一般来说,晚上E1外线通道比较空闲,自动回拨可以充分利用这些信道资源,同时进行电话自动外拨,理论上可以设置30路都可以同时拨打外线。这个参数可以由用户设置。因此,多路同时外拨,需要有专门的算法确保任务分配不能混乱,不能让两个通道拨打同一个客户电话的情况出现。同时还要处理好一个电话第一次没有拨通,10分钟后还要进行第二次重试,如果重播四次后,就不能再拨打,诸如此类的这个调度规则的实现是本模块需要考虑的重点。 第三章需求分析273.8本章小结本章先对系统的功能需求进行了语言描述,然后采用UML分析方法,对系统的角色、用例进行分析,并采用流程图、顺序图、活动图对关键业务环节进行细化分析。 28银行催收业务综合管理平台CTI服务器设计与开发 第四章系统设计29第四章系统设计4.1应用模型[25]整个银行催收系统是部署在一个相对独立的局域网环境中来使用的。连入局域网的计算机有:CTI服务器、数据库服务器、催收员座席计算机、催收主管座席计算机,其应用模型如图4.1所示。PSTN线继中E1CTI服务器座席卡接口板数据库服务器局域网(LAN)催收主管催收员1催收员N图4.1应用模型图系统的主要功能模块如下:1.CTI服务器CTI服务器上安装有E1通路卡,直接驳接电信PSTNE1数字一号中继线,[26]30B+D形式,同时提供30路外线话音服务;CTI服务器上同时安装有2块座席卡,每块座席卡提供16路座席通道,总共32路座席通道,每个通道通过电话先连接座席的话务盒;CTI服务器部署有本课题完成的CTI服务器软件,实现所有设定的服务功能。2.数据库服务器数据库服务器存储应用系统的所有有效信息,运行有SQLServer2005数据库系统。3.座席系统座席系统由座席计算机与桌面话务盒、耳麦组成;座席计算机上运行有催收座席软件;话务盒通过电话线连接CTI服务器的座席接口板;耳麦直接驳接在话务盒上。4.网络通讯CTI服务器需要和数据库服务器进行网络通讯,读写数据库;座席系统需要与 30银行催收业务综合管理平台CTI服务器设计与开发数据库服务器网络通讯,读写数据库;座席系统需要与CTI服务器进行网络通讯,通过SOCKET模式建立连接,进行指令的互传,同时还有即时信息IM的传递,本课题实现CTI服务器端的所有功能。在此,有必要对几个本文中遇到的名词做以解释,统一叫法,便于理解:1.E1数字中继在作为语音传输线路的情况下,数字中继线在国内一般指30B+D,是指电信运营商提供的:只有一个号码30路通道的一种电信语音通讯业务(当30个客户在同一时刻打这个号码时,能在同时接通,不会占线)。2.座席语音卡也称座席语音板,即电脑与电话语音处理设备,是一种用于电脑上并能够实现语音处理的电脑插件。3.即时通讯Instantmessaging,简称IM,是一个终端服务,允许两人或多人使用网路即时的传递文字信息、档案、语音与视频交流。QQ是最成功的IM软件。4.自动回拨自动回拨或称电话回呼系统,是企业的自动回呼语音服务平台向客户发起的语音回呼,客户不会因接听这个电话付额外的费用,电话费由企业支付的一种新型通话方式。4.2体系结构根据业务需求,我们在选择CTI服务器时,从下面几个方面进行了考量:1.由于业务处理逻辑复杂,个性化很强,目前市场上可采购到的通用的交换机方案不能满足用户提出的业务需求,交换机虽然使用起来方便、开发简单、稳定可靠,但是也有其封装后二次开发功能受限的问题,因此我们应选择自己动手,直接从工控机+E1通路卡+座席语音板卡的方式起步,开发满足用户需求的交换机程序,将复杂的业务处理逻辑注入交换机程序中;[2]2.由于目前板卡驱动厂家提供的二次开发接口,只有C接口,没有为.Net[6]平台提供的C#接口,为此,我们必须对厂家提供的C接口函数按照C#标准进行包装;3.CTI服务器上需要同时提供四个服务程序:电话交换服务程序、自动回拨服务程序、即时通讯服务程序、座席状态监控服务程序;4.由于以上4个服务程序之间有数据共享的要求,故我们必须把这个四个服务程序按照一个服务、4个独立线程、相关数据共享的模式去设计。 第四章系统设计31图4.2是CTI服务器的软硬件体系组成结构图。图4.3是CTI服务器运行时与外部接口模型图。服务监控、日志管理座席状态监控服电话交换服务程自动回拨服务务序即时通讯服务板卡驱动包装(For.NetC#)SOCKET服务东进板卡驱动网卡东进语音板卡(2东进E1板卡(一块16路语音卡)路32B+D)研华工控机图4.2服务器体系结构图图4.3运行模型图4.3程序内部结构CTI服务器软件模块应符合以下要求:1.CTI服务软件是一个独立的可运行程序;2.当主程序起来时,先启动人机交互线程;3.4个实现业务处理的服务程序:电话交换服务、即时通讯服务、座席状态 32银行催收业务综合管理平台CTI服务器设计与开发监控服务、自动回拨服务,它们都以独立线程的方式运行,在主程序起来后被自动加载执行;4.人机交互界面可以查看任何4个服务中的任何一个服务的运行状态;5.人机交互界面能中止或者重启任何一个服务;6.这4个相对独立的线程之间共享座席信息;7.4个服务程序中的任何一个出现服务异常,都要向人机交互线程发出信息,人机交互线程负责处理异常显示和写日志;8.4个服务程序的任何一个服务,在执行中不得造成整个程序的崩溃,需要严格对异常与例外做出处理。图4.4软件内部模型图描述了服务程序内部主要的功能单元,以及各个单元之间的通讯与依赖关系,此处省略了UI部分的模块,也省略了日志部分的模块,只表述了实现系统核心功能必须的内部功能单元。自动回拨线程坐席状态自动扫描线程去电处理线程去电处理线程无条件为你交换守护线程来电处理线程坐席队列来电处理线程来电处理线程坐席通讯线程SOCKET侦听器坐席通讯线程即时通讯处理线程坐席通讯线程TCP/IP网络坐席程序图4.4软件内部模型图 第四章系统设计33对图4.4做如下解释:1.“Socket侦听器”负责接收来自座席的登录请求,如果一旦建立连接,则启动一个独立的“座席通讯线程”负责以后与该座席的网络通讯,同时更新“座席队列”。2.任何座席发来的聊天信息,经由该座席的“座席通讯线程”接收后,发往“即时通讯处理线程”,该线程负责从“座席队列”中获取目标座席的“座席通讯线程”,然后完成消息投递。3.“座席状态扫描线程”负责定时对“座席队列”中的各个座席进行心跳检测,如果超时未有回音,便通知“座席队列”对该座席做关闭处理。4.“交换守护线程”负责对E1端口进行监听,是否有来电,如果有来电,自动启动一个新的“来电处理线程”对该路电话进行全程处理。5.座席如果要外拨电话,通过该座席对应的“座席通讯线程”将命令发给“座席队列”,由“座席队列”启动一个“去电处理线程”对该路电话进行全程处理,“去电处理线程”负责与“交换守护线程”通讯来获得E1信道资源。6.“自动回拨线程”负责从数据库读取电话号码,从“交换守护线程”处获取E1信道资源,然后发起通讯。4.4UI原型及导航设计通过UI设计,我们可以确定了系统的外部功能,这是确定系统原型的一个必须的过程。由于本系统的界面比较多,本课题再此处只呈现几个关键的窗体设计,透过这些窗体设计,我们可以看出系统的功能是怎么呈现给用户的。[7]本项目的界面原型设计工具采用的是MicrosoftVisualStudio2008。4.4.1主界面设计主界面主要显示的是当前座席状态、当前数字中继通道状态。座席状态部分要显示全部的座席(包括不再线的座席)。电话交换服务程序需要随时更新该界面的信息显示。座席状态监控服务程序也随时更新该界面的信息显示。主界面设计见图4.5。4.4.2服务日志监控界面该界面如下图所示,需要显示座席上下线日志信息、自动回拨日志信息、电话交换日志信息。 34银行催收业务综合管理平台CTI服务器设计与开发其中“上下线日志信息”显示所有座席上下线的时间、座席上线人的工号信息等;“自动回拨日志信息”显示自动回拨时,哪些号码拨打成功,哪些号码拨打失败了;“电话交换日志信息”显示每次电话交换是搭接的是哪个座席与哪个外线端口,交换中出现的异常信息也在此显示。服务控制界面设计见图4.6。图4.5主界面图4.6服务日志监控界面 第四章系统设计354.4.3服务运行状态控制界面设计该界面显示当前后台运行的4个服务程序是否工作正常,管理员在此界面也可以随时停止或者启动其中的任何一个服务。图4.7服务运行状态控制界面4.4.4其它功能项目设计配置管理菜单项下的功能项目是配置与系统运行相关的参数,通过界面设计,进一步明确本项目中的可配置参数都有哪些。图4.8配置管理该功能项目下的功能,主要用于系统刚上线后测试座席的配置是否正确,在实际运行中并不使用。 36银行催收业务综合管理平台CTI服务器设计与开发图4.9测试座席通道图4.10日志管理日志信息可以通过这个菜单项导出和清除。图4.11录音管理对电话录音文件可以进行管理。随着时间的推移,电话录音文件会在服务器端占用越来越多的存储空间,为了节省存储空间,我们可以定期清理过期的录音文件。目前,按照用户的需求,我们设定的清理时间是:半年前的录音文件将被清理掉,这个时间参数是可配置的。 第四章系统设计374.4.5参数配置的几个界面设计图4.12参数配置界面图4.13语音配置界面以上参数我们保存在XML文件中,程序在运行期间将加载该XML文件。下面是配置界面生成的XML文件的样例: 38银行催收业务综合管理平台CTI服务器设计与开发
此文档下载收益归作者所有