4. GSM-R空口消息结构解析

在GSM-R空口信令分析中,抓包工具(如GSM-R专用信令分析仪或支持GSM-R频段的扫频/解码设备)呈现给我们的往往是一层层嵌套的消息结构。要读懂这些消息,核心是掌握三层协议消息的通用格式:RR(无线资源管理)、MM(移动性管理)、CC(呼叫控制),以及GPRS相关的GMM/SM消息,还有A接口上的BSSAP消息。本章不讨论具体流程,而是聚焦“一条消息长什么样、字段如何排布、哪些IE是判断关键”。

一、空口信令的封装层次:先看清“信封”

GSM-R空口(Um接口)上的信令消息遵循GSM 04.08(现3GPP TS 24.008)定义的层三消息结构。一条层三消息在空口上并不是孤立传输的,它被封装在LAPDm帧中,再映射到逻辑信道(如SDCCH、SACCH、FACCH)上。分析时我们通常关注的是LAPDm的SAPI=0(信令)承载的层三消息体。层三消息体本身由三部分组成:

  • 协议鉴别符(PD,Protocol Discriminator):1个字节,标识这条消息属于哪个协议实体。例如PD=0x05表示MM消息,PD=0x06表示CC消息,PD=0x08表示GMM消息,PD=0x09表示SM消息。
  • 事务标识/跳过指示(TI/Skip):1个字节,高4位为TI(Transaction Identifier),低4位为跳过指示(Skip Indicator),通常为0。
  • 消息类型(Message Type,MT):1个字节,标识具体消息,如0x05为MM的Location Updating Request,0x24为CC的Setup。

这三部分构成所有层三消息的“通用头”。RR消息稍有不同:RR消息的PD为0x06(与CC相同),但RR消息没有TI字段,其第一个字节后直接跟消息类型,因此RR消息的通用头实际是PD+MT两个字节。这是初学者最容易混淆的地方——PD=0x06既可能是RR也可能是CC,必须结合消息类型和上下文判断。

二、RR、MM、CC消息的通用格式与关键IE

RR消息用于无线资源的管理,典型消息包括Channel Request、Immediate Assignment、Channel Release、Paging Response等。RR消息的通用格式为:PD(1字节)+ 消息类型(1字节)+ 信息元素(IE)序列。RR消息的关键IE包括:信道描述(Channel Description,含信道类型、时隙号、TCH/F或TCH/H指示)、移动台类别(Mobile Station Classmark)、释放原因(Release Cause)等。在GSM-R中,RR消息还常携带与铁路业务相关的优先级指示,分析时需关注Channel Request中的建立原因(Establishment Cause),它直接反映此次接入是紧急呼叫、铁路紧急业务还是普通位置更新。

MM消息用于移动性管理,典型消息包括Location Updating Request/Accept/Reject、Authentication Request/Response、Identity Request/Response、TMSI Reallocation Command等。MM消息通用格式为:PD(0x05)+ TI/Skip + 消息类型 + IE序列。关键IE包括:位置更新类型(Location Updating Type,含正常更新、周期性更新、IMSI附着等)、移动台类别(Classmark)、移动标识(Mobile Identity,可为IMSI、TMSI、IMEI)、鉴权参数(RAND、SRES)、位置区标识(LAI)等。分析位置更新失败时,重点看Location Updating Reject中的拒绝原因(Reject Cause),如“IMSI unknown in HLR”“Roaming not allowed”等。

CC消息用于呼叫控制,典型消息包括Setup、Call Proceeding、Alerting、Connect、Disconnect、Release、Release Complete等。CC消息通用格式为:PD(0x06)+ TI/Skip + 消息类型 + IE序列。关键IE包括:承载能力(Bearer Capability,描述语音/数据业务类型)、被叫号码(Called Party BCD Number)、主叫号码(Calling Party BCD Number)、原因(Cause,用于释放原因)、呼叫状态(Call State)等。GSM-R中的铁路紧急呼叫在Setup消息的Bearer Capability和Called Party BCD Number中会有特定标识,这是判断紧急呼叫是否被正确发起的重要依据。

三、GPRS移动性管理(GMM/SM)消息

