<SNIP Traffic shaping for VoIP>
> # ----------
> # altq rules
> # ----------
>
> # These are very simple altq rules.
> # All they do is give priority to outgoing voip traffic.
> altq on $ext_if cbq bandwidth 380Kb \
> queue { std_out, voip_out, voip_in, ack_out}
>
> queue std_out cbq(red default)
> queue voip_out priority 4 cbq(red)
> queue voip_in priority 4 cbq(red)
> queue ack_out priority 6 cbq(red)
<SNIP>
<disclaimer>This is just what I've discovered, and should definately not be
taken as gospel</disclaimer>
Wouldn't you be better off using something with guarantees? I am thinking here
of HFSC. My personal experience has been far better with this queueing type
than any other, and so I've switched all my queueing boxes over. (But that
was a while (1yr+?) ago, so things may have changed).
I've got the following snippet in one of my configs. (Sorry about the
wrapping).
If you can find out the minimum/preferred bandwidth required by the VoIP
applications, you should be able to guarantee them bandwidth, at least for
outbound traffic.
In my case q_big is guaranteed to have at least 225Kbps available (~28KB/s)
############
# HFSC for ADSL
############
altq on $ext_if hfsc bandwidth 450Kb queue { q_pri, q_icmp, q_http, q_big,
q_mail, q_low, q_def }
queue q_pri bandwidth 10% priority 7 hfsc( realtime 10% upperlimit
30% linkshare 15% )
queue q_icmp bandwidth 10% priority 5 hfsc( realtime 1% upperlimit
10% linkshare 1% )
queue q_big bandwidth 20% priority 4 hfsc( ecn realtime 55% upperlimit
90% linkshare 50% )
queue q_http bandwidth 10% priority 3 hfsc( ecn realtime 5% upperlimit
80% linkshare 5% )
queue q_def bandwidth 10% priority 2 hfsc(default ecn realtime 5% upperlimit
80% linkshare 5% )
queue q_low bandwidth 5% priority 0 hfsc( ecn realtime 4% upperlimit
80% linkshare 4% )
--
Craig