VOIP IP QOS and other fun acronyms.
August 15, 2006 5:39 AM   Subscribe

Crackle and chop free VOIP - how exactly do I get IPQoS to work on my iConnect Access 621 router / D-Link DVG2001s ATA combination?

I've been mucking about with this for weeks now, and thought it was about time to get outside help to see if anyone can offer some advice, because it's starting to make me frustrated.

Basically, QOS on my VOIP line just doesn't seem to be working, despite both my modem-router (an iConnect Access 621) and my VOIP ATA (a D-Link DVG 2001s) claiming to support it.

Here's what I've done so far.

In the router QOS configuration, I have enabled:

"Enabled ipQos"
"Trusted Mode"

On the ATA I'm not quite sure what to do. It offers two QOS modes, "TOS" and "DiffServ". I'm not sure how to set these, because documentation on the web is very hard to come by.

TOS lets you set values from 0 to 7.
Diffserv lets you set values from 0 to 63.

What's the best way to configure this? I want absolute, maximum priority given to VOIP traffic.

However, none of these settings seem to make any difference. I start a big web download, then try to make a VOIP call, and it is choppy as hell - I'm only hearing about 25% of the audio.

In the router, I've even tried setting QOS by IP address, giving my phone "HIGH" priority on all ports, to all outside address, and giving my desktop and laptop "LOW" priority.

But this doesn't seem to make a difference though, either. Am I missing somthing? Is anyone else using this combination of router and VOIP ATA with success?
posted by Jimbob to Computers & Internet (8 answers total)
 
It sounds and looks like your router supports upstream QoS, meaning that your router will send QoS information along with the packets that go over the DSL, and your ISP is supposed to ensure that the more important ones get delivered.

However most (vast, vast majority) of ISPs don't support this for residental connections. What you need is a router that will do the QoS itself, without simply relying on your ISP.

A Linksys WRT54G router modified with custom firmware, like DD-WRT will do the job. I'm using one and I have Vonage, and even when I'm maxing out my DSL (3000/768) my Vonage line works great. Unfortunately you havea bunded DSL modem and Router box so you'd have to trade it for a standalone DSL modem.
posted by chuma at 6:28 AM on August 15, 2006


Response by poster: You raise an interesting point, chuma, and if true it may explain a lot. I'm trying to understand why a modem/router would work like this - the limitation on the width of the pipe is from my home to my ISP, so surely that's where the data needs to be shaped, right? My router needs to make the decision about which packets to send down the DSL, and which to hold on to, not my ISP on the other end of the copper.

Anyway I'm trying to find out more about my modem / router so I can see if it does only muck with the packets, leaving the ISP to do the work. It should be noted that the router lets you much with QOS settings for both the "Local Network" and "WAN", suggesting to me that it can do the data shaping itself. To quote from the manual:
The IP Quality Of Service (QoS) queues data streams to ensure that basic connectivity is maintained when running multiple services over one connection. For example, if you are using a peer-to-peer file-sharing program whilst simultaneously performing normal web browsing, you can configure QoS to limit the resources dedicated to the peer-to-peer session to ensure web browser connectivity. IP QoS is often critical to maintain VoIP session quality.

IP QoS services in the iConnectAccess621 are applicable to the output device (LAN side). This means that the IP QoS is associated with any transmitted traffic from the iConnectAccess621. Each output device has three priority queues associated with transmit data. The High priority queue has strict priority over medium and low priority queues. The Medium and Low priority queues are serviced on a round robin priority basis according to the configured weights (WRR), after the High priority queue has been
completely serviced.
Now to me, the fact that it's talking about managing queues of data with different priority, and is talking about managing web data versus P2P data on one computer, sounds like it is doing the datashaping, simply because I can't understand why this would be done way down at the ISP. Does anyone else have an interpretation?
posted by Jimbob at 8:20 AM on August 15, 2006


What's probably happening is that your router sends the Vonage packets first, but then it sends all the other packets it has available, more than your upload speed allows. Your cablemodem usually has a pretty big buffer, and it stacks up a bunch of stuff before dropping packets. This increases bandwidth, because more packets get through, but it messes up VOIP under load, because packets don't get through FAST.

