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. 技术备忘总结

排查步骤:

  1. 确认 SBC 是否在 3CX 后台正常注册
  2. 确认 SBC 和话机在同一个 LAN
  3. 确认 SIP ALG 已关闭
  4. 检查话机是否出现在 3CX Phones 列表
  5. 使用另一台已知正常的话机交叉测试
  6. 如果多台设备都不能出现在列表中,重点检查本地网络组播
  7. 检查路由器或交换机的 IGMP Snooping / IGMP Blocking 设置
  8. 将 Blocking 改为 Standard 后重新测试