




已阅读5页,还剩64页未读, 继续免费阅读
(通信与信息系统专业论文)边缘业务接入网关的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 边缘业务接入网关最基本的功能是解决用户端防火墙地址转换设备穿越问 题,并利用设备组网的屏蔽功能实现软交换核心网络的安全保护。此设备还在发 展中,设备的功能也在不断更新和完善,目前需要考虑的功能主要有:互通、安 全,接入控制。 针对边缘业务接入网关的接入和互通的功能,本论文中主要论述了v o i p 电 话网关的实现和针对该网关的f 霄n a t 穿越两部分内容。前一部分着重描述了 o r t p 协议栈的移植及v o i p 电话网关中语音处理部分的实现。同时由于i p v 4 地 址的匮乏以及出于安全的考虑,存在大量的使用地址转换技术的局域网,当语音 网关放置于局域网内时,会出现通话不能建立的现象,论文的第二部分主要针对 基于s i p 协议的v o i p 电话网关处于私网内时遇到的通话不能建立的问题描述了 地址转换设备防火墙的穿越的实现方案,以及编程实现。 关键字:会话发起协议h 3 2 3v o i p 语音网关地址转换设备防火 墙的穿越 a b s t r a c t s o l u t i o no f n a t f wt r a v e r s i n gi st h em a i nf u n c t i o no f b o r d e rs a 啊c e 羽嬲sg a t e w a y t h eb o r d e rs e r v i c ea c c e s sg a t e w a ys h i e l d e dt h et o p o l o g yo fp n v a :t cn e t w o r k i n a n o t h e rw o r d t h ec o r ec o m p o n e n to f as o f ts w i t c hn e t w o r ki sp r o t o c t e db yt h eb o r d e r s e r v i c ea c c 翻sg a t e w a y t h eg a t e w a yi ss t i l lad e v e l o p i n ge n t i t y i t sm a i nf u n c t i o na r o i n t e r c e n n a c t i o n , s c c e r i t ya n da c c e s sc o n t r 0 1 t h ep a p e ri sd i v i d e di n t ot h r e ec h a p t e r s , i n t r o d u c e st h ep r e s e n ts o l u t i o n so f f i r e w a l l n e t w o r ka d d r e s st r a n s l a t i o nt r a v e r s i n ga n dp r a c t i c a la p p l i c a t i o no f j i t t e rb u f f e r t os o l v et i m ed e l a y j i t t e ro f v o i c ep a c k e t t h ef i r s tp a r tm a i n l yd e s c r i b e sp o r t i n go ft h eo r t ps t a c kf r o ml i n u xp l a t f o r mt o v x w o r k sa n di m p l e m e n t a t i o no fr t pr e l a t e ds u b s y s t e mo ft h ev o 口g a t e w a y a n o t h e r p a r t o ft h e p a p e rg i v e ab r i e fi n t r o d u c t i o nt o i m p l e m e n t a t i o n o f c o n e s y r m n e t r yn a t t u n n e lf o rs i pa n dr t p ,a n df i r e w a nt r a v e r s i n gw h e nt h ev o i p g a t e w a yi sp l a c e di np r i v a t en e t w o r k k e yw o r d s :s i ph 3 2 3 、,b 口g a t e w a yo r t pn a t f wt r a v e r s i n g 符号说明 n 缸嘻w : n a t ( n e t w o r ka d d r e s st r a n s l a t i o n ) 网络地址解析。 f w 是f i r e w a l l 的简写,即防火墙。 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 文注 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 第一章项目背景 n g n ( n e x tg e n e r a t i o nn e t w o r k ) 即下一代网络,是近年来全球通信产业关 注的焦点技术之一。国内外的政府部门、行业团体、运营商、设备厂商等都在积 极进行着n g n 的研究与探索。n g n 网络最大的特点是提供开放式的体系架构和标 准的接口,实现了业务与呼叫分离,呼叫与媒体分离;n g n 网络以软交换为核心 完成业务的控制和管理,采用i p 协议实现新一代网络上语音、视频、数据等综 合业务融合,采用多样化的宽带无缝接入实现多种业务的接入。2 0 0 4 年2 月i t u - t 首次对n g n 给出了明确定义:即n g n 是一个分组网络,它提供包括电信业务在内 的多种业务,能够利用多种带宽和具有q o s 能力的传送技术,实现业务功能与低 层传送技术的分离;它提供用户对不同业务提供商网络的自由接入,并支持通用 移动性,实现用户对业务使用的一致性和统一性。 n g n 具有广泛的内涵,其研究范围相当宽泛,例如:采用软交换技术的分组 化的话音网;以智能光网为核心的下一代光网络;以m p l s 、i p v 6 为重点的下一 代i p 网;以及采用3 g 、4 g 的下一代无线通信网等等。随着网络向分组化的演进, 迫切需要一种灵活、有效的解决方案来实现现有电信网络向未来网络的平滑过 渡,以软交换为核心的解决方案应运而生,并以开放、灵活、强大的业务提供能 力等优点倍受青睐,成为目前研究的重点。同时随着信息通信产业的融合,n g n 成为了融合的目标网络,通信、软件、i c 等技术的进步使得这种融合的实现成 为可能,而市场需求则是融合的关键推动力,这里的需求既包括最终消费者也包 括运营商。 针对以上两点需求,本课题提出边缘业务接入网关这一研究内容。在这里主 要实现语音的接入,即实现v o i p 电话网关以及针对该网关的f w n a t 穿越两大研 究内容。 第二章v o i p 电话网关与语音通信相关的研究与实现 2 iv o i p 电话网关的结构 2 i i 什么是v o i p ? v o i p 是v o i c eo v e ri n t e r n e tp r o t o c o l 的缩写,指的是将模拟的声音信号 压缩与封包之后,以数据封包的形式在i p 网络的环境进行语音信号的传输,通 俗来说也就是互联网电话、网络电话或者简称i p 电话的意思。v o i p 技术是目前 互联网技术领域的一个十分重要的应用。v o i p 语音通信的基本原理是:首先使 用会话控制协议建立通信,通信建立后,通过语音的压缩算法对语音数据编码进 行压缩处理,然后把这些语音数据按t c p i p 标准进行打包,经过i p 网络把数 据包送至接收端,再把这些语音数据包串起来,经过解压处理后,恢复成原来的 语音信号,从而达到由互联网传送语音的目的。i p 电话的核心与关键设备是i p 网关,它将完成呼叫处理、数字语音打包等功能。在用户拨打长途电话时,网 守根据接收到的电话号码查找注册信息,确定相应网关或v o i p 电话的i p 地址, 完成地址解析的功能。并将此i p 地址加入i p 数据包中,同时选择最佳路由, 以减少传输时延,i p 数据包经i n t e r n e t 到达目的地的网关。在一些i n t e r n e t 尚未延伸到或暂时未设立网关的地区,可设置路由,由最近的网关通过长途电话 网转接,实现通信业务。 2 1 2v o i p 语音网关在网络中的位置 v o i p 语音网关在网络中一侧连接i p 网,另一侧连接传统电话终端,在网络 中的位置如图2 一l 。其功能是将语音流转换为i p 包,向用户提供的是v o i p 语音 服务。在具有软交换系统的网络中,v o i p 语音网关处于接入层的位置,负责不 同媒体格式之间的转换。 v o i p 语音网关具有以下功能: ( i ) 接入功能 v o i p 语音网关要负责各种用户和网络的接入,例如,普通电话用户。通过 v o i p 语音网关的接入功能,任何一种用户都可以基于分组网享受到基于软交换 网络提供的业务。 ( 2 ) 语音压缩和处理的功能 在现有的软交换网络解决处理方案中,语音网关都被放在传统电话网和分组 2 网之间,实现语音流和分组包之间的转换。因此,语音网关具有语音编解码压缩 的功能,它可以支持g 7 1 1 等多种语音编码方式,并能在不同的编码方式之间选 择。 现在的编码方式的选择有多种方法:( 1 ) 在语音网关上通过手工的方式进行 配置;( 2 ) 在控制层的软交换设备上人工指定某种编码方式,并通过媒体网关 控制协议通知媒体网关;( 3 ) 控制层的软交换设备根据分组网的拥塞情况动态决 定采用哪种编码方式,并与媒体网关进行协商;( 4 ) 媒体网关根据分组网的拥塞 情况动态决定采用何种编码方式 2 以上的四种方式,后两种方式可以自动的或在软交换设备的控制下,动态的 完成较高速率的语音编码方式和较低速率的语音编码方式之问的智能判断和选 择。当网络拥塞时可以由高码率转换到低码率,当网络条件较好时,可以由低码 率转换到高码率。这也时媒体网关实现服务质量保证的重要手段之一。 图2 - 1v o i p 网关在网络中的位置 2 1 3v o i p 网关中语音处理流程 图2 - 2 语音的i p 组包流程 图2 - 3 用于会话控制的协议的i p 组包流程 如图2 2 所示,从模拟语音信号到v o i p 的分组需要经过以下几个过程: ( 1 ) 把人的模拟语音信号数字化,成为6 4 k b p s 码率的p c m 编码。 ( 2 ) p c m 编码经过各种方式的压缩编码,成为各种速率的压缩语音信号。 ( 3 ) 增加r t p 头、u d p 头、i p 头以后,成为v o i p 分组数据包。 在软交换网络中,用的比较多的语音编码方式有g 7 1 1 、g 7 2 6 、g 7 2 9 、g 7 2 9 a 和g 7 2 3 等。 为了降低网络带宽需求,在发送之前对音频和视频信号要进行压缩编码,在 接收时再解码。这种压缩和解压过程由各种音频和视频编码器和解码器标准来控 制。本方案所实现的y o i p 语音网关使用a c 4 8 3 数字处理芯片实现语音信号编码 及解码。 图2 - 3 语音网关内部各模块 在图2 3 中,a c 4 8 3 是编解码芯片。s o c k e t 是网络编程的一种标准编程接口。 消息队列是指h 3 2 3 s i p 协议栈的消息队列。驱动消息队列是指硬件驱动的消息 队列。这两个消息队列都是对消息做缓存,具体的过程如下: ( 1 ) 硬件检测到用户摘机之后,给用户发拨号音,开始收号;收号完毕( 拨 号以“# ”键结束) 后,被叫号码被送到h 3 2 3 s i p 协议栈处理,开始通话建立 过程。 ( 2 ) 通话建立后,主叫方的语音信号经过抽样、量化、编码成为数字信号, 再经压缩编码后,被缓存到消息队列中。然后分组加r t p 包头经s o c k e t 发送出 4 去。 ( 3 ) 被叫方的语音信号由r t p 承载,由s o c k e t 接口收到后,经过抖动处理 之后,去r t p 包头,解码。 压缩分组在一个或更多个传输协议的控制下在网络上传输。交换网关保证分 组在其它的i p 系统或p s t n 系统中的目的地是能互操作的。在最终目的地,分组 集被解码然后转换回音频信号,然后在当地通过接收方的耳机或扬声器播放出 来。 会话控制:h 3 2 3 与s i p h 3 2 3 与s i p 是v o i p 系统的会话控制协议。用于建立、修改或终止会话的 信令协议。目前被广泛采用的协议有两种;比较成熟的h 3 2 3 协议和s i p 协议。 但是会话发起协议( s i p ) 因其更适合于i p 网络,而得到迅速发展并逐渐成为下 一代网络的主流标准。 h 3 2 3 是国际电信联盟电信标准化部门( i t u - t ) 最初为实时多媒体( 话音和 视频) 会议及其辅助数据传送开发的一个标准。可以满足g o i p 网络的需求。从技 术上看它是一个容器,包罗了许多必需的和可选的网络和媒体编解码标准。h 3 2 3 的连接信令部分由h 2 2 5 协议控制,而参数协商由h 2 4 5 协议支持。 会话初始化协议( s i p ) 由因特网工程工作小组( i e t f ) 在r f c3 2 6 1 规范中定 义。尽管h 3 2 3 协议可以起到和s i p 协议几乎相同的作用,但是s i p 协议是一个 更新的协议,它也更简单,而且是专门为i p 电话和其它的因特网服务而开发的。 因此,认为是一种更新型的解决方案。 s i p 是一个在i p 网络上进行多媒体通信的应用层控制协议,它被用来创建、 修改和终结一个或多个参加者参加的会话进程。s i p 非常类似i n t e r n e t 其他协 议( 如h t t p 和s m t p ) ,遵循了因特网协议一贯坚持的简练、开放、兼容和可扩 展等原则,并充分注意到在开放复杂环境下的安全问题,也充分考虑到了对传统 公共电话网的各种业务的支持。 s i p 协议的基本思想是采用c l i e n t s e r v e r 和h t t p 协议模型,每一个请求 触发服务器的操作方法;请求和响应构成一个事务,事务之间相互独立,一个完 整的呼叫包含多个事务;独立于底层传输协议u d p t c p s c t p ,消息中可携带任 意类型的消息体。 s i p 网络包含两类组件,用户代理( u s e ra g e n t ) 和网络服务器( n e t w o r k s e r v e r ) 。用户代理又分为用户代理客户端( u a c ) 和服务器( u a s ) ,u a c 负责发起 s i p 呼叫请求,u a s 负责对呼叫请求作出响应。u a c 和u a s 是逻辑上的分法,在 实现中它们可能是同一个实体。s i p 网络服务器主要为用户代理提供注册、认证、 鉴权、路由等服务,分为代理服务器( p r o x y ) ,重定向服务器( r e d i r e c ts e r v e r ) 和注册服务器( r e g i s t e r ) 3 。 s i p 消息用于会话连接的建立及修改,其格式与h t t p 协议的格式很相像。 s i p 消息分为r e q u e s t 和r e s p o n s e 两类消息,r e q u e s t 消息有6 个基本类型,包 括:i n v i t e ( 发起呼叫) 、a c k ( 对应答做出回应) 、b y e ( 拆除连接) 、c a n c l e ( 中 途取消) 、o p t i o n s ( 查询对方的能力) 、r e g i s t e r ( 注册) ,s i p 协议的制订者还 在根据需要定义新的类型。 s i p 协议具有简单、开放、灵活、可扩展等多方面明显优点,成为下一代网 络软交换体系的重要技术。 图2 - 4 为基于s i p 协议的终端之间建立会话的基本流程。其中s i p h 3 2 3 c s g w 是用于s i p 和h 3 2 3 信令转换的设备,在s i p 服务器端可以将其视为基于s i p 的终端。如前所述s i p 网络服务器分为代理服务器( p r o x y ) ,重定向服务器 ( r e d i r e c ts e r v e r ) 和注册服务器( r e g i s t e r ) ,但这些划分都是逻辑上的。s i p 协议中只定义了上述三种服务器的功能,并未对它们在工程中的具体实现作出说 明。技术人员可以根据需要选择在同一进程中实现三种服务器的功能;或分别用 一个进程实现一个服务器:甚至可以将三个逻辑的服务器用三个可执行程序来实 现,配置在三台机器上。图2 - 4 中的m a r s h a l 正是一种对三个逻辑服务器的具体 实现,它在同一个设备中实现了所有三种逻辑服务器的功能。r e g i s t e r 消息按 s i p 协议规定是由注册服务器( r e g i s t e r ) 处理的,而随后的用于建立会话的 i n v i t e 等消息是由代理服务器( p r o x y ) 或重定向服务器( r e d i r e c ts e r v e r ) 处理的,正因为m a r s h a l 将三种服务器的功能集于一身,所以在下图中的消息都 由m a r s h a l 来处理。 图2 - 4s i p 协议建立会话的基本流程 6 碧 s i p 协议与会话描述协议( s d p ) 配合实现发现用户,提供参数协商和呼叫管 理等功能。s d p 本质上是一种用于描述会话发起和请求期间流媒体初始化参数的 格式。s i p 和s d p 协议组有点类似于h 3 2 3 中的h 2 2 5 和h 2 4 5 协议族。s i p 可 以用于只有两个终端而没有服务器设旄的系统中。但是,在公用网上,需要利用 专用代理和注册服务器来建立连接。在这样的配置中,每个客户端都会用一个服 务器登记姓名,以便使呼叫方能从因特网上的任何地方找到它。 传输层协议 我们刚才讨论的信令协议负责配置网络中的多媒体会话。信令协议和通信建 立之后的媒体数据都是通过采用一个或多个数据传输协议( 例如u d p 或t c p ) 在 网络结点间传送。 1 用户数据报协议( u d p ) u d p 是一个分组仅仅向外广播的网络协议。不能确认另一端是否接收到分 组。这就是说交付是没有保障的,因此在网络的峰值负载期间,话音传输仅仅采 用u d p 是无法正常工作的。这就是为什么通常要在u d p 上层采用一个类似于r t p 的媒体传输协议了。 2 传输控制协议( t c p ) t c p 采用一种客户端一服务器的通信模型。客户端向网络中的另一台计算机 ( 或服务器) 请求( 或被提供) 服务。每个客户端请求都是单独处理的,与先前的任 何请求都无关这样就保证了“空闲的”网络通路可用于其它的通道。 t c p 创建比较小的分组,可以在发送到因特网上并被呼叫另一端的t c p 层接 收,这样分组就会被。重装”回原始消息。i p 层处理每个分组的地址字段以便 它可以到达正确的目的地。 和u d p 不同的是,t c p 要保证接收端能完整地接收分组。然而,它是通过分 组重传来实现的,重传增加了延时,这对实时话音通信是不利的。换句话说,因 为重传引起的延迟分组和丢失的分组一样严重。因为这个特性,通常都认为t c p 不是一个适合实时流媒体传输的传输控制协议。 媒体传输 如前所述,直接在传输协议上发送媒体数据对于实时通信来说并不是很有 效。这就是为什么通常要采用媒体传输层来有效地处理这类数据。 1 实时传输协议( r t p ) r t p 为实时的分组音频和视频数据提供传送服务。它是i p 网络上传输实时 数据的标准方式。该协议位于u d p 之上以便将分组头部开销最小,但是这样是要 付出代价的,因为无法保证可靠性和分组的顺序。与t c p 相比,r t p 的可靠性较 低,但是分组的传输时延较小,因为t c p 的分组头部开销要比r t p 大的多。 7 为了保证一定的q o s 等级,r t p 给每个发送的分组采用了时间戳、顺序编号 以及交付证实。它还支持许多纠错方案以提高系统的健壮性。还有一些基本的安 全选项用于加密的数据分组。 2 实时传输控制协议( r t c p ) r t c p 是一个补充协议,用于通信控制信息,例如发送和丢失的分组数量、 抖动、延时以及终端的描述等。它主要用于管理会话和分析r t p 流的q o s 。它还 提供一个反向的通道用于限制r t p 分组的重传。 2 2 电话网关中r t p 协议的实现 我在电话网关项目中的工作就是将o r t p 协议栈移植到v x w o r k s 平台下,并 利用该开源协议栈实现网关的语音传输及其时延抖动处理子系统。同时还要负责 测试环境的搭建,主要是服务器的编译、配置和管理。 在电路交换型话音网中,一般采用数字交换技术在呼叫方和接收方之间建立 一条专用链路。这种连接能提供语音通信所需的固定带宽,不采用复杂的编码算 法就可以提供较高的语音质量。 而v o i p 采用网际协议( i p ) 在因特网或专用网上发送数字化的话音服务。i p 分组由一个控制头部和数据净荷组成。头部为分组提供网络导航信息,而负载包 含压缩的语言数据。 和电路交换电话不同的是,数据传输是基于分组的,以便对数据块进行分组 和压缩,然后通过网络发送出去,最终在接收端进行重新组装。换句话说,发送 方和接收方之间无需专用链路。 分组技术非常适合在网络上传输“数据”( 例如,一个j p e g 文件或电子邮件) , 因为传送降为“尽力服务”型。该网络可在相同的媒质上高效地传送来自于多种 信源的数据。但是,对于话音服务来说,“尽力服务”型是不够的,因为接收端 解码得到的音频信号质量可能令人无法接受,因为当分组经过网络的延时是不固 定的。这就是为什么v o i p 协议要通过服务质量( q o s ) 来致力于提供足够的网络带 宽以便防止延时降低话音质量。 2 2 1 抖动处理 2 2 1 1 通话过程中语音质量分析 1 1 i p 电话中出现的语音质量问题 在i p 网络上传送话音,影响传送质量的因素主要有分组延时、分组丢失和 抖动。 分组延时的定义是以秒为单位的由主机a 在链路上开始向主机b 发送信息, 到主机b 接收到该信息之间的时间差。换句话说,分组延时直接对应于从第一个 用户开始谈话到第二个用户( 昕者) 昕到第一个音节之间的时间差。 分组丢失是指从主机a 发送的,但不能到达主机b ( 目的地) 的分组数占所发 送的所有分组数的百分比。网络上分组丢失的百分比可能明显地影响i p 网络上 话音的质量。语音本是连续的信号,在将分组数据从主机a 发送到主机b 的过程 中,由于分组传输路径不同,每个路径的长短和数据流量各不相同,造成了分 组到达接受端的时间有所不同,这样在接受端回放的语音变得时断时续,这种现 象称为话音抖动。 2 2 1 2 解决语音抖动问题的方案 l 抖动的处理思路 i n t e r n e t 的实质是分组交换网络,i p 分组是存储、转发的最小单元。因此, 同一信源的分组可能经过不同的路由传输到接收端,分组到达接收端的时延也不 同。这种时延抖动的存在引起收端解码后的语音信号出现间断,造成语音失真, 所以必须进行时延抖动的吸收补偿 在语音抖动处理中主要采用的是抖动缓冲技术,即在接收方设定一个缓冲 池,接收端对抖动程度做出预测,话音包到达时首先进入缓冲池暂存,系统以稳 定平缓的速率将话音包从缓冲池中取出、解压、然后播放给受话者。这种缓冲技 术可以在一定限度内有效处理话音抖动,提高音质。使用抖动缓冲技术的原理如 图2 5 所示:为了确定语音包的正确时问间隔,在r t p 的包头上提供了一个时间 戳( t i m es t a m p ) 域,用于记录这个呼包的产生时间。在发送端,i p 网关产生的 数据包a ,b 的时间间隔和b ,c 的时间间隔均为2 0m s $ 经过i p 网络的传输后, 在接收端收到的数据包b ,c 的时间间隔变成了3 0m s | 为了恢复原有的时间间 隔,接收端呼网关根据每个呼包的r t p 时间戳来确定数据包的正确时问间隔,把 他们恢复成原来的2 0m s 向下一级设备发送。由于消抖动缓存池不是在接收到每 一个话音包的情况下就立即转发,因此还要确定适当的转发延时的大小。如果延 时太长,就会使系统整体的延时变得很长;如果延时太短,i p 话音包在允许的 时间范围内没有到达,话音仍会出现抖动现象,缓存池的作用不很明显。 9 图2 - 5 语音抖动处理分析图 如图2 5 所示,在语音的实际传输过程中,语音从发端出来,经过一系列网 络设备,到达接收端时,接收端接收到发端的语音后,其缓冲池自动对语音的抖 动程度作出智能判断,然后根据其抖动程度,附加一个语音长度,吸收延时。但 实际上延时抖动是随机的,从而附加抖动吸收时延很难准确地确定,如选择不当 将产生“欠载”或“过载”现象。一种较为有效的解决办法是以还原语音突发中 的总间段长度为基础来决定抖动吸收延时的大小。而且一般认为,当总间断长度 在3m s 以下时,即使不进行抖动吸收控制也能获得较好的再生语音。如何根据接 收到的语音包来自适应地完成抗抖动缓存大小的选择。是抗抖动工作中最重要的 一环( 这是i p 电话实时应用中必不可少的一步,目前只是在模型中设定了一个固 定长度的b u f f e r ) 。 2 语音抖动处理的设计 根据以上分析,在具体的设计方案中对缓冲的处理是关键,我们采用语音智 能缓冲平滑的方法解决语音抖动问题。 缓冲区大小的设计 系统可以通过适当增加缓冲区大小来保证语音包的时延抖动处理的质量。当 发端网关发送一个数据块时,接收方网关用一定大小的缓冲区接收数据,只有当 整个数据块都收到后,才放入语音卡放音缓冲区给语音卡放音。对每一个数据块 来说,在网络上的传输是不连续的,但对整个数据块来说,传输就是相对连续的。 缓冲区越大,语音的连续性越好。同时,增加缓冲区的大小后也带来了不利的因 素,他增加了传输延迟。所以在实际应用中,必须在减少延迟和增加缓冲区大小 之间权衡,本方案中,我们取1k b 为缓冲区的容量。 抖动控制代码的具体实现如下: 在以下的抖动控制算法中主要计算了两个值- - j i t t e r 和s l i d e 。s l i d e 是 数据包的期望到达时间和从s o c k e t 实际收到数据包的时间之差的平均值。 j i t t e r 是从s o c k e t 实际收到数据包的时间与s l i d e 之差的绝对值的平均值。 1 0 s o c k e t 是网络编程的标准编程接口。使用一组函数就可以方便的实现面向 连接的或无连接的网络编程。从s o c k e t 的接收函数收到的数据已经是应用层的 了。r t p 是传输层协议,如图2 - 6 所示。但在实际编程中r t p 的报文是和应用层 数据一起处理的。 s l i d e 被用于时钟校正。j i t t e r 被用作数据包到达时间的补偿值,去补偿 那些在突发数据流量中未按预期时间间隔到达的数据包。 在下面的程序中,j cb e t a 和j cg a m m a 是宏,它们的定义如下: # d e f i n ej c _ b e t ao 0 3 # d e f i n ej c _ g a m m a ( j c _ b e t a ) 即j cb e t a 和j cg a m m a 和的值均为0 0 3 。 c t l 一 c o u n t + + : c t l - s l i d e = ( f l o a t ) ( ( c t l 一 s l i d e * ( 1 一j c b e t a ) ) + ( ( f l o a t ) d i f f * j cb e t a ) ) : 上一句由s l i d e 和d i f f 的加权平均计算出新的s l i d e 值。 g a p = ( f l o a t ) f a b s ( ( f l o a t ) d i f f c t l 一 s l i d e ) : c t l 一 j i t t e r = ( f l o a t ) ( ( c t l 一 j i t t e r * ( 1 - j c _ g a m m a ) ) + ( g a p * j c _ g a 涮a ) ) :一 上一句由j i t t e r 和g a p 的加权平均计算出新的j i t t e r 值。 d = d i f f - c t l 一 o l d d i f f ; c t l 一 i n t e r j i t t e r = ( f l o a t )( c t l 一 i n t e r j i t t e r + ( ( ( f l o a t ) a b s ( d ) 一 c t l 一 i n t e r _ j i t t e r ) * ( 1 1 6 0 ) ) ) : c t l 一 o l d d i f f :d i f f ; i f ( c t l 一 a d a p t i v e ) c t l 一 a d a p t _ j i t t _ c o m p _ t s = ( i n t ) m a x ( c t l 一 j i t t _ c o m p _ t s ,c t l 一 j i t t e r ) : * s l i d e = ( i n t 3 2 _ t ) c t l 一 s l i d e : * s a f e _ d e l a y = ( i n t 3 2 一t ) c t l 一 a d a p t j i t t _ c o m p _ t s ; e l s e * s l i d e = o ; * s a f e _ d e l a y = ( i n t 3 2 一t ) c t l 一 j i t t _ c o m p _ t s ; ) 变量s a f e _ d e l a y 的值便是对数据包进行时间补偿的时延值。 2 3r t p 及r t c p 协议介绍 2 3 1r t p 协议简介 实时传送协议是一个网络传输协议,它是由i e t f 的多媒体传输工作小组 1 9 9 6 年在r f c1 8 8 9 中公布的。 r t p 是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播 和多目标广播网络服务中传输实时数据,而实时数据的传输则由r t c p 协议来监 视和控制。实时传输协议可以被应用在许多领域,包括声音点播 ( a u d i o o n d e m a n d ) 、影视点播( v i d e oo nd e m a n d ) 、因特网电话( i n t e r n e t t e l e p h o n y ) 和电视会议( v i d e oc o n f e r e n c i n g ) 。r t p 的规格没有对声音和电视的 压缩格式制定标准,它可以被用来传输普通格式的文件。例如,w a v 或者 g s m ( g l o b a ls y s t e mf o rm o b i l ec o m u n i c a t i o n s ) 格式的声音、m p e g 一1 和肿e g 一2 的电视,也可以用来传输专有格式存储的声音和电视文件。 使用r t p 协议的应用程序运行在r t p 之上,而执行r t p 的程序运行在u d p 的上层,目的是为了使用u d p 的端口号和校验和。r t p 可以看成是传输层的子 层。由多媒体应用程序生成的声音和电视数据块被封装在r t p 信息包中,每个 r t p 信息包被封装在u d p 消息段中,然后再封装在i p 数据包中。从应用开发人 员的角度来看,可把r t p 执行程序看成是应用程序的一部分,因为开发人员必 需把r t p 集成到应用程序中。在发送端,开发人员必需把执行r t p 协议的程序写 入到创建r t p 信息包的应用程序中,然后应用程序把r t p 信息包发送到u d p 的套 接接口( s o c k e ti n t e r f a c e ) ;同样,在接收端,r t p 信息包通过u d p 套接接口输 入到应用程序,因此开发人员必需把执行r t p 协议的程序写入到从r t p 信息包中 抽出媒体数据的应用程序。 应用层( a p p l i c a t i o n ) 传输层r t p 传输层u d p 网络层i p 数据链路层( d a t al i n k ) 物理层( p h y s i c a l ) 图2 - 6r t p 在协议模型中的位置 1 2 2 3 2r t c p 协议简介 实时传输控制协议( r e a l t i m ec o n t r o lp r o t o c o l ,r t c p ) ,也定义在r f c l 8 8 9 中。多媒体网络应用把r t c p 和r t p 一起使用,尤其是在多目标广播中更具吸引 力。当从一个或者多个发送端向多个接收端广播声音或者电视时,也就是在 r t p 会话期间,每个参与者周期性地向所有其他参与者发送r t c p 控制信息包。 r t c p 用来监视服务质量和传送有关与会者的信息。对于r t p 会话或者广播,通 常使用单个多目标广播地址,属于这个会话的所有r t p 和r t c p 信息包都使用这 个多目标广播地址,通过使用不同的端口号可把r t p 信息包和r t c p 信息包区分 开来。 r t c p 的主要功能是为应用程序提供会话质量或者广播性能质量的信息。每 个r t c p 信息包不封装声音数据或者电视数据,而是封装发送端和或者接收端 的统计报表。这些信息包括发送的信息包数目、丢失的信息包数目和信息包的 抖动等情况,这些反馈信息对发送端、接收端或者网络管理员都是很有用的。 r t c p 规格没有指定应用程序应该使用这个反馈信息做什么,这完全取决于应用 程序开发人员。例如,发送端可以根据反馈信息来修改传输速率,接收端可以 根据反馈信息判断问题是本地的、区域性的还是全球性的,网络管理员也可以 使用r t c p 信息包中的信息来评估网络用于多目标广播的性能。 r t c p 主要有四个功能: ( 1 ) 用反馈信息的方法来提供分配数据的传送质量,这种反馈可以用来进 行流量的拥塞控制,也可以用来监视网络和用来诊断网络中出现的问题。 ( 2 ) 为r t p 源提供一个永久性的c n a m e ( 规范性名字) 的传送层标志,因为 在发现冲突或者程序更新重启时s s r c ( 同步源标识) 会变,需要一个运作痕迹, 在一组相关的会话中接收方也要用c n a m e 来从一个指定的与会者得到相联系的 数据流( 如音频和视频) ( 3 ) 根据与会者的数量调整r t c p 包的发送率。 ( 4 ) 传送会话控制信息,如可在用户接口显示与会者的标识,这是可选功 能。 2 3 3r t c p 传输的工作过程 假设发端数据是6 4k b s 的p c m 编码的语音信号,应用程序取2 0 毫秒的编 码数据为一个数据块,即在一个数据块中有1 6 0 个字节的声音数据。应用程序 需要为这块声音数据添加r t p 标题生成r t p 信息包,这个标题包括声音数据的类 型、顺序号和时间戳。然后r t p 信息包被送到u d p 套接接口,在那里再被封装在 u d p 信息包中。在接收端,应用程序从套接接口处接收r t p 信息包,并从r t p 信 息包中抽出声音数据块,然后使用r t p 信息包的标题域中的信息正确的译码和 播放声音。 如果应用程序使用私有的方案来提供有效载荷类型( p a y l o a dt y p e ) 、顺序号 或者时间戳,而不是使用标准的r t p 协议,则应用程序在与其他的网络应用程 序配合运行时就可能出错。例如,如果有两个不同的公司都在开发因特网电话 软件,如果他们都使用r t p 协议作为他们产品中数据的承载协议,就有希望使 两家公司的电话软件用户之间实现互通。 这里需要强调的是,r t p 本身不提供任何机制来确保把数据及时递送到接收 端或者确保其他的服务质量,它也不担保在递送过程中不丢失信息包或者防止 信息包的次序不被打乱。的确,r t p 的封装只是在系统端才能看到,中间的路 由器并不区分那个i p 数据报是运载r t p 信息包的。 r t p 允许给每个媒体源分配一个单独的r t p 信息包流,例如,摄像机或者麦 克风。例如,有两个团体参与的电视会议,这就可能打开4 个信息包流:两台 摄像机传送电视流和两个麦克风传送声音流。然而,许多流行的编码技术,包 括m p e g 一1 和m p e 6 2 在编码过程中都把声音和电视图像捆绑在一起以形成单一的 数据流,一个方向就生成一个r t p 信息包流。 r t p 信息包没有被限制只可应用于单目标广播,它们也可以在一对多 ( o n e t o m a n y ) 的多目标广播树或者在多对多( m a n y t o - m a n y ) 的多目标广播树上 传送。例如,多对多的多目标广播,在这种应用场合下,所有发送端通常都把 他们的r t p 信息包流发送到具有相同多目标广播地址的多目标广播数上。 2 4o r t p 简介 o r t p ( o p e nr e a l - t i m ep r o t o c o ls t a c k ) 协议栈是为开发l i n p h o n e ( 一种基 于s i p 协议的可在l i n u x 和w i n d o w s 环境下编译安装的v o 口软终端) 而开发的 r t p 协议栈实现,经l g p l 许可发布。o r t p 实现的r t p 协议版本是r f c1 8 8 9 。o r t p 是以c 语言编码的协议栈,它的源码中有许多类似于以下代码的部分,正是这 些预处理指令语句使得该协议栈可以在多种操作系统( 包括l i n u x 、w i n d o w s 、几 种u n i x ) 环境下编译使用。 # i f n d e fw i n 3 2 埘f d e fl i m 1 4 # i n c l u d e # e n d i f # e l s e # i n c l u d e # i n c l u d e # e n d i f 协议栈实现了用于收发同步的定时器,当然这个定时器是可选的;为r t p 会话实现了阻塞和非阻塞的i o ;它还支持i o 复用,这样使得数百个r t p 会话可 以由一个线程去管理。 2 5 协议栈的移植 2 5 1 协议栈移植的必要性 2 5 1 1 语音网关实现中的现实问题一语音数据需要处理 在分组网络上进行视频、音频、数据的传输必须保证传输数据流的连续性, 也就是说数据传输的实时性。 实时通信的要求与那些高速但非实时的通信的要求是不相同的。对于传统的 互联网应用,如文件传送、电子邮件、客户服务器应用等等,我们关心的性能指 标通常是吞吐率和时延。另外我们对可靠性也有要求,因此采取了有关机制确保 数据在传送中不被丢失、损坏或失序。与此不同,实时应用更关心定时的问题。 在绝大部分情况下,都要求数据以等于发送速度的恒定速率传送给对方。在另外 一些情况下,每个数据块都有一个最后时间,超过了这个时间数据就不再有用。 与实时语音通信有关的q o s ( 服务质量) 包括带宽、延时和丢包率三个方面: 1 带宽 为使语音质量不至于太差,需要保证在任何情况下语音传输都能获得一定带 宽。但是i p 网络不提供这样的保证,而且由于传统路由器不提供拥塞控制功能, 因此过大的语音流量将导致路由器的拥塞雪崩,使传输效果迅速恶化。 传统电信网络的建立是先有业务后有网络,因此有q o s 保证。i p 网络的建 立具有不同的思路,即网络在构造时就是为了开展多种业务。很多业务都可以在 i p 网络上实现,但是每增加一种业务,都要占用一定的网络带宽资源,虽然网 络的传输能力在增强,但还是不可能满足大量业务的要求。 为了提高网络中语音传输的质量,必需对带宽进行有效管理。 a 资源预留管理( 集成业务) 。根据申请q o s 请求进行资源分配,根据带宽资源 进行管理。r s v p 协议能提供这种管理机制。 b 优先级管理( 区分业务) 。对网络流量进行分类,根据带宽资源管理策略的准 则进行资源分配。对于要求高的业务给予更高的优先级。 2 延时和抖动 实时语音传输要求端对端时延不能太大,一般时延在5 0 m s 以内,人耳基本 无法分辨;时延在5 0 2 0 0 m s 之间,人耳可以感觉到话音的间隔存在,对语义的 理解和交流影响并不大;一旦时延超过2 0 0 m s ,将严重影响通话质量。较时延而 言,时延抖动对语音质量的影响更大。固定的时延可能只是干扰人们谈话的节奏, 而时延抖动就会在通话之间产生随机的中断,尤其是对无连接的网络来说,严重 的时延抖动将会带来数据包的失序问题。而当前的i p 网络无
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 麻风知识普及课件
- 2025版企业间周转资金还借款合同
- 2025版民间借款合同书样本及借款合同备案流程
- 二零二五年度建筑用钢购销合同规范范本
- 2025版金融风险评估模型保密及市场推广协议
- 2025版建筑垃圾运输合同范本环保责任共担
- 2025版临时展示活动场地租赁协议书范本
- 2025年度食品进出口合同
- 天津事业单位2025年度聘用合同续签流程及要求
- 2025版光伏电站组件生产与质量控制合同
- 2025齐齐哈尔高等师范专科学校教师招聘考试试题
- 医院健康体检中心简介
- 2025年安庆怀宁县事业单位招聘考试试题【答案】
- 2025年上海市中考招生考试数学真题试卷(真题+答案)
- 甲状腺结节的护理查房
- DB51∕T 705-2023 四川主要造林树种苗木质量分级
- 2025年广东省中考英语试题卷(含答案解析)
- 南充职业技术学院引进招聘考试真题2024
- 猫种类介绍教学课件
- 2025至2030年中国硫氰酸红霉素行业市场发展模式及投资趋势预测报告
- 退役军人考警察试题及答案
评论
0/150
提交评论