If you are looking for Jitsi Meet, the WebRTC compatible video conferencing product click here.

Tell me what you chat with, I’ll tell you who you are!

GSoC Student: Brett Geren - USA
Primary Mentor: Yana Stamcheva - Bulgaria

Project Requirements

First term:

  1. Research mechanisms for all supported stacks to determine UA.
  2. Add log entries in every protocol that print UA where possible
  3. Research mechanisms fir all supported protocols to advertise SC as an UA
  4. Implement UA advertising for all protocol whose stacks currently support it
  5. Define an operation set that allows retrieving the user agent for a particular contact (e.g. OperationSetUserAgent)
  6. Implement the above operation set in all protocols (hint: SC agent advertising would probably also best fit there).
  7. Implement Unit Tests for the above operation set in all protocols

Second term:

  1. Extend the UI Service implementation in a way that would allow us to add images next to the avatars in the chat window
  2. Implement a plugin that adds a generic icon in the chat window, next to the avatar and make sure its tooltip displays the user agent as retrieved from OperationSetUserAgent
  3. Add a configuration option in the General configuration form that allows to enable/disable display of the remote user agent
  4. Instead of displaying a generic icon, display the logo of the user agent where possible.

Project Description:

One day, while looking for interesting stuff on addons.mozilla.org, one of our mentors stumbled upon a Thunderbird extension called “Display Mail User Agent”. He found the idea quite nice and decided to try it. He’s been using it ever since and keeps explicitly installing it when changing his user environment.

Quite naturally, excited by his new favourite Thunderbird plugin, he decided to suggest a GSoC project for an equivalent SIP Communicator feature. Just as with SMTP, most instant messaging protocols allow applications to sign outgoing messages for debugging, statistics, or publicity purposes. Right now SIP Communicator isn’t using this information, and there is not even a way for the User Interface to obtain this information from the protocol implementations (Protocol Providers).

Your mission, should you choose to accept it, would be to design a set of interfaces in our ProtocolProviderService that would allow other modules, such as the UI, to retrieve the name of the application that was used for sending a particular message. Next, you would have to implement these interfaces for all protocols where this is possible, and finally you would need to handle the graphical part of the plugin.

Basically, the idea is to make the chat window show the logo of the sending client, so you should be able to get something like this:

Provisional UI implementation of the SC DispMUA plugin (notice the GTalk icon in the top right corner)

So … you like it?

The Mozilla Thunderbird “Display Mail User Agent” Extension

Other Jitsi GSoC Projects

Jitsi Developer Documentation

The official Jitsi website