




已阅读5页,还剩52页未读, 继续免费阅读
(信号与信息处理专业论文)基于ipv6的sip视频电话研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
理工大学硕士学位论文 摘要 随着网络和多媒体技术的不断发展,v o i p 技术己经在i n t e m e t 中得到了广 泛的应用。v o 口不仅仅是狭义上的m 电话,而且是一个能够提供实时语音、视 频多媒体通信业务的综合性应用平台。目前的v o l p 系统一般是基于i p v 4 的, 但是传统的i p v 4 有着它固有的一些缺陷和局限性,作为解决这些缺点的根本技 术i p v 6 正在不断建设和发展中。如何将v o l p 系统从i p v 4 网络移植到i p v 6 网 络中,成为当前相关业务的一个研究重点。此外,传统的i p 系统大多是基于 h 3 2 3 协议的,h 3 2 3 协议符合电信领域传统的设计思想,但不适合管理环境开 放、分布式的i n t e m e t 网络。而s i p 协议是由i e t f 组织针对i n t e m e t 的网络结 构提出的一种新的信令协议。同h 3 2 3 协议相比,s i p 协议具有实现简单、灵 活度高、易于扩展和移动性好等优势。 本文着重研究了s i p 协议和i p v 6 的网络开发技术,设计并实现了在i p v 6 网络下的s i p 视频电话系统,主要研究工作如下: 1 ) 简要介绍了v o i p 的体系结构和i p v 6 的技术特点,并分析比较了h 3 2 3 和s i p 两种信令技术。 2 ) 结合o s i p 和e x o s i p 协议栈源码,深入研究了s i p 协议的功能结构、实 现原理、消息机制和信令流程等,分析协议栈关键模块、语法解析器和事务状 态机的实现机制,并在此基础上建立了s i p 电话模型。 3 ) 分析了i p v 6 网络下的s o c k e t 编程技术,并探讨了i p v 6 和i p v 4 下应 用程序的兼容性解决方法。最后,应用o s i p 2 及相关协议栈,在w i n d o w s 平台 下设计并实现了i p v 6 网络下的s i p 视频电话系统。 本系统能够在新一代的i p v 6 网络下运行,实现了将v 0 m 系统从i p v 4 网络 移植到i p v 6 网络的目标,使得v o i p 系统能够充分利用i p v 6 地址量、服务质量、 安全性等方面的优点,从而更加完善和稳定。此外,本系统采用简单灵活、易 于扩展和移动性更好的s i p 协议栈来实现,从而v o i p 开发者和运营商能够借鉴 这种方法,更加灵活和方便地提供多样的业务和增值服务。 关键词:视频电话,口v 6 ,s i p ,s o c k e t 理工大学硕十学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fn e t w o r ka n dm u l t i m e d i at e c h n o l o g y , t h ev o i p t e c h n o l o g yh a sb e e nw i d e l ya p p l i e di nt h ei n t e r a c t v o i p n o to n l yr e f e r st oi p t e l e p h o n ei nn a r r o ws e n s e ,b u ta l s or e f e r st oac o m p r e h e n s i v ea p p l i c a t i o np l a t f o r m w h i c hs u p p l i e sr e a l - t i m ev o i c e ,v i d e om u l t i m e d i as e r v i c e s p r e s e n tv o l ps y s t e m g e n e r a l l ya r eb a s e do ni p v 4 ,b u tt r a d i t i o n a li p v 4h a ss o m ed e f e c t sa n dl i m i t a t i o n s , i p v 6t e c h n o l o g i e si sb e i n gb u i l ta n dd e v e l o p e d ,a sas o l u t i o no ft h e s ep r o b l e m s h o w t ot r a n s p l a n tv o i ps y s t e m sf r o mi p v 4n e t w o r kt oi p v 6n e t w o r kb e c o m eaf o c u so f r e l e v a n tr e s e a r c hd o m a i n f u r t h e r m o r e ,m o s to fp r e s e n tv o l ps y s t e m si nu s ea r e b a s e do nh 3 2 3p r o t o c o l ,w h i c hc o n f o r m st ot h et r a d i t i o n a ld e s i g ni d e ai n c o m m u n i c a t i o nf i e l d s ,b u td o e s n ts u i tf o rt h eo p e n e da n dd i s t r i b u t e di n t e r n e t s i pi s p r o p o s e db yi e t fa san e ws i g n a l i n gt e c h n o l o g y , w h i c hi sc o n f o r m i n gt oi n t e r n e t c i r c u m s t a n c e c o m p a r i n gt o h 3 2 3p r o t o c o l ,s i ph a st h ea d v a n t a g eo fe a s y i m p l e m e n t a t i o n ,h i g hf l e x i b i l i t y , s c a l a b i l i t ya n dm o b i l i t y s i pp r o t o c o la n dn e t w o r kd e v e l o p i n gu n d e ri p v 6i sr e s e a r c h e di nd e t a i li nt h i s t h e s i s v i d e op h o n es y s t e mb a s e d0 1 1s i pu n d e ri p v 6i sd e s i g n e da n di m p l e m e n t e d t h em a i nr e s e a r c hc o n t e n t so ft h i sd i s s e r t a t i o na r er e c a p i t u l a t e da sf o l l o w s : 1 ) v o i pa r c h i t e c t u r ea n dc h a r a c t e ro fi p v 6t e c h n o l o g yi si n t r o d u c e d a n dt w o v o l ps i g n a l i n gt e c h n o l o g y , h 3 2 3a n ds i pp r o t o c o l ,a r ed i s c u s s e da n dc o m p a r e d 2 ) t h e f u n c t i o n s t r u c t u r e ,r e a l i z a t i o np r i n c i p l e ,m e s s a g em e c h a n i s ma n d s i g n a l i n gf l o wo fs i pp r o t o c o la l er e s e a r c h e d ,a n dt h ei m p l e m e n t a t i o no ft h eo s i p m o d u l ep a r s e ra n ds t a t e m a c h i n ea r ea n a l y z e db a s e do no s i po p e ns o u r c e 3 ) s o c k e tp r o g r a m m i n g t e c h n o l o g y i s a n a l y z e d a n ds o l u t i o n st ot h e c o m p a t i b i l i t yo fa p p l i c a t i o nu n d e ri p v 4a n di p v 6n e t w o r k f i n a l l y , u n d e rw i n d o w s p l a t f o r m ,v i d e op h o n es y s t e mb a s e do ns i pu n d e ri p v 6i sd e s i g n e da n di m p l e m e n t e d , w i t ho s i p 2a n dr e l e v a n tp r o t o c o l sa p p l i e d t h i ss y s t e mc a l lr u no v e ri p v 6 ,t h en e x tg e n e r a t i o no fi n t e r a c tp r o t o c 0 1 i t 理1 = 大学硕士学位论文 r e a l i z e st h et a r g e to ft r a n s p l a n t i n gv o l ps y s t e m sf r o mi p v 4n e t w o r kt oi p v 6n e t w o r k , s ot h a tv o l ps y s t e mc a nt a k ea d v a n t a g eo fi p v 6o na s p e c to fa d d r e s sc a p a c i t y , q u a l i t y o fs e r v i c ea n ds e c u r i t y , w h i c hm a k ei tm o r ep e r f e c ta n ds t a b l e b e s i d e s ,s i pp r o t o c o l i s a p p l i e di n t h i ss y s t e m ,w h i c hi ss i m p l e ra n df l e x i b l e ,e a s i e rt oe x p a n d ,b e t t e r m o b i l i t y t h ev o l ps y s t e ms u p p l i e ra n do p e r a t o rc a nt a k et h i sa sr e f e r e n c e ,a n d s u p p l yd i v e r s i f i e da p p r e c i a t i o ns e r v i c em o r ef l e x i b l ya n dc o n v e n i e n t l y k e yw o r d s :v i d e op h o n e ,i p v 6 ,s i p , s o c k e t m 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:粒日期:孳:笸 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时 授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论 文,并向社会公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) :删 导师( 签 鞭一s b 武汉理工大学硕士学位论文 1 1v o l p 产生的背景 第1 章引言 i n t e m e t 商业化以后,它在全世界,特别是发达国家迅速发展起来。i p 电话 作为一种联机应用,最早起源于美国。1 9 9 5 年,微软公司推出了世界上第一个 网络会议软件,即后来的n e t m e e t i n g 软件,同年,以色列的v o c a l t e c 公司也推 出了网络电话软件i n t e m e tp h o n e 1 1 。 经过几年的发展,i p 电话从当初的p c 到p c 单一形式,己经发展到今天 包括p c 到p c ,p c 到电话、电话到电话等多种业务形式。妒电话承载网络可 以是i n t e r n e t ,也可以是遵循t c p i p 协议的专用网或h l t r a i l e t 【引。i p 电话为什么 会在这样短的时间里引起全球电信界的关注,并且正在或将要对传统的通信方 式产生巨大的冲击。这除了口电话采用的语音压缩和统计复用等技术节约带宽 从而造成运营成本降低外【3 1 ,还有以下两个原因: 第一、电话业务历来都是各国管制最为严格的业务,但对于i p 电话各国大 多采取宽容甚至是扶植态度,这样庞大的通信市场潜力,必然吸引众多传统和 新型的电信公司加入到碑电话的研究、开发和经营队伍中【4 1 。 第二、各国国际长途电话费存在着严重的不平衡性,且国际长途电话业务 在很多国家都是垄断经营的。在国际电信业务垄断经营国家,新的电信或i s p 运营者迫切希望进入这一高利润的垄断经营领域,m 电话的应运而生正好为其 提供了一条有效途径1 5 1 。 随着口技术的发展和日趋成熟,以p 分组技术为核心,融合语音、视频 和数据的一体化网络是网络演进的趋势。伴随这种演进,i n t e r n e t 在i p 电话、口 传真、p 会议电视等领域不断取得新的应用,v o 口技术就是在这种情况下发展 起来的【6 j 。 v o l p ( v o i c eo v e ri n t e r n e tp r o t o c 0 1 ) ,顾名思义,就是基于口网络的语音通信。 但现在的v o 口不仅仅是传统意义上的i p 电话,而且是一个能够提供实时语音、 视频多媒体通信业务的综合性应用平台。它能将基于w e b 的新业务和传统电 话智能网业务的优势结合起来,提供创新的综合业务和功能,开拓更为广阔的、 武汉理t 大学硕士学位论文 新的市场空间。v o i p 可以用于许多领域,包括:i n t e m e t 传真业务、i n t e r n e t 可 视电话会议系统、i n t e r n e t 呼叫中心、内部网和企业网i p 电话等同。随着v o l p 技术和标准的不断成熟,它可望成为下一代电信基础设施结构的核心,能使未 来各电信业务统一到i p 网络上【引。 1 2v o l p 的研究现状和发展 目前国内外对v o i p 的研究主要集中于以下方面: ( 1 ) 宽带接入市场及增值应用 目前在中国市场上,用户的宽带应用还主要集中于高速因特网接入服务, 而多媒体信息应用还有着广阔的市场发展前景【9 1 。 ( 2 ) 软交换技术 v o i p 技术的发展趋势是将网络设备的控制部分和媒体处理部分分离,即呼 叫控制和媒体处理分别由独立的物理实体来完成,从而可以清晰地将网络划分 为控制流层面和媒体流层面【1 0 1 。 目前我国的i p 电话体系采用的是h 3 2 3 ,因此国内对s i p 协议的研究与开 发相对较少。而近几年,s i p 协议在北美及欧洲得到了迅速发展,已经开始为 许多标准化组织所接受和支持,如n us gi i 的p i n t ,s g l 6 的s i p h 3 2 3 互通 组织、欧洲标准化组织e t s it i p o n 的s i pb o f 等【1 1 】。由于s i p 具有广阔的市 场前景,目前已经许多家公司在开发生产支持s p i 的v o i p 设备,s i m e n s 、3 c o m 、 思科、微软、h u g h e s ,s s sn e t w o r k s ,c o mg a t e s 等厂商都推出了基于s i p 的 解决方案,部分厂商已推出基于s i p 的v o i p 服务器【1 2 】,而r a d v i s i o n 已经开 发出相应的协议栈,该公司的v o i p 产品极大地丰富了基于s i p 协议产品在视频 通讯领域地应用,不但解决了s i p 视频终端无法实现多方会议的缺陷,同时实 现了在同一个会议中,s i p 终端和h 3 2 3 终端互通这一革命性的应用,从而极大 地扩展了s i p 协议在视频通讯领域的生命力。而微软在x p 中支持s i p 协议则 大大推动了s i p 的应用【1 3 j 。 在当前市场上对可视通讯的软件很多,最早的有微软公司的n e tm e e t i n g , 由于出现较早,那时没有好的图像压缩算法,所以图像传输数据量太大,而且 目录服务器是微软公司的,在国内的用户不多1 1 4 1 。随后,腾讯公司的q q 也加 入了视频通讯功能,它最初是在微软公司的n e t m e e t i n g 上做的二次开发,这些 2 武汉理工大学硕士学位论文 系统都是以软件实现编码和解码【1 5 1 。这些产品有的运行在p c 机上以软件的形 式提供给用户;也有基于专门的终端的,主要都是基于h 3 2 3 协议的。 1 3v o l p 的体系结构 v o i p 体系结构如图1 - 1 所示。 g c p m e g a c 信令 : 服务质量 :传输媒体 ll 。h 3 2 3 ) ,q t p 、陋厂d t q d 、i 厂d 心,d 、 厂d t ,、d 、i 学阡剁哆 。,0 1 r lk 1 3 r i k 3 vr l 1 乙r i ir t p 、 ,b 一i li r - , - t c p 丫 u d p 。 p1 i p v 4 ,i p v 6 ilj ( 冲p )( a a l x )( 肿) l、,j ( s o n e t )( a t m )( 鼬e m e t )( v 9 0 ) 图1 - 1v o i p 的体系结构 这个体系结构根据t c p i p 网络的四层模型划分为应用层、传输层、网络层 和接入层。应用层中1 1 r u t 的h 3 2 3 标准和i e t f 的会话初始协议s i p 是v o i p 的控制信令技术,用来保证会话的顺利进行,媒体描述协议s d p 配合s i p 完成 媒体协商;媒体网关控制协议m g c p 负责口网和p s t n 网之间的信令协议转 换;实时流控制协议r t s p 用于控制对存储在库中的多媒体信息的实时操作, 它主要用于语音信箱的控制;资源预留协议r s v p 和实时传输控制协议r t c p 主要是用于服务质量q o s 方面;媒体编码主要指各种音视频压缩编码标准,如 3 应用层 传输层 网络层 接入层 武汉理t 大学硕士学位论文 h 2 6 3 视频压缩标准,g 7 x x 音频压缩标准。压缩后的多媒体数据经实时传输 协议r t p 封装后传输。网络传输层主要由t c p 和u d p 协议负责为上层提供服 务。网络层是由口协议负责路由,它包括现在使用的i p v 4 和下一代的i p v 6 。 接入层技术比较宽泛,它包括了数据链路层的点到点协议p p p ( p o i n tt op o i n t p r o t o c 0 1 ) 、物理层的同步光网络技术s o n e t ( s y n c h r o n o u so p t i c a ln e t w o r k ) 、异 步转移模式技术a t m ( a s y n c h r o n o u st r a n s f e rm o d e ) 、以太网技术e t h e r n e t 以及 v 9 0 调制解调器标准1 1 6 j 。 1 4 本文研究意义和研究内容 目前口网络普遍采用的m v 4 协议本身存在许多不足,如地址资源行将枯 竭、对现有路由技术的支持不够、无法提供多样的q o s 、地址分配不便等。虽 然世界各国的研究人员就此提出了一些方法来缓解,其中比较重要的是三种技 术:子网掩码、v l s m 、c i d r ,但始终不能从根本上解决问趔1 7 1 。i p v 6 正是在 这种情况下应运而生,它克服了很多i p v 4 的缺点,i p v 6 取代i p v 4 势在必行。 虽然视频电话在i p v 4 网络下的各项技术越来越趋于成熟,但是,传统的 i p v 4 网络由于众多缺陷,将逐渐的升级到i p v 6 。很显然,如何在下一代互联网 平台上平滑移植已经在i p v 4 获得巨大成功的应用、服务和开发丰富多彩的基于 i p v 6 的新应用已经成为推动i p v 6 产业化的关键所在,无疑地,基于i p v 6 的视 频电话、视频会议业务必将是今后通信业务的重点【1 8 】。 另外,传统的视频电话大多是基于h 3 2 3 协议的,而随着i n t e m e t 的发展而 兴起的s i p 协议在诸多方面都要优于h 3 2 3 协议,国外已经有一些个人或者团 体在s i p 协议栈方面做了研究,而国内s i p 协议栈的研究与应用也正在逐渐兴 起,将s i p 协议应用到视频电话势必是以后v o i p 发展的趋势【”】。 课题主要研究内容如下: ( 1 ) 概述v o l p 体系结构,对两种v o l p 信令技术h 3 2 3 和s i p 进行了分析比 较,并给出了基本对比结论。 ( 2 ) 深入研究s i p 协议的功能结构、实现原理、消息机制和信令流程等,结 合开源s i p 协议栈o s i p 的源码,重点分析s i p 协议分层结构的具体实现问题。 掌握了s i p 协议栈关键模块事务有限状态机的设计思想和实现过程,在此基础 上运用该技术设计实现了s i p 用户代理功能实体。 4 武汉理工大学硕士学位论文 ( 3 ) 分析了i p v 6 的技术特点,总结了i p v 6 下的s o c k e t 编程技术,并探 讨了i p v 6 和i p v 4 网络下应用程序的兼容性问题的解决方法。 ( 4 ) 在前面工作基础之上,应用o s i p 协议栈,在w i n d o w s 平台上设计与实 现了一种l p v 6 下的视频电话方案,该方案按照v o i p 关键技术将系统分解成三 大子模块:s i p 信令模块、编解码模块和实时传输模块,然后对各模块分别设 计与实现,最后组合成一个完整系统。 采用的技术路线:应用o s i p 协议栈、运用t c p 口协议和s o c k e t 套接字 技术,在w i n d o w s 环境下用v c + + 6 0 开发视频电话系统。 5 武汉理t 大学硕士学位论文 第2 章s i p 协议栈研究与o s i p 的分析和使用 2 1s i p 协议介绍 目前v o i p 应用的通信协议主要是h 3 2 3 协议和s i p 协议。h 3 2 3 建议是 h u t 第1 6 研究组于1 9 9 6 年通过的,2 0 0 1 年2 月又通过了它的第四版h 3 2 3 v 4 。 这个建议为通过基于i p 的网络进行音频、视频和数据通信的应用,提供了一个 可遵循的国际标准【2 0 j 【2 1 1 。 s i p 称为会话初始协议,是由互联网工程任务组i e t f 于1 9 9 9 年提出的一 个基于口网络,特别是在i n t e r n e t 网络环境中实现实时通信应用的一种信令协 议。在基于s i p 协议的应用中,每一个会话可以是各种不同的数据,如普通的 文本、经过数字化处理的音频、视频数据等,应用具有很大的灵活性【2 2 1 。s i p 协议在很大程度上借鉴了其他广泛应用的i n t e r n e t 协议,如肌和s m t p 。和 这些协议一样,s i p 协议也采用基于文本的编码方式,这也是s i p 协议同多媒 体通信领域内其他标准相比的显著特点之一【2 3 1 。 s i p 采用客户机j j 艮务器的工作方式。因此s i p 网络包含两类组件:用户代 理( u s e ra g e n t ) 和网络服务器( n e t w o r ks e r v e 0 1 2 4 1 。 用户代理包括用户代理客户端( u a c ) 和用户代理服务器( u 蝎) 。u a c 用于 向u a s 发起呼叫请求,并与被叫建立连接;u a s 响应u a c 的呼叫请求,并给 予应答,内容包括接收、重定向或拒绝呼叫请求1 2 5 1 。u a c 和u a s 是用户端必 备的应用程序,由它们完成呼叫的发起和连接的建立和释放。u a 一般运行在 用户设备之上,如p c 或嵌入式终端设备。 网络服务器包括代理服务器( p r o x ys e r v e r ) 、重定向服务器n i l ( r e d i r e c ts e r v e r ) 和注册服务器( r e g i s t r a r ) 。它们可共存于一个设备,也可以分布在不同的物理实 体中陋j 。它们一起构成网络服务,支持s i p 建立会话。 h 3 2 3 与s i p 的设计初衷都是作为多媒体通信的应用层控制协议,因此它 们能实现的信令功能基本相同,都利用r t p 作为媒体传输协议,但是两者的设 计风格截然不同。h 3 2 3 采用传统的实现电话信令的模式,而s i p 则借鉴其他 互联网协议【2 7 】。如h 1 曙等的设计思想,用基于文的协议。下面对这两种协议 6 武汉理工大学硕十学位论文 进行比较: h 3 2 3 协议是为在传统电信网络上实现多媒体业务而制定的,试图把i p 电 话当作传统电话,只是传输方式发生了改变,由电路交换变成了分组交换。因 此沿用了集中管理与控制的工作模式,并且采用了公用号码、静态组网的方式, 与p s t n 的组网方式接近【矧。h 3 2 3 虽然协议比较成熟,但由于其复杂性和难 实现性,在应用过程中逐渐暴露出问题。 s i p 协议是专门针对i p 电话提出的一种信令协议,它侧重与将口电话作为 i n t e m e t 上的一个应用,较其他应用( 如f t p ,e m a i l 等) 增加了信令和q o s ( q u a l i t y o fs e r v i c e ) 的要求。s i p 协议一方面借鉴许多己有的互联网标准和协议的设计思 想,在风格上遵循简练、开放、兼容和可扩展等原则【2 9 】;另一方面,它也考虑 对传统公共电话网的各种业务,包括智能网业务和i s d n 综合数字网业务的支 持。s i p 的号码与p s t n 不同,可以直接转化为互联网域名,因而更接近于互 联网的使用习惯,属于动态组网方式f 硎。与h 3 2 3 相比,s i p 具有如下优势: ( 1 ) 基于文本、协议简单灵活; ( 2 ) 呼叫建立时间短( 会话请求和媒体协商一起进行) ; ( 3 ) 采用分布式的控制模式,将网络设备的复杂性推向了网络终可以不保 留呼叫状态; ( 4 ) 易于扩展和扩充; ( 5 ) 移动性好。 2 2s i p 的呼叫过程 s i p 通信采用客户机和服务器的方式进行。u a c 向u a s 构建、发送s i p 请 求,后者处理请求,回送应答并提供服务。s i p 支持三种呼叫方式:由u a c 向 u a s 直接呼叫;由u a c 进行重定向呼叫;由代理服务器代表u a c 向被叫发起 呼叫【3 。s i pi p 电话系统的呼叫路由过程是先由用户代理发起和接收呼叫,再 由代理服务器对呼叫请求和响应消息进行转发,然后注册服务器接受注册请求 并更新定位服务器中用户的地址映射信息。s i p 的通信机制的核心是请求消息 与响应消息的互相协商【3 2 j 。图2 1 是一个在两个用户代理之间通过代理服务器 进行s i p 呼叫的完整过程。 7 武汉理工大学硕士学位论文 i n v i t e ( 1 ) 1 8 0r i n g ( 4 ) 2 0 0o k ( 6 ) i n v i t e ( 2 ) 1 8 0r i n g ( 3 ) 2 0 0o k ( 5 ) a e k ( 7 ) 流媒体通信( 8 ) , ,j r 一 一- i r s , b y e ( 9 ) 2 0 0o k ( 1 0 ) 图2 - 1s i p 呼叫流程 下面是对图2 - 1 呼叫实现过程的具体描述: ( 1 ) 呼叫方发送一个i n v i t e 请求给代理服务器,因为呼叫方并不知道被呼叫 方的口地址。而代理服务器能够从注册服务器中查询到被呼叫方的口地址。 ( 2 ) 查询到被呼叫方的口地址后,代理服务器将刚才收到的请求转发给被 呼叫方。 ( 3 ) 当接收到i n v i t e 请求后,被呼叫方能够从请求中知道该请求来自代理服 务器。它将个1 8 0 的响铃消息回传给代理服务器。 ( 4 ) 代理服务器收到被呼叫方的1 8 0 响铃消息后,将该消息转发给呼叫方。 ( 5 ) 被呼叫方另外再发一个2 0 0o k 消息给代理服务器,表示可以进行随后 的通话操作。 8 武汉理工大学硕十学位论文 ( 6 ) 代理服务器同样将在2 0 0o k 消息转发给呼叫方。这个o k 消息中包含 有被呼叫方的i p 地址。 ( 7 ) 现在,呼叫方越过代理服务器能直接发送一个a c k 消息给被呼叫方。 ( 8 ) 呼叫方与被呼叫方进行媒体流的通信。这两段之间主要是由r t p r t c p 来完成的。在实际生活中就是双方开始进行通话。 ( 9 ) 当结束媒体流的通信后。被呼叫方直接发送一个b y e 消息给呼叫方。 ( 1 0 ) 呼叫方收到b y e 消息后,也直接回传给一个2 0 0o k 消息给被呼叫方。 一次成功的呼叫就到此结束。 2 3o s i p 的分析和使用 2 3 1o s i p 和e x o s i p 在w i n d o w s 下的编译 l i n u x 下o s i p 的编译使用应该是很简单的,其安装说明文档里也介绍的比 较清楚,这里主要就o s i p 在w i n d o w s 平台下v c 6 0 开发环境下的使用做出描 述。 先创建新工程,网上许多文档都介绍创建一个w i n 3 2 动态链接库工程,这 里也一样,创建一个空白的工程保存。 同样,将o s i p 2 版本3 0 1s r c 目录下的o s i p p a r s e r 2 目录下的所有文件都拷 到刚创建的工程的根目录下,在v c 6 上操作:p r o j e c t a d dt op r o j e c t f i l e s 将所 有的源程序和头文件都加入到工程内,保存工程。 这时,可以尝试编译一下工程,会得到许多错误提示信息,其内容无非是 找不到o s i p p a r s e r 2 x x x x x h 头文件之类。 处理方法:在l i n u x 下,一般是将头文件、h b 库都拷到u s r i n c l u e u s r l i b 之 类的目录下,c 源程序里直接写# i n c l u d e 时,能直接去找到它们,在 v c 里,同样的,最简单的方法就是将o s i p 2 源码包中的i n c l u d e 目录下的 o s i p p a r s e r 2 目录直接拷到w i n d o w s 下默认包含目录即可,这个目录在v c 6 的 t 0 0 1 o p t i o n s d i r e c t o r i e s 里设置,( 也可以不用拷贝文件,直接在这里把o s i p 源 码包所在目录加进来就可以了) ,默认如果装在c 盘,目录则为c :w r o g r a m f i l e s w l i c r o s o f lv i s u a ls t u d i o w c 9 8 i n c l u d e 。 这时,再次编译工程,顺利编译,生成o s i p p a r s e r 2 d l l ,但是没有o s i p p a r s e r 2 1 i b 9 武汉理工大学硕士学位论文 文件。生成o s i p p a r s e r 2 1 i b 最简单的方法,直接再创建一个工程,同上述创建动 态链接库方法,创建一个w i n 3 2 静态链接库工程,直接编译,即可得到 o s i p p a r s e r 2 1 i b 。 上面,得到了o s i p 的解析器开发库,下面再编译完整的o s i p 协议栈开发 库,同样照上述方法,分别创建动态链接库工程和静态链接库工程,只是要拷 的文件换成s r c 下的o s i p 目录下文件和i n c l u d e 下的o s i p 目录,得到o s i p 2 皿 和o s i p 2 1 i b 。 在编译o s i p 2 d l l 这一步可能会再次得到错误,内容含义是找不到链接库, 所以,要把前面编译得到的o s i p p a r s e r 2 1 i b 也拷到o s i p 工程目录下,并在v c 6 中操作:p r o j e c t s e t t i n g s l i n k 中的o b j e c t l i b r a r ym o d u l e s :k e r n e l 3 2 1 i bu s e r 3 2 1 i b x x x 1 i b 之类的内容最后增加:o s i p p a r s e r 2 1 i b 。保存工程后再次编译,即可成功 编译o s i p 2 d l l 。 至此,得到了完整的o s i p 开发库,使用时,只需在程序里包含o s i p 的头 文件,工程的链接参数里增加o s i p p a r s e r 2 1 i b 和o s i p 2 1 i b 即可。 下面验证一下得到的开发库,并大概了解一下o s i p 的语法规范。 在v c 里创建w i n 3 2 控制台程序工程,将l i b o s i p 源码包的s r c 目录下的t e s t 目录内的c 源程序随便拷一个到工程时,直接编译( 工程设置里照前文方法在 l i n k 选项里增加o s i p 2 1 i b ,o s i p p a r s e r 2 1 i b 引用之前成功编译得到的静态库文件) 就可以运行( 带参数运行,参数一般为一个文本文件,同样从t e s t 目录的t c s 目录里拷一个与源文件同名的纯文本文件到工程目录下即可) 。 该目录下的若干文件基本上是测试了o s i p 的一些基本功能函数,例如u r i 解析之类,可以大概了解一下o s i p 的语法规范和调用方法,同时也能校验一下 之前编译的o s i p 开发库能否正常使用,成功完成本项工作后,可以进入下一步 了。 而要成功编译e x o s i p ,直接在x p s p 2 上,用v c 6 ,虽然使用了e x o s i p 推荐的w i n s o c k 2 h ,但是会得到一个s o c k a d d r _ s t o r a g e 结构不能识别的错误,因 为v c 6 自带的开发库太古董了,需要升级系统的p l a t f o r ms d k 。 成功安装后编译前需加o s i p m t 宏,以启用线程库,否则在程序中使用 e x o s i p 库时会出错,而编译时也会得到许多函数未定义的w a r n i n g 提示,编译 得到e x o s i p 2 1 i b 供使用,当然,在此之前需要成功编译了o s i p 2 和o s i p p a r s e r 2 , 而在之后的实际使用时,发现o s i p 也需要增加o s i pm t 宏,否则o s i p m t 1 0 武汉理t 大学硕士学位论文 调用o s i p 的线程库时会出错,所以需要重新编译e x o s i p 了,因为e x o s i p 是 基于o s i p 的( 同上方式创建静态和动态链接库工程,并需在l i n k 中手工添加 o s i p 和o s l p p a r s e r 的l i b 库) 。 创建新工程,可以是任意工程,从最简单的w i n 3 2 控制台程序开始,为了 成功使用o s i p ,需要引用相关库,调用相关头文件,经过多次试验,发现需要 引用如下的库: e x o s i p 2 1 i bo s i p 2 1 i bo s i p p a r s e r 2 1 i bw s o c k 3 2 l i bi p h l p a p i l i bw s 2 _ 3 2 l i b d n s a p i 1 i b 。 其中,除了上面编译得到的三个o s i p 库外,其它库都是系统库,其中有一 些是新安装的p l a t f o r ms d k 所新提供的,至此,就有了一个简单的开发环境了。 2 3 2 应用o s i p 建立s i p 电话模型 先进行一个简单的纯s i p 信令( 不带语音连接建立) 的u a c 的s i p 终端的 程序开发试验( 即一个只能作为主叫不能作为被叫的s i p 电话模型) ,创建一个 m f c 应用程序,对话框模式,照上面的说明,设置工程包含上面得到的o s i p 的相关开发库及s d k 的一些开发库,并且由于默l i b c 的冲突,需要排除 m s v c r t d 于f 发库( 其中d 代表d e b u g 模式下,没有d 表示r e l e a s e 模式下) , 直接使用e x o s i p 的几个主要函数就可以创建一个基本的s i p 电话模型。 其主要流程为: 初始化e x o s i p 库一启动事件监听线程一向s i pp r o x y 注册一向某s i p 终端 ( 电话号码) 发起呼叫一建立连接一结束连接。 初始化代码: i n tr e t = o ; r e t = e x o s i p _ _ i n i to ; e x o s i ps e tu s e r _ _ a g e n t ( ”# # t e s t ”) ; i f ( 01 = r e 0 a f x m e s s a g e b o x ( ”c o u l d n ti n i t i a l i z ee x o s i p l n ”) ; r e t u mf a l s e ; 武汉理工大学硕士学位论文 r e t = e x o s i p _ l i s t e n _ _ a d d r ( i p p r o t o _ u d p , n u l l , 0 ,a f _ i n e t , 0 ) ; i f ( 01 = r e t ) e x o s i p _ q u i to ; a f x m e s s a g e b o x ( ”c o u l d n ti n i t i a l i z et r a n s p o r tl a y e r l 、n ”) ; r e t u mf a l s e ; 启动事件监听线程: a f x b e g i n t h r e a d ( s i p _ _ u a c ,( v o i d 宰) t h i s ) ; 向s i p p r o x y 注册: e x o s i p _ c l e a r a u t h e n t i c a t i o n _ i n f 0 0 ; e x o s i p _ a d d _ _ a u t h e n t i c a t i o n _ _ i n f o ( u n a m e ,u n a m e ,u p w d ,”m d 5 ”,n u l l ) ; r e a l _ _ s e n d _ r e g i s t e r ( 3 0 ) ; 发起呼叫( 构建假的s d p 描述,实际电话使用它构建r t p 媒体连接) : o s i p _ m e s s a g e _ t 宰i n v i t e = n u l l ;尸呼叫发起消息体幸 i n ti = e x o s i p _ c a l l _ b u i l d _ i n i t i a l _ i n v i t e ( & i n v i t e ,d e s t _ c a l l ,s o u r c e _ c a l l ,n u l l , ”槲t e s td e m o l ”) ; i f ( i ! = 0 ) a f x m e s s a g e b o x ( ”i n t i a li n v i t ef a i l e d l n ”) ; ) c h a rl o c a l i p 1 2 8 ; e x o s i p _ _ g u e s s _ l o c a l i p ( a f _ i n e r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 稀土色层工培训考核试卷及答案
- 糖料作物栽培工5S管理考核试卷及答案
- 护理社区护理题库大全及答案解析
- 二级建造师安全b证题库2025及答案解析
- 塔式起重机司机安全理论考试题库及答案解析
- 证券从业资格考试68分及答案解析
- 护理程序作业题库及答案解析
- 特种设备安全监察员b证考试题库及答案解析
- 2025年抗菌药物专项培训考核试题及答案
- 精准解析2025年中级经济师考试试题及答案
- 脑梗死恢复期护理查房范文讲课件
- 2024-2025学年浙江省S9联盟高一下学期4月期中考试英语试题(解析版)
- JG/T 441-2014额定电压450/750 V及以下双层共挤绝缘辐照交联无卤低烟阻燃电线
- 2025年人教版初中物理实验室教材使用计划
- 铁路旅客运输服务普速列车设备设施规范课件
- 外聘电工安全协议书范本
- COPD相关环状RNA circ_0000378通过调控miR-3529-3p抑制苯并a芘致COPD人支气管上皮细胞增殖的机制研究
- 自卸车基础知识培训资料
- 依伏卡塞片-药品临床应用解读
- 脱“瘾”而出 拒绝躺“屏”-小学生手机管理防沉溺家长会
- 高效团队合作与沟通技巧事务文书
评论
0/150
提交评论