1
Protocole SIP Historique Produit de l'IETF Versions SIPv1 Work Group Multiparty Multimedia Session Control de l’IETF. sortie en 1997 SIPv2 Sortie Mars 1999 (RFC 2543). 153 pages Largement revue, complétée et corrigée en juin 2002 (RFC 3261). 269 pages Des compléments ont été définis dans les RFC 3262 à 3265. Plus de 100 extensions (RFCs) publiées et bien d'autres discutées SIP bis est publié comme RFC3261 Juin 2002 SIP pour la Présence est Publié RFC 3856 Août 2004 Groupes de travail SIP Novembre 1999 SIPPING SIMPLE Mars 2001 XCON Iptel Janvier 1998 Speermint Novembre 2005 Organismes de normalisation IETF 3GPP 2000 : décision d'utiliser SIP pour le controle d'appel dans les réseaux mobiles 2002 : 3gpp Release 5 définit l'IMS basé sur SIP 3GPP2 ETSI TISPAN SIP-based VoIP network for European Wireline ITU-T SIP-based NGN – évolution of PSTN SIP/ISUP gateway profiles MSF Adoption du protocole SIP Avril 1999 8 Compagnies Août 1999 16 Compagnies Décembre 1999 33 Compagnies SIP Portals Sipcenter.com Sipforum.org SIP Open Source Activities Resiprocate – stacks, servers, test software Vovida – SIP stacks iptel.org – popular SIP Express Router (SER) Asterisk – enterprise PBX GNU Osip – stack SIP Conferences SIP Summit (pulver.com) International SIP (Upperside) SIP Books Sinnreich, “Internet Communications Using SIP” Camarillo, “SIP Demystified” Johnston, “SIP, Understanding the Session Initiation Protocol” Définition Protocole de couche Session Protocole de signalisation hors bande de session Multimédia N’assure pas le transport des données utiles Caractéristiques SIP fonctionne selon une architecture client-serveur Vise faciliter le développement de SVAs Intérêt pour SIP Bénéficie du succès de l'internet. Similaire à HTTP Codage texte SMTP Cible un très grand nombre développeurs Modularité Facilité & Rapidité de développement des applications SIP Intégration à d’autres protocoles Simplicité Fonctionnalités Localise l'extrémité cible Détermine les capacités média de l'extrémité cible Détermine la disponibilité de l'extrémité Intégrer quelques mécanismes de sécurité Prend en charge le traitement d'appel Établissement Maintien Modification Gestion Fermeture Messages SIP Formats Ligne de début Plusieurs entêtes Rôles Fournir des infos sur le message Permettre le traitement du message Types En-têtes généraux Utilisés indifféremment par des requête ou réponse. infos de base permettant le traitement du message Ensemble de Champs Syntaxe Nom_du_champs : valeur_du_champs CRLF From une URI identifiant l'initiateur du message Via Contient les adresses des serveurs traversés par la requête. To une URI identifiant le destinataire initial du message Call-ID identifiant unique de transaction Cseq Numéro Type_de_requête Le numéro est incrémenté à chaque nouvelle requête En-têtes de requête, Contient les infos supplémentaires à destination du serveur SIP (UAS) Permettant le traitement de la requête par celui-ci En-têtes de réponse Contient les infos supplémentaires ajoutées par serveur SIP (UAS) Permettant le traitement de la réponse En-têtes d’entité Définit le type et le format des infos contenues dans le corps du message Genres Bout en bout échangés entre Uas terminaux Exemples: Subject, Accept, Allow …etc. Saut par saut subissent un traitement à chaque noeud Exemples: Route et Via Corps Parfois absent infos permettant la participation à une session Codec, vitesse d’échantillonage Destination (adresse IP, port UDP) Nom de la session Timestamps de début et fin de session Autres types Informations de Présence Informations liée à la gestion de conférences Informations de localisation Messages ISUP (protocole de commande RTC) (SIP-I ou SIP-T) Photos identifiant les participants à une session Champs v(ersion SDP) o(rigin) s(ession name) c(onnection information) t(ime of the session) m(edia) Un dialogue SIP Échange de messages entre deux UAs ayant le même identifiant Plusieurs transactions peuvent être échangées Famille Un échange requête + réponse(s) associée(s) constitue une transaction SIP Les messages de la transaction ont un unique identifiant, Cseq Types Requêtes (ou méthode) REGISTER Enregistrement des UAC INVITE Établit une session Modifie les paramètres d'une session établie entre UAs ACK Acquitter une réponse finale à la requête INVITE Confirme l'établissement d'une session OPTIONS Demander à UAS ses capacités supportées (extensions, codecs …etc.) CANCEL Annule une requête INVITE non encore répondue BYE Termine une session Réponses Provisoire Finale Syntaxe Empruntée à HTTP Numéro 'xyz' + texte explicatif Un code d’état (Status Code) qui est un entier sur 3 chiffres Une raison (Reason-Phrase) qui décrit textuellement la raison Les réponses SIP 1yz Provisional Le traitement de la requête est en cours 2yz Success La requête a été bien reçue, comprise et acceptée (ex : 200 OK) 3yz Redirection Redirection vers une autre entité, d'autres actions devraient être entreprises 4yz Request failure Erreur client, la requête est syntaxiquement erronée ou n‘a pu être traitée avec succes 5yz Server failure Le serveur n'a pu traiter une requête valide 6yz Global Failure La requête ne peut être traitée par aucun serveur Carte élaborée par Noureddine IDBOUFKER Professeur à l'ENSA de Marrakech Université cadi Ayyad - Maroc [email protected] Modes de signalisation Direct signalling Proxy call stateful signalling Proxy stateful signalling Proxy stateless signalling Redirect signalling Entités SIP Les extrémités sont appelées User Agents User-Agent Client (UAC) Application cliente qui initie une requête SIP. User-Agent-Server (UAS) Application serveur qui retourne une réponse SIP Architectures SIP Serveur Registrar Entité serveur Accepte les requêtes REGISTER Enregistrer l'association d'@ IP et identifiants dans un serveur de localisation L'enregistrement a une durée de vie Spécifiée par l'en-tête ‘Expire’ Le terminal envoie périodiquement de nouveaux REGISTER Client indique sa présence sa position de localisation courante dans le réseau Un utilisateur peut s’enregistrer sur plusieurs serveurs d’enregistrement en même temps L'authentification SIP demande à l'UA de s'authentifier Envoi du code 401 (ou code 407) contient un "challenge UA réémet la requête en incluant la réponse à ce "challenge« Réponse générée à partir du challenge et du mot de passe Serveur génère la réponse à ce "challenge" et la compare à la réponse reçue de l'UA Si les deux valeurs correspondent UA est authentifié Requête est traitée Proxy Server Entité à la fois cliente et serveur Fonctions Authentification des abonnés initier, maintenir et terminer une session vers un correspondant. Localiser un correspondant Routage des messages SIP Ne traite pas le RTP Types Proxy statefull Maintient pendant toute la durée des sessions l’état des connexions. Proxy stateless Achemine les messages indépendamment les uns des autres, sans sauvegarder l’état des connexions. Plus rapides et plus légers Outbound proxy Où l’UAC doit envoyer les requêtes Dans la configuration de l’UAC Adresses IP d’un Proxy server primaire et d’un secondaire Noms DNS d’un Proxy server primaire et d’un secondaire Incoming proxy Proxy server vers où envoyer les réponses Plate formes SIP Express Router (http://www.iptel.org/ser/) ; Partysip SIP Proxy Server (http://www.nongnu.org/partysip/partysip.html). Cisco SIP Proxy Server Cinématique Recevoir des requêtes SIP Traiter chaque requête SIP En envoyant une réponse SIP En relayant la requête SIP vers sa destination Déterminer le next-hop UAS, Proxy server ou Redirect server Consultation du Location Service Forwarder la requête SIP Redirect Server Fonctions Application serveur intermédiaire entre le terminal client et le serveur de localisation Fournit au client l'information sur le ou les prochains sauts Cinématique Recevoir des requêtes SIP Traiter chaque requête SIP Consultation du Location Service Envoyer une réponse SIP Où l’adresse de destination (to:) est remplacée par zéro ou plusieurs nouvelles adresses Serveur de localisation Ne parle pas SIP Base de données Renseignée par Registrar Compte Abonnées Infos sur les Proxy servers et les Gateways Interface avec les serveurs SIP Pas normalisée LDAP (Lightweight Directory Access Protocol, RFC 1777) préconisé JDBC (Java DataBase Connectivity)… Prend en charge un ou plusieurs domaines Accès par les serveurs SIP Registrar : mise à jour Proxy server : consultation Redirect server : consultation Gateway SIP Entité à la fois cliente et serveur Termine Le canal de signalisation SIP Parfois aussi le canal RTP audio/vidéo Interfacer signalisation SIP/Autre signalisation (ISUP…) Identification SIP Respecte la RFC 3986 nommée URI Format dérivé d’une adresses E-mail « sip:user@host » “user” nom d’utilisateur n° de téléphone “host” un nom de domaine, un nom de host une adresse numérique Exemples d’URL SIP sip:[email protected] sip:[email protected] sip:[email protected] Mohamed +212524434547 Un utilisateur peut avoir plusieurs adresses SIP aboutissant toutes au même terminal

