(通信与信息系统专业论文)freeppinstlink网关的研究与实现.pdf_第1页
(通信与信息系统专业论文)freeppinstlink网关的研究与实现.pdf_第2页
(通信与信息系统专业论文)freeppinstlink网关的研究与实现.pdf_第3页
(通信与信息系统专业论文)freeppinstlink网关的研究与实现.pdf_第4页
(通信与信息系统专业论文)freeppinstlink网关的研究与实现.pdf_第5页
已阅读5页,还剩49页未读, 继续免费阅读

(通信与信息系统专业论文)freeppinstlink网关的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 多种标准长期并存是v o i p 技术发展中不可避免的现实,目前v o l p 技术涉及 的主要协议有:i a x 、x m p p 、s i p 等。v o i p 不同系统的互通,已成为业界关注的 一个焦点问题。 论文首先讨论了v o i p 的基本工作原理,分析和比较了f r e e p p 系统采用的i a x 协议和i n s t l i n k 系统采用的x m p p 协议。重点研究了异构多网环境下的v o i p 通 用网关模型,在系统分析f r e e p p 服务器系统软件结构和开源代码的基础上,提出 了f r e e p p i n s t l i n k 网关的设计方案,并从需求分析、用户地址号码映射方案、逻 辑设计、交互过程等方面作了详细论述。 论文的研究工作还包括搭建原型实验环境,建立由i n s t l i n k 服务器及用户群, f r e e p p 服务器及用户群,对网关的功能进行了系列测试,实验结果表明网关较好 地解决了系统互通问题。 关键词:v o l px m p pl n s t l i n k 网关互通 a b s t r a c t w i t ht h ed e v e l o p m e n to fv o l pt e c h n o l o g y , m a n yk i n d so fs t a n d a r d sw i l l b e i n e v i t a b l yl o n g - t e r mc o e x i s t i n g a tp r e s e n t ,v o l pp r o t o c o l sm a i n l yi n c l u d e :i a x , x m p p , s i pa n ds oo n i n t e r c o m m u n i c a t i o na m o n gd i f f e r e n ts y s t e m sh a sb e c o m et h ef 0 c l l si n t h ev o i pf i e l d t h i sp a p e rf i r s td i s c u s s e dt h eb a s i cp r i n c i p l eo fv o i p , a n a l y z e da n d c o r n p a r e d i a xp r o t o c o lu s e db yf r e e p ps y s t e mw i t hx m p p p r o t o c o li ni n s t l i n k t h e n t h ev o i p c o m m o ng a t e w a ym o d e li ss t u d i e db a s e d o nt h e h e t e r o g e n e o u s m u l t i n e t w o r k e n v i r o n m e n t m o r e o v e r , as o l u t i o no ff r e e p p i n s t l i n kg a t e w a yi s p r o p o s e da n d i l l u s t r a t e df r o mt h ep e r s p e c t i v eo fr e q u i r e m e n ta n a l y s i s ,u s e r a d d r e s s i dm a p p i n l o g i c a la n di n t e r a c t i o nd e s i g n 。 t h i sp a p e ra l s oc o n t r i b u t e st ob u i l d i n gp r o t o t y p ee x p e r i m e n te n v i r o n m e n t at e s t n e t w o r kt h a ti n c l u d e st h ei n s t l i n ks e r v e ra n di t su s e rg r o u p ,a sw e l la st h ef r e e p p s e r v e ra n df r e e p p su s e rg r o u p as e r i e so ft e s t sa r ec o n d u c t e dt ot h eg a t e w a y t h e e x p e r i m e n t a lr e s u l t si n d i c a t et h a tt h eg a t e w a ys o l v e st h es y s t e mi n t e r c o m m u n i c a t i o n p r o b l e mv e r yw e l l k e y w o r d :v o l px m p pi n s t l i n k g a t e w a yi n t e r e o m m u n i c a t i o n 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:日期三竺! 笙墨:! ! 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密在一年解密后适用本授权书。 本人签名: 导师签名: 日期兰! ! ? :彳:! ! 第一章绪论 第一章绪论 1 1 研究背景和意义 由于网络的普及、频宽的增加与语音压缩技术的进步,近几年来v o l p ( v o i c e o v e i i p ) 技术快速发展。在1 9 9 5 年以色列的v o c a l t e c 公司开发出第一套因特网电 话( i n t e m e tp h o n e ) 软件后,人们开始利用个人计算机在因特网上传递语音数据, 如此便能节省庞大的国际电话费用【i 】。 v o l p 以i p 电话为主,并提供语音信箱、电话会议等增值业务,可以将语音信 号压缩封装成i p 数据包,然后在网络中传送,从而提供语音服务。此外,v o i p 以 分组的形式传送语音数据,它使语音和数据业务综合,使带宽得以合并,符合未 来“三网合一 的发展方向;它提供的低成本语音业务,对用户极具吸引力;它 传播信息容量大、不受时空限制,有效地利用了网络资源,这些优势使得v o i p 备 受业界青睐,在未来的发展中形成很大的市场【2 】。v o l p 广泛的应用前景和巨大的 商业价值促使业界对其产生了浓厚的丌发热情,我国信息产业界正密切关注着这 一领域的发展。 v o l p 的快速发展需要一系列协议标准的支撑,先后出现了h 3 2 3 、s i p 、l a x 、 x m p p 等比较重要的协议。这些协议标准原本的主要目标都是建立基本的通话, 它们为了避免在竞争中遭到淘汰,各个通信协议也都一直在不断的修正改进,有 些以新版本的方式,有些以提出扩展标准的方式,使得各个通信协议所支持的功 能同趋完善。 随着v o l p 的发展,人与人之间的沟通工具越来越多样化。国外的s k y p e 、y a h o o m e s s a g e 和m i c r o s o f tm s n 占据了全球市场的主要份额,国内的q q 一支独秀,占 据7 0 以上的国内市场份额1 5 】。但是现在大多数即时通信工具所用协议对外都是不 公开的,这就导致了不同的v o l p 用户之间不能互通,这就给用户的使用带来了不 便。因此,v o i p 不同系统的互通问题,成为业界关注的一个焦点【”】。 任何技术得以商用化的真正动力都来源于用户的需求。不同系统的用户可以 方便得像在一个系统中进行交流,会给用户带来良好的使用体验,可以使企业更 加容易地推广v o l p 业务,从而吸引更多的用户。如果不同的v o l p 系统实现互通, 它将占有更大的通信市场,进而取代现有的大部分传统电信业务,成为未来通信 的一种主流模式。 f r e e p p 系统和i n s t l i n k 系统是两类v o i p 通信系统,f r e e p p 系统采用i a x 协 议完成信令、语音的交互;i n s t l i n k 系统则采用x m p p 协议进行信令传输,并用 r t p 协议携带语音数据。实现两系统的互通,对v o l p 系统互通的研究和进步具有 f r e e p p i n s t l i n k 网关的研究与实现 重大的理论和现实意义。 1 2v o i p 互通研究现状 最早的v o i p 产品都使用自己的协议进行通信,通话的双方必须使用同一产品。 随着互联网的高速发展,v o i p 等各种网上增值业务展现出巨大的应用前景。在各 厂商的积极推广下,i t u 、i e t f 等组织推进了i p 电话协议的标准化进程。目前v o i p 技术涉及到的协议如图1 1 所示: h 。2 5 1 ,m p e g j - h 3 2 3x m p p s - p 【j r s p l - a xl r t c p l r t pr s v p lj lj l 涎j l l l ll t c p u d p j ll l p v 4 i p v 6 姐nn j l p p p i 掣掣 l , | | :7 s o n e ta t m e t h e m e tv 3 4 图1 i 涉及v o i p 技术的协议 由于各个厂商采用不同的协议,造成了不同v o l p 产品难以实现互通。影响互 通的原因主要有以下几点: 信令不同 信令保证了电话呼叫的顺利实现和语音质量。各种v o i p 协议的信令在名称、 格式和控制方式上有很大的不同。信令的不同造成了不同用户之间难以建立呼叫。 因此,信令的互通是实现v o l p 互通的前提。 媒体流传输方式不同 控制信令的选取还影响了媒体数据传输的方式。s i p 和x m p p 等协议只负责控 制会话过程,需要r t p 协议来传输媒体数据。而l a x 协议把媒体流传输协议和控 制信令协议合二为一。媒体流传输方式上的差异导致了用户无法实现媒体数据的 直接交换。 语音编码方式不同 第一章绪论 为了适应不同的网络状况和语音通信要求,语音数据采用的编码方式也有很 大差别。在窄带网络通信条件下,由于网络资源有限,带宽分配不足,g 7 2 9 等编 码方式比较适合。在宽带通信中,g 7 1 1 可以被广泛使用。如果用户对收到的语音 数据不能进行正确解码,就无法理解对方所要表达的内容。 为了实现不同系统的互联互通,必须要解决以上差异性。其中,l a x 协议继 承了s i p 协议作为信令控制协议的简单高效性,并开创了自身穿越n a t 的优势【l , 因此被业界很多人士看好;而x m p p 协议以其突出的可扩展性,在业界也掀起了 一股新的潮流,世界最大的搜索引擎公司g o o g l e 推出的g o o s et a l k 就是一款基 于x m p p 协议的即时通信软件,x m p p 还获得苹果等诸多公司的支持【l4 1 。另外, 因x m p p 已获得i e t f 的正式认可,有着极好的市场应用前景。因此,二者的结合, 成为一个迫切需要解决的问题。 1 3 论文主要工作 论文的课题受启发于课题组的i n s t l i n k 项目。该项目涉及两个系统,即f r e e p p 系统和i n s t l i n k 系统。 本文主要目标是在f r e e p p 系统的服务器中添加一个网关模块,实现f r e e p p 系 统与i n s t l i n k 系统的互通。本文的主要工作有以下几个方面: ( 1 ) 研究了当前主流的v o l p 协议:i a x 、x m p p 和r t p 协议等,分析l a x 与 x m p p 的差异性,为两个系统互通提供理论基础。 ( 2 ) 研究多网情况下v o l p 网关的基本原理和工作过程,为网关的设计提供依 据。 ( 3 ) 设计f r e e p p 系统与i n s t l i n k 系统的信令及语音的互通方案。 ( 4 ) 在l i n u x 平台上设计并实现了连接f r e e p p 系统和i n s t l i n k 系统的网关, 实现两个系统之间信令和语音的交互。 ( 5 ) 设计一种合理便捷的地址映射方案,应用在f r e e p p i n s t l i n k 网关中,方便 两个系统中用户的交互。 1 4 论文内容安排 论文共包括六章内容: 首先,本章介绍了v o l p 的发展现状和前景,分析了系统互通的必要性和紧迫 性,并概述了本文所做的主要工作。 第二章将对v o i p 技术进行整体介绍。讨论了v o i p 的基本工作原理;分析相 关主流协议l a x 和x m p p ,并对其二者差异性进行总结;最后对网关的基本工作 原理和工作过程进行了介绍,为网关的设计提供基础。 4 f r e e p p i n s t l i n k 网犬的研究与实现 第三章将对f r e e p p 服务器构架进行介绍,其中重点介绍各个模块的功能与各 模块之间的合作关系,在此基础上研究f r e e p p 与i n s t l i n k 系统的互通。 第四章首先设计出f r e e p p 系统与i n s t l i n k 系统的网关模型;给出两个系统的 信令协议和媒体协议的映射;并详细论述了网关中配置模块、信令处理模块及语 音处理模块的具体实现过程。最后给出两个系统通过网关进行会话的流程示例, 并对网关的地址映射给出具体设计方案。 第五章在前几章的基础上,针对整个网关系统,搭建测试环境,分析两系统 交互流程,并得出测试结果。 第六章进行全文总结,指出尚未解决的问题,提出下一步的工作计划。 第二章v o l p 相关技术 5 第二章v o l p 相关技术 v o l p 是( v o i c eo v e ri n t e r a c tp r o t o c 0 1 ) 的简称,也称为i p 电话、网络电话等, 它是建立在i n t e r a c t 基础上的新型数字化传输技术,是在i n t e r n e t 或其它基于i p 的 网络上进行语音通信的技术,这种应用包括p c 对p c 的连接、p c 对电话的连接、 电话对电话的连接,其业务主要有i n t e r n e t 上的语音业务、传真业务( 实时和存储 转发) 、w e b 上实现的i v r ( 交互式语音应答) 业务等等。 2 1 1v o l p 模型结构 2 1v o i p 工作原理 传统的电话网是在通话双方之间建立一条固定的物理通路,以电路交换方式 传输语音。而v o l p 是以i p 分组交换网络为传输平台,对模拟的语音信号进行采样、 压缩、编码、打包等一系列的特殊处理,使之可以采用无连接的u d p 协议进行传 输【1 2 】。 最简单的v o l p 系统由两个或多个具有v o l p 功能的设备组成,并通过i p 网络连 接。v o l p 模型的基本结构如图2 1 所示【6 1 。图2 1 给出t v o l p 设备如何把语音信号转 换为i p 数据流,并把这些数据流转发n i p 目的地,i p 目的地又把它们转换回到语音 信号。 语音代理 图2 1v o l p 模型结构 两者之间的网络必须支持l p 传输,且可以是i p 路由器和网络链路的任意组合。 因此可以简单地将v o l p 的传输过程分为下列几个阶段【3 1 。 ( 1 ) 语音一数据转换 6 f r e e p p i n s t l i n k 网关的研究与实现 原始的语音信号是模拟信号,采用i p 方式传输之前,要对其进行模数转换, 即通过声卡和音频设备将模拟语音信号进行8 b i t 或1 6 b i t 的量化,然后顺序送入缓冲 器,缓冲器的大小可根据延迟和编码的要求选择。许多低比特率的编码器是对被 称作帧的语音块进行编码的,典型帧大小为1 0 3 0m s 。考虑到传输过程中的代价, 语音包通常由6 0 、1 2 0 或2 4 0 m s 的语音数据组成。数字化可以通过各种语音编码方 案来实现,目前采用的语音编码标准主要有i t u t 的g 7 x x 标准和g l o b a li ps o u n d 开发的i l b c 标准。另外,源端和目的端的语音编码器必须采用相同的编解码算法, 这样目的地的语音设备才可以正确地还原模拟语音信号。 ( 2 ) 原数据至i j l p 包的转换 一旦完成对语音信号的数字编码,接下来就是对语音包以特定的帧长进行压 缩编码。大部分的编码器都有特定的帧尺寸,若一个编码器使用1 5 m s 的帧,则把 从第一级来的6 0 m s 的包分成4 帧,并按顺序进行编码,每个帧合1 2 0 个语音样点( 抽 样率为8 k h z ) 。编码后,将4 个压缩的帧合成一个压缩的语音包送入网络处理器。 网络处理器为语音包添加分组头、时间戳和其他网络信息后通过网络传送到另一 终端。传统语音网络是简单地建立通信终端之间的物理连接( 一条真实的物理线 路) ,并在终端之间传输编码的信号,这种方法下,两终端之间没有数据传输时, 连接依然存在,造成通信资源的极大浪费。而i p 网络不像电路交换网络,它不形成 连接,它要求把数据放在可变长的数据报或分组中,然后给每个数据报附带寻址 和控制信息,并通过网络发送,一站一站地转发到接收端。 ( 3 ) 网络传送 在这个传输通道中,全部网络被看成一个整体,持续不断地从输入端接收数 据包,然后在一定时间( t ) 内将其传送到网络输出端。t g 以在某个范围内变化, 反映了网络传输中的抖动。网络中的网问节点检查每个i p 数据附带的寻址信息,根 据这个信息把该数据包转发到目的地路径上的下一站。 ( 4 ) i p 包数据的转换 接收端v o l p 设备接收这个i p 数据包并开始处理。接收端提供一个可变长度的 缓冲器,用来调节网络产生的抖动( j i t t e r ) 。该缓冲器可容纳许多语音包,用户 可选择缓冲器的大小。小的缓冲器产生延迟较小,但不能调节大的抖动。解码器 将经过编码的语音包解压缩后产生新的语音包,这个模块也可按帧进行操作,完 全和编码器的长度相同。若帧长度为1 5 m s ,贝r 6 0 m s 的语音包被分成4 帧,然后它们 被解码还原成6 0 m s 的语音数据流送入解码缓冲器。在数据包的处理过程中,去掉 寻址和控制信息,保留原始的数据,然后把这个原始数据提供给解码器。 ( 5 ) 数字语音转换为模拟语音 播放驱动器将解码缓冲器中语音样点( 1 2 0 4 = 4 8 0 个) 取出进入声卡,通过 扬声器按预定的频率( 例如8 k h z ) 播出。在像i p 电话这样的全双工通信中,每一 第二章v o l p 相关技术 端既是发送端又是接收端,发送端首先将语音信号经过模数转换为数字信号,再 对数字信号进行压缩编码,封装成i p 分组,在i p 网络中传输,接收端进行相反的过 程,解i p 分组,解压缩回复数字信号,最后将数字信号还原为模拟语音信号。整个 处理过程如图2 2 所示: 2 1 2v o l p 相关协议分析 图2 2v o l p 系统工作流程 ( 1 ) l a x 协议 i a x t 8 】协议是d i g i u m 公司开发的v o l p 协议。该协议现在已经作为草案提交给 i e t f 。 l a x 协议的帧类型分为四种:f u l l 帧、m i n i 帧、m e t a 帧和m e t at r u n k 帧。在 l a x 语音通信中,主要使用f u l l 帧和m i n i 帧,本文只介绍这两种帧类型。 f u l l 帧往往携带的是信令消息,主要用于初始化、建立、改变和终止会话,因 此必须保证f u l l 帧的可靠传输,而m i n i 帧携带的是实时的语音数据,所以不必确 保它的可靠发送。f u l l 帧也可以携带语音数据,但是这种方式效率不高。图2 3 和 图2 4 分别是m i n i 帧和f u l l 帧的结构: l ol2 345 6 7 8 90 2 i2 345 6 7 890 3 l2 34567 8 90l fs o u r c ec a l ln u m b e rt i m es t a m p d a t a 图2 3 m i n i 帧结构 f r e e p p i n s t l i n k 网关的研究与实现 l2 3 0i2 34 5 6 7 89 0l2 3 45 6 7 8 90l2 345 6 7 8 9 0l f s o u r c ec a l ln u m b e rrd e s t i n a t i o nc a l ln u m b e r t i m es t a m p o s e q n oi s e q n of r a m e , t y p e cs u b c l a s s d a t a 图2 4f u l l 帧结构 从两种帧结构的比较中可以看出,f u l l 帧帧头比m i n i 帧帧头复杂。这是因为 f u l l 帧的可靠性要求,f u l l 帧帧头携带了更多的信息。下面对这两种帧帧头的主要 字段进行说明: f :根据该字段的值来判断l a x 帧是否为f u l l 帧。各种类型的l a x 帧帧头中 都含有f 字段,但只有f u l l 帧的f 字段的值为l ,其他类型帧的f 字段均为0 。 s o u r c ec a l ln u m b e r 、d e s t i n a t i o nc a l ln u m b e r :这两个字段用于标识不同的会 话。 r :说明该帧是否为重传帧。 t i m es t a m p :表示此帧的发送时间戳。 o s e q n o :它是一个从0 开始递增的计数器,用来确定下次发送l a x 帧的序号。 i s e q n o :和o s e q n o 类似,用于确定下次接收l a x 帧的序号。 f r a m e t y p e :用于区分该帧携带的是控制信令还是媒体数据。 s u b c l a s s :用于对该帧的类型进行具体说明。 相比较而言,m i n i 帧的帧头则非常小,只有4 个字节,从帧结构上看m i n i 帧 的时间戳是被截短了,f u l l 帧用3 2 位来表示时间戳,而m i n i 帧的时间戳只有1 6 位。l a x 协议正是通过m i n i 帧来传输丰富的语音数据而使用少量的f u l l 帧来进行 帧控制,从而提高传输效率。 曰曰曰口曰田口 二= 二二= 二= = = 二二二二二= 二二二= = 二爿 图2 5l a x 媒体流示意图 图2 5 是一个简单的单向的l a x 媒体流示意图( f 代表f u l lf r a m e ,m 代表 m i n if r a m e ) 。在实际的语音流传输中,媒体流应该是双向的。从图中可以看出媒 体流是由占多数的m 帧和占少数的f 帧组成。m 帧只能用来传输语音数据,它是 不可靠的。f u l l 帧可以用来可靠地传输信令、语音数据。f 帧中含有同步信息,l a x 第二章v o l p 相关技术 9 协议通过周期性的发送f 帧来保证连接的可靠性。 ( 2 ) r t p 协议 r t p 是由i e t f 的a v t 音视频工作组于1 9 9 6 年颁布的针对实时应用的传输协 议。国际电信联盟在多媒体通信标准h 3 2 3 中也采用了r t p 作为多媒体传输的协 议【4 】。 r t p 协议实际上是由实时传输协议r t p ( r e a l t i m et r a n s p o r tp r o t o c 0 1 ) 和实时 传输控制协议r t c p ( 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 0 1 ) 两部分组成。其中r t p 被定义为在一对一或一对多的传输情况下工作,实现实时数据传输,但是它并不 提供任何传输可靠性的保证和流量的拥塞控制机制,这些工作将由r t c p 来完成。 r t p 和r t c p 配合使用,能以有效的反馈和最小的开销使传输效率最佳化,所以 特别适合传输实时数据。 r t p 协议基于多播或单播网络为用户提供连续媒体数据的实时传输服务; r t c p 协议是r t p 协议的控制部分,用于实时监控数据传输质量,为系统提供拥 塞控制和流控制。 r t p 为交互式音频、视频等具有实时特性的数据提供端到端的传输。它不是 典型意义上的传输层协议,因为它不具备一个典型传输协议的所有特点。例如: r t p 没有连接的概念,而需要底层传输协议支持成帧和分段。一般来说,r t p 是 在传输层协议之上作为应用程序的一部分加以实现的。 r t p 控制协议( r t c p ) 采用与数据分组相同的分发机制,将控制分组周期性 传输到所有会话参与者中。底层协议必须提供数据和控制分组的多路复用,例如 使用不同的u d p 端口号。r t c p 主要完成以下服务功能: 令r t c p 提供数据分发质量反馈信息。这是r t p 作为传输协议的部分功能并且涉 及到了其他传输协议的流控制和拥塞控制。 令r t c p 为r t p 源携带一个持久性传输层标识符,称为规范名( c n a m e ) 。一 旦发现冲突或程序重启时,s s r c 标识符会随之改变,所以接收方需要通过 c n a m e 来跟踪每一个参与者。同时接收方还要求c n a m e 能够与一组相关 r t p 会话中来自于同一参与者的多个数据流相关联,例如同步视频和音频。 夺上述两个功能要求所有的参与者都要发送r t c p 分组,因此必须控制r t c p 分 组的发送速率,以便能够按比例增加大量的参与者。通过每一个发送者发送各 自的控制分组给其他所有参与者,每一个参与者能够独立观察到参与者数量, 该数量可用来计算控制分组的发送速率。 o p t i o n a l 功能用于传送最少会话控制信息。例如在界面显示参与者标识。 这对于“松散受控会话( 在没有成员控制或参数协商的情况下,参与者可以 加入或退出该会话) 是非常有用的。在i p 网络上,r t p 协议一般是运行在u d p 之上。首先r t p 可以利用u d p 的多路复用功能来分别传输r t p 数据包和r t c p l o f r e e p p i n s t l i n k 网犬的研究与实现 控制包。其次,r t c p 能实时监控数据传输和服务质量,不需要下层协议来保 证实时业务的服务质量。再次,由于u d p 的传输时延低于t c p ,能与音频和 视频流很好配合,保证了实时性的要求。因此,在实际应用中,u d p 用于音 频、视频媒体,而t c p 用于数据和控制信令的传输。当然,r t p 还可以和其 他合适的底层网络和传输层协议一起工作。例如它也可以在a t m 等其他协议 之上工作。如果底层网络支持多点传播的话,r t p 还支持使用多点传播向多个 目的端点发送数据。 ( 3 ) j i n g l e 协议 可扩展消息处理现场协议( e x t e n s i b l em e s s a g i n ga n dp r e s e n c ep r o t o c o l , x m p p ) ,是一种基于可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 【1 6 】的 即时通信协议,于2 0 0 4 年被i e t f 批准为i n t e m e t 标准。 x m p p 在即时消息的结构上由三个部分组成:x m l 流( x m ls t r e a m ) 、流认 证( s t r e a ma u t h e n t i c a t i o n ) 、x m l 节( x m ls t a n z a ) 。x m l 流为通信双方之间采 用异步方式进行数据传输提供标准方法,在整个x m p p 通信过程中处于最外层, 用以控制系统正常的通信。x m l 流是在两个端点之间交换x m l 节的容器,而不 是单纯的静态的x m l 文档【l5 1 。利用x m l 名字空间的强大,任何人都可以在核心 协议中定制一些特殊的功能,它不局限于网络拓扑结构,但是网络通信必须采用 t c p 协议,它的典型应用是基于c s 结构的系纠9 1 。 当j a b b e r 社区正着力开发基于x m p p 的信令系统的时候,g o o g l e t a l k 的丌发 小组在开发他们的i m 产品的时候也采用了基于x m p p 的信令系统。基于开放和 互联的原则,两者开始合作研究和开发并通过j e p 的方式发布了j i n g l e 。j i n g l e 协 议设计非常简单,易于在客户端实现。它基于x m p p 的原有架构,根据多媒体会 话的需要做了相应的扩展。 j i n g l e 协议由三部分组成l 7 】: 用于建立和管理会话的信令协议。 用于描述媒体属性的协议,即说明该多媒体会话传输的是什么。 说明用于多媒体传输的方法和属性,即如何进行多媒体传输。 j i n g l e 消息分为两类,即会话级别的消息和内容级别的消息,具体介绍如表2 1 所示。 表2 1j i n g l e 的消息类型 j i n g l e 动作 意义级别 s e s s i o ni n i t i a t e 请求一个新的j i n g l e 会话 s e s s i o nl e v e l s e s s i o n _ a c c e p t 接受这次会话的协商s e s s i o nl e v e l s e s s i o ni n f o 发送会话级的信息 s e s s i o nl e v e l 第二二章v o i p 相关技术 s e s s i o nt e r m i n a t e 结束会话 s e s s i o nl e v e l c o n t e n t _ a c c e p t 对内容增加或删除动作的接收 c o n t e n t1 e v e l c o n t e n ta d d 内容增加 c o n t e n tl e v e l c o n t e n tr e m o v e 内容删除 c o n t e n tl e v e l , c o n t e n tr n o d i f y 内容修改 c o n t e n tl e v e l t r a n s p o r t _ i n f o 交换传输候选方法c o n t e n tl e v e l 整个会话过程中,消息传递引起的系统状态变化如图2 6 所示,主要有三种: p e n d i n g 状态,即发起方已经发起会话,但是接收方尚未接收会话的状 态。 夺a c t i v e 状态,即进入正式的多媒体会话的状态。 e n d e d 状态,会话已经结束。 c o n t e n t - a c c e p t c o n t e n t m o d i f r c o n t e n t - r e m o v e s e s s i o n i n f o t r a n s p o r t - i n f o c o n t e n t - a c c e p t c o n t e n ta d d c o n t e n t m o d i f y c o n t e n t - r e m o v e s e s s i o n i n f o t r a n s p o r t - i n f o 图2 6j i n g l e 状态转换图 整个会话的过程如下: ( 1 ) 发起方发出一个会话发起消息,其中可以指定当前会话所支持的多媒体格 式和传输机制。 ( 2 ) 接收方在收到该消息后,若本方资源能够接受( 非用户动作) ,即可开始 与对方协商和建立双方的网络连接。 ( 3 ) 接收方接受或者拒绝会话请求。 ( 4 ) 若接受,则在双方之间直接传输多媒体数据。 具体消息流程如图2 7 所示: 1 2 f r e e p p i n s t l i n k 网关的研究与实现 发起方接收方 s e r v i c ed i s c o v e r y 山其他文件支持 立i lx e p 0 0 3 0s e r v i c e 第0 步确定资源 ; d i s c o v r e y x e p - 0l6 8r e s o u r c e d i s c o v e r y r e s u : a p p l i c a t i o np r i o r i t y s e s s i o ni n i t i a :, : 卜一i qr e s u l t i qe r r o 卜一 第l 步初始化阶段 ; 内容的协商 这个阶段还包括内 : 包括内容描述格式 c o n t e n t r e m o v e 容的协商的协商和内容传输 i q r e s u l t i qe l r g 7 方法的协商( 任意一 ; 方都可以发起协商) : g e s s i o n a c c e p : i qr e s u i : m e d i a d a l 传送多媒体数据 第2 步多媒体数据 的传输 这个阶段也u ,进j j c o n t e n t a d d 内容的协商 内容协商 i qr e s u l ti qe r r g r 包括内容描述格式 c o n t e n t - a c c e v 的协商和内容传输 i ar e s u ;: 方法的涛商 第s 步终止会话 一s e s s i o n t e r m i n a :, = i qr e s u l t , 2 1 3 协议比较 图2 7j i n g l e 基本会话过程 由上一节协议分析可知,l a x 协议和x m p p 协议的区别主要有以下几点: 令信令不同 i a x 和x m p p 的信令格式、名称均不相同,l a x 的信令格式继承了以往的信 令协议s i p 和h 3 2 3 的风格,采用规定字节数的包头信息段加数据段的格式封装成 帧;而x m p p 是以x m l 为基础的开放式通信协议,继承了x m l 的数据结构,能 够表示任何结构化信息。 令媒体流传输方式不同 x m p p 协议只负责控制会话过程,其媒体流采用r t p 传输;而l a x 协议把媒 体流传输协议和控制信令协议合二为一,因此二者之间的媒体流不能相互理解。 语音编码方式不同 第二章v o l p 相关技术 l a x 网络和x m p p 网络环境不同,选择的最佳编码方式也会有差别,如果不 进行转换,则互相无法解码并交换信息。 2 2v o i p 网关技术 目前v o l p 系统一般由i p 电话终端( t e r m i n a l ) 、网关( g a t e w a y ) 、关守 ( g a t e k e e p e r ) 、网管系统等几大部分组成。其中,v o l p 网关主要实现话音编解 码、呼叫处理和控制、分组、信令转换甚至q o s 管理以及路由寻址( 地址映射) 等核心功能,是i p 电话系统的关键设备【i o 】。 2 2 1v o i p 网关基本原理 i 竺p ! 一一一一一一一一一一一一一一j 一信令网关! 信令一 一,j 【一一一一一一t + ;媒体网关! = 控制器 l 一l 一一j j f - l j 1 i ! 语音流语音流 ;媒体网关 :一一一一一一一一一一一一一一j 图2 8v o l p 网关 媒体网关负责在不同域之间进行地址映射和编码转换;媒体网关控制器负责 信令格式的转换,此外,它还控制着媒体网关的工作。 2 2 2v o i p 网关的工作过程 目前,v o l p 系统有四种实现方式:p c 与p c 、p c 与p h o n e 、p h o n e 与p c 以 及p h o n e 与p h o n e ,它们的主要区别是用户所使用的终端不同以及网关所提供的功 能不同。由于p c t o p c 方式最符合用户现有的使用习惯,不需终端用户增加新的 设备和投资,因此是各级运营商i p 电话的主要形式,有着更广泛的应用前景,也 是v o i p 技术研究的重点方向。图2 9 表示出了p c t o p c 通信方式的网络体系结构 1 9 1 o 1 4 f r e e p p i n s t l i n k 网关的研究与实现 淼圜 冒罄絮一 1 芸竺! 二r 丽 目的地址= 二二3 堡兰竺竺l 熏。一 发送语音包 图2 1 0 网关工作过程 向被叫用户 转发语音信号 第二章f r e e p p 服务器架构分析 第三章f r e e p p 服务器架构分析 第二章介绍了网关的基本原理,本章将详细介绍f r e e p p 服务器的结构框架, 并对各个模块进行逐一描述。l a x 服务器的结构主要包括六个功能模块,如图3 1 所示。 图3 1f r e e p p 服务器系统架构 夺网络接口模块:创建套接字( s o c k e t ) ,建立t c p u d p 连接,监听端口状 态,从网络上接收数据或发送数据到网络中。 夺协议分析模块:解析和处理客户端发送的各种信令和语音数据;将不同协 议的信令或语音数据映射成统一的公共c o m 帧后发送到公用信道模块; 如果是需要即时应答帧,则立即向客户端发送应答信息;接收公用信道模 块的信令和语音数据,准备发送给客户端;根据协议的不同,实现公用信 道定义的接口。该模块根据所支持的协议类型又可细分为l a x 、s i p 、r t p 模块。 夺公用信道模块:屏蔽底层各种类型i p 协议的差异性,为交换模块的管 理和调度提供统一接口。 令p b x 交换模块:服务器的控制部分,负责维护会话状态机,根据从公用 信道模块收到的c o m 帧控制主被叫公用信道的状态,从而控制整个会话 过程。 任务调度模块:负责管理和执行系统中的定时任务。 令编码转换模块:对于主被叫客户端所支持语音编码格式不兼容的通信,在 转发语音数据时使用该模块来进行编码格式的转换。 1 6 f r e e p p i n s t l i n k 网大的研究与实现 3 1 网络接口模块 网络接口模块位于服务器的最底层,主要负责建立t c p u d p 连接。从网络上 接收数据或者将数据发送给指定的客户端。 在服务器初始化时,需要为每种协议建立相应的s o c k e t ,监听各自的协议帧。 对于每种协议,创建一个守护线程来不断轮询端口是否有数据。如果有数据,就 调用协议分析模块中相应的处理函数来处理。图3 2 描述了s o c k e t 的监听处理过 程。 图3 2s o c k e t 的处理过程 由于服务器支持多种v o i p 协议,对于不同的协议,服务器使用的通信端口、 连接方式和处理函数不同。表3 1 列举了r t p 、i a x 协议在通信方式上差别。 表3 1 各协议的通信方式 1。_。1。一+ 。1 。 协议端口连接方式 处理函数 i a x4 5 6 9u d pia x s o c k e tr e a d r t p随机分配u d p r t p s o c k e t _ r e a d 3 2 协议分析模块 协议分析模块的职责就是解析收到的协议帧,并进行相应的处理。协议分析 模块又可细分为i a x 、s i p 等模块。这些模块和上层公用信道模块使用统一的接口 通信。如果要扩展某种协议,只需在协议分析模块中添加相应的协议模块,并实 现公用信道模块的接口函数即可。 对于注册、质量统计等非会话消息,只在协议分析模块处理,并发送响应给 客户端。其他与会话相关的消息( 请求会话、呼叫应答以及语音数据等) ,需经 协议分析模块处理后转换成c o m 帧送入公用信道模块继续处理。 第三章f r e e p p 服务器架构分析 3 3 公用信道模块 为了屏蔽底层v o l p 协议的差异,以便在上层对各类协议进行统一处理,f r e e p p 服务器借鉴了中间件的思想,在底层协议信道和上层控制模块之间添加一类特殊 的信道,即公用信道。公用信道提供了一系列的接口,上层控制模块只需通过这 些接口就可以控制公用信道,从而达到管理和控制整个会话过程的目的,而不必 关注底层协议信道具体使用的是哪种v o l p 协议【1 7 1 。具体通信模式如图3 3 所示。 控制模块 lj l 公用信道公用信道 ab j ij i 客户端a l 协议信道协议信道 客户端bt 一 a b 一 服务器 图3 3 公用信道模型 ( 1 ) 会话过程 如图3 4 所示,不同v o

温馨提示

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

最新文档

评论

0/150

提交评论