5G网络下客户端数据业务掉线频繁

MCPTT(Mission Critical Push-to-Talk)客户端的日志,和界面在待机状态下(即没有做通话等业务操作),会频繁提示“离线”。

主要先看有没有丢网,UL BLER有没有问题。确认没有问题。看到业务信道释放后也可以成功重新建链。所以以为这个只是终端业务进入dormant态的提示问题而已。

但是radio log的data_call状态可以看到异常,可以看到有多次SETUP_DATA_CALL出现,每次建立DATA_CALL后,终端都会从ACTIVE进入DORMANT,然后进入INACITVE,然后DATA_CALL_LIST为空。
在这里插入图片描述
在这里插入图片描述
QMI LOG中,通过data_call_status,call_end_reason,connection_status来确认状态。都是SERVICE_WDS QMI服务上报的。
在这里插入图片描述

在这里插入图片描述

终端RRC释放后,重建链路,发现网络已释放PDU

终端发送Service request:

当终端从idle态重新建链路时,发送的Service request消息中携带如下字段:
Uplink_data_status:
PSI[1]为1,代表终端UE在PSI[1]上有数据待传输,并且对应的PDU状态为ACITVIE.

pdu_session_status:
PSI[1]为1,代表终端UE在PSI[1]上对应的PDU状态是ACTIVE。

在这里插入图片描述

虽然高通代码办公开,但是查找开源软件UERANSIM的代码:
service.cpp中,
NasMm::sendServiceRequest:
service_type=data:
在这里插入图片描述
uplink_data_status的PSI字段对应bit位,在EPSstatue的状态位ACTIVE并且有数据上行数据待传输时置为1.
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

从上面可以看出 UE发送的pduSessionStatus对应PSI位置1,即代表在UE侧的PDU状态,即EPSstate状态为ACTIVE

网络回复的Service accept消息

网络回复的Service accept消息中:
pdu_session_status:
PSI[1]为0,代表网络侧PSI[1]对应的PDU状态为INACTIVE.
pdu_session_react_result:
PSI[1]为1,代表Uplink_data_status中请求的PSI[1]对应的PDU状态在网络侧没有建立

这是时掉线问题出现的原因。终端已经存在PSI【1】的pdu,但是网络回复的对应PDU状态为INACTIVE. 所以终端只好删除本机保存的PDU上下稳。进而后面重新申请建立PDU.

在这里插入图片描述

终端因为网络释放PDU而重新发送PDU请求

如下图红框部分,网络发送的service accept触发终端重发pdu请求。

在这里插入图片描述

参考文档3GPP TS34.501:

在这里插入图片描述

在这里插入图片描述

解决方案

终端侧行为符合标准。
核心网侧行为异常,核心网修改配置后解决。

开飞行时,网络拒绝释放PDU

在这里插入图片描述

在这里插入图片描述
The EPS bearer identity is used to identify a message flow. 所以pdu_session_id2并不是 5G中一般意义的pdu_session。

用中国移动卡测试:
建立IMS时,pdu_session_id2 = 1
在这里插入图片描述
网络回复pdu session establishment accept后:pdu_session_id2 = 1 也是1.
在这里插入图片描述
紧接着cmnet建立pdu,pdu_session_id2 =2
在这里插入图片描述

其他

如何确认一直没有丢网

modemlog确认

如果一直没有丢网NAS层服务状态没有变化,所以不会打印ON SERVICE或NO SERVICE变化。
可以通过sd的log,看sd的event, 如果event没有丢网event,基本终端没有掉网。
1101才是丢网,从这里看终端没有丢网。
在这里插入图片描述
在这里插入图片描述

AP radiolog确认

用< DATA_REGISTRATION_STATE.*PHONE0过滤:
过滤出来日志都是驻网状态
在这里插入图片描述

背景知识

