FreeSWITCH_1.10.11源码安装(centos7)

背景:

        一直计划升级一下FreeSWITCH 1.6.20的,但是一直没有行动,一方面是线上使用比较稳定了,另一方面是Centos7编译FreeSWITCH确实有些麻烦,实在不如debian来得方便。

        最近业务扩容,计划将FreeSWITCH升级计划提上日程,现整理了一下centos7编译FreeSWITCH 1.10.11的详细步骤和注意事项。

前置准备事项说明:

FreeSWITCH源码编译前,需要下载相应的安装包和依赖包:

必须的:

freeswitch-release-repo-0-1.noarch.rpm

sofia-sip-1.13.17.zip

spandsp-master.zip

可选的:
如果需要mod_av模块的话:

nasm-2.16.tar.gz

libx264.tar.bz2

libav-12.tar.bz2

如果需要mod_h323模块的话:

ptlib-2_10_9_6.tar.gz

h323plus-1_28_0.zip

如果需要mrcp模块的话:

unimrcp-deps-1.6.0.tar.gz

mod_unimrcp-main.zip
 

开始部署:

1、账号注册:

按照官方文档介绍,注册一个SignalWire 账号,并获取一个pat token(token有name和token 2部分,要记住,后面安装依赖包需要用到。不想注册的话,百度里面也能找到一些别人分享的token):https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Installation/how-to-create-a-personal-access-token/how-to-create-a-personal-access-token/

2、安装依赖包:

不得不说,通过yum-builddep -y freeswitch安装依赖包,要省事很多,以前部署FreeSWITCH1.6.20的时候,很多centos7依赖包需要自己去找和适配,现在官方准备好了,基本可以很方便完成所需的依赖包安装了。

#输入signalwire账号和token,这里需要自己去官网注册一个(参照步骤1),或者自己百度一个,该账号并没有什么实际用途,仅仅是为了下载依赖包而已

echo "USER" > /etc/yum/vars/signalwireusername
echo "PASS" > /etc/yum/vars/signalwiretoken

#下载并安装freeswitch-release-repo-0-1.noarch.rpm epel-release,官方教程,这里有点坑爹
yum install -y https://$(< /etc/yum/vars/signalwireusername):$(< /etc/yum/vars/signalwiretoken)@files.freeswitch.org/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm epel-release


#安装依赖包
如果有spandsp-devel-1.99.0-15.a6266f2259.x86_64,先卸载掉,再安装spandsp3-devel

rpm -e spandsp-devel-1.99.0-15.a6266f2259.x86_64

yum install -y yum-plugin-ovl centos-release-scl rpmdevtools yum-utils git mariadb-connector-c mariadb-connector-c-devel python3-devel spandsp3-devel hiredis-devel hiredis
yum-builddep -y freeswitch  --skip-broken

可能出现的报错:
Error: No Package found for lame-devel

#如果有该报错,   Error: No Package found for lame-devel
#下载libmp3lame的rpm包,进行安装

rpm -ivh libmp3lame-3.98.4-4.el6.x86_64.rpm
rpm -ivh libmp3lame-devel-3.98.4-4.el6.x86_64.rpm


 

3、相关模块安装:

如果没有视频类的需求的话,建议直接跳到步骤4开始安装FreeSWITCH了

3.1、mod_av安装:

mod_av 依赖 libav,libav 需要 x264 lib 才能支持 H264,x264 依赖 nasm(系统自带的版本太低,需要大于 2.13 版才行),所以安装顺序是 nasm -> x264 -> libav

#启用devtoolset-9,切换到gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)
# scl -l
devtoolset-9
scl enable devtoolset-9 bash



# 安装nasm
cd /usr/local/src/
wget -N -t 0 https://www.nasm.us/pub/nasm/releasebuilds/2.16/nasm-2.16.tar.gz
tar -xzvf nasm-2.16.tar.gz 
cd nasm-2.16
./configure
make && make install


# 安装libx264
wget -c http://files.freeswitch.org/downloads/libs/libx264.tar.bz2
tar -jxvf libx264.tar.bz2
cd libx264
./configure --enable-static --enable-shared --prefix=/usr
make
make install




#FFmpeg-release-5.1安装:
wget -N -t 0 https://codeload.github.com/FFmpeg/FFmpeg/zip/refs/heads/release/5.1 -O FFmpeg-release-5.1.zip
unzip FFmpeg-release-5.1.zip
cd FFmpeg-release-5.1
ldconfig
./configure --prefix=/usr/local/freeswitch/ --enable-pic --extra-libs="-ldl" --extra-cflags=-fPIC --extra-cxxflags=-fPIC --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-libx264
make && make install
3.2、mod_h323安装:
3.2.1下载h323plus-v1_26_5.tar.gz和ptlib-2.12.8.tar.bz2

参考网址:http://www.h323plus.org/source/

3.2.2解压对应的模块,开始安装:
#ptlib依赖flex

yum -y install flex


#安装 ptlib
#进入ptlib源码目录:

cd ptlib-2_10_9_6
./configure
make&make install

#安装h323plus
#进入h323plus源码目录

