UPDATE: Evidence of the issue in the form of detailed system log files available in post 118. Confirms Xbox One is not properly re-negotiating port mapping after coming out of standby and confirms this is a Microsoft/Xbox bug.
For those of you not familiar with UPnP, think of it in this context as automatic port forwarding. The device communicates with the router and says "hey, I'm located here at [IP address] and [MAC address] and I need access to ports [port], [port], and [port] please!" This is great, as it allows for consoles to have an "open NAT" and communicate effectively with the internet, allowing players to connect to other players and servers and such without hassle. It's also great for situations where multiple consoles are being used on the same network where manual port forwarding would not be effective.
However, the Xbox One's implementation of UPnP is bugged. Since devices are requesting ports to be opened and held for them, it's obvious that these reservations can't be held forever for security and compatibility reasons. So routers will eventually expire these UPnP reservations after a period of time of inactivity. No big deal - when a device needs access again, it renegotiates the leases and they become active again.
The Xbox One, however, doesn't do this unless a full reboot of the console occurs. As a result, users with a secure UPnP setup and the Xbox One on the "Instant On" setting will have a moderate or closed NAT, impeding their ability to connect to other players and services. So for those of you with the console with "Instant On" enabled, there are three ways I've found so far to temporarily resolve the issue:
Don't be fooled by the short "NAT type" description, either, as this is cached and not accurate. As the above example shows, the NAT type is listed as Moderate, but the description from the advanced test is that of a "cone NAT" (open). The reverse happens as well - the console will show that your NAT is open, when in fact the UPnP leases are not active and you're not able to connect with some other players.
What's particularly frustrating about this issue is that it has existed and has been brought up since the console's launch. Refer to this article, this unacknowledged Xbox support forum post from August, and this unacknowledged thread spanning from November of last year to October.
So to those of you on here, if you're using UPnP and Instant On, chances are your NAT isn't as open as you think it is and you're not able to connect to everyone. For those of you who are more network savvy, you'll be able to verify this by looking at your port reservations and UPnP lease tables on your network.
To Microsoft: what's the deal, guys? It's been a year and a major system bug still exists and hasn't been acknowledged. Please get around to patching this for your customers.
For those of you not familiar with UPnP, think of it in this context as automatic port forwarding. The device communicates with the router and says "hey, I'm located here at [IP address] and [MAC address] and I need access to ports [port], [port], and [port] please!" This is great, as it allows for consoles to have an "open NAT" and communicate effectively with the internet, allowing players to connect to other players and servers and such without hassle. It's also great for situations where multiple consoles are being used on the same network where manual port forwarding would not be effective.
However, the Xbox One's implementation of UPnP is bugged. Since devices are requesting ports to be opened and held for them, it's obvious that these reservations can't be held forever for security and compatibility reasons. So routers will eventually expire these UPnP reservations after a period of time of inactivity. No big deal - when a device needs access again, it renegotiates the leases and they become active again.
The Xbox One, however, doesn't do this unless a full reboot of the console occurs. As a result, users with a secure UPnP setup and the Xbox One on the "Instant On" setting will have a moderate or closed NAT, impeding their ability to connect to other players and services. So for those of you with the console with "Instant On" enabled, there are three ways I've found so far to temporarily resolve the issue:
- Hard reset the console by holding the power button on the console.
- Perform the "test multiplayer connection" test in the settings app. Once it finishes, hold LT + RT + LB + RB and an advanced screen will appear. During the advanced screen, the Xbox will attempt to renew its UPnP leases.
- Disable "Instant On" and switch to "Energy Saver" and deal with very long console boot times.
Don't be fooled by the short "NAT type" description, either, as this is cached and not accurate. As the above example shows, the NAT type is listed as Moderate, but the description from the advanced test is that of a "cone NAT" (open). The reverse happens as well - the console will show that your NAT is open, when in fact the UPnP leases are not active and you're not able to connect with some other players.
What's particularly frustrating about this issue is that it has existed and has been brought up since the console's launch. Refer to this article, this unacknowledged Xbox support forum post from August, and this unacknowledged thread spanning from November of last year to October.
So to those of you on here, if you're using UPnP and Instant On, chances are your NAT isn't as open as you think it is and you're not able to connect to everyone. For those of you who are more network savvy, you'll be able to verify this by looking at your port reservations and UPnP lease tables on your network.
To Microsoft: what's the deal, guys? It's been a year and a major system bug still exists and hasn't been acknowledged. Please get around to patching this for your customers.