49
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

Formation SIP-IMS 1 ère partie : SIP

  • Upload
    ebony

  • View
    108

  • Download
    8

Embed Size (px)

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 Presentation

Citation preview

Page 1: Formation SIP-IMS 1 ère  partie : SIP

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

Page 2: Formation SIP-IMS 1 ère  partie : SIP

2

Page 3: Formation SIP-IMS 1 ère  partie : SIP

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

Page 4: Formation SIP-IMS 1 ère  partie : SIP

4

I. Introduction

Les origines

Qu’est-ce-que SIP ?

Les capacités de SIP

Fonctionnalités

SIP vs H323

Page 5: Formation SIP-IMS 1 ère  partie : SIP

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

Page 6: Formation SIP-IMS 1 ère  partie : SIP

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

Page 7: Formation SIP-IMS 1 ère  partie : SIP

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

Page 8: Formation SIP-IMS 1 ère  partie : SIP

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

Page 9: Formation SIP-IMS 1 ère  partie : SIP

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

Page 10: Formation SIP-IMS 1 ère  partie : SIP

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

Page 11: Formation SIP-IMS 1 ère  partie : SIP

11

II. Caractéristiques

Couches OSI

Les agents SIP

Identités SIP

Méthodes et Réponses

Page 12: Formation SIP-IMS 1 ère  partie : SIP

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

Page 13: Formation SIP-IMS 1 ère  partie : 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.

Page 14: Formation SIP-IMS 1 ère  partie : SIP

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

Page 15: Formation SIP-IMS 1 ère  partie : SIP

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

Page 16: Formation SIP-IMS 1 ère  partie : SIP

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]

Page 17: Formation SIP-IMS 1 ère  partie : SIP

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

Page 18: Formation SIP-IMS 1 ère  partie : SIP

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.

Page 19: Formation SIP-IMS 1 ère  partie : SIP

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

Page 20: Formation SIP-IMS 1 ère  partie : SIP

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

Page 21: Formation SIP-IMS 1 ère  partie : SIP

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

Page 22: Formation SIP-IMS 1 ère  partie : SIP

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

Page 23: Formation SIP-IMS 1 ère  partie : SIP

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…

Page 24: Formation SIP-IMS 1 ère  partie : SIP

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

Page 25: Formation SIP-IMS 1 ère  partie : SIP

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

Page 26: Formation SIP-IMS 1 ère  partie : SIP

26

III. Communication

Transaction

Dialogue

Page 27: Formation SIP-IMS 1 ère  partie : SIP

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

Page 28: Formation SIP-IMS 1 ère  partie : SIP

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

Page 29: Formation SIP-IMS 1 ère  partie : SIP

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

Page 30: Formation SIP-IMS 1 ère  partie : SIP

30

IV. Fonctionnement

Registrar

Proxy

Redirect Server

Back to Back User Agent

Page 31: Formation SIP-IMS 1 ère  partie : SIP

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

Page 32: Formation SIP-IMS 1 ère  partie : SIP

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

Page 33: Formation SIP-IMS 1 ère  partie : SIP

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

Page 34: Formation SIP-IMS 1 ère  partie : SIP

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

Page 35: Formation SIP-IMS 1 ère  partie : SIP

35

9 : 180 Ringing

2 : [email protected] ?

3 : [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

Page 36: Formation SIP-IMS 1 ère  partie : SIP

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

Page 37: Formation SIP-IMS 1 ère  partie : SIP

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

Page 38: Formation SIP-IMS 1 ère  partie : SIP

38

V. Etablissement d’une session

Mode direct

Mode indirect

Page 39: Formation SIP-IMS 1 ère  partie : SIP

39

V.1 Mode direct

INVITE

Flux Média

BYE

200 OK

ACK

180 Ringing

200 OK

[email protected]

lab.school.com

100.101.102.103

[email protected]

office.mybook.com

200.201.202.203

Page 40: Formation SIP-IMS 1 ère  partie : SIP

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

Page 41: Formation SIP-IMS 1 ère  partie : SIP

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

Page 42: Formation SIP-IMS 1 ère  partie : SIP

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

Page 43: Formation SIP-IMS 1 ère  partie : SIP

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

Page 44: Formation SIP-IMS 1 ère  partie : SIP

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

Page 45: Formation SIP-IMS 1 ère  partie : SIP

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

Page 46: Formation SIP-IMS 1 ère  partie : SIP

46

V.2 Mode indirect

INVITE

INVITE

180 Ringing180 Ringing

200 OK200 OK

ACK

Média

BYE

200 OK

Page 47: Formation SIP-IMS 1 ère  partie : SIP

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

Page 48: Formation SIP-IMS 1 ère  partie : 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

Page 49: Formation SIP-IMS 1 ère  partie : SIP

Merci

Questions ?