目标机器:39.106.106.246 登录用户: root 任务目标:在 livekit 运行时下线后,部署 Asterisk 并以 ARI + Mock SIP 实现 SIP 对接与运行状态检测。 项目地址: https://github.com/asterisk/asterisk (容器镜像 andrius/asterisk = Asterisk 22 LTS) 项目背景:使用 Asterisk 对接 MOCK SIP 服务商,作为 AI 外呼机器人基础能力底座,使用 MOCK 对接 LLM ASR 实现双向语音通信, 本项目仅实现外呼功能,不实现多人房间与呼入功能调研。给出可实现最快水平扩展的结论方案并赋实践证据。给出详细的部署过程文档与系统调优方案。 --- ## 交付状态 (2026-08-31 全部完成) | 目标 | 状态 | 证据 | |---|---|---| | livekit 运行时下线 | ✅ | lk-* 容器清零, 7880/7883/8081/8082/9091/9092 端口释放 | | Asterisk 部署 (双节点) | ✅ | ast1/ast2 healthy, ARI /asterisk/info 200 ×2 (Asterisk 22.10.1) | | Mock SIP 对接 (外呼) | ✅ | INVITE→180→200 OK(PCMU)→ACK, trunk qualify Avail ×2 | | 双向语音 (Mock LLM/ASR) | ✅ | `RESULT ... bidirectional=YES` (agent RX 512帧 RMS 8318; provider recv_rtp=512, 双向计数完全对称) | | 运行状态检测 | ✅ | `scripts/health.sh` 容器+ARI REST+trunk qualify+通道数, ok=5 fail=0 | | 水平扩展结论+实证 | ✅ | 3 路并发分摊双节点 (INVITE 源 172.18.0.2×2 / 172.18.0.4×1), 零配置变更 | | 部署文档+调优方案 | ✅ | 本仓库 `README.md` (§4 部署含踩坑, §8 sysctl 沿用已应用) | **交付物**: 服务器 `/opt/asterisk-ari/` (compose+conf+mock+scripts+README), 本地 `deploy/` 同源; 原始任务与完成状态见本文件, 详细文档见 `README.md`。