Document

📅 2026-04-17 📄 技术文档
01

概述

日期: 2026-04-09 问题: Webex 视频会议中 VC Share(屏幕内容共享)失败,对端无法看到共享内容 分析对象: 失败 pcap vs 成功 pcap 对比分析 本机 IP: 10.66.42.25


02

1. 关键发现

本机视频编码器输出了"空壳帧",视频 RTP 包的 payload 仅有 ~55 字节,而正常应为 800-1200 字节。网络层面无异常。


03

2. 抓包文件对比

项目 失败抓包 成功抓包
文件名 extendedlogging-eth0-2026-04-09-14-19-15.pcap extendedlogging-eth0-succeed.pcap
时长 563.8 秒 46.8 秒
总包数 81,196 6,727
总流量 18.5 MB 3.5 MB
Webex 对端 144.196.98.38 144.196.98.113

04

3. Share 视频流核心对比

3.1 发送方向包大小

指标 ❌ 失败 (52072) ✅ 成功 (52262)
视频包数 27,102 1,549
平均包大小 95 B 998 B
最大包大小 190 B 1,226 B
RTP Payload ~55 B ~960 B
RTP PT 96 (H.264) 101 (H.264)
发送间隔 19 ms 18 ms
💬 引用
证据 1: 失败 pcap 中本机发送到 144.196.98.38:5004 的 全部 31,072 个 UDP 包中,没有任何一个超过 500 字节tshark -Y "ip.src==10.66.42.25 && ip.dst==144.196.98.38 && udp && frame.len>500" → 零结果

证据 2: 成功 pcap 中 Share 视频流 (52262) 的包大小分布:

大小范围 包数
100-199 B 81
200-499 B 192
500-999 B 120
1000-1299 B 1,191

正常 H.264 视频帧以 1000-1200 字节的大包为主。

证据 3: 失败 pcap 中主视频流 (52072) 的包大小分布:

大小范围 包数
50-99 B 26,565
100-149 B 537
150-199 B 216

99% 的视频包只有 50-99 字节,远低于正常视频帧大小。

3.2 网络层对比

指标 失败 成功
发送间隔 19 ms 18 ms
是否有丢包(ICMP) 357s 时有少量 ICMP Type 3
音频流是否正常 ✅ 正常(52080/52216/52234) ✅ 正常
对端视频接收 ✅ 正常(平均 211 B/包) ✅ 正常
⚠️ 注意
证据 4: 网络发送间隔一致(18-19 ms),说明 网络链路正常,包能正常发出。问题不在网络传输层。

证据 5: 音频流正常工作。失败 pcap 中 52080 发送 328 个 Opus 音频包(PT=73),平均 120 B,与成功 pcap 的音频流特征一致。


05

4. 失败 pcap 时间线

时间 事件
0s 会议开始,4 条媒体流建立(52072 视频 + 52080/52216/52234 音频)
0-357s 视频流持续发送小包(95 B),对端持续回传正常视频帧
357s 本机向 144.196.98.38 发出 4 个 ICMP Type 3 (Destination Unreachable)
379s 新建 4 条 TCP 连接到 144.196.98.38:443 和 :5004(可能是重新协商 Share)
379s 新增 3 条 UDP 流(52056/52272/52212),尝试重新建立 Share
385s 所有 TCP 连接 FIN 关闭(仅存活 ~6 秒)
379-557s 170.72.88.38 持续回复 ICMP Type 3(每 30 秒一次)
💬 引用
证据 6: 357s 的 ICMP Destination Unreachable 可能是中间设备(防火墙/路由器)在某个时刻的路由异常,但这不是 Share 失败的根因——因为视频小包从第 0 秒就开始了。

06

5. 根因判断(综合 pcap + 厂商回复)

5.1 初步判断(纯 pcap 分析)

💬 原始结论
基于 pcap 包大小分析,最初判断为编码器输出空壳帧(payload ~55B)。但结合厂商日志后,这一结论需要修正。

5.2 厂商分析结论(2026-04-17 收到)

厂商结合设备底层日志与 Webex 后台服务器数据,确认根本原因是网络层的信令与媒体通道阻断,而非编码器问题。

层次厂商发现与 pcap 证据的对应
应用层设备正常接收共享指令,进入 STARTING 状态,但未收到云端确认的 Presentation Tokenpcap 中 0s 起 52072 流就在发小包 — 可能是 ICE/STUN 探测而非视频帧
信令层Webex 后台显示 missing.floor.request,云端未收到共享申请;设备未收到 SCR(媒体流控制请求)357s 出现 ICMP Type 3(网络阻断),379s TCP 重连到 :443 后 6 秒即 FIN 关闭
网络层(根因)DNS 解析失败(locus-t.wbx2.com 超时 10s)、WebSocket 信令通道超时断开、UDP ICE/STUN 失败✅ 357s ICMP Destination Unreachable、379s TCP 短连接后立即断开
📋 厂商日志证据
2026-04-09T14:19:46.743 main[2298]: APPL_Presentation[3]: 
  LocalPresentation::prepareResourcesForOutgoingPresentation 
  [LOCAL/1] current-mode=STARTING

