跳到主要内容

Diameter 操作指南

目录

  1. 概述
  2. IMS 架构中的 Diameter
  3. Diameter 接口
  4. 通过 OmniWeb 进行对等管理
  5. Diameter 结果代码
  6. 常见问题

概述

Diameter 是在 IMS 架构中使用的认证、授权和计费(AAA)协议。OmniCSCF 使用 Diameter 与包括 HSS、PCRF 和 OCS 在内的关键网络元素进行通信。

什么是 Diameter?

Diameter (RFC 6733) 是 RADIUS 的继任者,旨在满足现代 AAA 场景的需求:

  • 可靠传输 通过 TCP/SCTP(与 RADIUS 中的 UDP 相比)
  • 可扩展 通过特定应用模块
  • 对等 架构(不仅仅是客户端-服务器)
  • 有状态 连接,带有看门狗监控
  • 标准化 错误处理和结果代码

Diameter 在 CSCF 中

每个 CSCF 组件使用特定的 Diameter 应用接口:

CSCF接口应用 ID连接到目的
I-CSCFCx16777216HSSS-CSCF 选择,用户位置
S-CSCFCx16777216HSS用户认证,配置文件下载
S-CSCFSh16777217HSS用户数据访问(可选)
P-CSCFRx16777236PCRFQoS 策略和承载控制
S-CSCFRo4OCS在线计费(信用控制)
S-CSCFRf3CDF离线计费(记账)

IMS 架构中的 Diameter

网络概述

Diameter 接口

Cx 接口 (CSCF ↔ HSS)

Cx 接口由 I-CSCF 和 S-CSCF 用于用户认证和配置文件管理。

3GPP 规范: TS 29.228

I-CSCF 操作

用户授权���求 (UAR) / 用户授权应答 (UAA):

  • 目的: 查询 HSS 以获取 S-CSCF 分配或能力
  • 触发: 从用户接收到的 REGISTER
  • 用例: I-CSCF 需要将注册路由到适当的 S-CSCF

位置信息请求 (LIR) / 位置信息应答 (LIA):

  • 目的: 查询 HSS 以获取用户当前的 S-CSCF
  • 触发: 收到终止用户的 INVITE 或 MESSAGE
  • 用例: I-CSCF 需要将会话路由到用户的 S-CSCF

S-CSCF 操作

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

  • 目的: 从 HSS 获取认证向量
  • 触发: 初始 REGISTER(在挑战之前)
  • 用例: S-CSCF 需要挑战用户进行 IMS AKA 认证

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

  • 目的: 通知 HSS 注册状态,下载用户配置文件
  • 触发: 成功认证(在 MAR/MAA 之后)
  • 用例: S-CSCF 下载用户的 IFC 和服务配置文件

SAA 中的 User-Data AVP 包含完整的用户配置文件,包括:

  • 公共身份
  • 服务触发的初始过滤标准 (IFC)
  • 订阅的媒体配置文件标识符
  • 计费信息

注册终止请求 (RTR) / 注册终止应答 (RTA):

  • 目的: HSS 发起的注销(来自 HSS 的推送)
  • 触发: 行政注销,订阅变更
  • 用例: HSS 指示 S-CSCF 注销用户

Rx 接口 (P-CSCF ↔ PCRF)

Rx 接口为 IMS 会话提供策略和 QoS 控制。

3GPP 规范: TS 29.214

关于 VoNR (5G NR) 的说明: 对于 VoNR 会话,媒体和 QoS 通过 N5 AF 接口(Npcf_PolicyAuthorization,HTTP/2 SBI)授权给 PCF,而不是 Diameter Rx。因此,此处描述的 Rx 接口适用于 4G/LTE 访问。

AA 请求 (AAR) / AA 应答 (AAA):

  • 目的: 请求媒体会话的 QoS 授权
  • 触发: SIP INVITE 中的 SDP 提供/应答交换
  • 用例: P-CSCF 请求 PCRF 授权承载资源

