5GC UE注册过程中AMF和UDM的交互

2024-02-19 01:20
文章标签 过程 注册 ue 交互 5gc udm amf

本文主要是介绍5GC UE注册过程中AMF和UDM的交互,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

此文是AMF在完成UE鉴权后,向UDM获取签约数据的过程

UDM选择

AMF会使用SUPI通过NRF选择UDM。

AMF在UDM中保存UE上下文

消息方向 :NEW AFM -> UDM
消息名称:Nudm_UEContextManagement_Registration
HTTP方法:PUT (使用put方法修改AMF注册信息,使用PATCH更新信息有限)
URL:{apiRoot}/nudm-uecm/v1/{ueid}/registrations/amf-3gpp-access

amf_3gpp-acess AMF的一些设置信息,UE的一些信息
在这里插入图片描述

触发条件:再次注册AMF发生改变,UE在AMF的上下文无效,UE在同一个AMF注册,但是RAT不同。

UDM响应AMF

UDM -> new AMF
响应消息
UDM收到Nudm_UEContextManagement_Registration消息后,如果有该UE的注册信息,则使用收到的amf-3gpp-acess替换之前的注册信息,并返回200OK或者204NO Context响应。之后UDM调用Nudm_UEContextManagent_DerigistrationNotify通知old AMF删除UE Context。
如果没有该UE的注册信息,会保存接收到的信息,并返回201Created响应

AMF获取UE签约数据

消息名称:Nudm_SubscriberDataManagement_get
消息方向:new AMF -> UDM
HTTP方法: GET
url:{apiRoot}/nudm_sdm/v2/{supi}/***

{supi}是UE的SUPI,url最后的变量可以为:nssai,am-data,sm-select-data,sm-data,sms-data,sms-mng-data,ue-context-in-sms-data等

触发条件:AMF中没有该UE的签约数据、签约数据需要更新时
在这里插入图片描述

New AMF订阅UE的签约数据变化

AMF订阅UE的签约数据变化,包括UE自己的签约数据和多个UE公用的共享签约数据部分
消息名称:Nudm_SubscriberDataManagement_Subscribe
消息方向:new AFM -> UDM
HTTP方法: post
url:{apiRoot}/nudm-sdm/{apiVersion}/{ueId}/sdm-subscription
{ueId} 可以取值SUPI或GPSI
请求的消息体是Sdm-Subscription 可以是sdm-subscriptions和shared-data-subscriptions
在这里插入图片描述

UDM通知old AMF取消订阅签约数据

消息方向:UDM ->old AMF
HTTP方法:post
触发条件:UE移动到了同一个AMF Set上的其他AMF上注册成功,同时new AMF订阅了UE签约数据变化,UDM会向old AMF发出消息
在这里插入图片描述

callbackReference 在NF订阅时(Nudm_SubscriberDataManagement_Subscribe)包含在消息体中

old AMF取消订阅

消息方向:old AMF -> UDM
HTTP方法:DELETE
URI:{apiRoot}/nudm-sdm/{apiVersion}/{ueld}/sdm-subscriptions/{subscriptionId}
{subscriptionId}为创建订阅时返回的 subscription ID
在这里插入图片描述

签约数据

注册过程中,通常都要下载切片,接入和移动性签约数据,其他sms-data等都是具体流程需要时才下载到AMF。注册过程中下载切片数据用于判断当前AMF是否能为UE提供服务,如果不能服务涉及AMF重选。

网络切片NSSAI签约数据

在AMF注册前查询,用于辅助网络选择的签约数据

am-data

smf-sel-data

包含每个S-NSSAI和DNN信息的关联

sm-data

包括切片和DNN配置信息

sms-data

包括是否允许NAS短信

sms-mng-data

正常的短信业务数据

ue-context-in-sms-data

包括PDU session信息(DNN和切片信息)和pgwinfo

这篇关于5GC UE注册过程中AMF和UDM的交互的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/723047

相关文章

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示