2026-04-09T14:19:46.743 main[2298]: APPL_Presentation[3]: 
  TokenBasedPresentationCtrl::conditionalActivateLocalPresentation 
  confId=2 cause=UserSpec/1 state=TOKEN_RELEASED/PRES_IDLE/[LOCAL/1]

HttpClient W: Failed to connect to 'locus-t.wbx2.com': 
  Operation timed out after 10003 milliseconds, DNS not resolved

5.3 修正后的根因链路

⚠️ 修正说明
pcap 中观察到的小包(~55B)并非编码器输出的空壳帧,而是信令通道未建立成功前的 ICE/STUN 探测包。编码器从未进入 SENDING 状态(因未获得 Presentation Token),因此根本没有开始编码。

完整的故障链路:

步骤描述状态
1HDMI 输入正常 → 用户点击共享按钮✅ 正常
2设备发送共享请求 → 尝试获取 Presentation Token✅ 正常发出
3信令到 Webex 云端 — DNS / WebSocket / UDP ICE❌ 网络阻断/超时
4云端未收到 floor.request → 不下发 SCR❌ 信令中断
5设备卡在 STARTING 状态,画面不出现❌ 用户可见的故障

07

6. 建议排查方向

6.1 DNS 解析排查

厂商日志显示 locus-t.wbx2.com DNS 解析失败,HTTPS 超时 10 秒。需确认是防火墙 DNS ALG 拦截还是上游 DNS 问题。

! === 在防火墙上直接测试域名解析 ===
ping locus-t.wbx2.com

! === 查看 DNS 服务器配置 ===
display dns server

! === 查看 DNS ALG 是否拦截/修改 DNS 响应 ===
display alg dns

! === 查看 DNS 流量会话(复现时抓) ===
display session table ipv4 verbose destination-port eq 53
💡 注意
如果防火墙自身解析正常,还需确认 Codec Plus (10.66.42.25) 使用的 DNS 服务器。如果 DNS 请求经过防火墙转发,检查 display session table ipv4 verbose destination-port eq 53 中是否存在超时或 RST。

6.2 WebSocket 长连接排查

Webex 信令走 WebSocket(TCP 443),防火墙对长连接的超时时间或深度包检测可能中断 WebSocket 通道。

! === 查看长连接超时配置(最关键) ===
display firewall aging-time
! 重点:TCP FIN/RST 超时、TCP ESTABLISHED 超时
! WebSocket 是长连接,超时太短会被防火墙主动 RST

! === 查看 DPI 引擎是否检测 WebSocket 流量 ===
display dpi policy
display dpi application

! === 查看安全策略对 TCP 443 的处理 ===
display security-policy ip

! === 查看 ASPF 状态检测(可能干扰 HTTP Upgrade) ===
display aspf all

! === 查看 SSL 解密配置(开启会破坏 WebSocket 握手) ===
display sslv2 policy
⚠️ 重点
如果 display sslv2 policy 中有 SSL 解密策略匹配了 Webex 流量,WebSocket 的 Upgrade 握手会被破坏,导致信令通道中断。同时 display firewall aging-time 中的 TCP ESTABLISHED 超时如果过短(如 10 分钟以下),长时间会议中的 WebSocket 会被防火墙主动清除。

6.3 ICE/STUN 及其他网络层排查

  1. ICE/STUN(UDP) — Webex 媒体协商走 ICE,需 UDP 3478/5004 等端口,检查防火墙 ALG 或 SIP 模块是否有干扰
  2. ICMP Destination Unreachable — 排查 357s 出现的阻断原因

6.4 防火墙通用检查命令汇总(H3C Comware V7)

! === ALG 模块 ===
display alg sip          ! SIP ALG 是否修改 SDP 媒体地址/端口
display alg dns          ! DNS ALG 是否拦截域名
display alg rtsp         ! RTSP ALG 状态

! === 状态检测 ===
display aspf all         ! ASPF 状态检测配置

! === 深度包检测 ===
display dpi engine       ! SIO 智能识别引擎状态
display dpi policy       ! 深度包检测策略
display dpi application  ! 应用识别配置

! === 长连接超时 ===
display firewall aging-time  ! TCP 超时(WebSocket 关键)

! === SSL 解密 ===
display sslv2 policy    ! SSL 解密策略(WebSocket 关键)

! === 会话表(复现时抓) ===
display session table ipv4 verbose destination-port eq 5004   ! RTP
display session table ipv4 verbose destination-port eq 3478   ! STUN
display session table ipv4 verbose destination-port eq 53     ! DNS
display session table ipv4 verbose destination-port eq 443    ! WebSocket

6.3 设备/服务端

  • RoomOS 11.36.1.1 和 11.34.1.5 均复现,已排除版本问题
  • 多台 Codec Plus、直连 HDMI 和矩阵均可复现 — 指向网络环境
  • 对端 IP 不固定(.38 / .113),确认不同 MCU 节点均受影响

报告生成:2026-04-17 | 基于 tshark 2.6.2 分析 + Cisco 厂商回复综合

更新:2026-04-17 | 修正根因判断,由"编码器问题"修正为"网络层信令阻断"