formation sip-ims 1 ère partie : sip
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Formation SIP-IMS1ère partie : SIP
DE SOUZA Rémi – UIS / SOSC Septembre 2009, présentation à la Base arrière UIS Toulouse
interne Groupe FT
2
3
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
4
I. Introduction
Les origines
Qu’est-ce-que SIP ?
Les capacités de SIP
Fonctionnalités
SIP vs H323
5
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
6
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
7
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
8
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
9
Protocole
Complexité réduite
I.5 SIP vs H323
SIP H323
Rationalisation
Evolutivité
Modularité
Architecture
élevée
bonne
faible
centralisée
simplifiée
forte
répartie
difficile
à poursuivre
Gestion Multicast
complexesimple
10
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
11
II. Caractéristiques
Couches OSI
Les agents SIP
Identités SIP
Méthodes et Réponses
12
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
Transport
Réseau
SIP
13
II.2 Les agents SIP
Les composants du réseau SIP sont divisés en deux catégories :
– Agents utilisateurs UA :o User Agent Client (UAC)
Initiation des sessions à la demande de l’utilisateur
o User Agent Server (UAS)
Réception de toutes les sessions à destination de l’utilisateur
o Un UA joue à la fois le rôle d’un UAC et d’un UAS si une session est déjà établie.
o Un UA peut-être un UAC ou UAS selon s’il a initialisé la session ou non.
14
II.2 Les agents SIP
– Agents serveurs :
o Registrar Server (RG)Enregistrer l’association de l’identifiant d’un utilisateur et son
adresse IP
o Redirect Server (RS)Répondre à des requêtes en donnant l’adresse IP d’un
utilisateur ou d’un serveur de localisation
o Proxy (PS)Avoir une fonctionnalité de relais
o Back To Back user agent (B2BUA)Concaténer un UAC et un UAS
15
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
16
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:[email protected]
– sip:[email protected]
– sip:[email protected]
17
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:[email protected]> = name addr– From: user<sip:[email protected]> = display name
18
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.
19
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
20
II.4 Méthodes et Réponses
Méthodes :
– La RFC 3261 définit 6 principales méthodes SIP :
REGISTERutilisé par un UA pour s’enregistrer (@IP ou nom de machine) auprès d’un Registrar afin d’être localisé et joignable
INVITE
ACK
CANCEL
BYE
OPTIONS
initialise une session entre UA, contient les infos appelant/appelé et le type de flux qui seront échangés (voix, vidéo,…)
annule une requête en cours d’établissement initié par un INVITE
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)
acquitte et confirme les paramètres de session
21
II.4 Méthodes et Réponses
Exemple d’une méthode :
User A User B
INVITE sip:user_B@domaine_B.com SIP/2.0Via: SIP/2.0/TCP pcXX.domaine_A.com:5060;branch=z9hG4bK74bf9Max-Forwards: 70From: user_A<sip: user_A@domaine_A>;tag=9fxced76slTo: user_B<sip:user_B@domaine_B.com>Call-ID: 3848276298220188511@domaine_A.comCSeq: 1 INVITEContact: <sip:pcXX.domaine_A.com;transport=tcp>Content-Type: application/sdpContent-Length: 151v=0o=user_A 2890844526 2890844526 IN IP4 pcXX.domaine_A.coms=-c=IN IP4 192.0.2.101t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000
22
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
23
II.4 Méthodes et Réponses
Exemple d’une réponse :
User A User B
SIP/2.0 200 OKVia: 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=9fxced76slTo: user_B<sip:user_B@domaine_B.com>Call-ID: 3848276298220188511@domaine_A.comCSeq: 1 INVITEContact: <sip: pcYY.domaine_B.com;transport=tcp>Content-Type: application/sdpContent-Length: 147
v=0o=user_A 2890844526 2890844526 IN IP4 pcXX.domaine_A.coms=-c=IN IP4 192.0.2.101…
24
II.4 Méthodes et Réponses
Méthodes étendues de SIP :
NOTIFY Valider un évènement qui a été demandé
PUBLISH
MESSAGE
UPDATE
PRACK
INFO
Publier l’état d’un UA
Mise à jour des paramètres de la session de l’UA
Acquitter les réponses de classe 1xx
Obtenir des informations sur la session en cours
Transférer des messages instantanées
SUBSCRIBE Demander une notification d’évènement d’appel
25
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
26
III. Communication
Transaction
Dialogue
27
III.1 Transaction
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
ACK
Transaction complète
Création de la transaction
Transaction complète
Création de la transaction
180 RINGING
200 OK
Client Serveur
Réponse finale
Une transaction est une relation entre deux équipements
28
III.2 Dialogue
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)
Un dialogue est une relation de bout en bout entre deux UAs
UA UA
Création
Modification
Destruction Requête
200 OK
29
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
30
IV. Fonctionnement
Registrar
Proxy
Redirect Server
Back to Back User Agent
31
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
32
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.
SIP/2.0 200 OKFrom:user <sip:[email protected]>;tag=vjfjkvfjkfjvTo:user<sip:[email protected]>;tag=34FFZefcceContact:<sip:pcXX.domaine.com>;expires=3600
REGISTER sip:domaine.com SIP/2.0 From:user<sip:[email protected]>;tag=vjfjkvfjkf To: user<sip:[email protected]> Contact: sip:Nom_du_PC.domaine.comExprires:3600
33
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
1
23
4
1
2
3
4
L’UA envoi une requête au proxyLe proxy interroge la base de données
La BD retourne l’adresse IP du destinataireLe proxy relaie le message au destinataire
34
IV.2 Proxy – Mode de fonctionnement
Mode STATELESS Mode STATELESS
INVITEINVITE
180 Ringing180 Ringing
200 OK200 OK
ACK
Média
BYE
200 OK
INVITEINVITE
180 Ringing180 Ringing
200 OK200 OK
Média
ACKACK
BYEBYE
200 OK200 OK
35
9 : 180 Ringing
2 : [email protected] ?
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.
Redirect Server
sip.orange.com
1 : INVITE [email protected]
4 : Contact: sip:[email protected]
5 : ACK
Proxy Server
sip.blue.com
6 : INVITE [email protected]
7 : 100 Trying 8 : INVITE
10 : 180 Ringing
11 : 200 OK12 : 200 OK
13 : ACK
Flux multimédia
36
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).
B2BUA
UA Server UA ClientRéception et
traitement des requêtes
Renvoie et génère les requêtes
37
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
38
V. Etablissement d’une session
Mode direct
Mode indirect
39
V.1 Mode direct
INVITE
Flux Média
BYE
200 OK
ACK
180 Ringing
200 OK
lab.school.com
100.101.102.103
office.mybook.com
200.201.202.203
40
V.1 Mode direct - INVITE
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP lab.school.com:5060;branch=z9hG4bKfw19b
Max-Forwards: 70
To: Alice <sip:[email protected]>
From: Bob <sip:[email protected]>;tag=76341
Call-ID: [email protected]
CSeq: 1 INVITE
Subject: About That Power Outage…
Contact: <sip:[email protected]>
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
-Version du protocole et protocole de transport utilisé- Nom DNS ou @IP de la machine et numéro de port- Détection des boucles- Diminué à chaque passage d’un serveur SIP
Adresse destinataire de la requête
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
Adresse SIP pour contacter l’appelé après
session établie
Dialogue
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
41
V.1 Mode direct – 180 Ringing
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP lab.school.com:5060;branch=z9hG4bKfw19b;received=100.101.102.103
To: Alice <sip:[email protected]>;tag=a53e42
From: Bob <sip:[email protected]>;tag=76341
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: <sip:[email protected]>
Content-Length: 0
Répondre au message INVITE
Indiquer que le message INVITE est bien reçu et la sonnerie est en cours
@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
42
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:[email protected]>;tag=a53e42
From: Bob <sip:[email protected]>;tag=76341
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: <sip:[email protected]>
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
43
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:[email protected] SIP/2.0
Via: SIP/2.0/UDP lab.school.com:5060;branch=z9hG4bK321g
Max-Forwards: 70
To: Alice <sip:[email protected]>;tag=a53e42
From: Bob <sip:[email protected]>;tag=76341
Call-ID: [email protected]
CSeq 1 ACK
Content-Length: 0
44
V.1 Mode direct – BYE
Terminer une session :
– Un participant raccroche, un message BYE est envoyé comme une requête
BYE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP office.mybook.com:5060;branch=z9hG4bK392kf
Max-Forwards: 70
To: Bob <sip:[email protected]>;tag=76341
From: Alice <sip:[email protected]>;tag=a53e42
Call-ID: [email protected]
CSeq 1 BYE
Content-Length: 0
45
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:[email protected]>;tag=a53e42
From: Bob <sip:[email protected]>;tag=76341
Call-ID: [email protected]
CSeq: 1 BYE
Content-Length: 0
46
V.2 Mode indirect
INVITE
INVITE
180 Ringing180 Ringing
200 OK200 OK
ACK
Média
BYE
200 OK
47
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
48
VI. Avantages / Inconvénients de SIP
AVANTAGES
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
INCONVÉNIENTS
Problème d’utilisation du NAT
Simplifié : Simple et très similaire au protocole HTTP
Protocole standardisé : Normalisation par l’IETF et en
constante évolution
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)
Grand nombre de RFC
Merci
Questions ?