FreeSWITCH与Asterisk比较功能差异

更新时间:2023-10-11
当谈到开源PBX电话系统时,有两个相互竞争的底层交换机往往会抢走风头,它们是FreeSWITCH和Asterisk。在这篇FreeSWITCH与Asterisk的文章中,我们将概述每个交换机,并查看一些核心功能以及它们之间的区别。我们还将回顾一些基于每个交换机构建的主流的PBX系统。
我公司提供IP PBX各类通信方案应用,及各类SIP终端,同行均以厂价销售。欢迎咨询喔!
FreeSWITCH与Asterisk
发展简史

Asterisk

Asterisk的诞生是因为1999年一位名叫MarkSpencer的计算机工程师的努力。他的小团队以LinuxSupportSystems的标签开发了Asterisk软件交换机,后来更名为Digium。从那时起,Asterisk交换机已经适应了各种各样的PBX系统,如FreePBX,Elastix和PBXinaFlash。这里值得指出的是,Asterisk本身就是一个开源的PBX,可以用作独立的电话系统。

FreeSWITCH

FreeSWITCH始于一位名叫AnthonyMinessale的知名Asterisk开发人员决定修复Asterisk平台的一些感知问题。这导致了最终被称为FreeSWITCH的基础构建。该项目于2006年宣布,最终于2007年启动。FreeSWITCH是一个真正的开源软件交换机,使用FreeSWITCH作为其交换核心的两个最大的平台是sipXcom(最初作为sipXecs)和FusionPBX。

底层交换机设计

从本质上讲,Asterisk在设计上是令人难以置信的模块化,这在查看产品的最终安装时有些明显。这也表明了该系统的基本组成。Asterisk在运行时利用共享资源,包括软件线程,这可能会导致在高调用负载下出现问题。

尽管有一些复杂的代码,这些代码是用多种编程语言编写的,但Asterisk非常有效,正如在网络上漂浮的许多改编作品所看到的那样。FreeSWITCH有不同的方法,系统是用C语言编写的,并采用更结构化的方法作为核心程序基础。进程线程在内存中一致地执行,这与Asterisk设计不同,因为每个通道都维护自己的线程和内存空间。这也可能是FreeSWITCH通常具有比Asterisk更大的RAM要求的原因之一。

FreeSWITCH有一个非常明确的API,作为几个层存在,每个层都维护一个独特的角色。另一方面,由于模块化设计,Asterisk稍微有点分散(尽管FreeSWITCH实际上也使用模块化模型),并且没有为其线程提供读/写锁定功能。这种设计保护了FreeSWITCHAPI,这与Asterisk不同,Asterisk更开放的设计允许额外的实验,但错误和错误的机会可能更高。

Asterisk依靠常规文本文件进行配置,而FreeSWITCH基于XML文件。尽管XML在编辑时有点痛苦,但其好处体现在自动化方面,这在将多个任务组合在一起时非常有价值。

硬件和软件要求

硬件要求很难精确量化,因为每个系统(即利用底层交换机的每个PBX)都有不同的目标,因此要求可能会有很大差异。但是,我们必须从某个地方开始,下面的表1是给定PBX的合理最小起点,最多有15个电话分机和5个并发呼叫。

低于所述规格的规格可能适用于非常轻的系统,但这样的系统将提供非常有限的功能。最小安装的建议应仅适用于测试机器,因为生产系统应始终在峰值负载条件(理想情况下为50%)之上具有额外的裕量。随着电话分机和功能数量的增加,在处理能力和内存方面的整体系统性能也应该增加,更不用说带宽了。
SwitchRequirement Asterisk FreeSWITCH
处理器 单核,至少700MHz 单核,至少1GHz
公羊 512兆字节 1国标
存储 10兆字节 10兆字节
操作系统 基于Linux,32位或64位 基于Linux的64位
大多数AsteriskPBX都非常轻巧,很容易在非常基本的机器上运行。在我们的一些测试中,我们使用2000年代初的笔记本电脑来制作PBX指南,并且没有产生任何重大问题。但是,这仅用于测试目的,而不用于生产环境。

