-
切片选择:用户签约了哪些S-NSSAI(网络切片),默认切片是什么;
-
速率策略:用户的UE-AMBR(终端聚合最大比特速率)上限是多少;
-
区域限制:用户允许或禁止在哪些跟踪区域(TA)内活动;
-
RFSP策略:基于签约的RFSP Index指导RAN进行频点优先级选择;
-
核心网类型限制:用户是否被限制只能接入5GC或EPC。
如果AMF无法获取AM-Data,整个注册流程将无法正常完成——AMF既不知道该用户是否被允许接入,也不知道该为其分配什么切片和策略。因此,AMF通过Nudm_SDM_Get获取AM-Data是注册流程中不可或缺的关键步骤。
本篇正是验证UDM在AMF请求时,能够正确返回用户的接入和移动性管理签约数据。
AMF获取AM-Data的信令流程
sequenceDiagram
participant UE
participant RAN as (R)AN
participant AMF
participant UDM
Note over UE, UDM: UE发起注册请求
UE->>RAN: Registration Request
RAN->>AMF: N2 Message (Registration Request)
rect rgb(230, 245, 255)
Note over AMF, UDM: AMF获取AM签约数据
AMF->>UDM: Nudm_SDM_Get (GET)<br/>获取Access and Mobility Management Data
Note right of AMF: GET /nudm-sdm/v1/{supi}/am-data
UDM-->>AMF: 200 OK + AmData<br/>含UE-AMBR / NSSAI / RFSP / RAT限制等
end
Note over AMF: AMF根据AM-Data进行:<br/>1. 接入控制判断<br/>2. 切片选择<br/>3. RFSP策略下发<br/>4. 区域限制执行
AMF-->>RAN: N2 Registration Accept
RAN-->>UE: Registration Accept
AM-Data数据结构总览
flowchart LR
subgraph AmData签约数据结构
A["subscribedUeAmbr<br/>签约UE聚合速率"] ---
B["nssai<br/>签约切片信息"] ---
C["rfspIndex<br/>RFSP索引"] ---
D["subsRegTimer<br/>签约注册周期定时器"]
end
subgraph 可选签约参数
E["ratRestrictions<br/>RAT接入限制"] ---
F["serviceAreaRestriction<br/>服务区域限制"] ---
G["coreNetworkTypeRestrictions<br/>核心网类型限制"] ---
H["mpsPriority<br/>MPS优先级"]
end
style A fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
style B fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
style C fill:#fff3e0,stroke:#e65100,stroke-width:2px
style D fill:#f3e5f5,stroke:#6a1b9a,stroke-width:2px
style E fill:#fce4ec,stroke:#c62828,stroke-width:2px
style F fill:#e0f7fa,stroke:#00695c,stroke-width:2px
style G fill:#fff8e1,stroke:#ff6f00,stroke-width:2px
style H fill:#f1f8e9,stroke:#33691e,stroke-width:2px
测试目的
验证UDM支持AMF通过Nudm_SDM_Get服务获取用户的签约接入和移动性管理数据(AM-Data),包括必选参数(Subscribed-UE-AMBR、Subscribed S-NSSAIs、Default S-NSSAIs)和可选参数(RAT限制、核心网类型限制、RFSP Index等),确保UDM返回的数据与用户签约数据一致。
测试前置条件
-
SA网络中各网元系统及操作维护台运行正常。
-
终端和网络连接正常。
-
UE在UDM开户,签约5G业务。
-
服务化接口的信令监控、分析的工具准备就绪。
测试步骤
-
在UDM中为测试用户签约接入和移动性管理数据,包括:
-
必选参数:Subscribed-UE-AMBR(签约UE聚合最大比特速率)、Subscribed S-NSSAIs(签约网络切片)、Default S-NSSAIs(默认网络切片);
-
可选参数:RAT Restriction(RAT接入限制)、Core Network type restriction(核心网类型限制)、RFSP Index(RAT/频率选择优先级索引)等。
-
AMF通过Nudm_SDM_Get服务获取该用户的AM-Data。
-
Frame: 672 & 678
测试结果验证(预期)
-
AMF通过Nudm_SDM_Get的GET消息正确获取签约数据,请求消息格式符合3GPP规范。
-
UDM正确返回AM-Data,响应消息中包含的各签约字段与UDM中配置的签约数据完全一致。
2 信令深度解析
在本测试中,AMF通过Nudm_SDM_Get服务向UDM请求用户的接入和移动性管理签约数据。这是一个标准的HTTP GET请求,URL中通过SUPI标识目标用户,资源路径为am-data,UDM返回该用户的完整AM-Data JSON对象。
(注:为保护网络安全,以下log中的SUPI/IMSI标识、网元IP等敏感信息已做严格脱敏处理)
2.1 AMF获取AM签约数据(Nudm_SDM_Get)
AMF在UE注册流程中,向UDM发起Nudm_SDM_Get请求,获取该用户的接入和移动性管理签约数据。这一步发生在AMF完成UECM注册之后(或同时),是AMF进行后续接入控制和移动性管理决策的前提条件。
请求非常简洁——HTTP GET方法,资源路径直接指向{supi}/am-data,无需额外的请求体或查询参数。UDM根据SUPI在UDR中查找对应的签约记录,将完整的AmData对象返回给AMF。
sequenceDiagram
participant AMF
participant UDM
Note over AMF, UDM: Nudm_SDM_Get - 获取AM-Data
AMF->>UDM: GET /nudm-sdm/v1/imsi-460XX00000XXXX/am-data
Note right of AMF: HTTP GET请求<br/>资源路径: /am-data<br/>无请求体
UDM-->>AMF: 200 OK
Note left of UDM: 响应体含AmData:<br/>subscribedUeAmbr<br/>nssai(singleNssais + defaultSingleNssais)<br/>rfspIndex<br/>subsRegTimer<br/>ratRestrictions<br/>serviceAreaRestriction<br/>coreNetworkTypeRestrictions<br/>mpsPriority
信令抓包解析:
# 1. AMF -> UDM(获取AM签约数据 GET请求)
Frame: 672
HEADERS[5]: GET /nudm-sdm/v1/imsi-460XX00000XXXX/am-data
# 请求方法: GET
# 服务名称: nudm-sdm(SDM服务)
# API版本: v1
# 目标用户: imsi-460XX00000XXXX(已脱敏)
# 资源类型: am-data(Access and Mobility Management Data)
# 无请求体,所有数据通过URL路径定位
# 2. UDM -> AMF(返回AM签约数据)
Frame: 678
HEADERS[3]: 200 OK
JavaScript Object Notation: application/json
Object
# ===== 必选参数 =====
# --- 签约UE聚合最大比特速率 ---
Member Key: subscribedUeAmbr
Object
Member Key: uplink
String value: "123457000"
# 上行速率: 123.457 Mbps(单位: bps)
Member Key: downlink
String value: "1235000000"
# 下行速率: 1.235 Gbps(单位: bps)
# --- 签约网络切片标识 ---
Member Key: nssai
Object
Member Key: singleNssais
Array
Object
Member Key: sst
Number value: 4
# SST=4,运营商自定义切片类型
Member Key: sd
String value: "000002"
# 切片差异化标识
Object
Member Key: sst
Number value: 4
Member Key: sd
String value: "000003"
# 用户签约了两个S-NSSAI切片
Member Key: defaultSingleNssais
Array
Object
Member Key: sst
Number value: 4
Member Key: sd
String value: "000001"
# 默认切片:SST=4, SD=000001
# ===== 可选参数 =====
# --- GPSI列表 ---
Member Key: gpsis
Array
String value: "msisdn-86XXXXXXXXXXX"
# 用户的外部标识(手机号)
# --- RFSP索引 ---
Member Key: rfspIndex
Number value: 10
# RAT/频率选择优先级索引,指导RAN进行频点选择
# --- 签约注册周期定时器 ---
Member Key: subsRegTimer
Number value: 36000
# 签约注册周期: 36000秒 = 10小时
# --- UE使用类型 ---
Member Key: ueUsageType
Number value: 0
# UE使用类型(0=普通用户)
# --- RAT接入限制 ---
Member Key: ratRestrictions
Array
String value: "EUTRA"
# 限制: 不允许接入EUTRA(即4G LTE)
# --- 服务区域限制 ---
Member Key: serviceAreaRestriction
Object
Member Key: restrictionType
String value: "NOT_ALLOWED_AREAS"
# 限制类型: 禁止区域(黑名单模式)
Member Key: areas
Array
Object
Member Key: tacs
Array
String value: "XXXX01"
String value: "XXXX02"
# 禁止的TAC列表(已脱敏)
Member Key: plmnId
Object
Member Key: mcc
String value: "460"
Member Key: mnc
String value: "XX"
# --- 核心网类型限制 ---
Member Key: coreNetworkTypeRestrictions
Array
String value: "EPC"
# 限制: 不允许接入EPC(即不允许回落到4G核心网)
# --- MPS优先级 ---
Member Key: mpsPriority
Boolean value: true
# 多媒体优先服务: 启用(如应急通信用户)
2.2 签约数据字段逐一解读
下面我们对UDM返回的AM-Data中每个关键字段进行逐一解读,帮助读者深入理解其协议含义和实际应用场景。
2.2.1 subscribedUeAmbr(签约UE聚合最大比特速率)
这是必选参数,定义了该用户终端(UE)在所有non-GBR QoS流上的聚合最大比特速率。AMF在建立PDU会话时,会将此值下发给SMF,作为UE级别的速率上限。
uplink |
123457000 (bps) |
上行UE-AMBR = 123.457 Mbps |
downlink |
1235000000 (bps) |
下行UE-AMBR = 1.235 Gbps |
singleNssais |
用户签约的所有S-NSSAI列表 |
SST=4/SD=000002, SST=4/SD=000003 |
defaultSingleNssais |
默认S-NSSAI列表 |
SST=4/SD=000001 |
rfspIndex |
10 |
RFSP索引值,取值范围1~256 |
subsRegTimer |
36000 |
签约注册周期 = 36000秒 = 10小时 |
ratRestrictions |
["EUTRA"] |
禁止接入EUTRA(4G LTE) |
restrictionType |
NOT_ALLOWED_AREAS |
黑名单模式(禁止区域) |
areas[].tacs |
["XXXX01", "XXXX02"] |
被禁止的TAC列表 |
areas[].plmnId |
MCC=460, MNC=XX |
所属PLMN |
coreNetworkTypeRestrictions |
["EPC"] |
禁止接入EPC(4G核心网) |
mpsPriority |
true |
启用多媒体优先服务 |
-i |
- |
在输出中包含HTTP响应头 |
-X GET |
GET |
HTTP方法为GET |
| URL |
http://10.XX.XX.XX:31381/nudm-sdm/v1/imsi-460XX00000XXXX/am-data |
UDM的SBI接口地址 |
gpsis |
msisdn-86XXXXXXXXXXX |
用户外部标识(手机号) |
subscribedUeAmbr.uplink |
123457000 bps = 123.457 Mbps |
上行聚合速率上限 |
subscribedUeAmbr.downlink |
1235000000 bps = 1.235 Gbps |
下行聚合速率上限 |
nssai.singleNssais |
SST=4/SD=000002, SST=4/SD=000003 |
签约的2个网络切片 |
nssai.defaultSingleNssais |
SST=4/SD=000001 |
默认切片(无请求切片时使用) |
rfspIndex |
10 |
RAN频点选择策略索引 |
subsRegTimer |
36000秒 = 10小时 |
周期性注册更新定时器 |
ueUsageType |
0 |
UE使用类型(普通用户) |
ratRestrictions |
EUTRA |
禁止接入4G LTE |
serviceAreaRestriction |
NOT_ALLOWED_AREAS |
黑名单模式,禁止特定TAC区域 |
coreNetworkTypeRestrictions |
EPC |
禁止接入4G核心网 |
mpsPriority |
true |
启用多媒体优先服务 |
ratRestrictions |
接入控制 |
判断UE当前RAT是否允许,拒绝则返回Registration Reject |
nssai |
切片选择 |
比对Requested NSSAI与签约切片,生成Allowed NSSAI |
subscribedUeAmbr |
会话建立 |
传递给SMF,作为UE级别的速率上限 |
rfspIndex |
N2下发 |
通过N2接口传递给RAN,指导频点优先级选择 |
serviceAreaRestriction |
区域控制 |
在Registration Accept中下发给UE,限制活动区域 |
subsRegTimer |
定时器设置 |
设置UE的周期性注册更新间隔 |
coreNetworkTypeRestrictions |
互操作控制 |
控制UE是否允许从5GC回落到EPC |
mpsPriority |
QoS策略 |
标记优先用户,在拥塞时保障服务质量 |
3 测试结论
| 验证项 |
结果 |
说明 |
| AMF成功获取AM-Data |
OK |
Nudm_SDM_Get请求消息格式正确 |
| UDM正确返回签约UE-AMBR |
OK |
上行123.457 Mbps / 下行1.235 Gbps,与签约数据一致 |
| UDM正确返回签约NSSAI |
OK |
singleNssais含2个切片,defaultSingleNssais含1个默认切片 |
| UDM正确返回可选参数 |
OK |
rfspIndex=10, subsRegTimer=36000, ratRestrictions=EUTRA等 |
| 签约数据与UDM配置一致 |
OK |
所有返回字段与UDM中的签约数据完全一致 |
本测试用例完美通过!AMF通过Nudm_SDM_Get服务成功获取了用户的接入和移动性管理签约数据(AM-Data),UDM返回的响应消息包含了完整的必选参数(subscribedUeAmbr、nssai)和可选参数(rfspIndex、subsRegTimer、ratRestrictions、serviceAreaRestriction、coreNetworkTypeRestrictions、mpsPriority),所有字段值与UDM中的用户签约数据完全一致,信令流程与3GPP TS 29.503规范完全吻合。
AM-Data是AMF进行接入控制和移动性管理决策的核心数据源。通过本测试,我们验证了UDM能够正确存储并向AMF提供这些关键签约数据,为后续的注册接受、切片选择、区域限制、频点策略下发等操作奠定了坚实的基础。
作者:爱卫生(18年通信教学经验,4本专业书籍作者)
学5G核心网、IMS,来51学通信就对了!知识星球:200+小时视频 · 3000+精华文章 · 1年答疑群
本文为《5G核心网原理与实践》实践篇之UDM系列。欢迎转发分享,转载请联系作者。