Friday, March 27, 2009

Hello world!! I started blogging today :)

This is my first blog post. I was planning to write a blog for about a year, but was too lazy to start, or lets say didn't have free time to do it :). Today I will write about the GSoC project I'm working on.

I am hoping to be a Google summer of code student this year and I applied for this cool project of Its called "Tell me what you chat with, Ill tell you who you are". Interesting name huh? What I basically have to do is to hack in to the protocol stacks and retrieve the information about the user agent which sent the message in a particular session, and show it on the chat window. I have been working for some time on this project, reading documentation, tutorials , studying about various IM protocols, examining data packets using wireshark etc. It has been fun though it was a little bit time consuming.

I did some coding on my project and as Mr Saliya my algorithms teacher suggested, I thought I should update my blog to show my progress. After doing some research on sip-communicator I managed to do some coding. I did this only for xmpp protocol, and when I receive a message the name of the user agent will be displayed as a text  on the chat window. The user agent is shown in text. In this photo "gmail' means the message came as a gmail chat message. If it came from a Google Talk application it will be shown as "Talk". But when I used pidgin to test this, the name pidgin was not shown on the chat window. I think pidgin changes the xmpp protocol. Normally in an xmpp protocol stack there is an xml tag "from:". Here Talk means the message came from a Google Talk application. But in pidgin this xml tag is user configurable. I talked to a pidgin developer in their IRC and he said that they have made it user configurable to enable the user to log in to two different sessions using the same email address. So i think we cant identify the user agent if we get the message from a pidgin application.

This is one of the best prjects in sip-communicator ideas list