5G注册流程详解(15)

461 阅读4分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

相关文章会在公众号同步更新。公众号:5G通信大家学

持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导网友。

///////////

1.1.2.14b Nudm_SDM_Get

消息方向:new AMF -> UDM

HTTP方法:GET

该消息的触发条件是:AMF中没有该UE的签约数据,或者签约数据不完整,或者签约数据需要更新时会调用该消息(SoR等参数可以设置为要求更新)。

AMF使用Nudm_SDM_Get操作下载UE的签约数据。UE的签约数据有很多,比较重点的有切片选择签约数据、接入和移动性管理签约数据、SMF选择签约数据、会话管理签约数据、SMS签约数据及SMS管理签约数据。除签约数据外,关于SMF、SMSF的UE Context也可以下载,其它还有很多签约数据,详见:TS 29.503,经常翻一下这些签约数据,对理解信令原理有很大的好处,会减少很多疑惑的地方。

该消息调用的URI格式如下,后续以下载切片签约数据为例:

{apiRoot}/nudm-sdm/v2/{supi}/****

其中:{supi}为UE的SUPI,最后的URI变量可以为:nssai、am-data、smf-select-data、sm-data、sms-data、sms-mng-data、ue-context-in-smf-data等。其支持的查询参数有plmn-id和supported-features,查询参数是可选的。如果没有提供plmn-id默认为归属PLMN值,返回UE的HPLMN的Subscribed S-NSSAI;如果提供了plmn-id,则返回该PLMN下的Subscribed S-NSSAI。另一个需要注意的地方是,在获取UE签约数据的URI中,API版本号为v2。

图片.png

Nudm_SDM_Get的请求消息不包含消息体。其返回的数据为NSSAI类型的数据,具体内容如下:

图片.png

nssai类型的数据包含defaultSingleNssais、singleNssais、additionalSnssaiData等信息,其中:defaultSingleNssais包含缺省的Subscribed S-NSSAI;singleNssais包含非缺省的Subscribed S-NSSAI;additionalSnssaiData是键值对类型,用于说明每个S-NSSAI是否需要执行Network Slice-Specific Authentication and Authorization流程,默认为false,不需要执行网络切片的鉴权和授权流程。

在众多签约数据中,比较特殊的就是网络切片NSSAI签约数据,它是在AMF注册前查询,用于辅助网络选择的签约数据。4G EPC中,PDN连接建立过程中PGW-C+SMF也需要查询NSSAI签约数据,为UE提供一个S-NSSAI。

下面仅介绍几个重点的签约数据内容:

- 接入和移动性签约数据: 包含gpsis、subscribedUeAmbr、nssai、ratRestrictions、forbiddenAreas 、serviceAreaRestriction、coreNetworkTypeRestrictions 、rfspIndex 、subsRegTimer(周期性注册定时器)、ueUsageType(EPS互操作时用于选择EPC专用核心网)、subscribedDnnList、stnSr、cMsisdn、nssaiInclusionAllowed等;

- SMF 选择签约数据: 包含每个S-NSSAI和DNN信息的关联,DNN信息有缺省的DNN、EPS互操作信息及使用静态IP地址的SMF列表等信息。

- 会话管理签约数据: 包括切片和DNN配置信息(如PDU Session的类型、sscModes、iwkEpsInd、5gQosProfile、sessionAmbr、staticIpAddress等)

- SMS 签约数据: 包括是否允许NAS短信等

- SMS 管理签约数据: 正常的短信业务(非IMS短信,PS网络自身也支持短信业务)数据

- ue-context-in-smf-data 签约数据: 包括PDU Session信息(DNN、切片等信息)和pgwInfo(与EPS互操作是的APN和PGW-C+SMF FQDN等信息)。

注册过程中下载切片数据用于判断当前的AMF是否可以为UE提供服务,如果不能服务会涉及到AMF重选流程,在后面的详解文章中再具体分析。

注册过程中,AMF可以从UDM中可以一次下载多组签约数据,如:AM签约数据、SMF选择签约数据、SMF中UE Context数据、SMS签约数据等,这时候需要使用DataSet的概念。

图片.png

对应的资源URI(相比前面介绍的,只是没有具体签约数据名字的信息)如下:

{apiRoot}/nudm-sdm//{supi}

此时,需要下载的多个签约数据是包含在GET方法的查询参数中,如下:

{apiRoot}/nudm-sdm/v1/imsi-460000000000000?dataset-names=AM,SMF_SEL,UEC_SMSF,SMS_SUB&plmn-id=***

这些数据集的名字,规范定义如下:

图片.png

响应消息:

  • 200 OK:包括需要获取的签约数据

  • 404 Not Found:携带可能的原因值:USER_NOT_FOUND、DATA_NOT_FOUND。