5G核心网学习平台
UDM 实践篇 #07

5GC实践篇之UDM篇第23篇:RAT限制导致注册拒绝

《5G核心网原理与实践》实践篇 · UDM 网元功能

5GC实践篇之UDM篇第23篇:RAT限制导致注册拒绝

作者:爱卫生


1 测试背景与用例简介

在5G核心网的注册流程中,AMF在收到UE的注册请求后,需要向UDM获取用户的签约数据(AM-Data),其中包含一个关键的接入控制参数——ratRestrictions(RAT接入限制)。这个参数定义了该用户不允许使用的无线接入技术类型。

在正常情况下,ratRestrictions用于实现精细化的接入控制策略,例如限制物联网设备只能通过NR接入、限制纯5G用户不能通过LTE接入等。但当用户当前正在使用的RAT恰好被限制时,AMF必须拒绝该注册请求——这就产生了本篇要剖析的场景:RAT限制导致注册拒绝

本测试模拟的场景是:用户通过NR(5G新空口)发起注册,但UDM中该用户的ratRestrictions配置为["NR"],即明确禁止该用户通过NR接入。AMF在获取到签约数据后,检测到当前RAT被限制,于是向UE返回Registration Reject。

这是一个典型的签约数据驱动的接入控制场景,在实际网络运维中可能出现在以下情况:

  • 运营商配置错误,误将用户的接入RAT设为限制;

  • 用户套餐变更后,旧的限制策略未及时更新;

  • 物联网用户被错误地配置为NR限制。

RAT限制导致注册拒绝的完整信令流程


sequenceDiagram

    participant UE

    participant RAN as gNB_NR

    participant AMF

    participant UDM

    Note over UE, UDM: UE通过NR发起注册请求

    UE->>RAN: Registration Request (5GS Registration)

    RAN->>AMF: N2 Message (Registration Request)

    rect rgb(230, 245, 255)

        Note over AMF, UDM: AMF与UDM交互

        AMF->>UDM: Nudm_UECM_Registration (PUT)<br/>注册AMF信息

        UDM-->>AMF: 204 No Content

        AMF->>UDM: Nudm_SDM_Get (GET)<br/>获取AM签约数据

        UDM-->>AMF: 200 OK + AmData<br/>含ratRestrictions: ["NR"]

    end

    Note over AMF: AMF检测到ratRestrictions包含NR<br/>当前UE通过NR接入<br/>RAT被限制!

    AMF-->>RAN: Registration Reject<br/>5GMM Cause: 39 - PLMN not allowed

    RAN-->>UE: Registration Reject

RAT限制判断逻辑


flowchart TD

    A["AMF收到UE Registration Request"] --> B["AMF获取UE当前接入RAT类型"]

    B --> C["AMF向UDM获取AM-Data"]

    C --> D["检查ratRestrictions字段"]

    D --> E["比对当前RAT与ratRestrictions列表"]

    E -->|"是: 当前RAT被限制"| F["AMF发送Registration Reject: Cause #39或#36"]

    E -->|"否: 当前RAT未被限制"| G["继续正常注册流程"]

    style F fill:#ffcdd2,stroke:#c62828,stroke-width:3px

    style G fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px


测试目的

验证当UDM中用户的ratRestrictions包含UE当前使用的RAT类型时,AMF能够正确检测到该限制,并向UE返回Registration Reject消息,拒绝用户的注册请求。

测试前置条件

  1. SA网络中各网元系统及操作维护台运行正常。

  2. 终端和网络连接正常。

  3. UE在UDM开户,签约5G业务。

  4. UDM中该用户的AmData配置ratRestrictions为["NR"](即禁止通过NR接入)。

  5. 服务化接口的信令监控、分析的工具准备就绪。

  6. 测试终端通过NR小区发起注册。

测试步骤

  1. 在UDM中为测试用户配置ratRestrictions为["NR"]。

  2. UE通过NR小区发起5G注册请求。

  3. Frame: 58340 ~ 58360

  4. 检查AMF与UDM之间的信令交互,以及AMF返回给UE的注册结果。

