码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 手把手教大家在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-网站-流媒体-视频会议-视频电话-视频直播-防作弊考试系统,期待与你的相识。

  • 相关阅读:
    市场研究工具有哪些
    java常见面试题(未整理,后续可能一直更新)
    计算机毕业设计Java计算机专业招聘网站(源码+系统+mysql数据库+lw文档)
    DPDK之eventdev_pipeline源码解析
    单例模式(下)
    C# 类class、继承、多态性、运算符重载,相关练习题
    多种工具软件实现宿主机与Ubuntu虚拟机之间文件传输
    相机存储卡被格式化了怎么恢复?数据恢复办法分享!
    《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(14)-Charles过滤网络请求
    Win:使用 netsh 命令配置 Port Forwarding
  • 原文地址:https://blog.csdn.net/swadair/article/details/125983988
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号