540 likes | 818 Views
Formation SIP-IMS 1 ère partie : SIP. DE SOUZA Rémi – UIS / SOSC Septembre 2009, présentation à la Base arrière UIS Toulouse. interne Groupe FT. Plan de formation. partie 1 Introduction partie 2 Caractéristiques partie 3 Communication partie 4 Fonctionnement
E N D
Formation SIP-IMS1ère partie : SIP DE SOUZA Rémi – UIS / SOSC Septembre 2009, présentation à la Base arrière UIS Toulouse interneGroupe FT
Plan de formation partie 1 Introduction partie 2 Caractéristiques partie 3 Communication partie 4 Fonctionnement partie 5 Etablissement d’une session partie 6 Avantages inconvénients de SIP
I. Introduction • Les origines • Qu’est-ce-que SIP ? • Les capacités de SIP • Fonctionnalités • SIP vs H323
I.1 Les origines • SIP a été spécifié par le groupe de travail MMUSIC (Multiparty Multimédia Session Control) • Protocole récent, créé en 1999 • Normalisé par l’IETF (Internet Engineering Task force) • Concurrent du protocole H323 (1996), créé par l’ITU (International Communication Union) • Définit par la RFC 2543 en 1999 et la RFC 3261 en 2002
I.2 Qu’est-ce-que SIP ? • Protocole de signalisation de la couche application du modèle OSI • Permet de réalisé de l’audio ou vidéoconférence, de la voix (téléphonie), de l’enseignement à distance, et de la diffusion multimédia • Rôle : Ouvrir, Modifier et Libérer les sessions multimédias entre un ou plusieurs utilisateurs • SIP n’est pas un protocole de réservation de ressource, il ne peut donc pas assurer la QoS • C’est un protocole d’appel et non de contrôle de média
I.3 Les capacités de SIP • SIP a la capacité de : • Localiser une ressource SIP • Supporter la résolution d’adresse, le mapping et la redirection d’appel • Etablir des sessions multimédias • Modifier les caractéristiques de la session media ou du codec • Gérer la disponibilité de l’utilisateur • Vérifier les capacités du terminal • Mettre en œuvre des mécanismes de sécurité • SIP ne fournit pas : • Des services applicatifs • Une gestion de la QoS • Un contrôle de flux média
I.4 Fonctionnalités • Localisation d’un terminal appelé • Détermination du type de média échangé (voix, vidéo, données, …) • Vérification de la disponibilité de l’appelé et demande d’établissement d’appel • Etablissement et suivi de l’appel • Mobilité fonctionnelle :l’utilisateur n’est plus lié à un téléphone avec un ou plusieurs numéros • L’utilisateur est joignable au travers d’en ensemble de contact : softphone, poste fixe, GSM
I.5 SIP vs H323 Protocole H323 SIP élevée réduite Complexité Rationalisation bonne à poursuivre simplifiée Evolutivité difficile Modularité faible forte centralisée répartie Architecture complexe simple Gestion Multicast
Plan de formation partie 1 Introduction partie 2 Caractéristiques partie 3 Communication partie 4 Fonctionnement partie 5 Etablissement d’une session partie 6 Avantages inconvénients de SIP
II. Caractéristiques • Couches OSI • Les agents SIP • Identités SIP • Méthodes et Réponses
II.1 Couches OSI • SIP se charge de l’authentification et de la localisation des multiples participants, de la négociation sur les types de média utilisables par les différents participants en encapsulant des messages SDP (Session Description Protocol). • SIP ne transporte pas les données échangées durant la session comme la voix ou la vidéo. • SIP étant indépendant de la transmission des données, tout type de données et de protocoles peut être utilisé pour cet échange. Le protocole RTP (Real-time Transport Protocol) assure le plus souvent les sessions audio et vidéo. Application SIP Transport Réseau
II.2 Les agents SIP • Les composants du réseau SIP sont divisés en deux catégories : • Agents utilisateurs UA : • User Agent Client (UAC) Initiation des sessions à la demande de l’utilisateur • User Agent Server (UAS) Réception de toutes les sessions à destination de l’utilisateur • Un UA joue à la fois le rôle d’un UAC et d’un UAS si une session est déjà établie. • Un UA peut-être un UAC ou UAS selon s’il a initialisé la session ou non.
II.2 Les agents SIP • Agents serveurs : • Registrar Server (RG) Enregistrer l’association de l’identifiant d’un utilisateur et son adresse IP • Redirect Server (RS) Répondre à des requêtes en donnant l’adresse IP d’un utilisateur ou d’un serveur de localisation • Proxy (PS) Avoir une fonctionnalité de relais • Back To Back user agent (B2BUA) Concaténer un UAC et un UAS
II.2 Les agents SIP • Deux modes de communications: • Mode direct : Les entités utilisatrices communiquent directement • Mode indirect : Les entités serveurs relaient les messages échangés
II.3 Identités SIP : SIP URI • Pour identifier les utilisateurs au sein du réseau, SIP utilise des URI (Uniform Ressource Identifier). • La syntaxe d’une URI est proche d’une adresse mail utilisateur@domaine : • Utilisateur : nom, prénom, n° téléphone • Domaine : nom du domaine ou adresse IP • Exemples : • sip:remi@home.com • sip:remi@192.168.2.10 • sip:0512345678@home.com
II.3 Identités SIP : Name addr • Un name addr est une URI encadrée par <> et éventuellement d’un champ display name. • Les séparateurs <> sont nécessaires si : • un display name est spécifié • L’URI contient : « , », « ; », ou « ? » • Si ces séparateurs sont absents, tous les paramètres après l’URI sont des paramètres de l’en-tête. • Exemple : • Contact:<sip:user@domaine.com> = name addr • From: user<sip:user@domaine.com> = display name
II.4 Méthodes et Réponses • Les messages SIP partage de nombreuses similitudes avec le protocole HTTP. • Il existe deux types de messages : • Méthodes (requêtes) : Les messages initialisés par les UAC (User Agent Client) à destination d’un ou de plusieurs UAS (User Agent Server). • Réponses : Les messages envoyés par les UAS pour répondre à une requête.
II.4 Méthodes et Réponses • Structure d’un message SIP : • Chaque message contient une adresse URI, un ensemble d’en-têtes et un corps. Certains champs d’en-têtes sont toujours présents dans les requêtes et les réponses pour former l’en-tête général Via Max-Forwards To From Call-ID CSeq
II.4 Méthodes et Réponses • Méthodes : • La RFC 3261 définit 6 principales méthodes SIP : REGISTER utilisé par un UA pour s’enregistrer (@IP ou nom de machine) auprès d’un Registrar afin d’être localisé et joignable initialise une session entre UA, contient les infos appelant/appelé et le type de flux qui seront échangés (voix, vidéo,…) INVITE acquitte et confirme les paramètres de session ACK annule une requête en cours d’établissement initié par un INVITE CANCEL BYE libérer une session multimédia utilisé pour interroger un UA (terminal ou serveur) sur ses capacités (langages, extensions… supportés) et son état (disponible ou non) OPTIONS
II.4 Méthodes et Réponses User A User B • Exemple d’une méthode : INVITE sip:user_B@domaine_B.com SIP/2.0 Via: SIP/2.0/TCP pcXX.domaine_A.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: user_A<sip: user_A@domaine_A>;tag=9fxced76sl To: user_B<sip:user_B@domaine_B.com> Call-ID: 3848276298220188511@domaine_A.com CSeq: 1 INVITE Contact: <sip:pcXX.domaine_A.com;transport=tcp> Content-Type: application/sdp Content-Length: 151 v=0 o=user_A 2890844526 2890844526 IN IP4 pcXX.domaine_A.com s=- c=IN IP4 192.0.2.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
II.4 Méthodes et réponses • Réponses : Après avoir reçu et interprété une requête SIP, le destinataire de cette requête retourne une réponse SIP. • 6 classes de réponses : 1xx Information exemple : 180 Ringing 2xx Succès exemple : 200 OK 3xx Redirection exemple : 305 Use Proxy 4xx Erreur côté client exemple : 486 busy 5xx Erreur côté serveur exemple : 500 Server Internal Error 6xx Erreur globale exemple : 600 Busy Everywhere
II.4 Méthodes et Réponses User A User B • Exemple d’une réponse : SIP/2.0 200 OK Via: SIP/2.0/TCP pcXX.domaine_A.com:5060;branch=z9hG4bK74bf9; 192.0.2.101 (@IP émetteur) From: user_A<sip:user_A@domaine_A.com>;tag=9fxced76sl To: user_B<sip:user_B@domaine_B.com> Call-ID: 3848276298220188511@domaine_A.com CSeq: 1 INVITE Contact: <sip: pcYY.domaine_B.com;transport=tcp> Content-Type: application/sdp Content-Length: 147 v=0 o=user_A 2890844526 2890844526 IN IP4 pcXX.domaine_A.com s=- c=IN IP4 192.0.2.101 …
II.4 Méthodes et Réponses SUBSCRIBE Demander une notification d’évènement d’appel • Méthodes étendues de SIP : NOTIFY Valider un évènement qui a été demandé Publier l’état d’un UA PUBLISH Transférer des messages instantanées MESSAGE Mise à jour des paramètres de la session de l’UA UPDATE PRACK Acquitter les réponses de classe 1xx INFO Obtenir des informations sur la session en cours
Plan de formation partie 1 Introduction partie 2 Caractéristiques partie 3 Communication partie 4 Fonctionnement partie 5 Etablissement d’une session partie 6 Avantages inconvénients de SIP
III. Communication • Transaction • Dialogue
III.1 Transaction Une transaction est une relation entre deux équipements Client Serveur • Une transaction possède un identifiant unique • Les transactions sont indépendantes entre elles, les retransmissions n’ont pas d’influence • Une transaction est considérée terminée lors de la réception de la première réponse finale • Une transaction contient les réponses provisionnelles (« 180 Ringing ») • Le CANCEL et sa réponse constitue une transaction Requête Création de la transaction Création de la transaction 180 RINGING Transaction complète Transaction complète 200 OK Réponse finale ACK
Requête 200 OK III.2 Dialogue Un dialogue est une relation de bout en bout entre deux UAs • Un dialogue est créé sur la réception d’un 200 OK de l’invite • L’état du dialogue ne peut changer que suite à une nouvelle transaction • Un dialogue ne peut être changé sur erreur • Un dialogue est clôturé sur réception du BYE (indépendamment de la réponse au BYE) UA UA Création Modification Destruction
Plan de formation partie 1 Introduction partie 2 Caractéristiques partie 3 Communication partie 4 Fonctionnement partie 5 Etablissement d’une session partie 6 Avantages inconvénients de SIP
IV. Fonctionnement • Registrar • Proxy • Redirect Server • Back to Back User Agent
IV.1 Registrar – Rôle, fonctions • Serveur qui gère les requêtes REGISTER envoyées par le UA pour s’enregistrer sur le réseau • Mapping entre l’adresse IP et l’adresse SIP (URI) • Requêtes stockées dans une base de données • Généralement, des mécanismes d'authentification permettent d'éviter que quiconque puisse s'enregistrer avec n'importe quelle URI
IV.1 Registrar – Durée d’enregistrement • Durée d’enregistrement : • L’UA demande une durée de vie au travers du paramètre « expires » de l’en-tête « contact » ou en spécifiant un en-tête « Expires » • La durée relative d’enregistrement est par défaut de 3600 secondes • La durée d'expiration finale est fournie par la valeur du « expires » dans le 200 OK • Requête REGISTER renouvelée régulièrement (entre 60s et 3600s) pour vérifier la joignabilité de l’utilisateur • Après expiration, le Registrar détruit l'entrée correspondante dans sa base de données. REGISTER sip:domaine.com SIP/2.0 From:user<sip:user@domaine.com>;tag=vjfjkvfjkf To: user<sip:user@domaine.com> Contact: sip:Nom_du_PC.domaine.com Exprires:3600 SIP/2.0 200 OK From:user <sip:user@domaine.com>;tag=vjfjkvfjkfjv To:user<sip:user@domaine.com>;tag=34FFZefcce Contact:<sip:pcXX.domaine.com>;expires=3600
2 3 4 1 IV.2 Proxy – Rôle, Fonctions • Rôle : Intermédiaire entre deux UA qui ne connaissent pas leur emplacement respectif • Intervient dans la signalisation et ne gère pas de média • Le proxy SIP n’émet aucune requête, excepté la requête CANCEL pour libérer une session 3 1 La BD retourne l’adresse IP du destinataire L’UA envoi une requête au proxy 4 2 Le proxy relaie le message au destinataire Le proxy interroge la base de données
IV.2 Proxy – Mode de fonctionnement Mode STATELESS Mode STATELESS INVITE INVITE INVITE INVITE 180 Ringing 180 Ringing 180 Ringing 180 Ringing 200 OK 200 OK 200 OK 200 OK ACK ACK ACK Média Média BYE BYE BYE 200 OK 200 OK 200 OK
IV.3 Redirect Server • Le Redirect Server reçoit et émet des requêtes SIP pour localiser le destinataire enregistré dans la base de données mise à jour par le Registrar. • La réponse contient la ou les adresses à contacter pour joindre le destinataire. Proxy Server sip.blue.com Redirect Server sip.orange.com 1 : INVITE bob@orange.com 2 : bob@orange.com ? 3 : bob@blue.com 4 : Contact: sip:bob@blue.com 5 : ACK 6 : INVITE bob@blue.com 7 : 100 Trying 8 : INVITE 9 : 180 Ringing 10 : 180 Ringing 11 : 200 OK 12 : 200 OK 13 : ACK Flux multimédia
IV.4 Back to Back User Agent • Un B2BUA dispose, comme le proxy, d’une fonction de relayage des requêtes d’établissement de session. • Un B2BUA peut établir, modifier ou clore des sessions. • A la différence d’un proxy, un B2BUA est un relais intelligent qui maintient l’état des transitions (appels). UA Server UA Client Réception et traitement des requêtes Renvoie et génère les requêtes B2BUA
Plan de formation partie 1 Introduction partie 2 Caractéristiques partie 3 Communication partie 4 Fonctionnement partie 5 Etablissement d’une session partie 6 Avantages inconvénients de SIP
V. Etablissement d’une session • Mode direct • Mode indirect
V.1 Mode direct alice@mybook.com office.mybook.com 200.201.202.203 bob@school.com lab.school.com 100.101.102.103 INVITE 180 Ringing 200 OK ACK Flux Média BYE 200 OK
V.1 Mode direct - INVITE • Version du protocole et protocole de transport utilisé • Nom DNS ou @IP de la machine et numéro de port INVITE sip:alice@mybook.com SIP/2.0 Via: SIP/2.0/UDP lab.school.com:5060;branch=z9hG4bKfw19b Max-Forwards: 70 To: Alice <sip:alice@mybook.com> From: Bob <sip:bob@school.com>;tag=76341 Call-ID: 123456789@lab.school.com CSeq: 1 INVITE Subject: About That Power Outage… Contact: <sip:bob@lab.school.com> Content-Type: application/sdp Content-Length: 158 v=0 o=Bob 2890844526 2809844526 IN IP4 lab.school.com s=Phone Call c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Adresse destinataire de la requête • Détection des boucles • Diminué à chaque passage d’un serveur SIP Adresse expéditeur de la requête • ID de l’appel • Chaîne de caractère générée par l’appelant suivi du nom de la machine Dialogue Adresse SIP pour contacter l’appelé après session établie Protocole utilisé dans le corps du message Taille du corps SDP : V : version du protocole SDP O : origine du message S : sujet du message C : connexion T : temps M : media A : attributs • Informations fournies par l’appelant : • @IP de la connexion 100.101.102.103 • Type de média : audio • N° du port : 49710 • Protocole de transport du média : RTP • - Débit d’échantillonnage : 8000 Hz
V.1 Mode direct – 180 Ringing • Répondre au message INVITE • Indiquer que le message INVITE est bien reçu et la sonnerie est en cours SIP/2.0 180 Ringing Via: SIP/2.0/UDP lab.school.com:5060;branch=z9hG4bKfw19b;received=100.101.102.103 To: Alice <sip:alice@mybook.com>;tag=a53e42 From: Bob <sip:bob@school.com>;tag=76341 Call-ID: 123456789@lab.school.com CSeq: 1 INVITE Contact: <sip:alice@mybook.com> Content-Length: 0 @IP de l’entité qui envoie la requête INVITE Tag de l’appelé ajouté Adresse SIP pour contacter l’appelé après session établie
V.1 Mode direct – 200 OK SIP/2.0 200 OK Via: SIP/2.0/UDP lab.school.com:5060;branch=z9hG4bKfw19b;received=100.101.102.103 To: Alice <sip:alice@mybook.com>;tag=a53e42 From: Bob <sip:bob@school.com>;tag=76341 Call-ID: 123456789@lab.school.com CSeq: 1 INVITE Contact: <sip:alice@office.mybook.com> Content-Type: application/sdp Content-Length: 155 v=0 o=Alice 2890844528 2890844528 IN IP4 office.mybook.com s=Phone Call c=IN IP4 200.201.202.203 t=0 0 m=audio 6000 RTP/AVP 0 a=rtpmap:0 PCMU/8000
V.1 Mode direct – ACK • Dernier message de l’établissement d’une session • Confirmation que l’appelant a bien reçu la réponse de l’appelé ACK sip:alice@office.mybook.com SIP/2.0 Via: SIP/2.0/UDP lab.school.com:5060;branch=z9hG4bK321g Max-Forwards: 70 To: Alice <sip:alice@mybook.com>;tag=a53e42 From: Bob <sip:bob@school.com>;tag=76341 Call-ID: 123456789@lab.school.com CSeq 1 ACK Content-Length: 0
V.1 Mode direct – BYE • Terminer une session : • Un participant raccroche, un message BYE est envoyé comme une requête BYE sip:bob@lab.school.com SIP/2.0 Via: SIP/2.0/UDP office.mybook.com:5060;branch=z9hG4bK392kf Max-Forwards: 70 To: Bob <sip:bob@school.com>;tag=76341 From: Alice <sip:alice@mybook.com>;tag=a53e42 Call-ID: 123456789@lab.school.com CSeq 1 BYE Content-Length: 0
V.1 Mode direct – 200 OK • Message 200 OK envoyé comme conformation de la fermeture de la session SIP/2.0 200 OK Via: SIP/2.0/UDP office.mybook.com:5060;branch=z9hG4bK392kf;received=200.201.202.203 To: Alice <sip:alice@mybook.com>;tag=a53e42 From: Bob <sip:bob@school.com>;tag=76341 Call-ID: 123456789@lab.school.com CSeq: 1 BYE Content-Length: 0
V.2 Mode indirect INVITE INVITE 180 Ringing 180 Ringing 200 OK 200 OK ACK Média BYE 200 OK
Plan de formation partie 1 Introduction partie 2 Caractéristiques partie 3 Communication partie 4 Fonctionnement partie 5 Etablissement d’une session partie 6 Avantages / Inconvénients de SIP
VI. Avantages / Inconvénients de SIP AVANTAGES INCONVÉNIENTS Problème d’utilisation du NAT Protocole standardisé : Normalisation par l’IETF et en constante évolution Grand nombre de RFC Simplifié : Simple et très similaire au protocole HTTP Flexible : - Utilisé pour tout type de sessions multimédia (voix, vidéo, musique, visioconférence, …) -Indépendant de la couche Transport, peut-être utilisé avec UDP mais aussi TCP Points communs avec H323 : Utilisation du protocole RTP et quelques codecs son et vidéos • Evolutif : • - Ouvert à de nouvelles fonctions • Retenu pour l’activation des services • pour les terminaux mobiles 4G et 5G (IMS)
Merci Questions ?