Clients switches to UDP-NAT

marirs

New Member
Aug 31, 2018
3
0
1
42
I'm running FusionPBX in a lxc container with wireguard on the host and all clients also connect through the wireguard vpn. There is no NAT between the clients and the FusionPBX container, however some clients switch from "Registered UDP" to "Registered UDP-NAT" or even "Registered AUTO-NAT-2.0" in the Registrations page. If I restart the clients, they go back to "Registered UDP" but some clients will go back to UDP-NAT or AUTO-NAT seemingly randomly. I've used tcpdump to capture packets from the clients and everything seems correct as far as the sip contact header matching the ip address.

They still seem to able to make and receive calls, but I'm wondering if there is a deeper issue that I may be missing?
 

pbxgeek

Member
Jan 19, 2021
37
4
8
37
I have seen both statuses and never found any issues with any. My opinion Is it depends on the manufacturer of the device. I might be wrong though
 

marirs

New Member
Aug 31, 2018
3
0
1
42
Thanks... I have upgraded my Freeswith / FusionPBX install and so far everything seems to be on UDP.
 

Adrian Fretwell

Well-Known Member
Aug 13, 2017
1,461
393
83
Very basically, if an endpoint registers using UDP, FreeSWITCH will report the registered status as UDP. If, however, FreeSWITCH, or more specifically mod_sofia detects any RFC1918 addresses in specific headers, Contact: for example, it will report the registered status as UDP-NAT.

FreeSWITCH has several mechanisms for correcting incorrect IP addresses both in SIP header fields and in SDP bodies. It is these mechanisms that allow an endpoint to work at all with an UDP-NAT state.

When you see a registered status of UDP-NAT, it is generally an indication that the endpoint is not NAT aware, I.E. it doesn't know what its connections look like to the outside world. There are several NAT traversal protocols that allow endpoints to become NAT aware, if the device supports them. We commonly use STUN.
https://en.wikipedia.org/wiki/STUN
 

marirs

New Member
Aug 31, 2018
3
0
1
42
Very basically, if an endpoint registers using UDP, FreeSWITCH will report the registered status as UDP. If, however, FreeSWITCH, or more specifically mod_sofia detects any RFC1918 addresses in specific headers, Contact: for example, it will report the registered status as UDP-NAT.
These were all phones registered to the internal SIP profile with no NAT in between. If I examined the UDP packets the header ip and port matched the SIP via and contact headers, but of course these were all RFC1918 addresses (which, for me, doesn't necessarily cause the status to go to UDP-NAT). New install, so far, doesn't exhibit the same problem, so maybe it was a bug or something got corrupted in my old system.