(计算机应用技术专业论文)nat环境下基于sip的voip+server的研究与实现.pdf_第1页
(计算机应用技术专业论文)nat环境下基于sip的voip+server的研究与实现.pdf_第2页
(计算机应用技术专业论文)nat环境下基于sip的voip+server的研究与实现.pdf_第3页
(计算机应用技术专业论文)nat环境下基于sip的voip+server的研究与实现.pdf_第4页
(计算机应用技术专业论文)nat环境下基于sip的voip+server的研究与实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)nat环境下基于sip的voip+server的研究与实现.pdf.pdf 免费下载

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

文档简介

北京邮电大学硕士学位论文 摘要 随着网络应用的快速发展,v 0 口业务也随之发展起来。但是,为缓解口地 址不够用,以及基于安全考虑而提出的网络地址翻译( n a t ) 技术却因为无法让 语音透明穿越,而成为v 。口发展中的难点问题。本文重点介绍了s i p 协议和网 络地址翻译技术,比较了v o 坤的两种主流协议s i p 和h3 2 3 ,分析了现有的几 种语音穿越n a t 的解决方案,并在此基础之上提出了不对己有n a t 设备做任何 改动,通过修改标准的s i p 系统功能,以及对s d p 协议进行扩展来实现基于s i p 协议的语音透明穿越n a t 的解决方案,并在l i r m x 平台下实现了这一系统。 【关键字】 v o i p 、s i p 、h3 2 3 、r t p 、r t c p 、s d p 、n a t 、b 2 b u a 。 第l 页共6 9 页 北京邮电大学硕士学位论文 a b s t r a c t v o i c eo v e ri p t e c h n o l o g yd e v e l o p sw i t h t h e r a p i dd e v e l o p m e n to fn e t w o r k a p p l i c a t i o n s t h et e c h n o l o g yo f n e t w o r ka d d r e s s 螽a n s l a t o r a t ) w h i c hh a sg r o w n u pf o r t h es o l u t i o no fi pa d d r s s s s h o r t a g ea n dn e t w o r ks e c u r i t yh a sb e c o m et h e p r o b l e m o ft h ed e p l o y m e n to fv o t i p , t h i sp a p e ri n t r o d u c e ds i pa n dn a t t e c h n o l o g y a n dc o m p a r e dt h em o s ti m p o r t a n tt w op r o t o c o l so f 、b 舻s t pa n dh 3 2 3 a n a l y z e d s o m ee x i s t i n gm e c h a n i s m sf o rt h et r a v e r s a lo f1 pv o i c et h r o u g hn a tw e p r o p o s e d o u rn e x , vs o l u t i o nb ym o d i f y i n ga n de x t e n d i n gt h es i pa n ds d p p r o t o c o l sa n di nt h i s s o l u t i o nt h en a ti s c o m p l e t e l yi g n o r a n to f t h o s ep r o t o c o l sw eh a v ei m p l e m e n t e d t h i ss y s t e mu n d e rt h ee n v i r o n m e n to f l i n u x 添锣v o r d s 】 v o ms i p , h 3 2 3 ,r t p , r t c en a t , s d p , b 2 b u a 第2 贾共6 9 页 北京邮电大学硕士学位论文 l - 1 研究背景 第一章前言 随着网络技术、处理器技术的快速发展,i n t e r n e t 用户正在飞速的增长,网 络通信的速度以几何缀的速度提高,同时通信费用也在大幅度的降低。毋须置疑, t n t e m e t 己瘦兔当令壁赛豫公众交换电话嚣( p u b l i cs w i t c h e d t e l e p h o n e n e t w o r k p s t n ) 以外的第二大豳际通信网络。 当蓠i n t e r n e t 蘸痰餍鼙盏广泛,麓若骨干网速率的嵩速增长,接入溺速率麓 不断提高,i n t e r n e t 上的业务正从窄带走向宽带,非实时走向实时, v b l p ( v o i c eo v e r i n t e m e tp r o t o c 0 1 ) 业务就是其中的一类重要的业务。 v o i p 是通过对语音信号避行数字化编码、压缩处理成帧,然后转换为i p 数 据包在l i p 网终上进行健输,来达到在撩网络上进荦亍谬音通信题的的披术。它漫 大的优势是熊广泛遣采用i n t e m e t 帮全球i p 互连的环境,菲常廉价的提供语音、 传真、视频和数据等业务如统一消息、虚拟电话、虚拟语音传真邮箱、查号 韭务、i n t e m e t 蜉叫孛心、i n t e m e t 呼叫警理、瞧粳会议、迄子灏务、传龚存镶转 发和各种信息的存储转发等。l l i 嚣兹在v o i p 镊域有嚣个完全熬立戆信令协议:国琢邀联电信标漆部 ( i n t e r n a t i o n a lt e l e c o m m u n i c a t i o n s u n i o n 。t e l c o m m u n i c a t i o ns t a n d a r d i z a t i o n s e c t o r ,i t u t ) 的h 3 2 3 协议簇2 1 和因特网工程任务组( i n t e r n e t e n g i n e e r i n g t a s k f o r c e ,i e t f ) 瑟s i p ( s e s s i o ni n i t i a t i o np r o t o c 0 1 ) 协殴p j | 4 5 1 。两种协议稽眈较 而言有以下几点异同: l 。 嚣+ 3 2 3 窝s i p 戆实瑗靛售令功毵基本裙澎,帮稳嚣实时绩输协议( r e a l - t i m e t r a n s p o r tp r o t o c o l ,r t p 峥j ) 作为媒体传输的协议。但两者的设计风格截然不 同,这是出于其报出的两大阵营( 电信领域与i n t e r n e t 领域) 都想沿袭自身 鹩传统。n 3 2 3 是溶国际惫联提高采的,它祀v o i p 当作是众所周知的传统电 话,只是传输方式由电路交换变成了分组交换,就如同模拟传输变成数字传 翁、弱轴魄缆抟输变残了光纤传簸。嚣s i p 受g 铡蘩子终i p 迄话馋为i n t 。m e t 上的一个应用,较其他应用( 如f t p ,e ,m a i l 等) 增加了信令和服务质慧 ( q u a l i t yo f s e r v i c e ,q o s ) 的要求。h 3 2 3 推出较早,协议发展得比较成熟; 鸯子荬采麓鼹是簧统静实瑗电话信令匏模式,便予与魂育瓣电话黼互遥,僵 2 重+ 3 2 3 慕鬟基予a s n1 ( a b s t r a c t s y n t a x n o t a i o n n o 1 ) 帮珏缩编弱疑巅静二 进制方法表示其消息。a s n 1 通常需要特殊的代码生成器来进行词法和语法 分析。而s i p 是基于文本的协议,以文本形式表示的消息的词法和语法分手厅 裁 i 蓼篱举。s 臻游怠俸部徐采霜会话描述协议( s e s s i o nd e s c r i p t i o np r o t o c o l , s d p 1 ) 进行描述,s d p 的格式也比较简单。 第6 蕊共6 9 贾 北京邮电大学硕士学位论文 3s i p 的会话请求过程和媒体协商过程是一起进行的,因此呼叫建立时间短, 而在h3 2 3 中呼叫建立过程和进行媒体参数协商的信令控制过程是分开进行 的。 4h3 2 3 为实现补充业务定义了专门的协泌,如h 4 5 01 8 1 等,而s i p 只要充分 利用己定义的头域,必要时对其进行简单扩展就能很方便地支持补充业务或 智能业务。 5h3 2 3 进行集中、层次式控制。尽管集中控制便于管理( 如便于计费和带宽 管理等) ,但是当用于控制大型会议电话时,h3 2 3 中执行会议控制功能的多 点控制单元很可能成为瓶颈。而s 1 p 类似于其他的i n t e r n e t 协议,设计上就 是为分布式的呼叫模型服务的,具有分布式的组播功能。 总之,h 3 2 3 符合通信领域传统的设计思想,进行集中、层次控制,采用h3 2 3 协议便于与传统的电话网相连。s i p 模式的优点是与i n t e r n e t 紧密结合,在风格 上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,适于开发新的、与 互联网结合的语音应用;其缺点是在组网、管理、运营、计费方面的考虑还有待 成熟,在与传统p s t n 网的互联互通方面还有待完善。但我们应该看到s i p 简单 灵活、分布式控制等优点。随着软交换等技术的发展,s i p 必将取代h3 2 3 ,成 为邛领域内运用最广泛的信令控制协议。 1 2v o i p 关键技术及所面临的问题 1 2 1v 0 讲关键技术 传统的p 网络主要是用来传输数据业务,采用的是尽力而为的、无连接的 技术,因此没有服务质量保证,存在分组丢失、失序到达和时延抖动等情况。数 据业务对此要求不高,但话音属于实时业务,对时序、时延等有严格的要求。因 此必须采取特殊措施来保障一定的业务质量。v o i p 的关键技术包括信令技术、 编码技术、实时传输技术、服务质量( q o s ) 保证技术、以及网络传输技术等。 1 控制信令技术 媒体的传输技术保证了话音的传输,而控制信令技术保证电话呼叫的顺利实 现和话音质量,并且可以实现各种高级的电话业务。目前被广泛接受的v o i p 控 制信令体系包括i t u 的h 3 2 3 系列和i e t f 的会话初始化协议s i p 0 1 。 2 媒体编码技术 话音压缩编码技术是i p 电话技术的一个重要组成部分。目前,话音和图像 压缩技术发展十分迅速,已经研究开发出很多高效率的压缩编码技术。 话音技术还包括静音检测技术和回声消除技术。静音检测技术可以有效剔除 静默信号,从而使话音信号占用的带宽要求进一步降低;回声消除技术利用数字 滤波器技术来消除对通话质量影响很大的回声干扰,保证通话质量。这点在时延 相对较大的分组网络环境中尤为重要。 1 1 第7 页共6 9 页 l l 豪酆毫失学硕士攀位绝文 3 服务质量( q o s ) 保证技术 在话音和多媒体通信的服务质量方面存在标准统一问题。迄今较普遍采用资 源预露协议( r e s o u r c e r e s e r v a t i o n p r o t o c o l ,r s v p 9 1 ) 和用于业务质量监控的实 时传输控箭协议( r e a l + t i m et r a n s p o r tc o n t r o lp r o t o c o l ,r t c p 6 玲来麓免网络镧 塞,保障通话质量。 4 i n t e r n e t 话音分缍馋输技术1 在i p 网中传输层有两个并列的协议:t c p 和u d p 。t c p 是酉i 向连接的,它 提供离可靠性缀务;u c p 是无连接懿,它捷供蕙效率黥蔽务。高可靠诖静t c p 用于一次传输爱交换大量报文的情况,高效率的u d p 用于一次交换少量的报文 或实时性要求较高的情提。 媒体实时传输技术,主要采用实时传输协议r t p 。r t p 提供具有实时特征的、 端到端的数据传输业务,可以月来传送声音和图像数攥。通常r t p 的协议数攫 单元楚用u d p 分组来墩载静。而且为了尽量减少时延,话音净倚通常都很斑。 下图表示一个i p 话音分组的结构,图中i p ,u d p 和r t p 的控制头都按最小长度 诗舅。 r”1r一 l i p 头 l u d p 头 1r t p 头i v o i c ep a y l o a d l r a i n 2 0 字聱r a i n 8 字节 r a i n 1 2 字节1 0 或2 0 字节 图1 1 基于r t p 的i p 话音分组 囊上蚕露爵着基,这耱礤话音努缝兹开镑很大,约惫6 6 8 0 。于是有 入提出了组合r t p 分组的概念,如下阌所示: | i p u d p 头r t p 头 多个逶鼹 袋爝这翳缀合复恩方法戆确可以大大提毫传辕效率,但是嚣羲迸秃标准。 r t p 本身没有提供任何确保及时传送的机制,也没有提供任何传输质量保i 正 的规制,n n a 务度量完全由下层网络敬质量表决定。溺对,r t p 不保涯数据包 按序号传送,静使下层阏络提供可靠性传送,也不能保证数据包的顺序到达。包 含在r t p 中的序列号就是供接收方重新对数据包排序之用。 与r t p 福配套的翳一个协议是r t c p 协议。r t c p 是r t p 的控制协议,它 用于监视业务质量并与正在进行的会话者传送信息。 1 2 2v o i p 发展所1 勖i 临的问题 当前的i f 协议( i p v 4 ) ,是在1 9 8 1 年由r f c 7 9 1 标准化的。尽管它现在已非 常成熟,取得了巨大的成功,但是随菪用户数爨的增加,网络带宽的成倍增长, 新的鹰灞需求瓣出现,已经暴露岛其当初设计不是的遗方,逐渐箍出过时的征兆。 第8 受共6 9 贾 北京邮电大学硕士学使论文 i p v 4 瑟蕊鲍最大酶离题楚缝垃爨源耗尽淄题,这个蠢题慧i p v 4 本身存在豹缺貉 只有对其进行较大的修改才能解决。 疑2 0 遣纪9 0 年代轫嗡亲,窝际上已经开始讨论下一代豹羚汝议 零系了。 经过多年的讨论,各种方案的比较权衡,下一代的i p 协议体系目前已缀基本制 定完成,并分配了版本号6 ,称为i p v 6 1 】。但是由于i p v 6 要考虑到与现有网络 的兼容褴问题,以及其体实施过程中的一些不可知因素,砰v 6 取代i p v 4 还需要 州日。 为了缓解臻缝址短缺的压力以及鏊于安全考虑,人稍提出了网络嫩圭丘翻译 ( n e t w o r ka d d r e s st r a n s l a t i o r ,n a t i “】【1 2 】) 技术,该方案能有效缓解i p 地址不够 分配觞耀题,具体办法戆是在露邦网终申侵鼹内部她垃,通过n a t 把虑部遗址 翻译成合法的r p 地址在i n t e r n e t 上使用。这样做可以在定程度上缓解i p 地址 不够用的问题,由于其简单易实现,现在已经得到广泛的应用。 然而,存在n a t 设备后的i p 语音和视频设备仅有内部口地址,这些地址在 公众网上是不可路由的,这样就严重地制约了i p 电话和视频会议的应用。解决 这令霾纛龟裁畿为诵臻发震中鬃关重要豹事清。 董3 研究曩的 我们研究的曝的是设计出基于s i p 协议的,在不对n a t 设餐的配鬟进行任 何修改、不对其有n a t 功能静设备避行任何升缀的前爨下,使得语音透明通道 n a t 的解决方案。并开发出一套符合r f c 标准的软件,完成n a t 环境下口终 漩之闰羹楗遘售瓣测试。本论文薅重于蘩予s i p 瓣v 。蛰s e r v e r 黢繇究与实王燕。 1 4 实现情况 经过几个月的研究和开发,我们最终在l i n u x 平台上完成了该软件。在经过 了一系列戆测试,著彀褥了琵好豹效票盾,我弱议为,本方案及实褒其有以下功 能: n a t 蠹裙s i p 终湍透过来叁p r o x ys e r v e r 蓑鲮信惑鑫动识烈n a t 环境, 如果在n a t 内部,s i p 终端通过与p r o x ys e r v e r 建立t c p 常连接的方式 进行通信。 在s i p 系统中加入b 2 b u a ( b a c k - t o - b a c ku s e ra g e n t ) 服务器【i 3 | ,完成 对预付费用户的计费并通过对s d p 的扩展来完成n a t 内外部礤终端的 语音透信。 修改s i p 系统中的p r o x ys e r v e r ,加入对n a t 的判断,并在注册时修改 n a t 内部鹰户黪联系售惑。 r e g i s t e r r e d i r e c ts e r v e r 在用户注册时生成每个用户的s u b s c r i b e r c o n t a i n e r ,其中龟含联系每个鹰户鲍所簿盼路由信息。当用户发起呼日l 1 请求时,该服务器生成角户的c o n t a c tl i s t 并完成下一跳寻址功能。 第9 页凝6 9 页 北京邮电大学硕士学位论文 第二章协议简介 要解决语音穿越n a t 问题,主要问题实现信令和媒体流的通信。下丽重点 会绥本论文蹶涉及鳃信令控毒l 协议s i p ,会话接述协议s d p ,酷及媒体数实时传 输协议r t p 。 2 1s i p 协议概述 s i p 诲议是一个甭予建立,鬻改释终止多媒体会话瀚应用罄控制协议雕“。 它是i e t f 多媒体数据和控制体系结构的一部分。该协议大量借浆了成熟的超文 本健竣协议( h y p e rt e x tt r a n s f e rp r o t o c o l ,h t t p ) 蛰议,荠且其有易扩展,易 实现等特点。 2 1 1s i p 功能概述 1 4 歪翔s i p 名字掰熬含漆一一瘸子发越会话。它可以甏来剑建、修改以及终结 多个参与者参加的多媒体会话进程。参与会话的成员可以通过组搔方式、单播连 劂或者两卷结合的形式进行通信。 s i p 中有客户机和服务器之分。客户机是指为了向服务器发送请求而与服务 器建立连接的应用程序。用户助理( u s e r a g e n t ) 和代理( p r o x y ) 中含有嚣户机。 藏务器蔻耀于商客户祝笈出的请求提供骚务并圄送应答静应用程序。共有涸类基 本服务嚣: 籍户助理服务器( u s e ra g e n ts e r v e r ,u a s ) :当接蓟s i p 请求时它联系 用户,并代表用户返回响应。 代理鼹务器( p r o x ys e r v e r ) :代表其它客户祝发起请求,既充当鼹务器 又充当客户机的媒介程序。在转缴请求之前,它可以改写原请求消息中 的态容, 懿定向服务器( r e d i r e c ts e r v e r ) :它接收s i p 请求,并把请求中的原地 业映射成零个或多个薪地址,返嬲绘客户楗。 淀册服务器( r e g i s t e rs e r v e r ) :它接收客户机的注册请求,完成用户地 皴的注赡。 用户终端程序往往需要包措用户助理客户机和用户助理服务器。代理服务 嚣、重定向服务器和注鼹服务器可以作为公众性的网络服务嚣。在s i p 中还经裳 疆到定位服务器的概念,但是定位驻务器不属于s i p 服务。 s i p 在设计上充分考虑t x t 其它协议斡扩展适应性。它支持诲多辨地皱描述 帮寻丘,包括用户名 主祝圭| 垂垃、被嘲号码 p s i n 网关魄址、酱通电话的插述 等。这样,s i p 主叫按照被叫地址就可以识别出被叫在传统电话网上的位凝,然 第1 0 虿其6 9 页 北京邮电大学硕士学位论文 后通过一个与传统电话网相连的网关发起并建立呼叫。s 1 p 最强大之处就是用户 定位功能。s i p 本身含有向注册服务器注册的功能,也可以利用其它定位服务器 d n s ( d o m a i nn a m e s y s t e m ) 、l d a p ( l i g h t w e i g h td i r e c t o r y a c c e s sp r o t o c 0 1 ) 等 提供的定位服务来增强其定位功能。 s i p 共规定了六种信令:i n v i t e 、a c k 、c a n c e l 、o p t i o n s 、b y e 、 r e g i s t e r 。其中i n v i t e 和a c k 用于建立呼叫,完成三次握手,或者用于建 立以后改变会话属性;b y e 用以结束会话;o p t i o n s 用于查询服务器能力; c a n c e l 用于取消已经发出但未最终结束的请求;r e g i s t e r 用于客户向注册 服务器注册用户位置等消息。 s i p 协议支持三种呼叫方式:由用户助理服务机( u s e r a g e n t c l i e n t ,u a c ) 向用户助理服务器( u a s ) 直接n 乎n t t ,由u a c 在重定向服务器的辅助下进行重 定向呼叫和由代理服务器代表u a c 向被叫发起呼叫。 s i p 协议可以与其它协议相互合作,例如:r s v p 用于预约网络资源,r t p 用于传输实时数据并提供服务质量( q o s ) 反馈,r t s p ( r e a l t i m es t r e a m p r o t o c 0 1 ) 用于控制实时媒体流的传输,s a p ( s e s s i o na n n o u n c e m e n tp r o t o c 0 1 ) 用于通过 组播发布多媒体会话,s d p 用于描述多媒体会话。但是s i p 协议的功能和实施并 不依赖这些协议。 2 1 2s i p 协议操作概述刚1 本节对协议的基本操作加以介绍。在s i p 环境中,主叫和被叫是靠s i p 地址来 识别的。发出s i p 呼n q 时,主叫首先查询合适的服务器的位置,然后发出一个s i p 请求。最普通郇j s i p 操作就是邀请( i n v i t e ) 。除直接到达被叫外,s i p 请求也 可能被重定向或引发出一串由代理发出的新的请求。用户可以f 。然焉伐瑾餮务器蠢定位鼹务返回翁遗址发送一个s i p i n v i t e 请求( 第4 步) ,用户助理服务器提醒被叫( 第5 步) 并返回一个成功指 示绘代理服务器( 第6 步) 。代理服务器肉主叫返固成功消息( 第7 步) 。圭叫再 向被b q 发送一个a c k 请求( 9 9 8 步) 表示确认该潸怠。注意:a c k 请求也可以不 经过代理服务器宜接发送给被叫。所有的请求和响应拥有相同的c a l l i d 。 s i p 响应 非s i 晰观 图2 2s i p 重定向服务器例 土鹜中,重定向疆务器浚n r n v i t e 请求( 第1 步) ,阐样与定位服务器联系 ( 第2 、3 步) 。然后重定向服务器将得到的地址返回主叫( 1 9 4 步) ,而不是亲 霆与鼓叫联系。主b 薅一个a c k 遗求寒确认( 第5 步) 。然螽主撬鬟穗霹粒c a l l i d , 更高的c s e q 甸第一个服务器返回的地址发如一个新的请求( 第6 步) 。在图例中 呼叫成功( 第7 步) 。主叫和被叫腭一个a c k ( 第8 步) 完成握手过程。 2 1 2 5 用户定位 在整个呼叫过程中,被叫会在不同的终端系统间转移。它可以向s n 。l r 务器 动态注毋爨蕊位置。定位服务器可戆会鼹刘其它鲶协议,捌? t l f i n g e f ( r f c l 2 8 8 ) , r w h o i s ( r f c 2 1 6 7 ) ,l d a p ( r f c l 7 7 7 ) ,基于组播的协议或者是独立于操作系统 的机制来动态确定用户所在的终端系统。由于用户可能同时在多个主机登聚,或 者定位鼹务器含鸯不确凌信惑,定位鼹务器可能会返回多个遣蛙信惑。s i p f l 受务 器会将结果合并成食有零个或多个地址的列表。 不屡鳃暇务器对牧到瓣恁蛙列表会有不霹静撩捧。s p 霆定窝驻务器将缝鸯上 列表作为c o n t a c t 头域返回给客户。s 婵代理服务器可以顺序地或并行地呼叫这些 辩1 4 页共6 9 页 北京邮电大学硕士学位论文 地址直到呼叫成功( 2 x x i 应) 或者被叫拒绝呼叫( 6 x x d 向应) 。采取顺序试呼 的方式,代理服务器就可以实现“任意点传播”( “a n y c a s t ”) 服务。 如果s i p 代理服务器要转发一个s i p 请求,它必须将自己加入该请求的v i a 头域 之首。v i a 头域保证了响应能够按原路返回,同时也可以避免循环请求。为了使 内部路由信息对被叫和外部网络屏蔽,在响应返回时每个经过的主机必须把它对 应的v i a 域去掉。每个代理服务器都必须检查是否在向v i a s e n t b y 、v i a r e c e i v e d 或v i a m a d d r 参数中列出的主机发送请求。 一个s i p 请求可能经过多个代理服务器。如果其中一个将请求分支( 即代理 服务器接收到邀请后发出多个请求) ,则某个客户可能独立地接收到同一个请求 的多个拷贝。每个拷贝含有相同 c a l l 一1 3 3 。用户助理客户必须返回状态码相同的 响应。重复的请求不被认为是错误。 2 1 2 6 对现有会话的改动 在某些情况下,需要对现有会话的参数作改动。这是靠重发i n v i t e 请求来实 现的。重发的请求包含新的或不同的消息头或消息体来传输新的信息,但必须用 同一个c a l l - i d ,并且它t 5 勺l c s e q 要比以前从该客户向该服务器发送的所有请求的 c s e q 都高。 例如,正在交谈的双方还想加一个用户,组成多点会议以提高效率。其中的 一方用新的组播地址向第三方发出邀请,同时用新的多点会话描述和原来的呼叫 标识向第二方发送一个i n v i t e 请求。 2 1 2 7 注册服务 客户可以发送r e g i s t e r 请求使代理服务器或重定位服务器知道它的地址 也可以用这个消息向服务器建立它的呼叫特性。 2 1 3s i p 协议特性【3 1 1 4 1 2 1 3 1 最小状态 一个会议会话或呼叫包括一个或多个s i p 请求一响应事务。代理服务器并不 一宴要保持呼叫的状态,当然也可以保持。服务器可以将定位服务的结果缓存, 以提高效率。 第1 5 页共6 9 页 北京邮电丈学硕士学位论文 2 1 3 2 底层协议中枢 s i p 协议对下蕊韵传输菇稚瘸络瑶作激小的程设。下麓可以提供可靠的或不 可靠的数据报或字节流服务。 在困特网土,s i p n 以使用t c p 绒u t d p 作为传输涛汉。u d p 允许应甭程序更仔 细地控制消息的定时和重传、允许进行并行查询而无须为每一个漪求建立t c p 连 接并且允许使用缎罐( m u l t i c a s t ) 。 路由器更注意监听s i pu d p 数据报,而t c p 协议使得消息包通过防火墙或 n a t 更窖翁。 如果使用t c p 协议,s i _ p 可以用一条或多条连接与服务器联系或改变现有会话 煦参数。嗣一s 弹呼叫的不月请求可以酌愤采鼹一条永久连接或多条连接。 2 1 。3 3 基于文本 s i p 协议使用基于文本的i s 0 1 0 6 4 6u t f 一8 格式,便于用j a v a 、p e r l 、t c l 等语言实糯,矮子诿试,跫重要敬爱使s 器j # 常灵滔劳荔予扩震。麓予s i p 访1 议是 用于启动多媒体会议而不是传输多媒体数据,使用文本格式带来的开销不会很 大。 2 1 4s i p 统一资源定位器( s i pu r l ) 1 3 1 1 4 】 s i p u i u 用于s i p 消息中,表示请求的发起者( f r o m ) 、当前目的地( r e q u e s t - u r i ) 积最终接嫂豢( t o ) ,还攫予指定鬣定是遮垂( c o n t a c t ) 。s i pl r k l 瞧可 阻嵌) 、w e b 页面或其它超链接表示某个用户或服务可以通过s i p 来访问。当用于 超链按时s i pu r l 表示使用i n v i t e 方法。 在s i p 消息中,u r l 用来指定请求的源和目的地址、重定向地址和请求的当 前地址。邋常所有的这些域都包含s i pu r l s 。 s i pb n l 是不隧分大小焉的。对u r l 的比较包括所有的参数。 s i p 头域可以镪含n o n 。s i pl r r l 。例如:如栗个电落瞧s i p 缓入禹黪稠, 那么s i p f r o m 头域就可能包含p h o n e u r l 。 2 1 5s i p 消息概述l 4 s i p 是旗子文本夔按议,搜露t s 0 1 0 6 4 6 字符集u 疆一8 播式。发遴方必须c r l f 结柬一行,接收方也必须亲自解析c r 和l f 寐得到行结束符。除了字符集的区别 以外,s i p 协议的许多消息谬法和头域与h t t w t 1 棚同,需要注意的是,s i p 协议 并不是h t t p 游议的扩震。 第1 6 趸共5 9 页 北京邮电大学硕士学位论文 与h t t p 不同,s i p 也可以用u d p 。多个s i p 事务可以通过同一个t c p 连接或 u d p 数据报传送。一个u d p 数据报的长度( 包括所有报头) 不应大于通路的最大 传输单元m t u ( m t u 可知) 或1 5 0 0 字节( m t u 不可知) 。 s 口消息可以是客户发给服务器的请求或服务器对客户的响应。 s 口消息= 请求j 响应 s i p 请求和响应消息都使用r f c 8 2 2 规定的通用消息格式,包括开始行、一个 或多个消息头、一个空行( c r l f ,表示消息头的结束) 以及一个可选的消息体。 s i p 消息= 开始行 t 消息头 空行( c r l f ) 消息体】 开始行= 请求行i 状态行 消息头= ( 通用头 j 请求头 i 响应头 l 实体头) 为了保持健壮性,消息开头的空行( 包括c r l f 、c r 或l f ) 都必须忽略。 2 1 5 1 请求 s i p 请求的格式如下: s 邛请求= 请求行 + ( 通用头 i 请求头 l 实体头) 空行( c r l f ) 消息体 请求行由m e t h o d 标记开始,后跟r e q u e s t u i u 和s i p v e r s i o n ,最后以c r l f 结束。元素之间用s p ( 空格符) 隔开。除了最后的结束符以外不能出现c r 或l f 。 请求行= m e t h o ds p r e q u e s t u r is ps i p v e r s i o nc r l f 2 1 5 1 2m e t h o d m e t h o d 是如下定义的: m e t h o d 2 “i n v i t e ”r a c k ”r o p t i o n s ”r b y e ”l “c a n c e l 叩r e g i s t e r 第1 7 页共6 9 页 托京邮电大学硕士学位论文 不被蠲户找鬈残重定舞服务器支持静方法将蔹认为是0 p 罩1 0 n s 方法。m e t h o d 标记是大小写敏感的。 l 。臻v l t 嚣 i n v i t e 方法表示请求用户或服务加入一个会话。在消息体中包括对被叫地址 懿箍透。在点对点筑呼g q 中,主g 指出它蛰鎏接竣葶羹发送豹媒体类型隧及宅翻塞毫 参数。一个成功的响应必颁在消息体中指出被叫希望接收的媒体类型,也可以包 括被叫希摄发送的媒体类型。并不是所有的的会话描述格式都能够指示发送媒体 类型。 如果被叫已经加入了这个会议,它可以自动返回一个2 0 0 ( o k ) 响应。 如果粥户助理服务器收到一个c a l l i d 、c a l ll e g 相同僵c s e q 更高的i n v i t e 消 息,它必须检查其中的v e r s i o n 标记( 如果没有的话检查会话描述的内容) ,以及 其稳靛头城,看楚否茇生了改变。鲡栗头城发生改变,蔫声裁理盛须更薪所有由 该头域产生的内部状态和信息;如果会话描述发生改变,用户助理服务器必须在 经过用户的确认威调整相应的会话参数。 s i p 代理,重定向服务器和用户助理客户和服务器必颡支持i n v i t e 方法。 2 a c k a c k 请求用来确认客户已经收到了个对i n v i t e 请求的最终响应( a c k 只 帮i n 、q t e 关司镬麓) 。2 x x 稳应巍鬟户载理窖户确议,其它最终哟应壶第一个 收到该响应的代理或用户助理客户确认。 a c k 谴求麴瀵惑 奉中可以包含一令供被l q 捷蠲酶最终会话摇述符。努莱a c k 消息体为空,被叫使用i n v i t e 请求中的消息描述。 安露果一个代理黢务器在发, 警3 x x 、4 x x 、5 x x 、6 x x 魏应之后收至l 一个a c k 请求,它必须判断这个请求是给它的还是给其它用户助理绒代理服务器的。判断 的标准是t o 头域中的t a g 标记。如浆a c k 中t o 头域的t a g 标记与响应中t o 头域的 t 蜷标记程疆配,并量两拿淆惑中瀚f r o m ,c s e q 茅g c a l l i d 头城都穗两,那么这个 a c k 就是给它的。否则,这个a c k 应该继续转发。 s i p 代理,重定蠢骚务器帮爰户劝理客户帮蔽务器必须支持a c k 方法。 3 0 p t i o n s 该请求用于查询被叫或莱个崩户助理服务器莳能力。收到该消息的实体发回 个包含其能力集的响应。代理和蘑定向服务器只需转发该请求。 s i p 代瑷驻务嚣,重定向服务器、用户助理客户和服务器以及注册成员必须 支持o p t i o n 方法。 4 b y e 第1 8 委冀6 9 页 北京邮电大学硕士学位论文 用户助理客户用b y e 消息告诉服务器它希望结束呼叫。该消息可由主叫或被 叫发出。呼叫的一方必须在释放呼叫前发出该消息,收到该消息的一方必须停止 向对方发送媒体流。 如果i n v i t e 消息中包含了c o n t a c t 头域,被叫应将b y e 消息发给该头域中指 出的地址,而不是发给f r o m 头域中的源地址。 s i p 代理服务器必须支持该消息。重定向服务器、用户助理服务器应该支持 该消息。 5 c a n c e l c a n c e l ;? 肖息用来撤销一个正在等待的请求。但不影响已完成的请求( 已经 得到服务器最终响应的请求被认为是己完成的请求) 。 用户助理客户或代理客户可以在任何时候发出该请求。特别是代理客户,在 并行查询过程中收到一个2 x x 或6 x x 响应后,应向其它未响应的服务器发 c a n c e l 。代理服务器在收到c a n c e l 后应把它转发到其它有等待请求的服务 器。 c a n c e l 请求中的c a r t m ,t o ,f r o m 以及c s e q 的数字部分与它要撤销的消 息的对应部分相同,但c s e q 的m e t h o d 元素设为c a n c e l 用以区别。 如果该事务存在,收到c a n c e l 消息的重定向或用户助理服务器返回一个 2 x x ( o k ) 响应,否则返回4 8 1 ( 事务不存在) 。 s i p 代理服务器必须支持该消息。所有其它s p 服务器应该支持该消息。 6 r e g i s t e r 用户使用r e g i s t e r 消息将t o 头域中列出的地址注册到服务器上。用户可以 在启动时用组播的方式向“s i pb u p te d uc n ”发送r e g i s t e r 请求。用户助理客户 可以在该地址侦听,获得其它用户的位置,但它们不响应该消息。因为请求是按 到达顺序被处理的,用户应该在收到一个注册请求的响应以后再发送另外一个请 求。 我们定义“a d d r e s s o f - r e c o r d ”为服务器用来识别注册者的地址。它的格式通 常是“u s e r d o m a i n ”,而不是“u s e r h o s t ”。 r e g i s t e r 消息的头域包含如下内容: t o :包含需要新建或更新注册的a d d r e s s o f - r e c o r d 。 f r o m :包含登记负责者的a d d r e s s o f - r e c o r d 。 r e q u e s t - u r i :包含注册的目标,即注册成员的地址。 c a l l i d :所有由同一个客户发出的注册请求应含有相同的c a l i - - i d 。 c s e q :具有有相同c a l l - - l d 的请求的c s e q 应该是递增的。 c o n t a c t :所有将来向t o 域中的地址发出的请求都应重定向到这个头域中包含 的地址。如果请求中不包含c o n t a c t 头域,则原注册保持不变。 第1 9 页共6 9 页 北京邮电大学硕士学位论文 服务器可以选择任意时间段作为注册的生命期。到期的未更新的注册会被自 动清除。对注册请求的响应中包含e x p i r e 头域指出该次注册的生命期,默认值是 - - d , 时。客户也可以在注册请求i 拘e x p i r e 头域中提出对生命期的要求。服务器实 际采用的生命期不能超过客户请求的值。 客户可以发出一个期望生命期为零,c o n t a c t 头域是“”的注册请求来实现 注销。 r e g i s t e r 请求消息应该经过认证,因为它可以用来重定向以后的请求。 7 r e q u e s t - u r i r e q u e s t u r i 是一个s i pu r l ,用来表示被某个请求寻址的用户或服务。与t o 头域不同,它可能会被代理改写。 r e q u e s t u r j 不能包含t r a n s p o r t p a r a m ,m a d d r - p a r a m ,t t l p a r a m 或h e a d e f s 元素。 如果有也将被忽略。 代理或重定向服务器可以用r e q u e s t u r j 和头域中的信息来处理该请求,可能 会改写r e q u e s t - u r i 。 r e q u e s t - u r i 的主机部分通常与接收到该请求的服务器的主机名是一致的,如 果不一致,服务器应该将该请求代理到其它服务器上或者返回一个4 0 4 ( 找不到) 响应。 如果服务器收到的请求消息中含有不可认的r e q u e s t u r i ,它必须返回一个 4 0 0 ( 错误请求) 响应,即使请求的t o 头域是可认的。因为代理服务器只负责处 t 里r e q u e s t - u r i ,而t o 头域具有端到端的含义。 8 s v e r s i o n 请求和响应消息都包含s i p 的版本号。目前的协议规定使用:“s i p 20 ”。 2 1 5 2 响应 s i p 响应消息的格式如下 响应= 状态行 + ( 通用头 i 请求头 实体头) 空行( c r l f ) 消息体 状态行由s i p - v e r s i o n 标记开始,后跟s t a t u s c o d e 和r e a s o n p h r a s e ,最后以 c r l f 结束。# 元n z 间n s p ( 空格符) 隔开。除了最后的结束符以外不能出现 c r 或l f 。 状态行= s i p v e r s i o ns ps t a t u s ,c o d es pr e a s o n p 1 1 r a s ec r l f 第2 0 页共6 9 页 l 京郎窀大学硕士学篷蟪文 s t a t u s - c o d e 是一个3 位数,用来表示请求的结果。r e a s o n p h r a s e 是对状态码 篱短黪文本接述。 r e a s o n p h r a s e = 8 状态码的最高位表示响应的类别。s i p 20 中包括6 癸响应: i x x :进展拔告( i n f o r m a t i o n a ) 一溃求已收到,正袁进一步处理 2 x x :成功( s u c c e s s ) 请求成功 3 x x :重定向( r e d i r e c t i o n ) 还需进一步操作才能完成请求 4 x x ;客户臻镑误( c l i e n t + e r r o r ) 一谤求包含无效语法,或滋务器不接受 5 x x :服务器端错误( s e r v e r e r r o r ) 服务器错误 6 x x :全局错误( g l o b a l f a i l u r e ) 任何服务器都不接受该请求 s 聆响应码是可扩展的。应厢程序不必理解全部的响应码,但必须理解响应 的类别。不理解的响应码可以简单地认为是该类的第个响应码( x 0 0 ) 。 2 2s d p 协议概述【1 6 1 2 2 1 功能概述 会话启动协议是在r f c2 3 2 7 中定义的。r f c 摘要中写到:“s d p 题为了会话 通告、会话邀谤零其媳澎式懿多媒体会诿痘动褥整述多媒体会话遭程。”1 7 爨键 多媒体会议就怒多媒体发送者、接收者和从发送者到接收者的数据流的集合。视 频电话会议呼叫就是多媒体会话的一个典型例子。i m e r n e t 一般采用松弛方式实 凌多媒俸会议,莫主癸梳睾l 赣楚遥过会话公告( s e s s i o na n n o u n c e m e n t ) 褥会议瓣 地点、时间、媒体和建立等信息告知每个可能的参会者。用户收到此公告,获 知会议艟多播缀地址和数据流敬l r d p 端口号后,藏可以自由的麓入此会

温馨提示

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

评论

0/150

提交评论