《acd系统详细设计_计算机软件及应用_it计算机_专业资料.doc》由会员分享,可在线阅读,更多相关《acd系统详细设计_计算机软件及应用_it计算机_专业资料.doc(86页珍藏版)》请在金锄头文库上搜索。
1、ACD系统详细设计ACD系统详细设计北京移数通电讯有限公司二七年八月Revision HistoryRevision #AuthorReviewed ByA. Summary of ReviewIssued by / Date1.0Elvis ShiNew documentAug.14,20071.1Elvis Shi添加联网外呼功能May.12,2008目 录1引言41.1编写目的41.2读者对象41.3文档内容41.4参考文档42概述52.1开发目的52.2功能描述53系统架构63.1系统架构图63.2模块设计73.2.1通讯组件73.2.1.1AcdRouterCommunication
2、多AcdRouter连接管理73.2.2信息管理组件73.2.2.1CicManager83.2.2.2AgentManager83.2.2.3ServiceManager93.2.3辅助功能组件93.2.3.1GlobalVar103.2.3.2LogManager103.2.4任务分派组件113.2.5业务逻辑处理组件113.2.5.1DispatchTask113.2.5.2AgentTask123.2.5.3SctpService133.2.5.4DpTask133.2.5.5ExtraTask133.2.5.6OverTimeManager133.2.5.7RouterTask154
3、流程详细分析154.1Agent登录流程164.2Agent注销流程184.3Sctp发启转人工流程214.4Sctp挂机流程244.5Agent外呼流程274.6Agent取消外呼流程294.7Agent转至流程314.8Agent挂起流程344.9Agent挂机流程354.10异地外呼请求流程374.11查询外呼路由流程384.12异地外呼处理流程394.13接收外呼回应流程405详细设计415.1类图415.2类说明415.3类详细设计426模块通信设计616.1Acd和Sctp模块间通信616.2Acd和Agent模块间通信646.3Acd和DataProcess模块间通信676.4A
4、cd和AcdRouter模块通信686.4.1外呼正常情况686.4.2坐席取消外呼情况736.4.3外呼节点申请外呼通道失败746.4.4ACDRouter路由失败(包括权限等级不符合)757配置文件说明767.1GENERAL767.2LOG777.3TRACE787.4TASKPARAM787.5OVERTIME797.6CIC797.7SERVICE797.8AGENT807.9AGENTGROUP807.10VOIP808附录818.1参数文件示例818.1.1acd.cfg818.1.2acd_sctpcommunication.cfg848.1.3acd_agentcommuni
5、cation.cfg848.1.4acd_dpcommunication.cfg858.1.5acd_routercommunication.cfg851 引言1.1 编写目的作为ACD系统代码编写、修改和升级的总体性指导和参考。1.2 读者对象研发人员以及需要了解此系统具体设计层面的其它人员。1.3 文档内容本文档描述了ACD系统的整体架构和详细设计等方面的内容。1.4 参考文档ACD系统需求.doc语讯通平台全国联网外呼系统概要设计.doc2 概述2.1 开发目的ACD(自动呼叫分配系统)是语讯通系统的一个重要组成部分,是自动服务与人工服务的中转桥梁。负责人工台的管理,转人工请求的分派,人
6、工资源的调度。同时,也为个性化人工服务提供了有力的支持,是目前语讯通平台不可或缺的组成部分。随着语讯通业务的不断拓展,对ACD也提出了更高的要求。新的ACD将在功能上做出相应的改进,并且具有良好的兼容性、扩展性、可维护性。2.2 功能描述该系统提供以下主要的功能: 配置信息管理:读取配置文件信息,实现不重启程序实时加载配置信息。 数据通讯:采用MSIP协议与SCTP、Agent、DataProcess三种外部组件进行通讯。 坐席分组:对坐席进行分组定义,以实现不同角色的坐席,其服务对象不同,提供的服务类型不同。 用户分组:对用户类型进行分组定义,不同类型的用户享受不同的服务类型。 业务优先级划
7、分机制:由于用户类型分组等原因,产生的业务优先级别,业务处理根据优先级别进行处理。 状态信息管理:实时管理所有坐席资源和中继语音通道资源状态信息。 排队机功能:根据当前通话用户类型、匹配坐席组中坐席资源状态以及坐席负载状态分配空闲坐席。可以支持坐席挂起、转接、拒接、外呼等功能。 日志管理:能根据程序需要和业务需要记录日志,能根据配置信息设置日志等级。对各种状态及信息进行分类日志记录。 消息分发与数据呈现:能将各状态信息、排队用户数据、以及其他维护信息呈现给第三方组件。 异地外呼:加入平台联网系统,进行人工坐席异地外呼。3 系统架构3.1 系统架构图图1、软件架构图 通讯组件AcdCommuni
8、cation包含SctpCommunication、AgentCommunication、DataProcessCommunication、AcdRouterCommunication,分别与Sctp、Agent、DataProcess和AcdRouter四种外部组件进行通讯,其中AcdRouterCommunication支持多AcdRouter自动切换。 任务分派组件 TaskParser主要负责将从上行接收到Msip请求,分发给下行指定的业务处理模块。另外,为下行业务处理模块提供访问AcdCommunication通讯接口、访问信息管理组件相关操作接口,以及转发第三方接口。 业务逻辑处理
9、组件面向ACD的所有业务逻辑处理,包括坐席分配、Sctp请求、Agent请求,以及转发第三方组件等业务。各业务逻辑处理之间相互独立。支持联网外呼业务处理。添加超时处理组件,管理业务处理中异常超时现象。 信息管理组件管理所有Cic、Agent、服务信息,同时也为第三方组件提供共享数据呈现。联网系统模块,支持异地Cic、Agent信息管理功能。 辅助功能组件实现配置文件信息管理、日志记录等功能,并协调通信协议其他各模块的动作。3.2 模块设计3.2.1 通讯组件通讯组件实现与外部组件间通讯。并将接收到的MSIP包转给业务任务分派组件。 通讯组件包含以下四个模块: SctpCommunication
10、 负责与SCTP之间进行MSIP通讯。 AgentCommunication 负责与指定Agent之间进行MSIP通讯。 DataProcessCommunication 负责与DataProcess之间进行MSIP通讯。 AcdRouterCommunication负责管理多AcdRouter连接以及MSIP通讯。 ACDCommunication对以上四个模块进行封装,为下行模块提供统一的通讯访问接口。3.2.1.1 AcdRouterCommunication多AcdRouter连接管理我们对AcdRouter连接采用单实例多连接的方式,AcdRouterCommunication读取配
11、置文件中多AcdRouter连接参数,并进行连接。配置信息如下:RouterIP0 = 192.168.10.132 RouterPort0 = 6100Code0 = 110我们根据IPAddr和Port组合来分辨每一个AcdRouter的连接,对于不同连接发送MSIP包时我们采用不同的Code值。另外,运用回调函数对多AcdRouter连接状态进行管理。在模块中保留本地Acd的SenderID值做为联网数据传送的标签值(本要是在AgentID前加入SenderID做为前辍)。AcdRouterCommunication在每一次数据发送时,检测当前首先连接状态,如果连接异常,自动选择其它有较
12、连接进行数据包的发送。模块配置文件请参考8.1.5小节。3.2.2 信息管理组件信息管理组件主要负责维护用户信息、Cic信息、Agent信息,并提供接口实现对指定对象的信息进行快速查询、修改等操作。另外,必须强调的是,在Cic信息和Agent信息中包含当前业务所属和当前状态信息。对于联网系统,支持对远端Cic信息和Agent信息的管理。信息管理组件包含以下三个模块: CicManager管理当前Cic信息 AgentManager 管理当前Agent信息 ServiceManager 管理客户服务信息3.2.2.1 CicManager 读取Cic配置信息读取Cic通道相关配置信息。CICCi
13、cCount = 60 Cic信息维护以数组形式保存所有Cic状态信息和通话基本信息,并提供接口对各个Cic的信息进行快速查询、修改等操作。 Cic信息统计能按统计要求呈现出Cic的信息数据,提供给其他模块或者组件享用。 远端Cic信息维护动态生成Cic信息块,保存当前远端Cic即时状态和通话基本信息,并提供接口对其进行快速查询、修改等操作。3.2.2.2 AgentManager 读取Agent配置信息读取坐席、Voip及坐席分组相关配置信息。配置文件中AGENT板块,记录Agent相关信息。AGENTAgentCount = 16AgentReserveTime = 60配置文件中VOIP
14、板块,记录Agent对应Voip端号信息。VOIPVoipCount = 1Voip0 = 192.168.10.205Voip0Channel = 0-15Voip1 = 192.168.215.42Voip1Channel = 32-63Voip2 = 192.168.195.42Voip2Channel = 64-79配置文件中AGENTGROUP板块,记录当前的所有Agent分组信息,其中包含组中坐席成员AgentID,以及分组负责的特服务号对应的索引ID。AGENTGROUPGroupCount = 3Group0 = 0,1,2,3,4,5Group0Service = Service0Group1 = 6,7,8,9,10Group1Service = Service1,Service0Group2 = 11,12,13,14,15Group2Service = Service2 Agent信息维护以数组形式保存所有Agent状态信息、登录信息和通话基本信息,并提供接口对各个Age