Vous pouvez utiliser NAT traversal dans certains cas. Cette méthode n'est pas garantie et dépend du type de NAT, vous aurez donc toujours besoin d'un serveur relais si vous voulez garantir la connectivité.
Une règle générale est que si les deux clients sont derrière des NAT symétriques, un serveur relais est requis. Si un seul NAT est symétrique, alors les méthodes STUN, ICE, peuvent être utiles pour établir des connexions P2P.
Ce qui suit peut vous aider:
Interactive Connectivity Establishment voir en.wikipedia.org/wiki/Interactive_Connectivity_Establishment
projet PJNATH Open Source pour NAT traversal dans les solutions SIP/VoIP voir PJSIP.ORG