Projet - Logiciel SIP - Sommaire : H323 SIP Comparaison L’API Jain SIP

Slides:



Advertisements
Présentations similaires
L’Essentiel sur… La sécurité de la VoIP
Advertisements

VoIP 1 Chapitre 1 – La VoIP.
NGN : Opportunités pour le développement de la Voix sur IP
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
(Routing Information Protocol)
SERVICE DHCP.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
RFC 3581 “An extension to the Session Initiation Protocole for Symetric Response Routing”
DUDIN Aymeric MARINO Andrès
La Téléphonie sur IP Broussard Philippe Lagrue Sandra DESS IIR
Nicolas Galliot M2SIR David Raspilaire
La voix sur IP Quoi de neuf? Du rêve à la réalité …
Le Protocole SIP (Session Initiation Protocol)
Vue d'ensemble Présentation multimédia : Rôle du routage dans l'infrastructure réseau Activation et configuration du service Routage et accès distant Configuration.
Vue d'ensemble Implémentation de la sécurité IPSec
Architecture de réseaux
UDP – User Datagram Protocol
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
La Voix sur IP.
ToIP avec Asterisk.
SIP (Session Initiation Protocol) & H.323
La voix IP : Mr.FERGOUGUI Boudouch Ali kmichou Ansar Atrassi Najoua
Introduction aux réseaux
Support de la Mobilité utilisant SIP
Etude des Technologies du Web services
SECURITE DU SYSTEME D’INFORMATION (SSI)
Le modèle O.S.I..
Session Initiation Protocol ( SIP ) Symmetric Response Routing
XML-Family Web Services Description Language W.S.D.L.
Module 10 : Prise en charge des utilisateurs distants
Architecture Réseau Modèle OSI et TCP.
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Le filtrage IP Ahmed Serhrouchni ENST’Paris CNRS.
TRANSMISSION DES DONNEES.
Le protocole FTP.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Les relations clients - serveurs
Protocole 802.1x serveur radius
Gestion des bases de données
Présentation du mémoire
Le Modele OSI.
MIDI Sans Frontières Analyse des problèmes relatifs à la communication musicale sur IP Mémoire présenté en vue de lobtention du grade de Licencié en informatique.
Techniques de fiabilisation de SIP
Présentation de CORBA et de IIOP
SIP : un protocole de convergence d’architecture IP/RTC
Cours 5 Le modèle de référence.
Sommaire Dans ce chapitre, nous aborderons :
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Suite.
User Datagram Protocol
OSI et TCP/IP CNAM
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Advisor Advanced IP Présentation Télémaintenance Télésurveillance.
Conversation permanente
Les sockets.
Les Réseaux Informatiques
Commutation de circuits
Couche transport du modèle OSI
La voix sur IP, PABX et LAN
03/05/2004Diffusion vidéo sur l'Internet - Timothy BURK ENS de Lyon 1 Techniques de diffusion vidéo sur l'Internet Streaming avec RTP/RTSP Timothy BURK.
UE3-1 RESEAU Introduction
État de l'art et fonctionnement des firewalls applicatifs compatibles avec les protocoles "multimédia" H323 et SIP FI Option RIO le 28/09/2004 Claire.
Les bases du protocole Modbus
Réalisé par: Tlijeni Hamza Nacef Henchi Slimani NourEddine
Couche réseau du modèle OSI
Architecture Client/Serveur
M2.22 Réseaux et Services sur réseaux
Chapitre 12 Surveillance des ressources et des performances Module S41.
Département Informatique Les Réseaux Informatiques Couche Transport Protocoles UDP & TCP Laurent JEANPIERRE.
La Voix sur IP.
Transcription de la présentation:

Projet - Logiciel SIP - Sommaire : H323 SIP Comparaison L’API Jain SIP Travail à réaliser

Protocole H323 1/5 Bien au point, c'est le protocole le plus utilisé par les applications de téléphonie sur IP et de visio-conférence (95 % du trafic), les réseaux d'opérateurs et les systèmes de téléphonie IP d'entreprise. Il est proposé par l'Union internationale des télécommunications (UIT). Il permet la transmission en temps réel de la voix, des données et des images sur des réseaux à commutation de paquets (TCP/IP, PX/SPX, ATM...). Dérivée de H.320, elle répond aux besoins d'interopérabilité entre les équipements de visioconférence, sur des intranets ou sur Internet.

