I just got a brand new Yealink T46S which won’t register. Thinking it might be the phone, I also unpacked a separate set of Yealink DECT phone I got and these work immediately. Thinking it might be the fact I’m connecting to a server outside my network, I connect the T46 to the FreePBX on my local network, which is working fine.
I have checked the extension multiple times, reset the password, it keeps working on my iPhone and the SIP/Yealink phone on my local network, but not on the new Yealink.
That is correct. Other phones including the SIP app on my iPhone on the other hand are able to connect to the remote server. I have tried another server, same result. So it seems this particular phone is not able to connect to remote servers.
The plot thickens… my DECT phones (Yealink W60) dus got updated and now they’re also not able to connect. Same “SIP/2.0 401 Unauthorized” log. Older phone and iPhone still no problems.
Is everything coming from 5060? or even are two phones coming from the same port not 5060?
Your router’s NAT tables are likely hosed. Rebooting everything in order from ISP modem to router to phones will likely clean it up.
Most hardware devices (and all Yealinks) attempt to use port 5060 as their “source” port for outbound connections by default.
But the first time they negotiate, the router will not allow it, if it has already mapped something using 5060, and the devices will pick random port and try again.
Because this can randomly be an issue if there is an outage, or the router reboots, or the router tables get wiped, etc., I have now started using a specified source port base don the extension
In a Yealink, it is this config line (extension 5142, see what I did there?)
I’m going to be honest here, I have locations with numerous Yealink phones and I never touch the listening port of the phone. I don’t have NAT issues like this. So while this did fix the problem it is a workaround and not a proper fix to the networking issues present.
If everything was local then the listening port would be just fine as every device would be listening on IP:5060 and there would be no issues. The fact this is now hitting the router and NAT and the router is poorly mapping things listening on 5060 locally is not something that should be set per phone, this is a networking problem that needs to be resolved properly.