Why do I get skipping, or jitter?
Jitter is manifested by skipping or jumping when you listen to an RTP (or audio) stream. The sections below discuss potential causes and considerations to reduce the likelihood of jitter occuring.
What causes jitter?
Jitter is caused when packets either get lost or delayed. There are a variety of different issues that can cause jitter to occur:
Poor Internet Connection
G711 (which is the default codec when using HMP Elements), requires about 80kbps of bandwidth. You should make sure that your internet connection has enough bandwidth to support the number of concurrent ports that you would like to run.
QoS (Quality of Service)
QoS (Short for Quality of Service) tells a router to prioritize certain types of traffic. QoS prioritizes packets so that they take priority over other types of traffic. So for example, say you are doing maintenance on a server and begin downloading a large file. If you haven't configured QoS properly, the file could take priority over your VoIP traffic.
This can be done on either an IP, port, or packet level. You'll want to consult your router and determine which approach is best for your situation.
HMP Elements is supported to run under virtual machines. However, there are several considerations to ensure that it behaves as expected. This wiki article describes what needs to be done: Tips for running Hmp Elements in a Virtual Machine
The most important thing to remember (apart from using a bare metal VM installation) is that you must dedicate a NIC to the HMP Elements Server. Because audio in the RTP stream is very sensitive to timing, if you don't dedicate a NIC, another VM on the same host sending traffic could delay the NIC enough to prevent traffic from being sent on time.
You will also want to make sure that you have configured an appropriate amount of processing resources devoted to your virtual machine.
Not enough hardware resources
The requirements for HMP Elements are minimal, but if you are running older hardware, on a VM. The best thing to do is to monitor the task manager while the system is experiencing jitter. Open up the task manager and monitor the CPU utilization. If one or more cores reaches 100% utilization during anytime, it's likely that you could experience jitter. If you see more than 90% or more utilization for an extended period of time, you may want to consider different hardware.
Routers and networking equipment can often have difficulty processing multiple RTP streams at once. Routers often have a feature that allows you to view the CPU load. If you notice that your CPU load on the router approaches 100%, it's possible that your router has begun to drop packets which will cause jitter.
Although it is less common, we have seen instances where SIP carriers do not have the bandwidth available to handle the audio stream that's sent by HMP Elements. If you are reasonably certain that your hardware is sufficient for the amount of ports that you would like to run, you can sometimes try opening up a case with a carrier to see if they can assist in diagnosing the issue.
Please e-mail firstname.lastname@example.org for additional questions.