First of all, I would like to apologize for my incomplete grasp of the basic concepts, I just started learning about Asterisk and FreePBX, and while I’m trying to understand everything, it’s still all very new to me.
My goal is to connect a SIP trunk from a telecom provider so that all calls to a specific phone number are routed through an IVR and ultimately connected to softphone extensions.
I was able to connect the softphones to the system via pjsip, configure the IVR and connect the SIP trunk from the telecom provider, and even route the calls from that trunk through the IVR to a specific extension.
The problem I’m facing now is that as soon as I enable the trunk, I’m unable to register softphones via pjsip anymore. According to the log, pjsip is responding with 404 Not Found. The weirdest thing is that when any softphones are registered and connected when I enable the trunk, I’m still able to receive phone calls (even from that trunk) to that softphone/extension.
It sounds like the trunk endpoint ‘identify’ is somehow overriding the extensions. If you have anything in Match (Permit) or have set Match Inbound Authentication to other than default, please explain.
Is this a ‘register’ trunk (Registration Send, Authentication Outbound), an IP auth trunk (Registration None, Authentication None), or something else?
Are you running the FreePBX Distro? If not, how did you get or build the image you are using?
Is this a cloud or on-site PBX? If cloud, whose (AWS, GCP, etc.)? If on-site, is it bare metal, a virtual machine (which platform), or something else (e.g., Docker)? If virtual, are you using bridged networking?
If on-site, are the softphones on the same LAN subnet as the PBX? Make/model of router/firewall?
In one of the documentation pages, I misunderstood how “Match (Permit)” works so after debugging the trunk connection (which I also couldn’t get to work), I had it set to 0.0.0.0/0 in the trunk. Deleted that and now everything’s working.