5G注册流程分级详解Step4-8_ue context transfer-程序员宅基地

技术标签: 5g  

***   欢迎转发,转发请注明出处    ***

 

4. AMF调用old AMF的Namf_Communication_UEContextTransfer服务获取UE上下文。

       如果UE的Registration Request消息携带5G-GUTI进行注册,并且AMF发生了变化,此时新的AMF(new AMF)会向UE原来注册的AMF(old AMF)请求UE上下文信息,包含SUPI、GPSI、5GMM Capability等参数(UE上下文的内容详见TS 23.502)。

new AMF采用POST方法调用old AMF的Namf_Communication_UEContextTransfer服务。具体使用的URI格式为:

{apiRoot}/namf-comm/<apiVersion>/ue-contexts/{ueContextId}/transfer

调用该服务携带的请求消息内容为:UeContextTransferReqData

注:

(1)通用的URI结构为:

{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>

(2)对于SBI接口采用POST方法还是PUT方法的区别

服务的生产者选择资源的标识符和URI,则采用POST方法;服务的消费者选择资源的标识符和URI,则采用PUT方法。

URI请求的命令行参数

  • {apiRoot}

该字段和我们日常上网,在IE地址栏中输入的内容一样,以http或者https开头的地址,后面是IP地址和端口号等信息;

  • namfcomm

AMF上用于信息传递的API名称。其它API名字为:"namf-mt"、"namf-loc"、"namf-evts"

  • <apiVersion>

目前在R16版本中全部为“v1”,后续如果有大的功能变更,可能会有更新的版本。

  • uecontexts

请求UE Context的固定值。

  • {ueContextId}

请求的UE Context的标识,可以为5G-GUTI、SUPI或者PEI,使用的格式如下:

(1)5G-GUTI:5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}

(2)SUPI:(imsi-[0-9]{5,15}|nai-.+|.+)

(3)(imei-[0-9]{15}|imeisv-[0-9]{16}|.+)

3GPP使用正则表达式进行描述,我们只需要知道对应的标记(5g-guti、imsi、nai、imei、imeisv)加上短横线,再加上具体的值即可。IMEI和IMEISV用于紧急注册,目前在国内不会遇到。我们能够遇到的基本都是5g-guti或者imsi。

  • transfer

传递已经存在的UE Context的方法。其它的可能方法有:transfer-update(后续流程中Namf_Communication_RegistrationStatusUpdate消息使用的就是该方法)、release、assign-ebi。

URI请求的内容(UeContextTransferReqData)

SBI接口的消息内容采用JSON编码。Namf_Communication_UEContextTransfer消息的请求内容定义如下:

  • reason

可选的取值为:"INIT_REG"、"MOBI_REG"、"MOBI_REG_UE_VALIDATED"。

当UE执行初始注册时取值为:"INIT_REG";当UE执行移动性注册时取值为:"MOBI_REG";当首次获取UE Context失败,AMF和AUSF执行UE鉴权成功后,再次获取UE Context时,使用"MOBI_REG_UE_VALIDATED"。

  • accessType

可选的取值为:"3GPP_ACCESS"或者"NON_3GPP_ACCESS"。

  • [plmnId]

即为MCC和MNC。

  • [regRequest]

注册流程的完整Registration Request消息,包含在该参数中。

  • [supportedFeatures]

特性支持相关的字符串。

AMF的处理过程

1. 对于初始注册和移动性注册,如果有5G-GUTI,第一次向old AMF请求获取UE上下文的输入参数为:5G-GUTI、Access Type、Reason和完整的Registration Request。AMF返回的信息如下:

  • 如果注册原因为"INIT_REG"并且old AMF执行完整性检查成功,则返回不包含PDU Session信息的UE上下文。如果old AMF根据new AMF的PLMN ID判断,不能将N2接口重定位到new AMF,则只返回supi;
  • 如果注册类型"MOBI_REG"并且old AMF执行完整性检查成功,返回200 OK消息,包含完整的UE Context(含有PDU Session信息)。

