jay*_*jay 6 asterisk pbx freeswitch pbxproj
正如有人谁是很新的开源PBX项目,如Asterisk和FreeSWITCH,我与一些信息过载拼杀.已阅读Wiki上的基本FreeSWITCH文档,但仍然没有什么问题.由于我对术语不太熟悉,我将尝试使用近似值.
尝试创建FreeSWITCH的小/简约版本,需要在相当旧的笔记本电脑上运行(赛扬1GHz,512MB RAM,20GB硬盘,已经运行Debian"Wheezy"),并将其设置为6端口GSM-SIP/Jabber网关.因此,通过"小"和"简约",我的意思是没有绝对必要的模块/可选软件(例如,不需要IVR公告或Skype集成) - 以保持最小的内存占用,以及占用较少的硬盘空间.
粗略的想法是有6个GSM端口(通过'GSM开放模块',类似于chan_dongle)向公共电话网络,大约60个SIP扩展,并支持最多6个涉及GSM端口的呼叫,以及大约6个SIP-SIP呼叫(在此设置下,在PBX内).我已经读过GSMopen模块的CPU开销很低,所以我猜这是可能的.
有人可以确认这是一个现实的目标吗?
是的,这很现实。您需要针对尽可能少的代码转换,因为这是需要CPU资源的地方。但是即使使用1Ghz Celeron,6个转码的会话似乎也很现实。但这需要测试:)
选择用于简约构建的最小模块集是什么?
只需从默认的模块列表开始,然后添加gsmopen(我对gsm网关没有任何经验,无法帮助那部分)。内存占用非常少,以后您可能需要其中一些模块。
对于在初始构建期间未选择的模块,可以在以后添加吗?
据我所记得,Wiki描述了这个过程。您编辑modules.conf并制作特定的模块。
对于这种配置可以支持的最大呼叫速率,是否有任何粗略估计?对于SIP-SIP呼叫?考虑到处理器的功能不足以及很少的RAM(按照现代标准),我猜这两者都是瓶颈,但是增加RAM还是有可能的(即使成本高昂且困难)。
这实际上取决于拨号方案的复杂性。每个上下文由许多条件组成,这些条件对通道变量进行正则表达式匹配。因此,拨号计划越复杂,获得的CPS越少。但是对于6通道网关,我认为这没有问题。GSM网络将比您的机器慢得多:)
我已经读过可以使用Lua / Python / Java等创建“挂钩”。但是,如果某人共享的共享实例很少,那么使用这种挂钩是有可能的,这将使概念更清晰。可以希望使用这些钩子来编写诸如“未接呼叫记录”或“无应答重定向”之类的应用程序吗?
您可以使用FreeSWITCH控制FreeSWITCH行为的各个方面。甚至还有一些示例,当通过外部程序重新实现完整的拨号计划时(Kazoo会这样做)。
最简单的操作模式是从拨号方案中启动Lua / JS / Perl / Python脚本时:它会收到一个“会话”对象,您可以用该调用执行任何操作:播放声音,桥接,前进,拨打新电话并将它们桥接在一起,依此类推。在我的博客中,有一个实际的例子。
然后,您可以构建一个外部应用程序,该应用程序连接到FS套接字并监视事件并在活动调用上执行操作。
同样,也可以按相反的方向进行操作:运行服务器,然后FS使用其套接字库连接到该服务器。
另外,您可以拥有一个HTTP服务,该服务向FreeSWITCH提供XML配置,并在每次调用时都请求XML配置(这将是CPU占用最大的应用程序)。这样,您可以从某些内部数据库中馈送FS,并构建容错系统。
希望对您有所帮助:)如果需要,您还可以在Skype中找到我。
| 归档时间: |
|
| 查看次数: |
2196 次 |
| 最近记录: |