FreeSWITCH一键打包Docker镜像(源码编译)
·
FreeSwitch Docker 构建项目
本项目用于通过 Docker 容器化方式构建和部署 FreeSwitch 服务,包含所有必要的依赖项和编译脚本。
项目结构
.
├── docker/ # Docker 相关文件
│ ├── freeswitch-dev.dockerfile # FreeSwitch 开发环境 Dockerfile
│ ├── freeswitch.dockerfile # FreeSwitch 运行环境 Dockerfile
│ └── fs.yml # Docker Compose 配置文件
├── script/ # 编译脚本
│ ├── compile.sh # 依赖库编译脚本
│ └── compile_fs.sh # FreeSwitch 主程序编译脚本
├── fs.sh # 主要操作脚本
├── modules.conf # FreeSwitch 模块配置文件
└── sources/ # 源代码目录(运行时生成)
功能特性
- 基于 Debian Bookworm Slim 系统构建
- 集成 FreeSwitch v1.10.12 及其依赖库
- 支持多种编解码器(G729、OPUS、AMR等)
- 包含 UniMRCP 模块支持语音识别和文本转语音
- 支持多语言接口(Lua、Python3)
- 通过 Docker 容器化部署,环境隔离,易于部署和维护
依赖组件
- FreeSwitch v1.10.12
- Sofia-SIP v1.13.17
- Libfvad v1.0
- Spandsp
- UniMRCP
- BCG729 (G729 编解码器)
- 多种数据库支持(MariaDB、PostgreSQL)
- 多语言支持(Lua、Python3)
使用方法
初始化源代码
./fs.sh init freeswitch
该命令会下载 FreeSwitch 及其所有依赖库的源代码到 sources/ 目录。
构建完整 FreeSwitch 镜像
./fs.sh pkg freeswitch
该命令会一键完成整个服务的编译构建工作,包括:
- 构建开发环境镜像
- 启动容器并编译所有依赖库
- 编译 FreeSwitch 主程序
- 构建运行时镜像
分步操作
# 构建 FreeSwitch Docker 基础镜像(生成编译环境)
./fs.sh build freeswitch
# 启动 FreeSwitch Docker 容器
./fs.sh up freeswitch
# 在镜像中编译所有源代码
./fs.sh compile freeswitch
# 将编译好的程序打包到运行镜像
./fs.sh release freeswitch
进入容器调试
./fs.sh bash freeswitch
模块配置
项目通过 modules.conf 文件配置需要启用的 FreeSwitch 模块,可以根据需要启用或禁用相应模块。
版本控制
可以通过修改 fs.sh 脚本开头的变量来指定不同库的版本:
- FreeSwitch: v1.10.12
- Sofia-SIP: v1.13.17
- Libfvad: v1.0
注意事项
- 首次使用需要先运行
./fs.sh init freeswitch下载源代码 - 构建过程需要较长时间和较大的磁盘空间
- 构建过程中会生成
.cached/目录用于缓存编译结果 - 项目默认使用阿里云镜像源加速依赖安装
许可证
本项目基于 FreeSwitch 及其相关组件的开源许可证。
如有问题或建议,请联系开发团队。
这篇文章把 AI 外呼的链路和落地要点讲清楚了。这个开源模块的完整源码我已开源,可以在下面的仓库获取:
- GitHub:https://github.com/pzhu1015/sales
- Gitee(国内访问更快):https://gitee.com/pzhu1015/sales
如果你正在做或打算做智能外呼 / 呼叫中心,除了这个模块,还有 FreeSWITCH 部署、ASR/TTS 对接、Kamailio 负载、录音上云等相关方案,欢迎到仓库交流和看更多实现。
欢迎技术交流,一起把 AI 外呼做好。
更多推荐



所有评论(0)