APP下载

IP语音报头压缩设计与实现

2014-06-14曹彦军马献武

无线电工程 2014年1期
关键词:报头话音信令

曹彦军,张 明,马献武

(1.中国电子科技集团公司第五十四研究所,河北石家庄050081;2.中国电子进出口总公司,北京100036)

0 引言

VoIP采用包交换技术提供话音通信服务,话音经采样编码后被分割成话音分组,每段话音分组加上协议报头后通过IP网络传输。协议报头占用的带宽称为报头开销。为了保证话音质量,话音分组的长度不能太大,所以报头所占的比例相对较大,报头开销也比较大,造成传输VoIP话音要占用较多的带宽资源[1]。

在局域网环境中,VoIP报头开销虽然占用较多传输资源,但由于网络传输带宽高,对网络传输能力影响不明显。而在广域网中,传输带宽资源较少,报头开销问题凸显出来,因此,减少协议报头的长度,对提高话音传输效率至关重要。在分析VoIP协议的基础上,提出了采用复用技术传输IP话音的方法,即多路话音共用一个协议报头,能够大幅减少VoIP的报头开销。

1 VoIP话音带宽

VoIP话音占用的传输带宽与编码方式、传输协议以及话音净荷大小有关,目前VoIP采用的编码方式主要有G.711和G.729,传输协议一般都采用RTP,话音净荷大小决定了VoIP的发包间隔,为了保证话音质量,通常采用20 ms的发包间隔,包频为50 pps[2]。

VoIP报文包括二层报头(以太网)、IP报头、UDP报头、RTP报头和话音净荷,各段长度如下:

① 以太网帧头:非VLAN Tag帧头长26 byte[3];

② IP报头:非扩展IP头长20 byte[4];

③ UDP报头:非扩展UDP头长8 byte[5];

④ RTP 报头:12 byte[6];

⑤话音净荷:50 pps包频情况下,G.711编码净 荷 长 度 160 byte[7];G.729 编 码 净 荷 长度20 byte[8]。

根据以上条件,G.711编码情况下,一个VoIP话音分组报头长度66 byte,话音净荷长度160 byte,总长度226 byte,包频为50 pps,所需要传输带宽为:226 byte×8 bit×50 pps=90.4 kbps。

G.729编码情况下,一个VoIP话音分组报头长度66 byte,话音净荷长度20 byte,总长度86 byte,包频为50 pps,所需要传输带宽为:86 byte×8 bit×50 pps=34.4 kbps。

可见,对于64 kbps的G.711话音,需要占用90.4 kbps的带宽;8 kbps的G.729话音,需要占用34.4 kbps的带宽。2种编码条件下报头开销是相同的,均为26.4 kbps。

2 VoIP报头压缩原理

通过少传报头信息可减少VoIP报头开销,最简单的办法是增加话音净荷的长度,减少报头所占的比例。对于单路话音,由于话音编码输出速率是一定的,增加净荷长度意味着话音分组要等待更长的时间来装载净荷,从而降低发包频率,这将会增加话音的传输时延,造成话音质量下降,因此,简单地增加净荷长度是不可取的。

RFC2508提出了基于上下文关系的报头压缩算法,其原理是只传输第一个话音分组完整的IP/UDP/RTP报头,后续的分组只传输报头的变化部分,可将40 byte的 IP/UDP/RTP报头压缩至2~4 byte[9]。RFC2508只能对3层以上的包头进行压缩,并且压缩后的报文不是标准的IP/UDP报文,在使用上受到一些限制。

为了提高系统的适用性,压缩后的报文还应采用IP/UDP协议,可考虑利用一个报头承载多路话音。其原理是将多路VoIP话音分组的头部去掉,增加连接标识后组成多路复用话音分组,封装成新的UDP报文发送出去。接收端按照连接标识解复用,将每路话音重新封装成VoIP话音分组。多路复用话音分组的净荷长度根据话音路数的多少而变化,保持发包频率保持不变,从而不会增加时延。