What you fundamentally need to do is limit your upstream traffic to a little less than your provider offers. That way, the prioritization and dropping is happening under your control, which lets you send Vonage first and throw away other traffic. Since you're always under your limit, your cable/dsl modem just forwards the packets you send instantly.

How you DO that with your equipment, however, I haven't a clue. I've never even heard of iConnect, and D-Link... well, usually, they're pretty much bottom of the barrel. It wouldn't surprise me if their claimed features didn't work right. Make sure to get the most recent firmware... that may help.

A better router may indeed work wonders for you. The Linksys WRT54GL (note the L!) will accept the DD-WRT firmware. Note that the G and GS have recently been crippled so that they're not as good with the custom firmware... you want the L flavor, which still runs Linux natively.

If it doesn't work properly, you probably shouldn't return it after flashing it with a custom firmware, as it won't be 'clean' anymore... it's kind of unfair to Linksys. So you might want to browse the DD-WRT forums awhile to make sure it will work and that you know exactly how to configure before buying.

Like chuma, I suspect this will probably solve the problem.
posted by Malor at 8:24 AM on August 15, 2006


(If you can get the upstream bandwidth limited on the D-Link, btw, there's no reason to buy another router.)
posted by Malor at 8:26 AM on August 15, 2006


Response by poster: Well iConnect, as far as I can tell, seems to be an Australian brand, and D-Link looks more popular in Australia and Britain than the US as well, which might explain why you haven't heard of them.

What you fundamentally need to do is limit your upstream traffic to a little less than your provider offers.

See, this is what I figured the router would do. I don't know much about the internal workings of TCP/IP, but I figured the idea of QOS would be:

(a) If I'm just uploading to the internet, for instance, my PC sends packets to the router. The DSL only does 512kbps, so the router somehow tells my PC to slow down, or rejects packets from the PC, or something, because it can't send them upstream faster than 512kbps.

(b) If i'm also talking on the phone, the router still has the 512kbps upstream limit, but it always lets the phone packets through, and those packets take up 100kbps, therefore it stops my PC sending data at faster than, say, 400kbps.

What I'm saying is, the router has to have some method of telling my PC that, hey, you might be on a 100mbps LAN, but stop sending me the data that quickly because upstream is only 512kbps. If it can do that, surely it can also tell the PC to send data through at 400kbps when I'm on the phone. Why would that data shuffling happen at the other end of the DSL?
posted by Jimbob at 8:36 AM on August 15, 2006


Response by poster: (If you can get the upstream bandwidth limited on the D-Link, btw, there's no reason to buy another router.)

Just heading further down this road - is there any way to limit bandwidth within Linux or Windows, rather than on the router? It's not the ideal solution, but it might be an option. As I said above, the router does allow QOS settings to be specified for each machine on the local network. This includes setting High, Medium or Low priority, but it doesn't look like you can set actual bandwidth allowances.
posted by Jimbob at 8:39 AM on August 15, 2006


Best answer: Jimbob you can limit it within windows but its a third party QOS program. It's called cfosSpeed you can try it for free for 30 days and it's really quite cheap. The trick to limiting the bandwidth with it is making sure cfosSpeed is set to minimize your ping. What it does in this mode is continually ping between you and your ISP and shapes the trafic so your modem isn't buffering. Since you are not running your VoIP through your computer it won't work as well as it could but you might still see an improvement because your modem won't be super overloaded by your computer/s. I can't reccomend it enough, it is great at maxing out a connection also.
posted by robofunk at 1:07 PM on August 15, 2006


Response by poster: Robofunk, that appears to have made an instant and noticable improvement! Now I just need to find way to do the equivalent for my Linux laptop, which is also on the network...
posted by Jimbob at 4:40 PM on August 15, 2006


« Older The monthly mortgage payments calculated by my...   |   Trains to Calais, Boulogne or Dunkerque from... Newer »
This thread is closed to new comments.