简介这份文档面向5G网络优化、信令分析及无线测试岗位的工程师与学习者聚焦NSA非独立组网下终端从LTE平滑接入NR的双连接信令流程。内容围绕NSA双连接概述、辅站添加总流程、UE初始Attach流程展开逐条拆解测量控制下发、B1事件上报、SgNB Addition Request与Acknowledge、RRC连接重配置、随机接入同步、数据转发及用户面路径更新等关键步骤并梳理RRC建立三条核心信令与三次UE能力查询的交互细节同时给出测量对象列表、上报配置列表与测量标识列表的对应关系。资源为1个PDF文件压缩包约1.26MB篇幅精炼、信令标注清晰适合对照空口消息逐条研读。已有1222人学习下载可作为5G测试与网优人员理解NSA接入流程、排查信令异常的参考材料。1. 5G NSA 接入信令流程从一条 RRC 重配消息看懂整个接入链路NSA 组网下手机开机到能跑业务信令面上其实只做了一件事把 LTE 锚点小区和 NR 辅小区在 RRC 层“绑”到一起。很多人第一次抓 NSA 接入 log看到满屏的RRCConnectionReconfiguration、MeasurementReport、SN Addition就懵了觉得比 SA 复杂。恰恰相反NSA 的接入信令是“寄生”在 LTE 流程里的只要抓住 LTE 锚点这条主线NR 的添加只是主线上的一个分支。这篇笔记面向做 5G 终端、基站测试和信令分析的工程师把 NSA 接入从 RRC 连接建立到 NR 辅小区激活的完整信令拆开给出可复现的抓包、解码和参数核对方法也把几个最容易翻车的点讲透。读完你应该能独立对着一条 log 判断接入卡在哪一步、是 LTE 侧问题还是 NR 侧问题。2. NSA 接入的信令骨架LTE 锚点先立住NR 再挂上去NSA 的核心设计是双连接EN-DC终端同时连一个 LTE 主节点MeNB和一个 NR 辅节点gNB控制面信令走 LTE用户面可以分流到 NR。所以接入信令的顺序天然是“先 LTE 后 NR”任何跳过 LTE 锚点直接谈 NR 接入的说法都是错的。这一章先把骨架讲清楚再落到具体消息。2.1 为什么 NSA 接入必须先完成 LTE 的 RRC 连接终端开机后第一件事是小区搜索和 PLMN 选择这一步和纯 LTE 没区别。选定 LTE 小区后发起随机接入RACH拿到上行同步和临时 C-RNTI然后发RRCConnectionRequest。这条消息里带establishmentCauseNSA 终端通常填mo-Signalling或mo-Data。基站回RRCConnectionSetup里面配置了 SRB1 和基础无线资源。终端回RRCConnectionSetupComplete这条消息是关键分水岭——它里面带一个UE-CapabilityRAT-Container或者后续单独走UEInformationResponse告诉网络“我支持 EN-DC我的 NR 能力是这些”。只有网络确认终端有 EN-DC 能力才会在后面的RRCConnectionReconfiguration里下发 NR 测量配置。如果终端能力上报里 NR 相关字段缺失或格式不对网络根本不会发起 NR 添加log 里就永远看不到SN Addition。这是第一个常见卡点后面避坑章节会展开。LTE 锚点立住之后网络通过RRCConnectionReconfiguration下发测量配置终端开始测 NR 小区上报MeasurementReport网络决策是否添加 NR 辅小区。整个链路是串行的前一步不完成后一步不会出现。2.2 NSA 接入涉及的三类信令消息把 NSA 接入信令按功能分三类抓包时按这个分类去定位会快很多。第一类是 LTE 锚点建立类RRCConnectionRequest、RRCConnectionSetup、RRCConnectionSetupComplete、SecurityModeCommand、SecurityModeComplete、RRCConnectionReconfiguration带measConfig、RRCConnectionReconfigurationComplete。这一串走完LTE 侧的安全和测量框架就就绪了。第二类是 NR 添加类MeasurementReport上报 NR 小区、RRCConnectionReconfiguration带nr-SecondaryCellGroupConfig或SCG-Config、RRCConnectionReconfigurationComplete。这条重配消息里携带的是 NR 辅小区的无线配置通过 X2 接口从 gNB 传到 MeNB 再转发给终端。第三类是 NR 激活与同步类终端收到 SCG 配置后要在 NR 侧做随机接入如果配置了rach-Config或者直接激活。之后可能还有SN Status Transfer、SN Reconfiguration Complete等 X2 面消息这些在空口抓不到需要在基站侧 X2 抓包看。提示空口抓包只能看到 Uu 接口消息X2/Xn 接口的 SN Addition Request、SN Addition Request Acknowledge 这些消息必须去基站侧抓否则你会误以为网络没发 NR 配置。2.3 用 QXDM 或类似工具抓一次完整 NSA 接入下面给一套可复现的抓包流程。工具不限 QXDM任何能解 LTE RRC 和 NR RRC 的抓包工具都行关键是过滤器和触发点设对。# 以 QXDM 为例命令行方式启动抓包实际工程中多用 GUI这里示意关键配置 # 1. 设置抓包端口和日志掩码 QXDM.exe -port COM3 -mask 0x1F -log ns a -o nsa_access.qmdm # 2. 关键过滤只抓 RRC 和 NAS 相关避免刷屏 # 在 QXDM 里配置 filter: LTE_RRC, NR_RRC, NAS_EMM, NAS_ESM # 3. 触发方式手动触发终端发起一次去附着再附着或飞行模式开关 # 这样能抓到从 RRCConnectionRequest 开始的完整流程抓完后在 QXDM 里按时间轴看消息序列。重点核对三件事RRCConnectionSetupComplete里有没有ue-CapabilityRAT-Container且包含supportedBandListEN-DCRRCConnectionReconfiguration里有没有measConfig且measObjectNR配置了正确的 SSB 频点NR 添加那条重配里scg-ConfigPartMCG和scg-ConfigPartSCG是否完整。参数上measObjectNR里的ssbFrequency必须和实际 NR 小区 SSB 频点一致ssbSubcarrierSpacing要和小区配置匹配常见 15kHz 或 30kHz。这两个参数错了终端根本测不到 NR 小区MeasurementReport里就不会有 NR 的测量结果。3. 从 RRCConnectionReconfiguration 到 NR 辅小区激活逐条消息拆解这一章把 NR 添加阶段的核心消息逐条拆开给出每条消息里必须核对的字段和常见取值。做信令分析的人看的就是这些字段。3.1 MeasurementReport 里 NR 测量结果的判读终端在 LTE 连接态下根据measConfig里的reportConfig触发测量上报。NSA 场景下网络会配置一个reportConfigNR通常用事件 A1/A2服务小区质量或 B1/B2异系统/异频。NR 添加常用的是 B1NR 小区质量高于门限就上报。一条典型的MeasurementReport里measResults包含measId、measResultPCellLTE 服务小区和measResultNeighCells。如果里面有measResultListNR说明终端测到了 NR 小区。每个 NR 测量结果带physCellId、cellGlobalId可选、rsrpResult、rsrqResult、sinrResult。核对要点physCellId要和规划的小区 PCI 对上rsrpResult的映射关系是RSRP rsrpResult - 140dBm比如上报值 60 对应 -80 dBm。如果rsrpResult是 0 或缺失说明终端没测到或测量配置有问题。# 解析 MeasurementReport 里 NR 测量结果的简化示例 # 输入是解码后的 measResults 字典结构 def parse_nr_meas(meas_results): nr_list meas_results.get(measResultListNR, []) for nr in nr_list: pci nr[physCellId] rsrp_raw nr[measResult][rsrpResult] rsrp_dbm rsrp_raw - 140 # 3GPP 映射 rsrq_raw nr[measResult].get(rsrqResult, None) rsrq_db (rsrq_raw - 40) / 2 if rsrq_raw is not None else None print(fPCI{pci}, RSRP{rsrp_dbm}dBm, RSRQ{rsrq_db}dB) return nr_list这段代码的关键是 RSRP 和 RSRQ 的映射公式来自 3GPP TS 36.331 的RSRP-Range和RSRQ-Range定义。参数说明rsrpResult取值范围 0-97对应 -140 到 -43 dBmrsrqResult取值 0-34对应 -19.5 到 -3 dB步长 0.5。如果你用别的工具解码核对一下它的映射是否和协议一致有些工具会直接显示 dBm 值但底层原始值要按这个公式验算。3.2 RRCConnectionReconfiguration 携带的 SCG 配置字段网络决定添加 NR 后MeNB 通过 X2 向 gNB 发SN Addition RequestgNB 回SN Addition Request Acknowledge里面带CG-ConfigNR 侧的无线配置。MeNB 把这些内容封装进 LTE 的RRCConnectionReconfiguration通过空口发给终端。这条重配消息里NR 相关配置主要在mobilityControlInfo之外的nr-SecondaryCellGroupConfigR15 早期叫scg-Config。里面包含scg-ConfigPartMCGMCG 侧需要知道的 SCG 信息比如scg-Counter、powerCoordinationInfo。scg-ConfigPartSCGSCG 的实际无线配置包括radioResourceConfigDedicatedSCG、sCellToAddModListSCG、pSCellToAddMod。pSCellToAddMod里最关键的是pSCellIndex、cellIdentificationNR PCI 和 ARFCN、radioResourceConfigCommonPSCell含rach-ConfigCommon、pdsch-ConfigCommon、pusch-ConfigCommon和radioResourceConfigDedicatedPSCell。核对时重点看rach-ConfigCommon里的rach-ConfigGenericpreambleReceivedTargetPower、powerRampingStep、preambleTransMax。这些参数决定终端在 NR 侧随机接入能否成功。如果preambleReceivedTargetPower设得过低终端发射功率不够gNB 收不到前导接入就卡在 RACH 阶段。注意NSA 下 NR 的 RACH 可能是竞争型也可能是非竞争型。如果rach-ConfigDedicated里带了ra-PreambleIndex和ra-PRACH-MaskIndex就是非竞争型终端直接用专用前导接入成功率高很多。抓包时看到这两个字段说明网络配置了专用前导。3.3 NR 侧随机接入与激活的时序核对终端收到带 SCG 配置的重配后先回RRCConnectionReconfigurationCompleteLTE 侧然后按配置在 NR 侧发起随机接入。NR 的 RACH 流程是终端发PRACH PreamblegNB 回Random Access ResponseRAR终端发Msg3RRCReconfigurationComplete 或类似gNB 回Msg4竞争解决。在空口抓包工具里NR 的 RACH 消息可能和 LTE 的混在一起需要按频点和 PCI 过滤。核对时序从终端发出RRCConnectionReconfigurationComplete到 NRPRACH Preamble发出间隔通常在几十毫秒内。如果超过几百毫秒还没看到 PRACH说明终端在解析 SCG 配置时出了问题或者 NR 侧射频没起来。激活完成后用户面数据就可以走 NR 了。这时候在 log 里能看到PDCP层的数据包从 LTE 分流到 NR具体看splitBearer的配置。如果业务建立后速率没起来要回头查pSCellToAddMod里的pdsch-Config和pusch-Config看 MIMO 层数和调制阶数是否配对了。4. NSA 接入信令排查5 个血泪踩坑记录这一章按“现象 → 原因 → 解决”写 5 条实际排查中反复遇到的坑。每条都是真实 log 里能对上的。4.1 终端能力上报缺失导致 NR 永远不添加现象LTE 接入正常RRCConnectionSetupComplete和SecurityModeComplete都走完了但后面只有 LTE 的测量重配永远看不到measObjectNR更没有SN Addition。原因终端在UE-CapabilityRAT-Container里没有上报supportedBandListEN-DC或者上报的bandListEN-DC里不包含当前 LTE 锚点频段和 NR 频段的组合。网络侧收到能力后发现没有可用的 EN-DC 组合就不下发 NR 测量配置。解决核对终端能力上报的UE-EUTRA-Capability里supportedBandListEN-DC字段。每个BandCombinationParameters要包含bandListLTE 和 NR 频段和featureSetCombination。如果终端支持但没上报检查终端 NV 配置或协议栈版本如果上报了但网络不认检查基站侧对 EN-DC 组合的许可配置。4.2 measObjectNR 的 SSB 频点配错终端测不到 NR现象RRCConnectionReconfiguration里带了measConfig也有measObjectNR但终端始终不上报 NR 的MeasurementReport或者上报里measResultListNR为空。原因measObjectNR里的ssbFrequency配成了 NR 小区的中心频点而不是 SSB 频点或者ssbSubcarrierSpacing配错。终端按错误的频点去搜 SSB自然搜不到。解决确认 NR 小区的 SSB 频点GSCN 对应的 ARFCN和子载波间隔。ssbFrequency填 ARFCN 值ssbSubcarrierSpacing填kHz15或kHz30。这两个值要和 gNB 侧配置完全一致。改完后重新抓包看MeasurementReport里是否出现measResultListNR。4.3 SCG 配置里 RACH 参数不匹配导致 NR 接入超时现象终端收到了带 SCG 配置的重配也回了RRCConnectionReconfigurationComplete但 NR 侧 PRACH 发了几次后没有 RAR 响应最终触发SCG Failure或T310超时。原因rach-ConfigCommon里的preambleReceivedTargetPower和 gNB 侧期望值不匹配或者powerRampingStep太小终端功率爬升不够。也可能是rach-ConfigGeneric里的preambleTransMax设得太小几次失败就放弃了。解决对比空口重配里的preambleReceivedTargetPower和 gNB 侧配置。常见值是 -104 dBm 到 -110 dBm。如果终端发射功率受限适当提高这个值。同时检查powerRampingStep通常设dB2或dB4。改完后看 NR PRACH 是否能在preambleTransMax次数内收到 RAR。4.4 X2 接口 SN Addition 失败但空口无感知现象空口看终端行为正常重配也收到了但 NR 始终激活不了。基站侧 X2 抓包发现SN Addition Request发出后gNB 回了SN Addition Request Reject。原因gNB 侧资源不足、PCI 冲突、或者传输层 SCTP 链路有问题。空口侧终端不知道 X2 面的失败只会表现为 NR 接入超时。解决在 MeNB 和 gNB 两侧同时抓 X2 包看SN Addition Request里的UE-X2AP-ID、E-RAB信息和 gNB 返回的 Cause 值。常见 Cause 是transport-resource-unavailable或radio-network-temporary-unavailable。如果是资源问题检查 gNB 侧小区是否激活、基带资源是否够如果是传输问题检查 X2 SCTP 偶联状态。4.5 安全模式配置不一致导致重配被拒现象终端收到RRCConnectionReconfiguration后没有回RRCConnectionReconfigurationComplete而是回了RRCConnectionReconfigurationFailure或者直接触发重建。原因SCG 配置里携带的securityConfig和当前 LTE 侧的安全上下文不一致或者keyToUse指示的密钥派生方式终端不支持。NSA 下 NR 的用户面加密密钥是从 LTE 的 KeNB 派生出来的如果派生算法或参数不匹配终端会拒绝配置。解决核对SecurityModeCommand里的securityConfigSMC和后续重配里的securityConfig。重点看keyToUse是keNB还是masterKey以及nextHopChainingCount是否连续。如果终端不支持某种密钥派生需要在能力上报里明确网络侧也要相应调整。5. 用一条 log 反推接入失败点我的固定排查顺序做 NSA 接入排查我习惯按固定顺序过一遍 log基本能在十分钟内定位到卡点。这套顺序不是理论推导是踩坑踩出来的。第一步看RRCConnectionSetupComplete里有没有 EN-DC 能力。没有就直接查终端能力上报别往下看。第二步看第一条带measConfig的重配里有没有measObjectNR。没有就查网络侧为什么不下发通常是能力或许可问题。第三步看MeasurementReport里有没有measResultListNR。没有就查 SSB 频点和子载波间隔。第四步看带 SCG 配置的重配里rach-ConfigCommon的参数。有异常就对比 gNB 侧配置。第五步看 NR 侧 PRACH 和 RAR 的时序。超时就查功率和资源。第六步如果空口都正常但业务不通去 X2 抓包看 SN Addition 和用户面隧道建立。这套顺序对应的检查表如下步骤检查对象关键字段常见异常1RRCConnectionSetupCompleteue-CapabilityRAT-Container缺 supportedBandListEN-DC2RRCConnectionReconfigurationmeasObjectNRssbFrequency 错3MeasurementReportmeasResultListNR为空或 RSRP 异常4RRCConnectionReconfigurationrach-ConfigCommon功率参数不匹配5NR RACHPRACH/RAR 时序超时无响应6X2 接口SN Addition RequestReject 或超时一个具体技巧在 QXDM 里用Filter功能把NR_RRC和LTE_RRC分两个窗口看时间轴对齐。这样 NR 的 PRACH 和 LTE 的重配完成消息能直接对上时间差。如果时间差超过 200ms基本可以判定终端侧解析或射频切换有问题而不是网络侧配置问题。我自己的习惯是每次抓完 log 先存一份原始文件再用脚本把关键字段提取成 CSV方便对比不同次接入的差异。这个脚本不复杂但能省掉大量重复翻 log 的时间。希望帮到你。本文还有配套的精品资源点击获取
