(计算机应用技术专业论文)语音增值业务平台中ccxml支持的设计与实现.pdf_第1页
(计算机应用技术专业论文)语音增值业务平台中ccxml支持的设计与实现.pdf_第2页
(计算机应用技术专业论文)语音增值业务平台中ccxml支持的设计与实现.pdf_第3页
(计算机应用技术专业论文)语音增值业务平台中ccxml支持的设计与实现.pdf_第4页
(计算机应用技术专业论文)语音增值业务平台中ccxml支持的设计与实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

语音增值业务平台中c c x m l 支持的设计与实现 摘要 近几年,国内通信市场逐步进入成熟阶段,增值业务变得越来越 重要,语音增值业务成为运营商和增值业务提供商关注的焦点之一。 随着基于v o i c e 讧l ( 、m i ,) 的语音增值业务平台的逐步应用,解 决了传统i v r ( i n t e m c t i v e i c cr e s p o n s e ) 平台的各种局限,取得了良 好的效果。但是,该系统的呼叫控制能力较弱,所以需要在平台中加 入对c c ) ( m l ( c a l lc o n t r o l 订l ) 的支持,使系统的呼叫能力得到 加强,以开展更加多样的业务。 本文作者在研究生阶段参与了语音增值业务平台心( i c e v a l u e a d d e ds e f v i c ep l a 渤姗) 系统研究与开发工作,以及相关业务开 发。谨以此文对过去几年来的研发工作进行小结和回顾。 本文共分六章,包含下列内容: 第一章首先介绍了蟑项目以及c c l ,并分析了二者之间 的联系。址系统是一个统一的、开放的、基于v ) ( m l 语言的语音 增值业务平台。c 唰l 是w 3 c 制定的呼叫控制语言。在心系统 中引入c c x m l 的支持可以增强系统的呼叫控制能力,以开展更加多 样的业务。 第二章是本文最核心的部分,介绍了心系统中引入c c x m l 支持后总体架构的变化以及c a ( m l 支持功能的总体结构,简要说明 了各个模块的划分和功能,并对主要模块以及模块间接口的设计进行 了说明分析。 第三章主要描述了c c ) 洲l 解释器的分析与设计。c c ) 几解释 器用来完成对c c v 【l 文档的解释运行。论文分析了c 唰l 解释器 的功能需求与功能划分,并对其中的文件解释模块及动作执行模块进 行了较详细的说明分析,同时,对c c ) m m 解释器运行的过程进行了 详细说明。 第四章主要描述了c c ) 几支持功能中其他模块的设计,包括文 档获取、j a v a s 嘶t 支持等支撑模块,以及连接、对话及会议模块, 系统进行呼叫控制的具体操作由这三个模块在c a 姒l 解释器的控 制下完成。 在引入c c x m l 支持的过程中,对原有系统进行了一定的修改, 在第五章中描述了对各模块所进行的修改。 在第六章中对引入c c x m l 支持的过程中遇到的难点进行了分 析,并给出了相应的解决方案。 关键词v o i c e 删l v a pc c ) ( m l 呼叫控制增值业务 d e s i g na n di m p l e m e n t a t i o no f c 】蝴ls u p p o r ti n 、f 、ps y s t e m a st h ed e v e l o p m e n to f t e l e c o ms e i c e sh a sg o n ei n t om a t i i f ep h a s e , v a l u e a d d e ds e n ,i c a r cm o r ea n dm o r ei m d o r t a n t ,v o i v a l u e a d d e d s e r v i c e sh a v eb e c o m et h ef b c u so f t e l e c o mo d e r a 幻l r sa n ds e r v i c c p r o v i d e r s 娩v a l u e a d d e ds e n r i c ep l a 怕f i 廿) h 弱t h es u p e r i o 衄 o v e rt r a d i t i 蚰a li n t e r a c t i v ev o i c er e s p o n s e ( r ) s y s t e 脚,b u ti t s c a p a b i l i t yo fc a l lc o n t r o li sl i m i t c d a d d e dt h es u p p o r to fc a l lc o n t r o l x m l ( c c x m l ) ,i t sc a p a b i l i t yo fc a l lc o n t f o lw i l lb ee n h a n c e da n dc a n s u p p o r tm o r es e n ,i c e s t h ea u t h o ro ft h i st h e s i s p a r t i c i p a t e d i i lt h er e s e a r c ha n d d e v e l o p m e n tf o rt h ev a ps y s t e m ,a sw e l la st h ed e s i g na i l dd e v e l o p m e n t f o rt h ec c x l v 。s u p p o ni l l 、p 岬d u r i n gh i sp o s t g r a d u a t es t u d y t h i sp a p e r i sab r i e fr e v i e w o f h i sw o r ko v e rt h ep a s t2y e a f s t h i sa n i d ei sd i v i d e di n t os i xc h a p t e r s ,鸹f o l l o 、孵 1 k1 “c h a p t e rd e s 嘶b e st h eb a c k g 阳u n do ft h e 镭p r o j e c ta n d c c x m l a n dt h er e l a t i o n s h i pb e t w e e nt h e m t h e 、乙廿s v s t e mi snu n i 矗e d s e n ,i c ep l a t f b mb a s e do nv x m ll a n g i l a g e c c x m li sac a l lc o n 仃o l l a i l g t l a g er e l e a s e db yw 3 c ( w r o r l dw i d e bc 0 n s o n i u m ) w i t ht h e s u p p o r t0 fc a ( m lt h ec a p a b i l i t yo fc a uc o n t m li n 心w i l lb e e n h a n c e da j l dc 柚s u p p o r tm o r cs e r v i c e s t h e2 删c h a p t c rd e s c d b e st h ec h 孤g co fa f c h i e t e c t i l r eo f 埋s y s t e m w i mt h ei m p o r to fc c x m l 加dt h es t n l c t i l f eo fc c x m l s u p p o n i n g f i l n c t i o n i tt h e nd e s c r i b e sm em o d u l e sa n di n t e r 】f a c c si n v o l v e d t l h e3 “c h a p t c ri sab r i e fd e s 嘶p t i o no fo c ) ( m l p a r s e r f i 娼t ,ab r i e f a n a l v s i so fv a r i o u sm o d u l e sa n dt h e i rf i l n c t i o n si sp r e s e n t c d t h e nt l l e d e s i 鲫粗da n a l y s i so fm a i nm o d u l e sa r ed e s c f i b e di nd e t a i l s t h e4 mc h a d t e rd e s c r i b e so t h e fm o d u l e si n v o l v e di nc ( 0 ( m l s u p p o r t ,i n c l u d i n gj a v as c r i p ts u p p o n d o c u n l e n tf e t c hf u n c t i o n ,跏dt h c m o d u i eo fc o n n e c t i o n ,c o n f e r e n c ea n dd i a l o g ,w h i c hp e r f o 啪c a nc o n t r o l u n d e rt h ec o n t r o lo fc c x m lp a r s e r d u r i n gt h ei m p o r to fc c x m ls u p p o r t ,s o 埘i eo t h e rp a r t si nv a p s y s t e mh a v eb e e nc h a n g e d ,w h i c hi sd e s c 曲e di nc h a p t e r5 c h a p t e r6 柚a l y z e st h ed i f f i c i l l t i e si i ld e s i g i na l l di m p l e m e n t a t i o no f c c x m ls u p p o r t ,a n dp r e s e n t st h es o l u t i o n s k e yw o r d s 、,o i c e x m 吐、0 气pc c x m lc a l lc o n t r o l v r a l u e a d d e ds e f v i c e 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所 知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰 写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意。 申请学位 本人签名 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校 攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国家有关部门或 机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。( 保密的学位 论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位 本人签名: 导师签名: 适用本授权书。 日期:旦 4 乙| 2 g 引言 近几年,我国通信产业保持高速增长,通信网络规模不断扩大,用户数量与 市场规模与日俱增;同时,市场竞争同趋激烈,单一的业务已经无法满足用户不 同的需求。通信运营商为扩大市场份额、争夺用户进行的竞争目前已进入业务竞 争阶段。提供多样化、多层次的新业务和建立更完善的服务体系成为运营商保有 更高的市场份额的重要手段。通信运营商不断推出新的业务,增值业务的收入占 总收入的比重也在不断增加。 随着这一趋势,语音类增值业务的市场不断扩大,业务种类不断增加,这对 业务平台提出了新的需求。在初期的语音增值业务运营实践中,一般是由s p ( s e i c ep - 0 v i d c r ) 自各语音业务接入系统,独立开展业务。这样做存在很多弊 端:由于各平台厂家技术能力不同,服务水平也参差不齐,s p 很难保证接入系 统的高可靠性,进而难以保证业务的高可靠性;各平台技术差别很大,使用的业 务语言各有特色,业务如果在不同厂家的平台间迁移需要重新开发;业务平台由 s p 控制,运行商对封闭运营的业务系统缺乏监管手段,违规收费等时有发生。 这些都影响了语音增值业务的健康发展。在这种情况下,要求运营商建设统一的 语音增值业务平台,使用开放的标准业务语言,将网络能力抽象为业务能力接口 提供给业务提供商,这样既降低s p 的技术门槛,使其专注于业务的开放,提供 更好的业务形式和内容,同时各接入业务运行在统一平台中,加强了运营商对业 务的监管控制力度,促进了语音增值业务市场的良性发展。语音增值业务平 台圩( v o i c ev a l u e a d d e ds e i c ep l a t f o r m ) 项目的目标就是开发一套满 足上述要求的语音增值业务平台系统,简称垤系统。蟑系统使用专门为语 音业务设计的v o 妣x m l ( v x m l ) 作为业务语言,开放给业务和内容提供商。 系统屏蔽网络和底层系统特性,把能力封装成v ) 【m l 规范中定义的操作标 签。 随着基于v x m l 的语音增值业务平台的逐步应用,解决了传统r 平台的 各种局限,取得了良好的效果。但是,v ) ( m l 的目标是用来定义人机交互过程, 对呼叫控制并未强调,如果业务中需要稍复杂的呼叫控制,系统就无法实现。虽 然可以通过o b j c c t 机制等进行扩展,但依然无法满足需求,同时,这些扩展机制 又破坏了使用( m l 编写的业务在各平台间的可移植性。 在、3 c 的i c eb 柑w s c r 规范集中,还定义了c c x m l ( ( 枷o o i l 仃o lx m l ) 规范。针对v ) 【m l 在呼叫控制方面的不足,c c ) 姒l 补充了这部分的功能。它 能够支持复杂的呼叫控制,并控制v x m l 的执行和停止。c c ) 洲l 可以独立使 北京邮电大学网络与交换技术国家重点实验室 用,但更多情况下是与v x m l 配合使用。如果将c c x m l 与v x m l 配合使用, 由c c x m l 控制整个呼叫模型,v x m l 控制每个呼叫中的用户交互,将带来更 强的业务能力。 因此,有必要在语音增值业务平台中引入c c x m l 支持,以提供更强的业务 能力,使业务提供商能够开发更丰富的业务,为用户带来更好的使用体验,为运 营商带来新的利润。 2 第l 章项目背景 1 1w 3 c 语音界面框架 电话已经诞生超过1 5 0 年,通信的发展使电话遍及世界的每一个角落,极大 的方便了人与人之间的交流;互联网的出现比电话晚得多,但现在也已经深入人 们的生活。随着二者的发展,都逐渐显示出融合的趋势。顺应着这个趋势, 、3 c ( w 酬dw i d cw 曲c o n s o n i u m ) 联合业内各厂商制定了一组标准,目的是将 w 曲开发的方便性带入到电话系统中,简化交互式语音业务的开发。在、; ,3 c 的 语音界面框架【2 l 中,包含以下几个部分: 1 v o i o c x m l ( v ) ( m l ) :v x m l 用于定义人机交互过程。支持放音、文语转换 ( t e x tt os p e e c h ,1 1 s ) 、嗍f ( d o u b l et em u l t i p l e 骶q u c y ) 收号、语音识别 ( 卸t o m a t e ds p c e c hr e c 0 鲈i t i o n ,a s r ) 、录音等各种交互方式。 2 s r g s ( s p c c c hr e c o 韶i t i o ng i a 舢盯s p e c i f i c a t i o n ) :用于定义自动语音识别的 语法。语法中主要定义了在一次语音识别过程中可能出现的单词、出现的顺序 以及如何将语音中一定顺序出现的单词解析为语义。 3 s i s r ( s e m a n t i cl n 耙f p f e 扭t i o n 矗) rs p e e c hr c c o 驴i t i o n ) :定义了将语音识别的语 义结果映射到v x m l 文档中变量的方法,v x m l 实现平台根据该规则将识 别结果映射到相关的变量,v x m l 文档根据该规则访问这些变量来获取语音 识别的结果。 4 s s m l ( s p c e c i is y s t l l c s i sm 盯】k i l pl a n g i l a g e ) :用于定义文本语音转化的规则, 包括要转化的文本,语调,语速,强调位置等。 5 p l s ( p 嘲u n d a t i c ml 雠i 0 0 ns p c c i f i c a t i o n ) :p l s 用于在语音识别及合成系统 中表示声音,是一种加强的音标系统。 6 c c x m l ( c a l l c o n t f o lx m l ) :用于进行呼叫控制。 7 s c ) 【m l ( s t a t ec h a r tx m l ) :通用的基于事件的状态机描述语言,将使用在下 一版本的o c ) 【l l 中 这些规范既可以互相配合使用,也可以单独使用,同时,这些规范也可以与 其他组织制定的相关规范配合使用。 北京邮电大学网络与交换技术国家重点实验室 3 1 2v x m l 语言 1 2 1v x m l 的形成与目标 v x m u v o i c ce x t e n s i b l em a r k u pl a n g i i a g c ) 【l l 是由w 3 c 于2 0 0 0 年提出的一种 专门用于支持语音业务的可扩展标记语言。它建立在x m l 规范的基础之上,是 语音浏览技术的核心。 其主要目标是在交互式语音应用中采用w 曲开发的结构和技术,将w 曲和 电话结合,简化交互式语音业务开发。v x m l 与数据库、 玎m “h y p c n c x t m a f k u p l a n g i l a g e ) 、讧l 以及其它文档处理和发布系统可以进行几乎没有障碍的数据交 换。语音业务的开发人员只需关心实际通话过程的流程,而无需了解底层平台的 具体实现细节。同时,由于v x m l 本身不受具体实现平台的限制,不会因为系 统的扩容和系统切换导致业务的描述失效,从而真正实现了业务与平台无关。 v x m l 语言经过不断发展,目前已经推出2 1 版本。 1 2 2v 讧l 的结构模型 v x m l 的结构模型如图1 1 所示: 文档服务器 请求 回应 v y m i 习 辫释器 n 仉解释器 j 土下文 b 秭境 l訇 jl r1r 实现平台 图1 - 1v m l 结构模型 结构模型中的文档服务器( d o c i l m e n ts e r v e r ) 是w 曲服务器。它负责接收 v x m l 解释器( v x m l i n t e r p r c t e r ) 发出的请求,并返回v x m l 解释器所需要的 v x m l 文档。【m l 解释器分析得到的v x m l 文档,并且按照文档中定义的流 程引导和控制用户与实现平台之间的交互。 4 北京邮电大学硕士论文 语音增值业务,p 台中c c ) 支持的设计弓实现 v x m l 解释器上下文( v x m li n t e f p r c t e rc o n t c x t ) 是v x m l 解释器的执行 环境,它可以在v ) ( m l 解释器工作的同时监听用户的输入。 上图中的实现平台是一个支持( m l 应用程序的软硬件平台。它能够根据 用户的响应动作( 例如:说话或者按键输入) 产生响应事件和系统事件( 例如: 超时事件) 。这些事件中的一部分由v x m l 解释器依照v x m l 文档中定义的事 件处理流程处理,其他的则由v x m l 解释器上下文处理。同时,实现平台还要 提供字符和语音的输入和音频的输出,包括合成语音输出t r s 、音频文件( 例如: w a v 格式的音频文件) 的输出、语音输入的识别( a s r ) 、d 删f 按键输入识别、 语音输入的录音以及电话呼转功能。 1 2 - 3 、m l 的特点 v x m l 作为x m l 的一种扩展应用,主要有以下特点: 1 通过在每个文件里指定多个交互对话单元,最小化客户机服务器之间的数据 交互。 2 使语音应用开发者不必接触低层的平台相关的技术细节。 3 将与用户交互作用的代码( 放在v x m l 中) 同服务逻辑脚本分离。 4 推动语音服务在不同实现平台上的可移植性。对于内容服务商、工具提供商 和平台提供商来说,v x m l 是一个公共语言。 5 对于简单交互过程,v x m l 非常易于使用;同时它也提供了能支持复杂对话 的语言特性。 1 3 、,a p 系统 心( v 0 i c cv a l u e a d d c ds e i c cp l a t f o 皿) 是语音增值业务的承载平台,主 要的功能有呼叫接入、呼叫控制、业务逻辑解释执行、特殊资源管理及控制、语 音门户、内容存储等。在整个语音增值业务系统中,”的位置可以用图1 2 表示,该图来源于中图移动制定的语音增值业务平台规范网。 北京邮电大学网络与交换技术国家重点实验室5 图1 2语音内容业务系统结构图 心的核心是v x m l 解释器,使用它来运行v x m l 编写的业务,作为一个 完整的系统,还具有其他多个功能模块,以满足开展业务的需求。 心与应用系统之自j 使用基于 r 几t 的v x m l 作为业务语言,当一个语音 呼叫接续到语音增值业务平台来时,由呼叫控制功能根据用户拨打的接入码,分 配一个呼叫v x m l 业务逻辑解释自动机,由v x m l 业务逻辑解释自动机根据该 接入码对应的u r l ( u i l i v e r s a lr e s o u r c cl o c a t o r ) 地址,获取一个v x m l 编写的 业务流程来解释执行,分配资源并控制资源的动作,完成和用户的交互。心 系统接受v s m p ( v o i c cs e r v i c cm 柚a g e m e n tp l a t f o 玎n ) 的管理 ”的系统基本结构如图1 3 所示。 6 北京邮电大学硕十论文 语青增值业务平台中c c 删l 支持的设计与实现 图1 3 v a p 系统结构简图 ”系统中的s a n ( s i 驴a l i n g 舨e 豁d e ) 单元作为一个信令点接入信 令网,与信令转接点相连,它负责接收来自信令网的消息,并传递到 中需 要的部分,系统其他部分需要发送消息时,将消息传递到s a n ,再由s a n 发送 到信令网。s a n 同时完成m s c ( m o b i l es w i t c hc e n t c r ) 侧及r n ( r e u r c cn o d e ) 侧时隙的交换。 r n 为资源节点,主要是实现录放音、m f 收号、会议桥等媒体层的功能, 同时包含语音识别系统等,为业务执行系统提供能力支持。a s r 服务器配合r n 完成语音识别。j 1 1 _ ;s 服务器用于完成文本语音转化,将文本转化为语音,由r n 向用户播放。 业务的解释运行等功能在【m l 进程完成。 o u t c a l l 进程读取数据库中的信息,并指挥v x m l 发起外呼。 软件总线是一个消息转发进程,它能够根据消息中的目的实体类型及i d 寻 址,将消息发送给目的实体。 系统运行的数据保存在数据库中。 北京邮电大学网络与交换技术国家重点实验室7 1 4 氏p 系统对呼叫控制的需求 现有廿系统的只具有最基本的、非常有限的叫控制能力,其中部分是 v x m l 语言的特性,还有一部分是自行设计实现的扩展。在实际应用中,系统 无法满足业务的呼叫控制需求,许多业务功能无法实现: 1 呼叫过滤:现有系统在业务呼叫进入时接听呼叫,同时获取v x m l 脚本 与用户交互,对于禁止使用该业务的用户,只能在接受呼叫后播放提示 音,而不能直接拒绝呼叫。 2 灵活的呼叫挂断:现有系统在执行完v x m l 脚本时挂断呼叫,或者在运 行到脚本的 元素时挂断呼叫,无法实现在确定的时间挂断等 功能。 3 完整的会议支持:现有系统借助v x m l 的o b j e c t 扩展机制,实现了会议 操作。这个扩展是私有的,o b j e c t 的名称及参数都不是规范所定义,这 破坏了业务在不同平台间的可移植性;同时,o b j e c t 是阻塞调用的,用 户在加入会场后无法继续与系统交互。 4 呼叫转接:v x m l 中可以使用 元素完成呼叫转接,但这个元素 是阻塞调用的,呼叫转接过程中用户无法与系统交互;同时,该模型也 不允许主叫挂断后系统继续与被转接一方交互。 5 外呼控制:现有系统通过系统的外呼模块,可以向外主动发起呼叫。但 该模块功能很有限,相应的业务编写也比较复杂。 v x m l 语言的目标主要是用来定义入机之间交互的过程,对于呼叫控制并 未强调,通过对v x m l 进行扩展,可以部分的解决这些问题,但并不完善,而 且破坏了业务的可移植性。 1 5c c m l 语言 1 5 1c c 札简介 c c x ml 1 3 】是w 3 c 语音界面框架中的重要成员,用于执行呼叫控制。它能够 处理复杂的呼叫控制:包括发起呼叫、过滤和路由进入的呼叫、处理外部的异步 事件,并且它能支持多方会议,可以将v x m l 实例作为参与者加入会议,并控 制v x m l 对话的执行和停止。 8 事件处理是c c ) ( m l 最突出的特点。每一个c c x l l 会话都能够发送和接收 事件。c c x m l 的事件可以在任何时候从多种事件源发出,包括电话连接、人一 机对话、电话会议、其他的c c ) ( m l 会话以及其他事件源,同时,c c x m l 会话 也可以给自己发送事件。这种灵活的事件处理机制对许多电话应用来说是必要 的。 c c “l 另一个特点是异步的,所有的操作都是异步,不会阻塞。 c c x m l 会话处理所有的异步事件,每一个v x m l 对话都和一个c c x m l 会 话相关联,在c c m 。处理事件的同时( m l 对话完成和用户的交互。c c x m l 不提供任何与用户的交互的机制,需要依靠类似于、,) ( m l 的对话环境。当需要 与用户交互时,a 岛m l 会话会启动一个对话( 这个对话可以是通过v x m l 或 其他技术提供的) 。当交互完成后,c c x m l 会话会根据对话返回的结果决定下 一步的操作。 1 5 2c c 咀。与v 眭l 的关系 c c x m l 与v x m l 是两个互相独立的语言,专注于不同的方面,二者可以独 立使用,可以互相配合,同时,c c x m l 也可以与其他的人机对话系统配合, v x m l 也可以使用其他的呼叫控制方法。c c x m l 与v x m l 由同一个组织制定, 遵循相同的原则,因此,二者之间的配合非常自然,由c c x m l 控制整个呼叫模 型,v x m l 控制每个呼叫中的用户交互,这样极大的扩展了单纯使用v x m l 的 系统的能力,使之可以开展多方通话等需要复杂呼叫控制的业务。 二者互相配合使用如图1 4 所示,该图摘自c c ) ( 规范。图中,使用 c c x m l 编写的电话应用与使用v x m l 编写的语音应用都部署在w 曲服务器上。 c c ) ( m l 的实现平台使用h 兀p 从w 曲服务器获取c c x m l 文档,根据获取到 的文档通过不同的接口对呼叫进行控制。它可以控制d i a l o g s e r v c r 也就是v x m l 的实现来完成与用户的对话,v ) 洲l 的实现使用h i 】m 从w 曲服务器获取v l 文档。 北京邮电大学网络与交换技术国家重点实验室 9 ! 鎏! ! 皇塑皇盔兰堕生丝奎堕童望堕些箜兰鱼堕型! 皇堑堕丝生! 兰墨 1 0 图1 _ 4 c c x m l 与v x m l 的配合使用 第2 章c c l 支持功能的分析与设计 2 1c c x m l 支持功能的需求分析 圩系统中c c x m l 支持后,系统将支持使用c c x m l 编写的脚本进行呼叫 控制,对于系统的需求可以分为两类。 2 1 1脚本解释与执行功能需求 系统应能够解释运行c c x m l 脚本,根据脚本内容进行呼叫控制,包括: 1 ) 解析c c x m l 脚本,使用d t d p o c u m e n t t y p ed c f i n i t i o n ) 或x m l s c h e m a 进行文档验证。 2 1 按照c c x m l 规范中的规则,在脚本中选择与特定事件匹配的元素执行。 3 ) 按照脚本中的指令操作话音连接, 呼叫的拒绝、呼叫的转接等。 4 ) 按照脚本中的指令操作会议资源, 员的管理等。 包括呼入与呼出连接的建立与断开、 包括会议的创建与删除以及对会议成 5 ) 按照脚本中的指令操作v ) 蝴l 对话,控制对话的启停,处理对话返回的 结果。 6 ) 执行脚本中其他的指令,控制e c 删l 对话的创建与退出、事件的发送、 日志记录等。 2 1 2其他需求 为了c c x m l 支持功能的实现,还需要完成以下需求,这些需求中一部 分是为了支持脚本的解释与执行功能,另一部分是系统运行与维护的需求: 1 1 使用m 曰协议从w c b 服务器获取脚本,支持 n 1 p 协议中的g e t 与 p o s t 方法,支持c o o l 【i e 。 劲支持读取存放在服务器本地的脚本。 3 ) 支持j a v as 口i p t 的解释,解释运行符合e c m a 2 6 2 或e c m a 3 1 7 规范的 北京邮电大学舟络与交换技术国家重点实验室 1 1 j a v a s c r i t p 脚本。 4 ) 系统参数通过配置文件进行设置,可以在系统运行期间动态更改配置。 5 ) 可以通过控制台对运行的系统进行控制,提供远程操作命令。 6 1 使用同志记录系统的运行情况。 刀通过软件总线与系统其他部分进行消息交互。 8 ) 系统应具有高可靠性、可扩展性,能作为电信管理网的网元向网络管理 系统发送系统运行的信息。 9 ) 应尽量减少对系统其他部分的修改。 2 2引入c c m l 支持后系统的总体结构 引入c c x m l 支持后,系统可以获取与解释运行c c ) ( m l 文档,为此,需要 加入新的模块,同时,系统的结构有一定变化。 图2 1引入c a 国i l 支持后系统的总体结构 c c x m l 是一个新增加的进程,负责c c x m l 文档的获取及运行,同时,它 操纵其他部分,完成文档中指定的操作。 在增加c c x m l 支持后,t r s 、i m 、a s r 、s a n 等模块维持不变,v x m l 进程需要修改,将原有呼叫控制的实现部分移除,在运行到相关元素( 如t r a n s f e r ) 时,v x m l 进程与c c x m l 进程交互,由c c x m l 进程根据业务脚本进行具体 的操作。因为可以通过c c x m l 脚本指挥系统向外发出呼叫,所以原有的外呼模 块( o u t c a l l ) 不再需要,故从系统移除。系统中每个进程实例都具有自己的i d , 在进程启动的时候连接到软件总线上,各进程之间通过进程类型及对方i d 寻址, 由软件总线进行消息的传递。在加入c a ( m l 进程后,消息转发的规则有了一定 的改变,所以,软件总线也需要相应的修改。 c a 【m l 解释器进程和v x m l 进程运行在一台主机上,也可以运行在独立的 主机上。在单独运行时,c c ) ( m l 解释器进程所在的机器上需要安装”系统 的s v s t c m 程序用来启动c c x m l 进程。 2 。3c c x m l 支持功能的结构 x m l c i n e t e c m a s c i i p t p a r s e r 接口适配 远配 日程网置 c 。皿e c t i 。n 接刊d i a i 。g 接口 c o n 危r e n c e 接口其他接口 士 接 管文j e p 各接口具体实现 入 件 与其他模块接口 图2 - 2c c x m l 支持功能的结构 a :) 【m l 解释功能具有模块化、层次化的软件结构,如图2 2 所示,主要分 为三大部分:c c x m l 解释和执行部分,包括瞍i ( c c ) 叫li n l e 帜t e r ) 及它调用 的x m l p 躺c r 、e c m a s c r i p t 及i n e t 模块;与具体平台相关的c 0 衄e c t i 彻( 连接) 接口、d i a i o g ( 对话) 接口、c o n f c r c i l c c ( 会议) 接口及o b j e c t ( 扩展) 部分,还 有网络管理及日志等共享服务部分。其中x m l 解析器主要负责解释c c x m l 文 件,然后根据c c x m l 文件的控制流程,通过底层平台接口对资源系统进行操作。 c o 曲c c t i 、d i a l o g 、c o n f c r c n 等接口是资源平台能力的抽象接口,为c c ) 洲l 解释和执行部分提供服务,不同的平台可以采用不同的实现,对上层的服务接口 一致即可。共享服务部分主要为配置文件管理网络管理以及所有其他部分如调 试、日志记录等功能。因为o c ) 【m l 解释功能是叠加在现有心系统之上,所 以在设计中尽量减少了对原有系统的修改,并尽量复用已有的软件模块。 上述各模块的概述如下: 北京邮电大学网络与交换技术国家重点实验室 2 3 1c c x m l 解释和执行部分 该部分用来完成c c x m l 脚本的解释运行。 整个解释器中,c x i 模块是核心模块,同时为主控制程序提供了解释器的功 能接口。作为系统的核心,它控制其它各模块。它控制c c x m l 脚本运行的全过 程:使用h l e t 模块获取c c x m l 脚本文件、使用x m lp a m r 模块解析脚本、通 过e h 认算法匹配事件对应的元素并执行、使用j s i 执行s c f i p t 、使用c o n n e c t i o n 、 d i a l o g 和c o n f c r c n c e 等接口控制底层资源系统,通过这些,实现了业务逻辑的解 释执行。 由于c c x m l 是在讧l 的基础上通过定制一个新的x m l s c h e m a 实现的, 所以从本质上讲c = ) ( m l 也是用x m l 实现的,x m lp a r s c r 模块使用a p a c h e x e r c c s 库将c c x m l 文件解析为内部的数据结构供c x i 模块使用。 c c x m l 规范中,各种变量都是基于j a v a s 叫p t 的,同时,还设置了一个 标签供使用者自行编写j a v a s c r i p t 脚本,所以c c x m l 解释器必须支持 j a v a s 谢p t ;采用s p i d c fm o n k c y 库作为j a v a s c r i p t 的执行工具,对s p i d 盱m o n k e y 库进行再次封装,实现一套j s i 抽象接口,从而为c x i 模块提供解析j a v a s 甜p t 脚本的功能。 在实际的应用中,c c x m l 脚本通常部署在w 曲服务器上,所以c c x m l 解 释器必须支持通过 i t r p 从w 曲服务器获取脚本。h l c t 模块用于从w 曲服务器 获取脚本,它源于蟑系统原有的j l l t c m e t 模块,根据c c x m l 解释器的特点与 需要进行了扩展。 接口适配部分是解释器部分与资源部分之间的桥梁,它分析解释器输出的命 令,根据这些命令调用资源接口中各接口相应的方法,从而实现具体操作。 2 3 2资源部分 资源部分用来完成对资源的操作,它实现了一组接口,为c c x m l 解释和执 行部分提供服务。每一个接口都有至少一个实现,因为具体实现方法的不同,同 一个接口可能具有多个实现。 c c i i o n 接口用于对连接的操作,呼叫的发起与接听等。当前,该模块的 实现主要是对i s u p 信令的处理,通过发送不同的消息完成不同的操作,将收到 的消息转化为c c 讧l 事件,同时,保存连接的状态。 d i a l o g 接口用于对对话的操作。当前,该模块的实现主要与v ) ( m l 进程交 1 4 互,完成v “l 对话的创建与删除,处理删l 文档运行过程中生成的事件。 c o n f a 雠e 接口用于对会议的操作。当前,该模块的实现主要与r n 交互, 完成会议的创建修改与删除,会议成员的管理,同时,将会议状态的变化等封装 为c c 订l 事件。 上述3 个接口的实现都需要与系统中其它进程通信。在蛆系统中,各进程 之间使用软件总线通信,与其它模块接口部分连接到系统软件总线上,接收来自 系统其它进程的消息,并将消息发送至系统其它进程。 2 3 3 公用与其它部分 在系统的开发与运行过程中,日志模块都是不可缺少的。该模块源于心 系统中原有的日志模块,根据c c l 解释器的特点与需要进行了扩展。 远程接入模块:与v a p 系统中其他进程一样,c c ) 。订l 进程也是由s y s t e m 进程所启动,同时,与s y s t e m 进程通过共享内存交换信息,主要是用户远程接 入输入的命令,以及进程运行时的负载等信息。 网络管理模块:该模块与网管主机通信,作为网元向网管系统发送网元的信 息,包括主机的配置,负载,软件的配置,业务运行的情况,故障情况等。 配簧文件模块:c c 订l 进程运行时很多参数是从配置文件获得的,包括: 进程的i d ,软件总线的位置,初始脚本的地址,c o o h e 文件保存的路径,日志 记录的级别等。系统配置数据部分的主要功能是实现对上述数据的访问接口封 装,为控制部分和界面部分提供统一的操作接口,在进程启动或者用户输入重新 配置命令时读取配置文件。 由于整个c c 讧l 解释功能模块较多、较复杂,本文并不对其中的模块进行 一一的介绍,只是对那些在系统中起关键作用的模块或者与原有婶不同的实 现模块进行介绍。 北京邮电大学网络与交换技术国家重点实验室 2 4主要类的说明 来获得事件队列的入口。 算法介绍: 1 e h i a 算法通过解释c c ) ( m l 脚本中的 元素及其子元素来实 北京邮电大学网络与交换技术国家重点实验室 现。e h 从算法的主循环是从c c x m l 会话的事件队列中取出第一个事件, 然后在 的一组 子元素中选择匹配的元素执行。需 要说明的是:所选择的 是文档中第一个可以接受刚取出的事件, 并且满足条件表达式的。 2 一旦选定 元素,那么它内部的元素会按照文档顺序执行。至多有 一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论