+33 (0)1 69 33 05 50

Actualité et agenda de l'AFTI

WEB RTC

WEB-RCT

Le WebRTC  (Web Real-Time Communication) est une norme qui permet d’intégrer des communications en temps réel à travers un navigateur web, soutenue par Google, Mozilla et Opéra au sein de standards du World Wide Web Consortium (W3C) ainsi que d’un groupe de travail IETF.

Premières ébauches  en mai 2011

Cette norme comprend les éléments fondamentaux pour des communications en temps réel tels que les composants réseau, audio et vidéo communément utilisés dans les applications audio et vidéo.

Aujourd’hui sur 7 milliards d’habitants, 3,2 milliards sont constamment connectés à internet.
L’usage des smartphones et des tablettes est en croissance considérable, parce qu’à présent on peut faire tout et un peu de tout avec un smartphone.

Le WebRTC, standard ouvert  intégre des capacités de communications multimédia en temps réel, directement dans un navigateur web. La structure du standard ouvert s’affranchit des logiciels, plugins et téléchargements.

Avec le WebRTC, les entreprises ont l’opportunité de transformer leurs communications en s’assurant des communications fiables et sûres. Il peut faciliter les réunions en ligne, les collaborations vidéo ….

Des projections suggèrent que d’ici la fin 2018, les utilisateurs individuels du WebRTC atteindront 1 milliard et les PC, smartphones et tablettes pouvant être connectés au WebRTC atteindront presque les 4,7 milliards.

WebRTC utilise un serveur appelé Web Conferencing Server qui, conjointement à un serveur STUN, est nécessaire pour fournir la page initiale et synchroniser les connexions entre deux points de terminaison WebRTC.
(STUN (Simple Traversal of UDP through NAT routers) est un protocole client-serveur de l’IETF (RFC 3489) permettant à un client UDP situé derrière un routeur NAT (ou de multiples NAT) de découvrir son adresse IP publique ainsi que le type de routeur NAT derrière lequel il est. )

Mais, car il y a un mais, tous les navigateurs ne supportent pas le WebRTC !
Ni toutes les possibilités non plus !

WEB-2

Puisque nous sommes dans les sujets qui fâchent !

La question est de savoir si la technologie WebRTC est sécurisée

Le WebRTC est une technologie open-source disponible gratuitement pour tous les navigateurs (sans installation de plug-in).
Les utilisateurs de WebRTC craignent donc que des hackers puissent écouter des conférences, accéder aux données utilisateurs, ou même à leur réseau privé.

Comme tous fichiers ou exécutables téléchargés depuis Internet, évidement il y a un risque si votre PC n’a aucune configuration de Pare-feu.

Les mêmes risques s’appliquent au téléchargement d’applications VoIP……

La sécurité et le cryptage ne sont pas de fonctionnalités optionnelles du WebRTC, puisqu’il dispose de fonctions intégrées liés à ces aspects.

Le WebRTC offre des flux cryptés entre chaque entité assurant en temps réel la sécurité et la confidentialité des communications.

Le WebRTC requiert que l’utilisateur autorise explicitement l’accès à sa caméra et à son microphone. Et que l’utilisateur soit bien informé que ces périphériques sont activés.

Avant d’utiliser le WebRTC, les utilisateurs sont notifiés qu’un site spécifique essaie d’accéder à leur caméra et microphone.
Si un onglet accède à ces périphériques, les utilisateurs sont aussi notifiés par le navigateur avec un spot rouge clignotant sur l’onglet.

Pour que le WebRTC puisse faire transiter des données en temps réel, celles-ci sont d’abord cryptées en utilisant le protocole DTLS (Datagram Transport Layer Security).
Ce protocole est inclus dans tous les navigateurs supportant le WebRTC (Chrome, Firefox et Opéra).

Sur une connexion encryptée l’écoute et la falsification d’informations sont …. difficiles !

En plus du DTLS, le WebRTC crypte l’audio et la vidéo via le protocole SRTP (Secure Real-Time Protocol) s’assurant que les communications IP ,flux voix, flux vidéo, ne peuvent être vues ou écoutées par des tiers.

