Websocket : notre protocole d’échange de messages temps réel

Le protocole Websocket est le protocole d’échange de messages temps réel par défaut coté Pupitre agent.

 

Ce protocole vise à :

  • Réduire la latence d’échange de messages
  • Détecter les déconnexions immédiatement (aujourd’hui cette détection a lieu entre 30 secondes et 2 minutes)
  • En bonus, diminuer la bande passante réseau utilisée, en réduisant le nombre de requêtes effectuées


Détecter immédiatement des déconnexions va permettre les avantages fonctionnels suivants :

  • Reconnecter l'utilisateur aussitôt après une déconnexion, ce qui améliorera le délai de reprise et évitera l’envoi de messages jamais reçu
  • Connaitre la présence des agents en temps réel à la seconde près, et ainsi éviter qu’un visiteur n’engage une conversation alors que les agents ne sont plus présents
  • Informer précisément le visiteur sur la connectivité de son interlocuteur

 

Néanmoins, Websocket est un standard qui nécessite quelques pré-requis techniques :

  • Le navigateur de l’agent doit être suffisamment récent:  la liste des navigateurs compatibles > https://www.websocket.org/echo.html
  • L’infrastructure réseau client — depuis lesquels les agents utilisent le Pupitre — doit autoriser le protocole Websocket

Si ces conditions ne sont pas réunies, pas d’inquiétude, le système en place aujourd’hui prendra le relais moyennant un chargement initial du Pupitre plus long de quelques secondes. (un outil comme https://www.websocket.org/echo.html permet de valider ces conditions)