Jitter Tolerance

Jitter is the variation in the time between packets arriving, which could be caused by network congestion. The Vocera badge and smartphone both employ a jitter buffer to let the end user experience uninterrupted audio with very little sound distortion. Both the Vocera SIP Telephony Gateway and the Vocera Client Gateway are intermediate stops for audio packets. To avoid adding unnecessary latency, they do not employ a jitter buffer by default.

You can tune how the Vocera SIP Telephony Gateway and Vocera Client Gateway handle jitter from RTP packets by setting the jitter tolerance properties. The Vocera SIP Telephony Gateway and Vocera Client Gateway keep track of when it received the last RTP packet and when the next one should arrive. The jitter tolerance properties specify how long the gateway service should wait before it decides the next packet is not coming. If it determines the next packet is not coming, it inserts silence packets on the other side of the call. By modifying the jitter tolerance properties, you can ensure that the Vocera SIP Telephony Gateway and Vocera Client Gateway do not aggressively drop delayed audio packets and replace them with silence.

When you open the vgwproperties.txt file, you can set the following jitter tolerance properties:

Table 1. Jitter tolerance properties

Property

Description

VGWUseVRTPJitterTolerance

Enables or disables jitter tolerance for RTP packets. By default, this is set to TRUE, meaning jitter tolerance is enabled.

VGWVRTPJitterTolerance

Jitter tolerance for RTP packets sent from the Vocera Voice Server, Telephony Server, or Vocera badges. The default is 7 packetization periods. For RTP packets, each packetization period is 18 milliseconds, so 7 packetization periods is equal to 126 milliseconds.

Here's an example illustrating how the jitter tolerance properties work. Suppose Vocera Client Gateway received a VRTP packet p0 at time t0. The next packet, p1, should arrive at the following time:

t1 = t0 + (packetization period * number of frames per packet)

The time at which Vocera Client Gateway stops waiting for packet p1 to arrive is defined by the following equation:

t_giveup = t1 + (packetization period * VGWVRTPJitterTolerance)

If packet p1 has not arrived by the t_giveup time, the Vocera Client Gateway will give up on packet p1 and insert silence into the buffer used to send RTP.

If packet p2 arrives while the gateway is waiting for packet p1, then silence will be inserted for packet p1. If packet p1 subsequently arrives, it will be discarded.

Important: If you modify the jitter tolerance properties, you must test the audio on a Smartphone-to-Smartphone call to ensure the audio quality is good and there are not too many dropped packets.