freeswitch 搭建
-
获取源码包:freeswitch-1.10.2.-release.tar.gz
https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.10.x+Release+notes
-
解压
tar zxvf freeswitch-1.10.2.-release.tar.gz
-
下载依赖(很多)
yum install -y git gcc-c++ autoconf automake libtool wget python ncurses-devel zlib-devel libjpeg-devel openssl-devel e2fsprogs-devel sqlite-devel libcurl-devel pcre-devel speex-devel ldns-devel libedit-devel libxml2-devel libyuv-devel opus-devel libvpx-devel libvpx2* libdb4* libidn-devel unbound-devel libuuid-devel lua-devel libsndfile-devel yasm-devel libtiff-devel
-
编译
cd freeswitch-1.10.2.-release ./configure make make install # freeswitch其默认的安装位置是/usr/local/freeswitch
-
声音文件
make sounds-install make moh-install make cd-sounds-install make cd-moh-install
-
配置软链 任意位置启动
ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/ ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/
-
后台启动
# 后台启动命令 freeswitch -nc -rp # 进入控制台命令 fs_cli -rRS # 退出命令 /exit /bye 等等... # fs_cli报错 fs_cli.c:1673 main() Error Connecting [] # 解决方法 vim /usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml <param name="listen-ip" value="::"/> 改为 <param name="listen-ip" value="0.0.0.0"/>
-
测试:
9664 | 保持音乐 9196 | echo,回音测试 9195 | echo,回音测试,延迟5秒 9197 | milliwatte extension,铃音生成 9198 | TGML 铃音生成示例 5000 | 示例IVR 4000 | 听取语音信箱 33xx | 电话会议,48K(其中xx可为00-99,下同) 32xx | 电话会议,32K 31xx | 电话会议,16K 30xx | 电话会议,8K 2000-2002 | 呼叫组 1000-1019 | 默认分机号
编译问题
- You must install libavformat-dev to build mod_av。 停止
git clone http://git.videolan.org/git/x264.git
cd x264
./configure --disable-asm
make
make install
wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/x/x264-libs-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm
wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/x/x264-devel-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm
rpm -hiv x264-libs-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm
rpm -hiv x264-devel-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm
git clone https://gitee.com/nwaycn/libav.git
cd libav
./configure --enable-pic --enable-shared --enable-libx264 --enable-gpl --extra-libs="-ldl"
make
make install
cp /usr/local/lib/pkgconfig/libavcodec.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavdevice.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavfilter.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavformat.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavresample.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavutil.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libswscale.pc /usr/lib64/pkgconfig/
ldconfig #动态链接库管理命令,其目的为了让动态链接库为系统所共享
注意:重点来了
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
然后
make clean && ./configure && make
- You must install libopus-dev to build mod_opus。 停止。
yum -y install opus-devel
#可能需要清理: make clean && ./configure && make
如何还报这个错误
vim ./src/mod/codecs/mod_opus/Makefile
注释掉第935 936行的
#install: error
#all: error
-
You must install libpq-dev to build mod_pgsql。 停止。
莫名其妙的问题
-
You must install libks to build mod_signalwire
yum remove cmake #卸载yum安装的版本,若无安装则忽略
cd /usr/local/src
wget https://cmake.org/files/v3.14/cmake-3.14.0.tar.gz
tar vzxf cmake-3.14.0.tar.gz
cd cmake-3.14.0
./configure
make
make install
cd /usr/local/src
yum install libatomic
git clone https://github.com/signalwire/libks.git
cd libks
cmake .
make
make install
- You must install signalwire-client-c to build mod_signalwire。
git clone https://github.com/signalwire/signalwire-c.git
cd signalwire-c/
cmake .
make
make install
ln -sf /usr/local/lib64/pkgconfig/signalwire_client.pc /usr/lib64/pkgconfig/signalwire_client.pc
参考资料
参考地址:http://www.bubuko.com/infodetail-2032889.html
中文文档:http://www.dujinfang.com/2010/04/14/freeswitch-chu-bu.html
《Freeswitch权威指南》