You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于Diameter协议CER中Application ID及三类AVP使用场景的技术问询

Diameter CER报头Application ID设置及三类AVP适用场景解析

这个问题问得很到位——Diameter的能力交换和应用专属AVP确实容易让人混淆,咱们一步步拆解清楚。

1. 携带多个Vendor-Specific Application ID时,CER报头的Application ID设置

当你发送包含多个Vendor-Specific Application ID AVP的Capabilities Exchange Request(CER)时,Diameter报头里的Application ID必须设为0

原因很简单:CER属于Diameter基础协议(定义在RFC 6733)的范畴,它本身并不绑定任何特定业务应用。把报头Application ID设为0,是在告诉对端节点:这是一条基础协议层面的能力交互消息,而非某个认证/计费/自定义应用的业务请求,这样对端才能正确解析CER的用途。

2. 三类AVP的适用场景

下面分别说明这三个AVP的典型使用场景,尤其是在能力交互(CER/CEA)和业务消息中的用法:

Auth Application ID AVP

  • 核心用途:用于标识IETF或标准组织定义的标准化认证/授权类应用
  • 适用场景
    • 在CER中携带它,向对端通告本节点支持的标准认证授权应用(比如应用ID为26的Diameter EAP、应用ID为67的Diameter SIP)。
    • 在认证授权类业务消息(比如Authorization Information Request,AIR)中使用,明确指定当前请求对应的标准认证应用。

Acct Application ID AVP

  • 核心用途:专门用于标识标准化计费/信用控制类应用
  • 适用场景
    • 在CER中加入这个AVP,告知对端本节点支持的标准计费应用(比如应用ID为3的Diameter Accounting、应用ID为4的Diameter Credit Control)。
    • 在计费相关业务消息(比如Accounting Request,ACR)中携带它,标识当前计费请求所属的标准计费应用。

Vendor-Specific Application ID AVP

  • 核心用途:用于厂商自定义的Diameter应用——当标准应用无法满足业务需求时,厂商可以扩展专属应用,这个AVP就是用来标识这类自定义应用的(它包含Vendor-Id字段标识厂商,以及Application-Id字段标识厂商自定义的应用ID)。
  • 适用场景
    • 在CER中可以携带多个该AVP实例,全面通告本节点支持的所有厂商自定义应用(比如某运营商专属的策略管理应用)。
    • 在厂商自定义的业务请求/响应消息中使用,明确标识该消息属于厂商专属应用,确保对端节点能正确处理。

内容的提问来源于stack exchange,提问作者Abhishek Dhankar

火山引擎 最新活动