|Overview • Glossary|
|Payload Commands • Names|
|Authentication • Presence|
|Challenges • Getting Details|
|Setting Details • Messages|
|Authentication • Miscellaneous|
|Messages • Example Session|
|Introduction • Terms • Clients|
|Error List • Commands • Relaying Party Suite • Spotlife|
|XMPP • HTTP Gateway • Tabs • Activities|
|Development Tools • MSNP Grid|
|Polygamy • URLs used by MSN|
|Introduction • P2P • Object Descriptor • Display Pictures • File Transfer|
|Microsoft Messenger for Mac|
|MSNP on WebTV (MSNTV)|
MSN Messenger identifies each principal with three names: an account name (also known as a "Passport", "user handle", or "logon name"), a display name (also known as a "friendly name", "custom name" or "custom user name"), and what we'll call a nickname.
Your account name is the Passport you use to sign in with - something like "email@example.com". You can't change it, and you will only be asked for it once, when logging in. Though most account names end in "@hotmail.com", it is possible to turn any email address into a Passport by registering it with passport.com. Hotmail and MSN accounts are automatically registered with the Passport system. An account name can be 129 bytes long at most.
All commands require you to refer to other principals by their account name (rather than their display name or nickname) because account names are guaranteed to be unique.
Your display name is a string you use to identify yourself. You can set your display name with the REA command.
One can not set a display name to be more than 387 bytes. However, the official client will not allow principals to set names to more than 129 characters (a three-byte URL-encoded character counts as one character) and will not properly handle names with more than 129 characters.
Because nicknames are often used as a single parameter in a command, they must be URL-encoded. For example, when you see a nickname that looks like Two%20Words in the protocol, it should be interpreted and displayed as Two Words.
A principal's nickname is the name you give them, which may or may not be the same as their display name, or the nickname other people give them. This is the name that should always appear on your contact list. Nicknames are altered using the ADD and REA commands. Nicknames are sent in the LST part of the SYN reply. Nicknames are just like display names in format. They use URL-encoding, have the same limits in regards to length and restricted words, etc.
The official client always tries to keep nicknames the the same as display names - whenever a principal sends a new display name, the official client sends a REA command with that name. However, when a principal changes their display name while you're not connected then logs off before you reconnect, you can still be left with an out-of-date nickname. This is a flaw in the MSN Messenger protocol.