[asterisk-users] Latency woes, qos the fix?
Jerry Jones
jjones at danrj.com
Sun Oct 19 10:33:51 CDT 2008
On Oct 19, 2008, at 1:21 AM, Alex Balashov wrote:
> Stephen Reese wrote:
>>> Does the latency remain more or less the same regardless of the
>>> bandwidth load on the pipe?
>>>
>>> If so, TOS bits (what you refer to as QoS) won't help you. You've
>>> either got network issues (very likely if you have an intra-
>>> network ping
>>> of 30 ms) or the outside host you're sending the traffic to is
>>> just that
>>> far away in latency terms.
>>
>> Interesting. Just to clarify, the computer I'm pinging from is on the
>> same switch as the phone so I don't see how there could be so much
>> variance since the remote Asterisk server is on a very fast pipe.
>> I've
>> seen several people post that they have well under 100ms response.
>>
>> Is the time that the Asterisk displays just a ping to the device or
>> are there more calculations? Any ideas besides TOS since that will
>> not
>> help much as you mentioned?
>
> Theoretically, the time Asterisk displays is just the result of
> round-trip time for a SIP OPTIONS ping which results in some sort of
> SIP
> feedback.
>
> In practise, that often ends up being considerably longer than the
> ICMP
> ping time and is often a very specious metric that does not give any
> real insight into the true end-to-end latency for media relay etc.
>
> Some of that has to do with the speed with which the far end's UAC
> core
> responds, so application-level latency as well as other latency within
> the propogation of the request up the stack plays into it. It may
> also
> have to do with inaccurate and/or wandering timing resolution used
> within Asterisk to time the return of those requests, especially if it
> depends on any kind of heavily locked threaded processes or other
> unknown event intervals. I do not know the answer to that. What I do
> know is that the time Asterisk shows for its 'qualification' pings can
> be 100+ ms higher than the ICMP round-trip time.
>
> I would use ICMP echo (traditional pings) to figure out if the latency
> is really the problem.
>
> The TOS field is meant to solve contention issues on the upstream path
> because routers that are set to differentiate between various DiffServ
> code points can packets marked as being of a certain class at a much
> lower contention ratio, depending on what else is enqueued. In
> practise, that means media can receive higher packet dequeueing
> priority
> if it contends with many other types of packets for upstream
> bandwidth.
>
> It won't help you on the downstream unless your provider is doing
> DiffServ tagging and your edge router is set to recognise the right
> bits
> and forward the packet on. But unless you've got that kind of setup
> going, you can't affect the contention of the traffic that is
> transmitted to you from somewhere else.
>
> As far as figuring out the true essence of the problem, ICMP pings can
> probably help to diagnose it along with accurate bandwidth usage
> measurements on your upstream pipe. Of course, the problem could also
> be caused by interface errors, duplex mismatches, bad cables, bad
> NICs,
> bad WICs, and just about anything else that can cause network problems
> that may not be easily detectable with conventional data applications
> but show up in real-time ones such as VoIP media relay.
Alex is correct. Always check thereare no half-duplex links in your
path. If you have an older dsl/cable modem or router that only has a
10M ethernet, it is probably half. Also make certain there are no hubs
in the path. Keep in mind that colissions ar NORMAl for a hlaf duplex
connection. TCP traffic simply retransmits, but voice (on asterisk) is
RTP/UDP and the packet gets dropped. Even if it were TCP there is no
time for a retransmit to be detected and resent. Using ehternet to
detect the collision it does get resent, but there comes your jitter -
which has much worse effects than simply latency.
As far as measuring latency, doing a sip show peer andlooking at the
qualify times is a GUIDELINE. It is my no means a correct indication,
the real time can be much lower. I have noticed various ATA on the
same networks as Polycom phones wil have sub 20ms times and the
Polycoms will be <50ms. Yet all is as it should be and working great.
Generally QOS will help with packet loss and jitter.
Hope this helps.
More information about the asterisk-users
mailing list