Reducing VoIP RTP latency

 

Symptom:

RTP latency may be greater than desired in certain Integrated Media Gateway (IMG) call scenarios where there are multiple VoIP legs within a local area network.

 

Reason for the issue: 
The IMG VoIP modules use default minimum and maximum Jitter Buffer Delay values of 75 and 150ms respectively, which are suitable for most IP network environments; however, in some cases it may be desired to alter the Jitter Buffer Minimum and Maximum values to reduce overall latency on a VoIP call that includes the IMG.   
Because it is usually not necessary to override the default Jitter Buffer parameters, these settings are not configurable via the Gate Control Element Management System (GCEMS) ClientView graphical user interface. 

 

Fix / Solution: 
A custom API file can be created and downloaded to each IMG to adjust the minimum and maximum allowed jitter buffers.  

Note that this configuration change is particularly applicable to configurations where multiple VoIP 'hops' take place in a local area network and, therefore, the latency in the network and the quality of service are predictable.

NOTE:  Before applying this change, it is important to understand the possible implications of the change when wide area network or the Internet connections are involved since these networks may have unpredictable latency or varying quality of service.  Therefore, it is advisable to thoroughly test changes that override default settings prior to deployment in a production network.

To make the changes, there are three steps:

  • create the IMG raw API file

  • apply the file to the IMG

  • verify the results

To create the raw API file, you will need to know the IP addresses of the IMG VoIP module(s) that is/are being modified.   These addresses are displayed in ClientView, in the VoIP Module object under the Network Interfaces object.

Once the module IP addresses are known, convert each octet to hexadecimal format.  For example, 10.10.10.2 becomes 0x0a 0x0a 0x0a 0x02.

Create and download the raw API file as described on IMG 1010 - Downloading a Raw File, substituting the required IP addresses in bytes 21-24.  

The raw API can be broken down as follows:

  1. The address element (note this is the internal address of the VoIP module and not the IP address as that is configured later). Octet 12 is the VoIP module identifier with VoIP module 0 having ID 04 and VoIP module 1 having ID 05. The VoIP module identifier is highlighted in red below:

00 1b 00 e3 00 00 ff 00 01 01 01 04 00 02 00 09 00 06 3e 04
  1. The IP address configured on the VoIP module in hexadecimal format:

0a 0a 0a 02
  1. The attribute which is being configured. 0x01C2 = minimum jitter buffer delay and 0x01C3 = maximum jitter buffer delay:

01 c3
  1. The size of the value as a 2 byte number in hexadecimal. NOTE: the minimum jitter buffer delay is a 1-byte value but the maximum jitter buffer delay is a 4-byte value:

  1. The value in hexadecimal:

 

Thus, to configure module 0 with IP address 10.10.10.2 with a minimum jitter buffer delay of 10ms and a maximum jitter buffer delay of 20ms, the raw API would look like this:

 

To verify the changes, from the IMG Telnet Advanced Debug prompt, type v, then M0 for module 0 and M1 for module 1.  The current values will be displayed, with any overridden parameter values marked with a preceeding asterisk.  

In the following example, the minimum has been overridden, but the maximum remains at its default:

 

Product List

IMG 1010

Return to Documentation Home I Return to Sangoma Support