Jingle (protocol)
Jingle is an extension to the Extensible Messaging and Presence Protocol (XMPP) which adds peer-to-peer (P2P) session control (signaling) for multimedia interactions such as in Voice over IP (VoIP) or videoconferencing communications. It was designed by Google and the XMPP Standards Foundation. The multimedia streams are delivered using the Real-time Transport Protocol (RTP). If needed, NAT traversal is assisted using Interactive Connectivity Establishment (ICE).
As of December 2009, the proposed Jingle specification had not yet been approved by the XMPP Standards Foundation, but is now a Draft Standard, meaning: "Implementations are encouraged and the protocol is appropriate for deployment in production systems, but some changes to the protocol are possible before it becomes a Final Standard."[1]
The libjingle library,[2] used by Google Talk to implement Jingle, has been released to the public under a BSD license. It implements both the current standard protocol and the older, pre-standard version.
Clients supporting Jingle
- Asterisk PBX[note 1]
- Coccinella[3][4][5][note 1]
- Conversations (software)
- Empathy[6] (using Telepathy framework)
- FreeSWITCH
- Gajim from 0.14 (not on Windows yet)
- Google Talk for Gmail, Android,[note 2] Windows[note 1][note 2]
- iChat for Apple OS X
- Jitsi[7] (multiplatform support using Java)
- KDE Telepathy[8] (using Telepathy framework)
- Kopete[9]
- Miranda IM (via JGTalk plugin)[10]
- Monal IM-Client for iOS
- Pidgin
- Psi[note 1]
- QIP Infium
- Yate/YateClient supports Jingle in both client and server mode, audio and file transfer, also call transfer and DTMF.
Though not an instant messaging client, RemoteVNC uses Jingle as one of the screen sharing means.
Notes
References
- ↑ XEP (166), XMPP.
- ↑ "Libjingle", Code, Google.
- ↑ "Clients", Software, XMPP.
- ↑ Coccinella: Instant Messaging Program with Whiteboard.
- ↑ "Voice over IP (VoIP)", Questions, Coccinella.
- ↑ "Does Empathy support audio & video chat?", Empathy FAQ, Gnome.
- ↑ Features (list), Jitsi.
- ↑ "FAQ", Community, KDE.
- ↑ "Use", Kopete, Zugaina,
Jingle functionality (voice only) can be enabled/disabled in Kopete. The old KDE Wiki statement about it not working is outdated.
- ↑ Forums, Miranda IM.
External links
- XMPP Standards Foundation
- XMPP Technologies: Jingle
- XEP-0166: Jingle (Draft Standard)
- XEP-0167: Jingle RTP Sessions (formerly: Jingle Audio Content Description Format) (Draft Standard)
- XEP-0176: Jingle ICE Transport (Draft Standard)
- XEP-0177: Jingle Raw UDP Transport (Draft Standard)
- XEP-0179: Jingle IAX Transport Method (Deferred)
- XEP-0180: Jingle Video via RTP (formerly: Jingle Video Content Description Format (Retracted; see XEP-0167)
- XEP-0181: Jingle DTMF (Deferred)
- XEP-0183: Jingle Telepathy Transport (Humorous)
- XEP-0208: Bootstrapping Implementation of Jingle (Retracted)
- XEP-0234: Jingle File Transfer (Deferred)
- XEP-0247: Jingle XML Streams (Deferred)
- XEP-0251: Jingle Session Transfer (Deferred)
- XEP-0260: Jingle SOCKS5 Bytestreams Transport Method (Draft Standard)
- XEP-0261: Jingle In-Band Bytestreams Transport Method (Draft Standard)
- XEP-0262: Use of ZRTP in Jingle RTP Sessions (Draft Standard)
- XEP-0266: Codecs for Jingle Audio (Draft Standard)
- XEP-0269: Jingle Early Media (Deferred)
- XEP-0272: Multiparty Jingle (Muji) (Deferred)
- XEP-0278: Jingle Relay Nodes Jingle Nodes Project (Deferred)
- XEP-0293: Jingle RTP Feedback Negotiation (Deferred)
- XEP-0294: Jingle RTP Header Extensions Negotiation (Deferred)
- XEP-0298: Delivering Conference Information to Jingle Participants (Coin) (Deferred)
- XEP-0299: Codecs for Jingle Video (Deferred)
- Google Talk Voice and P2P Interoperability Library