跳到主要内容

OmniHSS 协议流程

← 返回操作指南


概述

本文档详细说明了 OmniHSS 支持的 Diameter 协议消息流程。理解这些流程对于故障排除和操作至关重要。


S6a 接口 (LTE/EPC)

认证信息请求 (AIR/AIA)

MME 请求订阅者的认证向量。

关键 AVPs:

  • 请求: 用户名 (IMSI), 访问-PLMN-Id, 请求的向量数量
  • 响应: 认证-信息 (RAND, AUTN, XRES, KASME)

更新位置请求 (ULR/ULA)

MME 通知 HSS 订阅者位置并检索订阅数据。

关键 AVPs:

  • 请求: 用户名 (IMSI), RAT 类型, ULR 标志, 访问-PLMN-Id, UE-SRVCC-能力
  • 响应: 订阅数据 (AMBR, APN-配置, 网络接入模式)

清除 UE 请求 (PUR/PUA)

MME 通知 HSS 当订阅者上下文被删除时。

通知请求 (NOR/NOA)

MME 通知 HSS 各种事件。

取消位置请求 (CLR/CLA)

HSS 发起位置取消以通知 MME ���阅者应被分离。OmniHSS 支持自动和程序化 CLR 发送。

自动 CLR (MME 切换)

当订阅者从新 MME 执行更新位置请求时,OmniHSS 自动向之前的 MME 发送 CLR 以清理过时的注册。

关键 AVPs (自动 CLR):

  • 用户名: 订阅者的 IMSI
  • 目标主机: 之前的 MME 主机名
  • 目标域: 之前的 MME 域
  • 取消类型: 0 (MME 更新过程)
  • CLR-标志: 0
  • 订阅数据: 完整的订阅配置文件

程序化 CLR (API 触发)

管理员可以通��程序化 API 触发 CLR 强制分离订阅者(例如,因订阅撤回、欺诈预防或行政行为)。

关键 AVPs (程序化 CLR):

  • 用户名: 订阅者的 IMSI
  • 目标主机: 上次看到的 MME 主机名
  • 目标域: 上次看到的 MME 域
  • 取消类型: :subscription_withdrawal (按 3GPP TS 29.272 编码为整数)
  • CLR-标志:
    • s6a_indicator: 1 (指示使用 S6a 接口)
    • reattach_required: 1 (UE 必须重新认证以重新附着)

取消类型

OmniHSS 支持多种取消类型,符合 3GPP TS 29.272:

类型描述用例
MME 更新过程0正常 MME 更改从新 MME 自动执行 ULR
SGSN 更新过程1SGSN 切换3G/2G 切换场景
订阅撤回2管理终止通过 API 手动分离
更新过程 IWF3互通功能更新传统网络互操作
初始附着过程4新注册强制重新认证

CLR-标志

CLR-标志 AVP 是一个位掩码,具有以下字段:

标志描述
S6a/S6d 指示器01 = 使用 S6a 接口
重新附着所需11 = UE 必须执行新附着

示例 CLR-标志配置:

clr_flags: %{
s6a_indicator: 1, # 使用 S6a 接口
reattach_required: 1 # 强制重新认证
}

多 IMSI 场景

OmniHSS 跟踪每个订阅者 (IMSI) 的 MME 注册,而不是每个 MSISDN。这对于理解多 IMSI 场景中的 CLR 行为至关重要:

场景 1: 多个 MSISDN,单个 IMSI

订阅者 A:
- IMSI: 999000123456789
- MSISDNs: ["+1234567890", "+9876543210"]
- last_seen_mme: "mme01.operator.com"

当该订阅者移动到新 MME 时:

  • 发送一个 CLR 到 "mme01.operator.com",IMSI 为 999000123456789
  • 两个 MSISDN 都受到影响(同一订阅者,同一 SIM)
  • 用户名 AVP 包含 IMSI,而不是 MSISDNs

场景 2: 多个订阅者(不同 IMSIs),相同 MSISDN

OmniHSS 强制执行 唯一 MSISDN 约束(一个 MSISDN 不能同时属于多个订阅者)。但是,在转移/迁移期间:

