<html>
<head>

</head>
<body>
<div style="color: black;">
<div style="color: black;">
<p style="margin: 0 0 1em 0; color: black;">The key figure for VoIP is
maximum latency, or perhaps somewhere around 99th percentile. Voice packets
cannot be played out if they are late, so how late they are is the only
thing that matters. If many packets are early but more than a very small
number are late, then the jitter buffer has to adjust to handle the late
packets. Adjusting the jitter buffer disrupts the conversation, so ideally
adjustments are infrequent. When maximum latency suddenly increases it
becomes necessary to increase the buffer fairly quickly to avoid a dropout
in the conversation. Buffer reductions can be hidden by waiting for gaps in
conversation. People get used to the acoustic round trip latency and learn
how quickly to expect a reply from the other person (unless latency is
really too high), but adjustments interfere with this learned expectation,
so make it hard to interpret why the other person has paused. Thus
adjustments to the buffering should be as infrequent as possible. </p>
<p style="margin: 0 0 1em 0; color: black;">Codel measures and tracks
minimum latency in its inner 'interval' loop. For VoIP the maximum is what
counts. You can call it minimum + jitter, but the maximum is the important
thing (not the absolute maximum, since a very small number of late packets
are tolerable, but perhaps the 99th percentile). </p>
<p style="margin: 0 0 1em 0; color: black;">During a conversation it will
take some time at the start to learn the characteristics of the link, but
ideally the jitter buffer algorithm will quickly get to a place where few
adjustments are made. The more conservative the buffer (higher delay above
minimum) the less likely a future adjustment will be needed, hence a
tendency towards larger buffers (and more delay). </p>
<p style="margin: 0 0 1em 0; color: black;">Priority queueing is perfect
for VoIP, since it can keep the jitter at a single hop down to the
transmission time for a single maximum size packet. Fair Queueing will
often achieve the same thing, since VoIP streams are often the lowest
bandwidth ongoing stream on the link. </p>
<p style="margin: 0 0 1em 0; color: black;">Simon </p>
<p style="margin: 0 0 1em 0; color: black;">Sent with AquaMail for Android<br>
<a href="http://www.aqua-mail.com">http://www.aqua-mail.com</a></p>
</div>
<div style="color: black;">
<p
style="color: black; font-size: 10pt; font-family: Arial, sans-serif; margin: 10pt 0;">On
May 7, 2015 6:16:00 AM jb <justin@dslr.net> wrote:</p>
<blockquote type="cite" class="gmail_quote"
style="margin: 0 0 0 0.75ex; border-left: 1px solid #808080; padding-left: 0.75ex;"><div
dir="ltr">I thought would be more sane too. I see mentioned online that PDV
is a <div>gaussian distribution (around mean) but it looks more like half a
bell curve, with most numbers near the the lowest latency seen, and getting
progressively worse with</div><div>less frequency.</div><div>At least for
DSL connections on good ISPs that scenario seems more
frequent.</div><div>You "usually" get the best latency and
"sometimes" get spikes or fuzz on top of
it.</div><div><br></div><div>by the way after I posted I discovered Firefox
has an issue with this test so I had</div><div>to block it with a message,
my apologies if anyone wasted time trying it with FF.</div><div>Hopefully i
can figure out why.</div><div><br></div><div class="gmail_extra"><br><div
class="gmail_quote">On Thu, May 7, 2015 at 9:44 PM, Mikael Abrahamsson
<span dir="ltr"><<a href="mailto:swmike@swm.pp.se"
target="_blank">swmike@swm.pp.se</a>></span> wrote:<br><blockquote
class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On
Thu, 7 May 2015, jb wrote:<br>
<br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
There is a web socket based jitter tester now. It is very early stage but<br>
works ok.<br>
<br>
<a href="http://www.dslreports.com/speedtest?radar=1"
target="_blank">http://www.dslreports.com/speedtest?radar=1</a><br>
<br>
So the latency displayed is the mean latency from a rolling 60 sample
buffer, Minimum latency is also displayed. and the +/- PDV value is the
mean difference between sequential pings in that same rolling buffer. It is
quite similar to the std.dev actually (not shown).<br>
</blockquote>
<br></span>
So I think there are two schools here, either you take average and display
+ / - from that, but I think I prefer to take the lowest of the last 100
samples (or something), and then display PDV from that "floor"
value, ie PDV can't ever be negative, it can only be positive.<br>
<br>
Apart from that, the above multi-place RTT test is really really nice,
thanks for doing this!<div><div><br>
<br>
-- <br>
Mikael Abrahamsson    email: <a href="mailto:swmike@swm.pp.se"
target="_blank">swmike@swm.pp.se</a><br>
</div></div></blockquote></div><br></div></div>

_______________________________________________<br>
Bloat mailing list<br>
Bloat@lists.bufferbloat.net<br>
<a class="aqm-autolink aqm-autowrap"
href="https://lists.bufferbloat.net/listinfo/bloat">https://lists.bufferbloat.net/listinfo/bloat</a><br>
<br>
</blockquote>
</div>
</div>
</body>
</html>