跳到正文

deploy 部署配置与运行参考

deploy/ 目录保存 AI Voice Platform 当前生产环境(阿里云公网核心节点)与本地运行环境(WSL /data/ai-voice 容器化集群)的全部部署配置、服务定义与编排文件。

text
deploy/
├── aliyun/                           # 阿里云公网核心节点部署配置
│   ├── README.md                     # 阿里云节点配置与前端/ESL更新说明
│   ├── nginx/                        # 公网 Nginx 反向代理、HTTPS SSL 与前端静态托管
│   │   ├── ai-voice-public.conf
│   │   └── README.md                 # 9 个 server 块、反代规则与排障速查
│   ├── callflow-esl/                 # Outbound ESL 业务编排服务
│   │   ├── callflow-esl.config.json
│   │   └── callflow-esl.service
│   ├── freeswitch/                   # FreeSWITCH 软交换中心配置参考树 (已有,无需重复部署)
│   ├── frp/                          # FRP 反向代理穿透服务端 (FRPS)
│   │   ├── frps.toml
│   │   └── frps.service
│   ├── coturn/                       # STUN/TURN 媒体穿透服务
│   │   ├── turnserver.conf.example
│   │   ├── coturn.service
│   │   └── README.md
│   └── docs-site/                    # 官方文档站 Nginx 配置
│       ├── nginx.conf
│       ├── nginx-http-bootstrap.conf
│       └── README.md

├── freeswitch/                       # FreeSWITCH 配置参考树(通用基线,与 aliyun/freeswitch/ 的
│                                     #   现场快照区分:本目录用于新环境合并部署)
│   ├── freeswitch.xml, vars.xml
│   ├── autoload_configs/             # event_socket / modules / acl / conference 等
│   ├── dialplan/                     # 业务号码 → callflow-esl outbound socket 路由
│   ├── directory/                    # 分机与域
│   ├── sip_profiles/                 # internal / external / WebRTC profile
│   └── tls/                          # 样例证书占位,生产不得复用

├── wsl-docker/                       # WSL 本地 /data/ai-voice 容器化与语音服务部署配置
│   ├── README.md                     # WSL 部署与运行手册
│   ├── Dockerfile                    # 统一运行环境基础镜像 (ai-voice-runtime:latest)
│   ├── docker-compose.yml            # 6 个业务与语音服务容器 + 1 个 FRPC 编排
│   ├── configs/                      # 容器服务配置文件
│   │   ├── callflow-server.json
│   │   ├── callout-server.json
│   │   ├── callai-server.json
│   │   ├── emotion-analysis-server.json
│   │   ├── sherpa-asr-online-server.json
│   │   └── sherpa-tts-server.json
│   └── frpc/                         # WSL 宿主机 FRP 客户端
│       ├── frpc.service
│       ├── frpc.toml
│       └── run-frpc.sh

├── softphone-webrtc-ice-turn-guide.md # 5G 软电话 WebRTC ICE/TURN 穿透手册
└── README.md                         # 部署目录总说明(本文件)

部署拓扑与数据流向

  1. 公网接入与控制中心(阿里云 aliyun

    • Nginx:直接在本地静态托管 callflow-webpagecallout-webpagecallai-webpage 3 个 SPA 产物与 ai-voice-docs 文档站;终结全站 9 个域名 HTTPS/WSS(Let's Encrypt 证书)并将 /api/ 路由与各模型端点转发至 FRP 回环隧道。
    • callflow-esl:常驻运行,直接控制本地 FreeSWITCH,并通过本地 12000~12013 FRP 回环端口与 WSL 计算集群交互。
    • FreeSWITCH云端已有常驻实例,提供 SIP 交换、WebRTC WSS 音频流及 mod_audio_fork 识别分流,通过 12004 连通 WSL 核心数据库,无需再次部署。
    • FRPS:监听 7000 端口,聚合来自 WSL 宿主机的反向代理隧道。
    • coTURN:监听 3478 端口与 31000-31040 relay 范围,提供 WebRTC ICE/TURN NAT 穿透。
  2. 业务计算与语音模型集群(WSL /data/ai-voice

    • Docker Compose:统一编排 callflow-servercallout-servercallai-server 3 个应用服务端,以及 sherpa-asr-online-serversherpa-tts-serveremotion-analysis-server 3 个 ONNX 语音服务。
    • FRPC:在 WSL 宿主机运行,建立至阿里云 FRPS 的长连接,带有物理网卡直连路由守护。
    • 数据库与模型:直连本地 PostgreSQL 15(数据库 freeswitch,包含 callflow / callout / callai 等 schema)、Redis 7.2 及本地 LLM 推理后端。

文档与代码在同一仓库维护,现有 Markdown 是唯一内容源。