1.选择centos镜像进入
2.进入src目录,安装git
cd /usr/local/src
yum install -y git
3.下载freeswitch
git clone -b v1.6 https://github.com/signalwire/freeswitch.git freeswitch
4.安装相关依赖包
yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtiff-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel
依赖包安装结果
Installed:
alsa-lib-devel.x86_64 0:1.1.8-1.el7
autoconf.noarch 0:2.69-11.el7
automake.noarch 0:1.13.4-3.el7
bison.x86_64 0:3.0.4-2.el7
bzip2.x86_64 0:1.0.6-13.el7
e2fsprogs-devel.x86_64 0:1.42.9-19.el7
flite-devel.x86_64 0:1.3-22.el7
gcc-c++.x86_64 0:4.8.5-44.el7
gdbm-devel.x86_64 0:1.10-8.el7
gnutls-devel.x86_64 0:3.3.29-9.el7_6
ldns-devel.x86_64 0:1.6.16-10.el7
libcurl-devel.x86_64 0:7.29.0-59.el7_9.1
libedit-devel.x86_64 0:3.0-12.20121213cvs.el7
libidn-devel.x86_64 0:1.28-4.el7
libjpeg-turbo-devel.x86_64 0:1.2.90-8.el7
libmemcached-devel.x86_64 0:1.0.16-5.el7
libogg-devel.x86_64 2:1.3.0-7.el7
libsndfile-devel.x86_64 0:1.0.25-12.el7
libtheora-devel.x86_64 1:1.1.1-8.el7
libtiff-devel.x86_64 0:4.0.3-35.el7
libtool.x86_64 0:2.4.2-22.el7_3
libuuid-devel.x86_64 0:2.23.2-65.el7_9.1
libvorbis-devel.x86_64 1:1.3.3-8.el7.1
libxml2-devel.x86_64 0:2.9.1-6.el7.5
lua-devel.x86_64 0:5.1.4-15.el7
lzo-devel.x86_64 0:2.06-8.el7
ncurses-devel.x86_64 0:5.9-14.20130511.el7_4
net-snmp-devel.x86_64 1:5.7.2-49.el7_9.1
openssl-devel.x86_64 1:1.0.2k-21.el7_9
opus-devel.x86_64 0:1.0.2-6.el7
pcre-devel.x86_64 0:8.32-17.el7
perl-ExtUtils-Embed.noarch 0:1.30-299.el7_9
postgresql-devel.x86_64 0:9.2.24-7.el7_9
python-devel.x86_64 0:2.7.5-90.el7
soundtouch-devel.x86_64 0:1.4.0-9.el7
speex-devel.x86_64 0:1.2-0.19.rc1.el7
sqlite-devel.x86_64 0:3.7.17-8.el7_7.1
unbound-devel.x86_64 0:1.6.6-5.el7_8
unixODBC-devel.x86_64 0:2.3.1-14.el7
wget.x86_64 0:1.14-18.el7_6.1
which.x86_64 0:2.20-7.el7
zlib-devel.x86_64 0:1.2.7-19.el7_9
Dependency Installed:
alsa-lib.x86_64 0:1.1.8-1.el7
cpp.x86_64 0:4.8.5-44.el7
cyrus-sasl.x86_64 0:2.1.26-23.el7
cyrus-sasl-devel.x86_64 0:2.1.26-23.el7
e2fsprogs-libs.x86_64 0:1.42.9-19.el7
elfutils-devel.x86_64 0:0.176-5.el7
elfutils-libelf-devel.x86_64 0:0.176-5.el7
flac-libs.x86_64 0:1.3.0-5.el7_1
flite.x86_64 0:1.3-22.el7
gcc.x86_64 0:4.8.5-44.el7
glibc-devel.x86_64 0:2.17-324.el7_9
glibc-headers.x86_64 0:2.17-324.el7_9
gmp-devel.x86_64 1:6.0.0-15.el7
gnutls.x86_64 0:3.3.29-9.el7_6
gnutls-c++.x86_64 0:3.3.29-9.el7_6
gnutls-dane.x86_64 0:3.3.29-9.el7_6
gsm.x86_64 0:1.0.13-11.el7
initscripts.x86_64 0:9.49.53-1.el7_9.1
iproute.x86_64 0:4.11.0-30.el7
iptables.x86_64 0:1.4.21-35.el7
jbigkit-libs.x86_64 0:2.0-11.el7
kernel-headers.x86_64 0:3.10.0-1160.36.2.el7
keyutils-libs-devel.x86_64 0:1.5.8-3.el7
krb5-devel.x86_64 0:1.15.1-50.el7
ldns.x86_64 0:1.6.16-10.el7
libcom_err-devel.x86_64 0:1.42.9-19.el7
libdb-devel.x86_64 0:5.3.21-25.el7
libevent.x86_64 0:2.0.21-4.el7
libevent-devel.x86_64 0:2.0.21-4.el7
libgomp.x86_64 0:4.8.5-44.el7
libjpeg-turbo.x86_64 0:1.2.90-8.el7
libkadm5.x86_64 0:1.15.1-50.el7
libmemcached.x86_64 0:1.0.16-5.el7
libmnl.x86_64 0:1.0.3-7.el7
libmpc.x86_64 0:1.0.1-3.el7
libnetfilter_conntrack.x86_64 0:1.0.6-1.el7_3
libnfnetlink.x86_64 0:1.0.1-4.el7
libogg.x86_64 2:1.3.0-7.el7
libpcap.x86_64 14:1.5.3-12.el7
libselinux-devel.x86_64 0:2.5-15.el7
libsepol-devel.x86_64 0:2.5-10.el7
libsndfile.x86_64 0:1.0.25-12.el7
libstdc++-devel.x86_64 0:4.8.5-44.el7
libtasn1-devel.x86_64 0:4.10-1.el7
libtheora.x86_64 1:1.1.1-8.el7
libtiff.x86_64 0:4.0.3-35.el7
libtool-ltdl.x86_64 0:2.4.2-22.el7_3
libverto-devel.x86_64 0:0.2.5-4.el7
libvorbis.x86_64 1:1.3.3-8.el7.1
lm_sensors-devel.x86_64 0:3.4.0-8.20160601gitf9185e5.el7
lm_sensors-libs.x86_64 0:3.4.0-8.20160601gitf9185e5.el7
lzo.x86_64 0:2.06-8.el7
lzo-minilzo.x86_64 0:2.06-8.el7
m4.x86_64 0:1.4.16-10.el7
make.x86_64 1:3.82-24.el7
mariadb-libs.x86_64 1:5.5.68-1.el7
mpfr.x86_64 0:3.1.1-4.el7
net-snmp.x86_64 1:5.7.2-49.el7_9.1
net-snmp-agent-libs.x86_64 1:5.7.2-49.el7_9.1
net-snmp-libs.x86_64 1:5.7.2-49.el7_9.1
nettle.x86_64 0:2.7.1-9.el7_9
nettle-devel.x86_64 0:2.7.1-9.el7_9
openssl.x86_64 1:1.0.2k-21.el7_9
opus.x86_64 0:1.0.2-6.el7
p11-kit-devel.x86_64 0:0.23.5-3.el7
perl-Data-Dumper.x86_64 0:2.145-3.el7
perl-ExtUtils-Install.noarch 0:1.58-299.el7_9
perl-ExtUtils-MakeMaker.noarch 0:6.68-3.el7
perl-ExtUtils-Manifest.noarch 0:1.61-244.el7
perl-ExtUtils-ParseXS.noarch 1:3.18-3.el7
perl-Test-Harness.noarch 0:3.28-3.el7
perl-Thread-Queue.noarch 0:3.02-2.el7
perl-devel.x86_64 4:5.16.3-299.el7_9
popt-devel.x86_64 0:1.13-16.el7
postgresql.x86_64 0:9.2.24-7.el7_9
postgresql-libs.x86_64 0:9.2.24-7.el7_9
pyparsing.noarch 0:1.5.6-9.el7
python-rpm-macros.noarch 0:3-34.el7
python-srpm-macros.noarch 0:3-34.el7
python2-rpm-macros.noarch 0:3-34.el7
rpm-devel.x86_64 0:4.11.3-45.el7
soundtouch.x86_64 0:1.4.0-9.el7
speex.x86_64 0:1.2-0.19.rc1.el7
systemd-sysv.x86_64 0:219-78.el7_9.3
systemtap-sdt-devel.x86_64 0:4.0-13.el7
sysvinit-tools.x86_64 0:2.88-14.dsf.el7
tcp_wrappers-devel.x86_64 0:7.6-77.el7
tcp_wrappers-libs.x86_64 0:7.6-77.el7
trousers.x86_64 0:0.3.14-2.el7
unbound-libs.x86_64 0:1.6.6-5.el7_8
unixODBC.x86_64 0:2.3.1-14.el7
xz-devel.x86_64 0:5.2.2-1.el7
Dependency Updated:
curl.x86_64 0:7.29.0-59.el7_9.1 glibc.x86_64 0:2.17-324.el7_9
glibc-common.x86_64 0:2.17-324.el7_9 libblkid.x86_64 0:2.23.2-65.el7_9.1
libcurl.x86_64 0:7.29.0-59.el7_9.1 libmount.x86_64 0:2.23.2-65.el7_9.1
libsmartcols.x86_64 0:2.23.2-65.el7_9.1 libuuid.x86_64 0:2.23.2-65.el7_9.1
openssl-libs.x86_64 1:1.0.2k-21.el7_9 python.x86_64 0:2.7.5-90.el7
python-libs.x86_64 0:2.7.5-90.el7 systemd.x86_64 0:219-78.el7_9.3
systemd-libs.x86_64 0:219-78.el7_9.3 util-linux.x86_64 0:2.23.2-65.el7_9.1
zlib.x86_64 0:1.2.7-19.el7_9
Complete!
再安装
yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
Loaded plugins: fastestmirror, ovl
5.进入 freeswitch目录
cd /usr/local/src/freeswitch
5.1执行./bootstrap.sh
./bootstrap.sh
5.2 运行./configure
./configure
运行结果
-------------------------- FreeSWITCH configuration --------------------------
Locations:
prefix: /usr/local/freeswitch
exec_prefix: /usr/local/freeswitch
bindir: ${exec_prefix}/bin
confdir: /usr/local/freeswitch/conf
libdir: ${exec_prefix}/lib
datadir: /usr/local/freeswitch
localstatedir: /usr/local/freeswitch
includedir: /usr/local/freeswitch/include/freeswitch
certsdir: /usr/local/freeswitch/certs
dbdir: /usr/local/freeswitch/db
grammardir: /usr/local/freeswitch/grammar
htdocsdir: /usr/local/freeswitch/htdocs
fontsdir: /usr/local/freeswitch/fonts
logfiledir: /usr/local/freeswitch/log
modulesdir: /usr/local/freeswitch/mod
pkgconfigdir: ${exec_prefix}/lib/pkgconfig
recordingsdir: /usr/local/freeswitch/recordings
imagesdir: /usr/local/freeswitch/images
runtimedir: /usr/local/freeswitch/run
scriptdir: /usr/local/freeswitch/scripts
soundsdir: /usr/local/freeswitch/sounds
storagedir: /usr/local/freeswitch/storage
cachedir: /usr/local/freeswitch/cache
------------------------------------------------------------------------------
5.3 进行make
make
报错最后一行 make: *** [libs/libvpx/Makefile] Error 1
sh-4.2# make
gcc -o /usr/local/src/freeswitch/build/print_git_revision /usr/local/src/freeswitch/build/print_git_revision.c
cd libs/libvpx && CC="gcc" CXX="g++" CFLAGS="-g -O2" CXXFLAGS="-g -O2" LDFLAGS="" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="-fvisibility=hidden"
enabling pic
disabling docs
disabling examples
disabling install_bins
disabling install_srcs
disabling unit_tests
enabling vp8_encoder
enabling vp8_decoder
enabling vp9_encoder
enabling vp9_decoder
Configuring for target 'x86_64-linux-gcc'
enabling x86_64
enabling runtime_cpu_detect
enabling mmx
enabling sse
enabling sse2
enabling sse3
enabling ssse3
enabling sse4_1
enabling avx
enabling avx2
Neither yasm nor nasm have been found. See the prerequisites section in the README for more info.
Configuration failed. This could reflect a misconfiguration of your
toolchains, improper options selected, or another problem. If you
don't see any useful error messages above, the next step is to look
at the configure error log file (config.log) to determine what
configure was trying to do when it died.
make: *** [libs/libvpx/Makefile] Error 1
通过yum install opus-devel该方法不起效果,进入mod_opus修改文件
cd /usr/local/src/freeswitch/src/mod/codecs/mod_opus
回到freeswitch,再进行make
make
make成功
+---------- FreeSWITCH Build Complete ----------+
+ FreeSWITCH has been successfully built. +
+ Install by running: +
+ +
+ make install +
+ +
+ While you're waiting, register for ClueCon! +
+ https://www.cluecon.com +
+ +
+-----------------------------------------------+
.=======================================================================================================.
| ____ _ ____ |
| / ___| |_ _ ___ / ___|___ _ __ |
| | | | | | | |/ _ \ | / _ \| '_ \ |
| | |___| | |_| | __/ |__| (_) | | | | |
| \____|_|\__,_|\___|\____\___/|_| |_| |
| |
| _____ _ _ ____ __ |
| |_ _|__| | ___ _ __ | |__ ___ _ __ _ _ / ___|___ _ __ / _| ___ _ __ ___ _ __ ___ ___ |
| | |/ _ \ |/ _ \ '_ \| '_ \ / _ \| '_ \| | | | | | / _ \| '_ \| |_ / _ \ '__/ _ \ '_ \ / __/ _ \ |
| | | __/ | __/ |_) | | | | (_) | | | | |_| | | |__| (_) | | | | _| __/ | | __/ | | | (_| __/ |
| |_|\___|_|\___| .__/|_| |_|\___/|_| |_|\__, | \____\___/|_| |_|_| \___|_| \___|_| |_|\___\___| |
| |_| |___/ |
| _____ _ _ |
| | ____|_ _____ _ __ _ _ / \ _ _ __ _ _ _ ___| |_ |
| | _| \ \ / / _ \ '__| | | | / _ \| | | |/ _` | | | / __| __| |
| | |___ \ V / __/ | | |_| | / ___ \ |_| | (_| | |_| \__ \ |_ |
| |_____| \_/ \___|_| \__, | /_/ \_\__,_|\__, |\__,_|___/\__| |
| |___/ |___/ |
| ____ _ ____ |
| __ ____ ____ __ / ___| |_ _ ___ / ___|___ _ __ ___ ___ _ __ ___ |
| \ \ /\ / /\ \ /\ / /\ \ /\ / / | | | | | | |/ _ \ | / _ \| '_ \ / __/ _ \| '_ ` _ \ |
| \ V V / \ V V / \ V V / _ | |___| | |_| | __/ |__| (_) | | | | _ | (_| (_) | | | | | | |
| \_/\_/ \_/\_/ \_/\_/ (_) \____|_|\__,_|\___|\____\___/|_| |_| (_) \___\___/|_| |_| |_| |
| |
.=======================================================================================================.
再进行make install
make install
6.挂载目录及启动
sh-4.2# ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/
sh-4.2# ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/
前台启动 后台启动就用 freewitch -nc
freeswitch -c
安装成功
2021-07-29 01:08:26.299782 [CONSOLE] switch_core.c:2427
.=============================================================.
| _____ ______ _____ _____ ____ _ _ |
| | ___| __ ___ ___/ ___\ \ / /_ _|_ _/ ___| | | | |
| | |_ | '__/ _ \/ _ \___ \\ \ /\ / / | | | || | | |_| | |
| | _|| | | __/ __/___) |\ V V / | | | || |___| _ | |
| |_| |_| \___|\___|____/ \_/\_/ |___| |_| \____|_| |_| |
| |
.=============================================================.
| Anthony Minessale II, Michael Jerris, Brian West, Others |
| FreeSWITCH (http://www.freeswitch.org) |
| Paypal Donations Appreciated: paypal@freeswitch.org |
| Brought to you by ClueCon http://www.cluecon.com/ |
.=============================================================.
.===============================================================.
| _ |
| ___| |_ _ ___ ___ ___ _ __ ___ ___ _ __ ___ |
| / __| | | | |/ _ \/ __/ _ \| '_ \ / __/ _ \| '_ ` _ \ |
| | (__| | |_| | __/ (_| (_) | | | | _ | (_| (_) | | | | | | |
| \___|_|\__,_|\___|\___\___/|_| |_| (_) \___\___/|_| |_| |_| |
| |
.===============================================================.
2021-07-29 01:08:26.299797 [INFO] switch_core.c:2436
FreeSWITCH Version 1.6.20+git~20180507T185611Z~43a9feb7f8~64bit (git 43a9feb 2018-05-07 18:56:11Z 64bit)
FreeSWITCH Started
Max Sessions [1000]
Session Rate [30]
SQL [Enabled]
7.看下freeswitch状态
freeswitch@de3e8f89bda7> sofia status
Name Type Data State
=================================================================================================
172.17.0.2 alias internal ALIASED
external profile sip:mod_sofia@172.17.0.2:5080 RUNNING (0)
external::example.com gateway sip:joeuser@example.com NOREG
internal profile sip:mod_sofia@172.17.0.2:5060 RUNNING (0)
=================================================================================================
2 profiles 1 alias
参考资料
https://github.com/BetterVoice/freeswitch-container/blob/master/README.md
https://www.pianshen.com/article/670750899/
https://blog.csdn.net/quantum7/article/details/106908751
网友评论