freeswitch是什么

更新时间:2023-11-17
FreeSwitch是一个开源的电话软交换平台,是一个跨平台的/伸缩性极好的/免费的/多协议的电话软交换平台。同时FreeSWITCH是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。

科能融合提供基于FreeSWITCH为核 心的各类通信平台定制

FreeSWITCH交换机引擎

FreeSwitch的特性

FreeSwitch是跨平台的。他能原生地运行于Windows、Max OS X、Linux、BSD及Solaris等诸多32/64位平台。 FreeSwitch具有很强的可伸缩性。FreeSwitch从一个简单的软电话客户端到运营商用级软交换设备几乎无所不能。 

FreeSwitch是免费的。 FreeSwitch支持SIPH323、Skype、Google Talk等多种通信协议,并能很容易的与各种开源的PBX系统通信,他也可以与商用的交换系统(如华为、中兴的交换机或思科、Avaya的交换机等)互通。 

FreeSwitch可以用作一个简单的交换引擎、一个PBX、一个媒体网关或媒体支持IVR的服务器,或在运营商的IMS网络中担当CSCF或Application Server等。 FreeSwitch遵循相关RFC并支持很多高级的SIP特性,如Presence、BLF、SLA以及TCP、TLS和sRTP等,它也可以在用作一个SBC进行透明的SIP代理以支持其他媒体。 
FreeSwitch支持宽带及窄带语音编码,电话会议桥接可同时支持8、12、16、24、32及48kHz的语音。 
  • 路由和转换能力:FreeSWITCH可以通过配置的呼叫路由规则将呼叫路由到不同的终端,实现灵活的呼叫转接和转换功能。
  • 多种通信协议支持:FreeSWITCH支持多种通信协议,包括SIP(会话初始化协议)、XMPP(可扩展消息和出席协议)、WebRTC(网页即时通信)等,使其可以与其他系统和设备进行无缝集成。
  • 多媒体处理能力:FreeSWITCH支持音频、视频和即时消息传输,并具有丰富的媒体处理功能,如语音编解码、音频录制、音频会议、语音信箱等。
  • 可扩展性:FreeSWITCH的模块化设计和API使其易于扩展和定制,可以根据需求添加新功能或修改现有功能。
  • 高可用性:FreeSWITCH支持集群和故障转移,确保系统的高可用性和稳定性。
  • 开发者友好:FreeSWITCH提供了多种开发接口和脚本语言支持,使开发人员可以方便地扩展和定制系统。
 FreeSwitch支持宽带及窄带语音编码
         FreeSWITCH 支持多种通讯技术标准,包括 SIP, H.323, IAX2 以及 GoogleTalk ,可以方便的与其他开源的PBX系统进行对接,例如 sipX, OpenPBX, Bayonne, YATE 或者 Asterisk.  FreeSWITCH 支持许多高级的 SIP 特性,例如 presence/BLF/SLA 、TCP TLS 和 sRTP,它还可以用来作为类似于 SBC (Session Border Controller) 的透明代理。  
         FreeSWITCH的是一个跨平台的开源电话交换平台,具有很强的伸缩性。旨在为音频、视频、文字或任何其他形式的媒体,提供路由和互连通信协议。它创建于2006年,填补了许多商业解决方案的的空白。FreeSWITCH的也提供了一个稳定的电话平台,许多广泛使用的免费电话就是在使用它开发的。

FreeSwitch功能

  • 在线计费、预付费功能。 
  • 电话路由服务器。 
  • 语音转码服务器。 
  • 支持资源优先权和QoS的服务器。 
  • 多点会议服务器。 
  • IVR、语音通知服务器。 
  • VoiceMail服务器。 
  • PBX应用和软交换。 
  • 应用层网关。 
  • 防火墙/NAT穿越应用。 
  • 私有服务器。 
  • 第三方呼叫控制应用。 
  • 业务生成环境运行时引擎。 
  • 会话边界控制器。 
  • IMS中的S-CSCF/P-CSCF/I-CSCF。 
  • SIP网间互联网关。 
  • SBC及安全网关。 
  • 传真服务器、T.30到T.38网关。 
FreeSWITCH支持SIP特性

        FreeSWITCH 遵循RFC并支持很多高级的SIP特性,如 presence、BLF、SLA以及TCP、TLS和sRTP等。它也可以用作一个SBC进行透明的SIP代理(proxy)以支持其它媒体如T.38等。FreeSWITCH 支持宽带及窄带语音编码,电话会议桥可同时支持8、12、16、24、32及48kHZ的语音。而在传统的电话网络中,要做到三方通话或多方通话需要通过专门的芯片来处理,其它像预付费,彩铃等业务在PSTN网络中都需要依靠智能网(IN)才能实现,而且配置起来相当不灵活。

FreeSWITCH 是一个开源的电话交换平台,从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能。能原生地运行于Windows、Max OS X、Linux、BSD 及 solaris 等诸多32/64位平台。可以用作一个简单的交换引擎、一个PBX,一个媒体网关或媒体支持IVR的服务器等。它支持SIP、H323、Skype、Google Talk等协议,并能很容易地与各种开源的PBX系统如sipXecs、Call Weaver、Bayonne、YATE及Asterisk等通信。

视频语音编解码器

  • H.261
  • H.263
  • H.264
  • MP4
  • 支持多种编解码器
  • CELT(32千赫 AHD 48千赫)
  • G.722.1(宽带)
  • G.722.1C(宽带32千赫)
  • G.722协议(宽带)
  • G.711
  • G.726(16K,24K,32K,48K)AAL2和RFC 3551
  • G.723.1(直通)
  • G.729AB(需要许可证,除非使用直通)
  • AMR(直通)
  • iLBC的
  • Speex语音(窄带和宽带)
  • LPC - 10
  • DVI4(ADPCM),8 kHz和16 kHz