测试结果验证(预期)

  1. AMF向UDM发起Nudm_UECM_Registration注册成功,返回204 No Content。

  2. AMF向UDM发起Nudm_SDM_Get获取AM-Data,UDM返回的签约数据中包含ratRestrictions: ["NR"]。

  3. AMF检测到当前UE通过NR接入,而NR在ratRestrictions列表中,判定为RAT受限。

  4. AMF向UE返回Registration Reject,携带适当的5GMM拒绝原因值。


2 信令深度解析

在本测试中,整个注册流程因ratRestrictions字段的存在而被中断。AMF在获取到签约数据后,执行接入控制检查时发现当前RAT被限制,于是不再继续后续的切片选择、RFSP下发等流程,直接返回注册拒绝。

(注:为保护网络安全,以下log中的SUPI/IMSI标识、网元IP等敏感信息已做严格脱敏处理)

2.1 AMF向UDM注册(Nudm_UECM_Registration)

AMF收到UE通过NR小区发来的Registration Request后,首先向UDM发起AMF注册。这一步与正常注册流程完全一致——AMF将自己的实例信息注册到UDM,告知UDM"这个用户现在由我来管理"。


sequenceDiagram

    participant AMF

    participant UDM

    Note over AMF, UDM: Nudm_UECM_Registration

    AMF->>UDM: PUT /nudm-uecm/v1/imsi-460XX00000XXXX<br/>/registrations/amf-3gpp-access

    Note right of AMF: 请求体携带:<br/>amfInstanceId<br/>guami<br/>ratType: NR

    UDM-->>AMF: 204 No Content

    Note left of UDM: UDM记录AMF注册信息<br/>AMF注册成功

信令抓包解析:


# 1. AMF -> UDM(AMF注册 PUT请求)

Frame: 58340

HEADERS[11]: PUT /nudm-uecm/v1/imsi-460XX00000XXXX/registrations/amf-3gpp-access

JavaScript Object Notation: application/json

  Object

    Member Key: amfInstanceId

      String value: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

      # AMF的NF Instance ID,唯一标识该AMF实例

    Member Key: guami

      Object

        Member Key: plmnId

          Object

            Member Key: mcc

              String value: "460"

            Member Key: mnc

              String value: "XX"

        Member Key: amfId

          String value: "XXXXXX"

          # AMF标识,包含AMF Region/SET/Pointer

    Member Key: ratType

      String value: "NR"

      #  关键:当前接入类型为NR(5G新空口)

    Member Key: accessType

      String value: "3GPP_ACCESS"

# 2. UDM -> AMF(注册成功响应)

HEADERS[3]: 204 No Content

# UDM已成功记录AMF注册信息

注意:AMF在注册请求中携带了ratType: "NR",明确告知UDM当前UE是通过NR接入的。这一信息虽然UDM会记录,但RAT限制的判断主体是AMF——AMF将在下一步获取签约数据后,自行比对当前RAT与ratRestrictions列表。


2.2 AMF获取签约数据(Nudm_SDM_Get)

AMF注册成功后,立即向UDM获取该用户的接入和移动性管理签约数据。正是这一步返回的ratRestrictions字段,触发了后续的注册拒绝。


sequenceDiagram

    participant AMF

    participant UDM

    Note over AMF, UDM: Nudm_SDM_Get - 获取AM-Data

    AMF->>UDM: GET /nudm-sdm/v1/imsi-460XX00000XXXX<br/>/am-data

    Note right of AMF: HTTP GET请求<br/>资源路径: /am-data

    UDM-->>AMF: 200 OK

    Note left of UDM: 响应体含AmData:<br/>ratRestrictions: ["NR"]<br/>subscribedUeAmbr<br/>nssai等

信令抓包解析:


# 3. AMF -> UDM(获取AM签约数据 GET请求)

Frame: 58348

HEADERS[5]: GET /nudm-sdm/v1/imsi-460XX00000XXXX/am-data

# 请求方法: GET

# 资源类型: am-data(Access and Mobility Management Data)

# 无请求体

# 4. UDM -> AMF(返回AM签约数据)

Frame: 58352

HEADERS[3]: 200 OK

JavaScript Object Notation: application/json

  Object

    # ===== 必选参数 =====

    # --- 签约UE聚合最大比特速率 ---

    Member Key: subscribedUeAmbr

      Object

        Member Key: uplink

          String value: "1000000000"

          # 上行速率: 1 Gbps

        Member Key: downlink

          String value: "2000000000"

          # 下行速率: 2 Gbps

    # --- 签约网络切片标识 ---

    Member Key: nssai

      Object

        Member Key: singleNssais

          Array

            Object

              Member Key: sst

                Number value: 1

                # SST=1 eMBB切片

              Member Key: sd

                String value: "000001"

        Member Key: defaultSingleNssais

          Array

            Object

              Member Key: sst

                Number value: 1

              Member Key: sd

                String value: "000001"

    # --- RFSP索引 ---

    Member Key: rfspIndex

      Number value: 10

    # --- 签约注册周期定时器 ---

    Member Key: subsRegTimer

      Number value: 36000

    # ===== 关键参数:RAT限制 =====

    #  RAT接入限制 

    Member Key: ratRestrictions

      Array

        String value: "NR"

        #  关键:禁止通过NR接入!

        # 这意味着该用户不允许使用5G NR无线接入技术

    # --- 核心网类型限制 ---

    Member Key: coreNetworkTypeRestrictions

      Array

        String value: "EPC"

        # 禁止接入EPC

    # --- GPSI列表 ---

    Member Key: gpsis

      Array

        String value: "msisdn-86XXXXXXXXXXX"

关键发现:ratRestrictions包含"NR"

在这个响应中,ratRestrictions数组包含一个元素"NR"。这意味着该用户在签约数据中被配置为禁止通过5G NR接入。而当前UE恰恰是通过NR小区发起的注册请求,因此AMF在检查接入控制时将判定该注册请求不被允许。


2.3 AMF执行RAT限制检查

AMF获取到AM-Data后,按照3GPP协议规范,需要执行一系列接入控制检查。其中RAT限制检查的优先级较高——如果当前RAT被限制,AMF无需进行后续的切片选择、区域限制等检查,直接拒绝注册即可。

AMF的RAT限制判断逻辑:


1. 从Registration Request中获取UE当前的接入RAT类型 → NR

2. 从AM-Data中读取ratRestrictions → ["NR"]

3. 比对: 当前RAT "NR" 是否在ratRestrictions列表 ["NR"] 中?

4. 结果: "NR" 在列表中 → 当前RAT被限制

5. 动作: AMF决定拒绝注册

根据3GPP TS 29.503 第5.3.2.2.2节的规定,AMF在获取到ratRestrictions后,必须检查UE当前使用的RAT类型是否在该限制列表中。如果匹配,AMF应向UE返回Registration Reject。

ratRestrictions字段的协议定义:

属性 说明
字段名 ratRestrictions
数据类型 array of string
所属数据结构 AccessAndMobilitySubscriptionData (AmData)
取值范围 "NR", "EUTRA", "UTRA", "GERAN", "NBIOT", "NR_U", "EUTRA_U"
语义 列表中包含的RAT类型均为该用户不允许使用的无线接入技术
来源 3GPP TS 29.503 第5.3.2.2.2节

协议参考:根据3GPP TS 29.503 第5.3.2.2.2节,ratRestrictions字段定义在AccessAndMobilitySubscriptionData数据结构中,类型为RatType数组。当AMF发现UE当前使用的RAT在ratRestrictions列表中时,应按照3GPP TS 23.502第4.2.2.3.2节的规定,拒绝该注册请求。


2.4 AMF返回Registration Reject

AMF在确认RAT被限制后,向UE返回Registration Reject消息。


