Formation SIP-IMS 1 ère partie : SIP

Preview:

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

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:remi@home.com

– sip:remi@192.168.2.10

– sip:0512345678@home.com

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:user@domaine.com> = name addr– From: user<sip:user@domaine.com> = 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:user@domaine.com>;tag=vjfjkvfjkfjvTo:user<sip:user@domaine.com>;tag=34FFZefcceContact:<sip:pcXX.domaine.com>;expires=3600

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.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 : bob@orange.com ?

3 : bob@blue.com

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 bob@orange.com

4 : Contact: sip:bob@blue.com

5 : ACK

Proxy Server

sip.blue.com

6 : INVITE bob@blue.com

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

bob@school.com

lab.school.com

100.101.102.103

alice@mybook.com

office.mybook.com

200.201.202.203

40

V.1 Mode direct - INVITE

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

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

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

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

44

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

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

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 ?

Recommended