安装步骤:
yum install yum-utils
yum install -y https://files.freeswitch.org/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm epel-release
yum-builddep -y freeswitch #参考Error: 找不到软件包 devtoolset-9
yum install -y yum-plugin-ovl centos-release-scl rpmdevtools yum-utils git
yum install -y devtoolset-4-gcc* #参考错误提示:没有可用软件包 devtoolset-4
scl enable devtoolset-4 'bash'
cd /usr/local/src
git clone -b v1.8 https://git.oschina.net/nwaycn/freeswitch.git
cd /usr/local/src/freeswitch
./bootstrap.sh -j
./configure --enable-portable-binary --prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-gnu-ld --with-python --with-erlang --with-openssl --enable-core-odbc-support --enable-zrtp
这里需要对modules.conf中的applications/mod_abstraction、applications/mod_av、say/mod_say_zh取消注释
make
make -j install
make -j cd-sounds-install
make -j cd-moh-install
在执行yum-builddep -y freeswitch提示错误
Error: 找不到软件包 devtoolset-9
解决办法:
yum -y --downloadonly --downloaddir=./gccupdate install centos-release-scl
cd gccupdate
rpm -ivh ./*
yum -y --downloadonly --downloaddir=./gcc9 install devtoolset-9 # 下载gcc 9
cd gcc9
rpm -Uvh ./*
# scl -l
devtoolset-9
scl enable devtoolset-9 bash
gcc --version
gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
重新执行yum-builddep -y freeswitch
在执行yum install -y devtoolset-4-gcc*提示错误
错误提示:没有可用软件包 devtoolset-4
解决办法:
wget -O /etc/yum.repos.d/devtoolset-4.repo https://copr.fedoraproject.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap/repo/epel-7/hhorak-devtoolset-4-rebuild-bootstrap-epel-7.repo
yum update -y
yum install -y devtoolset-4-gcc*
注:如果要编译mod_av,则需要以下步骤
wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/x/x264-libs-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm
wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/x/x264-devel-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm
rpm -hiv x264-libs-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm
rpm -hiv x264-devel-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm
cd /usr/local/src/freeswitch/libs
git clone https://gitee.com/nwaycn/libav.git
cd libav
./configure --enable-pic --enable-shared --enable-libx264 --enable-gpl --extra-libs="-ldl"
make
make install
cp /usr/local/lib/pkgconfig/libavcodec.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavdevice.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavfilter.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavformat.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavresample.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavutil.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libswscale.pc /usr/lib64/pkgconfig/、
ldconfig
如果pkgconfig配了后,还是会出现找不到动态库,故而强行做软链库
ln -s /usr/local/lib/libavformat.so.56 /usr/lib64
ln -s /usr/local/lib/libavdevice.so.55 /usr/lib64
ln -s /usr/local/lib/libavfilter.so.5 /usr/lib64
ln -s /usr/local/lib/libavcodec.so.56 /usr/lib64
ln -s /usr/local/lib/libavresample.so.2 /usr/lib64
ln -s /usr/local/lib/libavutil.so.54 /usr/lib64
ln -s /usr/local/lib/libswscale.so.3 /usr/lib64
然后
cd /usr/local/src/freeswitch
重新编译freeswitch
freeswitch 命令操作
===============启动命令================
#详细启动日志并进入控制台模式命令
freeswitch -c -nonat -rp
#退出详细模式启动命令
shutdown
#后台启动freeswitch服务(推荐使用)
freeswitch -nc -nonat
#进入控制台模式命令
fs_cli
#退出控制台命令
/exit
#关闭freeswitch命令
freeswitch -stop
===============查询服务命令=============
#查看freeswitch安装路径
whereis freeswitch
查看进程号
ps -ef | grep freeswithch
查看freeswitch端口是否被监听
netstat -anp | grep 5060
#查看freeswitch的运行状态
status(控制台模式执行)
#查看freewitch内置用户是否注册
sofia status profile internal reg(控制台模式执行)