Audio - RTP Issues

Absolute noob to Asterisk & PBX.


  1. Followed steps here -

  2. Read this and implemented multiple times (Including Asterisk SIP Setup)

  3. sip.conf has not been modified outside of the GUI. rtp.conf through modified through Linux CLI as instructed in 1.

  4. Ports 5060 & 10000 - 20000 have been forwarded by the NAT Router to the PBX Server.

  5. Extensions configured as explained in the wiki (two iPhones). 3CX Softphone configured on iPhone with the PBX Server through Dynamic DNS. RTP Ports on 3CX configured within the RTP Range. SIP Port set to 5060


  1. Get 3CX on iPhones to work as an extensions both remotely & locally with PBX Server.
  2. Install additional IP Phones & Softphones if the present situation works.

iPhones can call each other and converse without a problem when within local networks either physically or through VPN. When on remote networks, iPhones call each other, ring and answer calls, but no audio.

Have now hit a dead-end and can’t seem to figure out what is going on. Any help or guidance is appreciated.

If you had followed the steps and your router is not messing with the SIP packets it would have worked.

Send output of NAT section of sip show settings command

Send output of sip show peer xxxx where xxxx is the iPhone peer, again only need the NAT secton

Lastly make a phone call with no audio and issue the rtp set debug on command and see what IP the server is sending the audio to and see if you are getting any audio. Don’t forget to turn the debug off. Make sure you utilize the Asterisk ? command to access built in help and understand these commands. IE: rtp ? shows all rtp commands rtp set ? shows all the set options.

Lastly always tell what version FreePBX and Asterisk and the installation environment along with a brief description of network topology and equipment.

Sincerely appreciate your support. I read up on all the points you indicated and discovered that I had modified the hosts file in /etc/hosts as under localhost

therefore, the RTP packets were being routed to the local machine. Once the second line was deleted, the it worked like a charm.

Glad you got it working.