This caused me sooo many hours of grief.
If you try to make SIP calls over the Internet, but your Asterisk box is behind a router, you may experience a problem where the call will connect but you won’t hear any voice. Here is what you have to do to fix it:
Go to your rtp.conf file and note the values for rtpstart and rtpend
On your router, add port forwarding for the SIP port (5060) and for the entire range of ports between rtpstart and rtpend.
Find your EXTERNAL IP address by clicking this link: http://checkip.dyndns.org/
Go to your sip.conf file and add the following under the [general] context:
externip=220.127.116.11 (replace with your external ip address)
localnet=10.0.0.0/255.0.0.0 (replace with your local network address and mask)
- restart asterisk