SIP : un protocole de convergence d’architecture IP/RTC Belkhir Abdelkader Laboratoire LSI USTHB belkhir@lsi-usthb.dz 09/04/2017
Agenda Evolution Présentation du protocole SIP Exemples Comparaison avec H.323 Conclusion 09/04/2017
FONCTIONALITES Localisation Analyse du profil et des ressources du destinataire Négociation du type de media et paramètres de communication Disponibilité de l’appelé Etablissement et suivi de l’appel 09/04/2017
EVOLUTION Evolution du WEB (1, 2ème génération) WS (Web service) Evolution du contenu (texte, son , video) IMS (IP Multimedia Subsystem) Evolution téléphonique (RTC, Haut débit, Réseau mobile, 3ème génération, UMTS,…) 09/04/2017
BUT COMMUN Satisfaire l’utilisateur: information & service À tout moment & partout NGN (Next Generation Networks) SIP est au cœur de cette convergence 09/04/2017
Présentation de SIP Architecture URLs SIP Requêtes SIP Réponses SIP Enregistrement 09/04/2017
Ouverture de sessions Point à point Diffusif combinatoire 09/04/2017
Architecture générale Serveurs : User Agent Server Proxy Server Redirect Server Location Server Registrar Client : User Agent Client Indépendant de la couche transport TCP, UDP, UDP multicast Compatible RFC 822 (mode texte / UTF-8) Protocole de bout en bout Application multimédia SIP SDP Codecs RTP... UDP TCP IP RSVP 09/04/2017
URLs SIP sip: infos_utilisateur@domaine paramètres en-têtes utilisés dans les URI des requêtes, dans Contact: (redirect, registration), To:, From: et dans les pages HTML et les emails, etc. sip: infos_utilisateur@domaine paramètres en-têtes info_utilisateur (nom de l’utilisateur:mot de passe) ou (numéro téléphone, si user=phone) domaine nom de domaine ou nom d’hôte ou adresse IP: port paramètres ;transport=udp ou tcp ;user=phone ou IP ;method=INVITE, ACK, OPTIONS, BYE, CANCEL, REGISTER ;ttl=0 à 255 (time-to-live d’un paquet IP multicast) ;maddr=adresse IP multicast ;tag=compteur en-têtes ? par1=valeur1 & par2=valeur2 & par3=valeur3... Exemples : sip:abdelkader@elmouradia.dz sip:+2132608923@passerelle.dz;user=phone 09/04/2017
SIP/2.0 status reason-phrase Messages SIP SIP/2.0 status reason-phrase méthode URL SIP/2.0 requête réponse Via: From: To: Call-ID: Cseq: Content-Length Content-Type: Champ: SIP/2.0/protocole hôte:port username <sip:from_user@source> username <sip:to_user@destination> localid@hôte numéro_seq méthode longueur du corps type de média du corps paramètre ;par1=valeur; par2= valeur ligne vide en-tête message corps message message V=0 o= user_origine timestamp timestamp IN IP4 hôte c=IN IP4 média adresse_destination t=0 0 m= type_média port RTP/AVP types_payload 09/04/2017
Requêtes & réponses Requêtes : Réponses : INVITE ACK BYE CANCEL OPTIONS REGISTER Réponses : 1xx : information (100 continue, 180 ringing) 2xx : succès 3xx : redirection (300 multiples choices, 302 moved temporarily) 4xx : erreur client (401 unauthorized, 404 not found) 5xx : erreur serveur (501 not implemented) 6xx : erreur globale (600 busy, 601 decline) 09/04/2017
Extensions INFO: information de contrôle d’une session SIP UPDATE: met à jour la session sans affecter le dialogue SUSCRIBE: s’abonner à un service REFER: renvoyer l’utilisateur vers une ressource NOTIFY: prévenir un User Agent d’un évènement MESSAGE: envoie d’un message instantané 09/04/2017
Exemples Etablissement d’une session : cas général Etablissement d’une session par le biais d’un proxy server Etablissement d’une session par le biais d’un redirection server 09/04/2017
Etablissement d ’une session : abdelkader@elmouradia.dz george@whitehouse.gov INVITE george@whitehouse.gov SIP 100 Trying SIP 180 Ringing SIP 200 OK ACK COMMUNICATION BYE SIP 200 OK UAC UAS 09/04/2017
... Par le biais d’un proxy 09/04/2017 whitehouse.gov ovaloffice Location Server INVITE george@ovaloffice elmouradia.dz SIP 301 Moved Permanently contact: georgeW@ovaloffice INVITE george@whitehouse.gov ACK SIP 100 Trying bill@ovaloffice SIP 180 Ringing SIP 200 OK INVITE georgeW@ovaloffice SIP 180 Ringing abdelkader@elmouradia.dz ACK SIP 200 OK SIP 200 OK BYE ACK georgeW@ovaloffice SIP 200 OK BYE Proxy 09/04/2017
... Par le biais d’un redirection server whitehouse.gov Internet INVITE george@whitehouse.gov elmouradia.dz Location Server SIP 301 Moved Permanently ACK Redirection Server INVITE georgeW@whitehouse.gov abdelkader@elmouradia.dz SIP 100 Trying SIP 180 Ringing SIP 200 OK ACK georgeW@ovaloffice Proxy ... 09/04/2017
Comparaison SIP/H.323 Plus simple Plus flexible Plus lisible 195 pages de standards contre 846 pour H.323 Plus flexible Protocole supporte les extensions Plus lisible UTF-8 contre ASN.1 Plus ouvert et intégré au monde IP Pare-feux / Translation d’adresses Messagerie unifiée et instantanée Moins mature Doit faire ses preuves en déploiement Avril 1999 pour SIP depuis 1996 pour H.323 09/04/2017
Interface SIP/RTC GATEWAY RTC/SIP Traduction signalisation ISUP (ISDN User Part/ signalisation SIP (inversement) Conversion signaux audio/paquets RTP (inversement) 09/04/2017
SIP / Sécurité Chiffrement et Authentification Cryptage bout en bout Cryptage saut par saut Cryptage saut par saut de l’entête 09/04/2017
Exemples: Video surveillance Téléphonie IP sur PDA 09/04/2017
Téléphonie IP sur PDA 09/04/2017 Agent Mobile Serveur HTTP Internet / Intranet Agent Mobile Session SIP Streaming HTTP 09/04/2017
09/04/2017
Gestionnaire d’enregistrement Interface Utilisateur Gestionnaire d’enregistrement Gestionnaire de caméras Module SipDialog Module Transport du dialogue Générateur Parseur 09/04/2017
09/04/2017 Gestionnaire De caméras Interface Utilisateur D’enregistrements D’utilisateurs de Threads Dialogue Générateur Parseur Module Transport 09/04/2017
Interface Utilisateur Module SipDialog Interface Utilisateur ActiveX Real Producer Gestionnaire Du Dialogue Générateur Parseur Module Transport 09/04/2017
09/04/2017 USER AGENT CLIENT USER AGENT SERVEUR Wave input device Wave output RESEAU IP SOCKET Messages SMS 09/04/2017
09/04/2017 Partie émission de l’outils Téléphone IP Partie réception de l’outil Emission du feedback RTCP Acquisition De la parole (Voix ) Buffer émission Codage Transmission des données Restitution de la parole (Voix) Décodage Buffer de réception Réception des données Détection de silence Réception du feedback RTCP 09/04/2017
Conclusion Simplicité Prometteur 09/04/2017