2. 如果第一次old AMF完整性检查失败(返回给new AMF的响应为:403 Forbidden,携带原因值:“INTEGRITY_CHECK_FAIL”),UE和AUSF鉴权成功后,再次向old AMF请求UE Context的消息和第一次请求的消息略有不同,三个不同点如下:

  • 第二次{ueContextId}的取值为SUPI。因为在UE和AUSF的鉴权流程中,new AMF已经得到了SUPI,所以第二次直接携带SUPI请求UE Context;
  • 第二次“reason”的取值为"MOBI_REG_UE_VALIDATED";
  • 第二次消息中不包含Registration Request消息,也就是不包含[regRequest]参数。

old AMF在处理该请求时会跳过完整性检查,直接回复“200 OK ",并携带完整的UE上下文(包含PDU Session相关的信息)。

5. old AMF向new AMF回复Namf_Communication_UEContextTransfer Response消息

  • 成功响应

如果old AMF处理成功,在Namf_Communication_UEContextTransfer Response

消息中返回200 OK 响应,并携带UE Context。响应的消息内容如下UeContextTransferRspData:

  • 响应失败

    (1) 403 Forbidden

              如果old AMF对请求消息中的Registration Request消息完整性检查失败,则设置原因值:“INTEGRITY_CHECK_FAIL”。

    (2)404 Not Found

             如果old AMF没有找到对应的UE Context则返回该响应,并设置原因值为“CONTEXT_NOT_FOUND”

获取UE Context流程相关注意点

  1. 如果在切换流程中,new AMF已经从old AMF中获取到了UE,则在注册流程中就不需要向old AMF重新获取了,即在注册流程中的第4,5,10步骤都不需要执行。
  2. 如果old AMF有不同于当前accessType的PDU Session,AMF判断该PDU Session无法重定位到新的AMF,则AMF只返回SUPI,并指示消息已经经过完整性验证,不包含UE Context的其他部分(SUPI包含在UeContext数据类型中)。
  3. 跨PLMN移动的时候,UE Context中的信息包含的是HPLMN S-NSSAI的信息(可以对应到Allowed NSSAI的S-NSSAI),而不是old PLMN的Allowed S-NSSAI。
  4. UE注册到新的AMF后,不需要重新订阅事件,因为UEContext中包含事件订阅的信息。如下:

6. Identity Request消息向UE获取SUCI

如果在Registration Request中UE没有提供SUCI,则AMF向UE发送Identity Request消息,请求获取UE的SUCI。

注:

在TS 23.502规范中,注册流程该步骤的解释为:If the SUCI is not provided by the UE nor retrieved from the old AMF the Identity Request procedure is initiated by AMF sending an Identity Request message to the UE requesting the SUCI.

“UE从old AMF没有获取到SUCI”,也是发送Identity Request消息的前提。但是我们在UE Context的定义中并没有发现SUCI字段,也就是UE Context并不保存UE的SUCI。另外,从Namf_Communication_UEContextTransfer Request的响应中可以知道,要么成功响应返回SUPI,要么获取失败返回403 Forbidden或者404 Not Found,此时,new AMF什么都不会得到。根据TS 33.501章节6.1.2:The SEAF shall include the SUPI in the Nausf_UEAuthentication_Authenticate Request message in case the SEAF has a valid 5G-GUTI and re-authenticates the UE. Otherwise the SUCI is included in Nausf_UEAuthentication_Authenticate Request. 可以知道,主鉴权流程使用的参数要么是SUCI,要么是SUPI。个人判断,TS 23.502此处编写有误,new AMF从old AMF得到SUCI的场景是不存在的,只能得到SUPI。SUCI是SIM或者ME计算得到的,每次计算的值都不一样,AMF没有必要保存SUCI。

NAS消息Identity Request消息的定义如下:

该消息中重点关注的字段为Identity Type,该字段指明了AMF请求的是哪一个5GS标识。可以请求的5GS标识如下图,最后一句话很重要:所有不能识别的标识都认为是SUCI。

该NAS消息承载在AMF和gNB之间的DOWNLINK NAS TRANSPORT(N2接口消息)消息中发送给gNB,之后gNB将NAS消息承载在RRC层的DLInformationTransfer消息中发送给UE。

