Difference between revisions of "Tech pages/Jingle"
(initial copy) |
|||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== Overview == | == 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. | |||
In essence, Jingle provides a way for | |||
== Specifications == | == Specifications == | ||
Jingle is defined in a number of specifications: | Jingle is defined in a number of specifications: | ||
* XEP-0166: Jingle | * [http://xmpp.org/extensions/xep-0166.html XEP-0166: Jingle] | ||
* XEP-0167: Jingle RTP Sessions | * [http://xmpp.org/extensions/xep-0167.html XEP-0167: Jingle RTP Sessions] | ||
* XEP-0176: Jingle ICE-UDP Transport Method | * [http://xmpp.org/extensions/xep-0176.html XEP-0176: Jingle ICE-UDP Transport Method] | ||
* XEP-0177: Jingle Raw UDP Transport Method | * [http://xmpp.org/extensions/xep-0177.html XEP-0177: Jingle Raw UDP Transport Method] | ||
* XEP-0181: Jingle DTMF | * [http://xmpp.org/extensions/xep-0179.html XEP-0179: Jingle IAX Transport Method] | ||
* XEP-0234: Jingle File Transfer | * [http://xmpp.org/extensions/xep-0181.html XEP-0181: Jingle DTMF] | ||
* [http://xmpp.org/extensions/xep-0234.html XEP-0234: Jingle File Transfer] | |||
* [http://xmpp.org/extensions/xep-0251.html XEP-0251: Jingle Session Transfer] | |||
* [http://xmpp.org/extensions/xep-0262.html XEP-0262: Use of ZRTP in Jingle RTP Sessions] | |||
== Implementations == | == 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. | 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 === | === Clients === | ||
* Coccinella | * Coccinella | ||
* eyeCU | |||
* Gajim | * Gajim | ||
* Pandion | * Pandion | ||
Line 27: | Line 27: | ||
* Telepathy | * Telepathy | ||
* Yate | * Yate | ||
* [https://movim.eu/ Movim] with WebRTC (see [http://wiki.movim.eu/en:dev:protocol_implementations?&#jingle the Wiki, protocol implementation]) | |||
=== Libraries === | === Libraries === | ||
* libjingle (C/C++) | * libjingle (C/C++) | ||
* Smack (Java) | * Smack (Java) | ||
Line 36: | Line 36: | ||
=== Call Managers / VoIP Servers === | === Call Managers / VoIP Servers === | ||
* Asterisk | * Asterisk | ||
* FreeSWITCH | * FreeSWITCH | ||
Line 42: | Line 41: | ||
== Discussion Venues == | == Discussion Venues == | ||
The XMPP Standards Foundation maintains a dedicated email list ([http://mail.jabber.org/mailman/listinfo/jingle 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. | |||
The XMPP Standards Foundation maintains a dedicated email list ( | |||
* Info page and subscription information | * Info page and subscription information | ||
* Subscribe via email | * Subscribe via email | ||
* Discussion archives | * Discussion archives |
Latest revision as of 07:56, 26 November 2018
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
- eyeCU
- Gajim
- Pandion
- Pidgin
- Psi
- SIP Communicator
- Telepathy
- Yate
- Movim with WebRTC (see 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