MCPTT(Mission Critical Push-to-Talk)标准由3GPP(第三代合作伙伴计划)制定,旨在提供关键任务的一键通话服务,主要面向公共安全和应急响应领域。使用基于IMS域的实现方案。
MCPTT服务器通过N5 N6口连接5GS核心网。MCC客户端通过接入网专用DNN接入MCPTT网络。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/78835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Python和Matplotlib可视化字体轮廓:从路径数据到矢量图形

引言 字体设计和矢量图形处理是编程中一个有趣且实用的领域。通过Python的matplotlib库&#xff0c;我们可以轻松将字体轮廓的路径数据转换为直观的矢量图形。本文将带你一步步实现这一过程&#xff0c;并解析代码细节&#xff0c;帮助你理解如何将复杂的路径指令转化为可视化…

4.13日总结

javafx中实现发送qq邮箱验证码: 手动导入jar包方法&#xff1a; 第一步&#xff1a;开启QQ邮箱的 POP3/IMAP 或者 SMTP/IMAP 服务 打开qq邮箱&#xff08;电脑端&#xff09;&#xff0c;找到设置里的账号与安全的安全设置&#xff0c;往下滑就可以找到 POP3/IMAP 或者 SMTP…

智慧乡村数字化农业全产业链服务平台建设方案PPT(99页)

1. 农业全产业链概念 农业全产业链是依托数字化、电子商务、云计算等技术&#xff0c;整合规划咨询、应用软件设计与开发等服务&#xff0c;推动农业产业升级和价值重塑&#xff0c;构建IT产业融合新生态。 2. 产业链技术支撑 利用云计算、大数据、区块链等技术&#xff0c;为…

k8s的配置文件总结

在 Kubernetes 中&#xff0c;配置文件 是定义集群资源的核心&#xff0c;通常以 YAML 或 JSON 格式编写。以下是 Kubernetes 中关键的配置文件类型及其作用&#xff1a; 1. 核心工作负载配置 (1) Deployment • 用途&#xff1a;定义无状态应用的 Pod 副本管理策略&#xff…

STM32(基于标准库)

参考博客&#xff1a;江科大STM32笔记 Stm32外设 一、GPIO 基础 GPIO位结构 I/O引脚的保护二极管是对输入电压进行限幅的上面的二极管接VDD, 3.3V,下面接VSS, 0V&#xff0c;当输入电压 >3.3V 那上方这个二极管就会导通&#xff0c;输入电压产生的电流就会大部分充入VD…

为什么我们需要if __name__ == __main__:

[目录] 0.前言 1.什么是 __name__&#xff1f; 2.if __name__ __main__: 的作用 3.为何Windows更需if __name__ &#xff1f;前言 if __name__ __main__: 是 Python 中一个非常重要的惯用法&#xff0c;尤其在使用 multiprocessing 模块或编写可导入的模块时。它的作用是区分…

速盾:高防CDN的原理和高防IP一样吗?

随着互联网的发展&#xff0c;网络安全威胁日益严重&#xff0c;尤其是DDoS攻击、CC攻击等恶意行为&#xff0c;给企业带来了巨大的风险。为了应对这些挑战&#xff0c;许多企业开始采用高防CDN&#xff08;内容分发网络&#xff09;和高防IP作为防御措施。尽管两者都能提供一定…

《算法笔记》3.6小节——入门模拟->字符串处理

1009 说反话 #include <cstdio>int main() {char sen[80][80];int num0;while(scanf("%s",sen[num])!EOF){num;}for (int i num-1; i > 0; --i) {printf("%s ",sen[i]);}printf("%s\n",sen[0]);return 0; }字符串连接 #include <io…

供应链业务-供应链全局观(三)- 供应链三流的集成

概述 供应链的全局观的全两篇文章主要描述了供应链的基础概念和供应链的协作和集成问题。 供应链业务-供应链全局观&#xff08;一&#xff09;定义了什么是供应链和供应链管理。 所谓供应链就是把采购进来的东西&#xff0c;通过自身的生成加工&#xff0c;进行增值服务&am…

链表-算法小结

