




已阅读5页,还剩66页未读, 继续免费阅读
(计算机科学与技术专业论文)基于sip协议的视频会议客户端控制策略的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于s i p 协议的视频会议客户端控制策略的设计与实现 基于s ip 协议的视频会议客户端控制策略 的设计与实现 摘要 近年来,视频会议系统不断走向成熟。在视频会议系统中,实体 定位、会话的建立和描述是无法回避的议题。目前比较成熟的信令协 议有h 3 2 3 ,s i p 。相对h 3 2 3 而言,s i p 更加简单灵活,适应性好, 而且可以分布式控制。如何利用s i p 协议开发视频会议系统,是当前 很值得关注和深入研究的课题。 本文讨论了如何实现基于s i p 的视频会议系统。在视频会议系统 中采用s i p 协议提供信令服务,s d p 协议对会话进行描述,r t p 协议 对媒体数据进行传输。本文主要包括以下工作: f 1 ) 研究了s i p 协议,s d p 协议。分析了利用s i p 协议建立、修 改、终结过程的过程,协商媒体参数的方式和事件通知机制。 ( 2 ) 分析和改造了s i p 协议栈。其中包括实现了媒体参数协商机 制;实现了与会者列表变化事件通知机制来保持客户端与会 议服务器上的与会者列表保持同步;实现了媒体流状态变化 事件通知机制来使得客户端可以及时了解它所接收的媒体流 当前的状态。 ( 3 1 设计了视频会议系统客户端的体系结构。其中,设计了消息 驱动机制来处理上下行的事件,以此来驱动客户端完成相应 的行为;设计了用户界面子系统来完成与用户的交互。 ( 4 ) 编码实现了视频会议系统客户端。通过这项研究,验证了利 用s i p 协议开发视频会议系统的可行性和高效性。 关键字:s i p ,s d p ,呼叫,会话,协商,事件,媒体流 北京邮电大学硕士论文基于s i p 协议的视频会议客户端控制策略的设计与实现 d e s i g na n di 【p l e 住n t p 汀1 0 n0 f t 职c o n t r o lp o l i c yo f a ns i p b a s e dv i d e oc o n f e r e n c i n gc l i e n t a b s t r a c t r e c e n t l y ,t h ev i d e oc o n f e r e n c i n gs y s t e m i sb e c o m i n gm o r ea n dm o r e p o p u l a r i no r d e rt o c r e a t eav i d e oc o n f e r e n c i n gs y s t e m ,i ti ss t i l la n u n a v o i d a b l ei s s u et ol o c a t ee n t i t i e s ,c r e a t ea n dd e s c r i b et h es e s s i o n b o t h o fh 3 2 3a n ds i pa r et w oo f t h em o s tm a t u r e s i g n a l i n gp r o t o c o l sc u r r e n t l y c o m p a r e d t oh 3 2 3 ,s i pi sm o r e f l e x i b l e ,a d a p t i v e ,s i m p l e ,a n dc o u l d b e c o n t r o l l e dd i s t r i b u t i v e l y i ti sa ne x c e l l e n tw o r kt os t u d yu t i l i z i n gs i pt o d e v e l o p v i d e oc o n f e r e n c i n gs y s t e m t h i sp a p e rd i s c u s s e sh o wt od e v e l o ps i p - b a s e dv i d e oc o n f e r e n c i n g s y s t e m t h ev i d e oc o n f e r e n c i n gs y s t e ma d o p t ss i pa ss i g n a l i n gp r o t o c o l , r t pa st r a n s p o r t i n gp r o t o c o l ,s d pt od e s c r i b et h em e d i ai n f o r m a t i o no f t h es e s s i o n t h e p a d e rm a i n l y i n c l u d e st h ew o r k sa sf o l l o w s : ( 1 ) t h ep a p e r s t u d i e ss i pa n ds d p , a n da n a l y s e sh o wt o c r e a t e , m o d i f y , a n dt e r m i n a t eas e s s i o nu t i l i z i n gs i e t h en e g o t i a t i o no f m e d i ap a r a m e t e r sa n dt h ee v e n tn o t i f i c a t i o nm e c h a n i s ma r ea l s o d i s c u s s e di nt h i sp a p e r ( 2 ) t h ep a p e ra n a l y s e sa n d t h e ni m p r o v e st h es i p p r o t o c o ls t a c k t h e i m p r o v e m e n ti n c l u d e sn e g o t i a t i o n t o o l sf o rm e d i ap a r a m e t e r s , a n dt h ee v e n tn o t i f i c a t i o nm e c h a n i s m st os y n c h r o n i z et h eu s e rl i s t a n dt h es t a t u so f m e d i as t r e a m s ( 3 ) i nt h i sp a p e r , w ed e s i g nt h e v i d e o c o n f e r e n c i n g c l i e n tw h i c h m a i n l y i n c l u d e st h eu s e ri n t e r f a c ea n dt h e p r o c e s s i n g o f c o m m a n d sa n d m e s s a g e s ( 4 ) f i n a l l y , t h i sp a p e rd e s c r i b e s t h e i m p l e m e n t a t i o n o ft h ev i d e o c o n f e r e n c i n g c l i e n t o u rw o r k ss h o wt h ef e a s i b i l i t ya n d e f f e c t i v i t y o fs i p b a s e dv i d e oc o n f e r c i n gs y s t e m k e y w o r d s :s i p , s d p , c a l l ,s e s s i o n ,n e g o t i a t i o n ,e v e n t ,m e d i as t r e a m i i 一 掣z 7 4 4 8 独创| 生( 或创新性) 声明 本人声明所呈交自j 论文是本人在导师指导下进行的研究工作及议得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文巾不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育f j l 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已庄论文中作了明确的院明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担切相关责任。 本人签名;出e t 期:銎遵旦! & 关于沦文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位苴月问论文1 二作的知识产权单位属北京邮电大学;学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;字佼t q 以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文届卜保密在一年解密后适用本授权”。”味密论文注强: 本剐节论文不腻丁保裔范罔,适用本授权l 。 本人签名 导师签名 吕期 日期 2 垒匿堡墨塑! 旦一 弘班抖 北京邮电大学硕士论文 基于s i p 协议的视频会议客户端控制策略的设计与实现 第一章概述 1 1 视频会议系统发展现状 视频会议系统及其相关的技术,在其诞生之日起,在通信行业已经走过了漫 长的发展路程。从早期的传统的电路交换网络到现在的分组交换宽带网络,再到 今后前景广阔的基于软交换技术的宽带网络。视频会议系统可以说是一个经久不 衰,既传统又新颖的应用。特别是随着经济的发展和人们生活质量的提高,视频会 议系统更是随着技术的更新发展不断地应用到新的领域。现在,传统的视频会议 系统已经发展得十分完善。信令协议从h 3 2 0 到h 3 2 3 ,再到s i p ;音频编码标准 从g 7 1 1 到g 7 2 3 1 、g 7 2 9 ;视频编码标准从h 2 6 1 到h 2 6 2 3 、m p e g l 2 4 再到 h 2 6 4 。这些相关技术和标准的发展和完善,都无不从侧面说明了视频会议系统的 技术越来越成熟化,越来越完善化,标准化。 传统的电视会议是在视频终端之间直接连接数字线路来传输音频,视频,数 据的信息的。当数字传输方式产生并且逐渐普及后,点对点和点对多点的呼叫开 始得到应用。在这个阶段,视频会议系统产品正处于诸侯割据时期,各个设备生 产厂商都使用不同的数据压缩算法和通信协议。这些厂商生产的产品之间是相互 独立,无法实现互通。为了解决无法互通这问题,i t u - t 提出了h 3 2 0 标准。 h 3 2 0 是同步电路交换网上传输视频的标准,它适合于实时应用,如长时间具有 确定延时的语音、视频通讯,依赖带外信令、集中的路由控制。在h 3 2 0 协议下, 交换网络环境中呼叫的理想带宽是3 8 4 k b s ,这一速率可以以合理的成本提供高 质量的音频、视频信号。在专用的e l 、t l 网络上实现3 8 4 k b i t 秒的带宽是简单 可靠的,但在6 b 信道呼叫的i s d n 线路上则显得复杂和缺乏可靠性。为了解决这 些问题提出了h 3 2 3 。 h 3 2 3 是由i t u t 提出的在局域网上的多媒体通讯系列标准,且专门为不提 供服务质量保证的局域网而设计。尽管该协议特别为局域网定制,但它也支持在 城域网,广域网上传输视频、音频和数据。1 9 9 7 年5 月,国际电信联盟第1 5 研 究小组重新定义了h 3 2 3 ,它成为在“不保证服务质量的分组交换网上传递信息 的多媒体通信系统”的标准。h 3 2 3 是在h 3 2 0 众多要素上建立起来的,同时又 有许多扩展。这些扩展可以使之更好地在分组网络上进行传输。其他功能的增加 则是由压缩和信令技术不断发展创造的。h 3 2 3 属于应用层协议,在传输层借助 r t p r t c p 来进行语音与数据的传输。为了在分组网络中能够保证一定的服务质 量,h 3 2 3 还采用了分组头压缩技术以及不同的语音编码技术来达到更小的带宽 占用率,但是相应的延时会增加,所以需要两者均衡考虑。 北京邮【u 大学顾士论文基于s i p 协议的视频会议客户端控制策略的设计与实现 而s i p 协议( s e s s i o ni n i t i a l i z a t i o np r o t o c 0 1 ) 是由i e t f 工作组定义并 于1 9 9 9 年3 月写入r f c 2 5 4 3 。后来进行重大修改以后,综合提出r f c 3 2 6 1 。s i p 是一个应用层协议,能够创建、更改、终止一个会话。这个会话可以是视频会议、 网络电话、多媒体应用等。s i p 采用开放的文本格式,与h t t p 协议类似。s i p 采用类似于邮件地址的命名方法,如:x x x c s b u p t e d u c n 。由于s i p 协议仅仅 控制一个呼叫,对具体的会话描述,传输过程不加干涉,体现了呼叫与会话描述, 传输过程分离的特点。 s i p 还在不断的扩展和完善的过程中,随时有s i p 扩展协议加入到s i p 协议 中。来完成实现更多的功能。s i p 定义了最基本的呼叫控制泌议,如果遇到不能 完成的工作可以随时增加扩展协议,而不必重新制定新的协议。 1 2 研究背景 h 3 2 3 和s i p 的目的都是在因特网上传输音频,视频数据。h 3 2 3 和s i p 的 设计初衷都是作为多媒体的应用信令协议的,但是两者的风格截然不同。h 3 2 3 采用的是传统的实现电话信令的模式,包括一系列协议,比如q 9 3 1 ,h 2 5 4 等;而 s i p 借鉴其他互联网协议,比如h t t p ,s m t p 等的设计思想,采用基于文本的协议。 s i p 相对h 3 2 3 而言,s i p 更加简单灵活,可扩展性和兼容性好,开发和应用成本 低。虽然目前包括在中国在内的大多数国家采用h 3 2 3 作为i p 电话协议,而且世 界上还没有基于s i p 的大型网络。同样,视频会议的发展也呈现这样的局面,基于 h 3 2 3 的视频会议应用已经发展的相当成熟,然后基于s i p 协议的视频会议却还 处于种探索研究的阶段,相关的研究成果和应用还没有像h 3 2 3 那样成熟与普 遍。 由于s i p 与因特网具有天然的联系,随着因特网的深入发展,s i p 已经开始 被多种标准组织( i t u 、e t s i ) 所接受,并且分别成立了s i p 的工作组。s i p 是 一个全面的创新。它完全参照了因特网的组网方式、寻址以及编码方式,它强大 的用户定位功能,非常方便支持用户的移动。 基于s i p 组建网络为用户提供语音、数据和视频的移动多媒体应用已经开始 崭露头角。目前厂商已经推出了基于s i p 的即时信息,语音和视频等应用。如微 软的m s n 和w i n d o w sx p 内置的基于s i p 的i p 电话等。但是建立纯s i p 视讯网 络的主要挑战在于解决点到多点的会议控制以及实现同传统的h 3 2 3 视频会议 系统的互通。 目前已有标准化组织和厂商正致力于解决这些问题,例如r a d v i s i o n 公司 推出了相关的s i p 视讯产品,解决了s i p 视频终端无法实现多方会议的缺陷,同 时也实现了在同一个会议中,s i p 终端和h 3 2 3 终端的互通,大大推进了s i p 在 2 北京邮电大学硕十论文基于s i p 协议的视频会议客户端控制策略的设计与实现 视频通讯领域的应用。i e t f 也正在对s i p 的多点会控功能进行标准化。纯s i p 组网的运营模式与传统的运营模式不同,它没有长途和本地之分,主要是基于内 容或者服务的运营模式。利用s i p 可快速组网,灵活部署业务,为用户提供可移 动的视讯服务,随着相关问题的逐步解决,基于s i p 组建灵活的、可扩展的新一 代视频会议系统是一种趋势。由于s i p 协议结构的简单灵活,分布式控制,支持 个人移动性等优点日益受到重视,可以预测,在未来的宽带网络上,基于纯s i p 的 视频会议系统将得到广泛应用。 1 3 研究目的 本论文对s i p 协议的研究分析,视频会议系统模型的设计和实现需要达到的 目的如下: ( 1 ) 研究基于h 3 2 3 的视频会议系统的实现方案,对h ,3 2 3 和s i p 在视频会 议系统中的应用做比较,总结s i p 协议相对于h 3 2 3 的优势。 ( 2 ) 分析s i p 协议消息结构定义,解析和编码方式,事务管理,会话管理和媒 体参数协商的能力。总结s i p 协议所提供的信令服务适应视频会议系统 的需求。 ( 3 ) 结合s i p 协议的分析结果和视频会议系统模型,提出利用s i p 协议丌发 视频会议系统的方案。并在此基础上,分析视频会议系统对s i p 协议栈 的需求。 ( 4 ) 分析s i p 协议栈,在开源代码的基础上,根据视频会议系统对协议栈的需 求,对s i p 协议栈进行修改,以支持视频会议系统的开发。 ( 5 ) 在针对视频会议系统需求而修改过的s i p 协议栈的基础上,在w i n d o w s 平台上实现视频会议系统客户端。 在视频会议系统中,客户端为用户提供接入系统,参与会议的平台。会议服 务器对它所负责的会议内容进行管理,控制会议的开始,修改,结束,与会者信 息的维护,与会者之问消息的通信,会议事件的通知,媒体流的集中接收和转发 等。总而言之,会议服务器就担当一个多点控制单元的角色( m c u ,m u l t i p o i n t c o n t r o lu n i t ) 。那么,作为视频会议系统中的两个基本的元素,它们之间的信 令服务是如何提供的? 它们之间的媒体流传输是如何实现的? 本文中选择了 s i p 协议提供信令服务,s d p 协议描述会话,r t p 协议传输媒体流。 上面概述了利用s i p 协议开发视频会议系统的思路,下面简介各个章节的内 容。 第一章概述基于s i p 的视频会议的发展现状,研究背景和研究目的和思路。 第二章介绍和视频会议系统相关的协议的研究结果。把目前已经很成熟的 北京邮电人学碳j :论文基于s i p 协议的视频会议客户端控制策略的设计与实现 h 3 2 3 协议和s i p 协议作比较,总结s i p 协议的优势。在此基础上,结合视频会 议系统的需求,进一步分析s i p 协议,s d p 协议。 第三章提出基于s i p 协议的视频会议系统的框架,并逐层深入的介绍了利用 s i p 协议开发视频会议系统的方法:建立会话,协商媒体参数,重新协商媒体参 数,同步与会者列表,同步媒体流状态等的流程。 第四章在基于s i p 协议的视频会议系统的设计框架的基础上,介绍实现的过 程,按照软件工程的规范流程,逐一介绍需求分析,概要设计,详细设计,和编 码实现等各个阶段的细节。 第五章总结已经完成的工作和系统尚存在的不足,对今后的研究工作和方向 进行分析。 北京邮电人学硕士论文 基于s i p 讲说的视频会议客户端控制策略的设计峙实现 第二章视频会议系统相关协议的研究 视频会议发展至今已经经过3 0 多年的历程了。1 9 9 0 年推出的h 3 2 0 和t 1 2 0 系统建议,是第一代视频会议标准。从1 9 0 0 年以来,国际电信联盟的电信标准化部 门发布了一系列有关视频会议的h 系列,g 系列和t 系列标准形成了有关视频会 议的一整套标准体系。 2 1 视频会议系统及相关标准 从1 9 6 4 年贝尔实验室研制出最早的可视电话以来,视频会议系统的发展经 历了好几个阶段。就网络介质而言,从p s t n ,i s d n ,a t m ,l a n 发展到今天盛行的因 特网。在2 0 世纪9 0 年代以前,视频会议系统一直使用专用的编解码硬件和软件, 参与会议呼叫的各个会议终端必须由同一个厂商生产,否则不能正常工作。专用 产品之间不能互通,严重障碍了视频会议系统的可扩展性和系统之间的互操作 性。为了解决互通问题,i t u t 发布了一系列的视频会议标准: ( 1 ) h 3 2 0 用于i s d n 网上的群视频会议: ( 2 ) h 3 2 3 用于局域网上的视频会议: ( 3 ) h 3 2 4 用于p s t n 上的视频会议: ( 4 ) h 3 1 0 用于a t m 和b - i s o n 的视频会议。 它们中的h 3 2 0 ,h 3 2 3 已经发展成为目前最流行的视频会议标准。 2 2 h 3 2 3 和s i p 比较 s i p 和h 3 2 3 是目前媒体通信领域两个主流的信令协议。下面就h 3 2 3 和s i p 协议的结构复杂性,可扩充性,可扩展性和所支持的业务特征等方面进行比较。 ( 1 ) 复杂性 h 3 2 3 是个十分复杂的协议簇,协议规范文档本身就达到7 0 0 多页,定义了 几百种的信息单元;而s i p 协议的规范文档( 包括s d p 协议和事件通知订阅机制 规范) 才3 3 3 页,仅有3 7 个头部字段,基本的可供互操作的s i p 信令只需用4 个头 部字段( f r o m ,t o ,c a l l - i d ,c s e q ) 和3 个请求类型( i n v i t e ,a c k ,b y e ) 。 ( 2 ) 协议栈结构 h 3 2 3 协议栈如图2 1 所示,其下三层为底层协议,媒介因网络而异。h 3 2 3 的设计原则是适用于分组网络,包括语音,数据和视频及其组合的多媒体通信:目 标业务包括电话会议和电视会议:技术内容主要是分组网络上实现多媒体通信的 系统定义和控制过程。 北京邮 乜人学硕士论文基于s i p 协议的视频会议客户端控制策略的设计与实现 媒体应用终端控制和管理数据应用 g 7 x xh 2 6 x h2 2 50 终端h2 2 5 0 加密r t c p至网守信令呼叫信 h 2 4 5 媒体 ( r a s )令 信道控制 t 1 2 0 系列 r t p 彳i 可靠传输u d p可靠传输t c p 网络层 链路层 物理层 图2 1h 3 2 3 协议栈结构 s i p 协议栈的媒体传输层与h 3 2 3 相同,任选协议r s v p 用于资源预留,以保 证0 0 $ 。s i p 的定制原则是最大限度地利用已有的协议,中性的底层传输协议。由 于事务状态机有重传功能,所以首选u d p 。 ( 3 ) 信令信息格式 h 3 2 3 信息采用基于a s nl 和p e r 的二进制描述,因此需要特殊的代码生成 器和语法解析器。而s i p 则类似于h t t p 协议,采用文本表示信息。这使得在使用 功能强大的文本处理语言的情况下,代码生成和语法解析都很简单。s i p 和f t t t p 的近似性也方便了代码的重复使用,现在的h t t p 解析器稍加改动就可以得到s i p 解析器。 ( 4 ) 协议组件 h 3 2 3 的复杂性也体现在它所含协议组件的综合运用上。这些组件包括 h 2 4 5 ,h 4 5 0 等。这些协议的使用并没有明显的分界,大部分的业务要求联合使 用。使用几种协议也使得构筑系统防火墙变得复杂。而s i p 只是用个请求就可 以包含所有必须的信息,比h 3 2 3 要简单得很多。 ( 5 ) 可扩展性 在可扩展性方面,h 3 2 3 和s i p 的区别体现在以下几个方面: 多领域搜索:h 3 2 3 不提供一种在复杂的多域搜索执行环路检测的简 便方法,这就限制了它能支持的网络规模。而s i p 通过v i a 字段和类似b g p 的环 路检测算法,能有效地发现请求前传中的可能回路,无需中间服务器保留信息和 状态。 服务器处理量:s i p 允许中间服务器按状态模式和无状态模式工作。 在无状态模式下,中间服务器收到呼叫请求,执行相应操作后将请求往前传,并不 保留呼叫状态。s i p 包含足够的状态信息,可以确保响应信息的正确回传;同时, 6 北京邮电大学硕士论文 基于s p 协议的视频会议客户端控制策略的设计与实现 s i p 消息允许在u d p 上传送,而u d p 是面向无连接的,这意味着在大型骨干网上 s f p 服务器可以采用基于u d p 的无状态工作模式,这样就可以显著减少存储器容 量和计算量,提高可扩展性。h 3 2 3 则要求关口在整个呼叫期间都要保存呼叫状 态,而且其连接是基于t c p 的。另外,h 3 2 3 信息要比s i p 信息复杂,处理的工 作量大,所能处理的呼叫数也就比s i p 小,这也限制了h 3 2 3 的可扩展性。 会议规模:h 3 2 3 采用数据多播以支持多方会议,但必须由中央控制 来处理所有信令。但是,一旦执行中央控制的实体意外退出,那么整个会议将被 终止。另外,多点控制器和关口都是可选的,没有它们,h 3 2 3 就无法支持三方 以上的会议,因此,可以说多点控制器是扩大会议规模的瓶颈。s i p 的会议控制 完全是分布式的,可以不需要中央控制,这有利于扩展。而且,s i p 可以用t c p 或u d p 支持本地多播信令,允许根据任务规模进行单独的协议划分。 综上所述,h 3 2 3 和s i p 个方面的特征比较可以通过表2 1 来描述。 表2 1h 3 2 3 乖s i p 性能比较 ;詈 h 3 2 3s i p 可扩充性差好 复杂性高低 可扩展性差好 互通性好般 成熟度高一般 定义范围广有限 成本高低 可以预见,由于s i p 简单,灵活,成本低等特点,不久的将来,在视频会议 系统领域,s i p 将成为和h 3 2 3 协议相提并论的一个重要的信令协议。 2 3 s i p 协议分析 2 3 1 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 p 实体。它通常有一个与用户连接的接口。在s i p 通信 系统中,所有应用都是建立在用户代理上的。用户代理可以分为两种角色:用户 代理服务器端( u s e r a g e n ts e r v e r ) 和用户代理客户端( u s e r a g e n tc l i e n t ) 。 北京邮电大学顾士论文 基于s i p 协议的视频会议客户端控制策略的设计与实现 代理服务器( p r o x ys e r v e r ) :在整个s i p 通信系统中主要负责定位和路 由。它接收来自于用户代理或者其它代理服务器的请求,把这些请求前转到下一 个代理服务器或者目标用户代理,或者产生回应消息,按照路由发送回上跳代 理服务器。 重定位服务器( r e d i r e c ts e r v e r ) :负责对用户代理或者代理服务器的请 求进行重新定位。用户代理或者代理服务器请求的下一跳u r i 可能是不存在的, 或者是目前暂时不在该网络位置,那么重定为服务器会通过3 x x 的回应消息告诉 用户代理或者代理服务器去尝试一个新的u r i ,看看是否能够发现目标的用户代 理。 注册服务器( r e g i s t r a rs e r v e r ) :负责用户代理的注册。r e g i s t e r 消息 中包含可以直接访问该用户代理的u r i ,其它需要访问该用户代理的s i p 服务器 使用公有u r i 到定位服务器或者数据库中查询。最终得到的也是可以直接访问 目标用户代理的u r i 。 2 3 2 s i p 协议的分层描述 s i p 是一个分层结构的协议。由下至上,s i p 协议可以被分为4 层:语法编 码层,传输层,事务层,事务用户层,如图2 2 所示。 语法编码层是协议的最底层,它是通过扩展的b n f 范式来定义的。这一层 完整的定义了s i p 协议的请求回应消息的结构和每个字段的含义。 第二层是传输层,它定义了u a c 或者代理服务器如何发送请求消息,如何 接收响应消息;还定义了u a s 或者代理服务器如何接收请求消息,如何发送响 应消息。 事务用户( t r a n s a c t i o n u s e r ) 事务层( t r a n s a c t i o nl a y e r ) 传输层( t r a n s p o r tl a y e r ) 语法和编码层( s y n t a xa n d e n c o d i n g ) 图2 2s i p 协议层次结构 第三层是事务层。事务是s i p 协议的基本组成部分。它定义了在建立会话的 过程中,用户代理和状态代理服务器的所有事务行为。 事务层以上的是事务用户层。当事务用户想发送一个请求消息,它就创建一 个事务实例,然后把消息和目标i p ,端口传递给事务。事务负责把这个消息通 过代理服务器发送到目标用户代理。 北京邮电大学硕士论文基于s i p 协议的视频会议客户端控制策略的设计与实i 兕 2 3 3 s i p 消息 s i p 是基于文本的协议,其消息采用文本格式进行传送。消息的响应方式采 用请求响应的方式进行。 s i p 消息格式 一个s i p 请求消息由个请求行,几个标题头,一个空行和一个消息体组成。 图2 3 描述一个s i p 请求的格式,消息体是可选的,s i p 消息可以不携带消息体。 请求行( r e q u e s t - l i n e ) 几个标题头( s e v e r a lh e a d e r s ) 空行( e m p 哆l i n e ) 消息体( m e s s a g eb o d y ) 图2 3s i p 请求消息结构 请求行有三个元素:方法,请求的u r i ,和协议版本。方法就是请求消息的 类型。请求的u r i 指的是下一跳的u r i 。协议的版本号是s i p 2 0 。 一个s i p 响应消息由状态行,几个标题头,一个空行和一个消息体组成。图 2 4 描述了s i p 应答消息的格式。消息体是可选的,应答消息可以不携带它。 状态行( s t a m s 1 i n e ) 几个标题头( s e v e r a lh e a d e r s ) 空行( e m p l y l i n e ) 消息体( m e s s a g eb o d y ) 图2 3s i p 响应消息结构 一个状态行也有3 个元素:协议的版本号,状态码和一个原因短语,当前的 协议版本号为s i p 2 0 。 s i p 请求消息 s i p 定义了6 个标准的方法:r e g i s t e r ,i n v i t e ,a c k ,c a n c e l ,o p t i o n , b y e 。在此基础上,还定义了一些扩展的方法:r e f e r ,s u b s c r i b e ,n o t i f y m e s s a g e ,u p d a t e ,i n f o ,和p r a c k 。在视频会议系统中使用到的方法有如下 几个:r e g i s t e r , i n v i t e ,a c k ,s u b s c r i b e , n o t i f y 。下面就和视频会议相 结合,主要分析这几个方法。 9 北京邮电人学硕士论文 基于s i p 协议的视频会议客户端控制策略的设计与实脱 ( 1 ) r e 0 1 s t e r 当一个用户代理加入到s i p 通信系统,它需要使用r e g i s t e r 方法通知s i p 服务器,告诉它们用户代理当前的c o n t a c tu p , d ,和t 0 域指定的公有u p , i ,s i p 通信 系统中任何路由到该公有u r i 的消息都应该发送到该c o n t a c t u r i 。注册的过程就 是临时的把c o n t a c t u r i 和公有u r i 相互绑定。这个绑定是有时间限制的,e x p i r e s 的值指定用户代理注册的有效时间。一个视频会议应用需要加入到s i p 通信系统 中就必须事先注册。因为注册有时间限制,所以视频会议应用需要周期性的反复 注册。 ( 2 ) i n v i t e 经常用来在用户代理之间建立媒体会话。在视频会议应用中,客户端需要加 入会议,就必须先和会议服务器建立会话。它们之间的会话的建立只能由客户端 发起i n v i t e 方法来建立,如图2 4 所示。 图2 4 呼叫流程 i n v i t e 消息常常携带着一个s d p 消息体,这个消息体描述了客户端的媒体 信息。会议服务器收到i n v i t e 消息以后,在回应多个l x x 消息以后,回应一个 o k 消息,这个消息的消息体携带着会议服务器的媒体信息。到此为止,会话已 经建立,媒体协商已经完成。 ( 3 ) a c k a c k 方法是用来对i n v i t e 方法的最终响应作确认的。这个确认和前面的 i n v i t e ,o k 完成了三次握手。除了i n v i t e 方法以外,其它方法的最后回应之 后都没有a c k 。 ( 4 ) s u b s c r i b e 用户代理可以使用s u b s c r i b e 方法和另外一个用户代理建立订阅会话。在 这个会话中u a c 会收到它所订阅的u a s 的某个特殊事件的通知。s u b s c r i b e l o 北京邮电火学硕:t 论文 基于s i p 协议的视频会议客户端控制镱略的设计与实现 请求消息中的e x p i r e s 字段的值指定了订阅存在的时间,当过完这个时间以后, 订阅会话就会自动结束。如果u a c 需要继续这个订阅会话,在会话中它就要重 新发送s u b s c r i b e 消息去延长订阅存在的时间。事件通知订阅的流程如图2 5 所示。 在视频会议应用中,有两种情形下客户端需要订阅会议服务器上某些事件通 知:第一种是与会者列表变化事件的通知;第二种是某个与会者的某个媒体流状 态变化的事件通知。这两个事件在r _ f c 3 2 6 5 中没有定义,如果在视频会议应用 中需要订阅者两个事件的通知,那么就必须定义这两个事件。事件的类型由 s u b s c r i b e 中的e v e n t 字段唯一指定,在定义事件包必须定义以下几个参数: 图2 5 事件通知订阅流程 订阅事件的名称; 订阅会话缺省的存在时间; s u b s c r i b e 消息所带消息体的类型; 什么事件能够导致通知被发送;通知的消息体应该是什么内容; 通知包含完全的信息还是增最的信息; 通知的最大发送速率。 这两个事件包将在下面章节中关于s i p 协议栈的改造部分给予定义和对其 实现进行详细的描述。 ( 5 ) n o t i f y 在s u b s c r i b e 对话中,当u a s 中被订阅的某个资源的某个事件出现的时候, u a s 通过n o t i f y 方法来通知u a c 。在订阅有效期间,u a c 会不断地收到来 自u a s 的事件通知。例如,在视频会议应用中,当参加会议的人员或者与会者 的媒体信息发生变化的时候,就会导致与会者歹0 表发生变化,这时候会议服务嚣 就会发送n o t i f y 请求通知所有客户端,要求它们更新自己的与会者列表,以 和会议服务器的保持一致。 北京邮电大学硕上论文基于s i p 协议的视频会议客户端控制懿略的i 殳计与实现 s i p 响应消息 响应消息是u a s 或者代理服务器对u a c 发起的请求的回应。s i p 协议一共 右6 类戍答消息,这些应答消息根据应答状态码来分类。其中前面的5 类是从 h t t p 曲、议中借鉴过来的,最后一种6 x x 是专门为s i p 而定义的。表2 2 详细介 绍了这六种状态码。 表2 2 响应消息状态码 类型描述动作 1 x x临时通知 表明是临时通知或回应,会话还没有完全建立。 2 x x请求成功 请求已经成功,如果是i n v i t e 事务,应该回复a c k ,否 则不再重发请求。 3 x x重定向 服务器返回目标用户代理可能的地址u a c 应该使用 这个地址重新尝试。 4 x x 客户请求错误应为u a c 的缘故,请求已经出错,u a c 应该尝试重新发 起请求。 5 x x服务器错误 由于u a s 或者代理服务器的缘故,请求已经出错,u a c 应该向其他服务器重新发起请求。 6 x x全局错误 请求错误,这个请求不应该向任何服务器上尝试。 2 3 4 事务 一个s i p 事务包含一个请求和若干响应,可能是0 或多个临时响应以及1 或 多个最终响应。根据服务器和客户端的区别,i n v i t e 消息和n o n i n v i t e 消息 的区别,事务可以分为四种类型。 i n v i t ec l i e n tt r a n s a c t i o n ( i c t ) u a c 上由i n v i t e 方法发起的事务被称为i c t 。它负责i n v i t e 会话的建立。 图2 6 是i c t 的行为状态图。 n o n i n v i t ec 1 i e n tt r a n s a c t i o n ( n i c t ) 在u a c ,除了i n v i t e 方法发起的事务以外,所有的事务都称为n i c t 。它 负责非i n v i t e 会话的建立。图2 7 是n i c t 的行为状态图。 i n v i t es e r v e rt r a n s a c t i o n ( i s t ) u a s 上因为接收到i n v i t e 消息而建立的事务称为i s t 。i s t 对应于u a c 上 的i c t 。图2 8 是i s t 的事务行为状态图。 n o n - i n v i t es e r v e rt r a n s a c ti o n u a s 上因为接收到非i n v i t e 消息而建立的事务称为n i s t 。图2 9 是n i s t 的行为状态图。 北京 电大学硕士论文 基于s i p 协议的视频会议客户端控制策略的设计与实现 2 0 0 - r e s p 跃迁的拣支等瓣, 图2 6i c t 事务行为状态图 跃迁的表录安器k 图2 7n i c t 事务行为状态图 北京邮电火学硕士论文基于s i p 协议的视频会议客户端控制策略的设计与实现 州v r r e , 跃迁的表示:# 寡蓦巢 图2 8i s t 事务行为状态机 剖 佃娶叵send扫response; & 产;押; t m 删e i r l 广,一i n r o 咖t u l2 0 0 - 6 9 9 抽m t u r e q u e s t l s e n dr e s p o n s e j 产挎 1transportuerri。i、王confirmed r i m s h l 南m t u i r _ _ 、 跃迁的抵淼l 图2 9n i s t 事务行为状态机 1 4 北京邮电犬学硕士论文基于s i p 游议的视频会议客户端控制策略的设计- b :实现 2 3 5 s i p 协议在视频会议中的应用 就视频会议系统而言,系统的体系结构中,基本的元素包括会议客户端和 会议服务器。客户端是用户参加会议的接入点;会议服务器是对所有与会者的媒 体信息和媒体数据进行集中管理和转发的m c u 。一般来说,客户端和会议服务 器之间,会涉及到下面的操作: ( 1 ) 对客户端或者会议服务器进行定位; ( 2 ) 客户端加入会议,和会议服务器协商媒体参数: ( 3 ) 在会议中,客户端修改媒体参数,和会议服务器重新协商媒体参数: ( 4 ) 通知客户端当前所有与会者的信息; ( 5 ) 通知客户端当前接收的媒体流的状态; ( 6 ) 在客户端和会议服务器之间建立媒体流; ( 7 ) 客户端退出会议。 对比视频会议会话模式和s i p 的呼叫控制功能可以看出,可以利用s i p 协议 为视频会议应用提供信令服务,而r t p 协议为其提供媒体流传输服务,从而开 发视频会议系统。 2 4 s i p 协议栈 2 4 1 o s i p 协议栈 o s i p 是按照r f c 3 2 6 1 ( s i p ) 和r f c 2 3 2 7 ( s d p ) 标准,并使用标准c 编写的一个 s i p 协议栈。它是一个公开源码的免费协议栈。o s i p 协议栈结构简单而小巧,它 主要提供一些解析s i p s d p 消息的印i 和事务处理的状态机。o s i p 主要实现3 大 部分的内容: ( 1 ) 事务状态机:这属于事务层,实现了u a c ,u a s 上的4 个有限状态机 ( i c t , n i c t , i s t , n i s t ) 。完成对某个事务( 注册过程,呼叫过程等等) 状态记录, 并在特定状态下触发相应的事件或回调函数; ( 2 ) 消息解析编码器:属于解析编码层,主要实现了s i p 消息,s d p 消息, u r i 的解析和编码; ( 3 ) 工具模块:属于事务用户层,主要实现了s d p 的协商工具和对话的管理 工具。目的是为了高层应用更加方便的管理下层协议栈的事务; o s i p 协议栈的所有数据是通过一个o s i p 实例来进行管理的,这个实例中包 含了所有事务上下文数据,而事务上下文中又维护了相应的事务有限状态机。事 务用户建立o s i p 实例并且进行初始化,注册所有有限状态机的回调函数以后, 就可以开始使用o s i p 协议栈。由于o s i p 并没有为s i p 实现s o c k e t 传输层,所以 北京邮电太学硕士论文 基于s i p 协议的视频会议客户端控制策略的设计与实现 事务用户要负责s i p 消息的传输。当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- exo-α-1-4-Mannosidase-Bacteroides-thetaiotaomicron-生命科学试剂-MCE
- 滨州邹平市招聘社区工作者笔试真题2024
- 2024年滨海县事业单位招聘笔试真题
- 2025年海口市事业单位考试真题
- 2025年新能源汽车自动驾驶车辆保险理赔流程优化与科技赋能报告
- 2025年工业互联网平台微服务架构性能测试报告:边缘计算与云计算协同策略
- 平移课件导入问题
- 农发行永州市冷水滩区2025秋招笔试行测高频题及答案
- 夜间飞行的秘密课件公开
- 平湖市安全生产培训课件
- 浅谈机关干部身心健康
- 湖南省多测合一收费指导标准(试行)2024年版
- 2025年抗菌药物合理使用培训
- 期货技术指标培训课件
- 项目融资合同及还款计划安排说明
- 杜仲种植深加工项目可行性研究报告-备案立项
- 2025年乡村文化旅游发展报告:文旅融合下的乡村旅游生态旅游规划与实施研究
- 咖啡知识培训课件
- 施工进度管理的措施
- 英语教学课件Unit 2 Different families课件9
- 2025春 新人教版美术小学一年级下册致敬平凡
评论
0/150
提交评论