重新认证请求 (RAR) / 重新认证应答 (RAA):

  • 目的: PCRF 发起的策略更新(来自 PCRF 的推送)
  • 触发: 策略变更,承载修改
  • 用例: PCRF 指示 P-CSCF 更新 QoS 策略

会话终止请求 (STR) / 会话终止应答 (STA):

  • 目的: 释放 Rx 会话和承载资源
  • 触发: 呼叫终止(收到 BYE)
  • 用例: P-CSCF 通知 PCRF 释放 QoS 资源

Ro 接口 (S-CSCF ↔ OCS)

Ro 接口提供在线计费(信用控制)。

3GPP 规范: TS 32.299

信用控制请求 (CCR) / 信用控制应答 (CCA):

  • 目的: 实时信用授权和扣款
  • 触发: 呼叫建立,中途呼叫,呼叫终止
  • 用例: 预付费计费,实时信用检查

类型:

  • CCR-Initial: 在呼叫开始时请求信用
  • CCR-Update: ��呼叫期间刷新配额
  • CCR-Terminate: 在呼叫结束时报告最终使用情况

通过 OmniWeb 进行对等管理

Diameter 对等状态、支持的应用程序和队列深度现在可以在 OmniWeb 中每个 CSCF 页面上的 Diameter 选项卡中查看,这是统一管理门户: <https://docs.omnitouch.com.au/docs/repos/Platform/OmniWeb/&gt;。

从 OmniWeb Diameter 选项卡中,您可以查看每个 CSCF 的:

  • 领域和 Diameter Origin-Host 身份
  • 配置的对等体及其连接状态(I_Open、Closed 等)
  • 每个对等体支持的 Diameter 应用程序,映射到 3GPP 接口名称(Cx/Dx、Sh/Dh、Rx、Ro、Gx、S6a/S6d 等)
  • 工作队列长度和待处理事务
  • 启用/禁用单个对等体的操作

对等状态

状态描述
I_Open连接已打开并正常运行
Closed未建立连接
Wait-Conn-Ack连接已发起,等待响应
Wait-I-CEACER 已发送,等待 CEA

Diameter 结果代码

常见结果代码及其含义:

代码名称含义操作
2xxx成功
2001DIAMETER_SUCCESS操作成功
3xxx协议错误
3002DIAMETER_UNABLE_TO_DELIVER无法路由到目标检查对等连接
3003DIAMETER_REALM_NOT_SERVED领域未被识别验证领域配置
3007DIAMETER_APPLICATION_UNSUPPORTED应用程序不受支持检查应用程序 ID
4xxx瞬态故障
4001DIAMETER_AUTHENTICATION_REJECTED认证失败检查凭据
4010DIAMETER_USER_UNKNOWN用户未配置验证 HSS 配置
5xxx永久故障
5001DIAMETER_AVP_UNSUPPORTEDAVP 未被识别检查协议版本
5002DIAMETER_UNKNOWN_SESSION_ID会话未找到会话已过期或无效
5003DIAMETER_AUTHORIZATION_REJECTED未授权检查用户权限
5012DIAMETER_UNABLE_TO_COMPLY无法处理请求检查 HSS/PCRF/OCS 日志

常见问题

关键 Diameter 接口

当 Diameter 对等体出现故障时,影响和恢复的紧迫性取决于受影响的接口:

接口故障影响恢复优先级
Cx (HSS)无法进行新注册,无 IFC 更新关键 - 立即
Rx (PCRF)新呼叫无 QoS高 - 在几分钟内
Ro (OCS)无法进行预付费计费,服务可能继续高 - 取决于策略

对等连接故障

症状: 对等体卡在 "Closed" 或 "Wait-Conn-Ack" 状态

诊断:

  1. 验证���络连接:
    ping <peer-fqdn>
    telnet <peer-fqdn> 3868
  2. 检查防火墙规则(端口 3868 TCP 必须开放)
  3. 验证对等配置(IP 地址,端口)
  4. 检查对等日志以获取连接尝试

