Implementing Conference Calls in Telepathy -- Draft Proposal --

Diane Trout diane at ghic.org
Sat Mar 15 18:47:27 UTC 2014


> *Synopsis:*
> Kde telepathy does not have conference call support. The libraries (
> telepathy-qt, telepathy-farstream ) on which it depends however has the
> necessary classes and methods to allow you to integrate the conference
> feature into the main UI. Main dependency telepathy-farstream is feature
> complete. I would be implementing video conference support with connection
> manager telepathy-gabble which also has most of the methods in it, and
> might require some minor additions/changes. So, the UI needs to be done
> properly to allow user to make conference calls.

I might write part of that as:
 
The main dependencies telepathy-farstream and farstream implement the 
necessary RTP stream handling and codecs for call video conferencing.

> 
> 
> *Implementation Details:*
> To implement the conference calls, we need to rewrite the current code in
> ktp-call-ui, to accomodate for conference calls.
> 
> For the UI, what we could do is, have the mainVideoWidget ( from the
> qtgstreamer library ), as the main video widget, and the participants of
> the conference (including me) have their thumbnails sort of videoWidgets at
> the bottom of the call window arranged, and clicking on any of the bottom
> widgets would allow you to see the enlarged view on the mainVideoWidget.
> Also currently there is restriction on the frame per seconds rate of the
> video being streamed ie 15. We could add a menu, which can have options to
> modify the frame rate.q

I think the UI of a main window plus strip of smaller thumbnails is a good way 
of handling this. And for a first implementation clicking to select who is the 
lead is reasonable. It would probably be a good idea to provide a good API to 
allow other selection algorithms. (e.g. signaling based off of whoever is 
talking).

> For the backend we would need to make changes to telepathy-gabble the main
> connection manager, in call-muc-channel to add support for conference
> protocol if it lacks. However since the gabble MuC is implemented over
> muji, and services like facebook and gmail does not support, video
> conferencing over XMPP, as it is closed, so in the end we would be having
> multi-party video conference on muji based service like jabber.

I don't think there's any client that currently supports muji, It was just an 
experimental protocol. However, once the UI supports multi-party chat that 
will be useful when other protocols like COLIBRI are implemented.

I'm not sure how specific the UI needs to be to the different multi-party 
protocols.

Muji is based on a room concept - users join a room and then can join that 
conference.

COLIBRI which implemented by Jitsi seems to be based around a conference 
organizer invites people into a conference. 

Diane


More information about the KDE-Telepathy mailing list