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

5G核心网,NAS短消息的实现

在5G核心网中,NAS(非接入层)短消息(SMS over NAS)的传输依赖于AMF(接入和移动性管理功能)与SMSF(短消息业务功能)的协同工作。以下是基于您提供的技术点的详细解析,涵盖全流程逻辑和关键技术设计:


1. 全流程技术解析

(1) UE注册时声明SMS能力
  • UE → AMF:在Registration Request NAS消息中携带 "SMS supported"标识,表明UE支持通过NAS传输短信。
  • 关键参数
    • 5GMM Capability字段中的SMS over NAS比特位(置为1)。
(2) AMF重选时的SMSF地址传递
  • 场景:UE移动导致服务AMF变更(如TAU/切换)。
  • 原AMF → 新AMF:在Namf_Communication_UEContextTransfer服务中,将SMSF地址包含在UE上下文中传递。
  • 目的:避免新AMF重复发现SMSF,保障短信业务连续性。
(3) SMSF的获取方法

AMF通过以下两种方式获取SMSF地址:

  1. 静态配置
    • 运营商在AMF本地预配置SMSF地址(适用于单SMSF或简单网络)。
  2. 动态发现(主流方案)
    • AMF向UDM查询:通过Nudm_UECM_Get服务获取UE的SMSF地址。
    • 触发条件
      • UE首次注册且携带"SMS supported"标识;
      • AMF本地未缓存该UE的SMSF地址。
(4) AMF确认SMS支持
  • AMF → UE:在Registration Accept NAS消息中携带 "SMS supported"标识,通知UE可通过当前AMF收发短信。
  • :若网络不支持SMS,该标识将被忽略或置0。
(5) AMF激活SMS服务
  • AMF → SMSF:调用服务化接口 Nsmsf_SMService_Activate,关键参数如下:
    参数作用
    AMF Address新AMF的服务地址(供SMSF反向通知)
    Access Type接入类型(3GPP或非3GPP)
    SUPI/GPSI用户永久标识(SUPI)或外部标识(GPSI)
    Trace Requirement合法监听需求(如需要)
(6) SMSF更新上下文

SMSF收到激活请求后执行:

  1. 若已有UE上下文
    • 直接更新AMF地址为最新值(无需重新注册UDM)。
  2. 若无UE上下文
    • 步骤1:向UDM注册自身地址(调用Nudm_UECM_Registration),建立SMSF-UDM关联。
    • 步骤2:若SMS订阅数据过期/变更,通过Nudm_SDM_Subscribe订阅UDM的数据更新通知。
(7) AMF存储SMSF地址
  • AMF将SMSF地址保存为UE上下文的一部分(例如:ueContext.smsfAddressList)。
  • 作用
    • 后续UE发短信时直接路由至SMSF;
    • AMF重选时传递至新AMF(见步骤2)。

2. 关键技术设计

(1) SMS over NAS的优势
  • 无用户面承载:短信通过控制面(NAS信令)传输,无需建立PDU会话,节省资源。
  • 覆盖增强:适用于弱信号场景(如NB-IoT)。
(2) 服务化接口(SBI)交互
接口调用方 → 被调用方功能
Nsmsf_SMService_ActivateAMF → SMSF激活UE的短信服务
Nudm_UECM_GetAMF → UDM获取UE的SMSF地址
Nudm_UECM_RegistrationSMSF → UDMSMSF向UDM注册服务地址
Nudm_SDM_SubscribeSMSF → UDM订阅用户短信签约数据更新
(3) 容灾与同步机制
  • AMF故障时:新AMF通过UDM或旧AMF获取SMSF地址,避免短信中断。
  • UDM数据更新:SMSF通过订阅机制(Nudm_SDM_Subscribe)实时同步用户短信权限变更。
  • SMSF冗余:UDM可返回多个SMSF地址,AMF按负载均衡策略选择。
(4) 安全设计
  • SUPI保护:AMF/SMSF间传递用户标识时使用SUPI(非SUCI),因注册已完成鉴权。
  • 传输加密:所有SBI接口均基于TLS 1.3加密(HTTP/2 over TLS)。

3. 典型信令流程示例

http://www.lqws.cn/news/561259.html

相关文章:

  • 可编程逻辑器件的发展与比较
  • 构建 AI 系统的 4 大 Agentic AI 设计模式
  • Python 可迭代的对象、迭代器 和生成器(何时使用生成器表达式)
  • 2099. 找到和最大的长度为 K 的子序列
  • 第6篇:中间件——Gin的请求处理管道
  • 大事件项目记录10-文章分类接口开发-更新文章分类
  • AtCoder AT_abc412_c [ABC412C] Giant Domino 题解
  • JavaEE:CAS单点登录
  • 数据结构1 ——数据结构的基本概念+一点点算法
  • 表达式求值
  • Brocade 博科交换机配置带外管理IP
  • 【unity游戏开发——网络】网络协议、TCP vs UDP 本质区别
  • 第九节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 菜单管理(上)
  • AI间对话APK制成
  • Centos 8设置固定IP
  • STM32中Usart的使用
  • WordPress最新版6.8.1安装教程
  • 前缀和 + 哈希表
  • NV046NV060美光固态闪存NV061NV063
  • 从用户到权限:解密 AWS IAM Identity Center 的授权之道
  • Linux更改国内镜像源
  • ZooKeeper深度面试指南三
  • Hadoop集群异常:两个NameNode全部为StandBy状态
  • 【中文核心期刊推荐】《计算机工程与设计》
  • linux学习第26天(信号集)
  • llm 基本案例实现
  • 从OCR瓶颈到结构化理解来有效提升RAG的效果
  • C++ - 浅看vector源码
  • SpringBoot -- 以 jar 包运行(以及常见错误分析)
  • HarmonyOS NEXT仓颉开发语言实战案例:动态广场