No voice outside of firewall - Port Help

I have two Cisco 504G phones setup on my network and am having some voice problems.

If I have the phone point to my static ip the phones will register but I have no audio. I assume I’m missing a port?

If I have the phones point to the server directly so they are not coming back in through the router everything works fine.

The problem is I want one phone to be put in a remote location so it will need to point to my static IP, and want the flexibility to move the other one aswell.

I have ports 5000 - 5500 UDP and TCP open as well as 10,000 - 20,000 UDP and TCP forwarded to the server.

The router is a Cisco WRV210
FreePBX version 2.7.0.6.

Any help would be appreciated. Thanks.

Do you have your externip and localnet settings correct in the SIP module or /etc/asterisk/sip_general_custom.conf?

10,500 ports opened up is a bit much for two phones don’t you think?

SIP uses one port 5060 UDP, RTP for media needs two channels per call leg and is constrained in /etc/asterisk/rtp.conf with the rtpstart and rtpend variables.

I agree that is more ports than recommended but I opened a range just to be sure.

As for the Asterisk SIP settings: NAT = yes IP, Config = Static, External IP = pointed to my static IP as provided, Local Networks = 192.168.21.0 / 255.255.255.0

My router is set to 192.168.21.1 and my server is 192.168.21.98 but the asterisk local network settings suggested the .0 I’m not sure if that would be a cause of anything.

Thanks for the quick reply, any other suggestions?

The strangest part is that if I point the phones directly at my server and not the external IP the register still and now the audio works.

I don’t understand why they woudl register but the audio not work when pointed at the external IP.

The only two settings I change are the VM server IP, and the Proxy IP on the phones nothing in PBX???

Are you trying to point your internal phones to your external IP? Most routers can’t make a u-turn in this fashion. You have to test from another network.

Also the .0 is correct it refers to the entire network and is called a network address. With a 24 bit subnet 255.255.255.0 you get 254 usable hosts.