Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a2460a9c9951f41a

Jump to content

// Workers AI · dad joke modeWhat did Jingle protocol say to its friend? "Let's ring in a connection

From Wikipedia, the free encyclopedia
(Redirected from Libjingle)
Proposed Jingle logo

Jingle is an extension to XMPP[1] (Extensible Messaging and Presence Protocol) 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 September 2018, the Jingle specification is a Stable 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."[2]

Data Flows

[edit]
Data Flows for a client CA on XMPP server SA setting a Jingle session to client CB on XMPP server SB

When Client CA is communicating with Client CB in a chat (i.e. one user communicating with another user, on the same of different servers) they client software on both ends uses the Jingle parts of the XMPP specification to establish if they are both Jingle capable. If they can negotiate a way to talk directly, e.g. over RTP (XEP-0167), then they will generally show the user a Telephone or Video icon, enabling them to establish a direct connection to the other client.


Libraries

[edit]

The libjingle library,[3] 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

[edit]

Though not an instant messaging client, RemoteVNC uses Jingle as one of the screen sharing means.

Technical Details and Further Resources

[edit]
  • XMPP Standards Foundation detailed specification.
  • XMPP Standards Foundation overview
  • libjingle project documentation[13] on GitHub.
  • Interactive Connectivity Establishment (ICE) protocol explanation.
  • Real-time Transport Protocol (RTP) overview.

Notes

[edit]
  1. 1 2 3 Doesn't support video chat.
  2. 1 2 Currently supports only older, pre-standard version.

References

[edit]
  1. "Clients", Software, XMPP.
  2. XEP, XMPP, 19 September 2018.
  3. "Libjingle", Code.
  4. "XMPP Features". Conversations. Retrieved 29 November 2025.
  5. "Supported XEPs". Dino (Github). Retrieved 29 November 2025.
  6. "Does Empathy support audio & video chat?", Empathy FAQ, Gnome.
  7. "Gajim 2.0.0". Gajim. Retrieved 29 November 2025.
  8. Features (list), Jitsi.
  9. "FAQ", Community, KDE.
  10. "Use", Kopete, Zugaina, archived from the original on 2013-12-02, retrieved 2013-11-20, Jingle functionality (voice only) can be enabled/disabled in Kopete. The old KDE Wiki statement about it not working is outdated.
  11. Forums, Miranda IM, archived from the original on 2007-10-10.
  12. "Supported XEPs". Pdigin. Retrieved 29 November 2025.
  13. Gal, Viktor (2025-05-07), vigsterkr/libjingle, retrieved 2025-05-29
[edit]