I’m facing a very frustrating issue. When an external call comes in, sometimes I cannot hear the caller for 10 seconds. I read that maybe the UDP cannot find the correct route, then when it finds it, I can hear the caller again (thats around 10 seconds). I have two trunks defined, all extensions are CHAN_SIP. No errors in log file. Maybe NAT issue?
I know there was already a topic about this issue, (community.freepbx(dot)org/t/inbound-call-no-incoming-sound-after-10-seconds/15624/8) but that was closed due to lack of information.
Please help, I can provide any information if needed.
- you are using a server that is not directly attached to the Internet (running behind a NAT of some kind).
- You redirected port 5060 on your firewall to point to your PBX Server.
- You didn’t redirect the port range 10000-20000 (UDP) to the PBX server.
- You are not using any kind of early RTP settings.
If those are correct (you may need to check just to make sure) then all you need to do is either point 10000-20000 to the server or set up early RTP so that the path back to your caller gets constructed in your firewall.
Sorry, didnt mention that my server is behind a pfsense router which is NAT’ted.
Do I need to port forward the 10000-20000 UDP range to my PBX server, even if there is NAT?
I dont want to redirect 5060 (PBX port) to the internet because security reasons.
I have two SIP provider, defined in PBX. One of it works perfectly without this 10 second issue, but the other does it frequently.
Do I need to enable RTP strict?
Thanks for helping me out with this!
@Bence98007 yeah, you’ll probably need to forward a bunch of ports. Take a look at the the article on the FreePBX wiki reguarding SIP Audio Issues to see if anything else was missed:
I see, thanks for the reply!
I’ve read the article You sent me, but nothing new. NAT enabled, static IP is configured and RTP port range is defined.
Sorry, I mistaken something:
Server and all of the phones are behind the NAT, but the Trunks are out of the NAT.
This is the Trunk settings (it’s the problematic one):
@Bence98007 So the thing about UDP is that packets from the trunk service (even though it is public), still need to somehow find their way to your FreePBX server. Just because the packets can be sent to the trunk service, doesn’t mean the trunk service can send packets to your FreePBX server.
I hate to say it, but my typical default answer here is to learn what packets SIP should be sending and then use a tool like Wireshark or tcpdump to verify the FreePBX server is seeing everything it should. (I really don’t know why we don’t have a built in tool for this already).
How to Analyze SIP Calls in Wireshark:
SIP Basic Call Flow:
This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.