David Farrior wrote:
> I have been trying to figure out how to do traffic shaping with my
> asterisk@home setup. So far, I'm not having much luck.
> After searching through the lists, it seems that the traffic shaping
> wizard won't be much help. The rest of the m0n0wall documentation
> is so good, iis there a good article out there that can thoroughly
> explain this much needed function? If one already exists, please show
> me where.
> Your help is much appreciated.
You might have some problems with Asterisk@Home. If you can edit
sip.conf, iax.conf, etc. look for the tos= line. You should be able to
set this to a fairly unique value. Actually, setting tos=lowdelay is
the same as tos=0x10. You can then use the m0n0 traffic shaper config
to match packets with TOS bits of "lowdelay". This COULD cause some
problems because interactive SSH traffic (among other things) already
sets the TOS bits on traffic to 0x10.
It is by no means foolproof, but it's better than the alternative,
which is to try to match traffic based on source and destination port
numbers. With IAX this isn't too hard, but with SIP it is much harder.
SIP is a call signaling protocol. RTP is the protocol used to
actually transmit voice, video, etc. in conjunction with SIP (and other
signaling protocols as well, less IAX). In Asterisk, the default is to
use random UDP port numbers between 10000 and 20000 for RTP traffic.
While this should be reduced, there is still nothing stopping other
applications from using ports in this range and confusing m0n0,
Asterisk, etc. I'm not sure how Asterisk@Home handles this, because I
have never used it.
The best solution would be to make a traffic shaper rule that ANDS the
rules to combine TOS bits, source/destination IP addresses and port
numbers (which m0n0 appears to be able to do).
I'm glad you asked, because one of my pet peeves is when people think
they are doing QoS with VoIP because they "prioritized" UDP port 5060
(SIP signaling port), which actually does not do them any good
(especially when using SIP + NAT).
Sorry that this isn't very m0n0 specific - I'm new to m0n0 but old