Tech pages/Jingle

Overview
In essence, Jingle provides a way for XMPP clients to set up, manage, and tear down multimedia sessions. Such sessions can support a wide range of application types (such as voice chat, video chat, and file transfer) and use a wide range of media transport methods (such as TCP, UDP, RTP, or even in-band XMPP itself). The signalling to establish a Jingle session is sent over XMPP, and typically the media is sent directly peer-to-peer or through a media relay. Jingle provides a pluggable framework for both application types and media transports; in the case of voice and video chat, a Jingle negotiation usually results in use of the Real-time Transport Protocol (RTP) as the media transport and thus is compatible with existing multimedia technologies such as the Session Initiation Protocol (SIP). Furthermore, the semantics of Jingle signalling was designed to be consistent with both SIP and the Session Description Protocol (SDP), thus making it straightforward to provide signalling gateways between XMPP networks and SIP networks.

Specifications
Jingle is defined in a number of specifications:
 * XEP-0166: Jingle
 * XEP-0167: Jingle RTP Sessions
 * XEP-0176: Jingle ICE-UDP Transport Method
 * XEP-0177: Jingle Raw UDP Transport Method
 * XEP-0179: Jingle IAX Transport Method
 * XEP-0181: Jingle DTMF
 * XEP-0234: Jingle File Transfer
 * XEP-0251: Jingle Session Transfer
 * XEP-0262: Use of ZRTP in Jingle RTP Sessions

Implementations
Note: Many of the following implementations support the older Google Talk protocol and are being upgraded to support Jingle as it is defined in the specifications; contact the project developers for details.

Clients

 * Coccinella
 * Gajim
 * Pandion
 * Pidgin
 * Psi
 * SIP Communicator
 * Telepathy
 * Yate
 * Movim with WebRTC (see [http://wiki.movim.eu/en:dev:protocol_implementations?&#jingle the Wiki, protocol implementation)

Libraries

 * libjingle (C/C++)
 * Smack (Java)
 * Telepathy Gabble (C)
 * yjingle (C++)

Call Managers / VoIP Servers

 * Asterisk
 * FreeSWITCH
 * Yate

Discussion Venues
The XMPP Standards Foundation maintains a dedicated email list (jingle@xmpp.org) about Jingle, intended as a low-volume venue for discussion of MUC implementation and protocol issues. As with all XSF technology lists, the jingle@xmpp.org list is open to all interested individuals.
 * Info page and subscription information
 * Subscribe via email
 * Discussion archives