cartementaleprotocolesip-150311163347-conversion-gate01.pdf

Embed Size (px)

DESCRIPTION

carte mentale protocole sip

Citation preview

Page 1: cartementaleprotocolesip-150311163347-conversion-gate01.pdf

Protocole SIP

Historique

Produit de l'IETF

Versions

SIPv1Work Group Multiparty Multimedia Session Control de l’IETF.

sortie en 1997

SIPv2

Sortie Mars 1999 (RFC 2543). 153 pages

Largement revue, complétée et corrigée en juin 2002 (RFC 3261). 269 pages

Des compléments ont été définis dans les RFC 3262 à 3265.

Plus de 100 extensions (RFCs) publiées et bien d'autres discutées

SIP bis est publié comme RFC3261 Juin 2002

SIP pour la Présence est Publié RFC 3856 Août 2004

Groupes de travail

SIP Novembre 1999

SIPPING

SIMPLE Mars 2001

XCON

Iptel Janvier 1998

Speermint Novembre 2005

Organismes de normalisation

IETF

3GPP2000 : décision d'utiliser SIP pour le controle d'appel dans les réseaux mobiles

2002 : 3gpp Release 5 définit l'IMS basé sur SIP

3GPP2

ETSI TISPAN SIP-based VoIP network for European Wireline

