如何在 Ubuntu 20.04|18.04 上安装 FreeSwitch PBX |
PBX 是 Private Branch Exchange 的缩写。它是在组织内部使用的专用电话系统,并根据特定组织的需求进行定制。组织中的 PBX 用户可以在内部进行内部通信,也可以与外界进行外部通信。 VoIP(IP 语音)、ISDN(综合业务数字网络)或模拟等渠道促进了外部通信。
使用 PBX 电话系统的优点是,您可以获得比物理线路更多的电话、用户之间的免费通话以及呼叫队列、数字接线员、呼叫转移、语音邮件和呼叫录音等大量功能。 PBX 电话系统的一些示例包括 FreeSwitch、3cx、Elastix、FreePBX 和 Asterisk。
在本指南中,我们将了解如何在 Ubuntu 20.04/18.04 上安装 FreeSwitch PBX
什么是 FreeSwitch PBX?
FreeSwitch 是一个免费的开源通信平台。它支持实时通信、视频以及 IP 语音和 WebRTC。它可以在 Windows、MacOS、Linux 和 FreeBSD 上运行。它用于构建具有聊天和屏幕共享的网络会议、IVR、会话边界控制器、批发最低成本路由等功能的 PBX 系统。
FreeSwitch PBX 系统有哪些功能?
- 可在 Windows、Linux 和 FreeBSD 上运行
- 语音应答接口
- WebRTC 支持
- 通话录音(立体声呼叫者/被呼叫者左/右)
- 高性能多线程核心引擎
- 平行狩猎
- 连环狩猎
- 自动服务员
- 基本 IP/PBX 功能
- 自定义回铃音(早期媒体)
在 Ubuntu 20.04/18.04 上安装 FreeSwitch PBX
首先更新你的系统包
sudo apt -y update
接下来,安装在 Ubuntu 20.04/18.04 上运行 FreeSwitch PBX 所需的依赖项
sudo apt install -y git subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev libtool libtool-bin libsqlite3-dev libpcre3-dev libspeexdsp-dev libldns-dev libedit-dev yasm liblua5.2-dev libopus-dev cmake
以下软件包是可选的,但我们可以安装它们。
sudo apt install -y libcurl4-openssl-dev libexpat1-dev libgnutls28-dev libtiff5-dev libx11-dev unixodbc-dev libssl-dev python-dev zlib1g-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev uuid-dev libsndfile1-dev
安装libks和信号线
sudo apt install -y cmake
cd /usr/src
sudo git clone https://github.com/signalwire/libks.git
cd libks
sudo cmake .
sudo make
sudo make install
cd /usr/src
git clone https://github.com/signalwire/signalwire-c.git
cd signalwire-c
sudo cmake .
sudo make
sudo make install
接下来,使用 wget 从发布页面获取最新的 FreeSwitch 版本:
cd /usr/src
sudo wget https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.3.-release.zip
sudo apt -y install unzip
sudo unzip freeswitch-1.10.3.-release.zip
cd freeswitch-1.10.3.-release/
注意,如果您尚未安装 unzip,请通过运行 apt -y install unzip 来安装它
sudo apt -y install unzip
现在运行标准安装过程
sudo ./configure -C
sudo make
如果在编译过程中遇到错误,您可以注释掉任何引发错误的模块或安装缺少的依赖项。就我而言,我最初注释掉了 languages/mod_lua 和 applications/mod_signalwire ,但您可以根据收到的错误注释更多内容。之后重新启动编译,如下所示:
sudo ./configure && sudo make clean && sudo make
如果编译成功,您将看到如下输出:
接下来,安装freeswitch:
sudo make install
输出
现在编译声音
sudo make all cd-sounds-install cd-moh-install
创建simlinks以轻松使用服务。
sudo ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/
sudo ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin
添加具有较低权限的新组和用户来运行 FreeSWITCH 服务。
cd /usr/local
sudo groupadd freeswitch
sudo adduser --disabled-password --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH Voice Platform" --ingroup freeswitch freeswitch
sudo chown -R freeswitch:freeswitch /usr/local/freeswitch/
sudo chmod -R ug=rwX,o= /usr/local/freeswitch/
sudo chmod -R u=rwx,g=rx /usr/local/freeswitch/bin/
我们需要将 FreeSwitch 添加为 systemd 单元文件。使用您喜欢的编辑器打开新文件 /etc/systemd/system/freeswitch.service 并粘贴以下内容:
sudo vim /etc/systemd/system/freeswitch.service
粘贴以下内容
[Unit]
Description=freeswitch
Wants=network-online.target
Requires=syslog.socket network.target local-fs.target
After=syslog.socket network.target network-online.target local-fs.target
[Service]
Type=forking
Environment="DAEMON_OPTS=-nonat"
EnvironmentFile=-/etc/default/freeswitch
ExecStartPre=/bin/chown -R freeswitch:freeswitch /usr/local/freeswitch
ExecStart=/usr/bin/freeswitch -u freeswitch -g freeswitch -ncwait $DAEMON_OPTS
TimeoutSec=45s
Restart=always
RestartSec=90
StartLimitInterval=0
StartLimitBurst=6
User=root
Group=daemon
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=60000
LimitSTACK=250000
LimitRTPRIO=infinity
LimitRTTIME=infinity
IOSchedulingClass=realtime
IOSchedulingPriority=2
CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
UMask=0007
NoNewPrivileges=false
[Install]
WantedBy=multi-user.target
启动 FreeSwitch 服务并在启动时启用它
sudo chmod ugo+x freeswitch.service
sudo systemctl start freeswitch.service
sudo systemctl enable freeswitch.service
现在检查 FreeSWITCH 服务的状态
sudo systemctl status freeswitch.service
如果 freeswitch 已正确安装并运行,输出应如下所示
现在您可以使用客户端连接到 FreeSWITCH,如下所示
# fs_cli -r
您将看到如下输出:
这是有关如何在 Ubuntu 20.04/18.04 上安装 FreeSwitch PBX 的指南。查看下面的更多指南!
- 如何在 Debian 上安装和配置 3CX PBX
- 如何在 CentOS 8 上安装 FreePBX
- 如何在 CentOS 7 上安装 FreePBX
- 如何在 Debian 上安装 FreePBX