VOIP-SIP

48
Cours PDA-VoIP J. Ehrensberger, HEIG-VD/IICT 1

description

VOIP

Transcript of VOIP-SIP

Cours PDA-VoIP

J. Ehrensberger, HEIG-VD/IICT 1

  Introduction à la VoIP  La VoIP avec SIP ◦ Architecture d’un réseau SIP ◦  Le protocole SIP ◦  Scénarios de déploiement

 La VoIP et la translation d’adresses NAT

J. Ehrensberger, HEIG-VD/IICT 2

 La VoIP aura un impact considérable sur le paysage des télécoms ◦ Croissance des utilisateurs de la VoIP   2007: 64%   2008: 52%   2009 – 2012: plus de 30% par année

◦  En 2013, neuf sociétés sur dix en Europe et aux Etats-Unis utiliseront la VoIP

(source: « 2005/2006 VoIP State of the Market Report », Distr. Networking Assoc.)

Mobilité et flexibilité

Coût de « Moves/

Adds/Changes

Convergence des

processus métier

Déploiement simple

d’applications multmédia

Déploiement de fonctions

de téléphonie avancées

Réduction du coût de

maintenance PBX

Amélioration de la

productivité

2002 2003 2004 2005

  Les espoirs de la réduction des coûts ne se réalisent pas pour tous les utilisateurs

  Sondage récent de Nemertes Research ◦  Coût de déploiement: CHF 1’000 par téléphone

  Matériel, temps de travail, consultants

◦  Coût opérationnel:   Petit réseau (300 téléphones):

CHF 1300 par téléphone par année   Grand réseau (5000 téléphones):

CHF 44 par téléphone par année

◦  Raisons   Rapport peu favorable de téléphones par administrateur   Manque d’efficacité et d’outils

Jürgen Ehrensberger IICT/HEIG Cours MAR Linux embarqué 5

(source: « 2005/2006 VoIP State of the Market Report », Distr. Networking Assoc.)

2002 2003 2004 2005

Craintes de sécurité

Systèmes de gestion et

dépannage de la QoS

Problèmes d’interopéra-

bilité

Manque de personnel

qualifié

Manque de budget

Attente d’une meilleure

disponibilité de SIP

J. Ehrensberger, HEIG-VD/IICT 7

  RFC 3261 : Session Initiation Protocol (v2)

Protocole d’application qui permet d’établir, modifier et terminer des sessions multimédia avec utilisateurs mobiles ◦  Utilisent plusieurs terminaux pour communiquer ◦ Nom d’utilisateur n’indique pas la localisation

Fonctions principales ◦  Localisation des utilisateurs ◦ Négociation des paramètres de la session

J. Ehrensberger, HEIG-VD/IICT 8

J. Ehrensberger, HEIG-VD/IICT 9

  Terminologie SIP ◦  UAC (User Agent Client) : Terminal qui initie une

session ◦  UAS (User Agent Server) : Terminal qui reçoit la

demande

 Clients typiques ◦  Téléphones IP avec SIP ◦  Softphones sur PC ◦  Téléphones analogiques avec adaptateur (ATA,

Analogue Terminal Adapter)

J. Ehrensberger, HEIG-VD/IICT 10

  Registrar : serveur d’enregistrement ◦  Elément essentiel d’un réseau SIP qui permet la

mobilité des utilisateurs ◦  Chaque utilisateur s’enregistre périodiquement

avec son nom d’utilisateur et son adresse IP actuelle ◦  Le registrar transmet ces informations au serveur

de localisation

J. Ehrensberger, HEIG-VD/IICT 11

 Location serveur : serveur de localisation ◦  Base de données qui gère les enregistrement

des utilisateurs ◦ Utilise souvent LDAP, une base de données

SQL ou un fichier texte simple

J. Ehrensberger, HEIG-VD/IICT 12

  Proxy SIP ◦  Elément essentiel qui effectue le routage des

messages SIP ◦  Reçoit les messages SIP des terminaux ou d’autres

proxies ◦  Utilise le serveur de localisation pour déterminer la

localisation actuelle du destinataire ◦  Fait suivre les message vers le destinataire

J. Ehrensberger, HEIG-VD/IICT 13

  Redirect serveur : serveur de redirection ◦  Fonction similaire à un proxy ◦  Reçoit les messages SIP des terminaux ◦  Utilise le serveur de localisation pour déterminer

la localisation actuelle du destinataire ◦  Renvoie un message de redirection au terminal

avec la localisation actuelle du destinataire

J. Ehrensberger, HEIG-VD/IICT 14

 Gateway : passerelle SIP - PSTN ◦  Interconnecte un réseau SIP avec le réseau

téléphonique public ◦  Typiquement avec interface ISDN BRI/PRI ◦  Convertit la signalisation et les flux média ◦  Permet de recevoir des appels du PSTN et

d’appeler sur le PSTN

J. Ehrensberger, HEIG-VD/IICT 15

  D’autres éléments sont souvent nécessaires ◦  STURN / TURN pour traverser un NAT ◦  Firewall applicatif (ALG, SBC) ◦  Serveur de conférence ◦  Serveur média pour annonces automatiques, musique ◦  Serveurs d’authentification, autorisation, accounting

