首页 > 系统相关 >freeswitch-1.10.7 on centos7编译安装

freeswitch-1.10.7 on centos7编译安装

时间:2022-10-26 17:44:09浏览次数:57  
标签:scl 1.10 sudo centos7 编译 yum usr freeswitch

 

 

概述

最近由于项目需求,老版本的fs已经不适用,特此升级了freeswitch的版本,使用当前最新的1.10.7版本编译安装。

环境

centos:CentOS  release 7.0 (Final)或以上版本

freeswitch:v1.10.7

GCC:4.8.5

yum源

目前,最新的freeswitch文档中,要使用yum下载安装包,要求必须使用“SignalWire Personal Access Tokens (PAT)”,也就是signalwire网站的个人TOKEN。

首先,在网站“signalwire.com”注册账号并登录。

然后,进入“https://id.signalwire.com/personal_access_tokens”,生成TOKEN,后面设置yum源会用到。

另外,signalwire一直提示我要创建一个space,但是我一直没有创建成功。

 

使用刚刚在signalwire网站生成的用户名和TOKEN替换下面命令中的“user”和“TOKEN”,并执行。

echo "user" > /etc/yum/vars/signalwireusername

echo "TOKEN" > /etc/yum/vars/signalwiretoken

sudo yum install https://user:[email protected]/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm

sudo yum install epel-release

 

执行成功之后,可以在repolist看到freeswitch和epel源。

sudo yum repolist

*epel/x86_64          Extra Packages for Enterprise Linux 7 - x86_64                  13,756

freeswitch            FreeSWITCH Packages for Enterprise Linux 7 - x86_64              1,192

freeswitch-debuginfo  FreeSWITCH Packages for Enterprise Linux 7 - x86_64 - Debug      1,192

freeswitch-source     FreeSWITCH Packages for Enterprise Linux 7 - x86_64 - Source     1,192

 

成功后,我们就可以直接通过yum安装freeswitch和相关的依赖库。

sudo yum search freeswitch

scl工具

scl工具是用来管理gcc版本的工具集,使用scl可以方便随意的切换当前的gcc版本,具体详情这里不展开,只为了满足fs基本的编译依赖需求。

centos7默认的gcc版本是4.8.5,编译fs1.10是没有问题的。

但是在执行“yum-builddep -y freeswitch“的时候对devtoolset-9的库有依赖要求,而devtoolset-9库需要使用scl的源来安装和管理。

#安装scl工具集,必选安装。

sudo yum install -y centos-release-scl centos-release-scl-rh

sudo yum install -y scl-utils scl-utils-build

sudo yum repolist && yum clean all && yum makecache

#从scl源中安装devtoolset,可选安装

sudo yum search devtoolset-9-gcc

sudo yum install -y devtoolset-9-gcc*

#切换gcc版本,可选操作

scl enable devtoolset-9 'bash'

# 查看从 SCL 中安装的包

scl --list

#通过bash环境来设定,仅对特定用户启用,用户启动终端自动切换gcc版本,可选操作

vi  ~/.bash_profile

# 添加如下

source scl_source enable devtoolset-9

libav库

libav库的编译安装是可选的。

如果需要fs的mod_av模块,就要首先编译安装libav库。

使用ffmpeg库无法正常编译安装mod_av,过程较蛋疼。

编译安装libav库,要首先安装libx264库,否则mod_av库的编译还是会报错。

#编译安装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

sudo make install

sudo cp /usr/lib/pkgconfig/x264.pc /usr/lib64/pkgconfig/

sudo cp /usr/lib/libx264.so /usr/lib64/

sudo cp /usr/lib/libx264.a /usr/lib64/

 

#编译安装libav

wget -c http://files.freeswitch.org/downloads/libs/libav-12.tar.bz2 

tar -jxvf libav-12.tar.bz2

cd libav

./configure --enable-pic --enable-shared  --enable-libx264 --enable-gpl --extra-libs="-ldl" --extra-cflags=-I/usr/include --extra-ldflags=-L/usr/lib64

make

sudo make install

