Tomato QoS VoIP Settings
Two excellent open source firmware loads that can be installed on some models of low priced routers, most notably some wireless Linksys WRT54G versions (as well as some other manufacturers), will produce a router that performs like routers that would cost 4 times as much and be an excellent choice for VoIP installations. Both of these open source firmwares are free and are Linux based, one is DD-wrt and the other is Tomato. Both are exceptional, with DD-wrt having more configuration options (settings) and Tomato having exceptional QOS configurations.
Tomato for a VoIP network.
Tomato's QoS is highly configurable and will give you more flexibility than many other routers at even higher prices. The results if properly implemented should produce a better, more stable, higher quality network for VoIP. By creating classifications in Tomato QoS configurations you set rules whereby the router will prioritize certain types of traffic in favor over other types of less important traffic. VoIP or voice traffic (RTP protocol UDP) should be set to Highest, as any impediment to its timely delivery will most likely be noticed as choppy voice or bits of voice missing, a totally undesirable outcome. Some VoISPs use a port range of UDP 10000-20000, but you may want to check with your provider for the ports they use to be sure. In addition SIP signaling which typically uses UDP ports 5060, 5061, etc. should also be set to Highest.
QoS for more advanced networks can be tricky to set, but Tomato firmware has made initiating QoS settings more somewhat easier with a user friendly interface. Additionally, Tomato's QoS settings are much more granular than any other router product we know even up to the $500.00 level.
The first thing to do for Tomato QoS is to Check Enable QoS, which can be found under QoS, Basic Settings. Next would be setting the Default class to Low which ensures that the bulk of the unclassified traffic which is not prioritized will not move up in priority over the types of traffic that you do want to prioritize. This setting creates more or less a lower priority group and then allows you to use specifically designed rules in the Classification settings to define higher priority exceptions.
About Tomato QoS classifications.
Classification requires identifying and assigning specific types of
network traffic to a priority class. For instance you might want Web
browsing (Port 80) to take priority over other types of traffic and
give it possibly a High status. Classification might include only
the significant types of traffic in your network that you want to
take priority over other types of traffic. The other non-specific
types of traffic will fall into a default priority class.
Class priority defines how outgoing traffic will be queued or passed by your router. Highest getting the first priority and High the second and so on.
Class bandwidth defines how much available upload bandwidth traffic will be assigned for that specific Priority Class to use.
Class and bandwidth are independent factors. Your QoS configuration could assign all priority classes with 80%, 90% or 100% bandwidth of the Max Bandwidth. Importantly, the Max Bandwidth should be set as a percentage of your average actual upload bandwidth. Some where between 80% and 90% is suggested.
Classifications using IP address or protocol require much less processing power than using L7 (layer 7 application filter based). Be cautious about using numerous processor intensive L7-based rules which could result in the router unable to process all the information and become overstressed causing issues.
An example of Outbound QoS classifications in Tomato router.