Protocole H323 2/5 Trois protocoles de signalisation sont spécifiés dans le cadre de H.323 à savoir : RAS (Registration, Admission and Status) - Ce protocole est utilisé pour communiquer avec un Gatekeeper. Il sert notamment aux équipements terminaux pour découvrir l'existence d'un Gatekeeper et s'enregistrer auprès de ce dernier ainsi que pour les demandes de traduction d'adresses. Q.931 - H.323 utilise une version simplifiée de la signalisation RNIS Q.931 pour l'établissement et le contrôle d'appels téléphoniques sur Ip. H.245 : ce protocole est utilisé pour l'échange de capacités entre deux équipements terminaux. Par exemple, il est utilisé par ces derniers pour s'accorder sur le type de codec à activer. Il peut également servir à mesurer le retard aller-retour (Round Trip Delay) d'une communication.

Protocole H323 3/5 Une communication H.323 se déroule en cinq phases : Établissement d'appel Échange de capacité et réservation éventuelle de la bande passante à travers le protocole RSVP (Ressource reSerVation Protocol) Établissement de la communication audio-visuelle Invocation éventuelle de services en phase d'appel (par exemple, transfert d'appel, changement de bande passante, etc.) Libération de l'appel.

Protocole H323 4/5

Protocole H323 5/5 Les avantages du protocole H.323 : Il existe de nombreux produits (plus de 30) utilisant ce standard adopté par de grandes entreprises telles Cisco, IBM, Intel, Microsoft, Netscape, etc. Les cinq principaux logiciels de visioconférence Picturel 550, Proshare 500, Trinicon 500, Smartstation et Cruiser 150 utilisent sur Ip la norme H.323. Un niveau d'interopérabilité très élevé, ce qui permet à plusieurs utilisateurs d'échanger des données audio et vidéo sans faire attention aux types de média qu'ils utilisent. Inconvénients Protocole très complexe, manque d’interopérabilité entre les différentes implémentations (RadVision, Elemedia-Lucent, …) Difficultés avec les FireWall Support des fonctions avancées de la téléphonie. H450.x très peu utilisé. Pas dans l’esprit « Internet »

SIP (Session Initiation Protocole) 1/9 Application Présentation Session Transport Réseau Liaison Physique

SIP (Session Initiation Protocole) 2/9 Session SIP à travers un Proxy

SIP (Session Initiation Protocole) 3/9 Sip intervient aux différentes phases de l'appel : Localisation du terminal correspondant, Analyse du profil et des ressources du destinataire, Négociation du type de média (voix, vidéo, données...) et des paramètres de communication, Disponibilité du correspondant, détermine si le poste appelé souhaite communiquer, et autorise l'appelant à le contacter. Etablissement et suivi de l'appel, avertit les parties appelant et appelé de la demande d'ouverture de session, gestion du transfert et de la fermeture des appels. Gestion de fonctions évoluées : cryptage, retour d'erreurs, ... Avec Sip, les utilisateurs qui ouvrent une session peuvent communiquer en mode point à point, en mode diffusif ou dans un mode combinatoire Sip permet donc l'ouverture de sessions en mode : Point-à-point - Communication entre 2 machines, on parle d'unicast Diffusif - Plusieurs utilisateurs en multicast, via une unité de contrôle M.C.U (Multipoint Control Unit) Combinatoire - Plusieurs utilisateurs pleinement interconnectés en multicast via un réseau à maillage complet de connexions.

SIP (Session Initiation Protocole) 4/9 Les différents éléments intervenant dans l'ouverture de session : Choix des protocoles les mieux adaptés (Rsvp, Rtp, Rtcp, Sap, Sdp). Détermination du nombre de sessions Chaque utilisateur et sa machine est identifié par une adresse que l'on nomme Url Sip et qui se présente comme une Url Mailto. Requête Uri permettant de localiser le proxy server auquel est rattaché la machine de l'appelé. Requête Sip, une fois le client connecté à un serveur Sip distant, il peut lui adresser une ou plusieurs requêtes Sip et recevoir une ou plusieurs réponses de ce serveur.

SIP (Session Initiation Protocole) 5/9 Les différents requêtes utilisées : Invite - Cette requête indique que l'application (ou utilisateur) correspondante à l'Url Sip spécifié est invité à participer à une session Ack -  Accusé de réception faisant suite à une requête Invite. Options - Un proxy server en mesure de contacter l'UAS (terminal) appelé, doit répondre à une requête Options en précisant ses capacités à contacter le même terminal Bye - Cette requête est utilisée par le terminal de l'appelé à fin de signaler qu'il souhaite mettre un terme à la session. Cancel - Cette requête est envoyée par un terminal ou un proxy server à fin d'annuler une requête non validée par une réponse finale comme, par exemple, si une machine ayant été invitée à participer à une session, et ayant accepté l'invitation ne reçoit pas de requête Ack, alors elle émet une requête Cancel. Register - cette méthode est utilisée par le client pour enregistrer l'adresse listée dans l'URL TO par le serveur auquel il est relié.

SIP (Session Initiation Protocole) 6/9 Il existe 6 classes de réponses et donc de codes d'état représentée par le premier bit : 1xx = Information - La requête a été reçue et continue à être traitée 2xx = Succès - L'action a été reçue avec succès, comprise et acceptée 3xx = Redirection - Une autre action doit être menée afin de valider la requête 4xx = Erreur du client - La requête contient une syntaxe erronée ou ne peut pas être traitée par ce serveur 5xx = Erreur du serveur - Le serveur n'a pas réussi à traiter une requête apparemment correcte 6xx = Echec général - La requête ne peut être traitée par aucun serveur

SIP (Session Initiation Protocole) 7/9 Les messages Sip peuvent contenir des données confidentielles, en effet le protocole Sip possède 3 mécanismes de cryptage : Cryptage de bout en bout du Corps du message Sip et de certains champs d'en-tête sensibles aux attaques. Cryptage au saut par saut (hop by hop) à fin d'empêcher des pirates de savoir qui appelle qui. Cryptage au saut par saut du champ d'en-tête Via pour dissimuler la route qu'a emprunté la requête.

SIP (Session Initiation Protocole) 8/9 En pratique, la mise en place de SIP repose sur trois éléments : Les User Agents désignent les agents que l'on retrouve dans les téléphones SIP, les softphones (logiciels de téléphonie sur IP) des ordinateurs et PDA ou les passerelles SIP Le Registrar est un serveur qui gère les requêtes REGISTER envoyées par les Users Agents pour signaler leur emplacement courant. Un Proxy SIP sert d'intermédiaire entre deux User Agents qui ne connaissent pas leurs emplacements respectifs (adresse IP).

SIP (Session Initiation Protocole) 9/9 Les avantages du protocole Sip : Sip est un protocole plus rapide. La séparation entre ses champs d'en-tête et son corps du message facilite le traitement des messages et diminue leur temps de transition dans le réseau. Nombre des en-têtes est limité (36 au maximum et en pratique, moins d'une dizaine d'en-têtes sont utilisées simultanément), ce qui allège l'écriture et la lecture des requêtes et réponses. Sip est un protocole indépendant de la couche transport. Il peut aussi bien s'utiliser avec Tcp que Udp. De plus, il sépare les flux de données de ceux la signalisation, ce qui rend plus souple l'évolution "en direct" d'une communication (arrivée d'un nouveau participant, changement de paramètres...).

