Archive for the 'MSNP' Category

Webcam codec of MSN Messenger reverse-engineered

The official versions of MSN Messenger support webcam chatting. Unfortunatly 3rd-party clients like GAIM or Adium X (client for Mac OS X) do not. The reason for this was that a special codec is used which is created by Logitech and Microsoft.

But this webcam codec has been reverse-engineered by Ole Andre Vadla Ravnas of the Farsight project (audio/video conferencing framework for instant messengers).

From the readme:

It was written because there was no third-party MSN-client that supported this feature due to this proprietary/unknown codec involved. I didn’t like this lack of interoperability, so I decided to do something about it. After studying the official MSN-client a little closer, it became clear that the codec involved was statically linked into the executable, so there was no easy way to use the codec code through Wine. So for fun, and challenge, I reverse-engineered the original implementation by studying the massive amount of assembly code involved, and after a lot of hard work I ended up with this implementation in C.

Check it out at jblinux.net/libmimic/.

MSN Object documentation

ZoRoNaX is busy updating his Web site on MSN Messenger protocol documention, which is mainly the P2P stuff for display pictures, file transfers, etc. This is usually refered to as MSNC, different from MSNP which is another layer. One page already updated is the information on MSN Object, it now includes information for Dynamic Display Pictures and Winks, and is generally a lot easier to understand.

Contact list limit doubled to 300

For all of you who have LOTS of friends, good news! Just a few hours ago, the contact list limit was doubled from 150 to 300 contacts. So, who’s first to reach 300?

Messenger conversation idle time

Switchboard servers keep track of how active their connections are, if a session is idle for an amount of time, it is automatically closed. This only applies to single-user conversation, though.

Some time ago, connections to the switchboard server could be idle for 5 minutes before the server automatically closed the session. This has changed recently, the switchboard now closes idle connections after 1 minute.

sendMsg: Sending messages using PHP

sendMsg is a class which allows you to send a message to a contact from a specified account. It logs in, changes status to online, creates a new IM session with the target user, sends the message and ends both connections.

The Messenger server imposes a limit on how many IM sessions can be created per minute, so the script is not suited for sending messages to large numbers of contacts within the same login session (see below).

The user sending the message must be on the allow list of the receiving user; or, the target user must have “All others” on their allow list (as in the Windows Live Messenger options dialog). To get the login ticket for authentication it uses the MSNPAuth class, which is included in the ZIP file.

Because of the way the protocol works, the sending user doesn’t appear to come online because it does not synchronize lists.

This class has not been extensively tested, if you find a bug or error, please post a comment here.

Continue reading ’sendMsg: Sending messages using PHP’