订阅者 A:
- IMSI: 999000111111111
- MSISDN: "+1234567890"
- last_seen_mme: "mme01.operator.com"

订阅者 B(转移后):
- IMSI: 999000222222222
- MSISDN: "+1234567890" # 相同 MSISDN,不同 SIM/IMSI
- last_seen_mme: "mme02.operator.com"

当订阅者 B 注册时:

  • 不发送 CLR(不同 IMSI = 不同订阅者)
  • 订阅者 A 保持在 mme01 注册
  • 订阅者 B 在 mme02 注册
  • 两者可以同时处于活动状态(不同的物理设备)

场景 3: 程序化 CLR 针对多 MSISDN 订阅者

结果:

  • 发送一个 CLR 到订阅者的 last_seen_mme
  • 所有与该 IMSI 关联的 MSISDN 实际上被分离
  • IMSI 是跟踪 MME 注册的主键

重要说明

  1. IMSI 是关键: CLR 操作始终是 按 IMSI,而不是按 MSISDN。subscriber_state 表按订阅者 (IMSI) 跟踪 last_seen_mme

  2. 原子操作: 每个订阅者一次只能在一个 MME 注册。自动 CLR 通过清理旧注册确保这一点。

  3. 如果没有之前的 MME 则不发送 CLR: 如果 last_seen_mmenil(订阅者从未注册),在 ULR 期间不发送 CLR。

  4. 包含订阅数据: 自动 CLR(在 ULR 期间)包括完整的 Subscription-Data AVP,以帮助旧 MME 正确清理上下文。

  5. 异步: CLR 是异步发送的(火并忘记)。对新 MME 的 ULA 响应不等待旧 MME 的 CLA。

  6. CLA 处理: OmniHSS 接收 CLA 响应,但当前会丢弃它们(在第 398 行 :discard)。这防止了消息循环,并且是标准 HSS 行为。


SWx 接口 (非 3GPP 访问 / WiFi 通话)

SWx 接口通过将 ePDG(演进数据包网关)连接到 HSS,以实现 WiFi 通话的订阅者认证和授权。

多媒体认证请求 (MAR/MAA)

ePDG 请求用于 WiFi 通话注册的 EAP-AKA 认证向量。

关键 AVPs:

  • 请求: 用户名 (IMSI 或 IMSI@realm), SIP-Auth-Data-Item (认证方案), SIP-Number-Auth-Items
  • 响应: SIP-Auth-Data-Item (SIP-Authenticate, SIP-Authorization, 保密密钥, 完整性密钥)

SQN 重新同步: 当 UE 检测到由于 SQN 不匹配而导致的认证失败时,ePDG 在 SIP-Authorization AVP 中包含重新同步数据。OmniHSS 从该字段中提取 AUTS,并根据 3GPP TS 33.102 使用 IND 长度感知计算重新计算 SQN。

服务器分配请求 (SAR/SAA)

ePDG 注册或注销订阅者的 WiFi 通话服务。

服务器分配类型:

类型描述
NO_ASSIGNMENT0仅查询,无状态更改
REGISTRATION1初始 WiFi 通话注册
RE_REGISTRATION2注册刷新
UNREGISTERED_USER3未注册用户的服务
TIMEOUT_DEREGISTRATION4注册超时
USER_DEREGISTRATION5用户发起的注销
AUTHENTICATION_FAILURE7认证失败,清除状态
ADMINISTRATIVE_DEREGISTRATION8管理员发起的注销

关键 AVPs:

  • 请求: 用户名 (IMSI), 服务器分配类型, 服务器名称 (ePDG 身份), 服务选择 (APN)
  • 响应: 用户数据 (IFC 配置文件 XML), 非 3GPP 用户数据

WiFi 通话注册流程

完整的端到端 WiFi 通话注册。


Cx 接口 (IMS)

用户授权请求 (UAR/UAA)

I-CSCF 查询用户是否被授权注册。

服务器分配请求 (SAR/SAA)

S-CSCF 注册/注销用户并检索 IMS 配置文件。

IFC 模板渲染:

  • {{imsi}} → 实际 IMSI
  • {{msisdns}} → 电话号码列表
  • {{mcc}}, {{mnc}} → 本地 PLMN 代码

