关于民航应用VoIP的相关报文解析

期刊: 环球科学 2023年第15期 DOI: PDF下载

李梓睿

(民航中南空管局空管设备应用技术开放实验室 广东广州 510410)

摘要

在民航甚高频通信系统VoIP新技术中,应用层RTP协议的HE(头扩展)用于传输无线电通信必要的附加信息,即PTT激活信息、静噪指示、信号质量指数等等信息。而RTP HE Extension for additional features (附加信息)可以携带非必须附加信息,使用最多的为RRC(电台远程控制/主备切换)字段。


关键词

VoIP、SIP、RTP

正文


前言

VoIP,是一种基于IP的语音传输(Voice over Internet Protocol,VoIP)的语音通话技术。经由网际协议(IP)来达成语音通话与多媒体会议,也就是经由互联网来进行通信。

在网际协议上的VoIP地空通信报文其实并不复杂,通过对ED-137定义进行研读,经过实际情况测试,再用wireshark抓包来分析和比对,即可得出协议格式轮廓和具体字段定义。

网际协议基础框架

众所周知,TCP/IP框架下,网络层IP报文是分两个方向进入传输层的,分别是TCP和UDP,也即是经常谈及的前者面向连接和后者注重时效性。

框架架构:【应用层】(SIP/RTP)→【传输层】(UDP)→【网络层】(IP)→【链路层】(MAC)

VoIP协议簇

VoIP关键协议或信令如下:

SIP/SDP:Session Initiation Protocol,会话发起协议。用于建立,控制和释放会话(应用层协议);Session Description Protocol,完全是一种会话描述格式(不属于传输协议)

RTP/RTCP/R2S:Real-time Transport Protocol,实时传输协议,用于实时传输数据(应用层协议);Real-time Control Protocol,实时传输控制协议,是实时传输协议(RTP)的一个姐妹协议,RTCP本身并不传输数据,主要负责控制RTP服务质量;;Real Time Session Supervision Protocol,用于实时会话监控(基于RTP)

UDP:User Datagram Protocol,用户数据报协议,面向无连接(传输层协议)

IP:Intelnet Protocol,网际互连协议,IP是整个TCP/IP协议簇的核心,也是构成互联网的基础(网络层协议)

SIP浅析

SIP是Session Initiation Protocol的缩写,为会话发起协议,用于为使用VoIP技术的GRS端及VCS端的设备建链,在建链成功后,后续传输的数据打包就不需要再封装SIP了,只需要封装RTP头或送R2S心跳包(也由RTP进行封装)就行。

SIP是一个基于文本的应用层控制协议,可用于建立、修改和终止IP网上的双方或多方的多媒体会话。

SIP的几个特点:

1.工作在应用层的协议【TCP/IP模型】;

2.默认端口号为5060作标识【抓包传输(运输)层中头部为5060,基本为SIP会话】;

3.用于解决IP网络中实现信令控制的功能,基于IP的呼叫控制协议;

4.常使用UDP作为传输层协议;

5.SIP信息分为请求信息和响应信息;

请求信息包括:INVITE、ACK、BYE、CANCEL、REGISTER、OPTIONS等;响应信息包括:1XX(临时响应)、2XX(成功响应)、3XX(重定向响应)、4XX(客户端出错)、5XX(服务器端出错)、6XX(全局错误)等;

6.每个SIP信息包含消息头和消息体,描述了该消息的基本含义。

7.通过请求信息和响应信息中已被定义好的字段来完成建链及断链的操作

SDP,会话描述格式关于民航地空通信方向的VoIP文本信息描述概览可以在ED-137找到,对照着查阅报文会更加清晰明了。

RTP协议特点和常规报头

RTP协议用于实时传输数据。是IETF提出的一个标准,对应RFC文档为RFC3550。RFC3550除了定义RTP,还定义了配套的相关协议RTCP协议。RTP用来为IP网上的语音、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务。RTP为Internet上端到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP来提供。

RTP协议在TCP/IP框架下的位置:

 

RTP协议常规报头:

RTP协议的附加字段有专门用于民航VoIP应用的变形,其余协议与一般TCP/IP框架下的使用方式并无区别,所以重点研究RTP HE协议。

RTP协议扩展报文关于民航VoIP的应用

RTP常规报文的X位置1,代表有RTP 头扩展,而RTP的每一个扩展都遵从32bit(4个字节)的长度。所以有代表ED137的Type段及代表后续header extensions的Length。

类型字段(Type)应该标识特定于应用程序的标题扩展格式。

如果使用民航地空通信VoIP-ED137的规则及版本,则在该Type第一个字节(位0到位7)指定RTP HE的版本,第二个字节(位8到位15)确定ROC HE在EUROCAE WG67中定义。RTP HE版本应该被设置为1,因此类型域应该被设置为0x0167h。