Comparaison entre les deux protocoles 1/2 SIP H323 Nombre échanges pour établir la connexion 1,5 aller-retour 6 à 7 aller-retour Maintenance du code protocolaire Simple par sa nature textuelle à l'exemple de Http Complexe et nécessitant un compilateur Evolution du protocole Protocole ouvert à de nouvelles fonctions Ajout d'extensions propriétaires sans concertation entre vendeurs Fonction de conférence Distribuée Centralisée par l'unité MC Fonction de téléservices Oui, par défaut H.323 v2 + H.450 Détection d'un appel en boucle Oui Inexistante sur la version 1 un appel routé sur l'appelant provoque une infinité de requêtes Signalisation multicast Non

Comparaison entre les deux protocoles 2/2 La simplicité, la rapidité et la légèreté d'utilisation, tout en étant très complet, du protocole Sip sont autant d'arguments qui pourraient permettre à Sip de convaincre les investisseurs. De plus, ses avancées en matière de sécurité des messages sont un atout important par rapport à ses concurrents.

Pourquoi Java? Portabilité de Java C’est le langage que l’on connait le «mieux» à ce jours et que l’on étudie le plus Possibilité de réutiliser beaucoup d’éléments du programmes des M1 (UML, Interface Graphique, chat, etc.) La JavaDoc

