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

Android Telephony UrspRule 介绍

引言

什么是 ursp?

是网络切片独有的吗?有什么作用?

在 Android 系统开发时,可以如何获取 ursp 信息?

URSP 简介

1. 含义

URSP(User Route Selection Policy,用户路由选择策略)是 3GPP 规范(R16及以后标准)引入的一项网络能力。

  • R16=Release 16,正式冻结于 2020年7月
  • 3GPP R16 专门定义了 URSP,其详细规范在 TS 24.526。
  • R16 项目 “Enhancements for user equipment route selection policies” 被认定为 5G 标准功能演进的一部分 。
  • 在 R15 开始有用Policy控制流量分流的概念(但极为简单),R16 才正式实现了基于用户、应用、DNN、切片多维度细粒度选路的URSP能力。

它允许运营商为终端(UE)下发多条匹配规则,规定不同流量(比如不同App、不同服务、不同DNN等)可以走不同的 PDU 会话(即走不同的网络切片、QoS、网络路径等)。
本质上是:根据用户、应用、DNN等精细规则,决定流量如何选路或落在哪个slice/QoS上。

有关协议详情:

  • 3GPP TS 24.526 “Support of user equipment route selection policies (URSP)” — 定义URSP实体与协议
  • 3GPP TR 23.755 “UE Route Selection Policy enhancements” — 描述了背景、需求和场景

2. 引入背景

5G 切片(Network Slicing)和端到端 SLA 是 5G 网络的重要特性。
现有的流量选路和切片映射方式较为静态/粗糙,无法实现不同流量种类、不同应用的定制化选路需求。
运营商需要一种灵活的、可扩展的策略机制,让不同类型的流量可以更智能、动态地分到合适的 PDU Session 和网络切片上。

主要需求和背景如下:
  • 使终端能够根据运营商策略为不同应用/数据流选择不同PDU会话(网络切片)
    如微信走EMBB、工控APP走uRLLC
  • 支持应用、DNN(接入点)、OS App ID等多条件匹配,实现更灵活颗粒度
  • 终端可本地自动化分流,而不是每次都人工/弱智路由
典型场景案例:
  • 企业用户要求某连企业OA只能走某专属slice,其它流量正常上网
  • 5G手机一边视频直播一边远程医疗,不同业务需求不同QoS环境,需自动智能分流

3. URSP包括哪些信息?

一条URSP规则通常包括如下内容:

  • precedence(优先级):规则的优先级
  • TrafficDescriptor(流量描述符):可以包含DNN、OS App ID、AppName等
  • RouteSelectionDescriptor:路径选择描述,包含PDU会话类型、SSC模式、slice信息(SST、SD),等
  • (可能还包含用户标识、允许的DNN列表等)

4. 网络切片与 URSP 的关系

  • 并不是所有网络切片配置都必须有URSP
  • URSP是切片能力的补充、增强,它用来实现“端到端的灵活选路”,比如让微信流量用eMBB slice,工控流量上uRLLC slice等。如果没有下发URSP,系统可能只用单一或简单的分流规则。
  • 在一般的5G网络未启用切片或未部署URSP功能时,UE通常拿不到URSP信息
  • 只有支持3GPP 16(或更高)且网络/终端侧都支持URSP功能时,才会下发这些粒度规则

总之,URSP 是用于5G切片和分流场景下,运营商下发给终端的灵活路由与切片策略信息,可以按App、服务、DNN等决定流量到底用哪个Slice、QoS等。它是切片增强能力,不是所有场景或设备都能见到。

5. Android 如何获取?

AOSP RIL规范标准指令是没有直接获取 SLICING_CONFIG 的接口的。常规Android App无法直接拿到URSP。

在 Android(特别是从 Android 12 "S" 及以后,包括 Android 14 "U"、Android 15 "V"、Android 16 "W")里,网络切片和 URSP 信息主要通过 RIL (Radio Interface Layer),也就是调用 modem 的接口来获取

流程大致如下:

  • Android 上层(如 TelephonyManager、NetworkSliceManager、或者自定义 Service)向 RILJ/RIL 发送获取切片配置的请求。
  • RILJ (RIL Java) ——> RILC (RIL C 层) ——> Modem(基带),通过专用协议/扩展下发命令。
  • Modem 读取自身/运营商当前配置(如 URSP、Slice List),再逐层上报回 framework。
  • Android Framework 层通过内部类(如 SlicingConfig)接收与解析,并可通过 Log/Rlog 或接口进一步主动展示或传递给 App。

URSP等详细信息,并不能直接通过 Android 公共 API 获取(如 TelephonyManager 没有公开的 getUrspRules),一般需要通过私有API/研发接口或修改源码方式实现。
但也可以通过 Telephony Registry 的 test/beta接口(需特权)、或通过把握 RIL 消息自己监听分析上报数据。

可以在源码的 frameworks/opt/telephony/src/java/com/android/internal/telephony/

http://www.lryc.cn/news/598249.html

相关文章:

  • EVAL长度限制突破方法
  • C#_定时器_解析
  • Flink-1.19.0源码详解7-Flink集群端调度
  • ubuntu安装teams解决方法
  • 大模型回复数据标注优化方案
  • 系统架构师:系统安全与分析-思维导图
  • AIRIOT智慧选煤厂管理解决方案
  • 家政小程序系统开发:开启智慧家政新时代
  • Nginx 信创版本源码升级 1.22.1 升级到1.28.0
  • SSE与Websocket有什么区别?
  • uniapp nvue开发App 横竖屏切换丢失上下文导致 setTimeout和clearTimeout报错
  • 全面解析 CSS Flex 布局:从入门到精通的所有属性详解
  • 深入掌握CSS Grid布局:每个属性详解与实战示例
  • k8s通过NUMA亲和分配GPU和VF接口
  • DeepSeek-R1+豆包迭代一次完成中国象棋游戏
  • 二、计算机网络技术——第6章:应用层
  • rk3588开发板使用硬件编码处理视频
  • 国产数据库拐点已至:电科金仓用“融合+AI”重新定义下一代数据底座
  • C++ 23种设计模式-工厂模式
  • (实用攻略)Linux操作系统(一)
  • 输电线路微气象在线监测装置:保障电网安全的科技屏障
  • 【基础】go基础学习笔记
  • 进阶向:基于Python的本地文件内容搜索工具
  • SpringCloud【Sentinel】
  • 【C++】类和对象(1)
  • CDH yarn 重启后RM两个备
  • Compose 适配 - 键鼠模式
  • 图像认知与OpenCV——图像预处理2
  • 到底可不可以用jion?jion如何优化?
  • 【学习】数字化车间与智能工厂如何推进制造业转型