解决方案:

  • 修复网络/防火墙问题
  • 验证对等体是否正在运行并监听端口 3868
  • 检查对等体是否具有正确的 CSCF 配置
  • 使用 OmniWeb Diameter 选项卡上的 Enable Peer 重试连接

CER/CEA 交换故障

症状: 对等体卡在 "Wait-I-CEA" 状态,或 CEA 返回错误代码

常见错误:

  • 5010 (NO_COMMON_APPLICATION): 验证两个对等体是否支持相同的应用程序(例如,Cx = 16777216)
  • 3003 (REALM_NOT_SERVED): 验证 Origin-Realm 是否与对等体的预期领域匹配

解决方案:

  • 检查 Diameter 配置中的应用程序 ID 和领域
  • 确保对等配置与 CSCF 预期匹配
  • 查看 CSCF 后端日志以获取详细错误信息

HSS Cx 接口问题

症状: 注册失败,MAR/MAA 超时

常见错误:

结果代码含义解决方案
4010USER_UNKNOWN用户未在 HSS 中配置
4001AUTHENTICATION_REJECTEDIMPI/凭据不正确
5012UNABLE_TO_COMPLYHSS 内部错误,检查 HSS 日志

解决方案:

  • USER_UNKNOWN: 在 HSS 中配置用户
  • AUTHENTICATION_REJECTED: 验证 HSS 中的 IMPI 和共享密钥
  • UNABLE_TO_COMPLY: 检查 HSS 日志和数据库连接

PCRF Rx 接口问题

症状: 呼叫成功但未应用 QoS,AAR/AAA 超时

常见问题:

  • PCRF 故障: 检查 OmniWeb Diameter 选项卡上的对等状态
  • Framed-IP-Address 未被识别: PCRF 无法将 UE IP 映射到订阅者
  • 策略未应用: 检查 PCRF 策略规则,验证 PCEF 集成

解决方案:

  • 验证 PCRF 对等体是否处于 "I_Open" 状态
  • 检查 PCRF 中的 UE IP 地址配置
  • 验证 Gx 接口(PCRF 到 PCEF)是否正常

OCS Ro 接口问题

症状: 预付费呼叫失败,CCR/CCA 超时,呼叫被阻止

常见错误:

结果代码含义解决方案
4012CREDIT_LIMIT_REACHED信用不足
5003AUTHORIZATION_REJECTED用户未被授权进行预付费

解决方案:

  • CREDIT_LIMIT_REACHED: 对于没有信用的预付费用户来说是正常的
  • OCS 超时: 检查 OCS 可用性和对等状态
  • AUTHORIZATION_REJECTED: 验证用户是否在 OCS 中配置为预付费

性能下降

症状: Diameter 响应���间缓慢,高延迟

诊断:

  1. 检查对等列表中的 "Last Used" 时间戳(应为最近)
  2. 监控 "Queue Length"(高值表示积压)
  3. 查看 CSCF 后端日志以获取超时警告

解决方案:

  • 高延迟: 调查 CSCF 和对等体之间的网络
  • 高队列长度: 检查对等体系统负载(HSS/PCRF/OCS)
  • 超时: 如果网络延迟高,则增加事务超时

最佳实践

操作指南

对等管理:

  • 通过 OmniWeb Diameter 选项卡监控对等状态
  • 为对等故障事件设置外部监控
  • 在维护窗口期间测试对等连接

容量规划:

  • 根据注册和呼叫量估算 Diameter 事务速率
  • 确保 HSS/PCRF/OCS 能够处理峰值事务速率
  • 考虑在大型部署中使用 Diameter 路由代理(DRA)

故障排除:

  • 在调查注册或呼叫失败时,首先检查对等状态
  • 将 Diameter 故障与 SIP 故障关联(相同的 Call-ID 或用户)
  • 查看 CSCF 后端日志以获取详细的 Diameter 事务跟踪

