● COMPETITIVE RESEARCH · Zoom Video SDK Lite 2.4.6 / Full 2.5.5 · POC bundle preserved on branch zoom_sdk_integration_poc
← Lighthouse Briefings · Competitive research · Zoom Video SDK · 2026-05-07
● POC PAUSED P2P media-layer evaluation Zoom Video SDK Lite 2.4.6 Android + iOS AE region live test REAL POC DATA

Zoom Video SDK · POC paused after connect-time blocker

One-month evaluation (Apr 6 → May 6) of Zoom as a P2P media layer alongside WhatRTC. Paused 2026-05-07 — three independent blockers (connect time, Android minSdk gap, metrics coverage) compound, and an independent A/V lab confirmed slow-join is structural to Zoom, not a build artefact.
Eval window
2026-04-06 → 05-06
Pause date
2026-05-07
Botim ringing (TestDevLab)
~1.0 s
Zoom ringing (TestDevLab)
~5.6 s

01 What we did

Leadership asked us to evaluate whether a third-party SDK could be plugged in as the media layer for P2P calls while in-house work continues in parallel. Two candidates were on the table — Microsoft (server-side, separate track) and Zoom Video SDK (client-side, this evaluation). Plan: integrate Zoom alongside WhatRTC, run an A/B in the AE-PH corridor, let the data decide.

Over the month we built a POC (zoom_sdk_integration_poc branch in botim-android, ~10 Kotlin/Java files, local JWT auth server), ran a live two-device test in UAE, decompiled the AAR to verify Zoom's diagnostic claims, and audited the metrics surface against Botim's bad-call success matrix. In parallel, TestDevLab — an independent A/V lab whose clients include Zoom itself, Microsoft, Discord, Twilio, RingCentral — published a competitive A/V analysis comparing Botim, Comera, WhatsApp and the Zoom consumer app. Both data sources converged on the same conclusion.

02 Data — connect-time gap

POC live test · AE region · Apr 27 · two Android 14 devices on WiFi ~60/12 Mbps

Metric Botim threshold Zoom Lite 2.4.6 observed Verdict
Time to Ringing (caller tap → callee rings)< 1000 ms~6 sFail
Time to Audio (callee Accept → first audio)< 500 ms~5 sFail
Time to Video (callee Accept → first video)< 1000 ms~5 sFail
joinSession → onSessionJoin (raw SDK time)n/a4.4–6.0 sInside Zoom's cloud handshake
Zoom's three diagnostic claims (DNS >5 s, Main-thread blocking, integration approach (b)) were each verified on our side: DNS probe injected into POC re-ran 4.4 s with zoom.us resolving in 17 ms; callback dispatch confirmed on Main thread via decompiled ZoomVideoSDKDelegateHelper; approach (b) confirmed in ZoomSessionBridge.kt. None of the three explains the gap.

Independent confirmation · TestDevLab competitive A/V report · Zoom 6.6.5 consumer app

Time-to-Ringing · Android → iOS · TestDevLab measurement (Changing Combined Video, p.69) Source: TestDevLab report (118 pp · 23.6 MB · preserved in POC bundle)
The TestDevLab measurement tests the Zoom consumer flagship app, not our SDK build, on a Samsung Galaxy S23 Ultra / Android 15 → iPhone 16 / iOS 18 path. Botim already clears every threshold we asked Zoom to meet; Zoom's slow-join behaviour is consistent across their product line, not specific to the Lite SDK or our integration.

Full Time-To matrix · TestDevLab Android → iOS

Test condition Metric Botim Comera Zoom WhatsApp Botim vs Zoom
Changing Combined Video
p.69
Time to Ringing1.06 s0.82 s5.60 s1.65 s5.3× faster
Time to Video0.82 s1.31 s5.60 s1.44 s6.8× faster
Time to Audio0.50 s1.37 s2.85 s0.93 s5.7× faster
Changing Packet Loss
p.77
Time to Ringing1.03 s0.88 s5.80 s1.81 s5.6× faster
Time to Video0.91 s1.35 s5.80 s1.47 s6.4× faster
Time to Audio0.48 s1.29 s4.81 s0.93 s10.0× faster
Changing Combined Audio (iOS → Android)
p.114
Time to Ringing1.01 s0.85 s1.21 s5.50 son par
Time to Audio1.32 s1.14 s1.99 s3.80 s1.5× faster
A separate POLQA reading at 1 M bandwidth / 10% packet loss / 100 ms latency (p.68) shows Zoom audio delay at 3138 ms vs Botim 191–434 ms — the join-time gap extends into in-call media recovery under stress.

