已阅读5页,还剩75页未读, 继续免费阅读
(计算机系统结构专业论文)呼叫中心智能pbx的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 随着 ngn(下一代网络)的技术发展,降低了通讯行业的门槛,使得新兴的通讯技 术公司能够找到进入该领域的切入点。研发企业信息化过程中需要的个性化电信业务 设备,是一个重要的课题。 满足企业电信需求的用户智能化小交换机设备,在传统交换设备的最基本呼叫功 能的基础上,从呼叫处理架构、网络接入方法、内部通讯机制三个方面进行扩展。新 的系统使得整个呼叫处理系统具有模块化、开放性以及较强的业务生成能力。其呼叫 处理的智能化特性以及个性化业务定制能力得到较大提高。 扩展后的智能 pbx 系统中,模块之间的通讯方式同传统交换机的通讯方式相比, 具有鲜明的特点。首先单板之间的通讯协议必需要具有简单、开放以及可扩展特性。 系统抛弃了传统的使用背板 i2c 总线进行通讯的方法,使用在交换机内部增加可以方 便拔插合替换的以太网交换板来完成交换机内部的模块之间通信。在附加的通讯处理 软件的辅助下,使得通讯系统的升级和替换变得简单方便。在内部的以太网通讯网络 上,挂接各种模块化设备。重要的部分包括各种数据与程序服务器、交换机单板设备 以及相关辅助数据库等。使用简单统一的通讯手段来完成以上各个部分之间的通讯。 在新架构下的职能 pbx 具有的职能化业务处理,简单高效的内部通讯机制,适 用于企业呼叫中心,电话信息服务中心等电信业务的构建。 关键字:用户小交换机,智能网,下一代网络,呼叫中心 abstract along with the development of the ngn(next generation network), lowered the threshold of entering the communication market. it the s an important research topic of development characteristic communication system used for enterprise s call center. to satisfy the requirement of the enterprise call center and information center, extending the basic call switch function of traditional pbx(private branch exchange) in three hands. these are call processing method, accessing network and inner communication techniques. these extending enhances the intelligence of call process and so, improves the service provide ability. the communication method of the intelligent pbx system is very different from the traditional pbx. it abandons the communication channel witch build in the back bound of pbx. using ethernet to translate packages between modules in the intelligent pbx system can improve the upgrade ability and extern ability. these equipments include single boards, all the services, such as cti server, voice server, monitor server, service database and so on. all of these use the sample method to communicate with other modules. with the help of special software designed for this communication protocol, researched the key technology in this architecture and give a real system and had been used for commercial. this intelligent pbx with new structure can be used for the call center of enterprise, information service center and others. this equipment can reduce the works for building these centers, improve the efficiency. key words: private branch exchange, intelligent network, next generation networks, call center 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集 体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中 以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密? ,在_年解密后适用本授权书。 本论文属于 不保密?。 (请在以上方框内打“ v” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 1 1 绪 论 企业呼叫中心也可以称之为客户服务中心 call center。它对各类公司的运作产生 了重要的影响,并给公司带来了巨大的经济效益。近年来,商品竞争已转向品牌竞争, 服务成为商品竞争的重要手段。随着新技术的发展,以及固定电话,移动电话、因特 网得到了越来越广泛的应用。对企业来说,充分利用各类通信资源,拓宽服务范围, 全面满足客户需求,为公司带来更大的利润,是当前的发展方向1。 对于传统的电信公司来说,由于其行业的高技术门槛和电信人力资源的匮乏,导 致设备研发成本非常高。同时电信设备的高可靠性、大容量、高实时性要求,都使得 电信设备生产厂商将客户群定位于各大电信运营商。只有大额订单才能够支撑电信网 设备的研发。对于一般中小企业来说,想利用电信和通讯业的快速发展带来的信息价 值将会变得非常困难。在这种情况下,研发价格低廉,功能简单适用,同时能够方便 的进行业务开发和部署的小型交换系统变得非常重要。在提高企业信息化程度的进程 中, 存在着巨大的市场。 增强型智能 pbx 系统(用户小交换机, private branch exchange) 将能够为企业级用户提供个性化的电信解决方案,使企业分享通讯技术带来的生产力 水平提高。 本文在现有基础硬件系统的基础上,对基于 ip 的智能用户小交换机 pbx 系统进 行相关技术的研究、设计和实现,诸如集中监控,集中流程发布,录放音等功能。对 以以太网作为内部通讯手段的可行性和技术进行研究,开发了一套基于 udp(用户数 据报)协议的传输可靠数据包流的通讯协议栈, 并且在此基础上完成了板间呼叫命令传 递、数字中继板与语音服务器之间的语音数据传送等实际应用。在本文最后,对整个 系统以及通讯模块进行了测试。 1.1 cti 技术发展概况 1.1.1 cti 技术简介 由于提高企业信息化程度的迫切需求,以及众多通讯技术公司的努力,使得 cti(计算机电信集成, computer telecommunication integration )市场最近几年取得了长 2 足的发展,同时 cti 产品的功能也更加丰富和完善。在现有的 cti 产品中,一般都提 供诸如呼叫数据抽取、智能路由、自动呼叫分配(acd)、自动拨号服务、基于可视化 用户界面的会议操作、呼叫监控等等2,3。这些业务为呼叫中心用户提供更好的呼叫中 心业务通过迅速的呼叫响应、 更加简易的通信、 减少呼叫等待时间和多种诱人的业务, 大大改善通信的质量。通过减少不必要的通信进程,提供友好的人机界面和方便的屏 幕拨号等来尽量满足用户的需求。由于 cti 是由计算机系统控制与管理通信,自动化 率明显增加,所以也就减少了不必要的花费。由于提供了呼叫过程的全程监视,如全 程录音,全程监控等等,使得企业的客户服务系统的服务质量得以提高。 计算机电信集成技术包含数据通信及传统语音通信网络的内容,是由传统的计算 机电话集成技术(computer telephone integration)演变而来的,国外将其称为 ct(计算 机电话,computer telephony)。传统 cti 技术关注的是如何将基于计算机的智能技术 运用到电话的发送、 接收及管理中,而在如今的 cti 技术中,还要考虑传送其它媒 体类型的信息,如传真、电子邮件等4。 1.1.2 当前 cti 中常用的解决方案 在当前的解决方案中,最具优势的两种分别是板卡解决方案和独立 pbx 加独立 计算机的解决方案。这两种方案各有优缺点。 语音板卡方式是将电话端直接通过普通的电话线,将用户拨打进入系统的电话接 入到计算机系统中安装的语音板卡上,由语音板卡对接入的用户电话语音及信令进行 控制处理。这种情况的优点是充分利用了电脑的丰富外围设备功能和软件系统功能, 在计算机和交换系统之间的数据通讯变得高效和可靠,例如直接将语音卡插入计算机 pci 总线中,利用内部高速总线传输控制,监控以及语音数据5; 第二种方式是独立交换机加独立计算机的方式,这种方式的思想起源是智能网模 型中的呼叫控制和业务控制分开的思想6。在智能网中,将整个通讯网络分为三个层 次,被别为业务管理层、业务控制层和业务交换层,如图 1.1 所示。 scef: 业务生成环境功能。 smaf: 业务管理功能接入功能。 3 smf: 业务管理功能。 scef smaf scfsdf ssfsrfssf ccfccf 业务管理层 业务控制层 业务交换层 smf 图 1.1 智能网模型的基本结构 scf: 业务控制功能。 sdf: 业务数据功能。 ssf: 业务交换空能。 srf: 特殊资源服务器功能。 ccf: 基本呼叫控制功能。 借鉴这种智能网模型,同时考虑到系统应用环境开发的小型交换系统,是本文描 述的基本系统。它将 scf,sdf 功能演化为存在于系统服务体 cti server 中以及数据 库服务器之上的应用程序进程。同时将 ssf、srf、ccf(call control function)分布于 独立的交换机单板上,通过主控 mpu(主处理单元,main process unit)板统一协调语 音、中继、会议以及 ip 资源,完成基本的呼叫控制以及通过同 scf、sdf 等网元的 通讯,来完成用户的业务逻辑7。 1.1.3 两种方案的优劣比较 板卡的解决方案中,由于利用了计算机的通讯系统以及电源,存储,空间等等, 节约了开发成本,降低了每线的单价。但同时由于板卡方案与计算机过度耦合,直接 导致系统可靠性建立在计算机可靠性之上。不幸的是当前的普通 pc 操作系统和硬件 4 系统的可靠性并不是非常高。如果在提高计算机可靠性上投入过多投资,则直接将板 卡方案的成本优势消耗殆尽。 在交换机加 pc 的方案中,优点是将网络部件分离,基本呼叫功能与用户业务逻 辑分离。在外部系统如通讯系统,数据库服务器,cti server,或者用户自己的应用 服务器时效的情况下,交换机能够在无用户业务逻辑参与的情况下,执行默认的呼叫 处理流程,完成最基本的呼叫业务,如将电话转接到人工座席、特殊电话号码等等。 这就提高了系统的容错能力和可靠性。 但是这种方案也有自己的缺点。首先增加了系统的功能部件而增加了总成本,特 别是在小容量的电话客户服务系统(100 线以下)中。其次对机房的空间占用,设备维 护人员的要求,环境要求等等都比普通板卡方案的要高。 1.2 cti 设备发展方向与展望 1.2.1 未来呼叫中心的核心技术 基于 pstn 的呼叫中心系统属常规型即传统型呼叫中心,是最早发展起来的呼叫 中心。这种呼叫中心简称 cc(call center),它是一种基于 pstn(公共电话网,public switch telephone network)电话网的呼叫中心。随着计算机和电信技术的发展,开始引 进了语音应答系统及 cti 技术,因此不仅可实现人工和自动服务,而且也可以让用户 的语音、数字(文字)在任意业务代表之间进行互相转接,提高了系统的服务质量。当 然一个完整的常规呼叫中心组成是较为复杂的,但它与我们本文讨论的基于 internet 网络、pstn 多接入的呼叫中心主要不同是:尚未与 internet 网络集成在一起。目前国 内呼叫中心多数属于这一种8。 internet网络的引入使呼叫中心产生了革命性的变化,把 internet所具有的丰富的 信息资源和强大的功能赋予呼叫中心。而 internet 网络呼叫中心的核心是网络语音的 传输,目前均采用 sip 和 h.323 标准9,10。由于 h.323 标准为 lan,intranet,internet 上的语音、数字、多媒体通信提供了技术基础和保证,因此一切基于 internet 网络的 呼叫中心都用它作为集成的标准。 1.2.2 ngn 环境下企业级 pbx的演进方向 ngn 是一种分层的全开放的网络,采用业务与呼叫控制分离以及呼叫控制与承 5 载分离的技术,使业务独立于网络,使业务的提供不必受限于底层的网络技术。下一 代通信业务的提供基于 ngn(下一代网络,next generation networks)网络结构,其发 展是一个渐进的过程,依赖于人们对业务的需求和科学技术的发展。在初期,下一代 通信业务主要是基于分组话音和简单的无 qos(服务质量,quality of service)保证的多 媒体业务。随着 ngn 网络技术的发展和人们对多媒体业务的需求,有 qos 保证的多 媒体业务将得到快速的发展。随着 ngn 技术的逐步完善以及人们生活水平的进一步 提高,将会促使越来越多的第三方业务提供商来提供丰富的下一代通信业务,如个性 化、虚拟化的业务11,12。 在这种背景下,企业级 pbx 的发展方向将是从传统的交换功能逐渐演化为语音 和数据资源提供功能。 电路交换功能将逐渐弱化,而强化诸如 ie(智能设备, intelligent equipment)设备接入,语音资源提供,与企业信息系统集成等方面进行强化,为用户 在 ngn 环境下体验丰富的增值业务功能。 1.3 企业级 pbx 系统需求与设计概述 1.3.1 运行环境 与电信级交换设备不同的是,企业级 pbx 通常与企业用户的其他诸如信息系统 紧密集成。如客户信息分析收集系统、客户业务办理系统、客户信息查询系统、人工 受理系统、ivr语音服务器等等。这就要求小交换设备必须设备能够适应多种多样的 工作环境。 同时,企业级 pbx 必须能够提供足够的开放性和可维护特性,方便与用户的各 种信息系统集成和新的业务逻辑的生成与部署。在系统设计上,必须要更多的考虑到 实际用户的业务功能的加载、维护以及更改的工作量。用户的业务逻辑需要能够方便 的更新到交换系统中,需要能够不中断系统运行而进行热替换,也即所谓的动态流程 更新系统。 对于企业办公地点分布在各个城市之间的情况,企业需要对分布于各个办公地点 的 ivr系统和人工客户服务系统进行集中管理和无人置守。 这就需要系统软件和交换 机硬件系统能够支持远程集中监控。这也是本文讨论的内容之一。 6 1.3.2 效率,空间与经济限制 为企业服务的交换系统除了应该具有基本的交换功能,还必须考虑企业的实际情 况,尽量降低成本和增加系统的灵活性。同时不能够像大型系统一样占用巨大的机房 空间。这些都要求智能 pbx 的设计需要在性能,功能以及经济性方面找到一个平衡 点。只有帮助企业用户降低成本,提高办公效率,才能够使得设备生产开发企业收回 投资和取得进一步的发展,研发更好的企业用户交换设备。 在硬件设计上,必须考虑以最小系统实现企业用户所需要的业务提供功能,尽量 采用成熟的集成器件进行硬件设计;软件方面,需要使用简单有效的通讯手段和控制 机制,避免复杂而不常用的电信级功能。这些非常用功能,或者说对于企业用户来说 并不需要的功能和性能,将会给设备制造带来高昂成本。这对于企业级应用来说是不 必要的。 不同于大型的电信级交换系统,智能 pbx 系统在性能和容量方面的让步,带来 了设备研发和制造的经济性。这也是中小型企业级 pbx 系统得以在市场上生存和发 展的关键因素。 1.3.3 基本设计思想 根据业务需求以及运营环境需求,按照交换功能集中控制,语音处理功能分布式 控制的原则,对整个系统可以进行横向和纵向划分。 横向划分,将整个系统划分为以下几个部分: (1) 接入系统 接入系统主要功能是对 pstn, ip 网络进行接入处理。在硬件上包括 7 号信令板, 数字 dtv(数字中继板)板,模拟中继板,用户座席板,语音板,voip 板以及交换网 络板。硬件系统采用机框结构,使用一次,二次电源供电;各个单板均可实现热拔插。 每个板上带有以太网控制芯片,通过 tcp/ip 协议进行内部通讯和外部通讯,达到最 大程度的开放性。其中的任意一块板都可以使用内部以太网上的一个实体来替代,而 不影响其他板的工作13。 (2) 呼叫控制系统 呼叫控制系统称为主控 mpu板。在呼叫集中控制的情况下,主控 mpu板负责控 制数字中继板上的呼叫处理,呼叫统计功能以及座席板的呼入呼出。同时作为系统的 7 核心控制部件,mpu板采用双板备份策略 14。在主板出现故障的情况下,可以进行 主备倒换以继续呼叫处理。 另一方面,呼叫控制系统需要提供对外部的业务逻辑接口。此接口也是智能 pbx 系统中最重要的系统,即业务控制功能的接入。主要接口为话务统计接口,流程更新 接口,操作维护接口,告警台接口。接口的实现通过与外部业务服务器的消息交互来 实现。以 tcp/ip 为承载方便第三方厂商研发相关的业务控制软件,使得系统的可定 制化能力提高。 但呼叫控制系统并不直接与上述网元交互, 而是通过统一的接入平台, 即 cti 系统服务器来实现。 (3) 系统服务器(cti server) 系统服务器通过与呼叫控制系统进行数据包交互,提供给其他模块访问交换系统 的接入管理和控制。在通常的系统中称之为 cti server, 也即 cti 系统的服务提供者。 在系统服务器上注册的服务主要包括业务流程的发布,呼叫和话务统计功能数据的中 转以及集中监控程序与 mpu的数据包中转。 同时 cti server 负责执行 mpu板对外部 资源的请求,例如语音播放请求,存储在计算机上的相关信息获取等。 (4) 媒体服务器(voice server) 媒体服务器向中继处理板和用户板提供系统语音文件的数据流和保存从交换系 统中获取的语音数据流。同时它还提供其他诸如 tts 转换,语音数据处理等。媒体服 务器通过标准以太网通讯协议同系统服务器交互15,16,接受系统服务器的控制,向交 换系统中的中继板和用户板传输语音和收集语音信息。 通常情况下,媒体服务器都会访问语音数据库,以提取和记录相关信息,如监录 数据等,以供以后查询。 (5) 应用服务器(app server) 应用服务器为最终用户提供简单方便的编程逻辑接口。例如用户自己编写的话务 员座席程序,自动呼出程序。用户可以在 app server 上挂接自己的用户 dll(动态链 接库,dynamic link library)来完成逻辑功能,也可以通过协议向 app server 发送操 作命令,以完成自己的业务逻辑。为了更加方便用户创建和部署自己的业务,设计了 另外一个业务生成软件,直接将生成的业务逻辑脚本地交给 cti server,让其部署到 交换系统中。这就是流程生成器。 (6) 流程生成器 8 流程生成器以图形方式提供给用户基本业务功能作为功能部件,并且允许用户通 过对这些功能部件的组合,来完成自己的业务逻辑编写。在用户编写完成自己的业务 逻辑后,软件将其翻译为交换机能够明白的控制脚本。cti server可以将此脚本发布 到交换机的主控板上,通知交换系统执行新的交换流程。 (7) 监控系统 监控系统也被称为 oam 系统。其主要功能包括交换机数据配置,交换机运行状 态监视,交换机告警,交换机运行行为的外部干预等。与其它模块一样,监控系统也 通过以太网与交换系统交互(通过系统服务器中转)。 内部以太网交换网络 9 u交换系统 外网防火墙 交换机 内线话务员 cti 服务器app 服务器监控系统媒体服务器业务数据库 internet 承载网 e1/t1中继线路 模拟电话线 pstn通讯线 路 图 1.2 智能 pbx 与相关网元的组网结构 纵向划分即对单板系统进行划分: (1) 底层硬件层 硬件层负责物理链路数据的收发,基本交换系统(switch 1kx1k)功能、会议系统、 dsp 等。 (2) bsp(板级支持包,board support package)层 vxworks 嵌入式系统需要使用 bsp 来屏蔽底层硬件特性。bsp 介于操作系统和 硬件之间,其主要功能为在通电后,初始化硬件; 使 hardware- dependent ( 硬件独立) 和 hardware- independent(硬件无关)在 vxworks 系统中很好的结合17,18。 9 (3) 操作系统层 操作系统选用时实多任务嵌入式 vxworks 操作系统作为单板系统支撑 os。 (4)通讯服务层(通讯协议层) 通讯协议采用本文叙述的可靠数据包流传输协议。系统各个功能部件的内部通讯 均采用这种带确认重传的协议。包括语音数据流和命令数据流的传输。 (5) 呼叫控制层或命令处理层 由主控板上的呼叫处理任务和中继板上的命令执行任务共同完成。 (6) 外部接口层 负责与外部业务系统的接口,如流程发布,监控系统等。 硬件层 b s p ( 板级支持包) 操作系统o s i p 协议 u d p 板间通讯协议 t c p 外 部 接 口 模 块 呼叫控制程序 图 1.3 板间通讯协议的层次与外部模块接口 1.4 操作系统基础 1.4.1 操作系统简介 vxworks 是专门为实时嵌入式系统设计开发的操作系统内核,为程序员提供了高 效的实时多任务调度、中断管理,实时的系统资源以及实时的任务间通信。在各种 cpu 平台上提供了统一的编程接口和一致的运行特性,尽可能的屏蔽了不同 cpu 之 间的底层差异。vxworks 是实时多任务操作系统,包括了进程管理、存储管理、设备 管理、文件系统管理、网络协议及系统应用等几个部分。vxworks 只占用了很小的存 10 储空间,并可高度裁减,保证了系统能以较高的效率运行19。 vxworks 提供信号量、消息队列等机制用以实现任务间的通讯与同步。信号量 支持二进制、互斥和计数型三种,使用 semgive()和 semtake()实现释放和获取。 1.4.2 与本系统相关内容 (1) 消息队列 消息队列允许一定数量不同长度的消息进行排列。 任何任务或中断服务程序(isr) 能够发送消息给消息队列。任何任务可以从消息队列接受消息。多任务可以从同意消 息队列发送和接受消息。 两个任务之间的全双工(full- duplex)通信需要针对不同方向的 两个消息队列20。 消息队列函数介绍 : msgqcreate( ) 创建并初始化一个消息队列。 msgqdelete( ) 终止并释放一个消息队列。 msgqsend( ) 发送一个消息到消息队列。 msgqreceive( ) 从消息队列接受一个消息。 消 息 队 列 是 由 函 数msgqcreate (max_msgs, max_msg_len, msg_q_priority)创建。它的参数 max_msgs 指定了消息队列中可允许最多可以 排列的消息数和每个消息允许的最大的字节数 max_msg_len。 一个任务或中断服务程序(isr)用函数 msgqsend( )发送一个消息到消息队列。如 果没有任务等待消息队列的消息,这个消息被添加消息缓存的队列里。如果某些任务 已经在等待消息队列中的消息,消息立刻被传递给第一个等待的消息的任务。 一个任务用函数 msgqreceive( )从消息队列得到一个消息。如果消息队列缓存中 有消息存在,第一个消息立刻出列并回到调用处(caller)。如果没有消息存在,则任务 (calling task)停止(block)并被添加到等待消息的任务队列中。 这个等待的任务队列按照 优先级或先进先出(fifo)规则排列,这个规则由消息队列创建时所指定。 (2) 等待时间限制(time out) msgqsend( ) 和 msgqreceive( )都有时间限制参数。当发送一个消息,如果消息 队列缓存这时没有空间,这个参数指定允许等待的时间(ticks 数),直到队列缓存有空 11 间来接收消息。当接收消息时如果消息队列没有消息,这个参数指定允许等待的时间 (ticks 数),直到消息队列有消息。 (2)信号量 信号量是解决互斥和同步协调进程最好的方法。 vxworks信号量提供最快速的任务间通信机制,它主要用于解决任务间的互斥和 同步。针对不同类型的问题,有以下三种信号量20: 二进制信号量。使用最快捷、最广泛,主要用于同步或互斥。 互斥信号量。特殊的二进制信号量,主要用于优先级继承、安全删除和回溯。 计数器信号量。 和二进制信号量类似,保持信号量被释放(gaven)的次数,主要 用于保护一个资源的多个例程(multiple instances of a resource)。 (3) 网络协议栈支持 vxworks 支持常见的几种网卡和网口芯片21,如 ne2000 和 intel 82557 等。 vxworks 完全支持 bsd socket,可以使用 tcp 和 udp 两种通讯形式。同时系统提 供 zbufsocket的操作函数集,通过无拷贝的数据处理,达到高效数据交互的目的。其 中本系统使用的几个重要函数为 zbufsockbufsendto()和 zbufsockrecvfrom()来发送和 接收数据。同时获得一个指向网络栈中内存块的 zbuf_id23。 在 vxworks 操作系统 的 tcp/ip 协议栈中,提供了一种避免在网络栈和用户之间进行数据拷贝的方法,这 就是 zbuf socket。其基本原理为将网络协议收到的数据保存在协议栈内部以一定方 式组织起来;当用户调用 zbufsocketrecieve()和 zbufsocketrecievefrom()的时候,api 仅返回此数据组织的一个四字节的标识。同时将此标识表示的内存区块的所有权转交 给上层使用者。上层使用者需要访问数据时,可以通过一系列的函数调用来获取相关 数据。 在嵌入式系统中, 程序的运行收到很多方面的限制, 如内存容量, cpu 运行速度, 操作系统功能等等。在编写通讯协议时,必须考虑到操作系统以及其提供的基本通讯 协议的内存组织方法24。在进行用户数据的搬运和提交时,需要尽量避免内存拷贝操 作;所有的排序,插入等操作均需要通过指针来完成;能够保留在底层网络栈中的数据 尽可能保留到最终用户使用。 12 1.5 本文的研究内容 本文的主要研究内容包括一下几个主要部分: (1)第二章中的交换机集中监控功能、话务员坐席功能以及话务统计功能. 此部分功能为智能 pbx 的系统级软件部分和应用及软件部分。它们主要运行在 pc 上,同 pbx 交换系统控制软件进行交互来完成相关功能。 (2)第三章通讯协议的设计与实现系统。 本章主要设计和实现了基于 vxworks 操作系统的网络栈提供的udp 协议上的数 据报通讯协议。并且给出了详细的软件架构以及相关代码框架实现。包括 api 函数集 的实现和运行于 vxworks 操作系统上的通讯任务实现。 (3)第四章通讯协议的 ip 电路化应用语音传输部分。 本部分对第三章中的通讯协议在语音传输中的应用实例进行设计和分析,并且进 行了相关改进。 (4)第六章的相关系统的测试部分。 本章主要对板间通讯的协议进行了测试,包括数据吞吐量,反应速度,cpu 占用 率等等指标。并且根据理论分析以及测试结果,给出了相关结论以及协议使用中的注 意点。 13 2 智能小交换机总体功能设计 2.1 基本呼叫控制功能 呼叫控制功能 ccf(call control function)使用半呼叫模型来处理呼叫。在呼出端 和呼入端分开处理,以减低系统复杂性。使用 7 号中继信令处理板来处理 7 号信令, 使用 1 号信令协议栈来处理 1 号信令。在无业务参与的情况下,按照默认的呼叫处理 流程进行处理,完成最基本的呼叫过程;否则在特定呼叫处理环节上报呼叫相关事件, 等待上层业务处理程序指示24,25。 呼叫控制采用集中控制。在每个数字 dtv(数字中继板,data trunk voiceboard) 板上到达的呼叫都需要根据主控板的呼叫流程来处理。板间的命令数据交互采用第 4 章节的通讯协议系统。 2.2 交换机集中监控系统 2.2.1 系统简介 交换机监控系统作为智能 pbx 交换平台的运行情况监控工具,将交换机状态数 据进行转发,同时执行监控台对交换机的各种操作以及对系统运行状态进行记录。监 控服务器同智能 pbx 交换机的主控板之间通过内部专门的通讯协议进行通讯,实现 状态数据和操作数据的交互,完成远程集中监控和操作功能,提供统一的监控平台。 集中监控系统构成方式为一个 nn 的网状模型。 监控系统分为两个部分:监控服务提供程序和监控台程序。其中监控服务提供程 序将于交换机的主控板数据进行复用,提供给多个远端监控台以及本机监控工具使 用,同时完成远程权限认证,权限分级等功能。监控台通过 tcp/ip 协议连接监控服 务提供程序,实现对多台交换机的远程,实时监控。 监控服务器通过模拟主控板的方法,提供与旧版本的本机监控工具 monitor 的兼 容。 此旧版本的监控工具只能够运行在 cti server 的当前机器上。监控服务程序(监控 14 服务器)能够分辨出此数据包是哪个监控程序同交换机系统之间的交互。 2.2.2 监控系统组网 监控服务提供程序需要运行于在交换机内部局域网中,需要保证其能够通过以太 网和主控单板进行数据通讯。通常情况下,该服务位于 cti server同一台服务器上。 监控程序所在的服务器,应该具有两个以上的网络地址。服务提供程序将会为所 有处于这些网络中的监控台提供服务。特别是在构建多交换机监控系统的情况下,需 要服务器能够提供给这些位于不同网络的监控台的服务。 本系统的服务提供程序同主控板进行 udp 通讯,同监控台一起完成人机交互。 监控台需要通过服务提供程序的认证,才能够对相关交换机进行操作。 2.2.3 监控系统客户端 交换系统客户端程序可以对多个交换机进行监控。在程序启动后,需要用户登陆 到相关交换机上。其实质是同每个交换机服务器上的集中监控服务器程序取得联系。 这包括一系列的认证和初始状态同步的过程。在同步完成后,集中监控服务器将会把 客户端关心的交换机事件发往客户端。其中包含交换机的各个板工作状态以及整机工 作状态和客户端临时指定的相关信息,如图 2.1 的集中监控主界面。 图 2.1 交换机集中监控系统界面 15 2.2.4 监控系统服务器 集中监控服务器维护一个它所服务的交换机的当前状态映象数据,并且时刻与交 换机的状态同步。同时将相关信息向感兴趣的监控客户端转发。在此过程中,服务器 的主要功能为对多个监控客户端对此交换机的监控进行复用和仲裁,以决定如何进行 数据的分发和操作的互斥。同时监控系统服务器需要对交换机运行情况进行日志记 录,以便在系统错误时方便调试。 图 2.2 交换机集中监控系统服务器端相关功能 2.3 话务员座席功能 此程序为客服系统话务员坐席桌面电脑终端程序,提供物理电话的基本功能的软 件实现以及其他包括参考数据查询、业务系统集成、业务数据提交、外部接口等。 程序通过app server与交换机之间转发数据包来实现桌面分机和坐席程序之间的 互相控制,完成语音通话、数据通讯等功能。通过数据库连接同后台数据库之间进行 数据通讯,实现如用户登录验证,业务数据收集等业务功能。 系统总体结构分为四个部分:坐席界面层(表示层)、状态控制层(数据,状态层)、 16 网络通讯层(seat api)、数据库交互层。考虑到坐席程序不同用户对界面的不同需求, 将坐席程序的界面和状态控制层分开,方便进行功能增减,以及同其他业务系统的集 成,提高系统灵活性、方便性。通过坐席网络通讯层在交换机、app server 和坐席终 端之间提供一条抽象数据通道,屏蔽网络协议、交换机通讯协议等细节。本程序不负 责完成同交换机通讯部分的数据组包和拆包过程。坐席程序作为一个有状态的运行实 体,划分为若干个运行状态和几个并行状态标志。此部分功能表示和实现由坐席状态控 制层实现。图示如 2.3 所示。 界面层 softphoneinterface 状态控制,数据层 cseat 数 据 服 务 例 程 ( 函 数 集) 网络通讯层 seatapi.dll 业 务 数 据 库 操作,数据流 执行结果,数据流 api 调用 网络消息流 appserver 图 2.3 桌面软电话基本程序结构与交互过程 座席软件完成的基本功能为: 登录、注销、示忙/恢复、夜间服务转移/恢复、接听/拒绝电话、呼叫外线/内线、 来电静音/取消静音、来电保持/恢复、强接电话、听语音。 班长级别功能为: 班长监听/停监、班长监录/停录、 班长听语音、 班长强拆、 班长强插/退出、 班 长对所有话务员状态的实时监控、语音查询。 软件通过与 app server 通讯来保持当前状态与硬话机的状态一致。同时软件电话 负责与业务系统的数据交互。软件电话除了能够完成硬话机所能完成的功能外,还能 17 够提供诸如组员监控,语音组合查询等高级功能。app server 负责将来自于交换机的 呼叫过程相关的数据包转换为软件电话能够理解的协议数据包,来控制软件电话的工 作;同时它负责将来自于各个软件电话终端的操作数据包翻译为交换机所能够理解并 执行的操作命令。 2.4 话务统计功能 话务统计功能由话务统计动态库和话务统计程序组成。其中话务统计动态库处理 与主控板的通讯,同时向话务统计程序递交话单信息;而话务统计程序则负责进行话 单的分析和保存。 2.4.1 总体结构 图 2.4 话务统计程序外部交互图 2.4.2 话务统计程序结构 图 2.4 为话务统计程序与外部模块之间的关系。 话务统计 dll 本 dll 不作为单独的程序使用,它以动态库的形式供数据采集客户端 statistics 软电话 软 电 话软 电 话 seatapi.seatapi.seatapi. 应用服务器 系统服务器 交换机 ch 话务统计程序 业务数据库 业务数据维护与报表系统 流程 api 18 调用来处理所有与数据库相关的操作。程序通过 ado 与 sql server 数据库连接。提 供以下两类函数集: 数据处理函数集。 在数据处理函数集的基础上的消息包分析函数。 程序在载入此 dll后,可以通过本 dll 提供的函数连接到数据库。通过数据处 理函数集来向数据库写入话务数据,或者使用消息包分析函数直接分析高层协议数据 包.此包格式将会在以下章节介绍。 数据库连接函数 callstatset 消息包处理函数 processcallstatmsg 呼叫 id 获取函数 callstatgetserialnumber 处理消息上报与 log 函数 makelog 呼叫数据存储函数集 消息包数据解析 调用结果 上层协议数据+预处理 处理消息 调用结果 函数调用 呼叫 id 连接状态 数据库支持 主调程序 statistics 话务统计 dll 图 2.4 话务统计程序内部结构与消息流 dll 内部保存五个类数组,用来保存所有通道上的话务和操作信息: (1) 中继发生的呼叫数据缓存。 (2) 坐席正常呼叫数据缓存。 (3) 坐席二次呼叫数据缓存。 19 (4) 所有转接操作缓冲。 (5) 通道事件缓冲。 通道事件包含 登入、登出、示忙、示闲、拒绝.具体代码参见 dll 中的数据包分 析函数 processcallstatmsg 所分析的数据包为调用程序同交换机板上程序通讯协议中 的消息内容。其格式定义如下.在主调程序不解析此种数据包,而是直接将其交给 processcallstatmsg 的情况下需要此协议。如果采取直接调用 dll 提供的数据库操作 函数集,则可以直接向这类函数传送参数。具体使用方法参考后续章节。 以下数据结构中的结构体,在编译时需要采用#pragma pack(1) 单字节对齐处理, 以避免不同操作系统以及编译器对结构体内存分布做调整而产生的副作用。 struct st_callcmd unsigned short packageversion;/包版本号,取值为 2 unsigned short functionid; /需要调用的函数代码 unsigned short packagelength;/数据包长度,为包总长度 char * msg; /消息内容.与函数代码对应 ; 装入话务 dll 后,应该以如下顺序调用: (1) 调用 callstatset 函数尝试连接数据库。 (2) 传入参数 1 连接数据库.参数 0 关闭话务统计功能。 返回值 0 表示连接成功,否则连接失败。 (3) 如果需要,调用呼叫 id 取得函数取得中继和坐席呼叫 id 开始值 (4) 使用 processcallstatmsg 处理后续数据包。 (5) 如果需要,随时通过函数 showprocessinfo(char*rtnmsg) 获取当前 dll 处 理结果。 dll 使用配置文件来标识数据库相关信息 .配置文件名为 hwdll.ini。 database datasource =hxd- wdjcallcenter /数据源 database =hxd_callrecord /数据库 userid =sa /登录用户名 pw = /密码 20 logdatatofile = no /是否将处理信息写入 log文件。 话务统计程序 话务统计系统采用 客户端/服务器模式.在 cti server 启动以后 ,会在 的 6011 启动一个监听端口,监听话务统计客户端的连接情况。当检测 到有客户端成功与监听端口建立连接以后,则会根据设置情况向客户端发回一个请求 命令,请求客户端传送两个基础串号,作为呼叫标识的基础值。以后每个呼叫均在此 值的基础上增加来得到呼叫 id,以此标识每一条呼叫。 如果以上步骤正确完成,则在话务统计客户端和 cpu 板程序之间建立了一条透 明通道。 两者之间的数据包作为高层数据包,封装在 cti server与客户端之间的消息包 有效载荷之中。 话务统计程序按照以下顺序建立通道: cti server 正常启动(交换机工作正常)。 cti server 在 的 6011 端口被动打开。 话务采集客户端程序启动。 客户端程序连接 的 6011 端口。 cti server 为此连接建立服务线程, 同时阻止其它对此端口的连接(即限定仅有一 个客户端)。 cti server 通过 secket 向客户端发送数据包, 指示客户端传送呼叫 id 基础串号。 客户端以一定策略产生串号,向 cti 发送。 如果 cti server 正确处理此包,则默认话务统计连接成功,无指示。 正确完成以上步骤后,客户端一直收集话务统计数据,并且对话务数据进行分析,然 后写入数据库中。其中统计程序会对其中的话务信息进行缓存和分析。同时还可以根 据业务需求,记录非话务相关的一些信息。其中比较重要的信息如内线分机登陆到交 换机的时刻,时长,总工作时长,示忙(此时外线无法接入该分机)等相关数据,作为 话务员的考核指标。 cti server 与客户端之间的数据包格式如表 2.1 所示。 21 表 2.1 c t i s e r v e r 向客户端请求基础 i d 的数据包格式 字节 长度 含义 类型 备注 03 4 cti 与话务采集客户 端的包标识 const _int32 值 0 x00009500 45 2 命令 id unsigned short 0 x1010 67 2 数据包总长 unsigned short 固定为 8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年危险化学品经营单位主要负责人和安全管理人员考试每日一练试题及答案
- 2026年初中历史综合专项测试试卷
- 年度思想工作总结个人教师2026(3篇)
- 第三季度个人思想总结报告2026(3篇)
- 紧急剖宫产测试题与答案解析
- 循证医学练习题及参考答案
- 五年级下册数学北师大含答案“分数王国”与“小数王国”
- 地质实验工模拟试题及答案呈现
- 运动解剖学期末试题及答案揭秘
- 2023年6月副主任医师考试呼吸内科支气管扩张症预防病例串问及答案
- 燃气重点用户管理办法
- 超声科住院医师规范化培训结业临床实践能力考核标准方案(2022版)
- 沉香与健康课件图片
- 财务资金管理培训
- 儿童碰伤应急处理
- 中建室外管网专项施工方案
- 污水处理PPP项目招标文件
- SYT 6378-2021 油水井取套回接工艺作法-PDF解密
- 监理抽检记录表格
- YY 0469-2023医用外科口罩
- 山西兰花科技创业股份有限公司大阳煤矿分公司煤炭资源开发利用、地质环境保护与土地复垦方案
评论
0/150
提交评论