Telecommunications Tech Blog August 2014
When is buying something that says it's QoS useless
I've been looking for an "easy" way to improve VoIP voice quality on a single broadband
pipe that's shared with general Internet use in an office.
In my research I found a $30 and $43
Ethernet switch on Amazon that both call themselves QoS (Quality of Service)
switches. Wow. Can
these cheap switches be the fix to everybody's VoIP problem?
The idea of a QoS device is that it
will give priority to time sensitive packets travelling through it over other
packets, which it will slow down or drop. This is normally done by your telling
the particular QoS device how big the pipe is (the bandwidth available) so it
can slow or drop non-time sensitive packets to the point where the pipe
never gets close to being filled.
What QoS does is sometimes called
"Traffic Shaping" (referring to IP packets). It's most often used for VoIP and
Video Conferencing, but it can be applied to most any type of packet needed by a
particular location by a QoS router. Need to get to a specific website over all
others? Some routers will let you give a URL priority.
QoS is most often applied to outbound
traffic only, where the router is equipped with enough memory to queue the
non-priority packets (or drop them).
VoIP packets need a lot of help
making it from end to end in the right order - with very few packets lost, and
without much delay. So it sounds like QoS is a no-brainer for giving them the
best shot leaving a premise?
I was amazed how cheap these QoS
switches were. When I got them and tried them I realized that I had been ripped
off. There's no way these switches can do QoS. They might try to shape the
packets to give them some kind of priority, but it's of
no help to VoIP.
The biggest problem with these cheap
QoS switches? They aren't programmable. For a device to have any chance of
prioritizing VoIP packets it has to know how much bandwidth it has to work with.
These cheap "QoS" switches have no way of knowing that.
On the ZyXel switch the ports are
color coded with the green getting the most priority, the yellow getting the
next priority, and the gray no priority. It apparently does some traffic
shaping, but I couldn't tell in testing.
On the D-Link switch all eight ports
are the same. It apparently does some traffic shaping of some kind, but I
couldn't tell in testing.
My test was simply to connect them
one at a time to a non-QoS router. I plugged in all the VoIP traffic on one patch
cord, and all the other traffic on another patch cord. On the ZyXel I plugged
the VoIP into a green jack and the other cord into a gray jack. On the D-Link I
just used the first two jacks.
I started a VoIP call (on a Polycom
phone) and it sounded fine to the person on the other end. I started an FTP
upload of a 3 gig file to our server and I sounded terrible to the person on the
other end. The bandwidth meter on the PC said it was using the entire ADSL
upload bandwidth. Both the ZyXel and D-Link acted the same, which was
exactly what happened when I substituted a regular non-QoS switch for either of
these. It sounded just as bad.
When I was plugging in the Polycom
phone it struck me that maybe they do some traffic shaping on a VoIP phone's
internal switch? Nope. Same results. As soon as I did an FTP upload to the
Internet from the PC connected to the phone, my voice sounded terrible on the
Note that some routers both with and
without QoS may slow down the opposite direction if one way gets filled. It's
always a bad idea to get close to filling an Internet broadband pipe if you're
Besides a QoS router, which might
help VoIP depending on specific traffic and bandwidth available, you can get a
load balancing or bonding router with QoS. That works great for non-time
sensitive traffic, but bonding and load balancing aren't a good solution for
And if the two broadband connections
into the router router aren't the same speed, that's probably going to make
VoIP voice quality worse. If a VoIP packet gets sent out the faster pipe, and
one out the slower pipe, they definitely won't arrive at the same time and the
call won't sound good.
On some bonding or load balancing
routers you may be able to tell it to send all the VoIP packets out just one of
the pipes to avoid problems from using two different speed pipes.
If you have a
bonding or load balancing router that will use a 3G or 4G USB modem as a backup,
VoIP is pretty much unusable on 3G or 4G. You'll have to tell the router
not to use the backup for VoIP if you can.
I've tried to use g.711 (a 64K codec)
and g.729 (an 8K codec)
on both 3G and 4G. It's definitely not consistently usable, and there seems to
be more latency (delay) on a g.729 call from transcoding. I think the
newer OPUS codec may help, but I can't install the OPUS codec on an asterisk
You can go way beyond QoS routers by
implementing MPLS (MultiProtocol Label Switching), which puts a label on each
packet of data to indicate where it's going. The idea is that with the MPLS
label the router simply sends the packet on, instead of inspecting it and
deciding what to do with it (and how to combine it with all the other packets on
the pipe if you have QoS implemented). That reduces latency because the router
doesn't have to think about it much.
MPLS requires you to have a broadband
provider who has an MPLS network that understands these labels, rather than
regular routers looking at each packet and deciding what to do with it based on
the contents of the packet's header.
MPLS itself isn't QoS and may not
improve VoIP voice quality at all. QoS can be implemented within a tunnel on
MPLS (which may or may not make a difference for VoIP).
A benefit of MPLS is that
troubleshooting can be simplified when the router isn't making routing decisions
based on IP packet headers. On the other hand the complexity and cost of MPLS
compared to a normal IP network is huge for a regular company (user). The
broadband providers may be using it on their own networks to get your packets
from one place to another, where it makes sense.
Implementing MPLS for VoIP at a
company would be like getting a google self-driving car to go get milk, as
opposed to a bicycle. They will both get you there, but one is going to be much
more expensive than the other - while requiring a team of engineers to oversee
your little errand.
The only sane answer to
getting the best VoIP voice quality is to use a totally separate LAN for phones
in the office, going to a totally separate broadband connection. With no
connection between the networks in the office. That makes
troubleshooting very easy! If you didn't read last month's Blog about making
VoIP calls sound great, take a look at it:
You can spend a lot of money buying
and programming QoS stuff, but it's a much better idea to put that money into a
dedicated pipe for VoIP. Just because you can do something like QoS
or MPLS, doesn't mean it's a good idea. But hey, maybe there's a google self
driving car for errands in your future?
We're all learning this as we go.
Your comments can help someone else with their VoIP problem.
The hosted comment service we use
doesn't require your email address or a real name. It is
moderated, so anything goofy or spam will be deleted before it's posted.