Concrètement qu’est-ce que le WebRTC ?

Les composants de la norme du WebRTC :

Ces composants, lorsqu’ils sont implémentés dans un navigateur, sont accessibles via une API JavaScript, API qui permet aux développeurs d’implémenter facilement leur propre application web RTC.

Le WebRTC se compose essentiellement de trois APIs :

  1. getUserMedia (accès camera et accès au microphone)
  2. PeerConnection (envoi et réception de médias)
  3. DataChannels (envoi du flux « non-média » directement entre les navigateurs P2P)

Le WebRTC donne la possibilité à l’ensemble de la communauté de développement :

  • d’ouvrir la technologie des communications en temps réel et qui plus est gratuitement.

Avant le WebRTC, ce type de technologie était seulement disponible pour les grandes entreprises :

  • Acquisition de licences coûteuses
  • Plugins propriétaires comme Adobe Flash qui sont payants pour les développeurs.

Le WebRTC ouvre donc la porte à de nouvelles applications vidéos, voix et données Web.

SERVEURLe WebRTC repose sur une architecture triangulaire impliquant un serveur et deux peers .

Les deux navigateurs téléchargent depuis un serveur une application JavaScript vers leur contexte local. Le serveur est utilisé comme coordinateur des échanges entre navigateurs jusqu’à ce que la connexion directe entre les navigateurs soit établie.

L’application téléchargée utilise l’API WebRTC pour communiquer avec l’ environnement local.

Une application cliente en JavaScript et HTML5 échangent  avec le navigateur au travers de l’API

 

Les applications WebRTC nécessitent de faire plusieurs choses :

  • Récupérer des flux audio, vidéo ou autres données.
  • Récupérer les informations du réseau comme les adresses IPs et les ports et les échanger avec d’autres clients WebRTC (appelés pairs), pour leur permettre d’établir une connexion, même au travers les NATs et les firewalls.
  • Coordonner la signalisation pour rapporter les erreurs ou clore les sessions.
  • Échanger les informations à propos des médias et de la compatibilité entre les clients en ce qui concerne leur résolution et leurs codecs.
  • Échanger des flux audios, vidéos ou simplement de données.

Il y a même de la signalisation !

WebRTC utilise RTCPeerConnection pour communiquer des flux de données entre les navigateurs (pairs). Il a aussi besoin d’un mécanisme pour coordonner la communication et envoyer des messages de contrôle :

La signalisation.
Les méthodes de signalisation et les protocoles ne sont pas spécifiés par WebRTC : la signalisation n’est pas inclue dans l’API de RTCPeerConnection.

Les développeurs d’applications utilisant WebRTC peuvent donc utiliser la signalisation qu’ils veulent comme SIP ou XMPP, et n’importe quel canal de communication duplex.

La signalisation est utilisée pour échanger trois types d’informations.

Messages de contrôle de session : pour initialiser ou fermer un lien de communication et rapporter les erreurs.

Configuration réseau : quelle est l’adresse IP et sur quel port l’ordinateur est-il connecté ?
Compatibilité des médias : quels codecs sont gérés et jusqu’à quelle résolution est-ce que mon navigateur et celui de mon interlocuteur vont pouvoir aller ?

Ces informations doivent avoir été échangées avec succès par la signalisation choisie avant que le flux peer to peer ne puisse commencer.

PEER-TO-PEERJustement à propos de  signalisation !

Avec l’arrivée du WebRTC, d’aucuns se demandent si l’on s’approche de la fin du SIP.
Est-ce la fin du SIP, ou le WebRTC n’assurera-t-il  pas au contraire la pérennité du protocole SIP?
Ces deux technologies ont trouvé leur place dans le marché des télécommunications d’entreprise, et bien qu’elles fournissent les mêmes fonctionnalités, elles peuvent être utilisées pour se compléter l’une l’autre.
Le WebRTC (ou Web Real-Time Communication) est une API qui permet des communications de navigateur à navigateur via des applications voix ou vidéo.

