No Audio - NAT Issue

So I’m going to start off by saying I’m fairly confident this is a NAT issue, I just need a little direction on what I’m missing. I’ve scoured the forums, and (what feels like) the rest of the internet at this point - and yet I feel no further ahead.

I have a FreebPBX box with several extensions. One extension is local (same network as PBX), and two way audio works completely fine through the trunk. Several extensions are remote and they either have one way audio, or no audio at all.

I am running FreePBX 14, all extensions are setup as pjsip, using default ports (5060, 10000:20000) all of which are port forwarded through my firewall to FreePBX. The external address on FreePBX is set to a domain that points to the external IP address of the firewall. The local network is set to use 192.168.60.0/24.

When I run a SIP Debug from Asterisk CLI, it shows that the packet is being returned to the INTERNAL IP of the REMOTE extension, which Im guessing is why I have audio issues.

Sent RTP packet to 192.168.8.250:40204 (type 00, seq 018441, ts 1313177576, len 000160)

I’m at my wits end here, is this a firewall issue? A FreePBX configuration issue? This was all working at one point, but down the line there were some changes made and the remote users did not inform me of any problems until several changes were made over the course of time.

There’s a recently “noticed” bug in PJ-SIP that’s causing this Internal/External confusion. The fixes are roll Asterisk back or switch your extensions to Chan-SIP. Unless you need some advanced feature of PJ-SIP, I recommend changing the extensions that are having problems to use Chan-SIP, at least for now.

I seem to be having the same issue except in my case it’s the remote extension is sending to the internal IP of FreePBX. I’m using version 2.4 of PJSIP. I was going to update it to 2.6 but based on this message this may still be a bug in 2.6?

See my related post here… NAT - That Age Old Issue

Not sure how you’d do this in the distro. The RPMs for asterisk use the bundled pjproject provided from digium. If there are bugs in pjsip they should be reported to digium so that they can issue a patch in their bundle.

Badams,

I wrote this in my other note but in case this is still affecting you. The solution that worked for me (after I sorted through my remaining firewall issues) was to remove the “local network” setting. Blank it out. Then my system started using the external IP.

Not sure why this works and if this is a bug or not but it works. Hope it works for you. Give it a shot.

1 Like

Thanks for the help everyone! I forgot to provide an update. I did switch to chan_sip and things have seemed to work for the most part since then (running into some other unrelated issues now)

Bullhead,

We are having the same issue and your solution worked for external external extensions. When you made this change, did you have any issue with internal extensions?

Our’s didn’t work right away. I didn’t have a great deal of time when I tried it, so I just added back the local network and didn’t try to troubleshoot the issue.

Let me know if your’s worked and I’ll try removing the local network again.

Also, did you find any other solution or just this one.

Thanks in advance.

I didn’t have any local (to the asterisk server) extensions so this wasn’t an issue for me. However if you check my link above (NAT - That Age Old Issue) there was a comment in there from andres696 about adding “media_address” to the endpoint config. This needs to be done for each endpoint however. The file pjsip.endpoint_custom_post.conf is used here.

However Andrew (Developer) then mentioned that FreePBX is doing this already however I noticed things work when I did this as well just as Andres mentioned. However this wasn’t going to work for me due to the number of extensions I was dealing with.

Hope it helps a bit.

1 Like