[asterisk-dev] [asterisk-users] Issue with PJSIP contacts being "unavailable"
asterisk at phreaknet.org
asterisk at phreaknet.org
Tue Jun 27 16:56:56 CDT 2023
On 6/27/2023 7:29 AM, Joshua C. Colp wrote:
> On Tue, Jun 27, 2023 at 8:22 AM <asterisk at phreaknet.org
> <mailto:asterisk at phreaknet.org>> wrote:
>
> <snip>
>
>
> Trace from an "unavailable" ATA (not working correctly):
> https://paste.interlinked.us/iz07sapwrb.txt
>
> Trace from an "available" ATA (working correctly):
> https://paste.interlinked.us/ocutyjslmg.txt
>
>
> The "unavailable" ATA no longer has a working TLS connection to
> Asterisk, resulting in OPTIONS failing, and going unreachable, and
> eventually the Contact going away. Actually examining the TLS side
> would be needed.
Thanks, Josh. Further troubleshooting supports that as being the problem
as well. I'll have to figure out what's changed with that.
Replying to the dev list since this is not directly related, but it
reminds me of a previous conversation we had about chan_pjsip
automatically using the transport used for registration. This is not
currently done; what would be your thoughts on perhaps adding an option
to do this automatically? Currently, the provisioning system directs
devices to the proper port based on the security options in the system
and the TLS capabilities of the device. When something registers, I keep
track of the port on which a device registers using AMI, logging it to a
database. We have one port for UDP, one for TLS 1.0, and one for TLS 1.2
(none for plain TCP at the moment). chan_sip isn't as flexible so the
process is more straightforward there: just use the TLS 1.0 port if TLS
is enabled, but for PJSIP, the transpiler assigns a transport based on
the registration port. In theory, a client can toggle the transport for
registration (TLS vs UDP), but that alone doesn't really work since
pjsip.conf needs to be in agreement with that. It would be slightly more
seamless if it could just sync up somehow, as right now I have to
manually retranspile any time this occurs, and it seems kind of clunky
to have to do all this for transports to work properly.
Would there be any consideration or problem with potentially doing
something like this? After all, it seems like there's a 1:1 mapping and
it should be fairly straightforward. Kind of like the "line" option for
registrations, it would help in making things "just work" more of the
time...
More information about the asterisk-dev
mailing list