I’ve been playing with SmoothWall Express (Polar) recently and am generally pretty impressed. However, my Linksys SPA921 IP Phone hadn’t been working. I decided to turn my attention to it today.
The phone wouldn’t give a dial tone at all unless I used the “SIP Proxy” option in SmoothWall, however, that wouldn’t allow any outgoing calls. I tried creating various exceptions in the firewall, even setting the phone to be an “always allowed machine”, all to no avail.
Then I hit on the solution… I had a BT ADSL router connecting to the internet performing NAT, the SmoothWall connected to this performing NAT, and the IP Phone connecting to the SmoothWall as shown in the diagram below:
SIP doesn’t appear to play nicely with this double-NAT arrangement. So I changed the WAN configuration on my BT ADSL router to run in “Bridged” mode and then configured the “Red” (internet) interface on the SmoothWall to run in PPPoE mode. This required configuring the BT broadband username and password settings in the “PPP” section of “Networking”, then navigating to “Home” and hitting “Connect”. I couldn’t believe it, it actually worked! To refine things I disconnected, went back into “PPP” and ticked the “Persistent connection” and “Connect on SmoothWall restart” tick boxes and then re-connected. This diagram shows the new setup:
This didn’t even require any exceptions in the firewall configuration or the use of SIP proxy.
I hope this helps you.
UPDATE: I had to add an outgoing firewall rule to allow a port range from 10000 to 20000. I had been able to call but hadn’t properly tested actual sound over the link. So it appears that SIP was getting through but not RTP. Getting full call functionality required opening the aforementioned port range.