多媒体认证请求 (MAR/MAA)

S-CSCF 请求 IMS 注册的认证向量。

位置信息请求 (LIR/LIA)

I-CSCF 查询哪个 S-CSCF 正在为用户提供服务。


Sh 接口 (IMS 配置文件数据)

请参见 Sh RepositoryData (透明数据) 以获取数据模型、序列号/并发规则以及 MMTEL 服务 / IMS-ODB 信息文档的 REST 提供 API。

用户数据请求 (UDR/UDA)

应用服务器请求订阅者配置文件数据。

配置文件更新请求 (PUR/PUA)

应用服务器更新订阅者配置文件数据。

订阅通知请求 (SNR/SNA)

应用服务器订阅配置文件更改。


Gx 接口 (策略控制)

OmniHSS 通过 Gx 接口作为 PCRF(策略和计费规则功能)运行。

请参见 PCRF 文档 以获取详细架构、策略配置和 QoS 管理。

信用控制请求 - 初始 (CCR-I/CCA-I)

P-GW 在 PDN 会话建立时请求策略规则。

关键 AVPs:

  • 请求: 订阅 ID (IMSI), 被叫站 ID (APN), RAT 类型, IP-CAN 类型
  • 响应: QoS 信息 (QCI, ARP, AMBR), 计费规则安装

信用控制请求 - 更新 (CCR-U/CCA-U)

P-GW 通知会话更改。

信用控制请求 - 终止 (CCR-T/CCA-T)

P-GW 通知 PDN 会话结束。

重新认证请求 (RAR/RAA)

OmniHSS (PCRF) 向 P-GW 发起策略更新。


Rx 接口 (IMS 媒体策略)

OmniHSS 通过 Rx 接口作为 PCRF 运行,以进行 IMS 媒体授权。

请参见 PCRF 文档 以获取详细的 VoLTE 通话流程和媒体授权。

AA 请求 (AAR/AAA)

P-CSCF 请求 IMS 会话的媒体授权。

关键信息:

  • 解析 SDP 以确定编解码器和带宽
  • 计算所需带宽 (上行/下行)
  • 为媒体流创建 SDF 过滤器
  • 通过 Gx RAR 触发专用承载

会话终止请求 (STR/STA)

P-CSCF 通知 IMS 会话结束。


Sy 接口 (支出限制控制)

OmniHSS 作为 PCRF,通过 Sy 接口从外部 OCS(在线计费系统)获取订阅者支出限制状态,并在 Gx 上应用支出驱动的策略。Sy 使用 Diameter 应用 ID 167773023GPP TS 29.219)。HSS 是 Sy 客户端;OCS 是服务器。请参见 Sy 接口 以获取完整参考(策略计数器映射、AVPs、配置)。

支出限制请求 (SLR/SLA)

PCRF 打开每个订阅者的 Sy 会话以获取 OCS 的策略计数器的当前状态,然后将结果规则折叠到它已经返回的 Gx CCA 中。

支出状态通知 (SNR/SNA)

当计数器的状态发生变化(例如,数据配额耗尽)时,OCS 通知 PCRF,PCRF 通过 Gx RAR 将策略更改推送到 PGW。

会话终止 (STR/STA)

当订阅者的最后一个数据会话结束时,PCRF 关闭 Sy 会话。


S13 接口 (EIR)

OmniHSS 通过 S13 接口作为 EIR(设备身份注册)运行。

请参见 EIR 文档 以获取详细的设备身份检查、IMEI 验证和黑名单管理。

ME 身份检查请求 (ECR/ECA)

外部 EIR 客户端(或 MME)请求设备验证。

设备状态值:

  • 设备未知 (0) - 设备允许(白名单)
  • 设备已列入黑名单 (1) - 设备被阻止
  • 设备已列入灰名单 (2) - 设备允许但被跟踪

SLh 接口 (LCS / 位置服务)

OmniHSS 回应 SLh LCS-Routing-Info-Request (RIR),以便 GMLC 在请求其位置之前发现当前服务于订阅者的 MME。服务 MME 是在 S6a 注册(更新位置)时记录的。SLh 使用 Diameter 应用 ID 16777291(3GPP TS 29.173)。

