News:

On Tuesday September 6th the forum will be down for maintenance from 9:30 PM to 11:59 PM PDT

Main Menu

Tomato firmware setup on a router

Started by QBZappy, June 27, 2011, 09:45:00 PM

Previous topic - Next topic

QBZappy

I have noticed that a fair number of people on this forum are using Tomato firmware on their routers.

It would be interesting if we could share some setups using Tomato firmware.

I just replaced an older Asus WL-500gP v2, with an Asus RT-N16. Both have Tomato firmware. My Asus WL-500gP had been tweaked to handle all things voip. In setting up the RT N16 I noticed that it was not handling calls in the same way. This is what I discovered. It might help someone else.

The UPnP/NAT-PMP settings had to be checked to avoid having to use a Stun server. Without this setting I was getting one way audio without a stun server in the mix. This was perhaps the setting which made the biggest difference in the setup.

Adanced>Conntrak/Netfilter>Tracking / NAT Helpers = SIP setting on or off didn't seem to make any difference.

QOS is enabled. Without this setting calls were working but quality was marginal. After setting up the following, all calls were perfect using G711U Codec. I realize that it is not a very elegant QOS rules setup and not really prioritizing much other than my voip calls, however it works for me, since I never have anything bandwidth intensive going on other than file transfers within the lan. If someone could share a better QOS setup it would be much appreciated.

Outbound Rate / Limit
Prioritize small packets with these control flags= ACK check-marked. The other settings didn't seem to make any difference.
Max Bandwidth=999999
Highest 80%, 100%
High (Default setting)
Medium (Default setting)
Low (Default setting)
Lowest (Default setting)
Class A (Default setting)
Class B (Default setting)
Class C (Default setting)
Class D (Default setting)
Class E (Default setting)

Inbound Limit
Max Bandwidth=999999
Highest 95%
High 80%
Medium 50%
Low 25%
Lowest 10%
Class A 95%
Class B 80%
Class C 50%
Class D 25%
Class E 10%

I didn't have to change anything in the Classification menu of the QOS section.

(Edit)
I had to change Classification menu of the QOS section as follows:

Match Rule (Works better with these rules setup in the QOS "Classification" section of the router)
Maybe we only need the RTP Match Rule. You can add other rules here according to your needs.

Any Address
UDP
Any port
sip (from pick list)
Class = A (from pick list)
Description = SIP (type your desc)
0 - 999999 KB Transferred

Any Address
UDP
Any port
rtp (from pick list)
Class = A (from pick list)
Description = RTP (type your desc)
0 - 999999 KB Transferred

Port Forwarding=UDP range of RTP stream (Would not work without this on my system)
Port Forwarding=UDP SIP port (may or may not be needed)

That's it for my setup. Anyone else can add or make improvements.

(Edit)
I forgot to mention that using the Wireless Distribution System (WDS) feature of the firmware I connected the OBi to one of the routers making the OBi pseudo wireless.
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

earthtoobi

#1
in my case UPnP/NAT-PMP settings are not checked and it still works fine.

on Qos Side some Observations:
you have set upload bandwidth to a high value. the problem with that is: even if you set a priority for the packets, the router would think that you have ton of bandwidth and you would not get the priorities specified.

here is an example:
setup:
your ISP has 6Mbps/512Kbps Upload:
you have setup upload bandwidth to be gazillion.
you have setup obi to have highest priority.

scenario 1:
you get a call while you are uploading lets say to picassa (it is currently lets say taking 512 Kbps-your max upload bandwidth)

your router will think that since you have infinite upload bandwidth, there is nothing to prioritize for your 100Kbps VOIP.there is a problem here.

Setup: lets say you have setup upload to 512Kbps.
in the same scenario1, router sees that Voip should take priority and throttle down your picassa upload.


Setting Up Qos for Obi:
what works for me is to assign Obi as the number 1 rule with Highest Priority and with SrcMacAddress as my ObiMac address. so i am prioritizing based on device as opposed to packets.

i give maximum upload bandwidth to all classes and setup rules for prioritization.

baxtr

Although this has nothing to do with Tomato VoIP matters, I use a Buffalo WZR-HP-G300NH router with a Buffalo version of DD-WRT. The stock firmware works well with either 200mbps powerline or an ASUS WL-330gE wireless adapter and no messing with Qos. I installed DD-WRT on a Cisco-Linksys E2000 refurb router , then TomatoUSB and finally went back to DD-WRT. The reason being that I could not get NAT loopback/redirection to work with Tomato. This is only important for testing setup of DDNS administration through the OBi web interface from behind the router. Once the port forwarding and domain name are functioning correctly, it iis easy to transfer the settings to any router with any public IP address.

jmsnyc

#3
I am so confused with setting up QOS.  I just upgraded from Tomato 1.13 to 1.28.


The From that I smudged out is the mac address of my Obi.

Please suggest how I can make these settings better.

Can I do it by IP address?  Am I supposed to be using src or dst?

earthtoobi

you  dont need all the setting for VOIP in that image attached(for different Ports etc).
you only need one rule for VOIP."from SRC Mac Address" and place Obi's mac address(you can find MAC on the device itself or  from device list in tomato).make sure that is rule number 1 and you have the highest class assigned.
also make sure in Qos basic setting, you specifiy Outbound bandwidth at around 90 percent of Max bandwidth(steady state bandwidth from ISP) and also specify enough bandwidth for the highest class that you have assigned for Obi.

jmsnyc

Thanks.   Any thoughts on the level 7 with obi110

The other 2 Voip settings are for when I use my magicjack.  

I am currently reading this post:
http://www.dslreports.com/forum/r21581951-HOWTO-QoS-and-Tomato-fixes-choppy-voice

earthtoobi

the article referenced seems to mention quirks in MJ behavior in terms of ports used. so, there is little that can be done except for Broad classification.
based on your usecase, if MJ is going to be connected to the same computer, then Voice Streams can be provided priority based on MAC address.

you can play around and find out when you place a test call, if the classifications are happening correctly(along with any overhead on Router CPU as a result of using L7 filter).