准备工作
操作系统:debian 8.9
首先更新一个apt-get并安装curl
apt-get update && apt-get install curl
下载最新的源码
按官方推荐的命令,在本机下载最稳定版本的源码。
FSfile=$(curl -s https://files.freeswitch.org/releases/freeswitch/ | sed -n 's/.*"\(freeswitch\-[0-9]*\.[0-9]*\.[0-9]*\.tar\.gz\)".*/\1 /p' | tail -n 1) && echo Downloading $FSfile && curl https://files.freeswitch.org/freeswitch-releases/$FSfile | tar -xz && mv ${FSfile/.tar.gz//} freeswitch
下载完成后,在当前目录就有一个freeswitch
的文件夹,进入该文件夹。
选择要编译的模块
一般情况下,freeswitch
会默认安装一些功能模块。
同时freeswitch
还提供了大量的功能模块,在freeswitch
文件夹下有一个modules.conf
文件,里面列出了当前源码中的模块,前置#
的代表不安装,您可以根据需要选择您需要安装的模块。例如你将#mod_rtmp
前的#
去掉然后保存,就代表需要编译该模块。
......
codecs/mod_h26x
#codecs/mod_ilbc
#codecs/mod_isac
#codecs/mod_mp4v
codecs/mod_opus
#codecs/mod_sangoma_codec
#codecs/mod_silk
#codecs/mod_siren
#codecs/mod_theora
dialplans/mod_dialplan_asterisk
#dialplans/mod_dialplan_directory
dialplans/mod_dialplan_xml
#directories/mod_ldap
#endpoints/mod_alsa
#endpoints/mod_dingaling
#endpoints/mod_gsmopen
#endpoints/mod_h323
......
如果您安装了其他模块,则可能需要安装其他依赖库。
安装编译工具及各种依赖
freeswitch依赖包括两种:
1. 从apt-get包管理器直接安装二进制依赖包
apt-get -y install make autoconf automake devscripts gawk g++ git-core libjpeg-dev libncurses5-dev libtool python-dev pkg-config libperl-dev libgdbm-dev libdb-dev gettext zlib1g.dev libpcre3 libpcre3-dev libspeexdsp-dev libcurl4-openssl-dev libsqlite3-dev libedit-dev lua5.2 liblua5.2-dev libopus-dev libopusfile-dev libsndfile-dev yasm libldns-dev
2. 从源码安装进行编译安装
freeswitch
源码仓库:https://freeswitch.org/stash/projects
各种依赖库优先通过apt-get
安装二进制包,如果找不到则需要clone源码进行本地编译安装。
如默认是没有安装mod_ilbc
模块,如果你需要安装该模块,则需要将mod_ilbc
前的#
去掉,然后再安装依赖库,在进行make
时会提示需要安装libilbc-dev
,一般情况下,您可以通过两种方法来安装此依赖库。
直接通过apt-get安装二制包
> apt-get install libilbc-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libilbc-dev
显然,libilbc-dev库不存在,一种可能是该库在apt-get包索引中并不叫这个名字,你上网搜索一下,输入正确的名称。还有一种可能是该库的确没有发布二进制包.此时你就需要进行源码编译安装了。
浏览freeswitch
源码仓库:https://freeswitch.org/stash/projects
找到对应的库,如本例https://freeswitch.org/stash/scm/sd/libilbc.git
cd libs
git clone https://freeswitch.org/stash/scm/sd/libilbc.git
开始编译源码
在freeswitch文件夹下执行:
./configure
make
make install
默认情况下,freeswitch安装到/usr/local/freeswitch,如果要改变安装位置,则只要指定参数:
make install --prefix=/usr/local/freeswitch
安装声音文件
http://files.freeswitch.org/releases/sounds/
安装标准备语音文件
make sounds-install
make moh-install
安装中文语音文件
切换到conf/sounds,下载并解压中文语音包
安装方法更附
启动FreeSwitch
至此,已经安装完了。在Unix类操作系统上,其默认的安装位置是/usr/local/freeswtich,下文所述的路径全部相对于该路径。两个常用的命令是bin/freeswitch和bin/fs_cli,为了便于使用,建议将这两个命令做符号链接放到你的搜索路径中,如:
ln -sf /usr/local/freeswitch/bin/freeswitch /usr/local/bin/
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/local/bin/
如果您想将FreeSWITCH启动到后台(daemon,服务模式),可以使用freeswitch -nc
(No console)。
后台模式没有控制台,如果这时想控制FreeSWITCH,可以使用客户端软件fs_cli连接。注意,在fs_cli中需要使用 fsctl shutdown
命令关闭 FreeSWITCH。当然,也可以直接在 Linux 提示符下通过 freeswitch -stop 命令关闭。如果不想退出 FreeSWITCH 服务,只退出fs_cli客户端,则需要输入 /exit
,或Ctrl + D
,或者,直接关掉终端窗口。