freediameter - 没有合适的候选人来路由消息

freediameter - No remaining suitable candidate to route the message

嗯,我已经用 freediameter 库开始了一个简单的项目。我需要在我的项目中实现的是创建一个客户端 diameter 应用程序,它可以将一些 CCR 请求发送到 diameter 服务器。

为此,我尝试为 freediameter 守护进程创建一个新的扩展。 所以,我做的第一件事是在配置文件中设置对等直径服务器:

ConnectPeer = "vm-pc.my.domain" { No_TLS; ConnectTo = "192.168.56.2"; Port=3868; };

然后在 ta_entry 函数中初始化请求消息,在消息正文中我指定了 Destination-Host 和 Destination-Realm 但我仍然收到此错误:

01/10/17,01:55:24.980611 ERROR Routing error: 'No remaining suitable candidate to route the message to' for the following message: 01/10/17,01:55:24.980620 ERROR 'Credit-Control-Request' 01/10/17,01:55:24.980628 ERROR Version: 0x01 01/10/17,01:55:24.980635 ERROR Length: 20 01/10/17,01:55:24.980642 ERROR Flags: 0xC0 (RP--) 01/10/17,01:55:24.980649 ERROR Command Code: 272 01/10/17,01:55:24.980656 ERROR ApplicationId: 4 01/10/17,01:55:24.980664 ERROR Hop-by-Hop Identifier: 0x00000000 01/10/17,01:55:24.980671 ERROR End-to-End Identifier: 0xDCA05EF4 01/10/17,01:55:24.980678 ERROR {internal data}: src:(nil)(0) rwb:0x0 rt:0 cb:0x80523df30,0x0(0x803397da0) qry:0x0 asso:0 sess:0x0 01/10/17,01:55:24.981562 ERROR AVP: 'Session-Id'(263) l=8 f=-M val="hadi-pc.my.domain;1484000714;6" 01/10/17,01:55:24.981569 ERROR AVP: 'Origin-Host'(264) l=8 f=-M val="hadi-pc.my.domain" 01/10/17,01:55:24.981577 ERROR AVP: 'Origin-Realm'(296) l=8 f=-M val="my.domain" 01/10/17,01:55:24.981584 ERROR AVP: 'Destination-Host'(293) l=8 f=-M val="vm-pc.my.domain" 01/10/17,01:55:24.981591 ERROR AVP: 'Destination-Realm'(283) l=8 f=-M val="my.domain" 01/10/17,01:55:24.981599 ERROR AVP: 'Auth-Application-Id'(258) l=12 f=-M val=4 (0x4) 01/10/17,01:55:24.981606 ERROR AVP: 'CC-Request-Type'(416) l=12 f=-M val='EVENT_REQUEST' (4 (0x4)) 01/10/17,01:55:24.981613 ERROR AVP: 'CC-Request-Number'(415) l=12 f=-M val=2 (0x2)

任何人都可以帮助我吗? ps:正如我在日志中看到的,CER/CEA 是正常的。

建立连接时,Capability-Exchange-Answer 消息中指示的 Origin-Realm 是什么?

Diameter请求路由过程(如https://www.rfc-editor.org/rfc/rfc6733#section-6.1所述)依赖realm,所以如果peer返回的Origin-Realm不是“my.domain”,freeDiameter将不会路由到这个对等点,即使 Origin-Host 匹配。