Cette technologie fait que pour effectuer des communications basées sur le WebRTC, aucun téléchargement de logiciel ou plugin n’est nécessaire.
Le SIP (ou Session Initiation Protocol) n’est pas une API et est un protocole utilisé pour le signal et le contrôle des communications audio et vidéo.
Tandis que le WebRTC s’utilise avec un navigateur, le protocole SIP est plus flexible puisqu’il est utilisé sur n’importe quel appareil ou plateforme.
Le WebRTC fonctionne à son maximum quand il est supporté par un protocole comme le SIP ou le SDP.

Le SIP améliore le WebRTC et le WebRTC permet aux standards téléphoniques logiciels  de répondre à tous les besoins de communications pour chaque tâche à laquelle sont confrontées les employées, que ce soit une visioconférence avec des collègues situés à distance, ou un simple argumentaire commercial avec un client potentiel.
Le choix d’une plateforme qui utilise le protocole SIP et le WebRTC  ensemble permet aux utilisateurs de profiter des nombreuses fonctionnalités avancées, d’une solution de communications unifiées et aussi d’échanges entre navigateurs sécurisés.

Bientôt dans votre vie ?

WEBRCT

Avec des employés réclamant du BYOD (Bring Your Own Device), de plus en plus d’entreprises pensent à un téléphone   pourvu d’un écran WebRTC.
Le téléphone dispose d’un navigateur aux standards ouverts qui permet une connectivité complète pour lancer des conférences Web, faire du partage de documents, de la collaboration, gérer sa domotique …

Applications complexes ?

RTCPeerConnection est le composant de WebRTC qui gère l’efficacité et la stabilité des échanges de flux entre les pairs.

APPLICATION

RTCPeerConnection protège les développeurs d’une myriade de complexités qui se cachent sous la spécification.
Les codecs et les protocoles utilisés par WebRTC fournissent un travail considérable pour rendre possible la communication en temps réel, même sur des réseaux ou il existe des problèmes de qualité de service :

  • Masquage des effets de la perte de paquets IP
  • Annulation de l’écho
  • Adaptation de la bande passante
  • Gestion dynamique du buffer pour éviter les effets de sautillement de l’image
  • Contrôle automatique du gain
  • Réduction et suppression du bruit
  • ‘Nettoyage’ de l’image.

WebRTC, un sans faute ?

Le WebRTC ,  ce standard n’est pas disponible sur tous les navigateurs internet du marché.

De plus, les solutions de Visio-Conférence du marché ne sont pas toutes interopérables avec WebRTC.

Le niveau de qualité  audio et vidéo n’est pas au niveau des systèmes de Visio-Conférence que ce soit pour les solutions de salles ou pour les clients logiciels de visio-conférence fournis par les constructeurs.

Plusieurs problèmes liés à la sécurité se posent également lors de l’utilisation de la technologie WebRTC:

  • Les utilisateurs doivent donner leur accord concernant l’usage de caméras et de microphones, tout comme les informations d’ordre privées qui ne peuvent être utilisées sans l’accord des participants.
  • JavaScript peut être téléchargé depuis n’importe quel site sans que l’utilisateur n’approuve la démarche.

Attention aux garanties de confidentialité et d’authentification lors des échanges entre utilisateurs !
Malgré ces freins, le WebRTC représente une formidable opportunité d’accélérer l’adoption de la Visio-Conférence car il permet d’étendre l’accès à quasiment toute personne équipée d’une connexion internet.

Condition essentielle aujourd’hui pour une utilisation massive de la vidéo lors d’une communication.

WebRTC, un avenir ?

Cette technologie devrait bouleverser le quotidien professionnel et personnel.

Les utilisateurs pourraient entrer en contact, via la vidéo, avec leur assureur, leur fournisseur de services mobiles, un agent de sécurité, leur médecin et plus généralement avec tout service client.

Un moyen simple et pratique d’obtenir des diagnostics immédiats en évitant ainsi les contraintes liées au déplacement.
Cette technologie de « passerelle » est particulièrement appropriée pour des utilisateurs privés à domicile  car ils peuvent bénéficier d’une connexion peer-to-peer  de qualité acceptable.

Point n’est besoin d’investir dans une technologie de communication vidéo de pointe.

 En conclusion

WEBRCT3

2019, ce sont les technologies d’aujourd’hui !