ITU-TSIP-based NGN – évolution of PSTN

SIP/ISUP gateway profiles

MSF

Adoption du protocole SIP

Avril 1999 8 Compagnies

Août 1999 16 Compagnies

Décembre 1999 33 Compagnies

SIP PortalsSipcenter.com

Sipforum.org

SIP Open Source Activities

Resiprocate – stacks, servers, test software

Vovida – SIP stacks

iptel.org – popular SIP Express Router (SER)

Asterisk – enterprise PBX

GNU Osip – stack

SIP ConferencesSIP Summit (pulver.com)

International SIP (Upperside)

SIP Books

Sinnreich, “Internet Communications Using SIP”

Camarillo, “SIP Demystified”

Johnston, “SIP, Understanding the Session Initiation Protocol”

Définition

Protocole de couche SessionProtocole de signalisation hors bande de session MultimédiaN’assure pas le transport des données utiles

CaractéristiquesSIP fonctionne selon une architecture client-serveur

Vise faciliter le développement de SVAs

Intérêt pour SIP

Bénéficie du succès de l'internet.

Similaire à HTTP Codage texte

SMTP

Cible un très grand nombre développeurs

ModularitéFacilité & Rapidité de développement des applications SIP

Intégration à d’autres protocoles

Simplicité

Fonctionnalités

