VOIP-SIP
-
Upload
hanane-allioui -
Category
Documents
-
view
9 -
download
0
description
Transcript of VOIP-SIP
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
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
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
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
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
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.
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
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