注:在ED-137版本1.0(2009年2月)中定义的RTP HE的类型字段被设置为0x0067h。RTP头扩展版本应与SDP参数“a = rtphe”协商。

报文解读:

 

 

1.类型字段的第一个字节(位0到位7)指定RTP HE的版本,第二个字节(位8到位15)确定ROC HE在EUROCAE WG67中定义。

2.RTP HE版本应该被设置为1,因此类型域应该被设置为0x0167h。

【0x0167h,16进制格式】

1.RTP头扩展包含一个16位的长度字段,表示扩展名中的32位字的数量,不包括四个字节的扩展头。

2.所以该extension length标识的为后续RTP header extensions的扩展长度(32位),不包括自身的type+length的4个字节长度

传输信息的总长度限于32位边界。32位块被分成具有固定信息的子块和具有可变信息的子块。第一个子块包含应该在每个RTP包中发送的强制性信息。第二个子块用于在每个RTP数据包中不发送的强制性信息,或用于附加功能的可选信息。

RTP Tx / RTP头扩展的前16位(位0-15)是固定的子块,应该涵盖所有标准应用。

所有未使用或保留的位应该被设置为零。

如果有必要发送不适合这个32位块的附加信息,RTP报头扩展应该被扩展为另外的32位。因此,GRS端点和VCS端点应该支持具有一个RTPTx / Rx HE信令的多个扩展的串行化。

RTP协议基于ED-137的扩展:

 

由于header extensions的Length为1【该1表示扩展名中的32位字的数量,不包括四个字节的扩展头】,则后续继续接有32位的header extensions。

该header extensions前16位为常规信息字段(用于传送VCS及GRS的常规信息,至于每项具体的意义可翻查ED-137B)。后16位通过header extensions第十五位X位(区分并非RTP常规报文第三位的X位)置1用于附加Extension for additional features信息。后16位格式遵从TLV(type-length-value)的格式。若无附加Extension for additional features信息,即X位为0,后续16位也全置零一并发送。

 

header extensions前16位为常规信息字段(用于传送VCS及GRS的常规信息)

header extensions后16位为附加Extension for additional features信息。如0x3代表RRC(电台远程控制)信息。

X(1位:b15):该字段表示一个标记位,如果使用扩展信息用于附加功能,该位应该被设置为1。

附加功能的扩展:附加功能块中的信息以类型—长度—值(TLV)格式编码。为了向后兼容,即使在附加特征内容中有冗余信息,也应该在固定部分内设置适当的值。当不使用扩展字段时,所有的位都应该被设置为0。

常用附加功能扩展TYPE意义:

TX附加功能:0x3-RRC(电台远程控制);

RX附加功能:0x1-SQI(话音质量指数);0x3-RRC(电台远程控制)。

如果RTP数据报中没有使用附加功能,但X位置1,此时Type设置为0。0x4到0xA用于未来规范各种互操作性方面的附加功能。0xB到0xF给供应商用于实现特殊功能。

附加信息多于一项的处理

多个附加功能字段的序列化应该按下列方式实现:

1.附加功能字段应该使用扩展报头信息域(additional feature block)的第2到16个字节。

2.附加功能字段的数量应该由TLV中的Length来反映。如有必要,需用通过补零的方式填满32位扩展报头的信息字段。

即多项additional features,每项additional features的长度为16位(两个字节),而每一个length的定义为后续增加32位,所以如果有两个additional features信息的话,那么header extensions的Length为2,两个additional features里的length也为1,最后的16位没有信息而补0结束。

注意:当Type=0时,虽然表示没有附加功能,但依然使用补零的方式填满32位扩展报头的信息字段。

结语

随着民航地空通信VoIP技术的不断发展与普及应用,每个相关从业者应该从传统模式观念中转变过来,需要掌握VoIP应用下的必备技能。譬如wireshark的抓包和分析、一些基本的网络协议和知识等。

在民航地空通信系统VoIP新技术中,应用层RTP协议的HE(头扩展)用于传输无线电通信必要的附加信息,即PTT激活信息、静噪指示、信号质量指数等等信息。而RTP HE Extension for additional features (附加信息)可以携带非必须附加信息,使用最多的为RRC(电台远程控制/主备切换)字段。详细情况说明请参考《ED137-B》。

 

 

参考文献

[1]  高照盼. 以VoIP技术为基础的民航甚高频通信系统分析[J]. 数字化用户,2019(19):14.

[2]  江振华. VOIP技术在民航通信网中的运用研究[J]. 电子通信与计算机科学,2023,5(4). DOI:10.37155/2717-5170-0504-55.

[3]  胡石根,谢来阳. VOIP技术在VHF通信系统中的实现机制[J]. 电子测试,2018(9):68-69,65. DOI:10.3969/j.issn.1000-8519.2018.09.028. 


...


阅读全文