DLInformationTransfer消息承载在SRB2(在SRB2未建立时也可以使用SRB1)中(逻辑信道DCCH)。

7. UE向AMF发送Identity Response消息

该NAS消息中的重点字段为:Mobile identity。UE可以发送SUCI、5G-GUTI、IMEI、IMEISV、5G-S-TMSI、MAC地址或者EUI-64作为5GS mobile identity。

该NAS消息在UE和gNB间承载在RRC层的ULInformationTransfer消息中。

ULInformationTransfer消息承载在SRB2(在SRB2未建立时也可以使用SRB1)中(逻辑信道DCCH)。

gNB收到Identity Response消息后,封装在Uplink NAS Transport(N2接口消息)消息中发送给AMF。

RRC层消息DLInformationTransfer和ULInformationTransfer用于在UE处于RRC-CONNECTED状态时传递NAS消息。

8. AUSF选择

在AMF从UE得到SUCI或者old AMF得到SUPI后,选择AUSF执行鉴权流程。

 

后续流程,留待下回分解  ......

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wuyou125/article/details/113870261

智能推荐

基于sahi的UI自动化测试框架_sahi pro教学-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏2次。基于sahi pro excelframework自动化测试框架设计1.概述1.1.开发背景电子印章系统需要进行自动化测试功能,且需要一种易于开发、维护、使用的自动化测试工具。Sahi pro版本相比开源版本已经自带excelframework,既直接通过excel文件执行自动化测试用例。1.2.建设目标目标1:普通测试员通过编写excel测试模板,生成自动化测试用例,直接执行自动化测试用例,实现自_sahi pro教学

卷积层输出大小计算-程序员宅基地

文章浏览阅读3.9w次,点赞16次,收藏25次。微信公众号(1)公式:假设:输入图片(Input)大小为I*I,卷积核(Filter)大小为K*K,步长(stride)为S,填充(Padding)的像素数为P,那卷积层输出(Output)的特征图大小为多少呢?可以得出推导公式:O=(I-K+2P)/S+1(2)例子:我们采用的卷积核大小为K=3*3,填充大小为P=1,步长为S=2。对5*5的输入特征图进行卷积生成3*3..._卷积层输出大小计算

解决DialogFragment闪烁或者闪屏的问题_dialogfragment 设置动画 onresume 会闪烁-程序员宅基地

文章浏览阅读5k次。今天修复一个历史遗留BUG;项目中的dialog基本都是通过DialogFragment来实现的,但是同时也有个问题,比如再加载网页的时候,加载之前xshow出个dialog,网页加载完后dismiss,但是如果网络很好,网页加载的速度很快,不到1s就加载完成的话,就会出现一个问题,界面会闪一下,如果你的Activity的主题是默认的话,就表现为黑屏一下,如果是透明的主题,就表现为可以看到上一个页面,然后立马恢复虽然这个闪屏的时间很短,估计只有几ms,但是看着还是很不爽的。最开始的解决方案是想办法设置一_dialogfragment 设置动画 onresume 会闪烁

社交网络分析工具NetworkX和Gephi_社交网络分析研究工具-程序员宅基地

文章浏览阅读4.7k次。 Gephi中文教程Networkx参考手册_社交网络分析研究工具

JGJ202-2010 建筑施工工具式脚手架安全技术规范 免费下载_jgj202-2019建筑工具式脚手架-程序员宅基地

文章浏览阅读4.5k次。【资源介绍】资源名称:JGJ202-2010 建筑施工工具式脚手架安全技术规范资源分类: 建筑工程标准规范其他简介:JGJ202-2010 建筑施工工具式脚手架安全技术规范【资源下载】链接:https://pan.baidu.com/s/12PIhCXxFRAy43_fHX06HgQ提取码:opzu【资源截图】【免责申明】本站提供的资源下载链接均来自互联网,仅供学习研究之用,不得用于商业,请在24小时内删除!资源版权归原作者及其公司所有,如果你喜欢,请购买正版。..._jgj202-2019建筑工具式脚手架

数字图像处理-运动模糊&逆滤波&维纳滤波(Matlab)_使用教科书中的方程(5.6-11)实现模糊滤波器-程序员宅基地

