docs: record connected Shuqi call after main push
This commit is contained in:
@@ -85,6 +85,7 @@
|
||||
- 使用者批准独立的测试专用 `deploys/test/saas-mock/` 仅模拟缺失的 SaaS:从 0600 的静态快照提供五类正式 HTTP 配置,在专用 RabbitMQ vhost 中由模拟 SaaS 预建现行拓扑;不在 Dispatcher 内注入快照;默认不发布外呼消息,只有受限脚本已为同一 `event_id`/线路/原始号码启动抓包后,才可显式单次 MQ 投递;不替代 Agent/Asterisk/AI/OSS。测试用正式入口必须同时具备只读配置、专用 MQ、真实 Agent/Asterisk/AI/录音/OSS、逐通确认和拨号前活跃抓包证据,缺一项不得试拨。此模拟不构成真实 SaaS 签收。
|
||||
- 开发按 TDD 分批,小步提交;不得覆盖使用者现存修改/未跟踪文件,不自动清理、迁移或覆盖任何现存 SQLite、spool、outbox 和 Agent 恢复文件。旧 `.executions` 及恢复根目录中旧 `.uploads`、`.upload-locks`、逐执行 `state.json` 的发现须只读失败关闭,现存未交付事实由使用者确认处置。真实云账号、EIP、线路、拨号、生产部署和共享数据操作分别需要明确授权。
|
||||
|
||||
- 2026-10-08 使用者确认当前已完成改动合入 main 并推送,远端 `31ebda9` 核对成功后才进行数企独立 sip-call 单通 DEBUG 验证。仅 1 个 INVITE、原事务 100/183/200 与 ACK,原生确认接通;保持 3 秒后原通道两次读取确认 404、结果 `connected/end_confirmed=true`、原配置恢复、Agent 恢复 active、Dispatcher 仍停止。三线 ENV、NAT、旧数据库未改,无 AI/OSS、重拨或换线;原 PCAP 未捕获 BYE/RTP,不能宣称对端 BYE 回执、媒体/声音或 ASR/LLM/TTS 全链路通过。此事实不解除中鼎新地址无回复、静态 transport 公网地址缺项及旧 SQLite 布局拒绝的独立阻断;见 [`docs/evidence/shuqi-sip-call-after-main-push-20261008.md`](docs/evidence/shuqi-sip-call-after-main-push-20261008.md)。
|
||||
- 2026-10-08 使用者指定中鼎改为 `222.186.130.228:5060`、主叫保持 `mbkq`,ENV 与 SaaS 测试 SIP revision 15 已更新,其余两线未变;源码 `310a14f` 的 Agent/Dispatcher 与 sip-call 已部署。获批独立工具 DEBUG 只实际发出一通:1 个 INVITE transaction、6 包(5 次协议重传),0 SIP 回复、未接通;原 `unknown` 结果保留,后续精确原通道 404 的操作者证据先私密落盘后才恢复本通原始配置,未改写为正式终结结果。Agent active、Dispatcher 保持原来 inactive、Asterisk 未重启。新版拒绝旧 SQLite 6 表/version 2,使用者未批准替代运行目录,不能自动迁移、清理或以新空库绕过;恢复后的业务中鼎 AOR 仍为旧地址,不能把工具临时加载等同于持久业务配置生效。DEBUG 还确认 transport 未设外部信令/媒体地址、报文公布私网地址,但旧中鼎抓包在同样设置下仍返回 480,不能把此次无回复唯一归因于 NAT 或断言供应商故障;未修改静态 transport、重启 Asterisk或重复盲拨。现场与回归边界见 [`docs/evidence/zhongding-new-ip-sip-call-debug-20261008.md`](docs/evidence/zhongding-new-ip-sip-call-debug-20261008.md)。
|
||||
- 2026-10-08 使用者批准独立测试工具 [`cmd/sip-call`](cmd/sip-call/README.md):单独编译,以 `sip-call call --sip <线路.env> <原始号码>` 自动加载固定 ENV、临时配置并核对原生 Asterisk,仅拨一通,不接 SaaS/MQ/AI/OSS,不重拨、不换线;业务 Agent/其他 ARI 应用须停止,活动通话或旧测试配置阻断执行。仅 `--debug/-D` 才使用 tcpdump/tshark 收集本通证据;不带参数只报告原生通道事实,不编造 SIP/媒体/抓包事实。`sip-go-agent agent` 同样增加 `--debug/-D`,默认不依赖外部 tcpdump/抓包凭证;调试复用现有抓证脚本并在拨号前严格核对活跃凭证,不能静默降级。HEP 真实 SIP 响应、业务授权、时段、额度及未知执行保留规则不变。开发核验已完成;2026-10-08 经使用者另行确认,独立工具及按当前表生成的三份 0600 ENV 已部署到登记测试机 `rogee` 用户的 `~/sip-call/`,未更新业务 Agent/Dispatcher、未加载或改动既有 Asterisk 线路、未拨号或调用 AI。默认运行不调用抓包工具;使用者进一步要求生产和测试安装环境均统一预装 tcpdump/tshark,不按环境跳过,但抓包仍须显式 `--debug/-D`,不足时不能静默降级。登记测试机现已安装并核对 tcpdump 4.99.5、TShark 4.4.19 的 SIP/RTP 解析能力;未开启抓包或更改抓包权限,不能把工具安装当作逐通抓证、线路接通或生产签收。部署来源、文件 hash 和只读主机事实见 [`docs/evidence/sip-call-test-deployment-20261008.md`](docs/evidence/sip-call-test-deployment-20261008.md)。独立工具不属于生产发布制品,也不授权真实试拨。
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# main 推送后数企独立 sip-call 核验(2026-10-08)
|
||||
|
||||
## 顺序与授权
|
||||
|
||||
使用者明确确认:将当前已完成改动合入 main 并推送,然后只通过独立 sip-call 对数企/指定原始号码呼叫一次,开启 `-D`、不接 AI、接通后保持 3 秒;不改线路、NAT 或数据库,不自动重拨、换线。Agent 仅在测试期间停止,结束及配置恢复后恢复;Dispatcher 保持原来的停止状态。
|
||||
|
||||
main 从 `6bf3052` fast-forward 到 `31ebda9600843696a8607d21e79e388e831d275e`,包含原生模块重载修复、终结核验修复和中鼎 DEBUG 文档;AI 参数改动已经是 main 的祖先,没有合并历史 trial 分支。`git push origin main` 成功,随后 `git ls-remote origin refs/heads/main` 与本地提交一致,**完成推送后才拨号**。
|
||||
|
||||
当前 Go/依赖/Proto/合同/安装脚本与完整回归通过的 `310a14f9b359a81813569bccc05ae08d614b2601` 一致;本次 main 另外复核合同、Proto、诊断安装检查,无代码变更。既有全仓 race、vet、隔离 RabbitMQ/HTTPS/mTLS、发布门禁与业务覆盖率 71.6% 通过;不代签生产发布。
|
||||
|
||||
## 现场执行
|
||||
|
||||
- host:登记测试机;SSH 指纹严格核对。
|
||||
- `~/sip-call/sip-call call --sip ~/sip-call/shuqi.env -D <获批原始号码>`。
|
||||
- binary SHA-256:`f182ddb286847a999592aea8c875ff511d527eb031492f00849bea1fec9e7691`。
|
||||
- 数企 `61.132.228.221:5060`、主叫原值 `BD93205882`、前缀 `7089`,私密 ENV 0600/owner 核对;三份线路 ENV 均未改动。
|
||||
- 活动通道 0、无残留临时配置后停止 Agent;开启限该服务器的 PJSIP logger 与 DEBUG 抓包。仅本次 transient 进程使用 CAP_NET_RAW,没有长期权限变更。
|
||||
- 只执行一次 CLI/一次呼叫,不重试、不换线,无 AI、录音或 OSS 调用。
|
||||
|
||||
## 真实结果
|
||||
|
||||
**接通已证实;本次执行结束已证实。**
|
||||
|
||||
| 相对首个 INVITE | 报文 |
|
||||
| --- | --- |
|
||||
| 0 s | INVITE |
|
||||
| 0.022427 s | 原事务 100 |
|
||||
| 1.554954 s | 原事务 183 |
|
||||
| 3.394695 s | 原事务 200 |
|
||||
| 3.395103 s | ACK |
|
||||
|
||||
仅 1 个 INVITE、1 个原始事务。200 按原 Call-ID/CSeq/Via branch 精确关联,不把其他请求的 200 当接通;主叫原值及一次前缀拼接均核对通过。原生 ARI 报告接通,工具结果 `status=connected`、`end_confirmed=true`、无 failure;command exit 0。
|
||||
|
||||
接通时间 `2026-10-08T09:41:49.928799637Z`,结束记录 `09:41:53.35050218Z`,约 **3.422 秒**(含结束及收口)。配置的接通保持为 3 秒。
|
||||
|
||||
现场日志记录 `native outbound end confirmed`、原 execution_id、**readbacks=2/http_status=404**。即 Hangup 后首次读取仍未确认消失,第二次同通道读取才确认 404;新版有界等待逻辑在真实呼叫中得到核验。没有提交第二次 Hangup,没有按总通道数推测本通终结。
|
||||
|
||||
| 证据 | SHA-256 |
|
||||
| --- | --- |
|
||||
| 原 capture.pcap | `e310d025fb273ab57cd20645bd6a52ef81f0445d1229f0dd160f305731524dbb` |
|
||||
| 原 result.json | `139193e63e7e21d59318b0249103997c306d7362d26d1e6fc35331ba092c4b06` |
|
||||
|
||||
## 收尾与边界
|
||||
|
||||
- 原 `pjsip.conf` 按本通原字节恢复,临时 include/endpoint 清理;三份 ENV hash 不变。
|
||||
- 0 活动通道,Asterisk PID 未变、未重启;Agent 恢复 active,Dispatcher 仍 inactive。
|
||||
- 抓包只覆盖配置的 SIP 服务器 IP,未见 BYE、未见 RTP。结束依据是原通道 404;**不声称已经捕获 BYE/对端 BYE 200、双向媒体、声音、ASR/LLM/TTS 或生产全链路**。
|
||||
- 本次证明独立工具能完成这条线路的一次接通与本地执行收口,不替代 SaaS 业务呼叫签收;不修复此前中鼎新地址无回复、NAT 配置缺项或旧 SQLite 布局被新版 Dispatcher 拒绝的问题。不能把数企接通当成这几个独立问题已经解决。
|
||||
- 历史 unknown 呼叫结果和旧数据没有改写或清理,不覆盖任何旧 OSS 对象。
|
||||
|
||||
私密现场:`~/.shuqi-call-after-push-20261008-clggo0h8/` 和本通 `~/sip-call/results/`。本机脱敏核验:`.local/shuqi-call-main-20261008-So56bX/`。原号码、完整 SIP 和 ARI 凭据不进入本公开报告。
|
||||
Reference in New Issue
Block a user