Asterisk和FreeSWITCH是VoIP行业中使用最广泛的两个开发VoIP解决方案的平台。它们都足够强大,开发人员可以为团队合作和通信创建任何复杂的VoIP解决方案,而且它们都是开源技术。

什么是Asterisk?
1999年,马克·斯宾塞创造了Asterisk,一个软件像昂贵的PBX那样分配电话。他的小团队创建了Asterisk呼叫分配和处理软件Linux支持系统,最终更名为Digium。

什么是FreeSWITCH?
Asterisk平台存在缺陷,这导致了2006年FreeSWITCH的诞生。Anthony Minessale是著名的Asterisk开发者,他决定创建一个软件从头开始解决Asterisk平台的一些所谓问题。这后来被称为FreeSWITCH。

如果你想知道为什么从传统电话切换到VoIP电话,这里有一篇关于“PSTN v/s VoIP”的文章

每种技术是如何工作的?
每个Asterisk系统的核心是dialplan。它是一种脚本语言,模块用于通过配置目录向Asterisk系统提供指令。开发人员可以实现各种功能,包括在特定SIP通道上的呼叫接收、到IVR的呼叫连接和基于拨号计划的呼叫路由。Asterisk的配置文件存储为标准文本文件。

FreeSWITCH采取了不同的策略;系统是用C语言创建的,核心编程组织得更好。FreeSWITCH使用在内存中统一操作的处理线程,与Asterisk方法相反,Asterisk方法为每个通道提供自己的线程和内存空间。

基本功能
在最基本的层面上,这两种技术提供了大部分相同的功能。语音邮件、通话录音和IVR菜单应该在市场上的每一个FreeSWITCH开发或星号交换机上提供。对于任何设计,构建扩展和网关所涉及的步骤都是非常相似的。然而,根据服务器的内存和核心性能,可能支持不同数量的用户。对于与其他Asterisk系统的通信,Asterisk需要专有的IAX协议,但FreeSWITCH在这方面不受限制。

多租户
FreeSWITCH的特性之一是它能够支持多个租户。因此,许多用户分支可能将单个FreeSWITCH系统作为它们自己的域或子域下的唯一实体使用。为了让多租户在Asterisk系统上发挥作用,在Asterisk软件开发时必须在其之上构建昂贵的专有解决方案。

聚类
Asterisk主要用于在单个系统上运行。使用单个PBX服务器安装所有角色相当于将所有鸡蛋放在一个篮子里。因此,建议将执行给定功能的每个系统划分为用于大型或企业级PBX服务器的不同服务器,即分布式架构。虽然FreeSWITCH解决方案使得集群中的独立系统可以很容易地执行各自的任务,但用Asterisk实现这一点很困难。

我的能力
像Asterisk和FreeSWITCH这样的系统提供了先进的通信功能,包括会议、视频通话和聊天。不幸的是,大多数Asterisk系统需要一个添加-为即时通讯功能,企业必须支付额外的费用。使用FreeSWITCH,唯一的要求是启用XMPP服务,并正确地为IM设置终端设备。

设备部署能力
在FreeSWITCH和Asterisk网络中,设备部署差异很大。Asterisk支持IP电话和软电话的几个端点管理模块,但是,访问供应软件的费用约为100美元。与Asterisk相比,FreeSWITCH提供的选择要小得多。

结束
对于最终用户来说,运行Asterisk或FreeSWITCH的安装良好的系统之间没有明显的区别。事实上,FreeSWITCH提供了更广泛的模块化,是各种VoIP解决方案的更好选择。Vindaloo Softtech拥有超过六年的使用开源VoIP通信技术开发商业通信解决方案的经验,是一家成功的VoIP开发公司。

作者简介:

Sandip是Vindaloo Softtech的业务发展经理,该公司是一家VoIP软件开发和解决方案提供商,自2016年以来提供FreeSWITCH、Kamailio、OpenSIP、WebRTC和Asterisk Development。Sandip在VoIP软件开发行业拥有10年以上的工作经验。