Master’s thesis – Instant Messaging Systems


This page has my dissertation for the masters at IST for the degree of Communication Networks Engineering.

The whole dissertation can be obtained here, in case you are interested, also, giving a quick look to the Updates/Errata is advised.


Overview of the architecture:

Master thesis architecture


In the last years, proliferation of the Instant Messaging (IM) systems occurred. This growth is propelled by the widespread usage of Internet and people’s innate needs to communicate virtually anywhere and at anytime.
Instituto Superior Técnico (IST) is a leading Engineer faculty in Portugal, with a total population of 10,000 users. Network access at IST is available almost anywhere, both in wireless and wired modes. In this and similar academic environments, IM is a powerful collaborating tool, providing remote and instantaneous communication between users.
This work consists on planning, developing and deploying an IM system solution for IST’s community, adapted to its current service infrastructure. IM addresses and accounts are associated with the central Identity Provider (IdP) service. This association enables the fast deployment of the optional IM service and its widespread use. The IM system is supported by the current Session Initiation Protocol (SIP) infrastructures using the SIP Instant Messaging and Presence Leveraging Extensions (SIMPLE) standards.
This IM service is based on the development of a Java generic purpose open source Message Session Relay Protocol (MSRP) peer library, and its integration with a popular Java multiprotocol IM open source client, Sip-Communicator. This work results in a contribution to the open source and IM worlds by means of software development, and deployment of an IM beta-stage system. The carried implementations as well as evaluations and results are presented. Tests were devised and executed to draw conclusions about the correct provisioning of resources for future versions of the IM system.


(Kindly provided by Adrian Georgescu [AG], from AG Projects, on the 28th April 2010)

1. Page 34

The SIP SIMPLE client python library (2), which is a work in progress, pretends to be a 
comprehensive library for many of the SIMPLE standards. Based on its MSRP API 
documentation, it seems less of a generic purpose MSRP library as it is more oriented for IM 
MSRP specific uses.  

AG’s comment:
SIP SIMPLE client SDK is production grade software since early this year. The software has undergone several interoperability tests at  SIPIT and today is of industry strength quality. There is a 300 pages manual SIP SIMPLE client SDK – Developer Guide
That fully documents in more than 30 pages all MSRP related functions, which are not just chat related as you mentioned but are:
– Chat
– File Transfer
– Desktop Sharing
Plus all generic MSRP headers.
The API is generic (see iMediaStream class) and can be extended with a few lines of code to support any other application running on top of RTP or MSRP transports, see how File Transfer and Desktop Sharing classes have been built.

My comment:

the SIP SIMPLE client SDK came a long way, when I studied it, in the beginning of 2009 and until I finished writing the dissertation in early to mid October, it wasn’t yet in production.

2. Python SDK – The SDK has a MSRP lib, that both the relays and the SIP SIMPLE 
client library use
AG’s comment:
MSRPRelay is not based on python-msrplib, it has a standalone MSRP stack implementation.
3. Page 45
Blink  isn’t currently available, but its release is planned to be done soon81 . 
AG’s comment:
Blink is available since December 2009.
My comment:
Yes, it is, and it is evolving fast, but it wasn’t available when I wrote the dissertation (early to mid October).
4. Page 53

AG’s comment:
You should know that MediaProxy has a unique feature that helps ICE negotiation of RTP media between end-points:
is able to generate accounting information and terminate SIP sessions based on RTP media timeouts so is much clever than being a dumb RTP relay.
My comment:
 Duly noted! Although I believe at the time I published the thesis this feature wasn’t available, as I remember quite distinctly to have struggled to find major differences to justify using MediaProxy over RTPProxy. I didn’t went as far as inspecting the code, if these features were already implemented, I believe that they weren’t publicized on the site. I tried to confirm this, but couldn’t (using Internet Archive’s database).
AG’s comment:
Very good thesis,
My comment:
Thanks! it really means a lot to me specially coming from an expert in the SIP/SIMPLE world.

Creative Commons License
All of the projects published here by João Antunes are licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License.
Permissions beyond the scope of this license may be available here.

Leave a Reply

Your email address will not be published. Required fields are marked *