以上复用过程中,发送端去掉了VoIP报头,接收端重新加上报头,那么报头中的信息如何恢复呢,通过对VoIP业务流的分析,同一话音流不同分组的报头除了RTP报头的序列号和时间戳字段变化外,其余部分都是相同的,也就是说属于同一会话的VoIP话音流里有大量的重复报头,因此可以在会话发起时将报头的信息发送到对端,以后不再传输报头,接收端用初始的信息恢复报头。

3 设计实现

IP语音报头压缩通过专门设备实现,主要应用于承载多路话音的线路上,报头压缩设备成对使用,其工作原理是源端设备提取线路上的VoIP话音流,进行报文头压缩后将复用分组发送给目的端设备,目的端设备还原原来的VoIP分组,发给接收的话音终端,如图1所示。

图1 VoIP报头压缩设备应用示意

3.1 话音报文

采用多路复用技术在一个UDP包里传输多路话音,每路话音分组包括连接标识、长度、序列号、时间戳和话音净荷,报文格式如图2所示。

图2 话音报文格式

标识为1 byte,指示话音分组属于哪一个连接;长度为1 byte,指示话音分组的长度,以字节形式表示;序列号为2 byte,指示原话音分组中的序列号;时间戳为4 byte,指示原话音分组中的时间戳;话音净荷指示原话音分组的净荷。

3.2 信令报文

为了指示每路话音在复用分组中的连接标识以及传送话音分组的报头信息,报头压缩设备在收到第一个VoIP分组时,将向对端设备发送一个信令报文,报文采用TCP协议发送,信令报文内容如下:

①标识:1 byte,指示对应的话音连接标识;

②类型:1 byte,指示话音采用的编码方式;

③二层报头信息:12 byte,源/目的MAC地址字段;

④IP层报头信息:10 byte,业务类型、生存时间和源/目的IP地址字段;

⑤UDP报头信息:4 byte,源/目的端口号字段;

⑥RTP报头信息:6 byte,除序列号和时间戳的其他RTP报头字段。

对于UDP层以下的报头信息,报头压缩设备只将关键的地址字段以及IP报头中的业务类型和生存时间字段发送给对端,其他字段由对端设备自行产生。RTP报头传送指示字段和同步源标识符(SSRC)字段,由于每个话音分组的序列号和时间戳不同[10],所以不能通过信令方式一次性传输,必须跟随话音业务分组一同传输。

3.3 报头信息表

发端和收端设备维护一个相同的报头信息表,用于指示复用分组中话音和报头信息的对应关系,如表1所示。

表1 报头信息表

发送端设备根据收到的VoIP话音更新报头信息表。当收到新的话音时,为该话音分配一个连接标识,加入到复用分组中,同时在报头信息表中增加一个记录,以后再收到属于该连接的话音时,按照分配好的连接标识传输。当检测到通话结束或长时间没有收到该路话音分组时,删除报头信息表中的该项记录,释放连接标识。

接收端设备根据信令报文更新报头信息表,当收到一个信令报文后,检查报头信息表中是否有该路话音的记录,如果没有则增加一个记录,如果有则用新的报头信息更新该记录。

3.4 软件设计

IP语音报头压缩设备软件开发基于Vx Works操作系统平台,利用操作系统提供的各种功能来完成软件中各个模块之间的同步、协调和通信,共同实现软件功能。IP语音报头压缩设备软件主要包括:IP适配软件、信令处理软件、语音处理软件和RTP协议处理软件,软件组成如图3所示。

3.4.1 IP适配软件

IP适配软件主要实现IP层协议的适配与解适配,报头压缩设备从底层以太网驱动程序接收IP数据,经过IP协议解析发送给RTP协议处理软件,从RTP协议处理软件接收话音数据,封装成IP数据,经以太网驱动程序发送到对端设备。

