1. 项目概述
FreeSWITCH作为一款开源的软交换平台,在VoIP领域有着广泛的应用。它支持SIP、WebRTC等多种协议,能够实现语音通话、视频会议、即时通讯等功能。本教程将详细介绍在CentOS和Debian两大主流Linux发行版上搭建FreeSWITCH(BDS版本)的完整流程。
对于需要构建企业级通信系统或开发语音应用的工程师来说,掌握FreeSWITCH的部署是必备技能。不同于简单的apt-get安装,我们将从源码编译开始,确保您获得最新稳定版本,并能够根据实际需求进行定制化配置。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备
2.1 系统选择考量
CentOS和Debian是两种不同的Linux发行版,各有特点:
- CentOS(以CentOS 7为例)以其稳定性著称,适合企业生产环境
- Debian(以Debian 10为例)软件包更新及时,社区支持活跃
无论选择哪个系统,建议使用最小化安装(Minimal Install)以减少不必要的依赖冲突。物理机或云服务器均可,但需要确保:
- 至少2GB内存(编译过程较耗资源)
- 20GB以上磁盘空间
- 稳定的网络连接(需要下载大量依赖包)
2.2 基础环境配置
在开始安装前,需要先更新系统并安装基础工具链:
bash复制# CentOS
sudo yum update -y
sudo yum install -y epel-release
sudo yum groupinstall -y "Development Tools"
sudo yum install -y git wget vim
# Debian
sudo apt update -y
sudo apt upgrade -y
sudo apt install -y build-essential
sudo apt install -y git wget vim
注意:如果是在全新系统中操作,建议先配置好SSH密钥和防火墙规则,避免安装过程中断。
3. 依赖安装
3.1 必须的运行时依赖
FreeSWITCH需要以下关键依赖:
- GCC 4.8+ 或 Clang 3.3+
- GNU Make
- libtool
- autoconf
- automake
- pkg-config
安装命令如下:
bash复制# CentOS
sudo yum install -y libtool autoconf automake pkgconfig
# Debian
sudo apt install -y libtool autoconf automake pkg-config
3.2 音频/视频处理库
为了支持各种编解码器,需要安装多媒体处理库:
bash复制# CentOS
sudo yum install -y libogg-devel libvorbis-devel libcurl-devel \
libtiff-devel libjpeg-devel libpng-devel libuuid-devel \
speex-devel sqlite-devel lua-devel opus-devel
# Debian
sudo apt install -y libogg-dev libvorbis-dev libcurl4-openssl-dev \
libtiff5-dev libjpeg-dev libpng-dev uuid-dev \
libspeex-dev libsqlite3-dev liblua5.2-dev libopus-dev
3.3 数据库支持
FreeSWITCH支持多种数据库后端,建议至少安装
