CALL FLOW de la RFC 3581

Message n° 1 : INVITE Alice -> NAT

Alice initie un appel vers user@exemple.com (utilisateur SIP User). Alice envoie un INVITE vers User. Or Alice se trouve derrière un routeur NAT symétrique. Le message INVITE comporte le paramètre rport avec une valeur nulle, indiquant que ce paramètre est utile à la transaction, ainsi que l’adresse IP source et le port source renseignés dans le champ «via».

Message n° 2 : INVITE NAT -> serveur Proxy

Ce message INVITE est envoyé à partir d'ALice sur l'adresse IP 10.1.1.1 et le port de valeur 4540. Ce message parvient au routeur NAT qui va translater l'adressage en 192.0.2.1 : 9988. Le serveur Proxy se trouve à l’adresse IP 192.0.2.2 (proxy.example.com), et est en écoute sur les deux ports 5060 et 5070. La requête est réceptionnée sur le port d’écoute 5060 du serveur proxy.

Message n° 3 : INVITE serveur Proxy -> User

Le serveur va traiter la requête. Il s'aperçoit que la demande contient le paramètre "rport" sans aucune valeur. Le serveur va donc renseigner ce paramètre qui va servir à l'établissement du flux RTP et l'acheminer à User. La requête va générer au niveau du client SIP User une réponse 200 OK.

Message n° 4 : 200 OK User -> serveur Proxy

Le client User examine le premier champ «via» du message INVITE reçu, afin de répondre à la requête. Une fois l’adresse du serveur Proxy trouvée, User génère la réponse 200 OK en recopiant les champs «via» contenus dans le message INVITE.

Message n° 5 : 200 OK serveur Proxy -> NAT

Le serveur Proxy analyse l’entête du premier champ «via» ainsi que le suivant. Tous les deux contiennent les paramètres «received» et «rport». Le serveur Proxy à l’adresse IP 192.0.2.1 retransmet le message 200 OK sur le port de communication 5060 vers l’adresse IP 192.0.2.1 associé au port 9988.

Message n° 6 : 200 OK NAT -> Alice

Le routeur NAT reçoit le message 200 OK avec une entête du champ «via» identique à la requête initiale, avec l'adressage assignée par celui-ci. Par conséquent, le routeur NAT réalise une translation inverse. Il va consulter sa table d'association d'adresse et s'apercevoir que ce message est destiné à l’adresse IP source à 10.1.1.1 et le port source à 4540. Cela va permettre de transmettre la réponse vers Alice qui est en écoute sur ce même port et cette même adresse. L’ouverture du flux RTP va pouvoir être effective, Alice et User conversent.

Clickez sur l'image pour zoomer

haut de page