[jdev] ANN: strophe.jingle -- a jingle/webrtc plugin for strophe
fippo at goodadvice.pages.de
Fri Jun 14 19:09:10 UTC 2013
mattj thinks this ought to be announced here, too. Announcement text is
mostly courtesy of ralphm :-)
strophe.jingle is a webrtc connection plugin for strophe.js. Strophe is a
popular library for writing XMPP client applications that run on any of
the current popular browsers. Instead of the native TCP binding,
strophe.js uses BOSH (Bidirectional-streams Over Synchronous HTTP, a
variant of long polling) to connect to an XMPP server. Besides enabling
anyone to build (federated) IM applications, this opens up the browser as
an addressable endpoint for two-way exchange of structured messages,
including presence and publish-subscribe applications.
Fork it at https://github.com/ESTOS/strophe.jingle
This plugin makes it possible to negotiate audio/video streams via XMPP
and then relinquish control to the WebRTC support of browsers like Firefox
and Chrome for the actual out-of-band media streams. With XMPP/Jingle you
get the authenticated, secured and federated media signaling, whereas
WebRTC gives you an API to set up the media streams using RTP/ICE/STUN and
provide access to cameras and microphones.
- mostly standards-compliant jingle, mapping from WebRTCs SDP to Jingle
and vice versa. Aiming for full compliance.
- tested with chrome and firefox.
- trickle and non-trickle modes for ICE (XEP-0176). Even supports early
candidates from peer using PRANSWER.
- support for fetching time-limited STUN/TURN credentials through
XEP-0215. rfc5766-turn-server is a TURN server which implements this method.
a sample demonstrating the use of this to build a federated multi-user
conference (in full-mesh mode).
Thanks to my employer for the permission to release this under MIT
More information about the JDev