[ previous ] [ next ] [ threads ]
 From:  Aaron <lists at mycommunitynet dot net>
 To:  "John ." <jvoigt at gmail dot com>
 Cc:  'm0n0wall' <m0n0wall at lists dot m0n0 dot ch>
 Subject:  Re: [m0n0wall] VOIP issues/can't specify a particular pipe.
 Date:  Wed, 13 Apr 2005 10:18:44 -0700
First I must say that this is not what I do for a living...I am a 
student so my thinking could be completely wrong and backwards. I'm 
trying to set this up for students who live where I do who need to make 
phone calls, but not enough to warrant paying the outrageous $90 setup 
fee for the phone CO with a $20/month phone bill and 30% in taxes 
tacked on.

On Apr 12, 2005, at 8:41 PM, John . wrote:

> You can certainly have more than 2 pipes but I don't think you're
> going to acheive your objective that way.  Queues only prioritize
> traffic within the same pipe.  If you don't have all your traffic in 1
> pipe (well, 1 in each direction but downstream is usually not an
> issue) then you can't make part of it have priority.  Pipes limit
> bandwidth but if all your pipes add up to more bandwidth than you have
> you won't get the desired results.

My problem is that no matter what I do, with 1 450Kbps upstream pipe, 
other traffic still affects the voip.  Yes, I have added a rule and 
high priority queue with the voip IP address as the source. It may 
help, but it does not change the fact that the voip starts to suffer 
when the sustained non-voip outbound traffic goes over 150-200Kb even 
if all traffic to the voip asterisk box is prioritized. If I reduce my 
outgoing pipe to 200Kbps, I am now trying to squeeze ALL traffic 
including the voip traffic through that pipe. It gets much worse.

It seems that creating a 3rd pipe, which is used for outgoing voip 
traffic could solve this. I could set 1 outgoing pipe to 150Kbps, leave 
the downstream pipe as is, and create a 3rd pipe at 300Kbps, sending 
all traffic from my voip asterisk box through that pipe. By doing this, 
it would seem all traffic from my asterisk machine would go to the 
300Kbps pipe (which is empty besides the voip traffic) and all other 
traffic through the 150KBps pipe . The total outbound is still a 
maximum of 150+300=450kbps and I would have limited non-voip traffic to 
150Kbps which still works for voip.

Here are some screenshots...they explain much better than words.

Rules - http://www.scs.wsu.edu/~arobinso/tmp/SafariScreenSnapz006.jpg
	- Catches all traffic udp or traffic coming from my asterisk box. 
Target queue is Voip queue (#9)
Queues- http://www.scs.wsu.edu/~arobinso/tmp/SafariScreenSnapz011.jpg
	- Sets priority to 100 and Target pipe is Voip Pipe.
Pipes - http://www.scs.wsu.edu/~arobinso/tmp/SafariScreenSnapz012.jpg
	- voip pipe is 300kbps while other traffic should leave through the 
150Kbps pipe

Unfortunately this doesn't work. All traffic stays in pipe#1 which I 
verify by shrinking the pipe down below the size required by voip and 
listening to it dropout.

Yes, I have tried using just 2 queues and priorities...without success. 
Heavy sustained traffic always affects voip.

Is there something wrong with my logic in sending it out pipe#3 or does 
this just not work?
Does anyone have any suggestions which will work? Non-mono solutions 
could be considered.


> On 4/12/05, Aaron <lists at mycommunitynet dot net> wrote:
>> I understand about the pipes and used the Magicshaper wizard to create
>> most of it. That already works fine and I do not need help with that.
>> The issue is that no matter what I do with just 2 pipes, I will have
>> issues with viop. The upstream p2p traffic will always fill whatever
>> size pipe is available.
>> So the easy solution seems to shape the upstream traffic down more.
>> Nope, because when I do that, it reduces the total amount of
>> bandwidth...including to the machine running voip and things get even
>> worse.
>> My idea was to give general traffic a small upstream pipe, but give 
>> the
>> device doing voip, a much larger, separate pipe. Sure it reduces the
>> outbound potential for most people, but that is not the biggest issue.
>> I would much rather have VOIP working well than allow people to send
>> large amounts of data.
>> So is it not possible to have more than 2 pipes?
>> On Apr 12, 2005, at 5:57 PM, John . wrote:
>>> You need to create 2 pipes - 1 for inbound data and 1 for outbound.
>>> Each should be about 95% of your total bandwidth in that direction 
>>> (to
>>> leave some slop for TCP overhead.)
>>> You need to create queues inside these 2 pipes - 1 for your VoIP in
>>> (in the inbound pipe) and 1 for VoIP out (in the outbound pipe) each
>>> with weight 100.
>>> You need to create appropriate queues in the 2 pipes for your other
>>> traffic types. (normal, bulk etc.)  Each should have an appropriate
>>> weight.
>>> You need rules to make the traffic go the right places.
>>> I think your problem is you have too many pipes.  You really only 
>>> want
>>> 2 - 1 inbound and 1 outbound.