什么是FreeSWITCH?
FreeSWITCH 是一个软件定义的电信堆栈,可实现从专有电信交换机到在任何商品硬件上运行的多功能软件实施的数字化转型。从 Raspberry PI 到多核服务器,FreeSWITCH 可以释放任何设备的电信潜力。
FreeSWITCH 可以处理来自 IP 网络 ( VoIP ) 和PSTN(即常规固定电话)的语音、视频和文本通信。FreeSWITCH 支持所有流行的 VoIP协议以及与PRI 的接口。
FreeSWITCH 用于的一些常见功能包括:
- PBX(办公电话系统)
- 软交换(电话运营商)
- 语音信箱、会议、IVR等应用服务器
- 软电话
这个列表绝不是全面的,FreeSWITCH 非常灵活,可以以任何你能想象的方式使用。
虽然 FreeSWITCH 可以在许多 Linux 发行版上运行,例如 Debian、Ubuntu、CentOS、Fedora 和 RHEL,但首选的发行版是 Debian,因为FS在开发时已经解决了对 Debian 的所有依赖关系,因此您可以顺利安装和启动。Debian 也是 FreeSWITCH 开发人员使用的,因此拥有最多的经验。如果您在其他发行版上运行,您可能很难正确地获得所有依赖项。
模块类型
类型 | 描述 |
---|---|
Endpoint | 端点模块支持各种类型的通信设备,如VoIP,PSTN(即常规固定电话),Skype,Google Talk等。端点模块是 FreeSWITCH 中最重要的模块之一。 |
Application | 这是所有行动发生的地方!默认设置中包含数百个应用程序模块,例如播放文件,加入会议,向语音邮件发送呼叫,播放IVR菜单。许多常见的应用程序都是由 dptools 模块提供的。 |
Dialplan | 拨号计划模块负责根据来电显示、目标号码等信息路由呼叫。默认的拨号计划模块是 XML 拨号计划。我们将在 Dialplan 部分中对此进行详细介绍。 |
Directory | 为可以向 FreeSWITCH 注册的用户提供身份验证和配置。最常见的目录模块是 XML 目录。 |
Codecs | 编解码器用于编码和压缩音频以进行流式传输。 |
File Formats | 大多数常见的音频格式都受 支持。请参阅此处支持的格式列表。mod_dptools:playback 3.支持的文件类型部分:“FreeSWITCH 有一个用于文件格式的抽象层。(另请参阅那里的 TODO。mod_dptools:playback |
Loggers | 一些包含的记录器是控制台和日志文件。xml_cdr是另一个常用的记录器,用于输出呼叫详细信息记录。 |
Languages | 支持脚本语言,这些语言可以作为拨号计划的一部分运行。最受欢迎的语言是Lua。Javascript和其他一些也受支持。 |
导航文档
此表提供了一个路线图,您可以使用该路线图以结构化的方式浏览文档。
此系列文章所有的内容原文均可以在:https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+Explained 查看
页面 | 描述 |
---|---|
Installation | 如何下载和安装 FreeSWITCH |
Configuration | FreeSWITCH 配置文件的结构概述。 |
Running FreeSWITCH | 如何在控制台中或作为守护程序运行 FreeSWITCH |
Call Legs | 更好地了解端点和拨号计划所需的重要概念 |
Endpoints | 解释端点概念,以及常见端点的详细概述 |
Introduction to Dialplan | Dialplan是FreeSWITCH最复杂的部分之一,此页面对其进行了提炼 |
Directory | 如何设置用户和设备 |
Logging & CDR | 设置日志记录和呼叫记录 |
Databases | 如何配置 FreeSWITCH 以将通道状态存储在数据库中 |
Default Configuration | 默认配置演练 |
Session Scripts | 如何通过编写在拨号计划、mod_lua、mod_python、mod_perl、mod_v8(适用于 Google V8 JavaScript)中运行的脚本来创建自定义功能mod_java |
Event Socket | 允许外部程序通过网络连接与 FreeSWITCH 进行交互。CLI 使用事件套接字允许您运行命令并查看 FreeSWITCH 的输出。 |