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

相关文章

C/C++的编译和链接过程

目录 从源文件生成可执行文件(书中第2章) 1.Preprocessing预处理——预处理器cpp 2.Compilation编译——编译器cll ps:vs中优化选项设置 3.Assembly汇编——汇编器as ps:vs中汇编输出文件设置 4.Linking链接——链接器ld 符号 模块,库 链接过程——链接器 链接过程 1.简单链接的例子 2.链接过程 3.地址和

Eureka高可用注册中心registered-replicas没有分布式注册中心

自己在学习过程中发现,如果Eureka挂掉了,其他的Client就跑不起来了,那既然是商业项目,还是要处理好这个问题,所以决定用《Spring Cloud微服务实战》(PDF版在全栈技术交流群中自行获取)中说的“高可用注册中心”。 一开始我yml的配置是这样的 server:port: 8761eureka:instance:hostname: 127.0.0.1client:fetch-r

移动硬盘盒:便携与交互的完美结合 PD 充电IC

在数字化时代的浪潮中,数据已成为我们生活中不可或缺的一部分。随着数据的不断增长,人们对于数据存储的需求也在不断增加。传统的存储设备如U盘、光盘等,虽然具有一定的便携性,但在容量和稳定性方面往往难以满足现代人的需求。而移动硬盘,以其大容量、高稳定性和可移动性,成为了数据存储的优选方案。然而,单纯的移动硬盘在携带和使用上仍存在诸多不便,于是,移动硬盘盒应运而生,以其独特的便携性和交互性,成为了数据存储

mysql中存储过过程和游标的联合使用

1.SQL如下: DELIMITER //DROP PROCEDURE IF EXISTS PrintAllEmployeeNames5;CREATE PROCEDURE PrintAllEmployeeNames5()BEGINDECLARE error_count INT DEFAULT 0;DECLARE num INT ;DECLARE done INT DEFAULT

2024年6月24日-6月30日(ue独立游戏为核心)

试过重点放在独立游戏上,有个indienova独立游戏团队是全职的,由于他们干了几个月,节奏暂时跟不上,紧张焦虑了。五一时也有点自暴自弃了,实在没必要,按照自己的节奏走即可。精力和时间也有限,放在周末进行即可。除非哪天失业了,再也找不到工作了,再把重心放在独立游戏上。 另外,找到一个同样业余的美术,从头做肉鸽游戏,两周一次正式交流即可。节奏一定要放慢,不能影响正常工作生活。如果影响到了,还不如自

Class 对象在执行引擎中的初始化过程

一个 class 文件被加载到内存中需要经过 3 大步:装载、链接、初始化。 装载 装载是指 Java 虚拟机查找 .class 文件并生成字节流,然后根据字节流创建 java.lang.Class 对象的过程。 链接 链接过程分为 3 步:验证、准备、解析。 验证: 初始化 这是 class 加载的最后一步,这一阶段是执行类构造器方法的过程,并真正初始化类变量。 1.文件格式检验:检

绿联nas折腾过程中遇到的问题

绿联nas折腾过程中遇到的问题 目录 ssh权限问题超级用户 ssh 权限问题 使用chmod -R 777 目录/ 给指定目录及其所有子目录和文件设置最大的权限,权限设置为 rwxrwxrwx(读、写、执行权限给所有用户)。这个命令会将目录和文件的权限设置为非常宽松,允许所有用户对它们进行任何操作。 700只有所有者有读和写以及执行的权限 查看访问权限:ls -l 当前文件夹下所有用

对递归执行过程的简单描述

1. 分析代码 #include <stdio.h>void fun(int n){printf("1th - Level: %d Address: %d\n", n, &n);if(n < 3)fun(n+1);printf("2th - Level: %d Address: %d\n", n, &n);}int main(){fun(1);return 0;} 输出结果为:

WinCE使用Webservice或者WCF与后台数据库SQL进行数据信息交互

之前使用过Webservice作为后台服务,WinCE上通过调用webservice来与后台数据库进行数据交互。 速度,稳定性都非常好。而且编程模块化,封装成为Webservice的两个函数即可解决数据库的增,删,查,改四个SQL语句的执行,因此编程非常高效。 有了这样的封装,程序员在编写程序时,主要精力放在逻辑上,分析业务知识上。从而降低程序员的技术门槛,提高编程效率,节省人力成本。

Git使用过程中涉及的几个区域

一.  简介 Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,也是 Linus Torvalds 为了帮助管理 Linux内核开发而开发的一个开放源码的版本控制软件。 本文简单了解一下 git涉及的几个部分,以及git 常用的命令。 二. Git涉及的三个部分 git 涉及三个区域:工作区,暂存区,本地仓库,远程版本库。 下面分别简单了解