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.
|