Packet reordering occurs when RTP packets arrive at the receiver in a different order than they were sent. This is a natural phenomenon on the internet, as different packets may take different network paths.
Why packets arrive out of order
- Different routing paths through the network
- Load balancing across multiple links
- Network congestion causing different queuing delays
- Retransmissions arriving alongside newer packets
Handling packet reordering in WebRTC
RTP includes sequence numbers in every packet, allowing the receiver to detect and correct reordering. The jitter buffer (specifically NetEQ for audio) accumulates packets and reorders them before playback.
However, excessive reordering creates problems:
- Increases the required jitter buffer size, adding latency
- Can be mistaken for packet loss if packets arrive too late, triggering unnecessary NACK retransmissions
- Affects BWE accuracy, as the sender may misinterpret delay patterns


