Audio

"Exceptionally long voice queue length" in Asterisk

This warning is about media, not signalling. Frames are arriving faster than they are being written out, and callers hear the result as choppy, robotic, or increasingly delayed audio.

What it looks like in the log

[2026-08-17 17:21:38] WARNING[26610][C-00004112] channel.c: Exceptionally long voice queue length queuing to PJSIP/1007-000029ab

What it means

Asterisk moves audio in small frames on a strict schedule. When something prevents a frame being written on time, the next one queues behind it. Once the backlog passes a threshold, this warning appears.

Left alone, the backlog grows. The call does not drop, which is what makes this insidious: signalling looks perfect, the call stays up, and the audio quality degrades throughout.

Most common causes

  1. 01CPU saturation on the box

    Transcoding is expensive. A box doing G.729 to ulaw conversion on more calls than it has cycles for produces this across many channels at once.

  2. 02Disk I/O blocking the media path

    Recording every call to slow storage, or a log rotating onto a busy disk, can stall the thread long enough to back up the queue.

  3. 03Network jitter on one leg

    If the warning is isolated to one channel or one trunk, the path to that peer is the suspect rather than the system.

  4. 04A virtual machine being starved

    Steal time on an oversubscribed hypervisor produces exactly this pattern with no visible local load, which makes it hard to find from inside the guest.

  5. 05An overloaded conference or bridge

    Mixing many participants concentrates work on one thread, so a large conference can back up while the rest of the system is idle.

How to tell which one it is

Count how many distinct channels the warning fires on. Many channels at the same moment points at the system - CPU, disk, or the hypervisor. A single channel repeatedly points at that leg's network path.

Then correlate the timestamps against load on the box. If the warnings cluster at busy hour, capacity is the answer; if they are spread evenly, look at the path instead.

How to fix it

Related failures