Since March 10, 2003 - Version 2
MSN Messenger Protocol | ||||||||||||||||||||||||||||||||||||||||||||
|
What is MSN Instant Messenger?MSN Instant Messenger [http://messenger.msn.com/] is a proprietary instant messaging network brought to you by Microsoft. The client software was first released in July, 1999, and is neither the first nor the last instant messaging network. The software is now bundled with Windows (TM). MSN Messenger is sometimes also known as .NET Messenger or Windows Messenger. The term MSN Messenger can refer to the protocol, the server, and the official client from Microsoft. MSN is among the top four proprietary instant messaging networks. There are currently (as of March, 2003) far less unique users on the MSN Instant Messenger network than there are on AOL Instant Messenger or ICQ but there are more than on the Yahoo Messenger network. Compared to AOL (which owns both AIM and ICQ), Microsoft is very nice to the third party developers of its protocol. The most likely reason why that is true is because Microsoft wants community support in order to get ahead of AOL in terms of users. Who is this site aimed at?This site is written for programmers who are interested in writing their own MSN Messenger client or server. It describes the technical details of the Messenger protocol, and how to write a program to speak that protocol. If you're an end-user - of Microsoft's client or someone else's - this site won't be of any use to you. There are other sites that might. What is the protocol?The MSN Instant Messenger protocol is the "language" used in communication between the client (the program on your PC) and the server. This site attempts to fully document the protocol so that third party software developers can write their own programs to interact with the network. For example, when someone on your contact list goes offline, the servers sends a message like this to your client: How did you learn the protocol?All of the information on the protocol was learned by reading the official IETF draft, reading various sources, analyzing packets, and writing programs. A lot of information was contributed by readers who discovered aspects of the protocol on their own through testing and research. If you make any discoveries, we would certainly like to hear about them. What versions of the protocol are covered?This website attempts to fully uncover the protocol version MSNP7, which was the latest protocol until MSN Messenger 5.0 was released. MSN 5 uses a new MSNP8, which is very different from any older versions, and will be researched and discussed in the MSNP8 page. Differences in versions older than MSNP7 will be discussed in their relavent pages. What syntax is used throughout this document?Raw ProtocolThis site includes many examples of dialogues between client and server, and between two clients. Client/server dialogues are always described from the point-of-view of the client. Client/client dialogues are described from the point-of-view of one or other client. A bold monospace font is always used for these dialogues. Text sent from the (local) client is always A block of text sent by the (local) client is always preceded by At the end of a line of text sent by the server or the client, there are often newline characters. In most cases, it is a carriage return followed by a linefeed which is expressed as the light-gray When short examples of protocol are found in paragraphs, such as the name of a command or an example of a nickname, they are usually found in |