安全性:

  • 在生产环境中使用 TLS 进行 Diameter 连接(如果支持)
  • 通过防火墙限制 Diameter 对等体访问(仅限已知对等体)
  • 定期查看对等启用/禁用审计日志

限制和未来增强

当前实现

OmniWeb Diameter 选项卡提供:

  • ✅ 实时对等状态查看
  • ✅ 启用/禁用对等操作
  • ✅ 应用 ID 到接口名称的映射

尚未实现

以下功能 目前不可用,但可能在未来版本中添加:

  • Diameter 消息检查器: 查看最近的 Diameter 事务和 AVP 详细信息
  • 对等统计: 消息计数、成功率、每个对等体的平均延迟
  • 看门狗监控: 实时 DWR/DWA 状态

解决方法

对于消息检查: 检查 CSCF 后端日志或启用 Diameter 调试日志

对于详细统计: 从 Prometheus 端点查询指标(请参见 指标参考 以获取完整的 CDP/Diameter 指标定义和监控设置)

对于手动重新连接: 使用 OmniWeb Diameter 选项卡禁用然后重新启用对等体

相关文档

3GPP 规范

  • TS 29.228: Cx 和 Dx 接口(CSCF-HSS)
  • TS 29.214: Rx 接口(P-CSCF-PCRF)
  • TS 32.299: Diameter 计费应用(Ro、Rf)
  • RFC 6733: Diameter 基础协议

技术细节

实现

对等配置(部署)

每个 CSCF 节点都有一个 Diameter 对等配置文件 - pcscf.xmlicscf.xmlscscf.xml - 在部署时由 Ansible 渲染。它定义了节点的 Diameter 身份以及它连接的 HSS/PCRF/DRA 对等体。结构在三个文件中是相同的;只有广告的应用程序不同。

XML 字段配置内容Ansible 源
DiameterPeer FQDN此节点的 Diameter origin-host FQDN<inventory_hostname>.epc.mnc<mnc>.mcc<mcc>.3gppnetwork.org
DiameterPeer Realm本地 Diameter 领域如果定义则为 ims_realm,否则为 epc.mnc<mnc>.mcc<mcc>.3gppnetwork.org
Vendor_Id / Product_NameCER 身份10415 (3GPP) / OmniCSCF
Peer (直接模式)通过 SCTP:3868 直接对等每个 hss-组主机ims_dra_support 为 false 时按主机渲染于 groups['hss']
Peer (DRA ���式)对每个 dra-组主机的对等体;当设置 diameter_dra_ip 时为显式 IPims_dra_support 为 true 时按主机渲染于 groups['dra']
Acceptor本地绑定 FQDN/端口用于入站 Diameter (3868)节点 FQDN
DefaultRoute到 HSS/PCRF 对等体的领域路由默认路由(度量 1)或 DRA(度量 2)groups['hss'] / groups['dra'] 渲染

每个节点的广告应用程序:

节点 (文件)应用程序
P-CSCF (pcscf.xml)Rx 16777236 (vendors 10415, 0)
I-CSCF (icscf.xml)Cx 16777216 (vendors 10415, 13019, 0) + 基础计费 4
S-CSCF (scscf.xml)Cx 16777216 (vendors 10415, 13019, 0) + 基础计费 4

关键 Ansible 变量:plmn_id.mcc / plmn_id.mnc_longform(构建所有 FQDN/领域),ims_realm(覆盖 Diameter 领域),ims_dra_support(在直接对等和 DRA 对等之间切换),diameter_dra_ip(DRA 对等体的静态 IP),以及 hss / dra 库存组(对等和默认路由列表)。S-CSCF 的 Ro 对等体(OCS)在启用计费时通过 RO_DESTINATION 单独处理,而不是通过 XML。

这些文件通过部署工具进行编辑,而不是通过 OmniWeb;OmniWeb 仅提供监控和操作控制(启用/禁用)。