- Jingle (XMPP)
-
Jingle (Jabber)
Pour les articles homonymes, voir Jingle.Jingle est une extension de protocole XMPP destinée à l'initialisation, au suivi et à la terminaison de sessions multimédia P2P entre clients XMPP. Jingle permet les sessions audio (VoIP) et devrait, à terme, non seulement permettre des vidéo, mais également tout type d'application basé sur des sessions multimédia.
Les différents éléments de ce protocole, en cours d'élaboration, sont documentés dans différents XEP (« XMPP Extension Proposal ») que l'on peut répartir dans trois catégories. En premier lieu, le XEP 166 constitue la brique de base du protocole, il ne définit que la sémantique d'une session. Ensuite, pour chacune des méthodes de transport des données reconnues, il existe un XEP dédié. Enfin, pour chacun des formats de données reconnus, il existe de même un XEP dédié.
Sommaire
Historique
TINS, défini dans le JEP 111 (Jabber Enhancement Proposals, renommés depuis en XMPP Extensions Proposals) et depuis rétracté au profit de Jingle, fut la première tentative d'extension de protocole pour permettre l'établissement de sessions multimédia entre deux clients XMPP/Jabber. Cette solution s'avérant peu pratique et efficace à l'usage, ses concepteurs, Joe Hildebrand et Peter Saint-Andre, décidèrent alors de reprendre leur travail à zéro et de définir un tout autre protocole pour cet usage.
Après la publication d'un premier brouillon, Scott Ludwig, de l'équipe de développeurs de Google Talk, les contacta pour leur signaler que ce brouillon était très ressemblant dans l'esprit et même dans la syntaxe au protocole de VoIP mis au point pour leur logiciel. Peter Saint-Andre et Scott Ludwig s'accordèrent pour joindre leurs efforts pour une définition commune de protocole. Ils furent grandement aidés dans cette tâche par Joe Beda qui apparaît également dans la liste des contributeurs.
C'est ainsi que, le 6 octobre 2005, furent publiés les JEP 166 (Jingle) et 167 (Jingle Audio). Ce n'est qu'au mois de mars 2006 que toute référence à une méthode de transport fut retiré du JEP 166 et déplacé pour un partage clair de la définition de Jingle entre les différents JEP (sémantique d'une session, transports, formats de données).
Implémentation
Du côté de l'implémentation de ce protocole, après l'avoir promis quelques mois auparavant, Google aura mis à disposition, le 14 décembre 2005, sous forme d'une bibliothèque de programmation libre (libjingle), la partie de son logiciel implémentant ce protocole. Depuis la version 2.6, sortie le 18 aout 2009, Pidgin supporte également Jingle (via Farsight2).
Les clients Jabber Spark, Coccinella, Jabbin, Kopete, Psi, le framework Tapioca, ainsi que l'IPBX Asterisk préparent l'intégration de Jingle en utilisant cette bibliothèque. La bibliothèque libre libDingaLing a également été publiée par FreeSwitch.
Liens externes
Protocoles
La sémantique d'une session :
Les méthodes de transport des données :
- XEP-0176: Jingle ICE UDP Transport
- XEP-0177: Jingle Raw UDP Transport
- XEP-0179: Jingle IAX Transport Method
Les formats de données :
Implémentations
Bibliothèques :
- Libpurple
- Libjingle de Google Talk
- libDingaling de FreeSWITCH
Clients Jabber :
- Pidgin 2.6
- iChat
- Coccinella 0.95.12
- La version de développement avec Jingle de Kopete
- Jabbin 2.0
- La version de développement avec Jingle de Psi
- Le framework Tapioca
- Portail de l’informatique
Catégories : Protocole de voix sur réseau IP | Logiciel sous licence libre | Logiciel de voix sur réseau IP
Wikimedia Foundation. 2010.