I'm on a trial with 8x8 for VoIP phone service and I'm having a lot of issues getting them to work behind my Tomato router. They've attempted to help me over the phone, but they basically have come back with "Tomato causes problems with our phones and sometimes can't work". This seems crazy to me. How can getting a commonly used protocol like SIP be that hard. So here's what they're saying: "You must turn off the SPI firewall." Tomato doesn't allow you to turn off the firewall. From what I've seen I'm thinking that it may not be a firewall in the normal sense, but that NAT is acting in the same way as a firewall. I obviously can't turn off NAT due to having more than one device behind my router and a single static IP externally. "You need to open these ports: ..." From my understanding of NAT, you can't just open ports, aside from placing a single IP in the DMZ to "open" all ports. I need to forward them, and to do that I'd need to specify different external ports for each phone, correct? Please let me know if I'm misunderstanding. If that's the case, how does 8x8 know what external port to connect to the phone on? The phones are Polycom IP 550s. The router is an ASUS RT-N16 running the following version of Tomato: Tomato Firmware v1.28.7494 MIPSR2-Toastman-VLAN-RT K26 USB VPN I have the SIP helper turned on, though I have tried using the phones with it off and didn't notice a difference. I have tried a few things, with varying degrees of success. At first, they would not activate. I found that putting them outside the router directly to my ISP would allow them to activate. Then once activated, would at least fully boot when behind the router again. If I use DHCP they get the netmask wrong, and they cannot access all functions. For instance, they have a browser on there used to see the corporate directory and such, and this doesn't work when DHCP is on. In this mode, the DNS is set to to the router. It can make calls, however. If I specify static IP settings, the browser works, and I can call other extensions, but not regular phone numbers. When the phones boot, they tend to take a long time (no matter what the IP settings). They sometimes say they can't contact an external boot server and use the local version, sometimes they don't say that. I routinely get issues where if I change the IP from dynamic to static or static to dyanmic it will give the "Bootrom has changed error 0x0" and go into a reboot loop. I have a couple which are off-site and they appear to be working without any issues. Those people do not have Tomato running on their routers. So any help is appreciated.