Localise l'extrémité cible

Détermine les capacités média de l'extrémité cible

Détermine la disponibilité de l'extrémité

Intégrer quelques mécanismes de sécurité

Prend en charge le traitement d'appel

Établissement

Maintien

Modification

Gestion

Fermeture

Messages SIP

Formats

Ligne de début

Plusieurs entêtes

RôlesFournir des infos sur le message

Permettre le traitement du message

Types

En-têtes généraux

Utilisés indifféremment pardes requête ou réponse.

infos de base permettant letraitement du message

Ensemble de Champs

Syntaxe Nom_du_champs : valeur_du_champs CRLF

From une URI identifiant l'initiateur du message

Via Contient les adresses des serveurs traversés par la requête.

To une URI identifiant le destinataire initial du message

Call-ID identifiant unique de transaction

Cseq Numéro Type_de_requêteLe numéro est incrémenté àchaque nouvelle requête

En-têtes de requête,Contient les infos supplémentaires à destination du serveur SIP (UAS)

Permettant le traitement de la requête par celui-ci

En-têtes de réponseContient les infos supplémentaires ajoutées par serveur SIP (UAS)

Permettant le traitement de la réponse

En-têtes d’entité Définit le type et le format des infos contenues dans le corps du message

Genres

Bout en boutéchangés entre Uas terminaux

Exemples: Subject, Accept, Allow …etc.

Saut par sautsubissent un traitement à chaque noeud

Exemples: Route et Via

Corps Parfois absent

infos permettant la participation à une session

Codec, vitesse d’échantillonage

Destination (adresse IP, port UDP)

Nom de la session

Timestamps de début et fin de session

Autres types

Informations de Présence

Informations liée à la gestion de conférences

Informations de localisation

Messages ISUP (protocole de commande RTC) (SIP-I ou SIP-T)

Photos identifiant les participants à une session

Champs

v(ersion SDP)

o(rigin)

s(ession name)

c(onnection information)

t(ime of the session)

m(edia)

Un dialogue SIP

Échange de messages entre deux UAs ayant lemême identifiant

Plusieurs transactions peuvent être échangées

Famille Un échange requête + réponse(s) associée(s) constitue une transaction SIPLes messages de la transactionont un unique identifiant, Cseq

Types

Requêtes (ou méthode)

REGISTER Enregistrement des UAC

INVITEÉtablit une session

Modifie les paramètres d'une session établie entre UAs

ACKAcquitter une réponse finale à la requête INVITE

Confirme l'établissement d'une session

OPTIONS Demander à UAS ses capacités supportées (extensions, codecs …etc.)

CANCELAnnule une requête INVITEnon encore répondue

BYE Termine une session

Réponses

Provisoire

Finale

Syntaxe Empruntée à HTTP Numéro 'xyz' + texte explicatifUn code d’état (Status Code) qui est un entier sur 3 chiffre s

Une raison (Reason-Phrase) qui décrit textuellement la raison

Les réponses SIP

1yz ProvisionalLe traitement de la requêteest en cours

2yz Success

La requête a été bien reçue,comprise et acceptée (ex :200 OK)

3yz Redirection

Redirection vers une autreentité, d'autres actionsdevraient être entreprises

4yz Request failure

Erreur client, la requête estsyntaxiquement erronée oun‘a pu être traitée avec succes

5yz Server failureLe serveur n'a pu traiter unerequête valide

6yz Global FailureLa requête ne peut être traitéepar aucun serveur

Carte élaborée par

Noureddine IDBOUFKERProfesseur à l'ENSA de Marrakech

Université cadi Ayyad - [email protected]

Modes de signalisation

Direct signallingProxy call stateful signalling

Proxy stateful signallingProxy stateless signalling

Redirect signalling

