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

该命令会一键完成整个服务的编译构建工作,包括:

  1. 构建开发环境镜像
  2. 启动容器并编译所有依赖库
  3. 编译 FreeSwitch 主程序
  4. 构建运行时镜像

分步操作

# 构建 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

注意事项

  1. 首次使用需要先运行 ./fs.sh init freeswitch 下载源代码
  2. 构建过程需要较长时间和较大的磁盘空间
  3. 构建过程中会生成 .cached/ 目录用于缓存编译结果
  4. 项目默认使用阿里云镜像源加速依赖安装

许可证

本项目基于 FreeSwitch 及其相关组件的开源许可证。

如有问题或建议,请联系开发团队。
这篇文章把 AI 外呼的链路和落地要点讲清楚了。这个开源模块的完整源码我已开源,可以在下面的仓库获取:

  • GitHub:https://github.com/pzhu1015/sales
  • Gitee(国内访问更快):https://gitee.com/pzhu1015/sales

如果你正在做或打算做智能外呼 / 呼叫中心,除了这个模块,还有 FreeSWITCH 部署、ASR/TTS 对接、Kamailio 负载、录音上云等相关方案,欢迎到仓库交流和看更多实现。

欢迎技术交流,一起把 AI 外呼做好。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