问题标签 [free-diameter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3952 浏览

diameter-protocol - 如何使用 freediameter 为直径信用控制应用程序配置和启动直径客户端和服务器

到目前为止,我已经在 linux centOS 5.8 中安装并运行了 freediameter。CER 和 CEA 消息在客户端和服务器之间成功交换。

我希望在 freediameter 客户端和服务器中嵌入直径信用控制应用程序。客户端应发送 CCR,服务器应以 CCA 响应。

我已经完成了 freediameter DCCA 扩展,但不知道如何使用此扩展来发送和接收 CCR 和 CCA。我用谷歌搜索了很多,但没有得到任何帮助。

所以我想要的只是用 DCCA 配置 freediameter 客户端和服务器。

任何帮助将不胜感激。

提前致谢。

0 投票
1 回答
636 浏览

free-diameter - freediameter - 没有剩余合适的候选人来路由消息

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

为此,我尝试为 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 是正常的。

0 投票
1 回答
312 浏览

c++ - 使用 C++ 开发 freediameter 扩展

因此,我想使用 C++ 开发 freediameter 扩展,共享库已成功编译和链接,但是当 freediameter 守护程序将使用它时,我收到此错误:

我想它有一些名字修饰的东西,但我似乎找不到解决方案。已经尝试将入口点放入 extern 块但没有运气:

同样,当我通过 nm 检查共享库中的“fd_ext_init”定义时,它会像:

0 投票
1 回答
64 浏览

c - freeDiameter - fd_sess_handler_create

我刚刚对 freeDiameter 库中的“fd_sess_handler_create”函数有一个疑问。

好吧,在 test_app 扩展中,有一个 ta_cli_init 函数来初始化客户端程序,当代码在 C 中时,这个块编译得很好:

但是,一旦我将代码更改为 C++ ,编译器就开始唠叨“清理”参数(第二个参数),我必须更改代码以使其编译:

代码现在可以编译了,但是因为我不确定清理上下文,所以你看到我把它留空了。

您能否向我解释一下我的自定义 sess_handler_free 函数体中究竟应该清理什么?

0 投票
3 回答
1138 浏览

c - freeDiameter - 事件时间戳

我对“事件时间戳”AVP 有一个问题。

我知道我应该把纪元时间放在那里,但我主要关心它的格式,这是我到目前为止在 RFC 中找到的:

那么,问题是我应该先获取系统当前时间(以纪元格式),然后将其转换为字符串并直接将其传递给 Event-Timestamp 吗?

但标准说:“ The string MUST contain four octets”。

我不知道如何实现这一点......你能详细说明一下吗?

0 投票
1 回答
214 浏览

c - freeDiameter 和多线程

好吧,我想在线程中使用 freeDiameter :) 我需要一些关于在多线程环境中使用库的建议。

让我回顾一个用例:假设我在一个类中实现了几个成员函数,以简单地为 freediameter C 函数调用提供包装器方法。在 MessageRequest 方法中,我想创建 DCC 消息并发送到直径服务器。好吧,为此我显然需要使用 fd_sess_new 和 fd_sess_getsid 函数来设置我的“会话 ID”AVP,还必须使用带有 fd_sess_state_store/fd_sess_state_retrieve 函数的 session_handler 变量来存储和检索 MessageResponse 上的会话处理程序对象。那么,由于会有多个并发引用 MessageRequest 方法,我想问一下 freediameter 中的对象和函数是否是线程安全的?我应该手动处理吗?每次我要使用方法中使用的变量时,我应该使用互斥锁吗?

谢谢,

0 投票
0 回答
611 浏览

freeradius - freeradius 请求代理到 freediameter

我希望将来自 freeRADIUS 的 EAP-SIM 请求代理到 freeDiameter,该过程涉及:

  1. 在 freeRADIUS 上设置代理(我的状态请求未被代理)
  2. 在 freeDiameter 上设置 NAS(由于缺少文档,我无法理解在哪里将 Radius 定义为 NAS)
  3. 将消息发送回 freeRADIUS(我认为一旦完成上述任务,Diameter 会自动完成)

我目前的状态是 freeRADIUS 是:

最后,我收到一条错误消息,上面写着:

我无法理解我可能做错了什么

另外,需要注意的是,我的 Diameter 中没有任何调试:

在这方面的所有帮助将是非常可观的。

0 投票
2 回答
303 浏览

free-diameter - FreeDiameter ULA/ULR 消息

我尝试通过 s6a 接口将我的实体(作为 MME)与 HSS 连接起来。连接(CER / CEA)成功:

我的云中有 test_app 的报告和配置文件

但是在那之后我无法获得正确的 ULA: ULA screenshot

我使用 test_app.fdx。也许不可能为此目的使用此扩展程序?

如果是,我怎样才能获得正确的结果?

感谢您的时间!

0 投票
0 回答
757 浏览

diameter-protocol - Diameter 作为客户端和 Diameter 作为服务器有什么区别?

到目前为止,我已经安装并运行了 freediameter。CER 和 CEA 消息在客户端和服务器之间成功交换。但是我无法理解是什么让一个实例每次都作为“客户端”运行而另一个作为“服务器”运行,因为客户端和服务器实例都包含相同的源代码。它是依赖于“直径标识”或“ip”的值,还是依赖于某个“标志”或“命令行参数”的动作?我希望我当前的客户端实例作为服务器运行,并且当前服务器实例作为客户端运行,但我无法这样做。

0 投票
1 回答
127 浏览

diameter-protocol - 指定 freeDiameter 源端口

我开始使用freeDiameter。我一遍又一遍地浏览文档,但没有找到任何配置变量来设置作为客户端连接时的源端口。

我的目标是连接到 HSS,这要求我的传出 SCTP 的源端口为 3893,目标端口为 3868。

有没有我错过的配置变量?