JITTER BUFFER (VoIP)

10.4
In public switched telephone network (PSTN), voice samples are delivered synchronously with reference clocks. In VoIP, voice samples are compressed and framed as packets. Packets will go through several impediments while traversing from the source to the actual destination.
As shown in Fig. 10.3(a), jitter buffer regulates the flow between incoming packets and the voice decoder. The input to the jitter buffer is at irregular
 Jitter buffer input-output parameters. (a) Jitter buffer packet adjustment. (b) Packet adaptive jitter buffer. (c) Fixed jitter buffer.
Figure 10.3. Jitter buffer input-output parameters. (a) Jitter buffer packet adjustment. (b) Packet adaptive jitter buffer. (c) Fixed jitter buffer.
intervals, but jitter buffer output is read at regular codec frame intervals. Jitter buffer removes the jitter in the arrival of the packets by holding them in the buffer for several milliseconds or several voice frame intervals. There is a trade- off between the end- to-end delay caused by the jitter buffer and the packet loss. For a comfortable voice conversation, end – to – end mouth – to – ear delay including jitter buffer should be as low as possible or at least in the range of 150 to 250 ms. The worst – case delay considered is 400 ms [ITU-T-G.1020 (2006)], and beyond this delay, voice calls are treated as not suitable for interactive conversation. As per the E-model estimation given in topic 20, maintaining end-to-end delay to less than 177.3 ms helps to maintain better voice quality from delay considerations.
The size of the jitter buffer depends on the dynamic conditions of the network, trade-offs in delay, and allowed packet loss. In achieving the delay goals, jitter buffer may drop packets. A large jitter buffer size causes increase in the delay, but it reduces packet loss. In the early VoIP deployments, packet loss goals used to be of less than 5% for good quality speech. In recent times, this limit is set to 1% of packet drop [TIA-116A (2006)] as a recommendation. If the end-to-end packet delivery is free of impediments, the receiving end decoder can play packets as soon as they arrive, and this helps better voice quality. In practice, even in good conditions, some minimum buffering to the extent of one or two voice payload frames is used.
Jitter buffers are broadly classified as fixed jitter buffer (FJB) and AJB. AJB makes use of all possible conditions to maintain lowest packet drop at the lowest possible buffering delay. Fax and modem applications will not tolerate adaptive adjustments of AJB. FJB keeps a fixed buffer size that meets the requirements. FJB is sufficient in good network conditions. VoIP fax and modem calls use FJB to avoid packet adjustments. The main actions of AJB and FJB for various input impediment conditions are listed in
Table 10.1 .
In Fig. 10.3(b) and (c), AJB and FJB functional packet flow and parameters are given. In Fig. 10.3(b), AJB is shown to make use of a minimum number of inputs from RTP and configuration parameters. The output is at regular intervals to the decoder and PLC. The inputs shown to the AJB with solid lines are mandatory. The inputs marked in dotted lines are optional parameters that help to improve the AJB performance. AJB can make use of RTCP parameters that give round-trip delays, NTP time stamps, and other packet statistics. RTCP-XR packets will carry several inputs specific to packets flow. The parameters from RTCP and RTCP-XR can be used to improve the AJB performance for the varying conditions. The playout adjustment algorithms can also make use of talk-spurt detection for identifying the silence zones, and this helps to improve voice quality.
FJB shown in Fig. 10.3(c) makes use of only limited parameters. Most FJB algorithms work with mandatory RTP parameters, payload, and user configuration. By design, FJB may not make use of RTCP, RTCP-XR, and talk-spurt information. However, FJB implementation parameters can be derived to report statistics to RTCP-XR module.


Table 10.1. AJB and FJB Actions for Various Packet Impediments

Condition FJB AJB
Fixed delay No action. Usually no action. If fixed delay is
known; when fixed delay and
buffer size together approaches
150 to 250 ms, AJB tries to
minimize delay.
Adaptation control No adaptation, fixed Adapts to dynamic conditions.
buffer size, usually
preconfigured.
Packet jitter or Jitter will translate to Jitter buffer adjusts the buffer
reorder fixed delay. Packets size to accommodate the
with jitter exceeding varying jitter conditions. It may
FJB thresholds will be drop a packet or create an
dropped. extra silence.
Buffer size Usually higher to Keeps lowest possible buffer size
trade-offs accommodate while maintaining acceptable
maximum deviations packet drop. Drops more
of jitter. packets if buffer size exceeds
250 ms.
Packet drop FJB usually does not AJB may drop or adjust more
create extra packet packets in the process of delay
adjustments. Input optimization. Total packet drop
packet drop of FJB is should not exceed 5% for
translated to output of acceptable voice quality.
FJB.
Duplicate packets Usually duplicate Always takes care of duplicate
packets are handled in packets.
FJB. Some FJB
implementations may
not be having this
capability.
Applications— Dedicated VoIP In all VoIP applications with
distinction deployment when several dynamics in the
available bandwidth is deployments. In some
more than the implementations, the same AJB
required. Used in fax is made to work like FJB for
and modem pass- fax and modem by disabling the
through modes. adaptation control.

Next post:

Previous post: