FreeSwitch源码编译安装方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wenxuansoft/article/details/79147215

准备工作

操作系统: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,或者,直接关掉终端窗口。

安装为服务并自动运行

猜你喜欢

转载自blog.csdn.net/wenxuansoft/article/details/79147215
今日推荐