Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asterisk FreeSWITCH最小安装和模块选择_Asterisk_Freeswitch_Pbx_Pbxproj - Fatal编程技术网

Asterisk FreeSWITCH最小安装和模块选择

Asterisk FreeSWITCH最小安装和模块选择,asterisk,freeswitch,pbx,pbxproj,Asterisk,Freeswitch,Pbx,Pbxproj,作为一个对开源PBX项目非常陌生的人,比如Asterisk和FreeSWITCH,我正在努力解决一些信息过载的问题。已经阅读了Wiki上的基本FreeSWITCH文档,但仍然有一些问题。由于我对术语不是很熟悉,我将尝试使用近似值 尝试创建一个小型/简约的FreeSWITCH,需要在一台相当旧的笔记本电脑上运行(Celeron 1GHz,512MB RAM,20GB硬盘,已经运行Debian“Wheezy”),并将其设置为6端口GSM-SIP/Jabber网关。所以,所谓“小”和“简约”,我指的是

作为一个对开源PBX项目非常陌生的人,比如
Asterisk
FreeSWITCH
,我正在努力解决一些信息过载的问题。已经阅读了Wiki上的基本FreeSWITCH文档,但仍然有一些问题。由于我对术语不是很熟悉,我将尝试使用近似值

尝试创建一个小型/简约的FreeSWITCH,需要在一台相当旧的笔记本电脑上运行(Celeron 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开销非常低,所以我猜这是可能的

  • 有人能确认这是一个现实的目标吗
  • 最低限度的构建可以选择什么样的模块集
  • 对于初始构建期间未选择的模块,可以稍后添加这些模块吗?如果是这样,是否需要我完全重新构建FreeSWITCH,只构建模块,或者只构建所有内容,只需要更改配置即可确保模块已加载和配置
  • 是否有任何粗略估计,在这种配置中可能支持的最大呼叫速率是多少?SIP-SIP呼叫?考虑到动力不足的处理器和很少的RAM(按照现代标准),我猜这两个都将是瓶颈,但添加RAM仍然是可能的(即使代价高昂且困难)
  • 我已经读到可以使用Lua/Python/Java等创建“hook”。。然而,如果有人分享一些例子,说明使用这些挂钩可以实现什么,这将使概念更加清晰。你能希望用这些钩子编写一个像“未接来电日志”或“无应答重定向”这样的应用程序吗

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

    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
    
    freeswitch@vx03:~$uname-a
    Linux vx03 2.6.32-5-xen-amd64#1 SMP周四11月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命令
    11873 ?        s
    有人能确认这是一个现实的目标吗

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

    最低限度的构建可以选择什么样的模块集

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

    对于初始构建期间未选择的模块,可以稍后添加这些模块吗

    就我所记得的,维基描述了这个过程。您可以编辑modules.conf并生成特定的模块

    是否有任何粗略估计,在这种配置中可能支持的最大呼叫速率是多少?SIP-SIP呼叫?考虑到动力不足的处理器和很少的RAM(按照现代标准),我猜这两个都将是瓶颈,但添加RAM仍然是可能的(即使代价高昂且困难)

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

    我已经读到可以使用Lua/Python/Java等创建“hook”。。然而,如果有人分享一些例子,说明使用这些挂钩可以实现什么,这将使概念更加清晰。你能希望用这些钩子编写一个像“未接来电日志”或“无应答重定向”这样的应用程序吗

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

    最简单的操作模式是从dialplan中启动Lua/JS/Perl/Python脚本:然后它接收一个“session”对象,您可以对调用执行任何操作:播放声音、桥接、转发、进行新调用并将它们桥接在一起,等等。有一个小的实际例子

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

    此外,也可以按相反的方向进行:运行服务器,FS通过其套接字库连接到服务器

    此外,您还可以使用一个HTTP服务,该服务向FreeSWITCH提供XML配置片段,并在每次调用时请求这些片段(这将是CPU最密集的应用程序)。通过这种方式,您可以从一些内部数据库向FS提供数据,并构建容错系统

    我希望这有帮助:)
    如果需要,您也可以在skype中找到我。

    此外,这本书是必读的。它将使您快速了解系统并回答您的问题:谢谢@Stanislav。这非常令人鼓舞。在Debian软件包的预构建列表中,我没有发现mod_gsmopen,这就是为什么我试图自己构建它。你能确认一下吗?还有,Debian s