# Debugging Android 14 WebRTC Disconnects on a coturn Relay Path

> Source: <https://dev.to/snowlyg/debugging-android-14-webrtc-disconnects-on-a-coturn-relay-path-1lbm>
> Published: 2026-05-23 09:14:29+00:00

I recently wrote up a debugging case around Android WebRTC, coturn, TURN relay, and ICE failures. This is the anonymized version because the useful part is the debugging method, not the original environment.
coturn
was introduced for more complex network boundaries.The first clue looked obvious: a repeated timeout around a local relay-related address. It appeared near the disconnect window, so it was tempting to treat it as the cause.
That was not enough.
In WebRTC debugging, a noisy log line can be real without being the root cause. The better starting point was the ICE state transition:
IceConnectionChange -> DISCONNECTED / FAILED
StandardizedIceConnectionChange -> DISCONNECTED / FAILED
That moved the investigation away from "why does this timeout appear?" and toward "why does the selected media path fail?"
coturn
so direct LAN candidates did not hide the issue.After the TURN-side changes, the 30-60s disconnect stopped reproducing in the same test matrix.
For WebRTC production issues, I would rather start from:
The loudest log line is useful, but it should not be allowed to define the investigation by itself.
WebRTC reliability is usually a system problem: client version, network path, TURN configuration, device behavior, and application state handling all interact. Treating it as a single log-line problem can waste a lot of time.
Full write-up:
https://snowlyg.github.io/posts/android14-coturn-webrtc-disconnect/