(RADIUS, …)

J. Ehrensberger, HEIG-VD/IICT 16

J. Ehrensberger, HEIG-VD/IICT 17

  Scénario le plus simple mais peu réaliste ◦  L’UAC doit connaître l’adresse de l’UAS ◦  Pas d’authentification, autorisation

 En réalité, l’appel est établi avec l’aide d’un proxy / serveur de redirection

J. Ehrensberger, HEIG-VD/IICT 18

J. Ehrensberger, HEIG-VD/IICT 19

  Modèle « Requête – réponse » similaire à HTTP ◦  Requêtes SIP

  Envoyées d’un client à un serveur

◦  Réponses SIP   Envoyés d’un serveur à un client

J. Ehrensberger, HEIG-VD/IICT 20

Méthode SIP Explication

REGISTER Enregistrement auprès d’un registrar

INVITE Demande d’établissement d’un appel

ACK Confirmation de l’établissement de l’appel

BYE Terminaison de l’appel

CANCEL Interruption de l’établissement d’appel

OPTION, SUBSCRIBE, NOTIFY Autres méthodes

 Messages texte similaire à HTTP ◦  Codage en UTF-8

Trois parties 1.  Ligne de départ :

Requête ou réponse, méthode, code de réponse

2.  En-tête du message Plusieurs ligne de texte avec champs SIP

3.  Contenu du message Lignes de texte non SIP (p.ex description du flux média)

J. Ehrensberger, HEIG-VD/IICT 21

INVITEsip:[email protected]/2.0

J. Ehrensberger, HEIG-VD/IICT 22

Via:SIP/2.0/UDP192.168.1.195;branch=z9hG4bKPjP1IqVNW6SRXf

Max‐Forwards:70

From:“Alice”<sip:[email protected]>;tag=8‐bHe3dXt.Xy1HJ2rY

To:“Bob”<sip:[email protected]>

Contact:<sip:[email protected]>

Call‐ID:mc5‐[email protected]

CSeq:10414INVITE

Content‐Type:application/sdp

Content‐Length:462

<lignevide>

ContenuSDPdumessage

J. Ehrensberger, HEIG-VD/IICT 23

v=0o=‐34384970283438497028INIP4192.168.1.195s=pjmediac=INIP4192.168.1.195t=00a=X‐nat:0m=audio4000RTP/AVP1031021041173089101a=rtcp:4001INIP4192.168.1.195a=rtpmap:102speex/8000a=fmtp:117mode=30a=rtpmap:0PCMU/8000a=rtpmap:8PCMA/8000a=sendrecva=rtpmap:101telephone‐event/8000a=fmtp:1010‐15

 Contient la méthode, l’URI et la version SIP

URI SIP (Uniform Resource Identifier) ◦  Identifie une ressource de communication comme

un utilisateur, un téléphone, une boîte vocale ou un groupe (« helpdesk ») ◦  Peut contenir d’autres paramètres

  Exemples d’URI sip:[email protected] sip:[email protected];user=phone

J. Ehrensberger, HEIG-VD/IICT 24

INVITEsip:[email protected]/2.0

 Contient les informations nécessaires pour le traitement des messages par les éléments SIP

 Composé de plusieurs lignes terminées par CRLF

Format général :

J. Ehrensberger, HEIG-VD/IICT 25

field‐name:field‐value*(;parameter‐name=parameter‐value)

 Contient l’adresse sur laquelle l’expéditeur du message attend la réponse

  Un proxy intermédiaire va insérer son adresse dans un nouveau Via

  Paramètre branch   Sera copié dans la réponse pour associer requête et

réponse

Exemple: ◦  Réponse en SIP v2.0 et UDP sur 192.168.1.195

J. Ehrensberger, HEIG-VD/IICT 26

Via:SIP/2.0/UDP192.168.1.195;branch=z9hG4bKPjP1IqVNW6SRXf

  Indique le nombre de proxies à traverser au maximum   Prévient des boucles de routage infinies   La valeur est décrémentée par chaque proxy   Message d’erreur si la valeur atteint 0

J. Ehrensberger, HEIG-VD/IICT 27

Max‐Forwards:70

  Indique le nom logique de l’initiateur de la requête

  Format similaire aux adresses e-mail avec un alias en guillemets et l’URI entre ‘<‘ ‘>’

  Doit contenir le nom logique de l’utilisateur, avec son domaine   Utilisé pour l’authentification, le traitement du message

  Paramètre tag ◦  Identique pour tous les messages d’un dialogue ◦  Permet d’associer les différents messages

J. Ehrensberger, HEIG-VD/IICT 28

From:“Alice”<sip:alice@heig‐vd.ch>;tag=8‐bHe3dXt.Xy1HJ2rY

  Indique le nom logique du destinataire de la requête   Similaire au champ « From »

 Paramètre tag ◦ N’est pas présent dans la requête initiale ◦  Sera ajouté par le destinataire dans sa

réponse

J. Ehrensberger, HEIG-VD/IICT 29

