• 手把手教大家在CentOS7上编译并安装最新版的FreeSwitch-v1.10.7


            FreeSwitch(官方)推荐的的编译与运行环境是Debian,但是在国内CentOS是比较流行的,所以能在CentOS编译与运行也是非常有必要的。

            FreeSwitch在CentOS7上编译是有官方教程的,但是在国内按照官方教程编译的话,坑比较多。这里就给大家填坑吧,手把手带大家一把编译通过,并运行起来。

            你需要准备的环境:CentOS7

            1.如果不是root权限,务必切换成root权限。

            因为FreeSwitch的编译很多地方都需要root权限。

            切换root权限命令行可以参考

    1. su
    2. #或者
    3. sudo -i

            2.安装需要依赖库

            swadair和pat_ZNSBNrDoMF8Wkh36iXqJRR4u是我向signalwire申请的资源库username与Token,大家随便用。如果不想用,可以自行向signalwire申请。

    1. echo "swadair" > /etc/yum/vars/signalwireusername
    2. echo "pat_ZNSBNrDoMF8Wkh36iXqJRR4u" > /etc/yum/vars/signalwiretoken
    3. yum install -y https://$(< /etc/yum/vars/signalwireusername):$(< /etc/yum/vars/signalwiretoken)@freeswitch.signalwire.com/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm epel-release
    4. yum-builddep -y freeswitch --skip-broken
    5. yum install -y yum-plugin-ovl centos-release-scl rpmdevtools yum-utils git
    6. yum install -y devtoolset-9-gcc*
    7. scl enable devtoolset-9 'bash'

           3.编译安装sofia-sip

    1. cd /usr/local/src
    2. git clone https://github.com/freeswitch/sofia-sip sofia-sip
    3. cd /usr/local/src/sofia-sip
    4. ./bootstrap.sh
    5. ./configure
    6. make
    7. make install

    如果clone不下来,就直接下载吧

    https://github.com/freeswitch/sofia-sip/archive/refs/heads/master.zip

            4.编译安装spandsp

    1. cd /usr/local/src
    2. git clone https://github.com/freeswitch/spandsp.git spandsp
    3. cd /usr/local/src/spandsp
    4. ./bootstrap.sh -j4
    5. ./configure
    6. make -j4
    7. make install -j4
    8. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
    9. ldconfig

            

    如果clone不下来,就直接下载吧

    https://github.com/freeswitch/spandsp/archive/refs/heads/master.zip

            5.下载最新版的FreeSwitch源码,我现在能下载到的版本是v1.10.7

    1. cd /usr/local/src
    2. git clone -b v1.10 https://github.com/signalwire/freeswitch.git freeswitch

    如果clone比较慢的话,也可以考虑直接下载

    https://codeload.github.com/signalwire/freeswitch/zip/refs/tags/v1.10.7

            6.修改FreeSwitch的配置文件 

    1. cd /usr/local/src/freeswitch
    2. vim modules.conf
    3. #找到applications/mod_av这一行并注销,如下:
    4. #applications/mod_av

    在Freeswitch的使用过程中,如果不需要会议融屏的话,一般是用不到这个模块的,所以这里注销了这个模块。如果想要编译mod_av模块,就需要编译安装其所依赖的FFmpeg动态库。如何在CentOS7中编译安装FFmpeg,我会在后续的文章中介绍,本文就不介绍了。

            7.编译并安装FreeSwitch

    1. ./bootstrap.sh -j
    2. ./configure --prefix=/usr/local/freeswitch \
    3. --exec_prefix=/usr/local/freeswitch \
    4. --localstatedir=/usr/local/freeswitch \
    5. --sysconfdir=/usr/local/freeswitch \
    6. --disable-fhs --enable-portable-binary \
    7. --with-gnu-ld --with-python --with-erlang --with-openssl \
    8. --enable-core-odbc-support --enable-zrtp
    9. make
    10. make -j install
    11. make -j cd-sounds-install
    12. make -j cd-moh-install

            8.运行FreeSwitch

    1. cd /usr/local/freeswitch/bin
    2. ./freeswitch

            效果图如下

             至此,Freeswitch的编译、安装与运行就成功了。如何搭建视频电话系统,可以参考我的前一篇文章《手把手教大家在自己的Windows电脑上搭建一个视频电话系统(基于开源项目FreeSwitch+Linphone)

            对视频电话、视频会议、视频直播、视频监控感兴趣的朋友可以加群494348191(开源流媒体解决方案讨论群),有问题一起探讨。

            如果想了解我,可以访问我的个人主页 嘤鸣求友-接外包-android-网站-流媒体-视频会议-视频电话-视频直播-防作弊考试系统,期待与你的相识。

  • 相关阅读:
    格林公式挖洞法中内曲线顺时针的直观解释
    C#8.0本质论第十三章--委托和Lambda表达式
    计算机毕业设计(附源码)python游泳馆管理系统
    MySQL数据库基础操作
    自定义注+切面控制方法执行步骤
    SQL设计时增加说明列
    [Spring] SpringMVC 简介(一)
    Linux之网络协议概念
    Maven私服创建--Nexus
    基于MiniTest的小程序自动化测试
  • 原文地址:https://blog.csdn.net/swadair/article/details/125983988