(通信与信息系统专业论文)sip中间件的设计与实现.pdf_第1页
(通信与信息系统专业论文)sip中间件的设计与实现.pdf_第2页
(通信与信息系统专业论文)sip中间件的设计与实现.pdf_第3页
(通信与信息系统专业论文)sip中间件的设计与实现.pdf_第4页
(通信与信息系统专业论文)sip中间件的设计与实现.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

j e 塞銮垣左堂亟堂僮监塞生塞擅噩 中文摘要 摘要:由于近年来统一通信的快速发展,对于s i p 协议的研究也成为了当前研究 的热点。s i p 协议作为统一通信会话控制中的主要协议,因其特有的简单性和灵活 性已经被越来越多的厂商和组织所接受。口呼叫中心作为统一通信中必不可少的 一环,s i p 协议的使用为其带来了许多新的亮点。s i p 协议的中间件已经是其发展 的新方向,本文的研究主要将s i p 协议的典型应用设计为简单的开发接口,使用 户不必了解s i p 协议的具体细节便可以实现其应用。本文研究成果命名为v s a p i ( v i r t u a ls i pa p i ) 。 本中间件的开放式接口和分布式应用在s 协议的应用形式方面具有很大的 开创性。本文首先简要介绍了s i p 协议的主要内容及关键技术,然后以v s a p i 在 p 呼叫中心中的应用为例阐明其总体开发构架和思路,通过整合p 呼叫中心中必 须的呼叫控制、状态通报、设备控制、事件订阅四个部分,以分布式设计为m 呼 叫中心提供了大型组网的能力。并且本文在系统设计中提出剥离操作系统平台的 概念,使v s a p i 具有更高效的可移植性,以确保本设计在多种环境下的融合。 该中间件系统开发完成后,以d e m 0 晁面的形式展示了其中具体接口函数的 应用。在后期系统测试环节,测试了该中间件的接入能力和控制能力,测试结果 与原口呼叫中心的方案相比有了质的提升。本文最后描述了该中间件的多用途的 特点,使其能够应用于多种应用环境,体现了本文的研究价值。 关键词:s i p :i p c c ;统一通信;中问件;订阅;s u b s c r i b e ;n o t i f y ; 分类号:t n 9 1 5 0 4 : | b 廛銮疆厶堂亟堂焦j 金塞曼墨至b ! a b s t r a c t a b s t r a c t :f o l l o w i n gt h ed e v e l o p m e n to f u n i f i e dc o m m u n i c a t i o n s ,s i ph a sb e c a m e h o ts p o t so ft h ec u r r e n ts t u d y s i p , a st h em a i nc o m m u n i c a t i o nc o n t r o lp r o t o c o l ,a g r o w i n gn u m b e ro fm a n u f a c t u r e r sa n do r g a n i z a t i o n sh a v eb e n e f i t e df r o mi t ss i m p l i c i t y a n df l e x i b i l i t y i pc a l lc e n t e ra sa ni n d i s p e n s a b l ep a r to f u n i f i e dc o m m u n i c a t i o n s ,s i p h a sb r o u g h tm a n yn e wb r i g h ts p o tf o ri t su s e b a s eo nt h er e s e a r c h i n go fu n i f i e d c o m m u n i c a t i o ns y s t e m t h i sp a p e rc o n c l u d e dt h a ts i pm i d d l e w a r ei st h en e wd i r e c t i o n o f u n i f i e dc o m m u n i c a t i o nd e v e l o p m e n t w en a m e di tv s a p i t h em i d d l e w a r e so p e ni n t e r f a c e sa n dd i s t r i b u t e da p p l i c a t i o n si nt h es i pf o r m sa r e g r e a ti n n o v a t i v e t h ea p p l i c a t i o no fv s a p ii ni pc a l lc e n t e ri sa l le x a m p l et oe x p l a i n t h ed e v e l o p m e n tf r a m e w o r k t h i sm i d d l e w a r ei n t e g r a t e df o u rn e c e s s a r yp a r t si ni pc a l l c e n t e r :c a l lc o n t r o l ,s t a t u s n o t i f i c a t i o n , e q u i p m e n tc o n t r o l a n ds u b s c r i p t i o n ;i t s d i s t r i b u t e dd e s i g np r o v i d e sal a r g e - s c a l en e t w o r kc a p a c i t y i nt h es y s t e md e s i g nw e p r o p o s e dv i r t u a ls y s t e mp l a t f o r m s ,i n o r d e rt h a tt h ed e s i g n sh a v em o r ee f f i c i e n t p o r t a b i l i t yt oe n $ u r ei t si n t e g r a t i o ni nv a r i o u so f c i r c u m s t a n c e s a f t e rt h ed e v e l o p m e n tc o m p l e t eo ft h i sm i d d l e w a r e w ed e v e l o pas i m p l ed e m o i n t e r f a c et od i s p l a yi t ss p e c i f i cf u n c t i o na p p l i c a t i o n s i ns y s t e mt e s t ,w et e s t e di t sa c c e s s c a p a c i t ya n dc o n t r o lc a p a b i l i t i e s ,c o m p a r e dt ot h eo r i g i n a lp r o g r a m ,t h i su p g r a d e p r o g r a mh a v eag o o di m p r o v e m e n t a tt h ee n do ft h ep a p e r , w ep r o s p e c t e dt h e a p p l i c a t i o nm o d eo ft h i ss i pm i d d l e w a r ea r c h i t e c t u r ei nu n i f i e dc o m m u n i c a t i o n s e n v i r o n m e n t ,w h i c hr e f l e c t st h ev a l u eo f t h i sr e s e a r c h k e y w o i t d s :s p :口c c :u c ;m i d d l e w a r e :s u b s c r i p t i o n ;s u b s c r i b e ;n o t i f y ; c l a s s n o :t n 9 l5 0 4 : 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 签字醐21 厕鸹 jj 年j z 月所日 导师签名:子斧葡氐 签字日期:夕年,2 月7 日 e 塞銮堕左堂亟堂焦途塞独剑丝庄盟 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:刘博三l 冉签字日期:2 咖年,2 月s 日 致谢 本论文的工作是在我的导师张有根副教授的悉心指导下完成的,张有根副教 授严谨的治学态度和科学的工作方法给了我极大的帮助,大大推动了我的研究进 程。在此衷心感谢两年半以来张有根老师对我的关心和指导。 张有根老师和陈常嘉教授悉心指导我完成了的科研工作。胡师舜老师在学习 上和生活上都给予了我很大的关心和帮助,在此向张有根老师、陈常嘉教授和胡 师舜老师表示衷心的谢意。 另外也感谢我的父母和朋友,他们的理解和支持使我能够在学校专心完成我 的学业。 1 引言 1 1融合网络与统一通信 近年来网络的融合化趋势越来越明显,随着电信与r r 技术的不断成熟及融合 的进一步加剧,无所不在的通信概念被提出,需求也进一步涌现。“统一通信”正 是在这样一种背景下提出的,起初只有思科等少数i t 厂商提出统一通信的概念并 开发自己的统一通信解决方案,而这两年来越来越多的电信厂商也加入到这一融 合化的进程,a v a y a 、华为等都以自己的方式构建统一通信环境。 统一通信基于口网络,并进一步发展了p 通信的概念。通过使用s i p ( s e s s i o n i n i t i a t i o np r o t o c 0 1 ) 协议和移动解决方案,真i f 地实现了各类通信的统一和简化, 它不受位置、时间或设备的影响。通过统一通信解决方案,用户可按照喜好随时 进行彼此通信,并可使用任意设备通过任何媒体进行通信。统一通信将我们常用 的多个电话( 如手机,模拟电话,m 电话,软电话) 、设备( 如p c 、服务器、p d a ) 以及多个网络( 如固定、互联网、有线、卫星、移动) 融合在一起。同时,统一 通信也不再局限于人与人之间的交流,s i p 协议使得其可以完成人与设备之间( 如 人对设备控制、设备对人的通知) ,设备与设备之i b j 的通信和控制( 如企业电子办 公系统与库存系统的通信联动) 。因此,统一通信可以实现独立于地理位置的通信, 促进通信与业务流程的集成,简化运行并提高生产率和利润。 据有关机构预测,随着融合业务魅力的逐渐显现,再加上厂商对统一通信认 知度和接受程度的提高以及统一通信本身技术和产品走向成熟,未来几年内,统 一通信在国内有望由市场培育期进入成长期。融合化的统一通信不仅全面提高了 用户感受,改变使用习惯,更给市场带来了勃勃生机。 1 2 选题背景和意义 统一通信应用环境中存在着许多不同的节点、资源和应用,地理上分布着的 结点可互连、互通和互操作。这些复杂且多元的应用是无法由一个或几个厂家全 部完成的,这需要多方来合作完成,构成一个完整的产业链。这个产业链涉及到 设备提供商,系统集成商,应用软件开发商等等。因此,统一通信环境应该有完 善的协议标准及开放性的系统架构。 统一通信的协议方面,s 口( s e s s i o ni n i t i a t i o np r o t o c 0 1 ) 是最具有发展潜力的 7 会话控制协议。s i p 协议由i e t f 提出,基于i p 网络进行多媒体通信的应用层控制 协议。用于控制会话的创建、修改和终结,并支持单播、组播和移动性。s i p 具有 优异的可扩展性,能够轻松实现i n t e m e t 电话,并与w e b 以及e - m a i l 业务等现有 的h l t e r n e t 应用紧密结合。国外著名公司都推出了基于s i p 的通信解决方案。同时 它也成为n g n ( 下一代网络) 和3 g ( 第三代移动通信系统) 中的重要的协议。 s 口中扩展x m l 信息的方式使得s i p 在统一通信中的应用更加灵活多样。 在统一通信产业链的末端是业务具体应用软件开发商,这些厂商专注于具体 行业应用,在通信环节上没有积累。因此,他们需要通信设备厂商能提供一些接 口屏蔽p 通信方面的操作。于是在这个开放性的系统架构中,各种开放系统技术 的需求应运而生,中问件技术便是其中的一种。 中间件这一名词出现在2 0 世纪9 0 年代。国外学术界对中间件的定义是:中 间件是一种软件,它能使处于应用层中各应用成分之间实现跨网络的协同工作, 这时允许各应用成分之下所涉及的“系统结构、操作系统、通信协议、数据库和 其他应用服务”各不相同。中间件的优点在于:缩短应用开发周期,减少项目开 发风险,提高应用系统产品质量,增加产品吸引力。而这些优点正是业务应用软 件开发商们非常关注的。 本文研究的s 口中间件剥离了s 口协议的具体内容,同样使企业有使用中间件 的优点。本文成果s i p 中i 日j 件相对于t a p i ( t e l e p h o n ya p p l i c a t i o np r o g r a m m i n g i n t e r f a c e ,微软提供的电话歼发接口) 等c t i ( c o m p u t e rt e l e p h o n yi n t e g r a t i o n ) 中 i 日j 件更具有针对性和灵活性,能够使用在任何需要的环境中。同时在s i p 应用的 接入性能也是t a p i 等多无法比拟的。本文的s i p 中间件命名为v s a p i ( v i r t u a ls i p a p p l i c a t i o n p r o g r a m m i n g i n t e r f a c e ) ,即虚拟s i p 应用开发接口。它将以s i p 协议为 基础的通信操作抽象成a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 函数,提供给第 三方进行s 妒应用开发。 本文在研究v s a p i 第一步是为满足i p c c ( i p c a l lc e n t e r ,口呼叫中心) 的基 本应用。s 口在i p c c 中的应用在统一通信中具有代表性,所以v s a p i 的接口函数 中,其功能需要包括设备监控,呼叫控制,媒体放音,d t m f 检测等口c c 的基本 s i p 应用。研究中需要这个架构为开放性的,可以添加更多的应用接口,用以完成 更丰富的业务功能。并且是灵活的不局限于某一个操作系统平台。下面将详细阐 述本文的研究及实现。 8 韭塞至煎叁堂亟堂焦逾塞扫差堡i 金基熊 2 相关理论基础 2 1s i p 协议研究 s i p 的发展成果属于多方多媒体会话控制( m m u s i c ,m u l t i p a r t ym u l t i m e d i a s e s s i o n c o n t r 0 1 ) 工作组的范围,它是由会话邀请协议( s i p v l ) 与简单会议邀请协 议( s c i p ) 合并而成为会话初始化协议( s 矾2 ) 。其第一版本r f c 2 5 4 3 于1 9 9 9 年3 月推出,可以支持p 网上的多媒体通信,于2 0 0 2 年推出了s i p 的第二版 r f c 3 2 6 1 。s i p 定义了对多媒体会话进行控制的信令过程,包括会话的建立、拆除 和修改等i 。 2 1 1s i p 消息格式 s i p 网元之间的通信主要是通过s i p 消息来进行的,s i p 消息有两种:客户机 到服务器的请求,服务器到客户机的响应。 s i p 消息由一个起始行、一个或多个头域及消息体组成,消息体在s i p 信令 中是可选的。s p 消息的具体格式如下: m e s s a g e = s t a r t l i n e + m e s s a g e - h e a d e r c r l f 【m e s s a g e - b o d y s t a r t l i n e = r e q u e s t - l i n es t a t u s - l i n e 起始行分为请求行或响应行,请求行规定了所提交的请求的类型,而响应则 指出对请求的正确或失败处理。 消息首部一般由多个头域组成,其必选的四个头域为f r o m 、t o 、c a l l i d 、c s e q , 其它的头域是可选的。 消息体通常描述将要建立的会话类型,即媒体消息描述( s d p ) 。但s i p 并不 定义消息体结构和内容,这样,消息体也可能包含其它的编码信息,如i s u p 消息、 x m l 的事件消息等。消息体只存在于终端用户之间,s i p 网络中的其它网元并不 对消息体进行解析。 2 1 2 s i p 请求消息 一个s i p 请求消息由请求行开始,请求行由一个方式符号、一个请求u r l 、 9 j e 立銮道左堂亟堂僮途塞扭羞堡监基亘| | i 一个版本号组成。方式符号指出请求信令的语义内容,请求u r l 为接收方的u r l 地址,版本号为s i p 协议的版本号,现在为2 0 。 请求行的语法规则如下: r e q u e s t - l i n e = m e t h o ds pr e q u e s t u r is ps i p - v e r s i o nc r l f r f c 3 2 6 1 定义了6 种基本的请求信令:i n v i t e 、a c k 、o p t i o n 、b y e 、 c a n c e l 和r e g i s t e r 。 i n v i t e 方法用来初始化一个会话。为保证会话建立的可靠性,会话建立的过 程采用三次握手方式完成,即当会话发起方收到对端的2 0 0 0 k 最终响应后,再向 对端发送一个a c k 请求,以表示会话建立的确认。 b y e 方法用于终止一个已建立的会话。b y e 可以由程序直接生成,也可以在 发生挂机信号后,再由程序生成b y e 信令。 o p t i o n 用来询问服务器或对方的性能。如通过o p t i o n 信令可以询问对方 是否支持某种特定类型的媒体。 c a n c e l 方法用来终止一个等待或正在处理的请求,如当发送一个i n v i t e 请求但还未收到最终的回应,此时可使用c a n c e l 终止这个对话,这是它与b y e 请求的不同之处。 r e g i s t e r 方法来登录到s i p 定位服务器,以便将用户的逻辑地址与当前用 户的联系地址直接映射。正是由于注册机制及定位服务器的存在,使s i p 可以很 好的支持用户的移动性。 2 1 3s l p 晌应消息 s i p 响应消息的起始行是状态行,包括一个状态码及一个可选的原因说明。状 态码是一个表示请求结果的3 位十进制数值,原因说明语句则用来以文字的方式 向用户提供更直观的回应信息。 响应消息的具体格式如下: s t a t u s l i n e = s i pv e r s i o ns ps t a t u sc o d es pr e a s o n - p h r a s ec r l f 状态码的值在1 0 0 到6 9 9 之间,由其百位数表示响应的类别,其具体说明如 下: 1 x x 临时响应,这里面最常用的为1 8 0 响应,表示用户正在振铃。 2 x x 成功响应,它是一种最终响应。最常用的是2 0 0 响应,表示请求己接受 或完成。 3 x x 重定向响应,它一般用在重定向服务器对用户或代理服务器的请求的重 定位,在其响应中包含一个新的重定位u r l ,用户接收到响应后向新地址重新发 o 起请求。 4 x x 请求失败,它向请求的发起方告之请求的失败原因。如最常用的响应为 4 0 1 和4 0 7 响应,主要用于s 口认证中。 5 x x 服务器错误,表示服务器不接收用户的请求方式或s i p 版本等。 6 x x 全局错误,表示对端用户由于某种原因不能接受该请求。 2 1 4 s i p 网络结构 s i p 网络结构采用客户机服务器结构,包含两个基本组件:s i p 用户代理( s i p u s e r a g e n t ) 和s i p 服务器( s i ps e r v e r ) 。s i p 通信将在这两种组件之间进行。s i p 消息是客户机与服务器之间通信的基本信息单元。 s t p i i s i p i i u s e r a g e n tr e d i r e c ts o l v e t i c l i e n t p r o x ys e r v e r u s e r a g e n t l o e a t i o ns e r v e r s e r v e r l ii ii 图2 - 1s i p 基本信息元 f i g u r e2 - 1b a s i ci j n i to fs i p 用户代理( u s e r a g e n t 简称u a ,它是用户客户端软件) :用户代理从软件 结构上分为用户代理客户u a c ( u s e ra g e n tc l i e n t ) 和用户代理服务器u a s ( u s e r a g e n ts e r v e r ) 两部分。u a c 用于发送请求和接收该请求的响应;u a s 负责接收请 求及生成对它的临时及最终响应,这些响应包括接受、拒绝等。 代理服务器( p r o x ys e r v e r ) :它同样包括u a c 和u a s 两部分,它是s i p 应 用中的一个中间实现或称中介,对于来自客户端的请求,它充当服务器接收请求; 在向下一跳转发s 口消息时,它又充当客户机发出接收的请求。一个代理服务器 的核心功能是路由功能,对于路由过程中的用户寻址,代理服务器可采用注册机、 定位服务器、d n s 等方式完成,此外它还可以单独或与其它服务器配合完成认证、 记账等功能。 重定位服务器( r e d i r e c ts e r v e r ) :完成s i p 请求过程中地址重定位的功能。 定位服务器:代理服务器、重定向服务器和注册服务器是s i p 协议定义的 网络服务器。在s i p 中还经常需要定位服务器,但是定位服务器不属于s i p 服务器, j e 塞塞适占堂殛堂焦监塞捐差堡垃基型 它只是一个逻辑的概念,它的具体实现可以采用多种方式,即可以单独实现也可 以与其它服务器结合在一起实现。s i p 对个人移动性的支持是以它为核心的。 2 1 5 s i p 协议结构 s i p 是一个四层结构的协议,包括:用户接口层,会话层,事务层,网络传输 层,语法与编码层。事务层和会话层是s i p 体系的核心层,是s i p 协议的一个基本 组件,它负责将用户的请求发往服务器,以及接收服务器回送的响应。它同时还 处理s i p 消息的重传、匹配、超时等事务。s i p 协议栈如下: 用户接口层 00 会话内会话层会话外卜一 j 语法编解 00 码 l i n v i t e 事务事务层 非n v 沁事务卜一 00 |网络传输层 圈2 2s i p 协议结构 f i g u r e2 - 2s i ps t r u c t u r e l 、用户接口层:主要是将解析出来的消息给用户使用,并且提供用户要发送 的s 口消息接口。 2 、会话层:来处理会话的消息,区分当前事务是否为会话内或会话外,进行 不同的处理。维护会话的存在。 3 、事务层:它是s i p 层次结构的核心层,负责会话的控制与管理,主要内容 为:保存事务的状态、匹配请求消息的响应消息、对消息进行超时、重传处理。 4 、网络传输层:负责端到端的连接与通信。 5 、语法编码层:s i p 消息采用基于u t f 一8 ( r f c 2 2 7 9 ) 的文本编码格式,语 法信息采用扩充的巴柯斯范式( b n f ) 形式描述,语法编码层的主要功能是完成s i p 请求与响应消息的构造与解析。 2 1 6s l p 基本工作过程 1 2 e 宝銮煎盔堂亟堂僮监塞担羞堡诠基垂l i i 一个基本的s i p 呼叫的过程可分为以下三部分: u a lo u t b o n dp r o x yi n b o u n dp r o x yu 2 u u r uu a aa s sc uu j r a aa c sc r 1 pt 乞 scs c b t ett t t s c t t 2 0 0 讲( 图2 - 3s i p 呼叫流程”1 f i g u r e2 - 3s i pc a l lp r o c e s s l 、当u a i 的u a c 要发送请求消息时,它将消息的t o 头域设置为被叫方的 逻辑地址,将f r o m 头域设置为主叫方的逻辑地址,c o n t a c t 头域设置为主叫方的 联系地址。s i p 请求的消息体由s d p 描述符构成,消息体对代理服务器是透明的, 它只对用户代理有意义。构造好的请求通过t c p 或u d p 方式发往本域的出向代理 服务器( o u t b o u n dp r o x y ) ,出向代理服务器收到请求消息后,首先判断请求是否 是对本域用户的请求,如是则呼叫目的用户,如不是则将代理服务器的地址插入 v i a 头域并向下一站转发该请求。 2 、当消息到达被叫侧的入向代理服务器( i n b o u n dp r o x y ) 时,入向代理服务 器向定位服务器发起查询,查询被叫用户当前的联系地址信息,完成逻辑地址到 联系地址的映射,然后按联系地址将请求消息发送到被叫u a 2 。 3 、被叫u a 2 的u a s 收到请求消息后,回送响应。响应消息从请求消息中拷 贝t o 、f r o m 头域。 2 2x m l 与s i p 的事件通知模型 2 2 1x m l 与s i p 融合 ) a l 可扩展样式语言( e x t e n s i b l es t y l el a n g u a g ex s l ) 它是一种基于s g m l 的、简单灵活的语言,提供了比h t m l 更为广泛的方法来描述文档内容,同时通 过一种能够在所有计算机上运行、与平台和操作系统无关的方法,提供了描述元 些塞窑适太堂亟堂焦盈塞担羞堡迨基础 数据的机制。x m l 不仅是一种技术,而是指一个技术组。x m l 家族至少包括以 下成员:可扩展样式语言( e x t e n s i b l e s t y l e l a n g u a g e ,x s l ) ;x m l 链接语言( x m l l i n k i n gl a n g u a g e ,包括x p a t h ,x l i n k 和x p o i n t e r ) ;x m l 名称空间( x m l n a m e s p a c e ) ;x m l 模式( s c h e m a ) 。 事件通知模型在很多领域是必不可少的组成部分,比如医疗设备、智能家电、 呈现系统、商业政府等的应用。s i p 与) ( i l 融合的事件通知模型可以更加广泛地 应用于各个领域。s 口提供了灵活的通知机制,x m l 为其应用提供了灵活开放的 数据类型。在其结合中主要使用了e v e n t 头域、c o n t e n t t y p e 、b o d y 三部分。e v e n t 表示了事件的类型。c o n t e n t - t y p e 用来指示消息体的格式类型,在此的话就是将要 传送的x m l 数据解码类型。b o d y 中具体携带x m l 格式的数据。 订阅模型的主要信令是订阅( s u b s c r i b e ) 和通知( n o t y ) ,s u b s c r i b e 用于发起事件订阅请求,n o t y 用于通知当前事件状态。在r f c 3 2 6 5 中定义了 这两个扩展信令【5 】。 2 2 2事件通知模型基本概念 主要包括: 1 、订阅者( s u b s c r i b e r ) :从通知者( n o t i f i e r ) 接收通知( n o t i f y ) 请求的 一个s 口u a 。这些n o t i f y 请求中包含订阅者感兴趣的有关资源的状态信息。订 阅者的典型动作是产生订阅( s u b s c i e ) 请求并向通知者( n o t i f i e r ) 发送该请 求,同时,接收通知者的n o t 礤y 请求。 2 、通知者( n o t i f i e r ) :通知者也是一个s i pu a ,它负责产生n o t y 请求以 通知订阅者所订阅的资源状态的变化。通知者的典型动作是接收s u b s c r i b e 请 求并发n o t i f y 请求。 3 、订阅( s u b s c r i p t i o n ) :订阅是订阅者向通知者发出s u b s c r i b e 消息的动 作,它要求通知者在其资源状态的改变时向订阅者报告。 4 、通知( n o t i f i c a t i o n ) :通知是通知者向订阅者发出n o t i f y 消息的动作, 它通知订阅者一个资源状态的改变。 5 、事件包( e v e n tp a c k a g e ) :是通知者向订阅者发送的一组资源状态信息。对 于具体应用,事件包的内容是不同的。事件包一般采用x i v l l 格式。 对信令的定义主要包括:s u b s c r i b e 请求信令,用于发起订阅请求;n o t i f y 请求信令,用于向订阅者通知所订阅资源的状态。 还扩展了三个头域: l 、e v e n t 头域:表示订阅者所需要订阅的事件类型。如果一个对话中存在多 4 e 塞窑亟左堂醪堂焦监塞担羞垄缝基焦! | 个订阅关系,e v e n t 头域中要加入i d 参数,以区分各个订阅。e v e n t 头域的格式 为:e v e n t :c o n f e r e n c e :i d = 1 2 3 4 。 2 、a l l o w - e v e n t 头域:表示订阅者或通知者所能接受的事件类型。a l l o w e v e n t 头域的格式为:a l l o w e v e n t :d i a l o g ;c o n f e r e n c e 3 、s u b s c r i p t i o n s t a t e 头域:表示当前订阅关系的状态。其参数值为:a c t i v e : 订阅已被接受;p e n d i n g :s u b s c r i b e 请求已收到,但还未决定是否接受该请求; t e r m i n a t e d :订阅失败。如果订阅失败,该参数后面应加入一个原因码,表示失败的 具体原因。s u b s c r i p t i o n - s t a t e 头域的具体格式为:s u b s c r i p t i o n s t a t e :a c t i v e 或 s u b s c r i p t i o n - s t a t e :t e r m i n a t e d :r e j e c t e d 。 2 2 3事件通知过程 事件通知过程分为三个阶段:订阅发起与接受阶段、订阅过程的刷新阶段、 订阅结束阶段。其具体流程为: 订阅阶段: 当订阅者想得到网络中某一资源的状态信息时,订阅者生成s u b s c r m e 请 求,该请求的e v e n t 头域指明事件类型;a c c e p t 头域指明可接受的事件包的信息格 式;e x p i r e s 头域指明订阅请求的有效时长。订阅者向n o t i f i e r 发出该请求,等待 处理n o t i f i e r 回送的响应。响应有以下几种: 1 、如果收到4 0 1 响应,表示n o t i f i e r 需要对s u b s c r i b e r 进行身份认证,s u b s c r i b e r 重新生成带有认证头域的s u b s c r i b e 请求重新发送。 2 、如果收到4 8 9 响应,表示e v e n t 头域中定义的订阅事件类型不被n o t i f i e r 所理解。 3 、如果收到4 2 3 响应,表示请求的e x p i r e s 值太小。 4 、如果收到2 0 2 响应,表示订阅已被理解,但还不能决定是否接受该订阅。 5 、如果收到2 0 0 0 k 响应,表示订阅被接受,下面将有n o t i f y 消息发送过来。 当通知者本身或其管理的资源状态发生改变时,它向订阅者发出n o t y 请 求,在其e v e n t 头域中指明通知的事件类型;在c o n t e n t - t y p e 头域中指明消息体的 具体格式;消息体是具体的资源状态的变化情况,订阅者解析该消息体来改变本 地存储的这一资源状态的参数。n o t i f y 请求的s u b s c r i p t i o n - s t a t e 头域指出所创建 的订阅状态( a c t i v e :订阅已被接受;p e n d i n g :s u b s c r i b e 请求己收到,但还未决 定是否接受该请求;t e r m i n a t e d :订阅失败) ,其e x p i r e s 参数指明通知者可接受的订 阅时长。订阅者接收到n o t i f y 请求后,解析n o t i f y 消息,向n o t i f i e r 回送响应。 l 、4 8 1 响应:表示订阅方未发送s u b s c r i b e 请求而收到n o t i f y 请求。 e 塞銮疆厶堂亟堂位i 幺塞担差堡途基焦i | 2 、4 8 9 响应:表示n o d 勾e v e n t 头域中所指的通知事件与s u b s c r i b ee v e n t 头 域中所订阅的事件不是同一事件。 3 、2 0 0 响应:表示n o t i f y 消息正确且消息体也被正确解析。 刷新阶段:订阅关系存在时间超过订阅时长后,如仍要保持订阅的存在,要 重新发送s u b s c r i b e 请求以进行订阅刷新。s u b s c r i b e 请求的信令格式与内容 同订阅阶段是相同的。通知者收到订阅刷新后,回送相应的响应。 1 、4 8 1 响应:表示订阅刷新失败,取消本次订阅。 2 、非4 8 1 响应:表示订阅刷新虽然失败,但本次订阅关系仍然保持直至超时。 3 、2 0 0 响应:表示订阅刷新成功。 订阅结束:订阅结束有两种方式完成:一种是由订阅方向通知者发出s u b s c r i b e 请求,其e x p i r e s 头域值为0 ,表示请求结束订阅,这种情况n o t i f i e r 要向订阅方 回送一个n o t i f y 通知订阅的结束;另一种方式是通知者主动向订阅方发出n o t i f y 信令,在其s u b s c r i p t i o n s t a t e 头域中指明结束的原因,订阅方收到请求后,回送 2 0 0 0 k 响应。图2 4 说明了整订阅流程。 图2 4 事件通知过程 f i g u r e2 - 4s u b s c r i p t i o np r o c e s s 1 6 接受 内容 e 厦至道厶堂醒堂位i 金塞奎塞班塞量l 担苤鳆l :佳厘堡 3 本文研究与i p c c 相关的工作原理 以口网络为核心的呼叫中心,成为呼叫中心的发展趋势。s i p 在呼叫中心中 的应用,将使呼叫中心更加灵活、简单,并将大大增强其可扩展性,可维护性。 在i p c c 中逐渐整合进w e b 、e m a i l 、i m 等的接入方式,图3 1 为i p c c 组网示意。 图3 一li p c c 组网翻 f i g u r e3 - 1i p c cn e t w o r k c u s t o m e r 代表用户位于公共网络,使用t d m 方式接通过g a t e w a y 接入i p c c 的口网络。i p p b x ( i pp r i v a t eb r a n c he x c h a n g e ,i p 专用分组交换机) 用于对呼叫 的路由分发。i p i v r ( i n t e r a c t i v ev o i c er e s p o n s e ) 为互动式语音应答,其位置同 p h o n ea g e n t ,为呼叫中心的座席。c t i s e r v e r ,w e b s e r v e r 。e m a i l s e r v e r 等通过 c o l l a b o t a t i o n s e r v e r 融合,可以将用户的服务转移到i pv o i c e e m a i l w e b c o l a b o r a t i o n ,通过互联网进行对用户服务。 3 ii p c c 方案 3 1 1基于n b x 方案 n b x 是3 c o m 公司的i p p b x ,其为呼叫中心开发提供了t a p i 接口。为市场 7 上较为成熟的一代呼叫中心,在多个领域均有不错的市场,但是其性能和扩展性 影响了其进一步的发展。n b x 方案为第三方提供的是t a p i 标准的接口,但是接 口存在问题比较多,并且性能上存在一定的瓶颈。3 c o m 公司在n b x 的方案中有 整套的i p c c 解决方案,如图3 2 所示。 图3 - 23 c o m 的i p c c 系统图”1 f i g u r e3 - 2i p c cs y s t e mo f3 c o m 这个方案为基本的i p c c 的方案,其首先通过模拟外线介入n b x 的t a p i 接 口与i p p b x 之间采用的是私有消息。其在口语音接入上使用h 3 2 3 协议,扩展性 差。并且给予t a p i 的接口只能工作于w i n d o w s 平台,没有可移植性。自动呼叫 分配设备a c d ( a u t o m a t i cc a l ld i s t r i b u t o r ) ,也称为排队机,也由第三方厂家开发。 在实际的应用中其接入能力有限。不提供分布组网方案。 3 1 2基于a s t e r is k 的方案 a s t e r i s k 作为开源的i p p b x ,在v o i p 发展上占有重要的地位。其设计构架为 支持所有的语言介入方案,这样也限制了其在大型组网中的能力。使用a s t c t i s k 开发i p c c 的厂商,大多数为面向小型并且不完善的呼叫中心。可以从图3 3 中看 出,在a s t e r i s k 的方案中,i v r 和a c d 的处理与i p p b x 在同一个服务器上。呼叫 中心的业务开发也需要同时在1 p p b x 的数据库接口来做。这样的结果是语音接入 与呼叫中心的业务层不是相互独立的,无法在多样的环境中满足需要。对话机座 席的管理只限于在此i p p b x 上注册的话机,无法有效利用整个v o i p 网络。 图3 - 3 基于a s t e r i s k 的呼叫中心 f i g u r e3 - 3c a l lc e n t e r o fa s t e r i s k 3 2 本文设计原理及优点 本文的设计v s a p i 可以用于构建以h 3 c 公司的i p p b x ( v c x 系列,x e 系列) 和3 c o m 的m 话机为基础的呼叫中心,或者使用同样支持订阅和控制的i p p b x 和p 话机。本文研究的中间件在i p c c 中解决方案架构如图3 - 4 。 图3 4 呼叫中心解决方案架构 f i g u r e3 4v s a p ii ni p c cf r a m e w o r k 1 9 j e 夏至壅厶堂亟鲎僮j 金塞奎塞监嚣当l 捐苤数佳厘理 图中v c x 为i p p b x ,v g ( v o i c eg a t e w a y ) 将p s t n 呼叫接入i p 语音网络的 网关。m o n i t o r 班长台,a g e n t 座席,r e c o r d 记录台这些作为座席,其实平行的层 次属于。s e r v e r ( r & a c d ) 是呼叫中心的核心部分。作为此部分的接入和座席 信息获得,有本文的研究v s a p i 来提供,这样就组成了一个i p c c 网络。v s a p i 中间件是与c a l lc e n t e r 的s e r v e r 在同一个服务器上的。 本文的研究v s a p l 支持分布式的i p c c 组网,i v rs e r v e r ,a c ds e r v e r ,c r m ( c u s t o m e rr e l a t i o n s h i pm a n a g e m e n t ,客户关系管理) s e r v e r 分别位于网络的不 同服务器上。本文将v s a p i 设计为两种模式,f o rc l i e n t ( f o ri v r ) 为客户端使用, 在i p

温馨提示

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

评论

0/150

提交评论