Si tu veux que ton trafic audio/video ne passe pas par un serveur IAX2 publique, mais puisse se faire directement entre 2 softphones, comment fais-tu sans redirection de port en cas de NAT symmétrique ?
Pour rappel, avec le NAT symmétrique, le port UDP alloué à ton client derrière ton routeur NAT va dépendre du couple IP / Port distant avec lequel tu discutes. Bref, le quintuple (port interne, IP interne, port sur le routeur NAT, port externe, IP externe) est unique.
Mais grosso modo on se sert d'un serveur relais pour initialiser la connexion...
A se connecte a relais C
B se connecte a relais C
C envoie à A le port UDP de sa connexion à B
C envoie à B le port UDP de sa connexion à A
A se connecte a B sur ce port UDP
B se connecte a A sur ce port UDP
Et paf ils ont un canal bidirectionnel entre eux ;)
ps : y a un léger soucis avec un NAT un peu évolué qui serait regardant sur l'ip publique d'origine des paquets arrivant sur ce port...
(il me semble avoir lu ça a l'époque où je m'y intéressais)
[^] # Re: le nat
Posté par Raphaël G. (site web personnel) . En réponse au journal Le chat audio et la video conference libre.... Évalué à 3.
Perdu, on peux ;)
http://en.wikipedia.org/wiki/UDP_hole_punching
(pas trouvé la version en français y a pas de lien direct)
Mais grosso modo on se sert d'un serveur relais pour initialiser la connexion...
A se connecte a relais C
B se connecte a relais C
C envoie à A le port UDP de sa connexion à B
C envoie à B le port UDP de sa connexion à A
A se connecte a B sur ce port UDP
B se connecte a A sur ce port UDP
Et paf ils ont un canal bidirectionnel entre eux ;)
ps : y a un léger soucis avec un NAT un peu évolué qui serait regardant sur l'ip publique d'origine des paquets arrivant sur ce port...
(il me semble avoir lu ça a l'époque où je m'y intéressais)