本文基于公开社区讨论与通用部署经验整理,拓扑、配置与故障场景均已重构,仅供技术参考,不代表 3CX 官方立场。
IGMP 设置阻止 3CX 发现话机案例
1. 问题现象
现场使用 3CX 云部署,远端办公室通过 3CX SBC 连接到 PBX。
环境如下:
- 3CX 版本
- SBC:Raspberry Pi
- DECT 基站:Yealink W60B
- 手柄:Yealink W59R
- W60B 与 SBC 在同一个局域网
最初的问题是:
- W60B 后台中已经出现了 3CX 下发的配置参数
- 但 W60B 上对应的分机账号没有成功注册
- 怀疑是否与 W60B + W59R 组合兼容性有关
注意:W60B 基站是没有成功注册到 3CX,但是确认它拿到了自动配置参数。
2. 初步判断:问题不在手柄
Yealink DECT 架构中:
- W59R 手柄通过 DECT 与 W60B 配对
- SIP 注册发生在 W60B 基站侧
- 分机注册失败应重点检查 W60B、SBC 和本地网络环境
3. 确认 W60B 配置参数
用户登录 W60B 后台检查账号配置:
- SIP Server 1 指向 3CX 服务器 FQDN
- Outbound Proxy Server 1 指向 SBC 的本地 IP
- 分机认证信息填写正确
问题仍然是:
- 配置参数看起来正确
- 分机账号没有注册成功
4. 尝试恢复出厂并重新配置
用户执行:
- W60B 恢复出厂设置
- 重新自动配置
- 重新检查账号信息
结果:
- W60B 配置参数可写入
- 分机账号仍未注册
5. 检查 SBC 状态
用户确认:
- SBC 在 3CX 后台 Trunks 区域正常注册
- SBC 和 W60B 在同一个 LAN
- 路由器 SIP ALG 已关闭
说明:
- SBC 与 3CX PBX 连接正常
- 问题可能在 SBC 与本地话机之间,或网络阻止了设备发现流量
6. 使用另一台话机进行交叉测试
测试另一台 Yealink T46S:
- T46S 最初也未出现在 3CX Phones 列表
- 问题可能出在本地网络层,而非 W60B 个体
7. 发现路由器 IGMP Blocking 设置
路由器 IGMP Snooping 设置:
- Blocking:只允许已订阅组播的客户端接收组播包
- Standard:允许所有组播流量发送到 LAN 客户端
原现场路由器处于 Blocking 模式。
8. 修改 IGMP Snooping 模式
将 IGMP Snooping 改为 Standard 后:
- T46S 出现在 3CX Phones 列表
- W60B 也出现在 3CX Phones 列表
- 设备可以自动配置并注册(对于测试 T46S)
结论:
IGMP Blocking 阻止了 3CX 通过 SBC 在本地网络中发现话机。
9. 技术备忘总结
排查步骤:
- 确认 SBC 是否在 3CX 后台正常注册
- 确认 SBC 和话机在同一个 LAN
- 确认 SIP ALG 已关闭
- 检查话机是否出现在 3CX Phones 列表
- 使用另一台已知正常的话机交叉测试
- 如果多台设备都不能出现在列表中,重点检查本地网络组播
- 检查路由器或交换机的 IGMP Snooping / IGMP Blocking 设置
- 将 Blocking 改为 Standard 后重新测试