大多数FreeSWITCH系统会推荐一个更现代的系统来按预期运行。较轻的系统可以很好地进行测试,但通常基于FreeSWITCH的系统设计用于处理更大的负载,因此具有更高的性能需求和RAM要求。事实上,大多数FreeSWITCHPBX都会推荐一个现代四核处理器,每个核心运行2GHz,至少8GB的RAM和大约80GB的存储空间,因此系统运行毫不费力,并且有扩展空间。请记住,对于任一平台,IVR菜单的录音通话、语音邮件和系统录音每分钟的录制都需要至少1MB的存储空间,具体取决于采样率和压缩。根据每个系统所需的记录量,需要调整存储。

同样值得指出的是,鉴于相同的底层硬件和软件规范,FreeSWITCH可以处理比Asterisk多得多的并发调用。事实上,有些人认为并发呼叫增加了四倍,但很难对此给予太多的信任,因为似乎没有官方的测试程序,而且大部分测试都是在5年前进行的。在这段时间里,已经编写了很多软件。可以在此处找到一些用于FreeSWITCH并发调用的真实示例以及硬件和软件规范。

基本功能

在基本级别,每个交换机都提供大多数相同的功能。对于任一系统,创建扩展和网关都大致相同。每个系统都可以根据RAM和核心性能处理底层服务器可以支持的许多用户。

两者都旨在最大限度地利用SIP在网络上的设备以及其他端点(如移动网络,其他VoIP系统和公共交换电话网(PSTN))之间进行呼叫。Asterisk还提供了一个特定的接口,用于通过称为IAX的特定协议连接到其他Asterisk系统。FreeSWITCH利用了不同的集群机制,它不仅增强了实现的强大功能,还可以为某些配置提供冗余。


现代电话功能是所有Asterisk和FreeSWITCH系统所固有的。语音邮件,通话录音和IVR菜单往往可用于市场上任何基于FreeSWITCH或Asterisk的交换机。通常提供门户,以便管理员,超级管理员和用户可以使用安全的浏览器登录来管理其特定功能集。

高级功能

也许任何FreeSWITCH系统最显著的特性之一就是能够提供多租户(多客户)功能。虽然可以在功能强大的Asterisk系统上托管多个租户,但通常它是一个建立在Asterisk之上的昂贵专有系统(尽管Elasix最近发布了其软件的开源多租户版本)。FreeSWITCH本身提供了为不同域或子域上的多个租户提供服务的功能,这些租户将以隔离的方式运行,从而确保租户无法通过分机呼叫呼叫另一个租户。

这两个系统都可以与使用相同平台的其他安装进行通信。Asterisk可以有效地与其他系统进行通信,无论是使用相同的确切平台还是同一底层平台的不同变体(即Asterisk)。但是,FreeSWITCH具有强大的互连功能,允许群集中的单个系统填充多个角色。与在Windows服务器环境中非常相似,将每个角色安装到单个服务器可能是一种糟糕的做法,至少对于较大的PBX安装而言是这样。FreeSWITCH允许集群中的每个系统履行特定的职责,而Asterisk在核心级别上是一成不变的。

Asterisk和FreeSWITCH系统能够提供更高级的通信功能,如聊天(即时消息),视频通话和会议。大多数Asterisk系统不支持没有附加组件的IM功能(通常是OpenFire,尽管其他系统可用)。在某些情况下,此模块需要付费,但某些系统(如Elastix)在激活后免费包含OpenFire。FreeSWITCH只需要激活XMPP服务并正确配置允许使用此功能的设备。

电话会议是两个交换机的标准功能,很难确定一个明显的赢家。Asterisk的设计支持电话拨入式(meet-me)会议,FreeSWITCH也是如此。FreeSWITCH是可配置的,因此一个独特的系统可以将此任务作为唯一的功能来处理。当把这个负担放在一个“包罗万象的”FreeSWITCH系统上时,资源就会得到很好的管理,以便一台供电良好的机器。然而,当唯一的FreeSWITCH系统专用于会议时,这为更大的语音会议场景打开了大门,例如在企业级别,成百上千的人需要参加公司范围的电话会议。

网络上的部署差异很大。Asterisk有相当多的不同端点管理模块(例如IP电话和软电话),通常需要大约100美元左右的少量财务投资,这使您可以访问市场上各种流行电话的配置软件。FreeSWITCH系统在用于配置电话的平台中内置了几个配置文件,但是与Asterisk可用的配置文件相比,它有些缺乏,并且通常仅支持来自主流供应商(如Cisco和Polycom)的最流行的IP电话型号。但是,值得指出的是,在自动配置方面,FreeSWITCH正在迅速赶上。