cd h323plus-1_28_0
./configure
make&make install


4、安装FreeSWITCH:

        FreeSWITCH默认安装启用了mod_av,如果不考虑视频、mrcp等模块的话,编辑源码下面的modules.conf文件,将mod_av注释后,此时就可以开始安装FreeSWITCH了,如果需要mod_av模块的话,就按照上面的步骤3进行安装;如果有非默认模块需要安装的话,编辑源码下面的modules.conf文件,启用需要启用的模块。

最后,开始编译FreeSWITCH 1.10.11,没有报错的话,FreeSWITCH 1.10.11就安装完成了。

#进入到freeswitch 1.10.11源码目录
cd freeswitch-1.10.11
./bootstrap.sh

#如果有编译默认模块之外的模块,在modules.conf里面启用对应的模块,没有则忽略
#如果没有视频的需求,可以把mod_av注释掉
vi modules.conf


#开始编译

./configure --enable-portable-binary --with-gnu-ld --with-python --with-openssl --enable-core-odbc-support --enable-zrtp  --enable-core-pgsql-support

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

如果不需要安装mrcp对接asr/tts等服务的话,此时FreeSWITCH就部署完成了,还是比较简单的,可以跳到步骤7启动FreeSWITCH了;如果需要mrcp服务的话,可按照下面步骤部署mrcp服务。

5、mod_unimrcp模块安装

因为FreeSWITCH最新版本已经去掉了unimrcp模块的默认安装,所以如果需要使用mod_unimrcp的话,需要在FreeSWITCH 1.10.11部署完成之后,再部署unimrcp和mod_unimrcp模块,freeswitch自带的源码里面,没有mod_unimrcp模块了。如果不需要使用mrcp做机器人业务,则该步骤忽略可跳过,不影响freeswitch的正常启动使用。

5.1 mod_unimrcp安装:
#mod_unimrcp安装

#1、下载并安装:unimrcp-deps-1.6.0.tar.gz
cd /usr/local/src/
wget https://www.unimrcp.org/project/component-view/unimrcp-deps-1-6-0-tar-gz/download -O unimrcp-deps-1.6.0.tar.gz --no-check-certificate

tar xvzf unimrcp-deps-1.6.0.tar.gz
cd unimrcp-deps-1.6.0
cd libs/apr
./configure --prefix=/usr/local/apr
make && make install 

cd ../apr-util
./configure --prefix=/usr/local/apr
make && make install


#2、下载并安装:unimrcp
cd /usr/local/src/
git clone https://github.com/unispeech/unimrcp.git

cd unimrcp
./bootstrap
./configure       
make && make install


#3、下载并安装:mod_unimrcp
cd /usr/local/src/
git clone https://github.com/freeswitch/mod_unimrcp.git
cd mod_unimrcp
./bootstrap.sh
./configure
make
make install

6、中文包部署:

该步骤用处不大,有没有不影响freeswitch的正常使用,可跳过正常启动freeswitch。仅作为小功能了解一下。

freeswitch官方语音包下载地址:Index of /releases/sounds

下载后,上传到服务器,解压到freeswitch目录,如下:

修改freeswitch的vars.xml文件,启用中文播报

部署完成

参照此文档部署完成之后,FreeSWITCH默认安装在/usr/local/freeswitch目录下,

7、启动freeswitch并启用相关的模块:

为方便启动freeswitch,可以做软链,或进程守护 

#freeswitch启动:
/usr/local/freeswitch/bin/freeswitch -nonat -nc

#做软链,方便启动:
ln -s /usr/local/freeswitch/bin/fs_cli /usr/local/bin/
ln -s /usr/local/freeswitch/bin/freeswitch /usr/local/bin/

大功告成

freeswitch相关优化:

freeswitch编译完成之后,测试的话基本是可以使用的;但是要上线业务的话,freeswitch正常启动后,其实还有不少的优化工作需要做,包括不限于:

1、关闭ipv6,

2、修改stun地址,

3、关闭signalwire模块,

4、其他参数优化

具体见后续文档

更多讨论或技术支持可加QQ群:482489124或QQ:736984328

  • 50
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
CentOS 7上安装FreeSWITCH的步骤如下: 1. 下载FreeSWITCH源码包。可以使用以下命令从官方仓库下载源码: ``` git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch ``` 2. 进入源码目录并进行配置。使用以下命令进入源码目录并运行配置脚本: ``` cd freeswitch-1.6.10 ./configure --enable-core-pgsql-support ``` 3. 安装FreeSWITCH的运行库和必要的模块。根据需要,您可以使用适当的包管理器安装所需的库和模块。 4. 安装声音文件。您可以使用适当的命令或脚本安装FreeSWITCH所需的声音文件。 请注意,以上步骤假设您已经在CentOS 7上安装了必要的依赖项和运行环境。如果还没有安装CentOS 7,请先参考相关资料进行安装。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [在CentOS 7上部署FreeSWITCH的过程](https://blog.csdn.net/chenshun87/article/details/98648619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [centos7安装Freeswitch](https://blog.csdn.net/qq_36695734/article/details/118488952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值