centos7下安装Freeswitch

本文详细指导了在CentOS 7.0环境中从源码编译安装Freeswitch的过程,包括安装依赖库、解决编译错误、安装SIP模块、spandsp模块及音频处理等关键步骤,适合新手入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

	之前已经简单介绍了freeswitch的安装,windows版本的安装请参考之前的文章,本文重点介绍centos7下的环境安装。

从源码开始安装

首先安装freeswitch的运行库

--更新yum
yum update
--安装依赖 
yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel 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 libtiff-devel libtheora-devel libtool 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 libuuid-devel which yasm zlib-devel 

下载源码包

--进入安装目录
cd /usr/local/src
--下载源码包
wget  http://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.6.-release.tar.gz
--解压源码压缩包
tar zxvf freeswitch-1.10.6.-release.tar.gz 

安装必要的模块

--进入目录
cd freeswitch-1.10.6.-release
--编译(会出现编译错误)
./configure
  1. 错误一

错误

原因:缺少sofia-sip和spandsp模块

  1. 安装必要模块
--安装sofia-sip模块
cd /usr/local/src/freeswitch-1.10.6.-release 
git clone https://github.com/freeswitch/sofia-sip.git cd sofia-sip 
./bootstrap.sh -j 
./configure 
make 
make install 
ldconfig


--安装spandsp模块
cd /usr/local/src/freeswitch-1.10.6.-release 
git clone https://github.com/freeswitch/spandsp.git 
cd spandsp 
./bootstrap.sh -j 
./configure 
make 
make install 
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH} 
ldconfig

备注:若出现上面两个文件无法下载,请检查网络并多次下载尝试,笔者也遇到多次无法下载的情况

  1. 继续安装
--重新编译
./configure
make
  1. 错误二
Configuration failed. This could reflect a misconfiguration of your toolchains, improper options selected, or another problem. If you don't see any useful error messages above, the next step is to look at the configure error log file (config.log) to determine what configure was trying to do when it died. make: *** [libs/libvpx/Makefile] Error 1

原因:缺少必要组件,安装组件

git clone https://github.com/yasm/yasm.git && cd yasm && ./autogen.sh && make && make install
  1. 继续安装,继续出错
make[2]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release”
Making all in src
make[2]: 进入目录“/usr/local/src/freeswitch-1.10.6.-release/src” 
Making all in mod 
make[3]: 进入目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod” 
making all mod_amr 
make[4]: 进入目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod/codecs/mod_amr” 
CC mod_amr_la-mod_amr.lo 
CCLD mod_amr.la make
[4]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod/codecs/mod_amr” 
making all mod_av make
[4]: 进入目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod/applications/mod_av”
Makefile:1446: *** You must install libavformat-dev and libswscale-dev to build mod_av。 停止。
make[4]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod/applications/mod_av” 
make[3]: *** [mod_av-all] 错误 1 
make[3]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release/src/mod” 
make[2]: *** [all-recursive] 错误 1 
make[2]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release/src” 
make[1]: *** [all-recursive] 错误 1 
make[1]: 离开目录“/usr/local/src/freeswitch-1.10.6.-release” 
make: *** [all] 错误 2

错误原因:由于许多模块未安装导致无法安装成功。因为这些模块未使用到所以选择不安装
在/usr/local/src/freeswitch-1.10.6.-release/modules.conf中注释掉对应模块即可不安装
禁用的模块有:mod_opus mod_signalwire applications/mod_av
取消禁用 mod_xml_curl

  1. 继续安装
make
make install

安装声音文件

make cd-sounds-install  
make cd-moh-install

安装完毕

**至此,简单的freeswitch已经安装完毕,如需要其中的其他模块可单独安装**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值