当接收到 Diameter 协议消息时,是否期望生成响应并将其发送回发送方?

When receiving a Diameter protocol message is it expected that a response will be generated and sent back to the sender?

我目前正在测试使用 Seagull 发送我的 Diameter 消息的 Diameter 协议接收组件。

我意识到我必须手动终止 Seagull 进程,因为它期待在被测系统收到 Diameter 消息时返回响应,而这不是系统设置要做的事情。

在我改变发送消息的方式来解决这个问题之前,我想检查一下 Diameter 协议的标准流程是否是在收到消息时发送响应,因此这是一项要求设计时漏掉了。

我不熟悉包含无应答请求的 Diameter 接口,我怀疑是否存在这样的接口,因为该协议包含许多支持 request/answer 机制的参数(r 位、逐跳、 end-to-end, Session-Id AVP....) Diameter 有几十个接口所以请分享你使用的接口(例如:Ro,Gy,Gx,S6a...)

关于您的 Seagull 案例:

  1. 海鸥只能发送,不一定要接收。检查您的场景 XML 中有 "receive channel" 的位置。这是 Seagull 等待回答的地方。去掉它,你就有了只发送的海鸥。
  2. 每个正确的 Diameter 协商都从请求 (CER) 和答复 (CEA) 开始。如果您想模拟完全正确的流程,您的 Seagull 将不得不等待答案