DNS 问题导致批量话机呼叫突然终止
1. 问题现象
客户现场使用多台 Yealink IP 话机,包括:
- Yealink SIP-T46S
- Yealink SIP-T41S
- 固件版本:66.86.0.180
这些话机出现随机掉话问题。
主要现象是:
- 通话过程中会随机断开
- 一旦掉线,所有正在进行的通话都会同时断开
- 不是单独某一台话机掉线,而是现场所有实时通话一起掉线
这一点非常关键:
如果所有实时通话同时掉线,通常不应优先怀疑单台话机或某个型号固件,而应重点检查 SBC、网络、DNS 或互联网连接。
2. 现场部署环境
该环境的部署方式如下:
- 3CX 版本:Version 20.0 Update 7,Build 1080 Release
- 3CX PBX:托管在客户现场外部
- 客户现场:本地部署 3CX SBC
- SBC 系统:Windows Server 2024
- SBC 版本:最新版本
- 防火墙:FortiGate
- SIP ALG:已禁用
- 话机通过本地 SBC 连接到外部托管的 3CX PBX
3. SBC 日志中的异常
用户在 SBC 上看到类似错误:
[DNS] Failed to retrieve SRV records for _3cxtunnel._tcp.(our_3cxHostname); errcode=12 |
以及:
TunnelTcp.cpp:305 | Bridge failure on while processing TCP: Connection timeout |
这两个日志非常重要。
第一个错误说明:
- SBC 在解析 3CX Tunnel 相关 SRV 记录时失败
- 问题可能与 DNS 查询、DNS 服务器配置、DNS 响应或外部解析有关
第二个错误说明:
- SBC 到 3CX PBX 的 Tunnel / TCP 连接处理过程中出现超时
- 这表示 SBC 与云端 PBX 之间的连接可能不稳定或被中断
4. 3CX 支持的初步判断
3CX 支持人员指出:
这个问题可以暂时忽略话机本身。
原因是:
- 用户提供的证据并不指向 Yealink 话机
- 日志更明显地指向 SBC 连接问题
- SBC 连接一旦掉线,现场所有通过 SBC 的话机通话都会受到影响
3CX 支持重点指出两个红旗信号:
- DNS 错误
- Connection timeout 连接超时
因此,排查方向应转向:
- SBC 所在主机
- 本地网络
- DNS 设置
- 互联网连接
- 客户后端 ISP
5. 用户原计划:移除 SBC,改用 FQDN 直连
用户表示,他们准备移除 SBC,让话机直接通过 3CX FQDN 连接到外部托管的 PBX,看看是否改善。
也就是准备从:
话机 → SBC → 3CX PBX
改为:
话机 → 防火墙 / NAT → 3CX PBX FQDN
6. 3CX 支持反对移除 SBC
3CX 支持明确指出:
移除 SBC 可能会让问题更糟。
原因是:
- 原有网络问题仍然存在
- 直接让话机通过 FQDN 连接外部 PBX,会额外引入 NAT 问题
- 还可能引入防火墙和 SIP ALG 相关问题
- 如果根因是 DNS 或互联网线路不稳定,去掉 SBC 并不能解决根因
正确方向应该是:
继续围绕 SBC 连接为什么会掉线进行排查。
也就是说,不要因为话机掉线就直接绕过 SBC,而应先确认:
- SBC 到 3CX PBX 的连接为什么会 timeout
- SBC 使用的 DNS 是否正确
- 客户互联网线路是否稳定
- ISP 是否存在解析或链路异常
7. 最终原因
用户后来确认,问题原因是:
- 客户后端互联网服务商存在问题
- DNS 没有正确设置
修复后,问题解决。
这说明最初 SBC 日志中的 DNS 错误和连接超时是有效线索。
8. 最终结论
该案例的真正问题不是 Yealink 话机,也不是 SIP ALG。
真正原因是:
客户现场 SBC 到外部 3CX PBX 的网络链路存在问题,尤其是 DNS 配置错误和后端互联网服务商问题,导致 SBC Tunnel 连接中断,从而造成所有通过 SBC 的实时通话同时掉线。
9. 技术排查步骤总结
遇到类似“多台话机同时掉线”的问题,可以按以下顺序排查:
- 观察是否是单台话机掉线,还是所有通话同时中断
- 如果所有通话同时中断,优先检查 SBC 和网络链路
- 查看 SBC 日志是否有 DNS 解析错误
- 查看 SBC 日志是否有 Tunnel / TCP timeout
- 确认 SBC 主机的 DNS 设置是否正确
- 确认 SBC 主机能稳定解析 3CX FQDN
- 检查 SBC 到 3CX PBX 的网络连接是否稳定
- 检查 FortiGate 或其他防火墙是否阻断相关连接
- 确认 SIP ALG 已关闭
- 检查客户 ISP 或上游网络是否存在异常
- 不要轻易移除 SBC 改为 FQDN 直连,否则可能额外引入 NAT 和防火墙问题
