先说基础:什么是自由软件?
自由软件是指任何人都可以查看、使用、修改和分享其源代码(即构成程序的指令)的软件。Free Software Foundation 将其概括为四项自由:按任何目的使用程序、研究其工作原理并加以改编、赠送或出售副本,以及发布您自己改进后的版本。请注意:“自由”指的是自由,而不是价格。它可以免费,也可以收费,但没有人能束缚您。
开源(open source)一词几乎是同义词,只是侧重点不同。Open Source Initiative 用十项标准对其进行定义,其中包括:可以自由再分发、源代码公开、允许衍生作品,且不歧视任何个人或行业。实际上,Asterisk、FreeSWITCH和Kamailio同时符合这两种定义。
Asterisk:装进一台服务器的电话交换机
想想大楼前台的总机:接听来电、问候、询问您要找谁,然后转接到正确的分机。这就是PBX(Private Branch Exchange,专用小交换机)。Asterisk 能把一台普通电脑变成这样的交换机,具备分机、语音信箱、排队等候、通话录音以及语音菜单(即IVR,交互式语音应答,也就是大家熟悉的“销售请按1”)等功能。
它的故事始于1999年。当时,美国奥本大学(Auburn University)计算机工程专业的学生 Mark Spencer 创办了一家Linux技术支持公司,并在短短几个月内写出了 Asterisk 的核心。他以GPL许可证发布了它,与Linux使用的许可证相同(目前为GPL第2版)。他的公司于2001年更名为 Digium,2018年9月,加拿大公司 Sangoma 完成了对其的收购;此后,Sangoma 一直赞助并主导该项目的开发。
Asterisk 每两年发布一个长期支持版本(LTS,Long Term Support)。根据官方文档,截至2026年10月,享有完整支持的分支为20和22(均为LTS)以及23;24 LTS 已列入官方日程,但截至本文完稿时,仍显示为预发布版本。
FreeSWITCH:面向大规模话务的引擎
如果说 Asterisk 是一家企业的交换机,那么 FreeSWITCH 更像是一个大型平台的机房。它是一个交换与媒体引擎:连接通话、在会议中混音、桥接视频,并实时进行转码(在不同格式之间转换音频)。凭借其设计,它被广泛用于需要处理大量并发通话或在其之上构建自有服务的场景。
它由 Anthony Minessale 与一个小团队共同创建。该项目于2006年1月公布,首个正式版本于2008年5月发布。它采用 Mozilla 公共许可证(MPL)分发,允许在生产环境中免费使用和修改。2017年,同一团队创立了 SignalWire,即目前维护该项目的公司;社区版目前处于1.11分支,发布在 SignalWire 的官方 GitHub 仓库中。一个公开记录的应用案例:在线课堂平台 BigBlueButton 表示其构建基础之一就是 FreeSWITCH。
Kamailio:通话的交通指挥员
要理解 Kamailio,可以想象一位空中交通管制员。他不运送乘客,而是决定哪架飞机降落在哪条跑道、按什么顺序降落。Kamailio 是一台SIP服务器(SIP 即 Session Initiation Protocol,会话初始协议,是IP电话设备用来发起和结束通话的“语言”)。它以代理方式工作:接收每一个呼叫请求,核实发起方身份,并将其送往正确的目的地,而不承载音频本身。
其官网称它每秒可以处理数千次呼叫建立,因此被运营商和大型平台用作入口。它起源于学术界:2001年9月,SER(SIP Express Router)项目在柏林的 Fraunhofer FOKUS 研究所诞生,并于2002年作为自由软件发布。2005年,Daniel-Constantin Mierla、Bogdan-Andrei Iancu 和 Elena-Ramona Modroiu 创建了一个名为 OpenSER 的分支,2008年7月因商标原因更名为 Kamailio。它采用GPL第2版或更高版本许可证,最新稳定版本为6.1.5,发布于2026年10月15日。
它们如何在真实平台中协同工作
这三个项目并不像看上去那样相互竞争:它们经常被组合使用。一种典型架构是将 Kamailio 放在最前端,负责接收和分配话务,后面由 Asterisk 或 FreeSWITCH 执行通话逻辑。
举个例子:某连锁诊所的一位客户拨打预约热线。Kamailio 接收来电,确认其来自授权运营商,并将其转发到负载最低的服务器。在那里,Asterisk 播放语音菜单,在CRM(客户关系管理系统)中查询该号码是否已是患者,然后将其转入预约队列或交给一个人工智能语音坐席。整个过程只需一两秒,患者完全察觉不到有多少组件参与其中。
这种模式已有公开记录的案例:IvozProvider 是由西班牙公司 Irontec 开发、以GPL 3发布的多租户电话平台,它使用 Kamailio 作为代理、Asterisk 作为应用服务器。19 80 TIC Cloud 的工程团队也基于同样的技术运营着自己的IP电话平台。
自由软件能为您的企业带来什么
- 无需按用户付许可费:每增加一个分机或坐席都不用额外付费,因此业务增长不会让软件成本飙升。
- 灵活性:系统适应您的流程,而不是反过来。时段、路由、菜单和规则都可以按需配置。
- 集成能力:通过开放接口与您的CRM、ERP(企业资源计划系统)、WhatsApp 或人工智能引擎对接。
- 活跃的社区:成千上万的开发者审查代码、报告缺陷并发布安全修复。
- 独立自主:您不必依赖某个厂商是否继续维护产品,也不会被迫更换设备。
它的要求:不是装好就能高枕无忧
软件是自由的,并不意味着运营它是免费的。一个正规的语音平台需要:
- 专业团队:SIP、音频、网络和Linux系统都是专业领域,一个配置错误就可能导致通话无声或掉线。
- 持续的安全防护:暴露在互联网上的电话服务器无时无刻不在遭受入侵和电话欺诈(未经授权的国际呼叫)企图。防火墙、加密和监控都必不可少。
- 维护:每个项目都会发布更新和安全补丁,旧版本会在固定日期停止支持。必须有人规划并测试这些迁移。
- 基础设施:冗余服务器、备份、与运营商的连接,以及通话质量监控。
自己搭建,还是交给已在云端运营的服务商?
您可以在办公室的服务器上用 Asterisk 搭建自己的交换机,作为小规模试验是可行的。但当电话成为业务的一部分(销售、客户服务、催收)时,算法就变了:您需要招聘并留住工程师,全天候监控安全,并对系统可用性负责。
在云端运营这项技术的服务商已经解决了这些工作:平台、与运营商的连接、更新和监控。您依然能享受自由软件的好处——无需按用户付许可费、开放集成——并按实际使用的服务付费。如果您想了解实际效果,请查看我们的云PBX、呼叫中心平台或AI语音坐席方案。



