Session Initiation Protocol ( SIP ) Symmetric Response Routing RFC 3581 An Extension to the Session Initiation Protocol ( SIP ) for Symmetric Response Routing
Sommaire SIP NAT Problématique SIP et NAT Call Flow Conclusion
SIP- Session Initiation Protocol SIP est : Défini par l’IETF (Internet Engineering Task Force), Référencé par la RFC 2543 puis par la RFC 3261. SIP : Est un protocole de signalisation de couche application Permet l’établissement, la libération et la modification de sessions multimédias, S’appuie sur un modèle transactionnel client/serveur.
SIP- Couche Transport La couche transport est responsable : De la transmission des requêtes et réponses sur le réseau, Ports par défauts TCP/UDP: 5060 et 5070; TLS: 5061 Gère le paramètre « sent by » ( adresse IP et port) des champs VIAs Gère le rajout du paramètre « received » (adresse IP distante)
SIP- Architecture L’architecture de SIP est : Basée sur des relations UAC/UAS, Composée de User Agent, Proxy Server, Location Server, Redirection Server, Registrar Server. Les terminaux peuvent soit : Communiquer entre eux directement Par l’intermédiaire d’autres serveurs.
NAT- Network Address Translation NAT est : Défini par la RFC 3022, Une solution à la pénurie d’adresse IPV4. En sortie du NAT : Association d’une adresse IP privée à une adresse IP publique En entrée du NAT : Remplacement de l’adresse IP publique par l’adresse IP privée Les NAT sont : NAT Statique, PAT/NAT Dynamique, Cône plein, Cône restrictif, Cône à port restrictif, NAT symétrique
NAT symétrique A chaque établissement d’appel d’Alice vers un utilisateur, une adresse IP et port publique est réservé à cette communication. Routeur NAT @IP public : 192.0.2.1 N° port : 9999 Routeur NAT @IP public : 192.0.2.1 N° port : 9988
Problématique SIP & NAT 1/2 Problème de communication entrante Les clients ne connaissent pas leur adresse IP translatée Les entêtes des champs Via, From et Contact ne sont pas routables
Problématique SIP & NAT 2/2 INVITE INVITE INVITE Sip : user@exemple.com SIP/2.0 Via : SIP/2.0/UDP 10.0.0.1 :4540 ; branch=z… Sip : user@exemple.com SIP/2.0 Via : SIP/2.0/UDP : 192.0.2.1 : 9988 branch= z… Sip : user@exemple.com SIP/2.0 Via : SIP/2.0/UDP : proxy.exemple.com ; branch= z… Via : SIP/2.0/UDP :10.0.0.1 :4540 ; received=192.0.2.1 ; branch= z9… 200 OK 200 OK Via : SIP/2.0/UDP : proxy.exemple.com ; branch= z… Via : SIP/2.0/UDP :10.0.0.1 :4540 ; received=192.0.2.1 ; branch= z9…. Via : sip/2.0/UDP : 10.0.0.1 : 4540 ; received=192.0.2.1 branch=z..
Call Flow RFC 3581 10.0.0.1 :4540 ; rport ; 192.0.2.1 : 9988 ;rport ; INVITE INVITE INVITE Sip : user@exemple.com SIP/2.0 Via : SIP/2.0/UDP 10.0.0.1 :4540 ; rport ; branch=z… Sip : user@exemple.com SIP/2.0 Via : SIP/2.0/UDP : 192.0.2.1 : 9988 ;rport ; branch= z… Sip : user@exemple.com SIP/2.0 Via : SIP/2.0/UDP : proxy.exemple.com ; branch= z… Via : SIP/2.0/UDP :10.0.0.1 :4540 ; received=192.0.2.1 ; rport=9988 ; branch= z9… 200 OK 200 OK 200 OK Via : SIP/2.0/UDP : proxy.exemple.com ; branch= z… Via : SIP/2.0/UDP :10.0.0.1 :4540 ; received=192.0.2.1 ; rport=9988 ; branch= z9…. Via : sip/2.0/UDP : 10.0.0.1 : 4540 ; received=192.0.2.1 ; rport =9988 ; branch=z.. Via : sip/2.0/UDP : 10.0.0.1 : 4540 ; received=192.0.2.1 ; rport =9988 ; branch=z..
Conclusion La RFC 3581 apporte une solution pour le NAT symétrique. Pour les autres types de NAT, des solutions existent telles que : STUN (Simple Traversal of UDP through NAT) ICE ( Interactive Connectivity Etablishment) TURN (Traversal Using Relay NATs) UPnP (Universal Plug and Play)
SIP- Quelques URLs utiles… http://www.ietf.org/rfc.html ( Base des RFCs ), http://www.ietf.org/iesg/1rfc ( liste des RFCs et leurs status ), http://www.rfc-editor.org/cgi-bin/rfcsearch.pl ( Recherche de RFCs ) http://www.iptel.org/info/players/ietf ( RFCs et drafts par thèmes ), http://www.cs.columbia.edu/sip/ ( Portail SIP de l’université Columbia), http://www.sipforum.org/ ( SIP forum ), http://www.sipit.net/ ( Accueil sur les « sipit: SIP interoperability test event » ), http://www.pulver.com/products/sip/ (Portail VoIP : liste des produits SIP ) http://www.voip-info.org/wifi-SIP ( Portail VoIP )
Questions Sinon, …..
QUIZZ 1_Quelle est la RFC qu’on vient de traiter ? RFC 3543 RFC 3581
QUIZZ 2_La RFC 3581 s’applique sur quel type de NAT : Cône plein Nat symétrique Cône à port restrictif Cône restrictif
3_Quel paramètre est traité par la RFC 3581? TTL Received Rport Branch
4_Quelle RFC traite du paramètre received ?