当前位置: 首页 > news >正文

一个UE无法注册的问题

问题场景是环境中只有一个小区,UE在找到这个小区,收到MIB SIB1后一直不发起注册。我想这大概是和S准则不满足有关系了,这个问题基本是又没啥好看的了,太简单了,在SIB1周围找找就解决了,于是我发现了以下log 打印。
2023 Jan 10 17:01:55.981             nr5g_rrc_cep.c 2361  UAC Category 8 !barred 0 time 1379841
2023 Jan 10 17:01:55.982             nr5g_rrc_cep.c 1272 H Sub-ID:1 Misc-ID:0 UAC: its a match !!the requested access id = 0x0, BarringForAccessId in SIB1 = 0x0
2023 Jan 10 17:01:55.982             nr5g_rrc_cep.c 1811 H Sub-ID:1 Misc-ID:0 UAC: Barred because of Barring Factor is p00
2023 Jan 10 17:01:55.982             nr5g_rrc_inactive.c 5910 H Sub-ID:1 Misc-ID:0 INACTIVE: UAC Access Barred !
是的 ,这个cell S准则是满足的,不是S准则的问题,而且通过上面的打印,可以确定该问题与UAC过程有关系,而且UE access被bar了,要搞清楚这个问题就先简单捋一遍相关协议,看整个流程是怎么回事。
所谓UAC就是在UE进行access前,根据 access identities和 access category及驻留小区配置的参数,判断access是否允许的操作,LTE也有类似的机制。 UAC需要USIM,NAS及RRC层共同完成,大概过程就是根据USIM中的access identities,结合NAS层确定的access category,交由RRC层进行UAC check后决定是否允许接入。
在24.501 4.5.1章节中有描述需要触发UAC的具体场景,如下。
 当NAS检测到表格中的场景,NAS就需要将access identities和access category进行关联后,交由RRC层进行access baring check。
有关access identities和access category的确定可以参考UAC,但是这里有关uac-ImplicitACBarringList的描述是错误的,可以去CSDN modem协议笔记看下UAC那篇,因为CSDN对文章的改正比较友好。
UAC过程的主要描述在38.331 5.3.14,对于问题场景首先要根据access category确定barring 参数,然后再根据access identities进行UAC判断是否会被bar以及后续的bar操作,问题场景中UE 的access identities=0,access category=8,这里就先确定下barring 参数。
根据38.331 5.3.14.2中的描述,当前的场景直接定位到上面的这段描述:如果uac-BarringForCommon可用或者 uac-ACBarringListType 指示要用uac-ExplicitACBarringList,而此时UAC-BarringPerCatList包含UAC-BarringPerCat,就要根据UE的access category 找到对应的access catedgory 对应的UAC-BarringInfoSet参数,如下图,UE access catedgory=8。
根据上图找到UAC-barring参数后,就要按照38.331 5.3.14.5进行UAC,稍微看下UAC-BarringInfoSet中IE的解释。
uac-BarringForAccessIdentity有7 bit,从左至右的bit位分别代表  access Id 1,2,11,12,13,14,15 ,如果 uac-BarringForAccessIdentity '0000000'B就代表 access id 1,2,11,12,13,14,15 的接入都是允许的。
uac-BarringFactor 表示在 access barring check 期间允许访问尝试的概率。
uac-BarringTime 代表 在同一access category 被bar后,计算T390要用的禁止时间。
下面接着看如何根据上述参数进行UAC(38.331  5.3.14.5)。
如果有UE有one or more Access Identities 或者 至少其中一个 access identities  的bit位  在 SIB1-> UAC barring parameter ->uac-BarringForAccessIdentity 置为0, 这样的attemp access是允许的。
如果RRC connection 建立的原因是因为之前收到了release 消息带了redirect with mpsPriorityIndication且uac-BarringForAccessIdentity中与access Identity 1相关的bit位 是0,这样的access attemp也是允许的。
其他情况 就要从 [0 ,1)的均匀分布中随机选取一 rand 值;如果 rand 的值 小于 "UAC barring parameter" 中的 uac-BarringFactor  则 允许access attempt;否则 access attemp 就被bar,而log中的场景对应的就是这种判断场景。
问题中是access attempt bar的情况,后面接着看bar之后应该怎么做。
如果access attempt 被bar,就 从[0 ,1)的均匀分布中随机选取一 rand 值, 针对对应的access category开启T390 ;T390 由下列由公式得到 T390 = (0.7+ 0.6 * rand ) * uac-BarringTime。 T390 超时之前access category 都处于bar的状态,T390 stop及超时的操作如下表。
继续看T390 超时后UE应该怎么做,主要规则在 5.3.14.4 T302, T390 expiry or stop (Barring alleviation)中有描述,这里T320的解释也贴在上图。
1 T302 超时或者stop且每个Access Category 对应T390 没有在运行,则认为这个access category 的bar 解除 ;
2 else 如果access category 不是2 ,且其T390 超时或者stop ,T302 也没在run,也认为 bar解除,这里对应问题场景;
3 else  access category 2的T390 超时或者stop  ,则 bar解除。
当 Access Category 的bar解除,如果这个access category 之前已经告知NAS处于bar状态 ,那这时UE要告知NAS 现在bar解除了。
如果这个bar解除针对的是Access Category '8'和2 则 按照 38.311 5.3.13.8 进行RNA update(不再本篇范围略过)。
至此整个UAC 的流程就比较清楚了,最后结合SIB1中的信息,总结下这个问题bar的具体原因。
该问题中 UE access ID=0 ,access category =8,SIB1中的消息有配置access category 8的uac参数。
SIB1中 uac-BarringForAccessIdentity '0000000'B  从左至右 的bit位  分别代表  access Id 1,2,11,12,13,14,15 其值为0, 代表 access id 1,2,11,12,13,14,15 的接入都是允许的;UE access ID=0,这时需要从[0,1)的均匀分布中选择随机数后与BarrinfFactor 比较,如果随机数小于BarringFactor,代表允许接入,但是这里的BarringFactor 是0,再怎么选择也不可能小于BarringFactor,所以会被bar,假如选取的rand=0.5,bar time T390=(0.7+0.3)*uac-BarringTime= 128s。bar解除后,如果再次UAC的话,也会再次被bar,所以是不可能通过UAC的, 驻网是不可能了,UE只能自生自灭......