运行平台​

FreeSWITCH的核心是一个库,可以嵌入到任何设备上的应用程序中。但是,更常见的是,它被构建为作为后台进程运行(UNIX 或 Linux 系统中的守护程序,Windows 平台上的服务)。当您将 FreeSWITCH 作为守护程序运行时,您可以使用 CLI 与 FreeSWITCH 进行交互。

FreeSWITCH可以在许多平台上运行,包括Linux、Mac OS X、BSD、Solaris甚至Windows。

虽然FreeSWITCH可以在许多Linux发行版上运行,如Debian、Ubuntu、CentOS、Fedora和RHEL,但我们首选的发行版是Debian,因为我们已经解决了Debian上的所有依赖关系,因此您可以顺利安装和启动。Debian 也是 FreeSWITCH 开发人员使用的,因此最有经验。如果您在其他发行版上运行,您可能很难正确获取所有依赖项。
运行平台
硬件要求取决于您将如何使用 FreeSWITCH。FreeSWITCH可以在小到Raspberry Pi的硬件上运行,并且可以扩展到具有数十个CPU内核的强大数据中心服务器。FreeSWITCH能够处理数千个并发电话呼叫,具体取决于您拥有的硬件和正在使用的应用程序。
有关硬件要求的详细信息,请参阅发行说明和性能测试和配置。

架构

在设计FreeSWITCH时,目标是具有以下属性:
  • 可扩展性 - 允许轻松添加新功能。
  • 灵活性 - 用户应该能够选择启用哪些功能,同时还允许他们用不同的实现替换系统的某些部分
  • 可扩展性 - FreeSWITCH可以运行在小到嵌入式软电话的系统上,也可以运行在一簇成熟的载波交换机上。
  • 稳定性 - 一个功能的问题不应该使整个系统瘫痪。
为了实现这些目标,FreeSWITCH采用模块化系统构建:
  • 有一个小核心提供所有模块使用的基本系统,但是大多数功能并没有在核心本身中实现,
  • 而是在不相互依赖的独立模块中。
当您使用默认配置安装 FreeSWITCH 时,将启用大多数常见方案所需的模块。我们将在后面的配置部分看到如何启用/禁用模块。
这些模块按它们提供的功能类型进行分组。现在,我们将探讨模块的类型,以及每个模块提供的功能。

模块类型

类型 描述
端点 终端模块支持各种通信设备,如VoIP、PSTN(即常规固定电话)、Skype、Google Talk等。端点模块是FreeSWITCH中最重要的模块之一。
应用 这是所有行动发生的地方!默认设置中包含数百个应用程序模块,例如播放文件、加入会议、向语音信箱发送呼叫、播放 IVR 菜单。许多常见的应用程序都是由 dptools 模块提供的。
拨号计划 拨号计划模块负责根据来电显示、目标号码等信息路由呼叫。默认拨号计划模块是 XML 拨号计划。我们将在拨号计划部分详细介绍这一点。
目录 为可以向FreeSWITCH注册的用户提供身份验证和配置。最常见的目录模块是 XML 目录。
编 解码 器 编解码器用于对音频进行编码和压缩以进行流式处理。
文件格式 大多数常见的音频格式都支持mod_dptools:回放.请参阅此处支持的格式列表。TODO发件人3. 支持的文件类型部分mod_dptools:回放: “FreeSWITCH有一个文件格式的抽象层。
伐木 记录日志消息。一些包含的记录器是控制台和日志文件。xml_cdr是另一个常用的记录器,用于输出通话明细记录。
语言 支持可作为拨号计划的一部分运行的脚本语言。最流行的语言是 Lua。还支持 Javascript 和其他一些语言。
还有几种类型的模块,但这些是常见的模块。有关通用模块的列表,请参阅模块页面。如果需要某个现有模块未提供的某些功能,可以编写自己的模块。模块可以用许多流行的编程语言编写。

应用程序接口

许多模块还具有 API 命令,这些命令可以从命令行、脚本发出或通过事件套接字从远程计算机发送。API 命令可以执行的操作取决于每个单独的模块,但一些常见功能包括返回状态信息(例如会议中有多少侦听器)或控制当前正在运行的应用程序(例如暂停正在播放的文件) 不同模块提供了数百个 API。在命令行中,您可以键入 show api 以查看基于加载的模块的所有 API。
还有核心提供的 API 命令,这些命令在命令模块中。

总结

FreeSWITCH广泛应用于各种通信领域,包括IP电话、呼叫中心、语音信箱、会议系统等。它是一个强大而灵活的通信平台,为开发者和企业提供了丰富的功能和定制化选项。

下一篇

SBC是什么-企业为什么需要SB以及应用场景

通信百科

SBC是什么-企业为什么需要SB以及应用场景

sbc一种NAT穿透的方式。SBC可确保VoIP 安全,又可提供媒体代理服务器的套件。SBC架构于IMS网络之上,可作为IMS网络的SIP和RTSP的 Proxy Server,所有的SIP与RTSP讯息都会透过SBC来处理,SBC更具备N... ...

相关内容

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

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

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

通信百科

2019-08-15

FreeSWITCH与Asterisk比较功能差异

FreeSWITCH与Asterisk比较功能差异

当谈到开源PBX电话系统时,有两个相互竞争的底层交换机往往会抢走风头,它们是Fr......

通信系统集成

2018-08-27

FreeSWITCH呼叫中心功能有哪些

FreeSWITCH呼叫中心功能有哪些

FreeSWITCH是一种基于软件电信级软交换系统,我们的呼叫中心系统正是由Fr......

通信系统集成

2018-08-27