Detrás de NAT a detrás de la conexión NAT

Me he encontrado con un problema interesante. Básicamente tengo 2 teléfonos móviles que están detrás de los NAT. Quiero comunicarme directamente entre los 2 dispositivos usando UDP.

Sé que si inicio una conexión desde los teléfonos a un servidor, entonces puedo enviar los datos de vuelta a esa conexión al teléfono (es decir, enviarlos desde el mismo puerto que recibió el mensaje a la misma IP y puerto desde el que se recibió) ) Entonces puedo comunicarme fácilmente entre los 2 dispositivos conectando ambos teléfonos al servidor. Luego, envía datos al servidor y los redirige a los teléfonos. Esto evita cualquier problema transversal de NAT que pueda encontrar.

Sin embargo, preferiría usar el servidor para apuntar los 2 dispositivos entre sí y luego dejar que se comuniquen directamente. ¿Cómo haría para hacer esto? ¿Es posible sin usar algo como uPnP?

Cualquier ayuda sería muy apreciada!

Edita: Encontré este documentohttp: //www.brynosaurus.com/pub/net/p2pnat Parece que la traducción de horquilla es lo que busco, pero no parece ser ampliamente compatible. Me pregunto qué tan bueno es el soporte del ISP móvil para UPnP.

Respuestas a la pregunta(2)

Su respuesta a la pregunta