[asterisk-users] SIP devices with packet loss tolerance

Stephen Bosch posting at vodacomm.ca
Mon Apr 23 17:25:33 MST 2007


Hi:

Chris Bagnall wrote:
> One of our clients has a number of employees that work from home, and
> are given a SIP phone to take with them and hook up to their
> broadband. For the most part, this works fine, but there are an
> increasing number where sound quality is poor ("chops" in and out,
> generally only noticeable to the listener at the other end, not the
> employee). Logic suggests it's an upstream bandwidth issue, so we
> asked them to try when all other devices were turned off (to cut out
> the "kids using bitTorrent" issues), but even with the phone the only
> device, call quality was still poor.
> 
> Since the connections aren't paid for by the client, we aren't in a
> position to mandate particular providers or speeds, but in each case,
> the minimum was a 1mb/256k up ADSL. We asked the employees to run
> some speed tests to determine real-world speeds, and in each case
> upstream was around 220-235k (a little off the "official speed" but
> not bad). Certainly way more than the ~35kbps necessary for a g729
> call, even with packet overheads.

I have long been suspicious of bandwidth statistics. In my experience,
just because a provider says the bandwidth is 256kbps doesn't mean it
is, by a long way. As a general guideline, upstream bandwidth on
residential broadband connections is poorly served. That's the dirty
secret; as more people are enticed to go to VoIP for residential phone
service, that limitation is going to become painfully apparent.

How did you perform the speed tests? The freely available ones on the
public Internet leave a lot to be desired. If you want to get truly
reliable performance numbers, use iperf. There's a Win32 version available:

http://dast.nlanr.net/Projects/Iperf/

You can put this on your Asterisk server and do some really meaningful
throughput tests to and from your roaming users. At the research network
operator where I used to work, we used this all the time for
troubleshooting. Even though we had an extremely expensive network that
was fibreoptic over its entire length, performance problems were common
and the thing required constant coddling. (As a point of comparison, the
best I've seen out of a copper gigabit Ethernet (in a laboratory
environment, no less) is 330 Mbps -- that's a long way from gigabit
speeds, and I seriously doubt we're talking about 600 Mbps of network
overhead.)

On the matter of the BitTorrent factor: did you have the users connect
the phone, and only the phone, to the Internet connection?

> We've also tested the connections with a constant ping, and latency
> for nearly all of them is sub-35ms.

The connections are simply not optimized for real-time performance. I
don't know that there's much you can do about this.

> So, that leads me towards packet loss as the only thing left.
> Generally speaking, these connections are giving between 1 and 4%
> packet loss.
> 
> Therefore, 3 questions: 1) is this level of packet loss likely to
> have the effect we're seeing?

I don't think it's the packet loss per se; it's more likely to be
jitter, and no, correcting for jitter in Asterisk isn't likely to make
much difference, because the jitter on upstream connections can be so
big that it overwhelms the jitter buffer.

This is a long way of saying that the effort you expend trying to fix
this problem isn't likely to help you much. Try a few things, but don't
spend too much money on it. What will solve the problem is better
Internet connections, and if you can't get those, you might well be stuck.

This is why I'm not in a hurry to recommend roaming to my customers
anytime soon.

-Stephen-



More information about the asterisk-users mailing list