UDP vs TCP Packet Loss in Voice Calls

When participating in a voice-over-IP (VoIP) call, network packet loss is inevitable, but the protocol handling that data dictates what the user actually hears. The choice between User Datagram Protocol (UDP) and Transmission Control Protocol (TCP) creates fundamentally different user experiences during packet loss: UDP sacrifices audio completeness for real-time speed, whereas TCP sacrifices real-time speed to ensure no data is lost.

Dropped UDP Packets: Brief Glitches with Real-Time Flow

UDP is a connectionless protocol that sends data continuously without waiting for acknowledgment or resending lost packets. Because of this “fire-and-forget” approach, a dropped UDP packet results in:

Modern voice codecs also use Packet Loss Concealment (PLC) to interpolate and mask these tiny gaps, making occasional UDP drops nearly invisible to the user.

Dropped TCP Packets: Freezes, Lag, and Conversational Collisions

TCP is a connection-oriented protocol built for reliability, meaning it guarantees that every single packet arrives in exact sequential order. When a TCP packet drops during a voice call, the following occurs:

Summary

In a voice call, a dropped UDP packet creates a brief, localized audio imperfection while keeping the conversation synchronized and natural. In contrast, a dropped TCP packet creates disruptive latency and pauses, making natural two-way conversation difficult or impossible. For this reason, nearly all real-time voice applications rely on UDP.