一、系统环境
系统: Ubuntu 14.04 LTS
Kernel版本: 3.13.0-24-generic
FreeSWITCH版本: FreeSWITCH-1.6.17
二、安装依赖
注:根据系统的不同,系统已安装软件的不同,用户可根据系统需要安装FreeSWITCH依赖。
FreeSWITCH大致依赖有如下这些:
sudo apt-get update
apt-get install wget
sudo apt-get install g++
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install liblua5.2-dev
apt-get install libedit-dev
apt-get install libldns-dev
apt-get install libpcre3-dev
apt-get install libspeexdsp-dev
apt-get install libspeex-dev
apt-get install libcurl4-openssl-dev
apt-get install libopus-dev
apt-get install libncurses5-dev
apt-get install libtiff-dev
apt-get install libjpeg-dev
apt-get install zlib1g-dev
apt-get install libssl-dev
apt-get install libsqlite3-dev
apt-get install build-essential
apt-get install automake
apt-get install autoconf
apt-get install libtool
apt-get install liblua50-dev
apt-get install libsndfile1-dev
apt-get install yasm
sudo apt-get install liblua5.2-dev
sudo apt-get install opus-tools
三、下载解压FreeSWITCH源代码安装包
*注:由于使用github克隆FreeSWITCH源码时会因“墙”或其他原因造成一些源拉取不完全造成在编译时失败。为了有效避免上述问题,选择了使用wget获取源代码安装包的方式进行安装:
wget http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.17.tar.xz
tar xf freeswitch-1.6.17.tar.xz
四、FreeSWITCH的配置安装
FreeSWITCH的配置安装统一在FreeSWITCH源代码目录内执行:
cd freeswitch-1.6.17 //进入FreeSWITCH源代码目录
4.1 FreeSWITCH配置
./configure //配置FreeSWITCH
当出现图一界面时,代表配置完成。
4.2 FreeSWITCH安装
make install // 安装FreeSWITCH
当出现图二界面时,代表已经安装完成,并成功启动FreeSWITCH。
在“freeswitch@ubuntu >”处输入 shutdown ,就可以关闭FreeSWITCH。
五、安装声音文件
5.1 安装声音文件
在FreeSWITCH源代码目录(解压的文件夹内)中执行:
make sounds-install
make moh-install
安装过程中将自动从files.freeswitch.org下载相关的语音包,并解压缩到相关的安装路径中(默认安装
在/usr/local/freeswitch/sounds下)。至此,FreeSWITCH就已安装完了。
5.2 相关命令做符号连接
FreeSWITCH默认的安装位置是/usr/local/freeswitch。两个常用的命令是 bin/freeswitch和 /bin/fs_cli 。
为了便于以后使用,建议将这两个命令做符号连接放到搜索路径中,如:
ln -sf /usr/local/freeswitch /bin/ freeswitch /usr/bin/
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/
六、补充
在配置安装FreeSWITCH过程中,可能会出现各种问题,一般情况下都是缺少依赖造成的,根据输出的日志信息查看出错原因并找出解决方案。
Error 1:
根据日志信息“Neither yasm nor nasm have been foud.”我们可以知道,是缺少yasm或nasm依赖引起的,我们只要安装上yasm或者nasm依赖,再重新运行一遍 “./configure” 和 “make install”就可以了。
Error 2:
FreeSWITCH进程还在运行,把FreeSWITCH端口释放:
netstat –napl
找到FreeSWITCH进程端口号
kill PID or kill -9 PID
Error 3:
安装完FreeSWITCH后,测试中发现呼叫请求服务器处理的特别慢,后来跟踪发现在/usr/local/freeswitch/conf/dialplan/default.xml中有个sleep 10s的处理,
<condition field="${default_password}" expression="^1234$" break="never">
<action application="log" data="CRIT WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING "/>
<action application="log" data="CRIT Open $${conf_dir}/vars.xml and change the default_password."/>
<action application="log" data="CRIT Once changed type 'reloadxml' at the console."/>
<action application="log" data="CRIT WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING "/>
<!-- <action application="sleep" data="10000"/> -->
</condition>
注释这个睡眠之后,在电脑学习过程中就能很快的处理请求了!