Pourquoi JAIN SIP? Développé par le NIST (National Institut Of Standardisation) et Sun Microsystems Gratuit et sans contrainte de licence. Une interface propre, complète, très documentée (Javadoc, exemples, etc.) et stable Une bonne stabilité et une mise à jours constants des derniers petits bugs.

JAIN SIP Stack SIP développé par le NIST (National Institut Of Standardisation) JAIN SIP supporte le protocole SIP décrit dans le RFC 3261 ainsi que plusieurs extensions comme : la notification d’événement RFC 3265, l’envoi de messages instantanés RFC 3428, le transfert d’appel RFC 3515 …

Services de l’API JAIN SIP Services proposées par JAIN SIP que notre application devra implémenter: Formatage des messages Envoi et réception de messages SIP Parsing des messages entrants (analyse des entêtes, identification transaction/dialogue) Appels de différents processus lors de l’arrivée de messages ou écoulement de différents time-out Gérer les différents états de transactions et de dialogues

L’architecture JAIN SIP

L’architecture JAIN SIP SipListener interface : Cette interface s’occuper de l’acheminement des événements contenant les requêtes et les réponses jusqu'à l’application. SipProvider Interface : Cette interface possède les méthodes pour enregistrer, supprimer un SipListener et permet l’envoie de requêtes/réponses SipStack Interface : Cette interface est liée à une (ou plusieurs) adresse IP et est chargée de manager les différent providers et listening point. public UAC implements SipListener { … sipFactory = SipFactory.getInstance(); sipStack = sipFactory.createSipStack(properties); udpListeningPoint = sipStack.createListeningPoint(«127.0.0.1», 5060, «udp»); sipProvider = sipStack.createSipProvider(udpListeningPoint); sipProvider.addSipListener(this); }

L’interface SipListener et les méthodes à implémenter: import java.util.EventListener; public interface SipListener extends EventListener { public void processRequest(RequestEvent requestEvent); public void processResponse(ResponseEvent responseEvent); public void processTimeout(TimeoutEvent timeoutEvent); }

Les messages SIP JAIN SIP définit deux interfaces pour les messages SIP: Les messages de type requêtes client->serveur Contiennent une méthode indiquant le type de la requête, ainsi qu’un URI qui indique l’utilisateur ou le service que l’on désire joindre. Les messages de type réponse (à une précédente requête) Contiennent un statut indiquant le type de réponse, un URI indiquant l’utilisateur ou le service qui était adressé. Les entête SIP JAIN SIP offre pour chaque entête une interface spécifique, contrairement à certains modèles qui offrent une interface générique pour traiter toute les informations qu’elles contiennent.

createMessageFactory() Messages entrants sous forme de « Event » createMessageFactory() createHeaderFactory() createAddressFactory() createSipProvider() ListeningPoint1 createSipProvider() ListeningPoint2 createSipProvider() ListeningPointN

L’objet Transaction : Une transaction consiste à l’association d’une requête et de plusieurs réponses L’objet Dialog : Les dialogs sont établit lors de la création de la transaction nécessitant une notion de dialogue (INVITE, SUBSCRIBE…) Exemple de code : Request request = messageFactory.createRequest(_,Request.INVITE,_,_); … ClientTransaction inviteTid = sipProvider.getNewClientTransaction(request); inviteTid.sendRequest(); Dialog dialog = inviteTid.getDialog();

Merci de votre attention QUESTIONS