(通信与信息系统专业论文)基于sip协议综合通信终端的设计与实现.pdf_第1页
(通信与信息系统专业论文)基于sip协议综合通信终端的设计与实现.pdf_第2页
(通信与信息系统专业论文)基于sip协议综合通信终端的设计与实现.pdf_第3页
(通信与信息系统专业论文)基于sip协议综合通信终端的设计与实现.pdf_第4页
(通信与信息系统专业论文)基于sip协议综合通信终端的设计与实现.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着分组交换技术和计算机技术的发展,软交换将逐渐取代电路交换成为 电信网络的未来。在软交换环境下,电信网络除了提供传统的语音业务还应该 能够提供视频、数据和智能等业务,但这也对新一代电信网络下的用户通信终 端提出新的要求。新一代网络环境下,用户通信终端应能够接入到分组网络, 与软交换网络组件进行信令交互,接受软交换网络提供的各种数字业务。 本文基于软交换网络对用户通信终端的需求,设计并实现一款基于s i p 协 议的桌面综合通信终端。该终端主要实现一个m 可视电话的功能,它使用s i p 协议实现终端与网络的信令交互,r t p 协议实现媒体的实时传输。论文在深入 分析讨论s i p 网络的通信理论和关键技术的基础上,对终端的软硬件设计过程 做详细的论述。 论文的理论部分深入分析s i p 协议,对s i p 的网络实体、s i p 协议的分层 结构、s i p 消息的组成结构,会话建立过程,媒体协商机制以及s i p 终端在通 信过程所用到的几个关键技术:信令技术、音视频编解码技术、媒体实时传输 技术和q o s 保证技术做了详细的介绍。 论文的重点部分主要是终端的嵌入式系统设计。该部分采取设计方法与设 计实现并重的原则,硬件设计以x s e a l ep x a 2 7 0 处理器为核心,按照电源系统, 核心系统和外设接口的设计步骤详述了硬件平台的构建。软件设计阐述软件平 台的搭建和应用软件设计。软件平台搭建,重点介绍l i n u x 操作系统的选择和 移植,并根据l i n u x 操作系统特点讨论驱动程序设计和根文件系统的选择。应 用软件的设计是在软件平台的基础上进行的,它提出模块化的设计思想,对应 用软件进行模块划分,采取底层核心协议加上层外包的设计方法解决了协议栈 模块协议功能复杂性和上层接口简单性的矛盾。在媒体传输的实时性方面,针 对媒体编解码算法的关键环节,提出如何使用i p p 库来提高媒体编解码模块编 解码效率的设计方案。此外根据应用软件各模块间的逻辑关系,设计主控模块 来协调和控制其它模块,实现整个应用软件系统的协同工作。 论文对设计完成的整机系统从软件结构、互通性、性能和可靠性四个方面 作了详尽的测试。测试结果表明系统软件具有较好的鲁棒性,互通性,在通信 摘要 质量方面系统能达到一个良好的语音通信效果和一个可以接受视频通信效果。 关键词:i p 可视电话;嵌入式l i n u xs i p 协议 a b s t r a c t w i t hd e v e l o p m e n to fp a c k e ts w i t c h i n ga n dc o m p u t e rt e c h n o l o g y , s o f t s w i t c hw i l l g r a d u a l l yr e p l a c ec i r e u i t s w i t c ha n db e c o m et h ef u t u r eo ft e l e c o m m u n i c a t i o nn e t w o r k i nt h es o f i s w i t c he n v i r o n m e n t , t e l e c o m m u n i c a t i o nn e tc a np r o v i d en o to n l yv o i c e 戳, * t v i c e , b u ta l s ov i d e o 、d a t aa n di n t e l l i g e n ts e r v i c e s t h i sw i l lg i v eo u tn e w r e q u i r e m e n t sf o ru s e r s t e r m i n a l s i nn e wg e n e r a t i o nn e t ,u s e r s t e r m i n a l sm u s tb ea b l e t oa c c e s si n t op a c k e tn 吒e x c h a n g es i g n a lw i mc o m p o n e n to fs o f t s w i t c ha n dr e c e i v e a l lk i n d so f d i g i t a ls e r v i c e sp r o v i d e db y s o f i s w i t c hn o t t h e p a p e rd e s i g n e da n dr e a l i z e da k i l l do f d e s k t o pt e a m i n a lb a s eo ns i pp r o t o c o l t os a t i s f yt h er e q u i r e m e n to fs o f l s w i t c hn e t t h et e r m i n a lm a i n l yr e a l i z e di pv i d e o p h o n ef u n c t i o n i tu s e ds i pp r o t o c o lt oe x c h a n g es i g n a l 谢t l ls o f t s w i t c hn e t w o r k ,u s e d r t pt or e a l i z em e d i as t r e a mr e a lt i m et r a n s m i s s i o n t h el e c t u r ef i r s ta n a l y s e da n d d i s c u s s e dt h ec o m m u n i c a t i o nt h e o r yo fs i pn e t w o r ka n dk e yt e c h n o l o g i e st h e n d i s c u s s e dd e t a i l e dp r o c e s so ft e r m i n a l ss o f t w a r ea n dh a r d w a r ed e s i g n i nt h e o r yp a r t , p a p e rl u c u b r a t e ds i pp r o t o c o la n dd i s c u s s e dd e t a i l e d l ye n t i t i e so f s i pn e t w o r k ,l a y e r e ds t r u c t u r eo fs i pp r o t o c o l ,s t r u c t u r eo fs i pm e s s a g e ,p r o c e s so f s e s s i o n b u i l d i n g 、m e c h a n i s mo f m e d i an e g o t i a t i o na n ds e v e r a lo t h e rk e yt e c h n o l o g i e s u s e db ys i pt e r m i n a l :s i g n a l 、m e d i ac o d e c 、r t pa n dq o s t h ep a p e r sk e yc h a p t e r sw e r ef o c u s e do ne m b e d d e ds y s t e md e s i g no ft h e t e r m i n a l h e r ei tn o to n l ye m p h a s i z e do nr e a l i z a t i o no fd e s i g nb u ta l s od e s i g nm e t h o d i nt h e s ec h a p t e r s ,l e c t u r ef r s ti n t r o d u c e dd e s i g nm e t h o ds i m p l yt h e ni n t r o d u c e dw h o l e p r o c e s so fs o f t w a r ea n dh a r d w a r ed e s i g nd e t a i l e d l y h a r d w a r ed e s i g nw h i c hp u t x s c a l ep x a 2 7 0p r o c e s s o ra si t sc o r ed e s c r i b e dt h ec o n s t r u c t i n gh a r d w a r ep l a t f o r m a c c o r d i n gt op o w e rs y s t e m 、c o r es y s t e ma n dp c r i p h e r a li n t e r f a c et h e s et h r e ed e s i g n s t e p s s o f t w a r ed e s i g nc a l ld i v i d ei n t ot w os t a g e s f i r s ts t a g en a m e dc o n s t r u c t i n g s o f t w a r ep l a t f o r mi sf o u n d a t i o no fs e c o n ds t a g e ,w h i c hc o n t a i n e dl i n u xk e r n e l p o r t i n g , d r i v e rp r o g r a md e s i g na n dr o o tf i l e s y s t e m sb u i l d i n g s e c o n ds t a g en a m e d a p p l i c a t i o nd e s i g nc o u l db ed i v i d e di n t of i v em o d u l e sw h i c hw e r em a i nc o n t r o l m o d u l e ,s i ps t a c k ,r t ps t a c k 、m e d i ac o d e ca n dm e d i ad e v i c ec o n t r 0 1 p a p e rd e s i g n e d t h e s ef i v em o d u l e sa c c o r d i n gt of u n c t i o no f t h e i rd e f i n i t i o n 、r e l a t i o n s h i po f e a c ho t h e r a n dl i n u xi t so w n p r o p e r t y p a p e rm a k et e s tf o rt h et e r m i n a li nt h ee n d t h e r ew e r et w ok i n d st e s t ,o n ef o r t e r m i n a lc o m m u n i c a t i n gw i t ho t h e rc o m p o n e n t si nn e t w o r k ,a n o t h e rf o rq u a l i t yo f t e r m i n a l sc o m m u n i c a t i o n t h et e s tr e s u l t sr e v e a l e dt h a tt e r m i n a lc o m m u n i c a t e dw e l l 、i t ho t h e rn e t w o r kc o m p o n e n t sa n di t sv o i c eq u a l i t yi sg o o db u tv i d e oq u a l i t yi s k e y w o r d s :i pv i d e op h o n e ;e m b e d d e dl i n u x ;s i p 厦门大学学位论文原创性声明 兹呈交的学位论文,是本人在导师指导下独立完成的研究成果。 本人在论文写作中参考的其他个人或集体的研究成果,均在文中以明 确方式标明。本人依法享有和承担由此论文产生的权利和责任。 声明人( 签名) :散宁 一年9 其l o f t 厦门大学学位论文著作权使用声明 本人完全了解厦门大学有关保留、使用学位论文的规定。厦门大 学有权保留并向国家主管部门或其他指定机构送交论文的纸质版和 电子版,有权将学位论文用于非营利目的的少量复制并允许论文进入 学校图书馆被查阅,有权将学位论文的内容编入有关数据库进行检 索,有权将学位论文的标题和摘要汇编出版。保密的学位论文在解密 后适用本规定。 本学位论文属于 i 、保密() ,在年解密后适用本授权书。 2 、不保密( v 作者签名:拳叮该作者签名:哆】钕 翩躲黻张 钆cl 够 毛, 第i 章绪论 1 1 课题的背景与意义 第1 章绪论 2 l 世纪有两项技术深刻影响着人们的信息生活:软交换技术和嵌入式技术 软交换技术企图融合所有的电信网络,使用分组网络承载现在所有的电信业务并 新增新业务,它的目的是要建立一个全p 网络。软交换将以更低的资费为民众 提供更丰富的业务。具体说在软交换环境下用户除了可以享受现有电路交换的语 音通信业务外,还可以享受视频、数据以及智能业务。 人们在憧憬软交换带来种种美好的信息体验的同时也将意识到一个问题:我 们拿什么来接受软交换网络带来的新业务。显然用户是通过通信终端来使用电信 网所提供的业务,这意味着软交换也将给桌面通信终端的发展带来一场革命,传 统的桌面终端是我们最为熟悉的电话机。它的功能单一,只能提供模拟信号的发 送接收,更无法接收数字业务。这种终端因无法满足电信网不断增加的业务需求 而逐渐被淘汰。软交换环境下新一代桌面通信终端必须能够接入分组网络,它除 了能提供传统通信终端的通信功能外,必须能够与软交换网络信令交互,具备一 些的多媒体特性,接受一些数据业务同时具备定的智能特性。 嵌入式技术的发展,为这种智能桌面通信终端的产生提供了条件。嵌入式系 统是资源受限的计算机,它具有计算机的一般特点,拥有中央处理器、存储设备、 输入输出设备。这使得嵌入式系统天生具备数据处理和计算机网络通信的优势。 嵌入式系统硬件配以强大的嵌入式操作系统和丰富的协议栈功能使它可以很好 满足新一代桌面通信终端的信令处理,音视频编解码,实时传输的需要。此外嵌 入式系统体积小、低功耗、功能专一,具备长期在线的特性进一步奠定了它在新 一代桌面通信终端中的地位。 本文采用嵌入式技术,以i n t e l 公司的嵌入式处理器x s c a l ep x a 2 7 0 和嵌入 式l i n u x 操作系统为软硬件平台,设计一款基于s i p 协议的综合通信终端。该终 端主要实现一个口可视电话( i pv i d e op h o n e ) 的功能,它使用s i p 协议作为终 端与软交换网络的信令交互协议。通过s i p 信令的交互来实现通信链路的建立, 从而实现s i p 网络中终端终端,终端p c 的音视频通信。此外通过v o i p 网关该 设备也可以具备终端与p s t n 网络普通电话机通信的能力。研究该设备一方面是 基于s i p 协议综合通信终端的设计与实现 对软交换环境下桌面通信终端的一次尝试,另一方面可以通过该设备的通信试 验,测试和研究还在不断完善中的s i p 信令协议。 1 2 论文的主要工作 本文首先深入研究了s i p 协议,介绍s i p 通信的基本理论,包括s i p 的网络 实体、s i p 协议的分层结构、s i p 消息的组成结构,会话建立过程,媒体协商机 制以及s i p 终端在通信过程所用到的几个关键技术:信令技术、音视频编解码技 术、媒体实时传输技术和q o s 保证技术。 在理论分析的基础上,论文接着根据i p 可视电话和s i p 协议的特点,对该 桌面终端的硬件和软件分别作针对性的设计,这是本文工作的重点。硬件部分以 p x a 2 7 0 处理器为核心根据系统需求,设计系统的核心电路和外围接口电路。软 件部分做了两个工作:嵌入式软件平台的搭建和应用软件的设计。软件平台的搭 建主要是针对系统的硬件,有针对性进行l i n u x 内核移植以及各接口设备驱动的 设计。应用软件的设计主要设计一个s i p 的用户代理( u a ) ,通过这个u a 实现 终端高层功能如会话建立,媒体协商以致最终实现终端媒体流的实时通信。在该 部分论文介绍软件分层设计思想,并由底向上介绍s i p 协议栈的构建、r t p 协议 栈的构建、音频和视频编解码器的构建和高层用户事务端( t u ) 的设计。 在软硬件设计的基础上,论文对设备进行通信测试。在该部分论文首先介绍 测试环境的搭建,然后设计测试用例,根据测试用例对终端的各项性能指标进行 测试,并对结果做了记录和简单的分析。论文结尾还对课题作了总结和展望。 1 3 论文的组织结构 本文的内容可分为7 个章节,其内容如下: 第一章绪论,介绍课题的背景和研究这项课题的主要目的,并对论文的主 要工作和论文的组织结构作了阐述。 第二章s i p 通信理论基础及关键技术,该章在深入研究s i p ( s e s s i o ni n i t i a l p r o t o c 0 1 ) 初始化会话协议的基础上,对课题的背景理论作了介绍。主要介绍s i p 网络的通信实体,s i p 协议的分层,s i p 消息结构,s i p 会话建立机制,媒体协商 机制以及终端通信所用到的关键技术。这一章的目的是为后面终端软件的设计奠 定理论基础。 2 第l 章绪论 第三章嵌入式s i p 终端的硬件设计,本章根据系统需求在硬件上对终端设 备作针对性的设计。硬件主要以p x a 2 7 0 嵌入式处理器的核心电路设计为基础, 为实现音视频的采集播放、以太网通信、存储设备控制以及系统界面控制等系统 功能设计相应外设接口电路。本章的内容是系统硬件实现重点,它体现嵌入式系 统根据系统需求量身定制的特性。 第四章嵌入式软件平台的搭建,本章主要进行嵌入式l i n u x 操作系统的移 植,并根据上一章硬件设计的情况,设计各通信接口设备驱动程序,同时根据系 统的需求,制定合适的文件系统。嵌入式操作系统是运行上层应用程序的基础, 而设备驱动程序是应用程序使用各硬件通信接口的桥梁。本章的内容属于软件平 台建设部分,它在系统硬件设计和应用软件设计之间起到一个承上启下的作用。 第五章嵌入式s i p 终端应用软件设计,本章是系统软件实现的重点章节。 它主要内容是要设计通信终端的应用软件系统。它的设计通过软件分层予以实 现。首先要在底层建立s i p 协议栈模块、r t p 协议栈模块和音视频数据处理模块; 然后在其上建立一个用户事务t u ,1 u 不断检测事件的发生,当检测到某一事 件发生,在判断事件类型后就调用相关的模块,开启相应的事件处理流程。本章 的设计主要依据s i p 协议的基本理论,通过事务机制实现会话的建立,更改,撤 销并通过r t p 协议实现媒体的实时通信。 第六章系统通信测试,本章属于系统验证部分,它主要内容是搭建一个终 端通信的测试环境,并通过设计测试用例来检验系统的各项性能指标和s i p 协议 的运行情况。 第七章总结和展望,本章对测试结果进行分析,总结系统硬件设计和软件 设计的创耨点和技术难点,以及对未来的展望。 3 基于s i p 协议综合通信终端的设计与实现 第2 章s i p 通信理论及关键技术 2 1 基于s i p 的v o i p 技术 2 1 1i p 电话基本原理 v o i p ( v o i c eo v e r 口) 原意是在p 网络上传递语音,是一种利用英特网技 术或网络进行语音通信的新业务。口电话是建立在d 技术分组化,数字化传输 技术,其基本原理是通过语音压缩算法对语音数据进行压缩编码处理,然后把这 些语音数据按p 等相关协议进行打包,经过i p 网络把数据包传输到接收地,再 把这些语音包串起来,经过解码解压缩处理后,恢复成原来的语音信号,从而达 到p 网络传送语音的目的。经过m 电话系统的转换及压缩处理,每个电话的传 输速率约占用8 1 l k b i t 2 s 带宽,因此在与普通电信网同样使用传输速率为6 4 k b i t k s 的带宽时,口电话数是原来的5 8 倍。 随着光网络的飞速发展和数字传输技术的应用,原来在数据通信网中被视为 应用“瓶颈”的带宽和服务质量等问题一一得到解决。m 网络不仅可以实现语 音的实时传递,视频的实时传递也成为可能。在口网络传递视频的原理同传输 语音很相似,通过动态图像压缩算法将视频数据压缩成低比特的码流,这些低比 特的码流经相关的协议打包后,通过分组网络传递到远程接收端。远程接收端再 将这些码流解压,恢复为原来的视频信号。口网络实现视频通信是宽带技术与 视频压缩技术共同发展的结果,它使v o i p 又多了一层v i d e oo v e ri p 的含义。 人们将i p 网络的语音传输技术和视频传输技术结合在一起并辅以相关的 q o s 保证技术,形成新一代v o i p 技术的概念。将这种概念应用在嵌入式终端上 就是目前国外十分流行的i p 可视电话,而这正是本文后面将要探讨的内容。 2 1 2i p 电话的信令技术 信令技术是i p 电话的关键技术,它主要是为了保证电话呼叫的顺利实现, 具体来说就是实现通信双方会话的建立、变更和终结。目前在口电话系统使用 的信令协议主要有两个:i t u - t 的h 3 2 3 系列和i e t f 的会话初始化协议s i p 。 h 3 2 3 是i t u t 提出的一个v o i p 的技术框架,它实际上是一个协议簇, 涵盖了v o i p 技术的各个方面,根据功能可以将它分为四类协议,也就是说该协 4 第2 章s i p 通信理论及关键技术 议从系统的总体框架( h 3 2 3 ) 、视频编解码( h 2 6 3 ) 、音频编解码( g 7 2 3 1 ) 、 系统控制( h 2 4 5 ) 、数据流的复用( h 2 2 5 ) 等各方面作了比较详细的规定。h 3 2 3 的设计思路更接近传统的电信网络集中管理的原则。按照h 3 2 3 协议设计的网络 可以很好地承载语音和图像等多种业务。可见h 3 2 3 不仅仅是一个信令协议,它 定义了一个大而全的v o i p 体系结构,在口电话业务刚刚兴起的时候,将成熟 的h 3 2 3 协议移植到电信网中,取得了成功。 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 ) 会话初始化协议,是由i e t f 于19 9 9 年提 出的一个基于口网络的一种实时通信应用信令协议,是下一代网络( n g n ) 中 的核心协议之一,用来解决口网络上的信令控制,其最终目标是为所有因特网 成功的应用提供无所不在的接入,成为联系因特网和电信、多媒体的媒介。s i p 工作在应用层,可以用来建立、修改和终止有多方参与的多媒体会话的进程s i p 是伴随着英特网的发展而兴起的,它广泛借鉴了其他各种已经存在的英特网协 议,如h i t p ( 超文本传输协议) 和s m t p ( 简单邮件传输协议) 。可以这么说, s i p 是基于因特网的两个最成功的服务w e b 和e m a i l 进行设计的,采用基于文 本的编码格式,简单灵活,可扩展性强。s i p 固有的优势使其在面世后不久就得 到了广泛的应用。现在,s i p 已经被3 g p pi 作组定义为第3 代移动通信系统的 信令协议,以提供口多媒体服务。 相比于h 3 2 3 ,s i p 的技术成熟性不如h 3 2 3 ,但在协议的复杂性、功能可 扩充性、可扩展性和对移动的支持性则具有更大的优势。随着s i p 协议的不断完 善和发展,s i p 的高功能性和增长潜力将进一步被发掘出来,并极有可能取代 h 3 2 3 成为新一代软交换的主流协议。本章后续部分将对此协议作详细的讨论。 2 2s i p 网络组成 s i p 通信网络由用户代理和网络服务器构成如图2 1 所示,用户代理是s i p 网络中客户端的抽象逻辑,它在实际中表现为用户用来接受s i p 通信服务的设 备,它可以是一台p c 、一台嵌入式i p 电话、用户的手机或是笔记本电脑。网络 服务器则是s i p 网络运营商提供服务的抽象逻辑,主要为用户代理提供注册、认 证、鉴权、路由等服务,分为代理服务器、重定向服务器和注册服务器3 种。 5 基于s i p 协议综合通信终端的设计与实现 1 、i l _ 一一、 。理服务泸重定向服务器注册服务器 z ;= 日 似工f r 蠢、 图2 1 s i p 网络结构 2 2 1 用户代理 用户代理是s i p 会话的发起者和最终接收者,它秉承i n t e r a c t 中客户端服务 器端( c s ) 的机制,在功能上又分用户代理客户端( u a c ) 和用户代理服务器 端( u a s ) ,其中u a c 负责发起s i p 呼叫,u a s 负责对呼叫请求作出响应。 2 2 2 代理服务器 代理服务器提供路由功能,负责将s i p 用户的请求和响应转发到相应的下一 跳。代理服务器又分为有状态和无状态的两类。有状态的代理服务器会记录经其 转发的呼叫的状态信息,通常位于s i p 网络的边缘;而无状态的代理服务器一旦 将消息转发后就丢弃其状态信息,位于网络的核心,这是由于核心的代理服务器 通常需要处理大量的s i p 呼叫,不保留呼叫状态可以大大提高系统的处理能力。 2 2 3 重定向服务器 重定向服务器则提供地址解析服务,其功能类似于d n s ,通常将s i p 呼叫 的目的地址映射成零个或多个新地址。 2 2 4 注册服务器 注册服务器接受终端的登记请求,记录终端的s i p 地址( s i pu r l ) 和i p 地址,注册服务器通常与代理服务器或重定向服务器位于同一物理实体中。用户 终端启动后都需要进行注册,用于记录其当前位置信息,这种基于注册服务器的 6 第2 章s i p 通信理论及关键技术 转发特性是实现s i p 终端移动性服务的基础。 2 3s i p 协议简介 2 3 1s i p 协议分层 s i p 是一个分层结构的协议,不同模块功能相对独立,各层之间松散耦合。 s i p 协议由底向上一共可分为四层如图2 2 所示。 用户搴务膳( t r a n s a c t 商1u s e rl a y e r ) :。、5 、一一一1 。1 1 。j $ 务以( ,l r a n s a c t i o nl a y e r ) l - - 一一一一一- _ 传输层n 8 n s p o nl 8 y e 一一一一一。+ 。j 语泄:羊1 1 编舻5 层( s y n t a xa n de n c o d i n gl a y e r ) l 、j 图2 2 s i p 协议分层 第一层即s i p 协议的最底层为语法和编解码层。s i p 消息使用a b n f 语法进 行描述,这一层详细定义了s i p 消息的格式。 第二层为传输层。该层主要定义了客户端如何通过网络发送请求和接收响应 以及服务器端如何通过网络接收请求和发送响应的细节。所有的s i p 单元 ( e l e m e n t ) 均包含传输层。 第三层为事务层。事务层是s i p 中的基础组件。所谓事务,是客户端向服务 器端发送的请求及其相应所有后继响应所组成的集合。事务层负责处理应用层消 息的重传、将收到的响应匹配至请求,并处理应用层的超时事件等。u a c s e r a g e n tc l i e n t ) 完成的任何消息交互任务都是通过一系列事务来进行的。事务层都 包含着一个客户端组件和一个服务器端组件。每一组件都有一有限状态机维护, 该有限状态机详细定义了处理请求的过程。 第四层称之为事务用户层( t r a n s a c t i o nu s e r ) 。每一s i p 实体,除了无状态的 代理服务器:( s t a t e l e s sp r o x y ) ,都是一个t u 。当t u 想要发送一请求时,它创建 一客户端事务实例,并将请求消息以及目的l p 地址、端口号传递给这一客户端 事务实例,由客户端事务实例完成消息的发送和响应消息的接收。 7 基于s i p 协议综合通信终端的设计与实现 2 3 2s i p 消息结构 s i p 是一个基于文本的协议,它使用u t f 8 字符集( r f c 2 2 7 9 1 6 ) 。 s i p 协议消息分请求和响应两类,其中请求消息由客户机发往服务器,响应 消息由服务器发往客户机。除选用的字符集以及语法定义外,请求和响应消息均 采用r f c 2 8 2 2 定义的基本格式进行编码。请求和响应消息格式由一个起始行、 若干个头字段,以及一个可选的消息体组成。其中消息体为可选项,头字段与消 息体之间用空行进行分隔。请求和响应消息格式如下: s i p 消息= 起始行 串消息头部( 1 个或多个头部) c r l f ( 空行) 【消息体】 一( 起始行= 请求行状态行) 如上消息格式定义,“宰 表示该消息头部可包含一个或多个,“ 】表示 该参数为可选项。起始行、每一个消息头部以及空行都必须使用回车换行字符 ( c r l f ) 来表示行终结,即使消息中未包含消息体可选项空行也不能省略。 2 3 3s i p 请求消息 s i p 请求的起始行有r e q u e s t l i n e ,作为与其它消息的区分。r e q u e s t - l i n e 包含一个方法名、一个r e q u e s t u r i 和由空格( s p ) 字符分开的协议版本。 r e q u e s t l i n e 以c r l f 结束。除在终止行c r l f 序列中外,其它的地方都 不允许c r 或l f 。在元素中不允许任意数量的空格( l w s ) 。 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 m e t h o d :s i p 的核心规范定义了六种方法:用于注册c o n t a c t 信息的 r e g i s t e r ;用于建立会话的i n v i t e 、a c k 和c a n c e l ;用于终止会话的b y e 和用于查询服务器能力的o p t i o n s 。s i p 扩展在标准跟踪r f c 中可能有附加方 法。 r e q u e s t u r i :r e q u e s t u r i 是s i p 或s i p su r i ,或是普通u r i 。它指明请 求的目的用户或服务。r e q u e s t u r i 不能包含未保留空间( u n e s c a p e ds p a c e s ) 或 控制字符,也不能包围在“”中。 s i p 元素可能支持“s i p ”和“s i p s ”以外的r e q u e s t u r i 模式,如r f c 2 8 0 6 1 8 】 8 第2 章s i p 通信理论及关键技术 中的 t e l ”u r j 模式。s i p 元素可使用任何机制将非s i pu p 转换成s i pu r i 、s i p s u r i 或其它模式。 s i p v e r s i o n :请求和响应消息都包含所使用的s i p 版本号。根据s i p 协议核 心规范r f c 3 2 6 1 ,发送s i p 消息的应用必须包含s i p v e r s i o n “s i p 、2 0 。 s i p v e r s i o n 字符串区分大小写,实现时必须发送大写形式的字符串。下面是一 个s i p 请求的实例: i n v i t es i p :b o b b i l o x i c o ms 1 1 :,、2 0 v i a :s lp | 2 o 、u d pp c 3 3 a t l a n t a c o m ;b r a n c h = z 9 h g 4 b k 7 7 6 a s d h d s m a x - f o r w a r d s :7 0 t o :b o b f r o m :a l i c e ;t a g = 19 2 8 3 0 17 7 4 c a l i - i d :a 8 4 b 4 c 7 6 e 6 6 7 10 p c 3 3 a t l a n t a c o m c s e q :3 14 15 9 i n v i t e c o n t a c t : c o n t e n t - t y p e :a p p l i c a t i o n s d p c o n t e n t - l e n g t h :14 2 ( a l i c e ss d pn o ts h o w n ) 这个实例不仅给出请求行的格式,还列出s i p 消息中常用的几个头字段,这 些头字段对于s i p 消息来十分重要,其中t o 、f r o m 、c a l l i d 对于每一个会话都 是必不可少的。这些头字段的含义如下: v i a :用于记录s i p 消息所经过的代理服务器,它的作用是防止s i p 消息经 多个代理服务器转发之后出现路由循环。 m a x f o r w a r d s :s i p 消息在到达最终目的地前所允许的最大转发次数,s i p 消息每转发一次该值就减一。 t o :指示会话的最终接收者。 f r o m :指示会话的发起者。 c a l l i d :会话的重要标志,用于区分代理的其他会话。 c s e q :指示一个会话中某个请求的次序。 c o n t a c t :指示消息的发送者可以被直接访问到的地址。 9 基于s i p 协议综合通信终端的设计与实现 c o n t e n t - t y p e :指示消息体的类型。 c o n t e n t l e n g t h :指示消息体的长度。 2 3 4s i p 响应消息 s i p 响应在起始行中有一个s t a t u s l i n e ,作为与请求的区分。s t a t u s l i n e 依 次由协议版本号、数字s t a t u s c o d e 和以及相关的文本分析( t e x t u a lp h r a s e ) 组 成,它们之间用空格字符( s p ) 隔开。 除在最后的c r l f 序列中,其他地方不允许有c r 或l f s t a t u s l i n e = 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 h r a s ec r l f s t a t u s c o d e 是一个三位整数的结果代码,它指明尝试理解和满足请求的结 果。r e a s o n p h r a s e 是s t a t u s c o d e 的简短的文本描述。s t a t u s c o d e 用于自动控 制,r e a s o n - p h r a s e 便于人理解。客户端不需要检查或显示r e a s o n p h r a s e 。 r f c 3 2 6 1 建议了这些原因分析的一些特定用语,实现可以先用其它的文本, 例如,在请求的a c c e p t l a n g u a g e 头字段中指明的语言。 s t a t u s c o d e 的第一个数字定义响应类型。后面的两位数字没有类别的意义。 因此,状态代码在1 0 0 到1 9 9 之间的响应成为“l x x ”响应,状态代码在2 0 0 到 2 9 9 之间的响应成为 “2 x x ”响应,依此类推。s i p k 2 0 中第一个数字有六种值: 1x x :i n f o r m a t i o n a l 一已经收到请求、继续处理请求。 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 te r r o r 一请求有语法错误或服务器不能执行请求。 5 x x :s e r v e re r r o r 一服务器出错,不能执行合法请求。 6 x x :g l o b a lf a i l u r e 一任何服务器都不能执行请求。 以下是一个应答的例子: s i p k 2 02 0 0o k v i a :s i p 2 o id ps e r v e r l0 b i l o x i c o m ;b r a n c h = z 9 h g 4 b l k n a s h d s 8 ;r e c e i v e d = 19 2 0 2 3 v i a :s i p 2 o u d pb i g b o x 3 s i t e 3 a t l a n t a t o m ;b r a n c h = z 9 h g 4 b k 7 7 e f 4 c 2 3 1 2 9 8 3 1 ;r e e d v e d = 1 9 2 0 2 2 1 0 第2 章s i p 通信理论及关键技术 v i a :s i p s 2 0 u d pp c 3 3 a t l a n t a t o m ;b r a n c h = z 9 h g 4 b k 7 7 6 a s d h d s ;r e c e i v e d = 19 2 0 2 1 t o :b o b ;t a g = a 6 c 8 5 e f f r o m :a l i c e ;t a g = 19 2 8 3 0 17 7 4 c a l l - i d :a 8 4 b 4 c 7 6 e 6 6 710 p c 3 3 a t l a n t a c o m c s e q :31 4 15 9i n v i t e c o n t a c t : c o n t e n t - t y p e :a p p l i c a t i o n l s d p c o n t e n t - l e n g t h :131 ( b o b ss d p n o ts h o w n ) 此应答各头字段的含义与上文请求消息的实例中的含义相同。 2 3 5s i p 基本呼叫流程 s i p 协议是通过用户代理之间交换消息来建立呼叫,它延续了i n t e r n e t 中客 户机服务器的工作模式。主叫代理充当用户代理客户( u a c ) ,被叫代理充当用 户代理服务器( u a s ) 。s i p 协议支持三种呼叫模式:由用户代理客户机c l i a c ) 向用户代理服务器( u a s ) 直接呼叫,由u a c 在重定向服务器的辅助下进行重定 向呼叫和由代理服务器代表u a c 向被叫发起呼叫。现在以重定向服务器信令过 程为例,来说明呼叫建立过程,如图2 - 3 所示。 基于s i p 协议综合通信终端的设计与实现 b o b 蚴硼囱 f i ) s i p l n v i t e + f2 ) 查找l a u m ”1 前地址 _ - _ _ - 。- - 一 一 r3 ) 返e l a u r a 位嚣 ( 4 ) 3 0 2m o v e dt e m p o r a d l y f5)ack ( 6 ) s i p i n v i t e ( 7 ) 2 0 0 0 k f8)ack 彳| 髻o 。- 。! i 曩:- 。z 。一。z 。7 t ! ;“r ,囊! ,;:j l _ 嘲j 多:一j 。* ? * j x :一“。,“一“二。:。:e :谚j z 。:;囊:爿 = :i沙 ( 9 ) b y e ( 1 0 ) 2 0 0 0 k 图2 3 信令呼叫流程 由图可知b o b 在整个过程一共进行两次呼叫,b o b 在两次呼叫的建立阶段充 当u a c ,在会话结束阶段充当u a s ,因为b y e 请求是由l a u r a 发出的。l a u r a 在这个过程中,充当的角色正好与b o b 相反。具体的呼叫流程如下: 1 ) b o b 打算呼叫l a u r a ,他使用l a u r a 的公开地址把i n v i t e 请求消息 发往重定向服务器。 2 ) 重定向服务器利用l a u r a 的公开地址,向位置服务器发送查询请求。 3 ) 位置服务器把l a u r a 的当前地址返回给重定向服务器。 4 ) 重定向服务器向b o b 发送3 0 2 重定向应答,应答消息中包含从位置 服务器获取的l a u r a 的当前位置信息。 5 ) b o b 向重定向服务器发送a c k 请求,结束他与重定向服务器的会话。 6 ) b o b 根据l a u r a 的当前地址,直接向l a u r a 发送i n v i t e 请求。 7 ) l a u r a 接受b o b 请求,向b o b 返回2 0 0 0 k 响应。 8 ) b

温馨提示

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

评论

0/150

提交评论