跳到主要内容

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 的继任者。Diameter 支持现代 AAA 场景:

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

Diameter 在 CSCF 中​

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

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

Diameter 在 IMS 架构中​

网络概述​

Diameter 接口​

Cx 接口 (CSCF ↔ HSS)​

I-CSCF 和 S-CSCF 使用 Cx 接口进行用户认证和配置文件管理。

3GPP 规范: TS 29.228

I-CSCF 操作​

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

  • 目的: 查询 HSS 以获取 S-CSCF 分配或能力
  • 触发: I-CSCF 接收到来自用户的 REGISTER
  • 用例: I-CSCF 必须将注册路由到正确的 S-CSCF

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

  • 目的: 查询 HSS 以获取用户当前的 S-CSCF
  • 触发: I-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 会话,PCF 通过 N5 AF 接口(Npcf_PolicyAuthorization,HTTP/2 SBI)授权媒体和 QoS。它不使用 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 会话和承载资源
  • 触发: 呼叫终止。P-CSCF 接收到 BYE。
  • 用例: P-CSCF 通知 PCRF 释放 QoS 资源

Ro 接口 (S-CSCF ↔ OCS)​

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

3GPP 规范: TS 32.299

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

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

类型:

  • CCR-初始: 在呼叫开始时请求信用
  • CCR-更新: 在呼叫过程中刷新配额
  • CCR-终止: 在呼叫结束时报告最终使用情况

通过 OmniWeb 进行对等管理​

在 OmniWeb 中每个 CSCF 页面上的 Diameter 选项卡查看 Diameter 对等状态、支持的应用程序和队列深度。OmniWeb 是统一管理门户: <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 连接(如果支持 TLS)
  • 使用防火墙限制 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.xml、icscf.xml 或 scscf.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 时为显式 IP。在 ims_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 库存组提供对等体和默认路由列表。当启用计费时,RO_DESTINATION 单独指向 S-CSCF 的 Ro 对等体(OCS)。XML 不处理此对等体。

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