链表 单链表 双链表 循环链表 链表_stl-CSDN博客 虚拟头结点 反转链表 删除链表元素 方法一: 直接使用原来的链表来进行删除操作。 头节点是否为空头链表的值是否为要删除的值头结点删除后,新的头节点是否依旧要删除 ,删除后的,新头节点可能是空结点 方法二: 设置一个虚拟…

C语言中常用的调试宏和函数总结(__LINE__、__FUNCTION__)

表格&#xff1a;C语言调试工具 类别工具描述示例代码预定义宏__LINE__表示当前源代码的行号。printf("Error occurred at line %d\n", __LINE__);__FILE__表示当前源代码文件的名称。printf("Error occurred in file %s\n", __FILE__);__func__表示当前函…

DotnetCore开源库SampleAdmin源码编译

1.报错: System.Net.Sockets.SocketException HResult0x80004005 Message由于目标计算机积极拒绝&#xff0c;无法连接。 SourceSystem.Net.Sockets StackTrace: 在 System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, C…

如何使用切片操作来处理序列数据

1 问题 本文主要探究 Python 中切片操作的原理和应用。具体来说&#xff0c;我们将分析切片的基本语法、切片的步长和切片的边界&#xff0c;并通过示例代码展示如何使用切片操作来处理序列数据。 2 方法 为了更好地理解切片操作&#xff0c;我们采用如下的思路学习python中的切…

java(二):java的运算和流程控制

java中单引号和双引号区别和用法 区别1&#xff1a;java中的单引号表示字符&#xff0c;双引号表示字符串。 区别2&#xff1a;单引号引的数据一般是char类型的&#xff1b;双引号引的数据 是String类型的。 区别3&#xff1a;java中单引号里面只能放一个字母或数字或符号&…

Android envsetup与Python venv使用指南

Android envsetup 和 Python venv 是两种完全不同的环境配置工具&#xff0c;分别服务于不同的开发场景。以下是对它们的详细解释及使用方法&#xff1a; 1. Android envsetup 用途&#xff1a; Android envsetup 是 Android 源码开发中的环境配置脚本&#xff08;envsetup.sh…

游戏引擎学习第222天

回顾昨天的过场动画工作 我们正在制作一个游戏&#xff0c;目标是通过直播的方式完成整个游戏的开发。在昨天的工作中&#xff0c;我享受了制作过场动画的过程&#xff0c;所以今天我决定继续制作多个层次的过场动画。 昨天我们已经开始了多层次过场动画的基本制作&#xff0…

Leedcode刷题 | Day31_贪心算法05

一、学习任务 56. 合并区间代码随想录738. 单调递增的数字968. 监控二叉树 二、具体题目 1.56合并区间56. 合并区间 - 力扣&#xff08;LeetCode&#xff09; 给出一个区间的集合&#xff0c;请合并所有重叠的区间。 示例 1: 输入: intervals [[1,3],[2,6],[8,10],[15,1…

app逆向专题五:新快报app数据采集

app逆向专题五:新快报app数据采集 一、抓包寻找数据接口二、编写代码三、完整代码一、抓包寻找数据接口 打开charles,并在手机端打开新快报app,点击“广州”或者“经济”等选项卡,抓包,寻找数据接口,如图所示: 二、编写代码 这里介绍一种简便的代码编写方法,在数据…

Java面试黄金宝典45

1. 非对称加密 RSA 定义:RSA 是一种广泛使用的非对称加密算法,其安全性基于大整数分解的困难性。它使用一对密钥,即公钥和私钥。公钥可公开用于加密消息,而私钥必须保密,用于解密由相应公钥加密的消息。要点: 公钥公开,私钥保密,二者成对出现。加密和解密使用不同的密钥…

提权实战!

就是提升权限&#xff0c;当我们拿到一个shell权限较低&#xff0c;当满足MySQL提权的要求时&#xff0c;就可以进行这个提权。 MySQL数据库提权&#xff08;Privilege Escalation&#xff09;是指攻击者通过技术手段&#xff0c;从低权限的数据库用户提升到更高权限&#xff…