To:“Bob”<sip:bob@heig‐vd.ch>

  Indique l’URI sur lequel l’utilisateur est directement atteignable pour d’autres messages   Contient souvent un nom de machine, et non pas

un nom de domaine comme les champs « To » et « From » 

J. Ehrensberger, HEIG-VD/IICT 30

Contact:<sip:[email protected]>

 Contient un code globalement unique qui permet de grouper différents message qui sont liés   Même code pour tous les messages d’un dialogue   Même code pour tous les messages

d’enregistrement d’un client (recommandé)   Souvent construit avec un code localement unique

et le nom de la machine

J. Ehrensberger, HEIG-VD/IICT 31

Call‐ID:mc5‐[email protected]

 Contient un numéro de séquence de la requête et le nom de la requête   La réponse à la requête répète ce numéro   Permet de mettre les requêtes dans l’ordre

correcte

J. Ehrensberger, HEIG-VD/IICT 32

CSeq:10414INVITE

  Indique le type des donnée de contenu du message et la longueur en octets   Certains messages SIP contiennent la description

d’un flux média en format SDP   La longueur est notamment importante sur TCP qui

ne respecte pas la séparation des messages

J. Ehrensberger, HEIG-VD/IICT 33

Content‐Type:application/sdp

Content‐Length:462

J. Ehrensberger, HEIG-VD/IICT 34

  La ligne de départ d’une réponse contient deux éléments ◦  Le code de réponse ◦  Un texte explicatif

  Exemple :

J. Ehrensberger, HEIG-VD/IICT 35

Code Classe Explication

1xx Provisoire La requête a été reçu et est en cours de traitement.

2xx Succès La requête a été acceptée.

3xx Redirection Des actions supplémentaires sont nécessaires pour compléter la requête.

4xx Erreur du client La syntaxe de la requête n'est pas correcte ou le serveur ne peut pas l'accepter.

5xx Erreur du serveur Le serveur a refusé une requête valable.

6xx Erreur globale Aucun serveur ne peut accepter la requête.

J. Ehrensberger, HEIG-VD/IICT 36

J. Ehrensberger, HEIG-VD/IICT 37

  Les messages SIP sont principalement transmis en UDP ◦  Port source = port destination = 5060

  Possibilité d’utiliser TCP   Possibilité d’utiliser TLS sur TCP ◦  SIPS similaire à HTTPS ◦  Port 5061

J. Ehrensberger, HEIG-VD/IICT 38

J. Ehrensberger, HEIG-VD/IICT 39

  Le proxy route les messages SIP vers le destinataire

  Le message TRYING indique que la requête est en cours de traitement

  Le flux média ne traverse pas le proxy

  Pour que le proxy connaisse la localisation d’un client, le client s’annonce à un serveur d’enregistrement

Jürgen Ehrensberger IICT/HEIG-VD MAS-TIC VoIP et Sécurité 40

Jürgen Ehrensberger IICT/HEIG-VD MAS-TIC VoIP et Sécurité 41

Jürgen Ehrensberger IICT/HEIG-VD MAS-TIC VoIP et Sécurité 42

  SIP permet à un utilisateur de s’enregistrer sur plusieurs location

  Un appel est dirigé vers tous les terminaux enregistrés

  Lorsqu’un appel est établi, un CANCEL annule la session pour les autres terminaux

Jürgen Ehrensberg er IICT/HEIG-VD MAS-TIC VoIP et Sécurité 43

  Déploiement simple sur un site

  Toute communication entrante/sortante passe par une passerelle et le PSTN

Jürgen Ehrensberger IICT/HEIG-VD MAS-TIC VoIP et Sécurité 44

  Applicable aux entreprises avec plusieurs succursales

  L’infrastructure SIP est centralisée sur un site

  Les appels entre les sites utilisent normalement la VoIP, en cas de panne le PSTN

Jürgen Ehrensberger IICT/HEIG-VD MAS-TIC VoIP et Sécurité 45

  Chaque site dispose de sa propre infrastructure SIP

  Les appels entre les sites utilisent normalement la VoIP, en cas de panne PSTN

Jürgen Ehrensberger IICT/HEIG-VD MAS-TIC VoIP et Sécurité 46

  Permet aux PME de réduire le coût de la VoIP

  L’infrastructure VoIP se trouve chez le fournisseur de service

  Tous les appels passent par le fournisseur de service

Jürgen Ehrensberger IICT/HEIG-VD MAS-TIC VoIP et Sécurité 47

  SIP : protocole de signalisation pour l’établissement de sessions multimédia ◦  Localisation des utilisateurs ◦  Négociation des paramètres de session

  Eléments principaux d’un réseau SIP ◦  User agents (UAC et UAS) ◦  Registrar et serveur de localisation ◦  Proxy ou serveur de redirection ◦  Gateway, notamment vers le PSTN

  Messages SIP ◦  Messages texte, similaires à HTTP ◦  Ligne de départ et en-têtes ◦  Optionnellement : contenu avec paramètres SDP

  Scénarios étudiés ◦  Etablissement et terminaison d’appels ◦  Enregistrement

J. Ehrensberger, HEIG-VD/IICT 48