GSM-R在承载铁路数据业务(如列车控制信息、调度数据)时会用到GPRS。GMM消息的PD为0x08,SM消息的PD为0x09。GMM典型消息包括Attach Request/Accept/Reject、Routing Area Update Request、GMM Information等;SM典型消息包括Activate PDP Context Request/Accept、Deactivate PDP Context Request等。GMM消息通用格式为:PD(0x08)+ TI/Skip + 消息类型 + IE序列。关键IE包括:附着类型(Attach Type)、GPRS移动台类别、路由区标识(RAI)、PDP上下文状态、APN等。分析GPRS附着失败时,需重点查看Attach Reject中的GMM Cause值,如“GPRS services not allowed”“PLMN not allowed”等。

四、BSSAP消息的通用格式

BSSAP是A接口(BSC与MSC之间)上的信令协议,分为BSSMAP(BSS管理部分)和DTAP(直接传输应用部分)。BSSAP消息的通用结构为:消息类型(Message Type,1字节)+ 信息元素序列。BSSMAP消息类型如Assignment Request、Assignment Complete、Handover Request、Paging、Clear Request等;DTAP消息则直接封装了上述RR/MM/CC/GMM消息,通过A接口透明传输。BSSAP的关键IE包括:信道类型(Channel Type)、小区标识(Cell Identifier)、原因(Cause)、层三信息(Layer 3 Information,即封装的空口消息)、电路标识码(CIC)等。分析A接口信令时,BSSMAP的Cause IE是定位切换失败、指配失败的关键。

GSM-R空口及A接口消息通用格式与关键IE对照 空口层三消息通用头(Um接口,GSM 04.08) PD 协议鉴别符 TI / Skip (RR无此字节) MT 消息类型 信息元素 IE 序列(长度可变) PD取值:0x05=MM 0x06=CC/RR 0x08=GMM 0x09=SM RR消息:PD(0x06)+MT+IE,无TI字节;CC消息:PD(0x06)+TI/Skip+MT+IE RR 无线资源 PD=0x06,无TI • 信道描述 • 建立原因 • 移动台类别 • 释放原因 典型:Channel Request MM 移动性管理 PD=0x05 • 更新类型 • 移动标识 IMSI/TMSI • 鉴权 RAND/SRES • 拒绝原因 典型:Location Updating CC 呼叫控制 PD=0x06 • 承载能力 • 被叫/主叫号码 • 原因 Cause • 呼叫状态 典型:Setup / Disconnect GMM / SM PD=0x08 / 0x09 • 附着类型 • 路由区标识 RAI • PDP上下文 / APN • GMM Cause 典型:Attach Request A接口 BSSAP 消息通用格式 消息类型 MT 信息元素 IE 序列 BSSMAP关键IE:信道类型、小区标识、Cause、层三信息(封装的空口消息)、CIC DTAP:在BSSAP中透明承载RR/MM/CC/GMM消息,分析时需逐层剥开

五、实际分析中的判读要点

在真实抓包分析中,拿到一条消息后建议按以下顺序判读:第一步看PD,确定协议实体;第二步看MT,确定具体消息类型;第三步定位关键IE,结合本节列出的关键字段判断消息意图。例如,看到PD=0x05、MT=0x08(Location Updating Reject),就应立刻展开Reject Cause IE,若值为0x0F(No Suitable Cells In Location Area),则说明当前小区不属于该MS允许的位置区,需检查LAI配置或小区归属。再如,看到PD=0x06、MT=0x05(Setup),应重点检查Bearer Capability和Called Party BCD Number,判断是否为铁路紧急呼叫(通常被叫号码为特定短号,承载能力指示语音)。

分析技巧:RR消息与CC消息的PD同为0x06,区分方法是看第二个字节——若第二个字节的高4位TI为0且低4位Skip为0,且消息类型落在RR消息类型范围内(如0x01 Channel Request、0x3B Channel Release),则为RR;若消息类型为0x05 Setup、0x24 Connect等,则为CC。实际分析仪通常会自动解析并标注协议层,但理解这一区分对排查解析异常很有帮助。

需要强调的是,本章给出的消息类型值和IE名称是GSM-R空口分析中的通用基础,不同设备厂商的解析器可能在IE命名上略有差异,但字节级结构是一致的。掌握通用格式后,面对任何一条新消息,都可以先按“PD—TI/Skip—MT—IE”的骨架拆解,再逐个IE对照协议规范查阅,这是空口信令分析最可靠的基本功。