gpt4 book ai didi

voip - 将 CDR 集成到基于 Asterisk 的应用程序的最佳架构是什么

转载 作者:行者123 更新时间:2023-12-04 13:29:25 26 4
gpt4 key购买 nike

我正在开发一个 VOIP 平台,它允许用户使用我的服务同时调用 100 个电话。

Asterisk 将所有调用详细记录存储在 CDR 表中。我想知道在哪里保存此表的最佳位置,以获得我的系统的最佳架构。

我应该将它保存在 Asterisk Box 上并运行 cron 以将其与数据库服务器同步,还是应该通过 Asterisk Box 直接调用 DB 服务器并通过 Asterisk 远程直接在数据库上记录所有数据。

所有人都认为这两种架构各有利弊。我希望专家的帮助可以向我建议长期可扩展性和可持续性的最佳途径。

最佳答案

最好的架构是在不同节点中使用分布式节点(服务器),即 PBX、Web 服务器和 DB 服务器。 PBX 将在每次通话后填充您的 CDR 表(这必须在数据库服务器中),您可以从您的网络服务器获取这些记录以用于报告和计费目的。

不推荐使用 Cron 来同步 DB 表,因为它也会消耗系统资源和带宽(因为每次消耗系统资源和与 Db 同步时都会运行此 cron 会导致带宽使用)
因此,使用上面定义的架构,您可以节省将用于运行 cron 的系统资源

其次,如果您将 CDR 与 PBX 放在同一个节点中,它将由于 cron 节省系统资源,但是对于报告和计费,您必须从该节点获取数据,因此您无法节省带宽,此架构有一个主要缺点,正如您目前正在谈论的那样100 个电话同时进行,如果您有 1000 个或更多电话呢?

在这种情况下,您必须绝对使用 PBX 集群,在这种情况下,您将需要一个中央数据库服务器,该服务器将由您的 PBX 集群同步。

因此,在所有方面,我建议的架构都将完全满足您的需求。
正如问题中所述,您只需要 100 个并发调用,您可以将单个节点用于 DB 和 Web 服务器,而 PBx 在其他节点

关于voip - 将 CDR 集成到基于 Asterisk 的应用程序的最佳架构是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4026924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com