LCS 路由信息请求 (RIR/RIA)

GMLC 请求订阅者的服务节点。

注意:

  • IMSI 取自 用户名;MSISDN 查找用作后备。
  • 返回的 服务节点 携带由 S6a AIR/ULR 处理程序最后记录的 MME-名称/MME-域subscriber_state.last_seen_mme / last_seen_realm) - 无需额外配置。
  • GMLC 通常在成功的 RIA 后跟随 SLg Provide-Location-Request 到返回的 MME。

结果代码:

  • 2001 - 成功;返回 服务节点
  • 5001 - DIAMETER_ERROR_USER_UNKNOWN;IMSI/MSISDN 未配置。
  • 4201 - DIAMETER_ERROR_ABSENT_USER;已知订阅者但没有记录的服务 MME(从未附着,或位置已取消)。

完整通话流程: VoLTE 通话

端到端 VoLTE 通话设置,显示多个接口。


Zh 接口 (通用引导架构)

Zh 接口通过将引导服务器功能 (BSF) 连接到 HSS,实现通用引导架构 (GBA) 的订阅者认证和密钥派生。

多媒体认证请求 (MAR/MAA)

BSF 请求 GBA 认证向量以进行引导。

关键 AVPs:

  • 请求: 用户名 (IMPI), 公共身份, SIP-Auth-Data-Item (认证方案), 目标域
  • 响应: SIP-Auth-Data-Item (SIP-Authenticate, SIP-Authorization, 保密密钥, 完整性密钥), GBA-UserSecSettings

GBA 用例:

应用描述
MBMS移动广播多播服务密钥管理
HTTPS基于 GBA 的证书提供
NAF通用网络应用功能认证
Presence安全的存在服务认证

SWm 接口 (不受信任的非 3GPP 访问)

SWm 接口通过将 3GPP AAA 服务器连接到 HSS,为不受信任的非 3GPP 访问网络(例如,通过 ePDG 的 WiFi)启用 EAP-AKA 认证。

Diameter-EAP-请求 (DER/DEA)

WiFi 访问的 EAP 认证交换。

关键 AVPs:

  • 请求: 会话 ID, 认证应用 ID, EAP-负载, 认证请求类型, 用户名(可选)
  • 响应: EAP-负载, EAP-主会话密钥 (MSK), APN-配置, 会话超时

AA-请求 (AAR/AAA)

成功 EAP 认证后的授权。

关键 AVPs:

  • 请求: 会话 ID, 认证应用 ID, 用户名, 认证请求类型, AAR-标志
  • 响应: APN-配置, 3GPP-计费特性, 会话超时

会话终止请求 (STR/STA)

WiFi 会话终止通知。

终止原因:

原因描述
DIAMETER_LOGOUT1用户注销
DIAMETER_SERVICE_NOT_PROVIDED2服务不可用
DIAMETER_BAD_ANSWER3协议错误
DIAMETER_ADMINISTRATIVE4管理终止
DIAMETER_LINK_BROKEN5连接丢失
DIAMETER_AUTH_EXPIRED6认证超时
DIAMETER_USER_MOVED7用户移动到其他接入
DIAMETER_SESSION_TIMEOUT8会话超时

故障排除协议问题

认证失败 (S6a AIR)

检查:

  1. 密钥集配置正确 (Ki, OPC, AMF)
  2. SQN 同步(如果重复失败)
  3. 漫游规则允许访问网络

位置更新失败 (S6a ULR)

检查:

  1. EPC 配置文件存在并已配置 APNs
  2. 数据服务允许漫游
  3. MME ��份格式正确

IMS 注册失败 (Cx SAR)

检查:

  1. IMS 配置文件分配给订阅者
  2. IFC 模板有效 XML
  3. S-CSCF 选择已配置
  4. 如果在模板中使用,则分配了 MSISDNs

PDN 连接失败 (Gx CCR-I)

检查:

  1. APN 在 EPC 配置文件的 APN 列表中存在
  2. APN QoS 配置文件已配置
  3. PDN 会话表未满(如果存在限制)

← 返回操作指南