| CONTACT | DEVELOPER CENTER | PARTNERS | SITEMAP
GO
Useful Links
  • Search Helpweb
    
    

Dialogic Support Helpweb

Dialogic® Host Media Processing (HMP) Software

Modifying Dialogic® Host Media Processing (HMP) Software Jitter Buffer Settings


Summary
How To Modify Dialogic Host Media Processing (HMP) Software Jitter Buffer Settings

Abstract:
On Dialogic® Host Media Processing (HMP) Software systems, an internal jitter buffer attempts to reduce jitter caused by transmission delays in a Voice over IP (VOIP) network. Jitter on a VOIP network refers to delays, bursts, packet ordering, and packet loss issues that happen when two or more parties are communciating. A jitter buffer attempts to mitigate such issues by reordering and spacing packets on the receiver side. Without a jitter buffer to smooth the transmission, data may be lost, resulting in choppy audio signals. A jitter buffer is important on a VOIP network because audio communication requires realtime transmission. If a reasonable amount of ordering is not done,data will not be audible.

Two types of jitter buffer may be used:
  1. Fixed jitter buffer - The size of the jitter buffer (in terms of frames queued) remains the same throughout any Real Time Protocol (RTP) session.
  2. Dynamic(adaptive)jitter buffer - An adaptive learning algorithm enables the jitter buffer can grow in size to accomodate high latency issues per RTP stream.
This technote will show how to change settings for each jitter buffer (for example, size value at initialization, max value for dyanmic (adaptive)jitter buffer setting).

Capabilities and Pre-requisites:
On Dialogic HMP systems, the settings for the jitter buffer are contained within the FCD file. Therefore, changes will only take affect at download time. These settings can be used on Dialogic HMP1.3, HMP2.0, and HMP3.0.

How To Change Settings for the Jitter Buffer:
HMP supports the following settings for the jitter buffer used:
  1. User can enable dynamic (adaptive)jitter buffer or static jitter buffer
  2. Set an initial jitter buffer size for the start of any RTP stream.(user can decide on any inital setting)
  3. If using fixed jitter buffer size, then set jitter buffer size in the range of 1 to 200 frames.
  4. To change settings, you will need to modify the FCD file belonging to the HMP Software, as follows:
    • Modify the FCD file associated with the HMP Software entry in the Dialogic Configuration Manager (DCM) See the screen shot below.
    • Double click on the HMP_Software entry as shown in the screen shot below



    • FCD file is located in the ..\Intel|HMP\data directory
    • If the HMP license was properly activated, there will be two files with the same name as the license file. One file will be .config and the other .fcd file. An example of these two files are: 96r96v96e0c0s96f96i_hib_pur.config and 96r96v96e0c0s96f96i_hib_pur.fcd

    • Modify the .config file with the new settings.
    • Then, REGENERATE the .fcd file using FCDGEN.
  5. By default, the parameter is missing from the .config file and the default settings are used. When settings other than the default are required, these parameters must be written into the file and the new value needs to be given. The parameters, the description, and possible values are given below:

    Parameter Name:  PrmPlr_LatencyAlg_Audio (Latency Mode)
    Parameter Number:  0x1b95 or 0x1b8b
    Description:  This parameter controls if HMP will use the dynamic (adaptive) jitter buffer or a static jitter buffer.
    Values:  0 [default]: adaptive mode enabled -OR- 1:fixed mode enabled

    Parameter Name:  PrmRxLatencyFrameInit_Audio (PLR Initial Latency)
    Parameter Number: 0x1b07
    Description:  This parameter specifies the amount of packet loss recovery (PLR) latency (delay) that can be introduced by defining the initial number of frames that can be bufferred.  This parameter defines the starting value for initial latency.  This is the starting size of the jitter buffer.
    Values: 1 up to PrmRxLatencyFrameMax_Audio value (given below) - default value = 6

    Parameter Name: PrmRxLatencyFrameMax_Audio (PLR Maximum Latency)
    Parameter Number: 0x1b08
    Description: This parameter defines the maximum number of frames to be buffered in the jitter buffer.
    Value: 30 to 200 frames (default = 100)

Cautions and Key Points:
  1. When using fixed mode jitter buffer setting, the PrmRxLatencyFrameMax_Audio value can only get 1.5 times the PrmRxLatencyFrameInit_Audio value. This means if PrmRxLatencyFrameInit_Audio is set to 6, then the PrmRxLatencyFrameMax_Audio value can only be as high as 9.
  2. Use the adaptive mode to minimize audio loss due to abnormal packet reception conditions.
  3. Use the fixed mode to minimize latency growth by sacrificing audio quality.
  4. By default, the [IPVSC] section of the .config file contains only the following:
    [IPVSC]
    !sending Std_MsgInit to component
    InitIPVSC
    SetParm=0x4005,49152 !Set the rtpPortBase on IPVSC
    SetParm=0x1b12, 0 !Disable EC on HMP.
    SetParm=0x1b13, 128 !Set EC tail length to 128(16ms), 512(64ms) 
     
    Given the default values for the jitter buffer, you can assume your file is set as shown below:

    [IPVSC]
    !sending Std_MsgInit to component
    InitIPVSC
    SetParm=0x4005,49152 !Set the rtpPortBase on IPVSC
    SetParm=0x1b12, 0 !Disable EC on HMP.
    SetParm=0x1b13, 128 !Set EC tail length to 128(16ms), 512(64ms)
    SetParm=0x1b95, 0 !Adaptive mode enabled
    SetParm=0x1b07, 6 !Initial jitter buffer size in frames
    SetParm=0x1b08, 100 !Maximum jitter buffer size in frames


Common Changes:
  1. In most cases, for long RTP streams, some audio related concerns (e.g. echo) will increase the jitter buffer to very high values and will heavily distort the audio. Therefore, set 0x1b95 to 1 which will turn off the adaptive jitter buffer resulting in maximum jitter buffer size of 1.5 times the initial jitter buffer size.
  2. In other cases, when network packet loss is too high, audio quality will also degrade. In that case, users will keep the adaptive jitter buffer setting, but will increase the maximum jitter buffer size via parameter 0x1b08.

    NOTE:When using adaptive mode, jitter buffer sizes will increase per RTP stream. When one stream is torn down and another started, jitter buffer resumes at the initial value. On HMP, the jitter buffer value can only increase as the RTP stream progresses. The jitter buffer on HMP per RTP stream will not contract again.
Procedure For Applying New Changes:
  1. Identify parameters that require changing under the [IPVSC] section of the .config file.
  2. Make changes as needed.
  3. Save the file.
  4. Open a command window and go to the ..\Intel\HMP\data directory and run the following:
    fcdgen <config file name including .config part> and then hit Enter
  5. A new .FCD file will be generated with the same name as the nonsuffix part of the .config file.
  6. Stop all applications running.
  7. Stop HMP services.
  8. Restart HMP services.
  9. Restart application running.
New settings should now take effect.

Product List
Dialagic® HMP1.3 All Service Updates
Dialagic® HMP2.0 All Service Updates
Dialagic® HMP3.0 All Service Updates

Glossary of Acronyms / Terms
HMP-Host Media Processing

Related Documentation
Dialogic® Host Media Processing Software for Windows Configuration Guide



Feedback

Please rate the usefulness of this page:  

0 - not useful at all
1 - potentially useful
2 - quite useful
3 - very useful
4 - exactly the information I needed     

Please enter a comment about this page: