Hi all,
I am using FreePBX 13.0.195.1 paired with Asterisk 13.18.3. There seems to be a bug in provisioning PJSIP transports.
Asterisk supports the following configurations:
A single transport bound to interface 0.0.0.0. If it is enabled, all the transports bound to specific interfaces are ignored.
Multiple transports bound to specific interfaces. This works if transport for 0.0.0.0 IS NOT enabled.
However, FreePBX allows enabling 0.0.0.0 and individual transports at the same time. This results in the following situation:
An individual transport may be selected for an extension or trunk
This individual transport will be rejected by Asterisk for the reason stated above with the following error: Unable to retrieve PJSIP transport 'x.x.x.x-udp'
In order to get aligned with Asterisk, FreePBX should automatically disable individual transports once a global one (0.0.0.0) is enabled for this protocol.
Should I raise a defect in JIRA? Or this logic described above is implemented deliberately?
Now try to select transport 10.10.26.36 for an extension.
FreePBX should allow this as the related transport is enabled.
However, in Asterisk such a transport does not exist (although created in config file), so that you would get an error “Unable to retrieve PJSIP transport” and non-working endpoint.
Ah, yes, I see the same, so confirmed bug. I think the fix here is as you say, to validate the bindings in Asterisk SIP settings. Please open a Jira and it will be triaged on Monday.