通过网关将任一交换机连接到外部世界通常很简单。FreeSWITCH和Asterisk系统都有一些用于网关配置的示例模板。由于Asterisk是一个更成熟的系统,大多数SIP提供商都有明确的文档将其系统连接到Asterisk网关,而FreeSWITCH则不那么清楚。如果您遇到问题,值得快速致电您的SIP提供商,这可能会节省大量调试时间。

基于FreeSWITCH和Asterisk的主流软件PBX

在表2中,我们列出了当今市场上许多流行的开源软件PBX,并说明了它们的基础交换机,换句话说,无论是基于Asterisk还是FreeSWITCH。这些系统都可以免费下载和使用,尽管您受GPL许可证的约束,因此,如果您要对底层软件进行设计更改,请记住这一点。
PBX Asterisk FreeSWITCH
FreePBX YES NO
Elastix YES NO
PBXinaFlash(PIAF) YES NO
SipXcom NO YES
SipXecs NO YES
FusionPBX NO     ​✔YES
 
表2:流行的Asterisk和基于FreeSWITCH的PBX系统

Asterisk与FreeSWITCH的摘要

为了总结我们上面的分析,表3提供了每个开关突出位置的高级视图。
功能 Asterisk FreeSWITCH
在处理和内存功能方面占用服务器空间小。 是的 不
寿命和支持机制。访问论坛,文档,网关配置,快速错误修复等。 是的 不
用于自动配置的终端设备模板的大型数据库(即IP电话和软电话)。 是的 不
功能丰富的平台,具有高级功能,如通话记录,见面会,聊天。 是的 是的
隔离每个租户(客户)的多租户平台。 不 是的
在给定相同底层硬件的情况下,用于最大化并发呼叫的增强功能。 不 是的
群集功能,用于按安装拆分功能(例如,一个安装处理会议)。 不 是的
 
表3:Asterisk与FreeSWITCH的高级视图
最后的思考
从功能的角度来看,在比较Asterisk交换机和FreeSWITCH时,几乎没有什么区别。通过适当的设置,最终用户很可能看不到任何一个系统实现之间的太大差异,尽管根据我的经验,我更喜欢FreeSWITCH系统(例如FusionPBX)的图形用户界面(GUI)的外观和感觉。

在某种程度上,Asterisk更容易使用。由于它是FreeSWITCH在非常原始意义上的前身,因此该系统较旧(并且广受好评)的事实意味着更多的文档,特别是在论坛和用户群方面。由于FreeSWITCH是对类似想法的较新改编,因此由于技术指南较少,提供帮助的用户较少,因此故障排除往往有点困难。应该说的是,实际的FreeSWITCH文档是不错的,并且有很多示例XML代码。

这两个系统都相对容易安装和配置(特别是如果您遵循我们的指南)。Asterisk可以在原始硬件上运行,但对于可以处理大量并发呼叫的高端PBX,基于FreeSWITCH的系统往往会获胜。

如表2所示,不要忘记查看我们的指南,当您选择要测试的PBX时,它可以为您节省大量时间。

下一篇

开源SIP服务器你了解多少

通信系统集成

开源SIP服务器你了解多少

SIP服务器是促进基于互联网的电话的重要工具。它将您公司的IPPBX连接到互联网电话服务提供商(ITSP)。SIP开源服务器允许您以低成本创建自己的服务器,这与许多商业替代方案不同。 ...

相关内容

FreePBX对接鼎信/FreeSWITCH/sangoma/讯时网关操作教程

FreePBX对接鼎信/FreeSWITCH/sangoma/讯时网关操作教程

FreePBX是目前部署最多的企业开源电话系统(IPPBX)。用户可以免费下载,......

通信百科

2019-08-15

asterisk软电话交换机的强大功能

asterisk软电话交换机的强大功能

Asterisk是一个用于构建通信应用程序的开源框架。Asterisk将一台普通......

通信百科

2019-06-29

什么是Asterisk(Asterisk PBX的优点和缺点有哪些)

什么是Asterisk(Asterisk PBX的优点和缺点有哪些)

Asterisk PBX是一种使用Asterisk开源PBX软件的专用交换机(P......

通信系统集成

2018-08-27