No audio on remote endpoints, outside of LAN

Did a backup/restore as I’m moving servers. Cannot get audio on endpoints outside of the local network on the new server. Pretty sure I got all the settings changed in FreePBX. Ports are all forwarded as they should on the router, sip and rtp range. Internal endpoints work fine, trunk calls work fine, just no audio if endpoint is outside LAN.

No audio outside LAN Endpoint to Endpoint or Endpoint to Trunk. Using PJSIP. Calls do not disconnect when hanging up either. Will timeout after 30 seconds due to “no rtp audio”.

Seems like an RTP issue, but the ports are forwarded.

Any clues?

https://pastebin.com/y2LJ9J7C

Pastebin is not working so…

Make sure you have your network settings defined in Settings > Asterisk SIP Settings > General SIP Settings > NAT Settings

from the asterisk cli

rtp set debug on

should show the attempted routes for both legs and both directions. Missing responses will be indicative

Did all this, checks out:

  • Check all setting in Settings, Asterisk SIP Settings for changed values, particularly external IP and local networks. Restart asterisk if making changes here
  • System Admin, Network Settings (Set static IP and DNS)
  • Firewall config

When the call connects, it lists the IP of the local endpoint i’m testing with correctly.
The remote endpoint IP shows 192.0.0.4. No clue where this is coming from.

Got RTP packet from 10.1.0.201:5090 (type 09, seq 058940, ts 309275440, len 000160)
Sent RTP packet to 192.0.0.4:61318 (type 09, seq 026338, ts 309275440, len 000160)

I have the old server running, all using different IP and ports etc… I do the same test with the same two endpoints:

Got RTP packet from 10.1.0.201:5092 (type 09, seq 064326, ts 309281360, len 000160)
Sent RTP packet to 72.143.217.161:8675 (type 09, seq 017585, ts 309281360, len 000160)

Lists the correct IP for the remote endpoint. Audio works.

Typically it is behind NAT but hasn’t been told its public address (or can’t be). symmetric RTP attempts to cope with that, by learning the address from received packets. However I thought that was on by default, in FreePBX. If you are not getting RTP from it, either, you have the same problem. Symmetric RTP requires one side’s RTP to contain a valid address.

not enough streams, there should be four , 2 for the A leg (RX and TX) and 2 for the B leg (also RX and TX) for media to be apparent bnoth ends

I tried turning it off and on, it’s working.

Thanks all.

The RTP debug indicated it wasn’t getting RTP packets, like the port forwarding wasn’t working.
Tried changing the PJSIP port and the RTP port range and nothing worked.
Rebooted the controller and gateway and now it’s working.

I blame Ubiquiti.

I wouldn’t ‘blame’ Ubiquiti, just wait until you only have one server requesting forwards and it will ‘relearn’ or flush its rules as needed to reflect your changed network as you effectively did :slight_smile:

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.