support task-selectable SIP trunks

This commit is contained in:
2026-09-17 15:23:46 +08:00
parent 84d86319a3
commit e65cfbe3af
15 changed files with 452 additions and 39 deletions
+4 -3
View File
@@ -202,12 +202,13 @@ if [ ! -e .local/asterisk.json ]; then
fi
```
填写实际`local_net`、主/备SIP服务器、端口、IP或Digest鉴权方式、用户名及是否注册。当前生成器按供应商反馈提供经过明确限制的UDP/PCMA外呼基线(Asterisk `allow=alaw`),TCP/TLS及特殊号码/主叫策略需要另行确认。
填写实际`local_net`及独立SIP线路列表。三线路测试配置见`deploy/asterisk.three-sip.json`,每个`trunk_id`对应一个独立PJSIP endpoint;不能把不同供应商合并成主/备后逐呼覆盖。当前生成器按供应商反馈提供经过明确限制的UDP/PCMA外呼基线(Asterisk `allow=alaw`),TCP/TLS及特殊号码/主叫策略需要另行确认。
通过受控进程环境注入:
- `ARI_PASSWORD`:至少32位,不能使用样例密码。
- Digest接入另需`SIP_PRIMARY_PASSWORD`、`SIP_BACKUP_PASSWORD`;仅在相应接入启用Digest时要求。
- Digest接入另需对应`SIP_<TRUNK_ID>_PASSWORD`环境变量;仅在相应接入启用Digest时要求。
- Real Cell 多线路运行时,将批准的`deploy/cell-routes.three-sip.json`序列化到`CELL_ROUTE_MAP_JSON`;MQ任务只携带`route_policy_id`和`caller_profile_id`,Cell拒绝未安装或主叫绑定不匹配的路由。
- 为防INI注入,换行、分号、方括号等字符会被拒绝;供应商固定密码不满足时需评审正确转义方案,不能删除校验绕过。
```bash
@@ -241,7 +242,7 @@ docker compose -f compose.asterisk.yaml exec -T asterisk \
asterisk -rx 'pjsip show contacts'
```
只有一个节点采用host network;不要在同一宿主机直接启动第二套争用5060/8088/RTP的配置。主备trunk只是接入配置,自动FALLBACK、长期ARI事件连接、业务状态机和录音上传程序仍需开发。
只有一个节点采用host network;不要在同一宿主机直接启动第二套争用5060/8088/RTP的配置。三条trunk是独立接入配置,任务通过受信路由表选定具体endpoint;自动FALLBACK、长期ARI事件连接、业务状态机和录音上传程序仍需按契约实现。
开始真实外呼前,必须通过SIP供应商侧日志核对我方实际出口确为123.56.71.98;仅EIP绑定成功不能证明没有其他NAT/路由改变出口。