Jitter, (also known as latency or delay), is the amount of time it takes for a packet of data to get from one point to another. A jitter buffer is a temporary storage buffer used to capture incoming data packets. It is used in packet-based networks to ensure the continuity of audio streams by smoothing out packet arrival times during periods of network congestion. Data packets travel independently and arrival times can vary greatly depending on network congestion and the type of network used, i.e. LAN versus wireless networks. The concept of jitter buffering is displayed visually in the following image.

Jitter buffer management is encompassed within Tieline's SmartStream IP technology which can:
•Remove duplicate packets.
•Re-order packets if they arrive out-of-order.
•Repair the stream in the event of packet loss (error concealment).
•Manage delay dynamically based on current network congestion.
•Manage forward error correction (FEC).
Tieline codecs can be used to program either a fixed or automatic jitter buffer and the setting you use depends on the IP network you are connecting over. Over LANs, WANs and wireless networks the automatic jitter buffer generally works well. It adapts automatically to the prevailing IP network conditions to provide continuity of audio streaming and minimizes delay.
A fixed jitter buffer is preferable over satellite connections to ensure continuity of signals.
|
CAUTION: If a Tieline codec connects to a device that is using non-compliant RTP streams then the last fixed setting entered into the codec will be enabled (default is 500ms). Non-compliant devices include some other brands of codec, web streams and other devices. |
Least Delay: This setting attempts to reduce the jitter buffer to the lowest possible point, while still trying to capture the majority of data packets and keep audio quality at a reasonable level. This setting is the most aggressive in its adaptation to prevailing conditions, so jitter buffer may vary more quickly than with the other settings. It is not recommended in situations where jitter variation is significant and/or peaky. (E.g. 3G/multi-user wireless networks). It is best for stable and reliable links such as dedicated or lightly-loaded WAN/LANs.
Highest Quality: This setting is the most conservative in terms of adapting down to reduce delay. The jitter-buffer setting will actually stay high for a longer period after a jitter spike is detected – just in case there are more spikes to follow. This setting is best used where audio quality is most highly desired and delay is not so critical. Unless delay is irrelevant, this setting is also not recommended over peaky jitter networks (such as 3G) and is best used on more stable networks where large jitter peaks are not as common.
Best Compromise: This (default) setting is literally the midpoint between the jitter buffer levels that would have been chosen for the Highest Quality and Least Delay settings. It is designed to provide the safest level of good audio quality without introducing too much extra delay.
Good Quality and Less Delay: These two settings lie between the mid-point setting of Best Compromise and two settings Highest Quality and Least Delay. They indicate a slight preference and may assist in achieving better performance from a connection without incurring extreme delays in transmission or packet loss.
The jitter Depth setting allows you to select predetermined minimum and maximum jitter settings within the auto jitter buffer's minimum and maximum jitter limitations. The default setting of 60 to 1000ms is a good starting point for most networks. It may be necessary to increase the maximum auto jitter latency setting for networks experiencing higher packet latency, or the minimum depth depending on the reliability of the network.
The following table provides an overview of which algorithms are capable of using the automatic jitter buffer feature over SIP and non-SIP connections.
Algorithm |
Tieline Session Data Connections |
SIP Connections |
PCM Linear (Uncompressed) |
|
|
Tieline Music |
|
|
Tieline MusicPLUS |
|
|
G.711 |
|
|
G.722 |
|
|
MPEG Layer 2 |
|
|
LC-AAC |
|
|
HE-AAC v.1 |
|
|
HE-AAC v.2 |
|
|
AAC-LD |
|
|
AAC-ELD |
|
|
Opus |
|
|
aptX Enhanced |
|
|
1.Press the HOME
button to return to the Home screen.
2.Use the navigation buttons on the front panel to select Connect and press the
button.
3.Select IP and press the
button.
4.Select your preferred IP Session mode and press the
button.
5.Use the down
navigation button to select Setup and press the
button.
6.Navigate to Jitter and press
.
7.Select Auto Adapt and press
.
8.Select your preferred jitter buffer setting and press
.
When configuring automatic jitter buffer settings, establish the IP connection for a while before ‘going live’, to let the codec evaluate the prevailing network conditions. The initial jitter buffer setting when a codec connects is 500ms and it is kept at this level for the first minute of connection (as long as observed delay values are lower than this point).
After the initial connection period the jitter buffer is adapted to suit the current network conditions and is usually reduced. Establish a connection for at least 5 minutes prior to broadcasting, so that the codec has been provided with enough jitter history to ensure a reliable connection.
There are five states or stages that jitter buffer may display and these can be observed in the connection status screen by selecting HOME
> Cxns button while connected and use the down
and up
navigation buttons to scroll through connection statistics.. The first four stages are observed in “auto” jitter buffer mode.
1.Stabilization period (a1): A few seconds at the start of a connection where no action is taken at all while the establishment of a stable connection means analysis of jitter data is not valid.
2.Stage 2 (a2): A compatibility check to ensure the RTP connection is compliant and RTP clocks are synchronized enough to perform jitter analysis.
3.Stage 3 (a3): If the compatibility check is successful, this is the analysis hold-off period. During a minute, the jitter buffer is held at a safe, fixed value of 500ms while enough history is recorded to start jitter buffer adaptation.
4.Stage 4 “live” (A): This is where the codec determines it is safe enough to start broadcasting using the auto-jitter buffer level. We recommend running the codec for a few more minutes to obtain a more comprehensive history of the connection’s characteristics.
5.Fixed (F): This state is displayed if the jitter buffer is fixed.
|
Important Note: The jitter buffer setting in the codec can only be adjusted when a connection is off-line. Automatic jitter buffering is disabled for a PCM (linear uncompressed) audio connection. |
Session data is exchanged when a Tieline codec dials another Tieline codec and this configures the answering codec algorithm, bit-rate and jitter buffer etc. Depending on the capability of your network infrastructure, you may want to independently configure the jitter buffer settings on the answering codec. To do this:
1.Create a new answering program on the answering codec.
2.Configure preferred jitter buffer settings in this answering program.
3.Lock the answering program in the codec.
This ensures the answering program jitter buffer settings will be used when answering a call from a Tieline codec.
The default jitter-buffer setting in Tieline codecs is 500 milliseconds. This is a very reliable setting that will work for just about all connections. However, this is quite a long delay and we recommend that when you set up an IP connection you test how low you can set the jitter-buffer in your codec.
1.Press the HOME
button to return to the Home screen.
2.Use the navigation buttons on the front panel to select Connect and press the
button.
3.Select IP and press the
button.
4.Select your preferred IP Session mode and press the
button.
5.Use the down
navigation button to select Setup and press the
button.
6.Navigate to Jitter and press the
button.
7.Select Fixed Buffer and press the
button.
8.Use the numeric KEYPAD to enter the fixed buffer value in milliseconds and press the
button.
If you change the jitter buffer setting in a codec it will only adjust to the new level when link quality is high (e.g. above 70%). This is done to ensure audio quality is not compromised. When manually configuring the jitter-buffer delay in a codec it is necessary to think carefully about the type of connection you will be using. Following is a table displaying rule of thumb settings for configuring jitter-buffer delays into your codec.
Connection |
Jitter-Buffer Recommendation |
Private LAN |
60 milliseconds |
Local |
100 - 200 milliseconds |
National |
100 - 300 milliseconds |
International |
100 – 400 milliseconds |
Wireless Network |
250 - 750 milliseconds |
Satellite IP |
500 - 999 milliseconds |
|
Important Note: The preceding table assumes Tieline Music is the algorithm in use. Do not use PCM (uncompressed) audio over highly contended DSL/ADSL connections without enough bandwidth to support the high connection bit-rates required. |
If forward error correction is configured then additional data packets are sent over a connection to replace any data packets lost. There is no need to modify jitter buffer settings if you are sending FEC data, only if you are receiving FEC data.
The jitter buffer depth on the receive codec needs to be increased if forward error correction is employed. We recommend you add 100ms to the jitter buffer on a codec receiving FEC at a setting of 20% and 20ms at a setting of 100%.
Tieline’s auto jitter buffer detects the amount of FEC that is being used and automatically compensates to increase the codec jitter buffer if FEC is being used.