VoIP技术不仅在固定网络中获得了巨大的成功,在移动网络中也在稳步前进,特别是在向3G迈进的今天,可以预见VoIP在未来会成为话音的主流技术。VoIPoW(VoIPover Wireless)即在移动网络中的VoIP在有着广阔发展前景的同时,也面临着一些挑战,比如QoS和如何有效的利用频谱等。本文将先介绍VoIP在GPRS,UMTS中的应用框架和关键技术,最后再谈谈其QoS的问题。
1
VoIPin GPRS
VoIP在GPRS网络中应用,需要解决的2个关键技术是头部压缩和非标准的TBF。
1.1
头部压缩技术
IP包头过长是影响其在无线网络中应用的一个重要问题,解决这一问题的方案是采用头部压缩技术(RFC2508,低速串行链路下IP/UDP/RTP数据包头的压缩)。
头部压缩技术的原理是:语音编码器生成的语音数据被逐层封装成RTP,UDP和IP包。这样的语音帧头部长度达到40 B,但是有效载荷只有15~30 B。这样对于一个相同的语音流来说,在连续的语音包中就有较高的冗余度。要降低这种冗余,必须使用压缩算法。
IETF提供了多种包头压缩的标准,cRTP就是最有影响力的一种,他可以将40 B的包头最小压缩至2 B。用cRTP进行头部压缩,必须维护上下文信息(Context,即未压缩的在通路两端上一次发送的包头),这样,头部仅仅携带上下文信息的变化即可。但是如果发生丢包或包被损坏,接收端就无法正确地更新上下文信息。所以必须提供相应的机制去监测上下文错误并去修复他。cRTP可以发送上下文更新请求来修复上下文,但是链路上的往返时间会影响这种修复机制的效率。图1就是这种压缩标准的一个示意图。
另一种高效且更适应蜂窝应用的方法是ROCOO (Robust Checksum-based header Compression)。ROCCO在包头提供了解压缩器以及足够的信息,使得可以在本地来修复上下文,即使在多个连续的包流失或损坏的情况下也是如此,这样就消除了cRTP中会造成一些负面作用。
比较而言,ROCOO比cRTP具有更高的健壮性、压缩比和容量,正是因为这些压缩技术,才使得VoIP成为新的无线语音业务的选择变得切实可行。
1.2
非标准的TBF
TBF(Temporary Block Flow)是建立在移动站和网络之间的临时数据通道,在理想情况下他的上行时间为100~150 ms,下行时间为60~100 ms。TBF假定大的应用数据包会在一个TBF中发送,当发送完毕后,他会释放。当语音包连续发送时,频繁地释放和重建。这样显然无法满足实时应用(如VoIP)端到端最小时延的要求,所以必须对TBF的释放机制进行修改。
一种选择是建立一条半永久的TBF,即通话开始建立TBF,通话结束释放TBF。在非活动状态下(如静音),分配给TBF的资源可以被别的应用复用。此外,还可以有永久性的TBF,他相当于电路交换方式,即给MS分配一条永久性的PDTCH(Packet DataTraffic Channel)。永久性的TBF可以被优化,来使实时数据(real time data)和普通数据(best effortdata)仍可被复用。
2
VoIPin UMTS
UMTS(Universal Mobile TelecommunicationSystems)是3G组织提出的全球可漫游的移动通信系统。在UMTS中应用VoIP,结果是在UMTS中产生一个端到端的、高带宽的IP会话,这相当于为移动终端用户打开一个多媒体业务的集合,而这正是UMTS致力的一个目标。
在UMTS中应用VoIP,需要下列的网络元素:MSCServer,SIPServer,UTRANMG,PSTNMG,SG,HSS,AAA,同时在网络中使用SIP作为呼叫控制协议。
MGC通过H.248来控制MG,同时他也完成SIP和ISUP的信令转换。UMTS使用GPRS来传输数据流,对于语音他使用GPRS隧道协议GTP(GPRSTunneling Protocol),这是针对分组交换移动终端的,移动性问题可以通过GPRS协议来解决。用户的个性业务可以通过两种方式提供给虚拟家庭环境(VHE),一种是在SIPServer上开发SSP,并把SIP的呼叫状态模型映射到IN/CAMEL状态模型(IN的移动版本,Customized Application for Mobile NetworksEnhanced Logic),这种SSP叫做SoftSSP,这样VoIP就可以支持INAP和CAMELApplication Protocol(CAP),当IN业务需要时就可以触发给SCP;另一种则是通过强大的第三方呼叫控制机制来定义新业务,如CGI和CPL(CallProcessing Language)。
除了上述的网络元素和协议外,AAA(Authentication,Authorization and Accounting)功能也是必备的。使用AAA功能可以满足多个目的,如用户的安全性、QoS和帐户/计费框架。AAA可以在自治域中为SIP呼叫建立提供QoS,也可以在用户帐户信息的基础上来计费。OSP(Open SettlementProtocol)协议可以被业务提供者用来授权和计费。IPsec协议用来为IP电话网关授权。许可控制策略可以用COPS(Common Outsourcing ProtocolService)作为许可策略。QoS策略可以被策略服务器安装到路由器(push方式),也可以由边缘路由器向策略服务器来询问(pull方式)。
3
3G中VoIP的业务质量
VoIP的语音质量不仅取决于VoIP硬件本身,也取决于传送他的广域网。一个有突发性丢包,延迟和抖动的拥塞网络,肯定会降低VoIP的质量级别。
有4个指标决定了VoIP的质量需求,括号里是他们应达到的要求。 (1)业务可用性(99.999%); (2)呼叫建立时间(本地呼叫小于2 s); (3)话音延迟(单向小于150 ms); (4)话音质量(最小的回声和干扰)。
这里面,话音延迟是最关键的问题。
3.1
延迟的原因
话音延迟会产生很多问题。首先是回声,如果往返延迟(round-trip delay)小于50 ms,那么这个问题就被忽略,因为用户不会察觉反射信号和先前语音的差别。反之,如果超出50 ms,这在VoIP网络中是普遍存在的,那么回声就会很明显。所以VoIP网络必须有回声控制或实现回声消除的机制。另一个延迟问题就是话音交迭。当单向延迟大于250 ms时,这个问题就会出现,所以必须对端到端的延迟进行限制。延迟可以分为以下几种类型:
(1)积累延迟或算法延迟(Accumulation Delay/Algorithmic Delay)
语音编码器生成的语音采样帧的大小是不同的,他既和语音编码器的类型有关,也和采样时间有关(从125μs~ms级)。从表1(来自cisco)中可以看出随着编码器的和采样时间的不同,采样延迟是不一样的。
(2)处理延迟
编码和收集语音样本到包中所需要的时间。编码时间和处理器的处理时间有关,也和算法类型有关。而且,一般来说,一个数据包中要包括多个语音编码帧以减少冗余。例如,一个分组可能包括3个G.729编码帧,相当于30 ms的话音。这样,在处理和收集中就会产生延迟。 (3)网络延迟
网络的物理介质和协议是造成延迟的另一个因素。网络延迟是链路容量和网络转发处理的函数。 (4)抖动延迟
抖动延迟是消除抖动而使用缓冲造成的延迟。为了满足灵活性,系统必须有多种策略来使在消除抖动的前提下,动态调整缓冲区的大小,使其最小化并减少延迟。一种方法是在一段时间里测量分组间隔的变化,并且不断地使缓冲区大小适应计算出的抖动。这种方法当网络抖动具有固定的特性时工作得很好,比如说ATM。另一种方法是计算晚到分组的数目,并计算他们和成功处理分组数目之间的比例。这个比例用来调整抖动缓冲区以达到预定的、允许的迟到分组比例。这种方法当分组到达间隔变化非常大时,如IP网络,工作的非常好。
3.2
解决QoS问题的方法
简而言之,用来使VoIP满足QoS需求的方法有两种,发送端的和接收端的。我们先介绍发送端的: 头部压缩
如上面提到的cRTP和ROCOO方法。
排队策略
基本的排队策略可以被描述成FIFO,即先入先出。这会导致话音分组排在其他不重要的分组的后面。一种替代方法是WFQ,有权重的公平排队,他有多个队列,不同的队列对应不同的类型,每一种类型的队列分配相同的带宽。这使得语音分组可以在其他一些高带宽消耗程序,如FTP应用的同时,得以通过。
RSVP
通过RSVP,连接的端点就可以告知网络他所需要的QoS种类。这让端点可以要求所需的带宽和延迟。使用RSVP的应用程序可以得到反馈,看看自己的需求是否满足,然后决定是否做出其他选择。RSVP的一个缺点是他的应用规模,即无法大规模的在网络中实现。 现在,介绍一些在接收端获得QoS的方法:
分组丢失补偿
可以采用插入新的语音分组,发送冗余信息,及两者混合的方法。
回声补偿
ITU的G.165标准定义了回声消除器的操作需求。回声消除器比较收到的语音数据和先前发送的语音数据,一个数字过滤器会把收到的语音数据中属于曾经发送的语音数据消除。