P Series Phones re-registering


I have deployed a P325 on a PBXact which has S series phones. This phone is in a remote office with two S705 phones which have no problems.

The P325 retrieved its configuraiton (EPM) and registers fine. However, after a couple minutes it will become unavalable and show another connection registered same IP different port. Then it basically cycles back and forth, going from available to unavailble and then available again on the other connection different port.

There is no VPN, I am forwarding ports on the router and the remote office is whitelisted.

Looking for debug ideas?

Assuming you are using UDP it may be a timeout issue. Either adjust timeout to something like 300 or try with TCP transport.

I had tried changing from Auto to TCP and then UDP in order to get this working but it made no difference. When you say adjust timeout, are you referring to SessionTimer?

Not sure if this matters but the user also has SangomaTalk installed on their mobile and it works fine.

After switching to TCP then UDP and back to AUTO for transport, it just started working. Now, I see just the one registration and it’s solid.

Just some more ancillary information, but…
The default transport for the phone is UDP. When UDP’s used, the phone does not default any UDP keep alives, so if the phone’s sitting on one side of a router and it’s reaching out across networks (like a remote phone across the Internet), there’s a good chance the router’s going to try to recycle ports on you, which is going to cause the phone to disappear and be unreachable from the server-side. And, because it’s UDP, and not TCP, the phone doesn’t know the port’s been recycled/closed at the router, and the server can’t get calls to the phone, and things won’t get better until the phone’s SIP re-registration timer fires - EPM defaults this to 300 seconds, which means it happens at about half that time +/- some randomness, but Asterisk can have its own ideas when the PJSIP endpoint is created (I don’t know the FreePBX defaults).

And, with UDP, things aren’t going to be fully better, because at that point, Asterisk will have lost track of its phone apps signaling to the phone, and that won’t recover for a day (default).

To mitigate this, the phone has a setting for UDP, controlled by:

 <setting id="udp_ka_interval" value="__sipkeepaliveinterval__" />

I believe that EPM sets this by default to 60 seconds. So, for most cases, that’ll take care of things. But, there are some cases where 60 seconds is too long for a given router (hello Adtran), so you’ll may want to go with 30 seconds. You can find this setting in the “Redundancy” tab of the EPM template for the phone.

You can avoid all of these shenanigans by using TCP (or TLS) instead of UDP.


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.