为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于VoIP的语音应用服务器的设计与实现

基于VoIP的语音应用服务器的设计与实现

2018-03-16 41页 doc 75KB 16阅读

用户头像

is_769254

暂无简介

举报
基于VoIP的语音应用服务器的设计与实现基于VoIP的语音应用服务器的设计与实现 华东师范大学 硕士学位论文 基于VoIP的语音应用服务器的设计与实现 姓名:张力强 申请学位级别:硕士 专业:软件工程 指导教师:曾振柄 20050501中文摘要 随着宽带的不断普及和带宽的逐步扩容,网络已经渐入寻常百姓家。面 对如此多的用户群体,提供的服务也必将丰富多彩。除了传统的访问、 、即时通讯等服务外,其它服务如口 、等也将加入到服务 的行列。将来用户面对的是一个集娱乐、信息、通讯为一体的全方位的综合 网络。 本文主要讨论的是一个基于的应用服务平台构建方...
基于VoIP的语音应用服务器的设计与实现
基于VoIP的语音应用服务器的与实现 华东师范大学 硕士学位论文 基于VoIP的语音应用服务器的设计与实现 姓名:张力强 申请学位级别:硕士 专业:软件工程 指导教师:曾振柄 20050501中文摘要 随着宽带的不断普及和带宽的逐步扩容,网络已经渐入寻常百姓家。面 对如此多的用户群体,提供的服务也必将丰富多彩。除了传统的访问、 、即时通讯等服务外,其它服务如口 、等也将加入到服务 的行列。将来用户面对的是一个集娱乐、信息、通讯为一体的全方位的综合 网络。 本文主要讨论的是一个基于的应用服务平台构建。根据的定义 ,在~个系统中有、 、 等 组成部分。随着其中通讯部分的成熟,应用服务器将扮演越来越重要的角色。 如何方 便、灵活、快捷的实现各种应用服务成为一个需要解决的问题。本论文的主 题就是讨 论如何实现一个应用服务器框架,使得现有的或将来的应用服务能够在此框架中实 现,并能充分利用该框架提供的资源,减少开发过程,同时,本文也讨论了该应用服 务平台的可扩展性等问题。在论文中,首先,对应用服务器平台的实现方法和设计思 路进行了探讨。然后,对应用服务平台的基本组成进行了阐述,讨论了各个组成模块 的主要功能及应用接口。再次,对于重要模块业务逻辑模块的实现进行了进一步 的描述。最后,给出了基于本系统平台的两个应用服务实例:自动总机、发卡系统。 在本系统的设计、实现中,着重突出了几点:增强用户可自定义的能力;增强 系统可扩展性;各个组成之间的模块化、独立性。 目前,技术是尚处于发展中的技术,虽然已经有一系列的国际相关标准出 台,但仍然不够完善。各个生产厂商对母的支持还存在着各种各样的分歧。 本项目也是在这种环境下实现的,难免有缺陷,所以仍需要在今后随着市场的发展不 断改进。 【关键词】、应用服务平台、自定义业务逻辑 【论文类型】工程项目, . 、 . . . , , . 谢 . . . . . , . ..,,, .,.,., 、, . . , : , . , ,. ’ ., . ,谢 , . ,, 韭左强硕士学位论文答辩委员会成员名单 单位 职称 备注 姓名 主席 乐嘉锦 教授 东华大学计算机学院 葛孝望 高级工程师 上海市软件中心 孙蕾 副教授 华东师大信息学院学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究 成果。据我所知。除文中已经注明引用的内容外,本论文不包含其他个人已 经 发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已 在 文中作了明确说明并表示谢意. 日期: 作者签名:?? 学位论文使用授权声明 本人完全了解华东师范大学有关保留、使用学位论文的规定。学校有权保 留学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版。有权 将学位论文用于非赢利目的的少量复制并允许论文进入学校图书馆被查阅。有 权将学位论文的内容编入有关数据库进行检索.有权将学位论文的标题和摘要 汇编出版.保密的学位论文在解密后适用本规定。 学位论文作者签名 导师签名,、《霸层彳为 导触辄之留叼朋为 日期: 日期:兰尘.皇、的技术背景及简介 第一章的技术背景及简介 .\,的技术简介 随着的深入应用与发展,各类新应用层出不穷,、、等网 络公司不断涌现,推动着数据业务持续快速增长。将成为未来信息通信的主导技 术,各种业务可由包来承载 ,而信息流又可以在各种传输 ,并以网为基础,最终实现数据、话音、图像业务 媒体中传送 融合和网络融合。采用统一的技术解决方案来构建新一代信息网络,以提供话音、 数据和图像等综合服务,将成为人们追求的目标,代表着世纪新一代通信网 络的 发展方向。通过因特网进行语音通信是在这一新网络时代发展起来的具有代 表性的 应用技术之一。 通过因特网进行语音通信是一个非常复杂的系统工程,其应用面很广,涉及 的 技术也特别多,其中最根本的技术是 技术,可以说,因特网语音 通信是技术的一个最典型的、也是最有前景的应用领域。在此需要了解 的基本原理,以及中的相关。 .. 的基本传输过程 传统的电话网是以电路交换方式传输语音,所要求的传输宽带为/。而所 谓的是以分组交换网络为传输平台,对模拟的语音信号进行压缩、打包等 一系列的特殊处理,使之可以采用无连接的协议进行传输。 为了在一个网络上传输语音信号,需要凡个元素和功能。最简单形式的网络 由两个或多个具有功能的设备组成,这一设备通过一个网络连接。模 型的基本结构图如下图一所示。从图中可以看出设备是如何把语音信号 浯音代理 语音代理 图.的技术背景及简介 转换为数据流,并把这些数据流转发到目的地,目的地又把它们转换回到 语音信号。两者之间的网络必须支持传输,且可以是路由器和网络链路的任意 组合。因此可以简单迪将的传输过程分为下列几个阶段。 、语音.数据转换 语音信号是模拟波形,要通过方式来传输语音,不管是实时应用业务还是非 实时应用业务,首先要对语音信号进行模拟数据转换,也就是对模拟语音信号进行 位或位的量化,然后送入到缓冲存储区中,缓冲器的大小可以根据延迟和编码的 要求选择。许多低比特率的编码器是采取以帧为单位进行编码。典型帧长为~。 考虑传输过程中的代价,语音包通常由、或的语音数据组成。数字化 .。 可以使用各种语音编码方案来实现,目前采用的语音编码标准主要有. 源和尽的她的语音编码器必须实现相同的算法,这样目的她的语音设备才可以还原 模拟语音信号。 、源数据到转换 ~旦语音信号被进行数字编码,下一步就是对语音包以特定的帧长进行压缩编 码。大部份的编码器都有特定的帧长,若一个编码器使用的帧,刚把从第一来 的的包分成帧,并按顺序进行编码。每个帧合个语音样点抽样率为 。目前,流行的压缩编码有、等。编码后,将个压缩的帧合成 一个压缩的语音包送入网络处理器。网络处理器为语音添加包头、时标和其它信息 后通过网络传送到另一端点,简单地建立通信端点之间的物理连接一条线路, 并在端点之间传输编码的信号。网络不像电路交换网络,它不形成连接,它把数 据放在可变长的数据报或分组中,然后给每个数据报附带寻址和控制信息,并通过 网络发送,一站一站她转发到目的地。 、传送 在这个信道中,全部网络被看成一个从输入端接收语音包,然后在一定时间 内将其传送到网络输出端。可以在某个范围内变化,反映了网络传输中的抖动。网 络中的节点检查每个数据附带的寻址信息,并使用这个信息把该数据报转发到目 的地路径上的下一站。网络链路可以是支持数据流的任何拓扑结构或访问方法。 、包.数据的转换 目的地设备接收这个数据并开始处理。网络级提供一个可变长度的缓 冲器,用来调节网络产生的抖动。该缓冲器可容纳许多语音包,用户可以选择 缓冲 器的大小。小的缓冲器产生延迟较小,但不能调节大的抖动。其次,解码器将经编 码的语音包解压缩后产生新的语音包,这个模块也可以按帧进行操作,完全和解码 器的长度相同。若帧长度为,贝是的语音包被分成帧,然后它们被解码 还原成的语音数据流送入解码缓冲器。在数据报的处理过程中,去掉寻址和控 制信息,保留原始的原数据,然后把这个原数据提供给解码器。 、 数字语音转换为模拟语音 播放驱动器将缓冲器中的语音样点个取出送入声卡,通过扬声器按预定的技术背景及简介 的频率例如播出。简而言之,如图?,语音信号在网络上的传送要 经过从模拟信号到数字信号的转换、数字语音封装成分组、分组通过网络的传 送、分组的解包和数字语音还原到模拟信号等过程。 图 .. 相关协议 、.协议 国际电信联盟 ,的.系列建议定 义了在无服务质量保证的或其它分组网络上多媒体通信的协议及其规则。 .标准为局域网、广域网、和上的多媒体提供技术基础保障,同 时又发展成为满足电话技术复杂要求的协议系列。.很大程度上构建在 以前的有关多媒体的协议,包括用于的.,用于?的.和 用于.终端的.等建议的基础之上。其编码机制,协议范围和基本操作类 似于的. 信令协议的简化版本,并采用了比较传统的电路交换的方法。相 关的协议包括用于控制的.,用于建立连接的..,用于大型会议的., 用于补充业务的..、..和..,有关安全的.,与电路交换业务 互操作的.。 .提供设备之间、高层应用之间和提供商之间的互操作性,它不依赖于网 络结构,独立于操作和硬件平台,支持多点功能、多播和带宽管理。.具备相当 的灵活性,支持包含不同功能的节点之间的会议和不同网络之间的会议。是一 种比较成熟的技术。 、会话初始化协议会话初始化协议 ,是由国际工程组 ,提出并主持研究的一个应用层控制协议。它用来创建、 修改以及终结一个或多个参与者参加的会话进程。这些会话包括多媒体会议、 电话、远程教育以及远程医疗等。 协议一方面借鉴了其它的标准和协议的设计思想,在风格上遵循的技术背景及简介 一贯坚持的简练、开放、兼容和可扩展等原则,另一方面,它也考虑了对传 统公众电话网的各种业务,包括智能网业务和综合业务数字网业务的支持, 它也支持“个人移动” 。具体地说,会话初始化协议支持多媒体 通信的五种信令功能: .用户定位:确定参与通信的终端用户; ,用户通信能力和协商:确定通信的媒体类型和参数; .用户意愿的交互:确定被叫是否愿意参与通信; .建立呼叫:包括向被叫“振铃”,确定主叫和被叫的呼叫参数; .呼叫处理和控制:包括呼叫复位向,呼叫转移,咨询呼叫、中止呼叫等等。 协议是多媒体通信和控制协议体系的一个部分,其它协议包括用于 ,、用于多媒 预留网络带宽资源的资源预留协 体数据传输并提供反馈的、用于多媒体流数据分发控制的、 用于描述会话属性的以及用于通告会话的,而且将来随着该体系结构的不 断发展和完善,还会有其它新的协议产生,加入该协议体系。但是协议所 的操作以及相应的功能独立于其它协议。 、协议 和提出了的新的体系结构,体系结构中涉及三部分:信令 ,,媒体网关 网关 ,和媒体网关控 ,。这个体系结构的先进之处在于实现了呼叫控制和承载控制 的相分离,而在这两个分离的单元之间需要定义新的协议,媒体控制协议 ,就是这个接口上的一个较通用的协议,后来 工作组和? 研究组在的基础上提出了.协议,对 进行了扩展。属于应用层控制协议,主要完成对的控制,以实现 网络中之间的连接,并且处理与的交互。 以上,我们介绍了的基础语音通讯过程及在通讯过程中的相关控制协议, 它们是的核心骨干技术。 . 系统架构简介, 年月国际分组通讯联盟 发布了分组通信参考结构.版,其目的是针对下一代分组语音网络提出~ 个统一的术语。该版本针对提高各厂商设备之间的互通性,进一步清晰定义了构 成“分组通信结构”的网络功能元素,并且澄清了提供分组语音产品与业务的厂 商中存在的分歧和混淆。的技术背景及简介 .分组通信结构的定义 分组通信结构是软件与硬件平台的结合体,它用于实现分组网络中的通信业务。 分组通信结构既包含协调呼叫控制和信令的网络智能性,也包含跨越一个或多个网 络发起多媒体呼叫的特性。分组通信结构的主要功能是执行实时多媒体通信。实时 通信的关键要求是呼叫控制,它完成呼叫的建立和拆除。呼叫控制与业务逻辑与处 理呼叫和提供电话特性的功能一一对应。 ..分组通信结构的功能实体 .. 分组通信结构的功蘸层次 定义了四个层次来描述端到端语音分组网络的工作原理。这四个层次是: ?信令层:提供两个主要功能。第一个是适配传统网络到分组语音网络的信令, 第二个是路由分组语音网络中的信令。适配的例子一个是.一信令网关、另一 个是信令网关,路由的例子是媒体网关控制器中的代理和路由逻辑。 ?业务层:提供分组语音网络中一个或多个业务或应用的控制、逻辑和执行。 通过与信令和媒体层的通信,业务层设备控制基于业务执行逻辑的呼叫流程。业务 层的设备包括媒体网关控制器软交换和应用服务器。 ?媒体层:向业务层提供媒体处理服务。媒体层设备包括媒体网关和媒体服务 器。 ?管理层:是用户业务提供、运维支持、告警及错误管理、计帐及其它网络管 理任务处理的地方。管理层通过、、等标准协议与其它各 层交流。 ,分组通信结构的功能实体 分组通信结构的功能实体包括:媒体网关控制器功能?、信令转换功能 .、媒体网关功能、应用服务器功能?、媒体服务器功能.、计 费功能,下面一一阐述。 、媒体网关控制器功能? 媒体网关控制器用于控制媒体网关和信令网关。媒体网关通过使用记录 中继组和中继电路的数据库来处理呼叫建立和拆除、事件检测和处理、网关 启动和的技术背景厦简介 关闭。媒体网关控制器有很多名字,国内一般把它称为软交换,国外也 有把它称为呼叫代理或呼叫控制器的。 .的基本特征是: ?维护媒体网关上每个呼叫的呼叫状态; ?维护.上传输接口的传输状态。 此外,.也可以有小的内建.,但目前这点在国内电信级软交换设备上不 多见。 、信令转换功能. 信令转换功能.路由和操作信令。这种信令操作既可以非常简单例如 代理中?的重写,也可以非常的复杂信令网关中信令从一种传输 媒体和消息格式到另一种传输媒体和消息格式。 .的特征包括: ?使用封装和传输信令协议到.或另一个?: ?一个?可服务于多个客户?,.或?: ?在分组语音网络中,代理通过操作消息的目标地址来提供消息的路 由翻译。 这里需要指出的是一般我们都将网络作为一个独特的网络来说明,但 在分组通信参考结构.版中将代理作为?的~种来说明,这充分体现了浚 结构将网络与分组通信结构完全融合的思想。 、媒体网关功能. 媒体网关是分组网络与接入端点或网络中继之间的接口。它将媒体从~种传 输 模式转换为另一种,通常是电路网络与分组网络之间或不同分组网络之间如 和。 .的特征包括: ?使用.或等设各控制协议维护与.的主/从关系; ?执行媒体处理功能,例如:媒体译码、回声抑制、媒体分组化、抖动缓冲管 理、 包丢失补偿,等等: ?执行媒体插入功能,例如:呼叫进展音频生成、生成、舒适噪音生成等等: ?执行信令和媒体事件检测,例如:检测,/检测,语音活动性 检测,等待。 、应用服务器功能. 应用服务器功毙.是应用程序的执行实体。其主要职责对一个或多个应用或 业 务提供业务逻辑和执行。 应用服务器的特征包括:的技术背景及简介 ?是应用信令的终结点如语音邮件或会议桥; 特色呼叫的执行逻辑如找到我雇艮着我或预付费卡; ?提供接口以融合实时多媒体和应用; ?具备业务生成的例如 ,,; ?可以具备策略、计帐、会话日志后台接口; ?可以为了附加业务或为了构造复杂的面向组件应用程序而激活另一.: ?请求.的服务以控制外部资源: ?请求.的服务以执行媒体操作; ?包括、、、和的可应用程序。 通常?和的组合来提供增强呼叫控制业务,例如网络通知、三方呼 叫、呼叫等待等等。厂商通常不使用协议连接?和.,而是在?和. 之间使用。 、媒体服务器功能 媒体服务器的目的是提供媒体处理功能以支持诸如消息、视音频会议、音乐 保持 等应用。 .的特征包括: ?支持多种编码和译码; ?支持多个.或?的控制; ?支持多种并发能力:数字检测、音频和通知流、编码音频生成、多媒体流的 记录、 语音识别、文本到语音转换、媒体混合: ?支持标准脚本语言,例如或; ?通过紧耦合资源控制,如或松耦台服务器请求,如的控制请 求在.或.的控制下执行。 、计费功能? .收集用于计账目的的所有计费信息。 .的特征包括: ?产生每一会话用于计费目的的详细记录; ?提供会话管理和移动性管理; ?为了实现鉴权、授权、计帐,通常与?结合。就?与? 结合这点来说,与目前的国内外设备实现很不相同,它们一般都是将一般的计 费功能放在软交换设备?之中。的技术背景及简介 如图参考结构通过两维来描述上述各个功能安体。轴按照功能层次 划分、轴按照该功能实体是属于接入平面还是应用平面来划分。之所以将接入网 络功能实体与应用网络功能实体区别开来,是因为分组通信结构的主要目的就是独 立于接入技术来传递应用。 分组语音技术包含多种协议。这些协议分为四类: ?呼叫控制协议:.、 ?媒体网关控制协议:、 ?传输协议: ?信令网关协议; 图?说明了上述各种协议以及它们是如何在运营商网络中将各种电信级 设备互连的。 的分组通信结构.版是对几年前.版的功能性升级。它澄清了分组通 信结构.版中言之不清同时也是目前业界歧义存在之处。从目前国标准及 国内外设备实现情况来看,它们与的分组通信结构.版是基本~致的。 的技术背景及简介 圈分组遵信结构的相关协议虚甩系统的总律设计 第二章应用系统的总体设计 .系统概述 从前一章介绍的内容可知,一个完整的系统框架主要由五个部分组成, 、、、应用服务器、媒体服务器。其中, 与、是基本,是系统的骨架成份,由它们就可以构建一个可 用的通信框架。但对于一个通信网络来说,仅有这些是不够的,随着的发展, 在保证基本通信的同时,提供更多的应用服务,不断充实服务内容才是关键。 随着的成熟,为我们打开了~个新的电话、因特网应用领域。在中, 电话网关是电话网与网络转换接口,它将庞大的电信网与因特网相连接。如 何 利用计算机的功能和因特网的资源在电话业务的基础上实现各种增值业务, 是 的真正价值所在。例如,通过电话提供语言邮件服务,与网关连接的机可以接收 存储电子语音邮件,用户可以通过电话来收听自己的语音邮件:此外。用户可以预 先在计算机上设定自己常用的一下电子邮件地址,以后就可以通过专线将机和其 它移动设备相连,那幺,每当用户有新邮件到达时,就可以通过移动设备通知用户, 来即时的收昕语音邮件。再如,呼叫中心服务系统包括呼叫处理、路由选择、自动 应答、座席话务员管理以及咨询与数据库集成等多种技术,可以使得中心向用户提 供多种不同服务。如果采用技术与网络及数据库技术相结合,那么一般话务员 就可以提供专家级的服务,当用户与话务员交流时不仅可以获取其最感兴趣的信息, 而且还可以通过网及数据库查到或取出专业信息,而不用要求随时有专家服务。 这种离质量的服务和较低的运营成本,在激烈的市场竞争中将会对公司很有帮助的。 此外,还可以方便的实现电话,网上电话会议、方式的交互式语音 应答系统等各种应用服务。 面对上面提到的各种应用,如果在传统电话系统上进行开发,就有些力不从心 了。基于的电话应用系统与传统电话系统相比,却有着无法比拟的优势,它在不 发过程、开发难度上要简单的多、容易的多。今后,随着的进一步普及,针对 的应用服务会越来越多,在这种情况下,如何提供一个应用框架或应用平台, 使得应用服务的实现更容易、应用服务的扩展更简单,就成为一个需要解决的问题。 本系统的设计,就是要在技术的基础上,根据设定的分组通信结构,来 实现一个应用服务器,该服务器要提供一个应用服务平台,利用这一应用服务平台, 可以方便地实现已知或未知的多种应用服务。 根据对多种应用服务的归纳研究可以发现,对于已有的和具有一定市场需求的 各种应用服务来说,主要有以下几方面的信息: ,与外部系统的通信:作为一个应用服务器,首先它是要受的控制, 需要按照预定的接入方式来与通讯,完成建立服务的一系列会话过程. 并按照约定来进行通话过程的控制如:按键信息、会话的终止等。无论 是提供何种服务,这一部分是不可或缺的,是一个基础,也是所有应用服务共有的应用系统的总体设计 部分。所以,可在应用服务平台中,可先将其实现,作为一个应用服务平台框架的 一部分。当需要在平台之上实现或扩展更多的服务时,就不必熏复进行这一部分的 开发了。 具体到本系统中,我们目前采用了协议作为底层的通讯信令,用它来提 供接入、控制服务。 图. 、应用服务的实现:在应用服务的实现中,包含有两个方面的内容,服务的业 务逻辑与服务的动作实现。 对于一个应用服务来说,总是由一系列的动作组成的,这些动作是彼此联系, 又有前后执行的次序。比如:一个电话会议的服务,就可以简单的分解成几个动作: 提出电话会议服务申请 验证用户的申请权限 设定会议参与者 系统呼叫设定的所有电话参与人 开始电话会议 停止电话会议 对于这一系列的动作过程,有些是必须的,而有些则是可有可无的,同时也可 以在其中添加更多的动作来增加服务的过程。所以这些服务的业务逻辑是可以人为 来设定的,在本系统的设计时,充分考虑了服务业务逻辑的灵活性,并没有是用一 个固定的业务逻辑,而是以动作节点的模式来提供各种动作。服务自口业务逻辑则是 由用户通过自己组织这些提供的动作节点来绘制业务流程图来实现的。这样,由用 如 户绘制流程图来实现服务的业务逻辑,就大大提高了服务的灵活性、多样性。 图.应用系统的总体设计 其中,动作节点和流程图的组织管理及执行,并不是与服务相关联的。对于系 统来说,都是一个个节点动作的管理、调用,所以在应用服务平台中,可以将其独 立出来,并作为框架来实现,这样也可简化服务的实现工作。 服务的实现中,服务的业务逻辑可以通过流程图来设置,并由服务平台以节点 的形式来组织实现。但每个服务总是有它一些特有的功能的。一个服务除了上面提 到的业务逻辑不同,在具体的动作上也是有区别的。每一种服务都有其特定的动作 节点。而这些动作节点则是应作为相对独立的形式来实现的。即每个节点动作是一 个与系统联系较少的,专注于服务功能实现的单元。系统可以定义相同的接口来组 织、管理和调用它们。今后,更多服务的扩充只要提供更多的动作节点即可。 只要 依照规范,这些动作节点总是可以被执行服务业务逻辑的模块按预定的接口来调用 的。 总之,本系统的设计,就是要在构架中,设计实现应用服务平台,为 系统提供各式各样的服务。在充分考虑各种应用服务的共同点的基础上,将其剥离 出来,并加以实现,对应各个服务自身独有的特点,则以动作节点的形式实现,同 时也提供自定义功能,使得用户可以根据业务节点来自定义各种不同的业务逻辑, 实现不同的应用服务。例如,在一个自动总机的服务中,用户可以自定义一个业务 流程图。如图.: 图 根据用户的定义,后台应用服务器就可以完全遵循这个电话自动总机业务流程 来执行和提供服务。 在系统的设计中,应特别注意到用户的需求是多方面的,有时单一通过自定义业 务逻辑的形式,也很难实现用户所需求的服务。这时,就会出现系统提供的动作节 应用系统的总体设计 点不够使用,因此就需要系统的设计有良好的扩展性,可以不断的引入服务 节点, 扩充能够提供的服务内容,来满足用户的需求。 综上所述,本系统的设计基本要实现以下几个目标: 、提供良好全面的信令通讯基础,以方便多种应用服务的控制。 、具有对服务中各个动作节点的组织管理能力,方便用户自定义服务的业务 逻 辑。 、在和基础上构建一个应用服务平台,同时提供其它基本功能,实现一个 面向服务的基础框架,便于多个服务的实现。 、具有较强的可扩展性,能够支持新的业务需求。 、两个典型应用服务的实现自动总机/语音信箱、发卡系统。 .系统的总体框架 根据前面分析的系统功能及实现目标,在具体的模块划分中,我们大致可规 划出 如下的组成轮廓。如下图?: , : 流程配置模块 介 ,一卜 业 、、???一/ \ /\ 数 通 务 据 讯 逻 库 辑 模 可 终 块 模 端 块 数据信息模块 士 ?? 语音模块 : 系统模块 外部系统 ~ ,, 图? 首先,其它外界终端、、对控制中心提 出呼叫请求,要求提供应用服务,控制中心判断该调用那个服务后,向应用服务器 本系统发来信息,因为目前本系统是以智能终端的形式来实现的,所以,该信 息是以信令为载体发来的,当本系统接收到信令后,就由相对的通讯模块来做出解 析,提取出有用的信息,做出必要的反应。如果是请求建立连接提供服务信息,则 与发起终端完成一个建立连接的会话过程,然后启动应用逻辑模块来提供预定义的 应用系统的总体设计 服务。在业务逻辑模块中,服务是以预定义的节点组合来完成的,不同的节点,系 统做出不同的解释,进行不同的动作。比如:可以在到达某个节点,就对发起终端 播放一个语音,而在一个身份验证节点,则提示终端输入密码,并接收终端的输入, 做出验证,根据验证的结果和预定义的逻辑走到下一个节点。这样,根据预定义的 节点次序和关系,就做出了一系列不同的与终端交互的动作,最终为发起终端提供 了一个完整的服务。此处,提到预定义的节点执行次序,就是指这些节点的顺序完 全是系统管理员自己来定义的,具体实现则是有系统管理者自己来绘制~个节点网 络图业务逻辑图,提交给系统后,系统就会依据提供的网络图来执行,不同的 节点组合就可以实现一个不同的节点执行路线图,为外部终端提供各式各样的服务。 为了实现节点网络图的绘制,就需要一个流程绘制模块。它主要是一个人机交互的 界面,提供流程图的绘制,并负责把可行的验证、正确的流程图以的形式提供 给业务逻辑模块。系统的运转,还需要数据信息的支撑。数据信息支撑模块也是一 个不可或缺的部分,它负责为通讯模块以及业务逻辑模块提供信息支持。作为一个 电话系统,语音通话是基本的功能,保证通话质量是一个首要的任务,本系统中, 通过语音模块来实现语音传输,避免语音的抖动、延迟,并方便的实现语音播放的 停放控制。 总之,通讯模块、业务逻辑模块、语音模块、流程绘制模块、数据支撑模块 本系 统的五大组成单元。它们分别负责不同的事务,实现不同的功能,彼此相互独立, 通过必要的接口相互通信,可以相对独立的替换重写某个模块,而不影响其它模块。 同时又相互结合,最终组合成了一个完整的应用服务平台。应用系统各模块的计 第三章应用系统各模块的设计 .信令通讯模块 在一个电话呼叫的过程中需要建立两个信道,一个是信令信道,~个是媒体语音 信道。信令信道用于传输信令,而信令的作用是建立呼叫连接,磋商媒体传输的端 口、地址及语音编码等,以建立媒体信道。同时也负责连接的修改、拆除、终止会 话。在目前的系统中,主要有三种协议:、、。它们都有各自的 信令语法,都可以完整的建立一个呼叫过程。 本系统是以智能终端的形式来实现的,所以对于信令的支撑是必不可少的,通信 模块就是对信令的支撑模块。具体地,本模块主要可分两层来实现:与具体协议相 关的信令层,于协议无关的会话事务层。如图? 图一 在本模块的信令层中,主要是遵循相关协议、、,负责完成呼叫 的建立、连接、终止及期间其它信令的处理。该通讯模块子层在与外界系统终端 或是呼叫控制中心依据协议进行通讯的同时,还需要将接受到的信令信息分析处 理、把有用的信息提取出来,打包、封装成统一格式事件包,提供给通讯模块的会 话事务层使用。 通讯模块的会话事务子层则是用户请求的处理模块及发起对其它模块调用、与其 它模块交流信息的接口。它屏蔽了下层与协议的相关性。信令层传来的统一信息, 经过它的处理发送到其它的模块在本系统中主要是业务逻辑模块,而其它模块如果 需要有信令相关的请求时,则也把相关的信息封装成事件包.发送到会话事务子层, 由他来负责调用相关的协议信令来完成对应的工作。 通讯模块的信令层是。个与具体协议密切相关的子层,如果是同时支持多个通讯 信令协议,载必须在通讯模块信令层分别实现其协议。同时,通讯模块的协议子层 也是唯一与协议相关的模块,其它模块如与它密切相关的通讯会话事务层,则是要应用系统各模块的设计 作到与拂议无关性,为了实现这一原则,就需要在通讯模块协议层与通讯会话事务 层之间建立较为完善的接,使得不同的协议都可以通过它来向通讯会话事务层发 送有效信息,粗略的分析主要有咀下信息需要发送;建立呼叫连接的请求、通话过 程中的按键、删除呼叫连接、呼叫转接、连接反馈及每个信息的必要响应等。 所以在本模块中主要实现的功能是: 在信令层,实现具体的通讯协议 将不同的协议进行分析、抽象,封装成预定义的形式 构建一个与具体协议无关的事务层,来处理用户各种请求及系统内部请求 以会话事务子层为基础,实现与其它模块的通讯接口 .语音模块 在一个电话系统中,端对端的语音通讯是重要组成。避免出现语音的抖动、延迟, 保证语音质量是重中之重。目前,语音传输主要是遵循/ /. 协议实现,实现了语音的传输,而则 旨在保证语音的质量控制。在本系统的设计中,语音传输主要采用了协议, 暂留以后来实现。 语音的传输,首先要遵循协议,而语音又包含发送与接收两个部分。所以 可分为两个部分。在发送部分中,可分为三个组成单元如图?: 图? 音频分析提取器。目前,声音文件有多种的保存格式。如、、 等,这些声音文件在保存语音数据的同时,也保存其它有用语音信息,所以需要一 个声音文件分析提取单元,由它来负责提取以不同格式保存的声音文件的语音数据 和必要的语音信息如:编码、大小、位置,作为发包或编码转换的依据。 编码转换器。在端对端的语音逶讯中,并不是每一种声音编码都分别被通讯 的两端支持的,如果某些网关不支持、,而只支持。在这种情况下 就必须用来通讯。所以需要通讯中有~个语音编码协商的过程,最终选择通讯 两端都可以支持的语音编码。而在本系统中,不可能为每个需要播放的同一个声音 提供各式各样的语音编码文件,来支持各种各样的网关。所以需要一个语音编码的 转换单元,它主要来完成翻译的工作,这样,不论对方接收那种语音编码的声音数 据,都可以通过他来将已经存在的语音数据转换成需求的编码类型发送出去。 数据发包器。一个主要的功能单元就是按照协议的要求,根据给定的语 音信息语音编码、语音包的间隔时间、语音数据来传输语音。语音数据的获取 则由另外一个单元来完成。应用系统各模块的设计 总之,语音的发送如图?所示,首先是传递必要的信息给音频分析提取器, 有它来从声音文件中提取语音数据及有用信息。然后,将语音数据传递给编码转换 器,进行编码的转换,转换成合适的编码,再将其发送给数据发包器,发包器则对 语音数据进行封装,依据编码信息封装成一个个的包,并按照一定的间隔时州 发送到目的鼬关。 作为对语音信箱的支撑,语音模块不但要有上面提到的语音发送功能,同时也 需要语音接收的功能。与语音的发送相仿,语音的接收也可以设计为三个组成单元, 如图?: 图. 数据包接收器,主要遵循协议来接收从另一端发送来的语音数据包,并 根据报头分析出语音编码等信息注:其实来呼叫建立阶段已经获得其传输的语音 编码,但以此处分析的实际传输的语音编码为准。同时辨别、丢失不是目地源发 来的数据包。将所有接收到的有效的数据放霞到一个中。 编码转换器,此处编码转换其的工作主要是将接收到的语音数据转换,转换 成系统使用的较普遍的或是用户预设定好的某种语音编码方式转换成用户 定义的 编码方式是为了方便用户的听取。 语音封装器,它是一个与音频分析提取器相互逆反的一个过程。主要将纯粹 的语音数据进行封装,封装成某种声音存取格式的声音文件,并将其保存到 一个指 定的中,供进一步处理。 除了上面提到的各个功能单元外,语音模块还需要提供一些对外的接口,以 利于 对语音传输的操作。 ,用于启动一个语音发送过程,外界可以通过它并提供一定的信 息,如声音文件名、目的网关播放次数来开始一个语音播放。 ,用于停止语音的发送。外界可以随时的通过调用它来停止正在 播放的语音,并保证在语音停止以后才返回。 ,开启接收语音数据,外界可以通过他来接收网关送来的语音 数据。 ,停止接收语音数据,外界调用它时.会停止语音的接收,并返 回经过封装器处理以后的语音数据。 : 堡旦墨垫墨堡垫塑垦生 综合上述各点,可以看出,语音模块的设计如图 电话终端 互拣 “””“ 八 内部系统 警掉驻 掉时冀卜?一 ?” 『?一 日 \ /啪以“ 编码转换器 : ?? 立 二模当 ?? ? ? ?? 图. .数据库模块 任何系统的运作都需要有数据的支持,管理数据的有效方式贝是数据库。通 过对 数据库的访问来读写增删数据、备份数据,可以维持系统的正常工作。能高 效的为 系统提供数据服务。 在本系统中,有着繁多的数据,如各种各样的声音文件,用户的留言数据,流程 配置信息等。对这些数据的管理就涉及到了数据库,需要进行表的设计,同时也需 要提供易用的与具体数据库无关的操作接口。 根据对系统的分析,系统所需的基本数据可分为以下几类:系统基本信息、流 程配置信息、分机信息、声音文件信息。 系统基本信息:本应用服务系统是以一种服务的形式挂载在下来工作应用系统番模块的设计 的,是由来启动一个服务的。而要与来通讯,就需要知道 的一些信息,所以表中信息是必须的。同时,应用服务需 要可以构建在下.即对于一个运营商来说,可以同时为几个企业用 户提供应用服务。所以需要企业用户的信息来区分不同的企业用户:对于一个企 业用户,应用服务器也可以提供不同的应用服务,通过同时提供不同的流程配 置文件来实现。如果同时满足多个应用服务就需要这些应用服务的各种信息。 综合以上几点,可以看出需要三方面的信息:信息、提供服务的相关 信息、企业信息。故可以粗略设计以下三个表来记录这些信息。 表:、、、其它: 表:、、、 、、其它: 、 、 表: 流程配置信息:应用服务系统最终是依据用户配置的业务逻辑流程文件来工作 的,在多用户、多服务的环境下,就会用到多个流程配置文件,同时一个流程的 执行,除了流程配置信息也需要一些其它辅助的信息。如每次语音重复播放的时 间间隔、作用时间等。故需要一个以下的流程表: 表: 、、等。 、、、 分机信息;作为一个电话系统,分机是与系统紧密联系的一个部分,系统必然需 要用到分机的各种信息,来作为自己运作的依据。例如针对某个分机号码的特殊 设定、对分机信箱读取时的密码等。在这里只是简要的设计了一个分机密码袭, 作为分机信息存储的初始表,随着系统的扩展,再加入更多的分机信息。 、等。 表:、、 声音文件:由于应用服务系统是一个面向多用户、提供多服务的系统,而其中一 个重要的组成就是播放语音,所以在一个系统中,可能会有许多不同作用的声音 文件,并需要记录下它们各自的归属于那个用户、那个服务流程。在此,设计如 下的表格,作为存放它们的空间。 表:、、、、、其它。 以上是关于存储系统用到的信息的各个表设计,对于表的读写,则主要分两个层 次来完成。 抽象的读写接口,这~层不涉及具体的针对某个数据库的操作,它具有个广 义的数据读、写功能,做提取数据前的准各工作和接收读写数据的结果。 具体的读写实现,主要是利用数据库接口来存取数据,充分利用被选数据库 的各种优势来完成数据的读写。这些将数据库的读写分隔两层,可以便于以后数据 的扩展及数据库的更新。目前本系统采用的数据库为。数据的读写利用 、其它。.应用系统备模块的设计 提供的接口来实现。 .业务逻辑模块 本项目的设计实现目的是建立一个可由用户自定义流程,具有灵活性、可扩 展性 的应用服务平台。所以业务逻辑模块是系统的重中之重。只有流程执行模块设计合 理,才可能达到预期的方便扩展、用户灵活定义的目的。 在本模块中,大致用到以下几个概念,节点网构造器、节点解释执行平台、系统 基本接口、节点动作注册器。如图? 业务逻辑模块 ’ / 如图?应用系统各模块的设计 、节点网构造器:为了实现流程的自定义,就需要提供给用户一个绘制流程的 界面,出题户在舰赆允许钓范强肉,自壶的组合各个动作节点,提供、设置动作信 息,当用户绘制流程完成后,对于这些已经带有用户自定义信息的节点,需要用某 种手段表示出来,并无异意的传递给后台系统。在这里,我们采取了的形式, 对每个节点及其信息进行了封装在一个单元中。传递到后台保存起来。对于后 台系统来说.如果每个执行流程都去解析这个完整的文件,无疑是没有效率的, 所以,后台系统预先需要进行必要的处理,依据构建一个系统内部的节点网, 将每个单元中的信息提取出来,放到系统内部表示的节点表示中,方便于系统 的操作。此处,节点网构造器一一解析外部,构建系统内部的节点表示。注 对于不同的节点,可能他的节点解析是不尽相同的,但系统内部节点的表示则 需要设计为相同的,以利于其它模块的组织使用。 、节点解释执行平台:在来电驱动执行的节点两中,由前面的节点网构造器可 以构造一个系统内部的节点网,而如何解释执行这个节点网,则是由节点执行器来 组织执行的。原则上,该平台由两个部分: 各个动作节点的执行单元.节点动作是一个实际的动作.实现节点的功能。 如进行密码的认证,或播放~个语音。节点的真实含义都由他来完成。模块通过 动作注册平台来获取对注册动作的调用。 节点动作的组织调度单元。节点动作调度单元则负责节点网上的游走,在 一个节点动作完成之恁,游走到用户定义的下一令节点,再讽度该节点的动作, 完成该节点的实现动作。 、基本接口:对于一个可扩展的系统,必定要提供一些系统基本接口,以利于 系统的扩展.功能的充实。相应逾,本系统中为了提供一个二次开发的机会,使得 今后可以添加更多的功能节点,提供更多的服务,也相应地提供了一些基本 的接口。 】接口,在电话系统中,一个重要的交互的信息载体就是,用 户可以通过它来传递各釉各样的按键信息,所以在节点工作实现中,很有可自 会 有获取的需求。在这里,我们提供了一个功能强大的,而且比较灵活的 获取接口函数,二次开发者都可以方便的获取一串或一个输入,及 可判断的有效值。 各个动作节点豁信怠存取接日。一个流程舀的执行,有对会需要凡令动作 节点的相互协作,这时就会用到数据的传递,本接口则是主要用来提取前面相关 节点的保留信息的,这样方便了构建一个节点动作时,获取前面相关的信息。 语音播放的接口。语音播放是语音模块来实现的,此处提供的播放、开启、 停止接口,这也是为二次开发服务的,二次开发中,可以方便的在一个动作节点 的实现中控制语音。应用系统各模块的设计 、节点的注册:由上面各个单元的实现,可以看出,为了提供方便的二次开发, 为了今后添加更多的服务功能节点,在每个节点的解析、动作的实现、节点保留信 息的存储上都是因节点而异的,这就需要一个节点注册的平台,用来注册、组织、 管理这些信息,方便各个功能单元的调用,同时也可以方便多节点的添加, .流程制作模块 系统设计为多用户的、可由管理者自定义流程的应用,就需要提供必要的人机交 互界面,让用户可以通过灵活的自定义不同节点组合的服务流程,使得系统可以针 对不同的要求提供各种各样的服务。流程制作模块就是用来实现上述功能的,它是 系统人机交互的接口。 巨前,基于/结构的入枫交互模式为广泛的采用。结构, 对于使用者来说,方便、灵活,可以随意地从不同客户端访问。大大增加了系统的 易用性。本模块的实现也采用了的结构模块,用户可以方便的从浏览器访问系统 网站,来进行流程的绘制。而要实现流程绘制,就需要提供的界面要有较强的绘制 功能,使得用户可以随意的添加、删除节点,绘制、修改节点之间的连线。这些又 非目前常用的网页技术可以实现的,在这里,我们利用了语言的特殊性,依 据 的概念,实现了一个具有基本绘图功能的强大嵌入网页的 客户端,可以较满意的达到上述需求。 基于结构,在增强了系统的使用方便性的同时,也需要有安全性的考虑,同 时,本系统是基于的,也就是说,并不是针对一个企业用户的,可能同时为 多个企业用户使用。这样,多个企业用户都可能来绘制、修改各自的流程配置,所 以本稹块需要具有用户身份验证的功能。根据用户身份验证的结果来提供给用户自 己特有的界面,并作为提交流程配置是的附加信息保存到后台。 像其它的文档程序一样,用户在绘制流程的过程中,也有临时保存草稿文档、载 入以前己绘制文档的需求。所以,在嵌入网页的这个绘制程序中.也要仿 造文档程序那样,提供给用户新建、保存、另存为、载入等按钮。相应地,也需要 在这个结构中实现新建、保存、另存为、载入流程文件的功能。 如何方便的由用户来完成一个流程绘制,其中心是如何提供给用户流程绘制的方 法。仿照已有的画图序、中龄绘罄等方式,为耀户提供代表不同功能 的节点,用户只需要点击选中,就可以在画图区绘制它。同时,在绘图区,选中某 个节点,就可以配置给节点的相关属性。这些都有利于用户在较短的时间内学习和 熟悉软件的操作。 在完成一个流程的绘制后,并不能保证用户绘制的完全正确,可以提供后台使 用。所以,需要对用户绘制的流程进行验证,检查是否有不当的地方,并提供 信息 以帮助用户来修正。具体地,有两个方面的验证工作要做。 节点之间提互关联的正确性,有些节点是必须在某些节点动作之后才可以发 应用系筑各模块的设计 生的,前一个节点动作是后一个动作的已经,所以,要验证节点关联的正确性。 节点属性配置的正确性。某些节点属性配置是必须的,如果用户没有配置 则该节点动作就无法执行,比如播放语音的节点,用户没有上传声音文件,该节点 就难以工作。 在流程绘制完成之后,也需要有一个简要的流程演示功能,可以模拟电话呼入 来在网页执行整个电话过程,看是否达到用户预期的目的。 综上所述,在本模块中主要媳功能如下: 实现一般文档程序的新建、保存、另存为、载入的功能 用户身体的验证 提供较普遍使用的画图方法来绘制流程 对绘制的流程文件要能检验 具有简单的演示功能业务逻辑模块的实现 第四章业务逻辑模块的实现 业务逻辑模块是本系统中的核心部分,在设计实现时要充分考虑到它的灵活性 和可扩展性。在一个流程的组织执行中,我们是以一个个动作节点来组织执行的, 每一个动作节点实现一定的功能,几个动作节点的组合来实现一定的服务功能,而 动作节点也是可扩展的,可以根据需要添加新的节点。所以,为了达到这个目的, 就要合理的设计节点的表示方法、在系统内部的组织方法、节点动作的实现基本框 架及节点之间如何来通讯。图一为业务逻辑模块图 / ; 业务逻辑模块 : / ? ? 。 ’ ./ : 图一 .动作节点的表示 在流程绘制模块与业务逻辑平台的交互中,需要将用户自定义的业务逻辑传 递给业务逻辑平台。用户对业务逻辑的描述,是一个业务的流程图.其实不外 乎业务逻辑模块的实现 是业务逻辑节点的组合和节点属性配置信息。如何将这些信息表示出来,需 要~ 种有效的手段。由于自身的优势特点,目前是较为流行的信息载体。 所以我们在这里采用了的方式来描绘业务逻辑信息及节点属性信息,同时, 考虑到系统的扩展行、适应性,为了能保证今后业务的扩展,仍然能利用目前 的 表示,在节点的设计中,添加了一些冗余的信息元素。 表示如下: . ?, ? ... . ,, 通用的节点表示模式 一 ”幸“ ,,依据表示节点的编号 一 ‘’?事事。’ //依据表示是何节点动作 , 。 //表示某付动作结果的处理 ?/? ,/表示某种动作结果 ”章事”, 表示下一个节点的编号 , / 一 //表示某种语种 卑。/ , //表示声音文件的用途 /,表示声音文件的名称 搴车车卑卑/ / / 业务逻辑模块的实现 绘制完成的流程图表示模式 一 一 ”掌宰” ”” 一 ?/ 一 ?/? ””/ ? / / 一 幸/ / 木/ / / 一 ”窜” “奉幸謇“ 一 ?/ ’ ?/ “掌掌”, / / 一 。‘。/ / 书木宰搴/ / / / 例如:动作节点“转接分机”的表示 ”’’ 二业务逻辑模块的实现 一 ”” ?, 二’ 憔疆波朝 ?/ ””, / 二 ?/? //被叫占线 ”“, / 二 ?/? 元久噩答 ““/ / 二 /? //无法接通 ”。’/ / / 一 / /’ 《/ 一~』~。 一 / / ./ / 一 , , ./ / /业务逻辑模块的实现 .动作节点的系统内部表示 动作节点的外部表示是的形式,而在系统内部,则需要对它们进行有 效的组织管理,使得它们可以被高效率的执行。同时也需要考虑系统的扩展性, 为今后能扩充添加更多的动作节点提供方便。在这里,我们设计了如下的几个数 据结构,用于表示内部节点。 数据结构用于动作节点动作信息的存储滞点痒号 ; ,,动作
/
本文档为【基于VoIP的语音应用服务器的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索