[ previous ] [ next ] [ threads ]
 From:  Adam Nellemann <adam at nellemann dot nu>
 To:  Dana Spiegel <dana at sociableDESIGN dot com>
 Cc:  m0n0wall at lists dot m0n0 dot ch
 Subject:  Re: [m0n0wall] VoIP QOS
 Date:  Thu, 26 Feb 2004 19:00:14 +0100
> What I'd like to do is configure my m0n0wall router to support QoS for 
> my vonage VOIP adapter.
> I would like the simplest configuration that:
> - provides no bandwidth shaping when I'm not using my VOIP adapter
> - provides a dedicated 64k pipe for my VOIP adapter when in use, 
> allowing whatever other bandwidth is available to be used without 
> restriction

Hmm, as far as I know this is not strictly possible with the m0n0wall 
traffic shaper (I hope someone will correct me if I'm wrong?)

What you CAN do is: A) Set aside a fixed amount of bandwidth for VOIP 
(which will be reserved regardless of VOIP being used), and/or B) 
Ensure that VOIP traffic is get a larger "share" of the bandwidth, 
when other traffic is also present.

As I see it, the latter option should, at least theoretically, give 
you more or less what you want. But I am not quite convinced that it 
will work all that well in reality?

In theory you should be able to have 100 times as many VOIP packets 
than non-VOIP packets going through the shaper (when using the full 
bandwith), virtually limiting non-VOIP traffic to use whatever 
bandwidth is left over by VOIP at any moment.

Unfortunatly I don't quite see this behaviour in my setup. It should 
be said though, that I have no VOIP experience, and I might well be 
mistaken about how the shaper works internally.

> What I'm looking for are simple instructions. I've never used a traffic 
> shaper before, but have lots of Unix/Linux experience...

Search the archives for my recent posts, I've made a kind of 
preliminary "manual" for the shaper that I posted here not too long 
ago. This should help you getting started.

(In the following, I'll assume you have read the "manual".)

I recommend you first try the "B" approach, which involves making a 
pipe a little bit smaller than your actual (ie. measured) bandwidth. 
Then you need two queues for this pipe, one for VOIP with a high 
"Weight" (90 or 100 or some such), and one for other traffic with a 
low "Weight" (somewhere in the range 1 through 10). And then of course 
some rules sending (outgoing) VOIP traffic through the "high" queue 
and everything else through the "low" queue.

I don't think you will gain anything from shaping the inbound traffic, 
unless your LAN is slower than your WAN?!? As the shaper can't prevent 
your ISP from forwarding all inbound traffic, limiting it will just 
cause congestion without saving any WAN bandwidth.

In case the above (B) method doesn't work too well, you should first 
try using 100 and 1 for the weights, giving you the maximum possible 
ratio between the two queues. If the VOIP traffic can be split into 
different queues (if more than one port is used, or different packet 
sizes or..?) making several "high" queues and some rules splitting 
between these might give VOIP traffic an "effective" ratio of more 
than 100:1?

Hope this helps!