安装环境:
操作系统:
[zhi@Freeswitch ~]$ cat /etc/redhat-release
CentOS release 6.9 (Final)
[zhi@Freeswitch ~]$ uname -a
Linux Freeswitch.zhi.com 2.6.32-696.el6.i686 #1 SMP Tue Mar 21 18:53:30 UTC 2017 i686 i686 i386 GNU/Linux
FreeSWITCH:
[root@Freeswitch freeswitch]# /usr/local/freeswitch/bin/freeswitch -version
FreeSWITCH version: 1.6.19+git~20171120T163416Z~b1b21d0695~32bit (git b1b21d0 2017-11-20 16:34:16Z 32bit)
1、安装RMP仓库源
[root@Freeswitch ~]# rpm -ivh http://mirror.cedia.org.ec/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://mirror.cedia.org.ec/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.XEI6Yn: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]
2、安装必要组件
[root@Freeswitch freeswitch]# yum install -y git alsa-lib-devel autoconf automake bison
broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel
gcc-c++ 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 libtheora-devel libtiff-devel libtool libuuid-devel 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 wget which yasm zlib-devel
3、下载Freeswitch源代码
下载当前版本1.6.19,不用最新版本
[root@Freeswitch ~]# cd /usr/src
[root@Freeswitch src]# git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git
Initialized empty Git repository in /usr/src/freeswitch/.git/
remote: Counting objects: 307443, done.
remote: Compressing objects: 100% (67307/67307), done.
remote: Total 307443 (delta 239452), reused 298081 (delta 232086)
Receiving objects: 100% (307443/307443), 147.12 MiB | 3.23 MiB/s, done.
Resolving deltas: 100% (239452/239452), done.
[root@Freeswitch src]#
4、进入源代码目录
[root@Freeswitch src]# cd /usr/src/freeswitch/
[root@Freeswitch freeswitch]# ls
acinclude.m4 cluecon_small.tmpl docs freeswitch-sounds-en-ca-june.spec freeswitch.spec Makefile.am web
bootstrap.sh cluecon.tmpl dtd freeswitch-sounds-en-us-callie.spec fscomm scripts yum
build cmake_modules erlang.spec freeswitch-sounds-fr-ca-june.spec htdocs src
cc.sh conf fonts freeswitch-sounds-music.spec html5 support-d
clients configure.ac Freeswitch.2015.sln freeswitch-sounds-pt-BR-karina.spec images swig_common.i
cluecon2_small.tmpl debian Freeswitch.2015.sln.bat freeswitch-sounds-ru-RU-elena.spec INSTALL tests
cluecon2.tmpl devel-bootstrap.sh freeswitch-config-rayo.spec freeswitch-sounds-sv-se-jakob.spec libs w32
[root@Freeswitch freeswitch]#
5、配置模块编译安装
[root@Freeswitch freeswitch]# ./bootstrap.sh -j
6、编辑modules.conf 文件去掉模块前的"#"限可增加相应模块
[root@Freeswitch freeswitch]# more modules.conf
#applications/mod_abstraction
#applications/mod_av
#applications/mod_avmd
#applications/mod_bert
#applications/mod_blacklist
#applications/mod_callcenter
#applications/mod_cidlookup
#applications/mod_cluechoo
applications/mod_commands
applications/mod_conference
#applications/mod_curl
#applications/mod_cv
applications/mod_db
--More--(8%)
7、编译
[root@Freeswitch freeswitch]#
./configure -C --enable-portable-binary --enable-sctp
--prefix=/usr --localstatedir=/var --sysconfdir=/etc
--with-gnu-ld --with-python --with-erlang --with-openssl
--enable-core-odbc-support --enable-zrtp
--enable-core-pgsql-support
--enable-static-v8 --disable-parallel-build-v8
9、安装
[root@Freeswitch freeswitch]# make -j install
最后显示结果如下
......................
+---------- FreeSWITCH install Complete ----------+
+ FreeSWITCH has been successfully installed. +
+ +
+ Install sounds: +
+ (uhd-sounds includes hd-sounds, sounds) +
+ (hd-sounds includes sounds) +
+ ------------------------------------ +
+ make cd-sounds-install +
+ make cd-moh-install +
+ +
+ make uhd-sounds-install +
+ make uhd-moh-install +
+ +
+ make hd-sounds-install +
+ make hd-moh-install +
+ +
+ make sounds-install +
+ make moh-install +
+ +
+ Install non english sounds: +
+ replace XX with language +
+ (ru : Russian) +
+ (fr : French) +
+ ------------------------------------ +
+ make cd-sounds-XX-install +
+ make uhd-sounds-XX-install +
+ make hd-sounds-XX-install +
+ make sounds-XX-install +
+ +
+ Upgrade to latest: +
+ ---------------------------------- +
+ make current +
+ +
+ Rebuild all: +
+ ---------------------------------- +
+ make sure +
+ +
+ Install/Re-install default config: +
+ ---------------------------------- +
+ make samples +
+ +
+ +
+ Additional resources: +
+ ---------------------------------- +
+ https://www.freeswitch.org +
+ https://freeswitch.org/confluence +
+ https://freeswitch.org/jira +
+ http://lists.freeswitch.org +
+ +
+ irc.freenode.net / #freeswitch +
+ +
+ Register For ClueCon: +
+ ---------------------------------- +
+ https://www.cluecon.com +
+ +
+-------------------------------------------------+
.=======================================================================================================.
| ____ _ ____ |
| / ___| |_ _ ___ / ___|___ _ __ |
| | | | | | | |/ _ | / _ | '_ |
| | |___| | |_| | __/ |__| (_) | | | | |
| \____|_|\__,_|\___|\____\___/|_| |_| |
| |
| _____ _ _ ____ __ |
| |_ _|__| | ___ _ __ | |__ ___ _ __ _ _ / ___|___ _ __ / _| ___ _ __ ___ _ __ ___ ___ |
| | |/ _ |/ _ '_ | '_ / _ | '_ | | | | | | / _ | '_ | |_ / _ '__/ _ '_ / __/ _ |
| | | __/ | __/ |_) | | | | (_) | | | | |_| | | |__| (_) | | | | _| __/ | | __/ | | | (_| __/ |
| |_|\___|_|\___| .__/|_| |_|\___/|_| |_|\__, | \____\___/|_| |_|_| \___|_| \___|_| |_|\___\___| |
| |_| |___/ |
| _____ _ _ |
| | ____|_ _____ _ __ _ _ / _ _ __ _ _ _ ___| |_ |
| | _| / / _ '__| | | | / _ | | | |/ _` | | | / __| __| |
| | |___ V / __/ | | |_| | / ___ |_| | (_| | |_| \__ |_ |
| |_____| \_/ \___|_| \__, | /_/ \_\__,_|\__, |\__,_|___/\__| |
| |___/ |___/ |
| ____ _ ____ |
| __ ____ ____ __ / ___| |_ _ ___ / ___|___ _ __ ___ ___ _ __ ___ |
| / / / / / / / / / | | | | | | |/ _ | / _ | '_ / __/ _ | '_ ` _ |
| V V / V V / V V / _ | |___| | |_| | __/ |__| (_) | | | | _ | (_| (_) | | | | | | |
| \_/\_/ \_/\_/ \_/\_/ (_) \____|_|\__,_|\___|\____\___/|_| |_| (_) \___\___/|_| |_| |_| |
| |
.=======================================================================================================.
Checking module integrity in target [/usr/local/freeswitch/mod]
make[2]: Leaving directory `/usr/src/freeswitch/build'
make[1]: Leaving directory `/usr/src/freeswitch'
10、安装音频
[root@Freeswitch freeswitch]# make uhd-sounds-install
[root@Freeswitch freeswitch]# make uhd-moh-install
#/usr/src/freeswitch
# /usr/src/freeswitch/build/getsounds.sh freeswitch-sounds-en-us-callie-8000-1.0.51.tar.gz /usr/local/freeswitch/sounds/
--2017-12-02 05:07:36-- http://files.freeswitch.org/freeswitch-sounds-en-us-callie-8000-1.0.51.tar.gz
Resolving files.freeswitch.org... 209.105.235.7, 2607:f348:1021::7
Connecting to files.freeswitch.org|209.105.235.7|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-8000-1.0.51.tar.gz [following]
--2017-12-02 05:07:38-- http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-8000-1.0.51.tar.gz
Reusing existing connection to files.freeswitch.org:80.
HTTP request sent, awaiting response... 200 OK
Length: 18657031 (18M) [application/x-gzip]
Saving to: “freeswitch-sounds-en-us-callie-8000-1.0.51.tar.gz”
100%[==========================================================================================================>] 18,657,031 1.52M/s in 52s
2017-12-02 05:08:30 (353 KB/s) - “freeswitch-sounds-en-us-callie-8000-1.0.51.tar.gz” saved [18657031/18657031]
#/usr/src/freeswitch
# /usr/src/freeswitch/build/getsounds.sh freeswitch-sounds-en-us-callie-16000-1.0.51.tar.gz /usr/local/freeswitch/sounds/
--2017-12-02 05:08:31-- http://files.freeswitch.org/freeswitch-sounds-en-us-callie-16000-1.0.51.tar.gz
Resolving files.freeswitch.org... 209.105.235.7, 2607:f348:1021::7
Connecting to files.freeswitch.org|209.105.235.7|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-16000-1.0.51.tar.gz [following]
--2017-12-02 05:08:31-- http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-16000-1.0.51.tar.gz
Reusing existing connection to files.freeswitch.org:80.
HTTP request sent, awaiting response... 200 OK
Length: 37171776 (35M) [application/x-gzip]
Saving to: “freeswitch-sounds-en-us-callie-16000-1.0.51.tar.gz”
100%[==========================================================================================================>] 37,171,776 3.19M/s in 13s
2017-12-02 05:08:44 (2.75 MB/s) - “freeswitch-sounds-en-us-callie-16000-1.0.51.tar.gz” saved [37171776/37171776]
#/usr/src/freeswitch
# /usr/src/freeswitch/build/getsounds.sh freeswitch-sounds-en-us-callie-32000-1.0.51.tar.gz /usr/local/freeswitch/sounds/
--2017-12-02 05:08:45-- http://files.freeswitch.org/freeswitch-sounds-en-us-callie-32000-1.0.51.tar.gz
Resolving files.freeswitch.org... 209.105.235.7, 2607:f348:1021::7
Connecting to files.freeswitch.org|209.105.235.7|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-32000-1.0.51.tar.gz [following]
--2017-12-02 05:08:46-- http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-32000-1.0.51.tar.gz
Reusing existing connection to files.freeswitch.org:80.
HTTP request sent, awaiting response... 200 OK
Length: 73012907 (70M) [application/x-gzip]
Saving to: “freeswitch-sounds-en-us-callie-32000-1.0.51.tar.gz”
100%[==========================================================================================================>] 73,012,907 2.04M/s in 25s
2017-12-02 05:09:11 (2.80 MB/s) - “freeswitch-sounds-en-us-callie-32000-1.0.51.tar.gz” saved [73012907/73012907]
11、查看freeswith服务器启动参数
[root@Freeswitch freeswitch]# /usr/local/freeswitch/bin/freeswitch -h
Usage: freeswitch [OPTIONS]
These are the optional arguments you can pass to freeswitch:
-nf -- no forking
-reincarnate -- restart the switch on an uncontrolled exit
-reincarnate-reexec -- run execv on a restart (helpful for upgrades)
-u [user] -- specify user to switch to
-g [group] -- specify group to switch to
-waste -- allow memory waste
-core -- dump cores
-help -- this message
-version -- print the version and exit
-rp -- enable high(realtime) priority settings
-lp -- enable low priority settings
-np -- enable normal priority settings
-vg -- run under valgrind
-nosql -- disable internal sql scoreboard
-heavy-timer -- Heavy Timer, possibly more accurate but at a cost
-nonat -- disable auto nat detection
-nonatmap -- disable auto nat port mapping
-nocal -- disable clock calibration
-nort -- disable clock clock_realtime
-stop -- stop freeswitch
-nc -- do not output to a console and background
-ncwait -- do not output to a console and background but wait until the system is ready before exiting (implies -nc)
-c -- output to a console and stay in the foreground
Options to control locations of files:
-base [basedir] -- alternate prefix directory
-cfgname [filename] -- alternate filename for FreeSWITCH main configuration file
-conf [confdir] -- alternate directory for FreeSWITCH configuration files
-log [logdir] -- alternate directory for logfiles
-run [rundir] -- alternate directory for runtime files
-db [dbdir] -- alternate directory for the internal database
-mod [moddir] -- alternate directory for modules
-htdocs [htdocsdir] -- alternate directory for htdocs
-scripts [scriptsdir] -- alternate directory for scripts
-temp [directory] -- alternate directory for temporary files
-grammar [directory] -- alternate directory for grammar files
-certs [directory] -- alternate directory for certificates
-recordings [directory] -- alternate directory for recordings
-storage [directory] -- alternate directory for voicemail storage
-cache [directory] -- alternate directory for cache files
-sounds [directory] -- alternate directory for sound files
12、启动服务器
2017-12-02 05:26:40.338460 [NOTICE] switch_utils.c:545 Adding 192.168.42.0/24 (deny) [] to list lan 2017-12-02 05:26:40.338465 [NOTICE] switch_utils.c:545 Adding 192.168.42.42/32 (allow) [] to list lan 2017-12-02 05:26:40.338471 [CONSOLE] switch_core.c:1581 Created ip list domains default (deny) 2017-12-02 05:26:40.338503 [NOTICE] switch_utils.c:545 Adding 192.0.2.0/24 (allow) [brian@192.168.0.250] to list domains 2017-12-02 05:26:40.338586 [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/ | .=============================================================. .=======================================================================================================. | ____ _ ____ | | / ___| |_ _ ___ / ___|___ _ __ | | | | | | | | |/ _ | / _ | '_ | | | |___| | |_| | __/ |__| (_) | | | | | | \____|_|\__,_|\___|\____\___/|_| |_| | | | | _____ _ _ ____ __ | | |_ _|__| | ___ _ __ | |__ ___ _ __ _ _ / ___|___ _ __ / _| ___ _ __ ___ _ __ ___ ___ | | | |/ _ |/ _ '_ | '_ / _ | '_ | | | | | | / _ | '_ | |_ / _ '__/ _ '_ / __/ _ | | | | __/ | __/ |_) | | | | (_) | | | | |_| | | |__| (_) | | | | _| __/ | | __/ | | | (_| __/ | | |_|\___|_|\___| .__/|_| |_|\___/|_| |_|\__, | \____\___/|_| |_|_| \___|_| \___|_| |_|\___\___| | | |_| |___/ | | _____ _ _ | | | ____|_ _____ _ __ _ _ / _ _ __ _ _ _ ___| |_ | | | _| / / _ '__| | | | / _ | | | |/ _` | | | / __| __| | | | |___ V / __/ | | |_| | / ___ |_| | (_| | |_| \__ |_ | | |_____| \_/ \___|_| \__, | /_/ \_\__,_|\__, |\__,_|___/\__| | | |___/ |___/ | | ____ _ ____ | | __ ____ ____ __ / ___| |_ _ ___ / ___|___ _ __ ___ ___ _ __ ___ | | / / / / / / / / / | | | | | | |/ _ | / _ | '_ / __/ _ | '_ ` _ | | V V / V V / V V / _ | |___| | |_| | __/ |__| (_) | | | | _ | (_| (_) | | | | | | | | \_/\_/ \_/\_/ \_/\_/ (_) \____|_|\__,_|\___|\____\___/|_| |_| (_) \___\___/|_| |_| |_| | | | .=======================================================================================================. 2017-12-02 05:26:40.338613 [INFO] switch_core.c:2436 FreeSWITCH Version 1.6.19+git~20171120T163416Z~b1b21d0695~32bit (git b1b21d0 2017-11-20 16:34:16Z 32bit) FreeSWITCH Started Max Sessions [1000] Session Rate [30] SQL [Enabled] 2017-12-02 05:26:40.338618 [CONSOLE] switch_core.c:2444 [This app Best viewed at 160x60 or more..] 2017-12-02 05:26:40.340120 [INFO] switch_time.c:615 Clock synchronized to system time. freeswitch@Freeswitch.zhi.com>
13、客户端登陆
[root@Freeswitch ~]# /usr/local/freeswitch/bin/fs_cli .=======================================================. | _____ ____ ____ _ ___ | | | ___/ ___| / ___| | |_ _| | | | |_ \___ | | | | | | | | | _| ___) | | |___| |___ | | | | |_| |____/ \____|_____|___| | | | .=======================================================. | Anthony Minessale II, Ken Rice, | | Michael Jerris, Travis Cross | | FreeSWITCH (http://www.freeswitch.org) | | Paypal Donations Appreciated: paypal@freeswitch.org | | Brought to you by ClueCon http://www.cluecon.com/ | .=======================================================. .=======================================================================================================. | ____ _ ____ | | / ___| |_ _ ___ / ___|___ _ __ | | | | | | | | |/ _ | / _ | '_ | | | |___| | |_| | __/ |__| (_) | | | | | | \____|_|\__,_|\___|\____\___/|_| |_| | | | | _____ _ _ ____ __ | | |_ _|__| | ___ _ __ | |__ ___ _ __ _ _ / ___|___ _ __ / _| ___ _ __ ___ _ __ ___ ___ | | | |/ _ |/ _ '_ | '_ / _ | '_ | | | | | | / _ | '_ | |_ / _ '__/ _ '_ / __/ _ | | | | __/ | __/ |_) | | | | (_) | | | | |_| | | |__| (_) | | | | _| __/ | | __/ | | | (_| __/ | | |_|\___|_|\___| .__/|_| |_|\___/|_| |_|\__, | \____\___/|_| |_|_| \___|_| \___|_| |_|\___\___| | | |_| |___/ | | _____ _ _ | | | ____|_ _____ _ __ _ _ / _ _ __ _ _ _ ___| |_ | | | _| / / _ '__| | | | / _ | | | |/ _` | | | / __| __| | | | |___ V / __/ | | |_| | / ___ |_| | (_| | |_| \__ |_ | | |_____| \_/ \___|_| \__, | /_/ \_\__,_|\__, |\__,_|___/\__| | | |___/ |___/ | | ____ _ ____ | | __ ____ ____ __ / ___| |_ _ ___ / ___|___ _ __ ___ ___ _ __ ___ | | / / / / / / / / / | | | | | | |/ _ | / _ | '_ / __/ _ | '_ ` _ | | V V / V V / V V / _ | |___| | |_| | __/ |__| (_) | | | | _ | (_| (_) | | | | | | | | \_/\_/ \_/\_/ \_/\_/ (_) \____|_|\__,_|\___|\____\___/|_| |_| (_) \___\___/|_| |_| |_| | | | .=======================================================================================================. Type /help <enter> to see a list of commands [This app Best viewed at 160x60 or more..] +OK log level [7] freeswitch@Freeswitch.zhi.com>
freeswitch@Freeswitch.zhi.com> /help Command Description ----------------------------------------------- /help Help /exit, /quit, /bye, ... Exit the program. /event, /noevents, /nixevent Event commands. /log, /nolog Log commands. /uuid Filter logs for a single call uuid /filter Filter commands. /logfilter Filter Log for a single string. /debug [0-7] Set debug level.
14、查端口
[root@Freeswitch ~]# netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.0.250:5060 0.0.0.0:* LISTEN 2524/freeswitch tcp 0 0 192.168.0.250:5066 0.0.0.0:* LISTEN 2524/freeswitch tcp 0 0 192.168.0.250:8081 0.0.0.0:* LISTEN 2524/freeswitch tcp 0 0 192.168.0.250:8082 0.0.0.0:* LISTEN 2524/freeswitch tcp 0 0 192.168.0.250:7443 0.0.0.0:* LISTEN 2524/freeswitch tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1239/sshd tcp 0 0 192.168.0.250:5080 0.0.0.0:* LISTEN 2524/freeswitch tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1319/master tcp 0 0 ::1:5060 :::* LISTEN 2524/freeswitch tcp 0 0 ::1:8081 :::* LISTEN 2524/freeswitch tcp 0 0 ::1:8082 :::* LISTEN 2524/freeswitch tcp 0 0 :::8021 :::* LISTEN 2524/freeswitch tcp 0 0 :::22 :::* LISTEN 1239/sshd tcp 0 0 ::1:5080 :::* LISTEN 2524/freeswitch tcp 0 0 ::1:25 :::* LISTEN 1319/master udp 0 0 0.0.0.0:1337 0.0.0.0:* 2524/freeswitch udp 0 0 192.168.0.250:5060 0.0.0.0:* 2524/freeswitch udp 0 0 192.168.0.250:5080 0.0.0.0:* 2524/freeswitch udp 0 0 ::1:5060 :::* 2524/freeswitch udp 0 0 ::1:5080 :::* 2524/freeswitch
15、停止服务
[root@Freeswitch ~]# /usr/local/freeswitch/bin/freeswitch -stop Killing: 2524
16、再检查端口
[root@Freeswitch ~]# netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1239/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1319/master tcp 0 0 :::22 :::* LISTEN 1239/sshd tcp 0 0 ::1:25 :::* LISTEN 1319/master [root@Freeswitch ~]#