[Asterisk-Users] QoS

Vic Cross vicc at veejoe.com.au
Wed Apr 14 20:33:14 MST 2004


On Thu, 15 Apr 2004 02:08 am, Michael Welter wrote:
MW> Using iptables, I can munge VoIP packet headers to indicate the desired
MW> quality of service.
MW>
MW> Can this Linux box, acting as a router, actually manage outbound packets
MW> to give priority to voice traffic?  Separate outbound packets into
MW> different queues depending on QoS?

Check out the 'tc' tool, which is part of the iproute2+tc package (although 
sometimes distro vendors put it together with 'ip' in the iproute2 package).

You need the "QoS and/or fair queuing" options in your kernel -- particularly 
the options for the scheduling or queueing algorithm(s) you want to use.  
Then, between ip and tc commands, you set up the methods by which your 
packets will be handled.

I do know that this is not a smple exercise.  Using the CBQ scheduler, you 
need to implement a classification mechanism.  When I played with this stuff 
last, I was using routing-table-based classification, which did not give 
protocol-level prioritisation.  I see there is a firewall-based classifier 
now; this would probably work well with the iptables munging you're planning.

Cheers,
Vic Cross

PS: From the Configuration Help of my 2.4.25 kernel:
"CONFIG_NET_SCH_CSZ:
Say Y here if you want to use the Clark-Shenker-Zhang (CSZ) paclet scheduling 
algorithm ... this is the only algorithm that can guarantee service for 
real-time applications ... Note: this scheduler is currently broken ... "
YMMV :)



More information about the asterisk-users mailing list