文章浏览阅读4.1w次,点赞153次,收藏842次。文章目录数字图像处理-运动模糊&逆滤波&维纳滤波(Matlab)1、对指定的一幅灰度图像,先用3*3均值滤波器进行模糊处理,形成退化图像1;再叠加椒盐噪声,形成退化图像2;再对上述退化图像1和2采用逆滤波进行复原,给出复原结果图像。分析对比在对H零点问题采用不同处理方法下的复原结果。1-1 图像退化(均值滤波+椒盐噪声)1-2 直接逆滤波还原图像1-3 去掉噪声分量逆滤波还原图像2、对一幅灰度图像进行运动模糊并叠加高斯噪声,并采用维纳滤波进行复原。2-1 图像退化(运动模糊+高斯噪声)2-2_使用教科书中的方程(5.6-11)实现模糊滤波器

随便推点

【Git】创建一个空分支_git 创建分支 kongde-程序员宅基地

文章浏览阅读1.1w次。1 创建一个分支使用参数 --orphan,这个参数的主要作用有两个,一个是拷贝当前所在分支的所有文件,另一个是没有父结点,可以理解为没有历史记录,是一个完全独立背景干净的分支。参考git的帮助文档,如下:$ git checkout --orphan gh-pages# 创建一个orphan的分支,这个分支是独立的Switched to a new bra_git 创建分支 kongde

gRPC异步使用入门(C++)_grpc::completionqueue 是线程安全的吗-程序员宅基地

文章浏览阅读1.4w次,点赞10次,收藏34次。gRPC 1.0的正式发布,正好赶上我们新项目的开始。出于Google的招牌以及“1.0”所代表的信心,在阅读了其特性列表,确定能够满足项目需求的情况下,我们哼哧哼哧的用上了。在gRPC之前,我在实际项目中大规模使用的是ZeroC出品的ICE,那是一个功能非常丰富、文档和工具也非常完备的RPC框架。不过一方面其是商业产品,虽然源代码开放,但是用于商用需要支付一笔不菲的费用;另一方面,由于功能特性很多_grpc::completionqueue 是线程安全的吗

java发送post请求,使用multipart/form-data的方式传递参数,可实现服务器间文件上传功能(转)_java发送post请求,使用multipart/form-data方式传递multipartfil-程序员宅基地

文章浏览阅读3.9k次。/** * 测试上传图片 * */ public static void testUploadImage(){ String url = "http://xxxtest/Api/testUploadModelBaking"; String fileName = "e:/username/textures/antimap_0017.png"; Map<String, String> textMap = new _java发送post请求,使用multipart/form-data方式传递multipartfile参数,实现服务间

Python下ImportError: DLL load failed: 找不到指定的模块之问题分析_from pil import imagegrab importerror: dll load fa-程序员宅基地

文章浏览阅读10w+次,点赞14次,收藏32次。环境依赖问题的提出问题的查找问题的解决总结参考资料环境依赖OS: window 7, python 3.6 Anaconda: 5.0.1问题的提出在运行Python代码的时候,碰到了如下问题:runfile('D:/code/test.py', wdir='D:/code')Traceback (most recent call l..._from pil import imagegrab importerror: dll load failed: 找不到指定的模块。

Hive+Druid 实现快速查询;回归分析是机器学习吗;StructuredStreaming 可用于生产环境_druid +hive-程序员宅基地

文章浏览阅读7.5k次。Hadoop 生态中,我们使用 Hive 将 SQL 语句编译为 MapReduce 任务,对海量数据进行操作;Druid 则是一款独立的分布式列式存储系统,通常用于执行面向最终用户的即席查询和实时分析。_druid +hive

Jalopy 之 HelloWorld —— Jalopy 在 MyEclipse 下的安装与使用-程序员宅基地

文章浏览阅读114次。 如果你要问我Jalopy是什么。我只能告诉你“它是一个格式化代码的工具”。因为我也是一个初学者。 如果你也是初次接触,那一起来学习下吧! ·安装1、首先,下载资源 下载地址:http://sourceforge.net/projects/jalopy/?source=directory 它的官网好像没法下载。至少在写这篇文..._de.hunsicker.jalopy.jalopy