I have 2 asterisk servers on 2 different datacenters. Call is going from one to another. Suddenly audio quality decreased. I have made SIP traces on both servers. Here's what I've found:

  1. Server A send RTP to server B. (SIP trace made on server A and in the trace everything seems to be fine. Audio play's well using Wireshark RTP player)
  2. Server B receives RTP from server A. (SIP trace made on server B showed, that there are many (45.3%) out of sequence packets)

Question: How to determine where's the problem? :)


  • 1
    Nitpick: G.711 will run in RTP packets (in sessions set up by SIP messages), not SIP packets. – Frank Shearar May 22 '13 at 8:47

Usually the culprit when you see a large proportion of out-of-order packets in a stream is badly done load-balanced routing being done by some router somewhere on the path of the packets. IP doesn't guarantee in-order delivery of packets but protocols like TCP and RTP do assume that packets will be in order most of the time and degrade badly when that assumption doesn't hold. Therefore, best practices dictate that routers should not be configured in ways that will cause lots of out or order packets.

When most routers are configure to load balance traffic across multiple links, they use a hashing algorithm (often based on source and destination IP addresses and maybe TCP/UDP ports) which ensures that packets that belong to a single stream all choose the same member of the load-balanced group. This helps ensure that the packets will stay in order. If a router does load balancing without using such a hash, and packets belonging to a single stream end up on different links, they can easily take different amounts of time to transmit (due mainly to buffering, meaning this will happen even if the load balanced links have identical characteristics) and end up out of order at the destination.

If that's what's happening to you, and it is bad enough that the RTP receiver's jitter buffer can't compensate, then I'm afraid that there's nothing you can do about it except get whoever managed the network to fix it.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.