A Little More on QoS for SMBs and End Users
While “broadband” connections are starting to become prevelant, they aren’t exactly everywhere. Not everyone has enough bandwidth on their Internet connection to support VoIP. In the Voxilla Forums, I frequently see people from all other the world wanting to “QoS” their meager upstream bandwidth so VoIP works better.
Even if you have bandwidth, all it takes is a good bittorrent to suck it up and turn your VoIP call into a bad experience. Trust me, I know from personal experience. Something to help ensure that VoIP traffic doesn’t get lost in the noise is helpful.
Calling this QoS is really a misnomer, because as both Ken and I pointed out, you require end-to-end control over the connection to achieve real QoS. We should really call it upstream prioritization of traffic because that’s what is really going on here. The other important thing that Ken pointed out, that I didn’t, is that QoS involves overhead.
For prioritization to work properly, the device doing the prioritization must know how much bandwidth it has to work with. Obviously, the more bandwidth, the better experience you have. Some of that bandwidth will have to be throttled back in order to do proper prioritization. Typically that means telling the prioritization device you have about 10% less bandwidth than you actually do. So if you have 128k upstream, you want to say that you have 115k (or less).
The other problem is making sure that you reserve enough bandwidth for a VoIP call. A call encoded with G711 will take roughly 80-90k of bandwidth per call. A G729a call takes roughly 30k of bandwidth. I don’t remember the exact numbers of iLBC, but it is the same or lower than G729a. Obviously, if you have a 128k or less upstream, it would behoove you to use something other than G711 since that will take most of not all of your available bandwidth.
Even if you do this, there are no guarantees that things will work well–remember, we have no control over the packets once they leave our gateway, but at least we can give them a fighting chance.