Entités SIP

Les extrémités sont appeléesUser Agents

User-Agent Client (UAC)Application cliente qui initie une requête SIP.

User-Agent-Server (UAS)Application serveur qui retourne une réponse SIP

Architectures SIP

Serveur Registrar

Entité serveur

Accepte les requêtes REGISTER

Enregistrer l'association d'@ IP et identifiantsdans un serveur de localisation

L'enregistrement a une durée de vieSpécifiée par l'en-tête ‘Expire’

Le terminal envoie périodiquement de nouveaux REGISTER

Client indiquesa présence

sa position de localisation courante dans le réseau

Un utilisateur peut s’enregistrer sur plusieurs serveurs d’enregistrement en même temps

L'authentification SIP

demande à l'UA de s'authentifierEnvoi du code 401 (ou code 407)contient un "challenge

UA réémet la requête en incluant la réponse à ce "challenge«Réponse générée à partir du challenge et du mot de passe

Serveur génère la réponse à ce "challenge" et la compare à la réponse reçue de l'UASi les deux valeurs correspondentUA est authentifié

Requête est traitée

Proxy Server

Entité à la fois cliente et serveur

Fonctions

Authentification des abonnés

initier, maintenir et terminer unesession vers un correspondant.

Localiser un correspondant

Routage des messages SIP

Ne traite pas le RTP

Types

Proxy statefullMaintient pendant toute la durée des sessions l’état des connexions.

Proxy statelessAchemine les messages indépendamment les uns des autres, sans sauvegarder l’état des connexions.

Plus rapides et plus légers

Outbound proxyOù l’UAC doit envoyer les requêtesDans la configuration de l’UAC

Adresses IP d’un Proxy serverprimaire et d’un secondaire

Noms DNS d’un Proxy serverprimaire et d’un secondaire

Incoming proxyProxy server vers où envoyer les réponses

Plate formes

SIP Express Router (http://www.iptel.org/ser/) ;

Partysip SIP Proxy Server(http://www.nongnu.org/partysip/partysip.html).

Cisco SIP Proxy Server

Cinématique

Recevoir des requêtes SIP

Traiter chaque requête SIPEn envoyant une réponse SIP

En relayant la requête SIP verssa destination

Déterminer le next-hopUAS, Proxy server ou Redirect serve r

Consultation du Location Service

Forwarder la requête SIP

Redirect Server

Fonctions

Application serveur

intermédiaire entre le terminalclient et le serveur de localisatio n

Fournit au client l'information surle ou les prochains sauts

Cinématique

Recevoir des requêtes SIP

Traiter chaque requête SIP

Consultation du Location Service

Envoyer une réponse SIP

Où l’adresse de destination(to:) est remplacée par zéroou plusieurs nouvellesadresses

Serveur de localisation

Ne parle pas SIP

Base de données

Renseignée par Registrar

Compte Abonnées

Infos sur les Proxy servers et les Gatewa ys

Interface avec les serveurs SIPPas normalisée

LDAP (Lightweight Directory AccessProtocol, RFC 1777) préconisé

JDBC (Java DataBase Connectivity)…

Prend en charge un ou plusieurs domaines

Accès par les serveurs SIP

Registrar : mise à jour

Proxy server : consultation

Redirect server : consultation

Gateway SIP

Entité à la fois cliente et serveur

TermineLe canal de signalisation SIP

Parfois aussi le canal RTP audio/vidéo

Interfacer signalisation SIP/Autre signalisation (ISUP…)

Identification SIP

Respecte la RFC 3986 nommée URIFormat dérivé d’une adresses E-mail« sip:user@host »

“user”nom d’utilisateur

n° de téléphone

“host”

un nom de domaine,

un nom de host

une adresse numérique

Exemples d’URL SIP

sip:[email protected]

sip:[email protected]

sip:[email protected]

Mohamed

+212524434547

Un utilisateur peut avoir plusieurs adresses SIP aboutissant toutes au même terminal