sudo cp /usr/local/lib/pkgconfig/libavcodec.pc /usr/local/lib/pkgconfig/libavdevice.pc /usr/local/lib/pkgconfig/libavfilter.pc /usr/local/lib/pkgconfig/libavformat.pc /usr/local/lib/pkgconfig/libavresample.pc /usr/local/lib/pkgconfig/libavutil.pc /usr/local/lib/pkgconfig/libswscale.pc /usr/lib64/pkgconfig/

sudo ldconfig

依赖库

通过yum源安装的依赖库。

fs1.10版本使用spandsp3版本,编译过程中和spandsp有冲突,需要先卸载spandsp库。

sudo yum remove spandsp-devel

自动安装fs依赖库。

sudo yum-builddep -y freeswitch --skip-broken

sudo yum install yum-plugin-ovl rpmdevtools yum-utils git centos-release-scl centos-release-scl-rh

sudo yum install sofia-sip-devel spandsp3-devel libks signalwire-client-c erlang python-devel  postgresql-devel

编译安装

开始编译fs源代码。

cd freeswitch-1.10.7

chmod 777 * -R

./bootstrap.sh -j

./configure

make

sudo make install

sudo make -j cd-sounds-install

sudo make -j cd-moh-install

不安装sounds的情况下,某些默认放音会放音失败。

配置

FS或SBC的初始配置方案见后续文档。

总结

freeswitch的最新版本对于编译安装流程做了优化处理,编译流程更加简单方便。

freeswitch的新版本和老版本在配置文件上基本可以通用,使用覆盖安装的模式下,老版本的配置文件不需要特别修改,可直接使用。

 

空空如常

求真得真

标签:scl,1.10,sudo,centos7,编译,yum,usr,freeswitch
From: https://www.cnblogs.com/qiuzhendezhen/p/16829294.html

相关文章

  • CentOS7.9 搭建DNS服务器
    一、DNS简介1.DNS的作用DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接......
  • Linux-CentOS7 安装VMware Workstation 12
    1、下载VMware衔接地址http://www.vmware.com/products/workstation/workstation-evaluation,下载Linux版本的VMware。我下载是:VMware-Workstation-Full-12.0.0-29......
  • 快速启动freeswitch
    文档说明:只记录关键地方;试验环境:linuxdebian11目标:启动容器版freeswitchfreeswitchversion:"3"services:freeswitch:image:docker.io/wenba100xi......
  • Centos7防火墙开放端口基本命令
    一、防火墙的开启、关闭、禁用命令(1)设置开机启用防火墙:systemctlenablefirewalld.service(2)设置开机禁用防火墙:systemctldisablefirewalld.service(3)启动防火墙:system......
  • CentOS7关闭x-windows图形界面
    1、关闭原因最近发现系统运行压力有点大,排查一番也没看出来个一二三来,故先把桌面系统关了吧,能节省一点系统资源。2、查看当前默认的启动模式[hui@hadoop105~]$system......
  • Centos7对外开放端口 | 运维 | Linux
    概要本篇文章记录Centos7下查看防火墙状态和网络状态命令firewal相关操作查看对外开放的端口状态查询已开放的端口$netstat-anp查询指定端口是否已开$firewall-......
  • centos7 防火墙及开放端口的常用命令
    开放centos系统tcp端口firewall-cmd--zone=public--add-port=待开放的端口号/tcp--permanent让端口生效firewall-cmd--reload查看防火墙所有开放的端口fi......
  • CentOS7内安装部署Cobbler
    转: CentOS7内安装部署Cobbler_炸鸡嘎嘎的博客-CSDN博客_centos7安装cobblercobbler简介Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、......
  • centos7 安装jdk
    1.上传jdk包jdk-9.0.4_linux-x64_bin.tar.gz2.解压tar-zxvfjdk-9.0.4_linux-x64_bin.tar.gz3.配置环境变量vi/etc/profile在末尾加上#setjavaenvironmentJAVA_......
  • CentOS7服务器JDK8安装
    CentOS7服务器JDK8安装下载jdk官网https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html把安装包导入Centos服务器中解压安......