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 功能
- 自定义回铃音(早期媒体)
开始部署
freeswitch1.10.7/freeswitch1.10.8安装情况应该与freeswitch1.10.9相同
部署前准备
$ sudo apt-get install libavformat-dev
$ sudo apt-get install libswscale-dev
$ sudo apt-get install libpq-dev
在 Ubuntu 20.04/18.04 上安装 FreeSwitch PBX
首先更新你的系统包
$ sudo apt -y update
$ sudo apt -y upgrade
接下来,安装在 Ubuntu 20.04/18.04 上运行 FreeSwitch PBX 所需的依赖项
$ sudo apt install -y git subversion build-essential autoconf automake libtool g++ pkg-config
libtiff-dev libncurses5 libncurses5-dev make libjpeg-dev libtool libtool-bin
libsqlite3-dev libpcre3-dev libspeexdsp-dev libldns-dev libedit-dev
yasm uuid uuid-dev liblua5.2-dev libopus-dev cmake
以下软件包是可选的,但我们可以安装它们。
$ sudo apt install -y libcurl4-nss-dev 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
下载源代码
freeswitch1.10.4及之后的版本freeswitch官方将spandsp 和 sofia-sip单拎出来了,需要单独拉代码编译,如果是编译1.10.4之前的freeswitch(如freeswitch1.10.2版本)不必单独拉spandsp和sofia-sip的代码,直接编译freeswitch即可
重大改动历史:
`https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Release-Notes/FreeSWITCH
-1.10.x-Release-notes_25460878/`
//可直接在上述链接中下载freeswitch的tar包
1.8 -> 1.10.0: pgqsql moved out from FreeSWITCH core to its own module, mod_pgsql .
See 1.10.0 (Release date: 05 August 2019) at the bottom.
1.10.3 -> 1.10.4: SpanDSP and sofia-sip have been removed.
See 1.10.4 (Release date: 05 Aug 2020) below.
1.10.6 -> 1.10.7: Default behaviour change: to not skip announcement type apps on recovery,
not hangup call on SRTP errors, 1000 maximum receiving requests per second, auth-messages
and auth-subscriptions are enabled by default now, freeswitch.log log line prefix modified:
will affect fail2ban log line matching until similarly modified in fail2ban
(https://github.com/fail2ban/fail2ban/issues/3143).
See 1.10.7 (Release date: 24 Oct 2021) below.
安装spandsp、sofia-sip、libks和signalwire
// 安装spandsp
$ git clone https://github.com/freeswitch/spandsp.git
$ cd spandsp
$ ./bootstrap.sh -j
$ ./configure
$ make
$ sudo make install
$ ldconfig
// 安装sofia-sip
no usable sofia-sip; please install sofia-sip-ua devel package or equivalent
$ git clone https://github.com/freeswitch/sofia-sip.git
$ cd sofia-sip
$ ./bootstrap.sh -j
$ ./configure
$ make
$ make install0
$ ldconfig
$ 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
编译freeswitch前将不必要的模块编译禁用掉,如果不禁用则需要安装对应的依赖,否则会报错
$ cd /usr/local/src/freeswitch
$ vim module.conf
//将mod_signalwire和mod_av内容注释掉
$ applications/mod_signalwire
$ applications/mod_av
//mod_verto不禁用可能会编译报错You need to either install libks or disable mod_verto in modules.conf
$ endpoints/mod_verto
开始安装freeswitch
接下来,使用 wget从 freeswitch发布页面 获取最新的 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
现在运行标准安装过程
//编译freeswitch
$ cd /usr/local/src/freeswitch
$ ./bootstrap.sh //如果是GitHub拉的代码有这一步,如果是下载tar包解压的没有这一步
$ ./configure --enable-portable-binary --prefix=/usr/local/freeswitch
--with-gnu-ld --with-python --with-openssl
--enable-core-odbc-support --enable-zrtp
$ make
如果在编译过程中遇到错误,您可以注释掉任何引发错误的模块或安装缺少的依赖项。就我而言,我最初注释掉了 languages/mod_lua 和 applications/mod_signalwire ,但您可以根据收到的错误注释更多内容。之后重新启动编译,如下所示:
$ sudo ./configure && sudo make clean && sudo make
如果编译成功, 接下来,安装 freeswitch:
$ sudo make install
现在编译声音文章来源:https://www.toymoban.com/news/detail-704932.html
$ sudo make all cd-sounds-install cd-moh-install
安装完成
创建 simlink 以轻松使用服务。文章来源地址https://www.toymoban.com/news/detail-704932.html
$ sudo ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/
$ sudo ln
到了这里,关于如何在Ubuntu 20.04|18.04上安装 FreeSwitch的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!