FreeSwitch(官方)推荐的的编译与运行环境是Debian,但是在国内CentOS是比较流行的,所以能在CentOS编译与运行也是非常有必要的。
FreeSwitch在CentOS7上编译是有官方教程的,但是在国内按照官方教程编译的话,坑比较多。这里就给大家填坑吧,手把手带大家一把编译通过,并运行起来。
你需要准备的环境:CentOS7
1.如果不是root权限,务必切换成root权限。
因为FreeSwitch的编译很多地方都需要root权限。
切换root权限命令行可以参考
- su
- #或者
- sudo -i
2.安装需要依赖库
swadair和pat_ZNSBNrDoMF8Wkh36iXqJRR4u是我向signalwire申请的资源库username与Token,大家随便用。如果不想用,可以自行向signalwire申请。
- echo "swadair" > /etc/yum/vars/signalwireusername
-
- echo "pat_ZNSBNrDoMF8Wkh36iXqJRR4u" > /etc/yum/vars/signalwiretoken
-
- yum install -y https://$(< /etc/yum/vars/signalwireusername):$(< /etc/yum/vars/signalwiretoken)@freeswitch.signalwire.com/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm epel-release
-
- yum-builddep -y freeswitch --skip-broken
-
- yum install -y yum-plugin-ovl centos-release-scl rpmdevtools yum-utils git
-
- yum install -y devtoolset-9-gcc*
-
- scl enable devtoolset-9 'bash'
3.编译安装sofia-sip
- cd /usr/local/src
- git clone https://github.com/freeswitch/sofia-sip sofia-sip
- cd /usr/local/src/sofia-sip
- ./bootstrap.sh
- ./configure
- make
- make install
如果clone不下来,就直接下载吧
https://github.com/freeswitch/sofia-sip/archive/refs/heads/master.zip
4.编译安装spandsp
- cd /usr/local/src
- git clone https://github.com/freeswitch/spandsp.git spandsp
- cd /usr/local/src/spandsp
- ./bootstrap.sh -j4
- ./configure
- make -j4
- make install -j4
- export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
- ldconfig
如果clone不下来,就直接下载吧
https://github.com/freeswitch/spandsp/archive/refs/heads/master.zip
5.下载最新版的FreeSwitch源码,我现在能下载到的版本是v1.10.7
- cd /usr/local/src
- git clone -b v1.10 https://github.com/signalwire/freeswitch.git freeswitch
如果clone比较慢的话,也可以考虑直接下载
https://codeload.github.com/signalwire/freeswitch/zip/refs/tags/v1.10.7
6.修改FreeSwitch的配置文件
- cd /usr/local/src/freeswitch
- vim modules.conf
- #找到applications/mod_av这一行并注销,如下:
- #applications/mod_av
在Freeswitch的使用过程中,如果不需要会议融屏的话,一般是用不到这个模块的,所以这里注销了这个模块。如果想要编译mod_av模块,就需要编译安装其所依赖的FFmpeg动态库。如何在CentOS7中编译安装FFmpeg,我会在后续的文章中介绍,本文就不介绍了。
7.编译并安装FreeSwitch
- ./bootstrap.sh -j
- ./configure --prefix=/usr/local/freeswitch \
- --exec_prefix=/usr/local/freeswitch \
- --localstatedir=/usr/local/freeswitch \
- --sysconfdir=/usr/local/freeswitch \
- --disable-fhs --enable-portable-binary \
- --with-gnu-ld --with-python --with-erlang --with-openssl \
- --enable-core-odbc-support --enable-zrtp
- make
- make -j install
- make -j cd-sounds-install
- make -j cd-moh-install
8.运行FreeSwitch
- cd /usr/local/freeswitch/bin
- ./freeswitch
效果图如下
至此,Freeswitch的编译、安装与运行就成功了。如何搭建视频电话系统,可以参考我的前一篇文章《手把手教大家在自己的Windows电脑上搭建一个视频电话系统(基于开源项目FreeSwitch+Linphone)》
对视频电话、视频会议、视频直播、视频监控感兴趣的朋友可以加群494348191(开源流媒体解决方案讨论群),有问题一起探讨。
如果想了解我,可以访问我的个人主页 嘤鸣求友-接外包-android-网站-流媒体-视频会议-视频电话-视频直播-防作弊考试系统,期待与你的相识。