相关文章:

一个UE无法注册的问题

问题场景是环境中只有一个小区,UE在找到这个小区,收到MIB SIB1后一直不发起注册。我想这大概是和S准则不满足有关系了,这个问题基本是又没啥好看的了,太简单了,在SIB1周围找找就解决了,于是我发现了以下log…...

自媒体剪辑必备,6个音效素材网站,你值得拥有。

这6个剪辑必备的音效素材网站一定要收藏好了,有了这几个网站能让你在剪辑的时候事半功倍,还不用担心版权问题。话不多说,直接上干货。 1、菜鸟图库 https://www.sucai999.com/audio.html?vNTYwNDUx 菜鸟图库是一个综合性素材网站&#xff…...

uniapp Android如何授权打开系统蓝牙Bluetooth?

uniapp Android如何授权打开系统蓝牙? 使用uniapp开发蓝牙项目过程中,涉及到检测手机系统蓝牙是否打开功能,这里介绍Android,iOS暂时没有找到优方法。朋友们如果有好的方案,欢迎评论分享~ 文章目录 uniapp Android如何…...

图论与网络优化2

CSDN 有字数限制,因此笔记分别发布,目前: 【笔记1】概念与计算、树及其算法【笔记2】容量网络模型 4 最大流及其算法 4.1 容量网络模型 4.1.1 容量网络 容量网络:如果一个加权有向网络 D D D 满足如下三个条件:①…...

ES Kibana windows 安装

ES & Kibana windows 安装 声明: 本文没有实际操作过,只记录。具体操作请参考 ES & Kibana 安装 该文章 JDK1.8,最低要求!ElasticSearch客户端,界面工具! Java开发,ElasticSearch的版…...

分布式事务seata的使用

分布式事务介绍 在微服务架构中,完成某一个业务功能可能需要横跨多个服务,操作多个数据库。这就涉及到到了分布式事务,需要操作的资源位于多个资源服务器上,而应用需要保证对于多个资源服务器的数据操作,要么全部成功&…...

使用宝塔面板安装mysql

