docs: record verified SIP load and SaaS voice parameter blocker
This commit is contained in:
@@ -79,6 +79,8 @@
|
||||
|
||||
## 当前范围与权威入口
|
||||
|
||||
- **2026-10-09 最新固定环境事实**:使用者确认修复正式 Dispatcher 的 SIP 加载遗漏并重部署;源码 `b37d9f3` 已推送、安装,Agent/Asterisk 的 revision `16`、三条数字 ID endpoint/AOR/主叫/contact/UDP/PCMA 已从原生运行态逐条核对,Asterisk 未重启,零活动通话,未清数据、未独立拨号。Dispatcher 仍因真实 SaaS 任务 `4`(revision `1`)同时包含 `agent.tts.voice` 与 `agent.tts.params.voice` 而退出重启;同值重复也触发现行参数保护规则,不静默删除或放宽检查。需 SaaS 移除 params 中的重复字段并增加修订后再核对,当前业务尚未 ready,不得把 SIP 加载成功或状态中的 `saas_pending` 标签当作全部配置/真实通话/生产签收。证据见 [`docs/evidence/dispatcher-sip-startup-load-20261009.md`](docs/evidence/dispatcher-sip-startup-load-20261009.md)。
|
||||
|
||||
- **当前正式部署目标授权(使用非正式配置,`muzr4gzv-jzx8pg`)**:先核验、合入 main 并推送,再完善一键部署脚本,在登记测试机 `server.sip` 使用根目录 `saas.env`、`rabbitmq.env`、`aliyun-oss.env` 和真实 SaaS 配置,以现有 `nonprod-real` 启动固定的 `go-sip-agent.service`、`go-sip-dispatcher.service`;原生 `go-sip-asterisk.service` 保留。配置固定在 `~/.config/go-sip/`,业务数据固定在 `~/.local/share/go-sip/`,制品在 `~/.local/opt/go-sip/releases/`,不再用每次试验的新业务目录或 Mock 代替正式部署验证。正式部署入口为 `deploys/production/production.py`;当前使用非正式配置,仍保留 `nonprod-real`、登记测试机及原有授权边界,命名不代表生产验收。下方日期记录是历史事实,其旧授权限制不覆盖本条新授权。
|
||||
- **本轮外呼授权**:真实 SaaS 下发的全部获批外呼任务允许按正式规则执行,不再逐通询问;仍核对归属、号码、时段、额度、并发、有效授权与幂等,不自行生成外呼消息、不盲重拨或换线重拨。独立工具试拨及超出上述真实 SaaS 任务范围的操作仍需另行确认。没有任务或未接通时如实标记未验证,不以 Mock 代签真实通话或生产。
|
||||
- **部署与数据重置**:普通重部署不清数据;仅显式 `--reset-state` 可处理本项目非生产数据。本次首次部署已获准,后续重置须再次确认;必须先停止相关服务、核实零活动通话、完成私密备份与清单,再重置,不把重置当成代码问题修复,不伪造旧通话终结或结果,不清外部 SaaS/MQ/OSS。清理限于两端确认退役的部署制品、临时文件及自有 Mock 设施;不得直接删仍用凭据、SSH 登记、原始证据、录音或恢复,不删除整个用户 `~/.local` 或 Asterisk/其他项目依赖。退役数据按确认范围保留或备份后处理。SaaS 尚未启动不阻断部署:严格保留输入校验与关新准入,允许 Dispatcher 由 systemd 明确等待/重试,不用 Mock 或旧快照;SaaS/依赖业务队列/会话/SIP加载及通话验证延期,独立配置、MQ登录、证书或Asterisk故障仍须修复。2026-10-08 固定环境首次部署 `e5f46ba` 已完成:Asterisk/Agent enabled+active,Dispatcher enabled且因SaaS业务拓扑尚未供给而auto-restart,业务未ready。旧20个临时服务及自有本地RabbitMQ已私密归档退役;12份配置/证书0600,固定目录0700、linger已开启,但未实际重启验收。复核后5个旧unit drop-in目录/6份配置已私密归档移除,旧发布根目录原文件整体保留在go-sip-backups而非运行位置;证书/未知传输错误不归为SaaS等待,D须实际activating/auto-restart且有对应最新错误,failed不算完成。历史数据库/恢复事实保留于受控备份,不伪造旧终结;首次固定目录为空,已显式执行本次获批reset,之后普通重部署不reset。部署说明见 [`deploys/production/README.md`](deploys/production/README.md),证据见 [`docs/evidence/fixed-preprod-systemd-20261008.md`](docs/evidence/fixed-preprod-systemd-20261008.md)。
|
||||
|
||||
@@ -33,6 +33,30 @@
|
||||
- 业务覆盖率 **70.8%**。
|
||||
- 共享契约仍固定在 `4f515796e30c0cfd6f86b39ec2324fa9a8b2b964`,本轮未修改契约。Mock 与本地结果不代表真实通话、AI、OSS 或生产签收。
|
||||
|
||||
## 部署验证
|
||||
## 部署验证与实际剩余阻碍
|
||||
|
||||
部署后补充固定提交、制品 hash、Agent/Asterisk 实际加载版本、服务状态和剩余阻碍;未核对前不标记部署完成。
|
||||
2026-10-09 16:22 安装,16:27:48(Asia/Shanghai)以原生 Asterisk CLI、应用记录、systemd 和数据库只读复核:
|
||||
|
||||
| 项目 | 现场事实 |
|
||||
| --- | --- |
|
||||
| 已推送、已安装源码 | `b37d9f3af01b2a7b2786f2c23fc5311c384ee8cf` |
|
||||
| 制品 SHA-256 | `2c9d3aeeec5831043e99c522542e694989a68bfe5c2c7505634dca9e329faa19` |
|
||||
| 两角色制品 | 均引用固定 `current`,解析至该提交的发布目录;hash 与来源清单一致 |
|
||||
| Agent | enabled、active/running;MainPID `2860298` |
|
||||
| 真实 SIP 应用记录 | revision `16`,管理文件 hash 与记录一致 |
|
||||
| Asterisk 实际线路 | endpoint `1`、`2`、`3` 与 Agent 记录完全相同;逐条 AOR、contact、主叫、UDP、PCMA 均匹配 |
|
||||
| Asterisk | enabled、active/running;MainPID `777461`、启动时间仍为 10 月 5 日 22:15:14,未重启 |
|
||||
| 活动通道 | 0 |
|
||||
| 数据保留 | 未 reset;SQLite inode `416829`、user_version `3` 均与修复前一致,inbox 无占用 |
|
||||
| Asterisk 主配置 | `pjsip.conf` SHA-256 仍为 `29619dcad31c31adde63ae1fc74b95feb10943a601f120f34d54ec332f7b708c`;仅获批管理线路文件及应用记录由正式加载流程更新 |
|
||||
| Dispatcher | enabled、activating/auto-restart,退出状态 `1`;不是业务就绪 |
|
||||
|
||||
最新日志连续确认:配置已持久准备 → 正式 Apply → SIP revision 16 实际核对成功。原先入口漏加载造成的失败已修复,未用手工 SIP-only、改数据库或伪造版本回报绕过。
|
||||
|
||||
之后启动失败于 `validate task 4 AI snapshot: params conflicts with protocol field "voice"`。使用既有身份直接只读请求真实 `/internal/v1/dispatcher/task/4`:HTTP 200、归属匹配、task revision `1`,`agent.tts.voice` 与 `agent.tts.params.voice` 同时存在,且值相同;未输出 voice 值、模型、提示词或凭据。
|
||||
|
||||
当前共享契约规定 voice 由任务单独指定,params 冲突必须明确拒绝,不能覆盖或静默丢弃。因此剩余问题来自这份 SaaS 任务配置,不是 SIP 加载失败,也不是客户端补入默认值。建议 SaaS 保留 `agent.tts.voice`,删除重复的 `agent.tts.params.voice`,按契约增加任务修订号后再核对启动;本项目没有修改 SaaS 数据或削弱参数检查。
|
||||
|
||||
全部启动流程尚未完成,Dispatcher 数据库仍为 discovery=false、applied=0、pending=16;这不否认 Agent/Asterisk 已真实加载 16,也不能通过手改数据库标记 ready。部署和最终 status 都明确以失败退出,`business_ready=false`;输出中的 `saas_pending` 标签不替代上述具体任务参数错误。
|
||||
|
||||
本轮未主动投递 MQ 消息、独立拨号或真实请求 AI/OSS。SIP 加载已现场核对,但 Dispatcher 恢复、真实 SaaS 获批任务、AI/录音/OSS 全链路和生产验收仍未完成;平台数据修正及后续未知配置项须独立核对,不能把本次加载成功扩大成全部配置或通话签收。
|
||||
|
||||
Reference in New Issue
Block a user