IP适配软件根据收到的VoIP报文情况向信令处理软件发送信息,控制报头信息表的建立和维护。

图3 IP语音报头压缩设备软件组成

3.4.2 信令处理软件

信令处理软件根据IP适配软件发送的建立消息,增加报头信息表条目,根据通话结束消息或定时器超时消息,删除报头信息表条目。同时将报头信息表变化情况发送到对端语音压缩设备,同步对端的报头信息表。信令处理软件收到对端语音压缩设备的响应信息后,此次更改生效。

3.4.3 语音处理软件

在发送端,语音处理软件根据报头信息表,完成多路话音数据的复用,发送到对端报头压缩设备,在接收端,话音处理软件接收到发送端语音压缩设备的IP数据,根据报头信息表依次解析全部话路的语音数据包,将还原后的话音数据发送到相应的终端设备。

3.4.4 RTP协议处理软件

RTP协议处理软件实现RTP协议功能,完成话音数据的同步,保证话音包数据处理顺序与实时性。

4 压缩效率分析

基于多路复用的IP语音报头压缩技术,其压缩效率与传输的话音路数有关,一个报文里承载的话音路数越多,压缩效率越高。压缩后话音报文的报头开销为54 byte,每路话音分组增加8 byte的开销,按照50 pps的包频计算,当采用G.729编码时,n路数据占用的传输带宽为:

W=(54+28n)×50 ×8,n≥1。

如果有30路G.729话音同时传输,根据上面公式计算占用的总带宽为357.6 kbps,平均每路话音占用 11.92 kbps,相对于不进行压缩(34.4 kbps),大大节省了传输资源。

5 结束语

IP语音报头压缩技术采用多路话音共用1个UDP/IP报头的方式,不破坏RTP协议端到端透明性,处理时延短,不影响话音业务的服务质量,大幅减少了报头占用的传输带宽,能够有效提高话音业务的传输效率。IP语音报头压缩技术只针对报头压缩,不改变话音净荷内容,适用于各种编码方式,还可以结合话音压缩编码技术,针对PCM等高码速率编码的话音净荷进行压缩[10],进一步降低话音业务占用的传输带宽。在工程应用中,报头压缩设备可串接在网络中,对话音业务进行报头压缩,其他非话音业务直接转发,也可以通过专门的分流设备分离话音业务流,由压缩设备处理后传输到对端。

[1]DAVIDSON Jonathan,FOX Tina.部署 VoIP 解决方案[M].凡璇,译.北京:人民邮电出版社,2003:85 -103.

[2]COLLINSDaniel.VoIP 技术与应用[M].北京:人民邮电出版社,2003:76-98.

[3]沈鑫剡.交换式以太网原理、技术及实现[M].北京:人民邮电出版社,1999:126-187.

[4]RFC791.Internet Protocol[S].

[5]RFC768.User Datagram Protocol[S].

[6]RFC1890.RTP Profile for Audio and Video Conferences with Minimal Control[S].

[7]ITU-T.Pulse Code Modulation(PCM)of Voice Frequencies,Recommendation G.711[S].

[8]ITU-T.Coding of Speech at 8kbit/s Using Conjugate-Structure Algebraic-Code-Excited Linear Prediction(CSACELP),Recommendation G.711[S].

[9]RFC2508.Compressing IP/UDP/RTP Headers for Low-Speed Serial Links[S].

[10]RFC3550.A Transport Protocol for Real-Time Applications[S].

猜你喜欢

报头话音信令
城市党报报头:政治与艺术的平衡
SLS字段在七号信令中的运用
移动信令在交通大数据分析中的应用探索
报业文化中的一道独特风景
话音叠加中实时混音算法的FPGA实现
基于信令分析的TD-LTE无线网络应用研究
LTE网络信令采集数据的分析及探讨
分组话音在窄带信道的组播实现方案
淡妆浓抹总相宜
——对中国晚报报头变化的研究与欣赏
卫星通信终端话音接入车通的分析