讲师中心 微信公众号
AI工具推荐 视频效率加速

FreeSWITCH1.10.11安装部署融合通信教程全攻略

雨婷君_7184

雨婷君_7184

发布时间:2026-08-17 16:39:07

|

683人浏览过

|

来源于php中文网

原创

FreeSWITCH 1.10.11在CentOS 7上需先替换阿里云源、启用SCLo仓库并安装devtoolset-7;再按指定commit编译sofia-sip 1.13.17和spandsp(0d2e6ac65e);最后配置关闭非必需模块,用systemd管理服务并调高ulimit。

freeswitch1.10.11安装部署融合通信教程全攻略 - php中文网

在AI电销机器人、WebRTC音视频会议和企业IP-PBX等融合通信场景中,需要一个稳定、可定制、支持SIP/WebRTC/IVR的软交换核心,FreeSWITCH 1.10.11正是当前生产环境广泛验证的成熟版本,它能承载数千路并发并提供ESL、Event Socket等关键集成接口。

系统环境初始化与依赖安装

先切换到root用户执行全部操作,避免权限中断导致编译失败:
sudo su -

替换CentOS 7默认源为阿里云镜像,并启用EPEL和SCLo仓库——这是后续所有依赖能正确解析的前提:
cd /etc/yum.repos.d && cp -p CentOS-Base.repo CentOS-Base.repo.bak && wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && wget -O epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

手动修复已停服的centos-sclo源,否则yum install会卡死在“Cannot retrieve metalink”:
echo '[centos-sclo-rh]\nname=CentOS-7 - SCLo rh\nbaseurl=http://vault.centos.org/centos/7/sclo/\$basearch/rh/\ngpgcheck=1\nenabled=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo' > /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

执行基础依赖安装,其中devtoolset-7是必须项,CentOS 7自带gcc 4.8.5无法编译1.10.11的新语法:
yum clean all && yum makecache && yum install -y epel-release centos-release-scl && yum install -y devtoolset-7-gcc* git wget zip unzip nasm yasm cmake3 libtool autoconf automake make python3-devel openssl-devel libcurl-devel pcre-devel speex-devel ldns-devel libedit-devel libxml2-devel libuuid-devel sqlite-devel zlib-devel ncurses-devel libjpeg-devel freetype-devel libpng-devel libsndfile-devel lua-devel

【务必执行 scl enable devtoolset-7 bash 启动新GCC环境,否则configure会因C++11特性报错】

第三方依赖模块编译安装

FreeSWITCH 1.10.11对sofia-sip和spandsp有强版本绑定,必须按指定commit编译,否则启动时mod_sofia加载失败或mod_spandsp崩溃:

方法一:sofia-sip(必须用1.13.17)
cd /root && git clone https://github.com/freeswitch/sofia-sip.git && cd sofia-sip && git checkout 1.13.17 && ./bootstrap.sh && ./configure --prefix=/usr/local && make && make install && ldconfig

方法二:spandsp(严禁使用master分支)
cd /root && git clone https://github.com/freeswitch/spandsp.git && cd spandsp && git checkout 0d2e6ac65e0e8f53d652665a743015a88bf048d4 && ./bootstrap.sh && ./configure --prefix=/usr/local && make && make install && ldconfig

Model Switcher
Model Switcher

根据任务复杂度自动切换不同的AI模型。支持OpenClaw设置中的所有可用模型。当检测到复杂...

下载

注意:spandsp若用最新master,编译通过但运行时会触发V18_MODE_5BIT_4545未声明错误,直接导致freeswitch -nc启动失败。

FreeSWITCH主程序编译与安装

第一步:拉取官方源码并检出精确版本
cd /usr/local/src && git clone https://github.com/signalwire/freeswitch.git && cd freeswitch && git checkout v1.10.11

第二步:配置编译选项,关闭非必需模块减少冲突风险
./bootstrap.sh -j && ./configure --prefix=/usr/local/freeswitch --with-python=/usr/bin/python3 --enable-core-pyduns-support --disable-mod_av --disable-mod_lua --enable-mod_opus --enable-mod_sofia --enable-mod_dptools --enable-mod_event_socket --enable-mod_xml_cdr

第三步:编译并安装(耗时约12–25分钟,取决于CPU核心数)
make -j$(nproc) && make install && make cd-sounds-install && make cd-moh-install

第四步:创建专用运行用户并授权
useradd -r -s /sbin/nologin freeswitch && chown -R freeswitch:freeswitch /usr/local/freeswitch

服务配置与首次启动

将systemd服务文件复制到位并启用开机自启:
cp /usr/local/freeswitch/freeswitch.service /lib/systemd/system/ && systemctl daemon-reload && systemctl enable freeswitch

启动前必须设置ulimit,否则高并发下会出现“too many open files”错误:
echo "freeswitch soft nofile 65539" >> /etc/security/limits.conf && echo "freeswitch hard nofile 65539" >> /etc/security/limits.conf && echo "DefaultLimitNOFILE=65539" >> /etc/systemd/system.conf && systemctl daemon-reload

启动服务并检查状态:
systemctl start freeswitch && systemctl status freeswitch -l

验证控制台连通性:
fs_cli -x "status"

相关文章

热门游戏推荐
热门游戏推荐

海量精品小游戏合集,无需安装即点即玩,休闲益智、动作闯关应有尽有,秒开即玩,轻松解压,快乐停不下来

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
switch语句用法
switch语句用法

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

1071

2023.09.21

Java switch的用法
Java switch的用法

Java中的switch语句用于根据不同的条件执行不同的代码块。想了解更多switch的相关内容,可以阅读本专题下面的文章。

1417

2024.03.13

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

40

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

20

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

20

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

20

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

20

2026.10.22

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

20

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP基础入门课程
PHP基础入门课程

共33课时 | 3.5万人学习

前端系列快速入门课程
前端系列快速入门课程

共4课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn