One way audio on externally provisioned phones

I have one PBX and 22 sites that have all their phones provisioned over a VPN tunnel to this PBX. Everything works on those phones. Then I have a handful of remote users that have physical phones at their homes.

If I build their extensions using PJSIP the call gets immediately dropped. If I build their extensions using chan_sip then the phones provision fine but when I call them to test, they can hear me but I can’t hear them.

The firewall in front of the central PBX has no nat-ing and all ports are opened for testing. No matter what nat settings I change on the PBX I’m left with one way audio. I’ve added the subnet of the home user to SIP settings.

Any thoughts?

Don’t do that. That’s saying ‘Don’t apply NAT rules to things claiming to be from these IP addresses’.

If you can’t hear THEM, then that means that their phones are either sending RTP to the wrong address (NAT), or, your firewall is dropping RTP from them.

Make sure you have your external IP set correctly in sip settings, and do a tcpdump on the invite to make sure you’re telling the remote phone where to send its RTP traffic.

Wow you were right! Removing the subnet from local addresses in SIP setting fixed the problem! Thanks @xrobau! You’re the best!

okay so next challenge. Everything works for chan_sip. pjsip works one way. If the user makes a call out everything works. If you try to call the user from an extension on the central system it immediately says “call failed”. We can use chan_sip if all else fails but we’d rather use pjsip so they can use Zulu if needed

If I look at the logs it looks as though the call is trying to hit the internal IP of the home user. This IP is what is displayed in endpoint. On chan_sip extensions it shows the external IP of the user instead of the internal home user IP.

Here’s the fix for my pjsip issue:

1 Like

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