03 Data — coverage gaps that compound

Android minSdk lockout

ItemValue
Botim minSdk21 (Android 5)
Zoom Lite 2.4.6 / Full 2.5.5 required28 (Android 9)
Botim Android < 9 callers (24 h)~29 K DAU
↳ Android 8.x share of that cohort86 %
ImplicationZoom is additive, never a replacement — WhatRTC stays bundled and maintained indefinitely.

Quality-metric surface

Metric familyBotimZoom Lite
Total quality metrics tracked185~75
onQOSStatisticsReceived push streamAbsent in AAR
Audio bitrate (send/recv)Missing
Encode/decode time per frameMissing
Jitter buffer / packet send delayMissing
Per-user RTT / jitter / loss / bw / codecMissing
Per-user audio metricsMissing
Recovering onQOSStatisticsReceived requires switching to the Full SDK, which re-introduces the binary-size cost that Lite was specifically chosen to avoid. Lite's standalone ZoomVideoSDKVideoStatisticInfo exposes only width/height/fps/bpf/networkStatus.

04 Observed scope

05 Timeline

DateWhat happened
Apr 6Task kicked off. Opening meeting with Zoom team — open questions on architecture, callbacks, metrics, JWT, region routing.
Apr 8Analysed Zoom Video SDK v2.5.5 (Android): ~75 quality metrics vs Botim's 185, minSdk 28 vs Botim's 21, 70+ delegate callbacks. Local POC project started.
Apr 9Metrics inventory complete — material metrics gap confirmed.
Apr 10–15Quality comparison plan written: A/B success matrix (audio/video/connection bad-call thresholds, MOS, ratings). Document shared with Zoom team.
Apr 20–21Integration plan and design started. Risks logged: large SDK binary size; key bad-call tracking metrics missing in Zoom.
Apr 23Zoom Video SDK Lite 2.4.6 Android package received and integrated into zoom_sdk_integration_poc branch. JWT auth server wired up locally.
Apr 27First end-to-end live test in UAE/Dubai. Observed: 6.0 s joinSession → onSessionJoin on caller, 10.7 s onUserJoin. Encrypted SDK logs shared with Zoom.
May 5Zoom engineering replied with three claims (DNS, Main thread, approach (b)). Verified each on our side — all ruled out. DNS probe re-ran 4.4 s with zoom.us at 17 ms.
May 5Zoom announced "two-step join" SDK arriving May 8 and proposed workshop May 6. Botim position: no further engineering cycles until Zoom shares benchmark numbers proving thresholds clear in AE region.
May 6Joint session with Zoom engineering — they confirmed inherent join-time slowness; we requested the new SDK with benchmark data.
May 7VoIP team decided to pause implementation, based on the connect-time blocker, the minSdk lockout, the metrics-surface gap, and TestDevLab's independent confirmation.

06 Status & preserved artefacts

Status
On hold — gated on Zoom delivering quantified benchmark numbers that meet Botim's connect-time thresholds in the AE region. No further engineering investment until that bar is cleared.
Owner
VoIP team (Abhishek lead · Tian Chao on the Zoom thread)
POC code
Branch zoom_sdk_integration_poc on botim-android — preserved, no deletions planned. ~10 Kotlin/Java files under bot_business/voip_module/voip/src/main/java/im/thebot/voip/zoom/.
Bundle contents
Zoom_SDK_Integration_Final_Report.md · TestdevLab Report.pdf (118 pp) · Zoom_vs_Botim_Quality_Comparison_Plan.md · zoom_sdk_debug_logs.zip (CSV30-encrypted, both devices) · zoomsdk_delay.mp4 · Zoom sdk bundle/ (Lite Android 2.4.6 + iOS 2.5.1 binaries).
Resumption trigger
Published AE-region benchmark numbers from Zoom showing joinSession → onSessionJoin inside Botim's thresholds, on a packaged SDK we can integrate. Until then this evaluation does not advance.