Dafydd (dgh) wrote,

Multi-User Jingle

Update Since I posted this, we discovered that our first choice of name, Mingle, has some trademark problems. For the time being, we're going to call it Multi-User Jingle.

When I joined Collabora in 2006, I was quickly thrown into the deep end when I was assigned to work on extending Jingle, the then-nascent VoIP protocol for Jabber, to support video. That work came to fruition on the Nokia N800, and the protocol we developed is incorporated into the latest Jingle drafts (which incidentally are now in Last Call).

This year, we wanted to try to take Jingle further by extending it to support more than two participants, and a grant from the NLnet Foundation made it possible for Sjoerd and I to spend time on it. I'm now happy to announce that we have a working implementation of the beast we've dubbed Mingle Multi-User Jingle. There is still much that remains to be done, but we think that the basic design is finished.

MUJ client screenshot

Our initial implementation builds heavily on work done by others. Wim's RTP session manager for GStreamer gives us clock syncing and RTCP support. Olivier's Farsight 2 work gives us multiparty-capable codec discovery and autoplugging. Youness's work on libnice gives us robust NAT traversal using ICE.

Future protocol work includes support for multicast transport, media mixers and relays, and of course ironing out all the corner cases that will inevitably turn up. Our ultimate goals are to standardise the protocol through the XEP process and to make it possible to use it with Empathy.

We've submitted a draft XEP to the XMPP editor, and kicked off some discussion on the Jingle mailing list. Our wiki page describes how to get our client working. This currently isn't as easy as we'd like due to the dependency on recent versions of various components, but should become easier with time.

Tags: jabber, jingle, mingle, xmpp
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

This looks awesome!



December 2 2008, 20:22:21 UTC 8 years ago

woooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooow. GOGOGOGO

At last


December 2 2008, 20:50:10 UTC 8 years ago

... and then, 20 years after, the first application worthy to challenge the venerable VIC appeared!

Oh, interesting; I wasn't aware of VIC. It seems not to have taken off; I wonder why.
Ekiga ?
That is so cool! With some luck, this could be a skype killer.


December 2 2008, 23:32:45 UTC 8 years ago

Really great :) really!

But for endusers it a cross-platform face2face call using XMPP would be a great start.

But I am really looking forward to this!!11



December 3 2008, 07:35:36 UTC 8 years ago

Whoohooo! its great to see all this finally come together :)

- Rob Taylor
now, we need to find ISPs that have multicast access... (ahem)
Mingle doesn't require multicast — in fact, we don't support it at all yet. In the future, we would just like to be able to use it when possible.

And I love what we can see of your company meetings :)
Will it work with other clients like say video conferencing with iChat over Jabber?
I don't know the details of how iChat works, but it uses its own non-standard protocol. I've heard that it essentially sends SIP over XMPP. It won't be compatible with Mingle. It's possible that there might be a free implementation, but I hope that in the long run everybody will use a standard protocol.


December 4 2008, 23:55:08 UTC 8 years ago

Hey this is great stuff! I have one suggestion though...why is your video the same size as everyone else. I would imagine that like iChat, Skype, etc your video would be a smaller sized video and the other people in the conference would have the bigger sized windows. When you video is the same size it can be distracting. Anyway, looks great!
This UI is more or less the simplest thing we could make; a real UI would probably have the outgoing video stream shrunk as you suggest.