fix phase2 gateway matching and release artifact

This commit is contained in:
hectorzhao
2026-06-28 22:16:49 +08:00
parent a86de6545f
commit 175166a5dc
17 changed files with 2670 additions and 35 deletions
@@ -146,12 +146,25 @@ sudo systemctl restart opensips
sudo systemctl is-active opensips
```
## Release Artifact 规范
发布包必须由固定脚本生成,禁止临时手工复制目录作为 release:
```bash
pnpm release:artifact -- --release-id sXX-name-YYYYMMDDHHmmss
```
脚本会执行构建、校验发布必需目录、生成 `RELEASE_MANIFEST.json`,并输出 `dist/releases/<release-id>.tar.gz``.sha256`。正式给 B 机使用的 artifact 必须在 Linux 环境生成;在本地 Windows 仅允许使用 `--check` 或带 `--allow-non-linux` 生成检查包,不能作为服务器最终发布包。
## A/B/T 验收清单
至少验证以下呼叫:
- 命中业务前缀:例如客户送 `67118822190000`,话单 `callee=18822190000``raw_callee=67118822190000``business_prefix=671`
- 任意被叫规则:客户网关 `calleeMatchMode=ANY` 时,旧无业务前缀呼叫仍可路由。
- 匹配优先级:业务前缀优先于主叫前缀,精确规则优先于空业务前缀兜底;命中业务前缀但主叫不通过时,不应退回裸号兜底网关。
- 唯一性约束:同一 IP + 同一业务前缀组合只能归属一个客户网关;同一 IP 下主叫前缀不能互相覆盖;IP 可跨客户复用但最终匹配必须唯一。
- 计费口径:客户网关决定客户侧计费,落地网关决定供应商侧成本,业务前缀不参与计费产品、报表维度或权限隔离。
- 主叫前缀命中:配置 `callerPrefixes` 后,命中前缀允许呼叫。
- 主叫前缀不命中:返回 `CALLER_PREFIX_NOT_MATCHED`
- 业务前缀不命中:返回 `BUSINESS_PREFIX_NOT_MATCHED`