Getting push notifications with devices with a local IP works fine. I just wonder how is that it works. Is it just uPnP? The device starts communication with the cloud messaging service and then IGD kicks in? So the mapping remains Does the push notification client keeps a constant connection to the cloud server? I would like to think that is not the case.
I am interested specifically in how the push notification knows how to reach the device given it is behind a NAT or firewall. Is there a scenario where Google push notifications would not be able to reach a device?