1.第一步 在官网https://www.bt.cn/new/download.html下载页面直接在服务器控制面板复制这里的代码下载即可 2.第二步 下载好后按照服务器面版上有个公网地址,含有用户名和密码,保存好,然后通过公网地址打开一个网页,绑定自己注册…...

Flink 支持三种时间语义

在 Apache Flink 中,时间在流处理中是一个重要的概念,而时间语义则用于定义事件发生的时间。Flink 支持三种时间语义,分别是: Processing Time(处理时间): 以机器的系统时间为基准,…...

【大话Presto 】- 核心概念

文章目录 前言Operator Model And Iterator Model系统组成Connector数据模型查询执行模型StatementStageTaskSplitDriverOperatorExchangePipeLine 总结 前言 Presto(PrestoDB)是一个FaceBook开源的分布式MPP SQL引擎,旨在处理大规模数据的查…...

阎良区公益创投之“小飞机大梦想” 航模DIY主题活动

创造是人类探索迈出的第一步,科学是开启奇妙世界的金钥匙。为进一步提升“未来星”对科技知识的兴趣,培养他们的科学创新精神,11月16日,阎良区社会组织公益创投——“未来星”助力乡村留守儿童成长计划项目在阎良区聚宝小学开展“…...

springBoot集成websocket实时消息推送

springBoot集成websocket实时消息推送 WebSocket是一种在Web应用程序中实现双向通信的协议。它允许在客户端和服务器之间建立持久性的连接,并支持双向数据传输,实现了实时、低延迟的通信。 📍常见的消息推送方法 WebSocket:通过使…...

web:[BUUCTF 2018]Online Tool

题目 打开页面显示如下,进行代码审计 上述代码主要功能是接收‘host’参数,后使用nmap扫描主机端口 首先检查是否存在HTTP_X_FORWARDED_FOR头,若存在,将值赋值给EMOTE_ADDR,是为了跟踪用户真实的IP地址 后用检查get‘host’是否…...

决策树的Boosting策略是什么

在决策树的Boosting策略中,最常见的算法是梯度提升决策树(Gradient Boosting Decision Trees,简称GBDT)。GBDT是一种集成学习方法,通过串行训练多个决策树,并根据前一个树的预测结果来调整下一个树的训练目…...

SQL Server中substring的用法

SQL Server中substring的用法 SQL中的substring函数是用来截取一个栏位资料中的其中一部分。 例如,我们需要将字符串’abdcsef’中的‘abd’给提取出来,则可用substring 来实现: select substring(abdcsef,1,3)结果为 abd括号中数字’1’表…...

vscode设置latex

vscode配置latex 1.安装vscode,并添加环境变量路径 2.安装latex,bin文件夹添加到环境变量路径 3.vscode安装插件 4.vscode->文件->首选项->显示配置内容->setting.json文件,查看其位置目录,通过我的电脑找到此文件(不要使用v…...

Django模板层

模板之变量 所有的数据类型都可以在模板中使用 render(request, index.html, context{}) render(request, index.html, contextlocals()) """在模板中使用变量的时候,用的是字典的key值,key值value值一般保持一致"""详细…...

TP_Link WR886N 硬改闪存16M内存64M,刷入openwrt

一、换内存,拆闪存: 1、先原机开机试试是否功能正常; 2、拆机,比较难拆,容易坏外壳; 3、找到内存和闪存,用胶带把边上的小元件,电阻都贴好; 4、加助焊油,用风…...

websocket详解

一、什么是Websocket WebSocket 是一种在单个 TCP 连接上进行 全双工 通信的协议,它可以让客户端和服务器之间进行实时的双向通信。 WebSocket 使用一个长连接,在客户端和服务器之间保持持久的连接,从而可以实时地发送和接收数据。 在 Web…...

可以免费使用的设计素材网站分享

UI设计师最怕什么? 没有创意,没有灵感,没有思路! 在哪里可以得到idea?别担心,往下看! 你知道网络有多大,你想要什么吗?今天,我想和大家分享一些宝藏网页设…...

workman使用手册1.0

workman官网地址:高性能PHP应用容器 workerman 1:把workman项目放到linux服务器后,需要启动你的php文件,才可以使用 定位到项目根目录:例:cd /mnt/workman 启动代码:php outin.php start -d 停…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

Bean 作用域有哪些?如何答出技术深度?

导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答&#xff0c…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件,可以展示文件夹,支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项,适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...