WebRTC, pour Web Real-Time Communication, est une nouvelle technologie ouverte de communication en temps réel pour navigateurs web. Il offre de nouvelles opportunités aux utilisateurs de solutions de VoIP en simplifiant notamment son expérience tout en lui offrant de nouvelles fonctionnalités.

Dans cet article, nous vous offrirons un aperçu des sujets suivants : 

Qu’est ce que le WebRTC ? 

L’histoire du WebRTC a débuté en Mai 2010 avec le rachat de la société Global IP Solutions (GIPS) par Google. L’objectif de ce rachat est plus technologique que business. En effet, un an après le rachat de GIPS, Google publie sous licence open source les technologies issues de ce rachat, servant de fondation au projet WebRTC. 

Dès 2011, Google s’associe à différents éditeurs comme Mozilla et Opéra ainsi qu’aux organismes de standardisations de W3C et de l’IETF pour développer le WebRTC et en faire un standard technologique ouvert.

webrtc

Le WebRTC est ainsi devenu le nouveau standard de communication peer-to-peer entre navigateurs web. Il permet notamment à tout internaute disposant d’une application web VoIP compatible, de passer des appels ou de réaliser des visio-conférences directement au sein de son navigateur. Plus besoin d’extension, de widgets ou de plugins, tout est 100% natif au navigateur. 

Alors vous nous direz que la communication en temps réel entre navigateurs web n’est pas nouvelle. Et bien vous auriez raison. La première nouveauté du WebRTC est d’offrir un standard ouvert, à l’instar des solutions et des plugins propriétaires existants. Le WebRTC doit ainsi faciliter l’implémentation et l’adoption de cet usage, tout en garantissant l’intéropérabilité potentielle des solutions.

Les principes fondateurs du projet WebRTC sont que ses APIs doivent être open source, gratuites, standardisées, compatibles avec les principaux navigateurs, tout en offrant une couverture fonctionnelle supérieure aux solutions existantes. 

Le WebRTC est aujourd’hui pleinement intégré aux navigateurs Google Chrome, Mozilla Firefox et Opera. Il est aujourd’hui utilisé dans des usages aussi variés que les jeux vidéos, le streaming, la messagerie instantanée ou tout autre application nécessitant de la communication en temps réel. 

Comment fonctionne le WebRTC ?

Le WebRTC fonctionne en peer-to-peer. Le flux média ne transite (en théorie) donc pas par un serveur centralisé mais directement entre les navigateurs des utilisateurs. Le serveur centralisé se chargeant simplement de la signalisation et de la gestion de la mise en relation entre les utilisateurs. 

La signalisation et le média sont donc gérés différemment dans le WebRTC. La signalisation se fait généralement au sein d’une WebSocket mais cette dernière n’est pas définie par le WebRTC. Vous êtes donc libre de choisir le protocole de signalisation le plus adapté à votre média, que ce soit le protocole SIP ou XMPP par exemple. 

Le média quant à lui sera géré dans un chemin différent utilisant le média channel et le protocole SRTP pour la voix et la vidéo ou le data channel et le protocole SCTP pour les données. 

WebRTC Architecture
Schéma simplifié d’une communication WebRTC

Lorsque la demande de connexion est initié par un navigateur, une négociation ICE, pour Interactive Connectivity Establishment, est initiée. Elle est en charge d’identifier si la connexion directe est possible entre les navigateurs ou si il faut avoir recourt à un relai. Cette procédure a été récemment améliorée par Trickle ICE, afin d’en améliorer l’efficacité. 

Dans le cadre d’un réseau utilisant de la translation d’adresses (Network Address Translation ou NAT), il convient également d’utiliser le protocole STUN, pour Session Traversal Utilities for NAT. Il aura la charge d’identifier l’adresse IP et le port de connexion de la personne à connecter se trouvant au sein d’un réseau privé. 

Au sein de certains réseaux très sécurisés et restrictifs, il se peut que la connexion ne puisse se faire directement entre navigateurs. L’utilisation d’un serveur relai est alors nécessaire. Ce composant de l’architecture d’une installation de WebRTC est appelé TURN, pour Traversal Using Relays around NAT. Il est estimé à près de 20% le nombre de sessions nécessitant l’utilisation d’un serveur TURN.

Qu’est cela apporte à la VoIP ? 

Le WebRTC vise a grandement simplifier l’expérience de voix sur IP dans un contexte Web. Quoi de plus ennuyeux que de devoir télécharger une application spécifique avant une visioconférence. Le WebRTC permet de s’affranchir de tout pluggin et de directement se connecter à une chambre de conférence, de passer un appel, de partager des documents, depuis son navigateur. 

Il offre ainsi la possibilité de joindre son service client depuis le site internet de son fournisseur, sans avoir à changer de plateforme, créant ainsi des expériences de communications nouvelles et enrichies. 

Le WebRTC est aussi la garantie de disposer d’un service de communication plus facilement  accessible. En effet ce dernier va utiliser des ports de connexion standards, utilisés par son navigateur Web et généralement autorisés par son département informatique. 

Alors si vous voulez en savoir plus sur toutes les possibilités du WebRTC n’hésitez pas à nous contacter. L’ensemble de nos applications de communication unifiée embarquent actuellement avec cette technologie.