To punch the whole, isn't there a TURN server or something? How do you establish a p2p connection if one of the devices is behind a NAT?