Perhaps I am underthinking things here, but this seems like a good use case to just use UDP here. Save all the power consumed in the original connection set up and just the router will handle NAT re-allocation whenever you phone home, right? Responses to those messages should be properly routed to your device. Building on top of TCP seems like a lot of effort for this network situation