test(agent-call): record persistent SIP probes
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# 持久真实 SIP/Asterisk 测试环境证据(2026-09-13)
|
||||
|
||||
## 环境
|
||||
|
||||
- ECS:`i-2zegaldd07mkp0xyhcff`,Ubuntu 24.04,`ecs.e-c1m1.large`。
|
||||
- 竞价策略:`SpotAsPriceGo`(自动竞价);竞价回收可能中断活动通话。
|
||||
- 固定 EIP:`123.56.71.98`,当前保持 `InUse` 并绑定该 ECS。
|
||||
- Asterisk:`22.10.1`,固定镜像 digest:`sha256:0f5e3cd0e9a86bc9dc4750929abee9ba1faae11ed39739f3e75343d39d837e41`。
|
||||
- 线路:UDP `61.132.228.221:5060`,IP 白名单免注册。
|
||||
- PJSIP contact:`Avail`,实测 RTT 约 `22.146 ms`。
|
||||
- 主叫原值:`BD93205882`;`From user` 与 `CALLERID` 均使用原值,未发送 P-Asserted-Identity。
|
||||
- 环境按用户要求保留,未在本轮测试后停止或删除。
|
||||
|
||||
## 两个被叫测试
|
||||
|
||||
两次均使用同一环境、线路、主叫、UDP/ulaw、RTP 配置;均只发起一次,不自动重试。
|
||||
|
||||
| 原始被叫 | 实际呼出目标 | SIP结果 | RTP/接通 |
|
||||
| --- | --- | --- | --- |
|
||||
| `18601013734` | `708918601013734` | `100 trying` 后 `488 Not Acceptable Here`;`Q.850 cause=88 INCOMPATIBLE_DESTINATION` | 未接通、无 RTP |
|
||||
| `18625770806` | `708918625770806` | `100 trying` 后 `488 Not Acceptable Here`;`Q.850 cause=88 INCOMPATIBLE_DESTINATION` | 未接通、无 RTP |
|
||||
|
||||
两组不同号码在同一线路上得到完全相同的目的地不兼容结果,进一步支持供应商共享路由/线路参数问题;仍不能仅凭两次失败排除同一号码段盲区。需供应商提供已知可达号码,或确认被叫格式/路由、From 域和编解码要求后再继续。
|
||||
|
||||
## 范围边界
|
||||
|
||||
本次仅验证了持久 ECS、Asterisk、SIP OPTIONS/contact、两次真实 INVITE 和失败回执;未验证真实 RTP、MQ、OSS、ASR、LLM/TTS 或完整 AI 通话。
|
||||
@@ -306,4 +306,4 @@ bash -n deploy/asterisk.sh
|
||||
|
||||
本轮可重复命令 `python3 -m unittest discover -s tests -v` 和 RabbitMQ Compose smoke 已通过;`python3 -m scripts.acceptance` 的 V01~V13 Mock 探针通过,因 V14 仍需外部真实证据而按门禁返回非零,证据归档于 `docs/evidence/acceptance-mock-2026-09-12.json`。SCALE-MOCK 在阿里云北京专用竞价 Cell `ecs.hfg6.large` 上完成:100 租户、1200 模拟呼叫、禁用1个Cell,最低1004路已回答并连续观察3600秒;详见 `docs/evidence/scale-mock-2026-09-12.json`。该证据仅证明 Mock 协议/持久状态负载基线,`continuous_media_evidence` 为 false,不替代真实媒体容量。
|
||||
|
||||
R1 已完成两次真实 Asterisk/SIP 单路探针:分别使用原始被叫 `18601013734` 和 `18625770806`,均按 `7089` 前缀构造目标。两次均使用固定 EIP `123.56.71.98`,PJSIP contact/OPTIONS 可达,真实 INVITE 已送达供应商;两次均收到 `488`、`Q.850 cause=88 INCOMPATIBLE_DESTINATION`,未接通、未建立 RTP,证据见 `docs/evidence/asterisk-real-2026-09-12.md`。两次测试实例、专用安全组和KeyPair均已删除,EIP 未释放且回到 Available,临时 SSH 规则已撤销。真实接通/RTP、ASR/LLM/TTS/OSS、生产 1000 路完整 AI、N+1、实际CPS/SLO及副作用正确性仍阻塞,现有产物不得据此宣称生产完成。
|
||||
R1 已在持久测试环境完成两次真实 Asterisk/SIP 单路探针:分别使用原始被叫 `18601013734` 和 `18625770806`,均按 `7089` 前缀构造目标。环境 ECS `i-2zegaldd07mkp0xyhcff` 使用 `SpotAsPriceGo` 自动竞价和固定 EIP `123.56.71.98`;PJSIP contact/OPTIONS 可达,真实 INVITE 已送达供应商,两次均收到 `488`、`Q.850 cause=88 INCOMPATIBLE_DESTINATION`,未接通、未建立 RTP,证据见 `docs/evidence/asterisk-persistent-2026-09-13.md`。环境按用户要求保持运行,未删除实例/EIP。真实接通/RTP、ASR/LLM/TTS/OSS、生产 1000 路完整 AI、N+1、实际CPS/SLO及副作用正确性仍阻塞,现有产物不得据此宣称生产完成。
|
||||
|
||||
+6
-6
@@ -12,8 +12,8 @@
|
||||
| ASR 连接与协议 | 已加固:断开清理、取消、写入/启动时限、最终结果背压、火山帧长度及gzip解压上限 |
|
||||
| 部署底座 | 已实现:非root/read-only ASR容器、回环端口、Asterisk配置生成和显式启动检查 |
|
||||
| 阿里云主机准备 | 已实现CLI驱动的只读计划、受控创建竞价实例、复用主机和绑定既有EIP;默认不修改云资源 |
|
||||
| 云端实际操作 | 已完成V13一次性专用竞价Cell创建、绑定固定EIP、SCALE-MOCK及回收;测试实例已删除,固定EIP保留 |
|
||||
| Asterisk真实接入 | 已完成R1单路底座与SIP探针;OPTIONS/contact可达,但真实INVITE被供应商以488/Q.850 cause=88拒绝,未通过外呼验收 |
|
||||
| 云端实际操作 | 已完成V13一次性专用竞价Cell创建、绑定固定EIP、SCALE-MOCK及回收;另保留一台SpotAsPriceGo真实SIP测试环境 |
|
||||
| Asterisk真实接入 | 已完成R1底座与两号码SIP探针;OPTIONS/contact可达,但两个真实INVITE均被供应商以488/Q.850 cause=88拒绝,未通过外呼验收 |
|
||||
| LLM/TTS | 未实现、未启用,等待用户新的供应商/协议/参数规范 |
|
||||
| agent-call Mock 调度、MQ/OSS闭环 | 已实现:租户独立路由、DB状态、CAS控制、outbox/inbox、Mock SIP/ARI/RTP/AI和OSS校验;未替代真实Asterisk/供应商验收 |
|
||||
| ARI业务调度、自动FALLBACK、真实MQ/OSS回传 | 未完成;现有主备trunk配置不能当成自动切换代码 |
|
||||
@@ -236,14 +236,14 @@ python3 deploy/migrate.py data/agent-call.sqlite3
|
||||
|
||||
### 7.3 当前门禁
|
||||
|
||||
本地V01-V12及阿里云专用主机上的V13 Mock探针已通过;完整验收脚本仍因V14需要外部真实证据而按门禁返回非零,证据见`docs/evidence/acceptance-mock-2026-09-12.json`和`docs/evidence/scale-mock-2026-09-12.json`。V13使用100租户/1200模拟接通、禁用1个Cell,最低1004路已回答并持续观察3600秒;这是Mock协议/持久状态负载证据,不是RTP或生产容量证据。R1真实SIP证据见`docs/evidence/asterisk-real-2026-09-12.md`:固定EIP和SIP OPTIONS/INVITE链路可达,但两个不同目标均收到488/Q.850 cause=88。两次测试ECS及本次专用安全组/KeyPair已回收,固定EIP`123.56.71.98`保持Available。真实接通/RTP、ASR/LLM/TTS/OSS、生产1000路/N+1尚未完成。正式模式拒绝当前Mock profile,不能把测试号码或Mock成功自动升级为真实外呼授权。
|
||||
本地V01-V12及阿里云专用主机上的V13 Mock探针已通过;完整验收脚本仍因V14需要外部真实证据而按门禁返回非零,证据见`docs/evidence/acceptance-mock-2026-09-12.json`和`docs/evidence/scale-mock-2026-09-12.json`。V13使用100租户/1200模拟接通、禁用1个Cell,最低1004路已回答并持续观察3600秒;这是Mock协议/持久状态负载证据,不是RTP或生产容量证据。R1临时探针见`docs/evidence/asterisk-real-2026-09-12.md`,持久环境两号码探针见`docs/evidence/asterisk-persistent-2026-09-13.md`:固定EIP和SIP OPTIONS/INVITE链路可达,但两个目标均收到488/Q.850 cause=88。当前持久测试ECS保持运行,使用SpotAsPriceGo,固定EIP`123.56.71.98`保持InUse。真实接通/RTP、ASR/LLM/TTS/OSS、生产1000路/N+1尚未完成。正式模式拒绝当前Mock profile,不能把测试号码或Mock成功自动升级为真实外呼授权。
|
||||
|
||||
## 8. 下一步需要用户提供/确认
|
||||
|
||||
1. 供应商需确认`7089`前缀/目标号码路由、From域(当前实际出现私网域)及允许的编解码;R1证据中的`488/Q.850 cause=88 INCOMPATIBLE_DESTINATION`未通过外呼验收。
|
||||
2. 确认后再按单次授权重新创建测试Cell并只发起一通探针;不沿用旧测试实例、不自动重试、不改绑或释放固定EIP。
|
||||
1. 供应商需确认`7089`前缀/目标号码路由、From域(当前实际出现私网域)及允许的编解码;两个持久环境探针均返回`488/Q.850 cause=88 INCOMPATIBLE_DESTINATION`,未通过外呼验收。
|
||||
2. 供应商调整后在当前持久测试环境复测;环境使用SpotAsPriceGo,竞价回收可能中断通话,不自动重试、不改绑或释放固定EIP。
|
||||
3. ASR测试凭据、批准的模型/资源ID;Web HTTPS域名/证书或SSH访问方案。
|
||||
4. 用户制定的MQ/OSS ID接口规范,以及新的LLM/TTS协议、参数与取消/打断规则。
|
||||
5. 真实接通后仍需分别完成RTP、录音、MQ/OSS、ASR/LLM/TTS和生产1000路/N+1验收。
|
||||
|
||||
在供应商规则确认前,不再次拨打真实号码,也不声称完成整个平台。
|
||||
在供应商规则确认前,不再次拨打真实号码,也不声称完成整个平台;当前持久测试环境按用户要求保留。
|
||||
|
||||
Reference in New Issue
Block a user