首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FreeSWITCH最小安装和模块选择

FreeSWITCH最小安装和模块选择
EN

Stack Overflow用户
提问于 2013-08-21 05:55:53
回答 2查看 2.6K关注 0票数 6

作为像AsteriskFreeSWITCH这样的开源PBX项目的新手,我正在努力应对一些信息过载。已经阅读了Wiki上的基本FreeSWITCH文档,但仍然很少有问题。因为我对这个术语不太熟悉,所以我会尝试使用近似值。

试图创建一个小型/极简式的FreeSWITCH,需要在一台相当老的笔记本上运行(Celeron 1 1GHz,512 as,20 GSM,已经在运行Debian "Wheezy"),并将其设置为一个6端口的GSM-SIP/Jabber网关。所以,所谓“小”和“极简”,我指的是一个没有模块/可选的软件--不是绝对必要的软件(例如,不需要IVR公告,或者Skype集成)--以保持最小的内存占用,并且占用较少的硬盘不动产。

粗略的想法是有6个GSM端口(通过‘GSM开放模块’,类似于chan_dongle)的公共电话网络,和大约60个SIP扩展,并支持多达6个涉及GSM端口的呼叫,以及大约6个similar (intra )。我已经读到GSMopen模块的CPU开销非常低,所以我猜测这是可能的。

  1. 有人能确认这是一个现实的目标吗?
  2. 为极简式构建选择的最小模块集可能是什么?
  3. 对于在初始构建过程中没有选择的模块,可以在以后添加这些模块吗?如果是这样的话,我是否需要完全重新构建FreeSWITCH,只重建模块,或者构建所有的模块,但是只需要对配置进行更改,以确保加载和配置模块?
  4. 对于在这种配置中可以支持的最大呼叫速率有任何粗略的估计吗?为了SIP-SIP呼叫?考虑到处理器功率不足和内存不足(按照现代标准),我猜想这两者都将成为瓶颈,但添加RAM仍然是可能的(即使代价高昂且困难)。
  5. 我读过可以使用Lua/Python/Java等创建“钩子”。然而,如果有人分享了使用这样的钩子什么是可能的例子很少,这将使概念更加清晰。人们能否希望使用这些钩子来编写一个应用程序,比如“漏掉的呼叫日志”或“无答案的重定向”?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-21 13:36:20

有人能确认这是一个现实的目标吗?

是的,这是相当现实的。您需要尽可能少地进行转码,因为这是需要CPU资源的地方。但即使使用1 1Ghz,6次代码转换似乎也相当现实。但它需要测试:)

为极简式构建选择的最小模块集可能是什么?

只需从默认的模块列表开始,并添加gsmopen (我没有gsm网关的经验,无法帮助这部分)。内存占用非常低,稍后您可能需要其中的一些模块。

对于在初始构建过程中没有选择的模块,可以在以后添加这些模块吗?

据我所知,Wiki描述了这个过程。您编辑modules.conf并创建特定模块。

对于在这种配置中可以支持的最大呼叫速率有任何粗略的估计吗?为了SIP-SIP呼叫?考虑到处理器功率不足和内存不足(按照现代标准),我猜想这两者都将成为瓶颈,但添加RAM仍然是可能的(即使代价高昂且困难)。

这真的取决于你的拨号计划的复杂性。每个上下文由许多条件组成,这些条件对通道变量进行regexp匹配。所以,你的拨号计划越复杂,你得到的CPS就越少。但是对于一个6通道的网关,我不认为这是个问题。GSM网络将比你的盒子慢得多:)

我读过可以使用Lua/Python/Java等创建“钩子”。然而,如果有人分享了使用这样的钩子什么是可能的例子很少,这将使概念更加清晰。人们能否希望使用这些钩子来编写一个应用程序,比如“漏掉的呼叫日志”或“无答案的重定向”?

您可以使用FreeSWITCH控制FreeSWITCH行为的各个方面。当完全的拨号计划被外部程序重新实现时,甚至有一些例子(Kazoo这样做)。

最简单的操作模式是当您的Lua/JS/Perl/Python脚本从拨号计划中启动时:然后它接收一个“会话”对象,您可以对调用做任何您想做的事情:播放声音、桥接、向前、发出新的调用并将它们连接在一起等等。在我的博客里,有一个小的实际例子。

然后,您可以构建一个外部应用程序,该应用程序连接到FS套接字,监视事件并对活动调用执行操作。

另外,它可以在相反的方向完成:运行服务器,FS使用它的套接字库连接到它。

此外,您还可以拥有一个HTTP,它向FreeSWITCH提供部分XML配置,并在每次调用时请求这些配置(这将是最密集的CPU应用程序)。这样,您就可以从内部数据库中输入FS,并构建容错系统.

我希望这会有所帮助:)如果需要的话,你也可以在skype上找到我。

票数 5
EN

Stack Overflow用户

发布于 2013-08-21 10:55:02

FreeSWITCH并不真正需要内存,您可以从默认的模块集开始(最好是使用预构建的Debian包)。例如,在我的64位计算机上,FreeSWIITH进程只占用35 my的内存。

代码语言:javascript
复制
freeswitch@vx03:~$ uname -a
Linux vx03 2.6.32-5-xen-amd64 #1 SMP Thu Nov 3 05:42:31 UTC 2011 x86_64 GNU/Linux
freeswitch@vx03:~$ ps -p 11873 v
  PID TTY      STAT   TIME  MAJFL   TRS   DRS   RSS %MEM COMMAND
11873 ?        S<l   10:29      0     0 258136 36852  2.3 /opt/freeswitch/bin/freeswitch -nc -rp -nonat -u freeswitch -g freeswitch

今天晚些时候,我将讨论你的其余问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18349802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档