sequenceDiagram

    participant AMF

    participant RAN as gNB_NR

    participant UE

    Note over AMF, UE: RAT限制触发注册拒绝

    AMF->>RAN: Registration Reject<br/>5GMM Cause: 39

    Note right of AMF: 拒绝原因值: #39<br/>PLMN not allowed<br/>(或根据实现选择其他原因值)

    RAN->>UE: Registration Reject

    Note left of UE: UE收到拒绝后:<br/>1. 不再尝试注册该PLMN<br/>2. 可能尝试其他PLMN

信令抓包解析:


# 5. AMF -> UE(Registration Reject)

Frame: 58360

NAS-5GS Message: Registration Reject

  Protocol Discriminator: 5GS Mobility Management (0x7)

  Security Header Type: 0 (No Security)

  Message Type: Registration Reject (0x44)

  # --- 5GMM Cause ---

  Member Key: 5GMM Cause

    Value: 39 (PLMN not allowed)

    #  注册拒绝原因: #39 PLMN not allowed

    # AMF告知UE该PLMN不允许其接入

    # UE收到此原因值后,将认为当前PLMN不可用

  # --- T3346 Value(可选)---

  Member Key: T3346Value

    Value: 600 (seconds)

    #  退避定时器: 600秒 = 10分钟

    # UE在此期间不应尝试向同一PLMN重新注册

5GMM拒绝原因值解读:

原因值 名称 含义
39 PLMN not allowed 当前PLMN不允许该UE接入
36 Backoff timer 需要等待退避定时器超时后再尝试
7 5GS services not allowed 5GS服务不被允许
22 Congestion 网络拥塞

工程说明:在实际网络中,当RAT被限制时,AMF通常返回5GMM Cause #39(PLMN not allowed)或 #7(5GS services not allowed)。具体选择哪个原因值取决于设备厂商的实现。部分厂商会额外携带退避定时器T3346,防止UE频繁重试造成信令风暴。


2.5 【硬核附加】用curl模拟查询ratRestrictions

在实际排障中,如果怀疑用户因RAT限制导致注册失败,可以直接使用curl命令查询UDM中的签约数据来验证:


curl -i -X GET http://10.XX.XX.XX:31381/nudm-sdm/v1/imsi-460XX00000XXXX/am-data

UDM返回的JSON响应(关键字段):


{

  "gpsis": [

    "msisdn-86XXXXXXXXXXX"

  ],

  "subscribedUeAmbr": {

    "uplink": "1000000000",

    "downlink": "2000000000"

  },

  "nssai": {

    "singleNssais": [

      {

        "sst": 1,

        "sd": "000001"

      }

    ],

    "defaultSingleNssais": [

      {

        "sst": 1,

        "sd": "000001"

      }

    ]

  },

  "rfspIndex": 10,

  "subsRegTimer": 36000,

  "ratRestrictions": [

    "NR"

  ],

  "coreNetworkTypeRestrictions": [

    "EPC"

  ]

}

RAT限制快速排查步骤:

  1. 从信令中确认UE当前使用的RAT类型(NR或EUTRA);

  2. 使用curl查询UDM,检查ratRestrictions字段;

  3. 如果当前RAT在ratRestrictions列表中,则确认是RAT限制导致注册失败;

  4. 修正UDM中的ratRestrictions配置(例如将["NR"]改为["EUTRA"]或清空列表)。

常见ratRestrictions配置场景:

场景 ratRestrictions配置 效果
纯5G用户 ["EUTRA"] 只能通过NR接入,不允许LTE
纯4G用户 ["NR"] 只能通过LTE接入,不允许5G NR
无限制(默认) [](空数组或不配置) 允许所有RAT接入
物联网设备 ["EUTRA","NR"] 只允许NB-IoT,不允许LTE和NR

2.6 RAT限制与注册拒绝的完整决策链

将上述步骤串联起来,我们可以看到AMF在注册流程中处理ratRestrictions的完整决策链:


flowchart TD

    A["UE通过NR发起Registration Request"] --> B["AMF向UDM注册: Nudm_UECM_Registration"]

    B -->|"204 成功"| C["AMF获取AM-Data: Nudm_SDM_Get"]

    B -->|"失败"| FAIL1["注册失败: UDM不可达"]

    C -->|"200 OK"| D["AMF解析ratRestrictions字段"]

    C -->|"失败"| FAIL2["注册失败: 无法获取签约数据"]

    D --> E["检查ratRestrictions是否包含当前RAT(NR)"]

    E -->|"包含NR: 被限制"| F["AMF发送Registration Reject: 5GMM Cause 39, 退避600秒"]

    E -->|"不包含NR: 未限制"| G["继续正常注册流程: 检查切片和区域限制等"]

    style F fill:#ffcdd2,stroke:#c62828,stroke-width:3px

    style G fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px

    style FAIL1 fill:#ffcdd2,stroke:#c62828

    style FAIL2 fill:#ffcdd2,stroke:#c62828

值得关注的技术细节:

1) RAT限制的检查时机

ratRestrictions的检查发生在AMF获取AM-Data之后、切片选择之前。这意味着RAT限制是接入控制的第一道"门槛"——如果RAT被限制,后续的切片选择、区域限制等流程都不会执行。这种设计体现了5G核心网"快速失败"的原则:尽早发现不合法的请求,减少不必要的信令处理。

2) 多RAT限制的处理

ratRestrictions是一个数组,可以包含多个RAT类型。例如,如果配置为["NR", "EUTRA"],则该用户既不能通过5G NR接入,也不能通过4G LTE接入。这种情况下,UE几乎无法通过任何3GPP接入技术注册(除非还有UTRA/GERAN可用)。

3) 与核心网类型限制的区别

ratRestrictions限制的是无线接入技术(NR、EUTRA等),而coreNetworkTypeRestrictions限制的是核心网类型(5GC、EPC)。两者可以独立配置,也可以组合使用。例如:

  • ratRestrictions=["NR"] + coreNetworkTypeRestrictions=["EPC"]:表示该用户不能通过NR接入,也不能接入EPC。实际效果是该用户只能通过LTE接入5GC。

3 测试结论

验证项 结果 说明
AMF注册成功 OK Nudm_UECM_Registration返回204 No Content
AMF获取AM-Data成功 OK Nudm_SDM_Get返回200 OK,包含ratRestrictions
UDM正确返回ratRestrictions OK ratRestrictions: ["NR"],与UDM配置一致
AMF正确检测RAT限制 OK 当前RAT为NR,在ratRestrictions列表中
AMF返回Registration Reject OK 5GMM Cause #39,携带T3346退避定时器
UE收到拒绝后行为正确 OK UE不再尝试向该PLMN注册

本测试用例验证了RAT限制导致注册拒绝的完整流程。当UDM中用户的ratRestrictions包含UE当前使用的RAT类型(本例中为NR)时,AMF能够在获取签约数据后正确检测到该限制,并按照3GPP TS 23.502和TS 29.503规范的要求,向UE返回Registration Reject消息。

排障建议:在实际网络运维中,如果用户投诉"无法注册5G网络",排障步骤应包括:

  1. 通过信令抓包确认AMF是否返回了Registration Reject;

  2. 查询UDM中的ratRestrictions配置;

  3. 比对用户当前使用的RAT与限制列表;

  4. 如果是配置错误,修正UDM中的ratRestrictions并通知用户重新注册。

这一场景虽然在实际商用网络中出现频率不高,但在用户数据配置错误或套餐变更过程中可能发生,是5G核心网运维人员需要掌握的典型排障场景。



关于作者:爱卫生,专注通信教育18年,《5G核心网原理与实践》等4本专业书籍作者。更多5GC/IMS深度内容,欢迎关注公众号「51学通信」或加入知识星球(200+小时视频、3000+精华文章)。

本文为《5G核心网原理与实践》实践篇之UDM系列。系列持续更新中,扫码关注「51学通信」获取最新内容。

← 返回 UDM 实践篇