作为一个对开源 PBX 项目(例如Asterisk
and )非常陌生的人FreeSWITCH
,我正在努力解决一些信息过载问题。已阅读 Wiki 上的基本 FreeSWITCH 文档,但仍有一些问题。由于我对术语不是很熟悉,因此我将尝试使用近似值。
尝试创建 FreeSWITCH 的小型/简约构建,需要在相当旧的笔记本电脑(Celeron 1GHz,512MB RAM,20GB HDD,已经运行 Debian“Wheezy”)上运行,并将其设置为 6 端口 GSM-SIP /Jabber 网关。因此,“小”和“简约”是指没有绝对必要的模块/可选软件(例如,不需要 IVR 公告或 Skype 集成)——以保持最小的内存占用,并且占用较少的硬盘空间。
粗略的想法是有6个GSM端口(通过'GSM-open module',类似于chan_dongle)到公共电话网络,大约60个SIP分机,最多支持6个涉及GSM端口的呼叫,以及大约6个SIP-SIP呼叫(内部 PBX),在此设置上。我读过 GSMopen 模块的 CPU 开销非常低,所以我猜这是可能的。
- 有人可以确认这是一个现实的目标吗?
- 为简约构建选择的最小模块集可能是什么?
- 对于初始构建期间未选择的模块,以后可以添加吗?如果是这样,是否需要我完全重建 FreeSWITCH,只重建模块,或者构建所有内容,但只需要更改配置以确保加载和配置模块?
- 有没有粗略估计在这种配置中可以支持的最大呼叫率是多少?对于 SIP-SIP 呼叫?考虑到处理器功率不足和 RAM 很少(根据现代标准),我猜这两者都将成为瓶颈,但添加 RAM 仍然是可能的(即使成本高昂且困难重重)。
- 我已经读过可以使用 Lua/Python/Java 等创建“钩子”。但是,如果有人分享一些使用此类钩子可能实现的例子,它会使概念更清晰。是否可以希望使用这些钩子来编写像“未接来电记录”或“无应答重定向”这样的应用程序?