Protocols/MSNP/MSNP8/Names

From NINA Wiki
Jump to navigation Jump to search
MSNP Protocol
Version 8
General
OverviewGlossary
Payload CommandsNames
Bitwise AND
Connecting
AuthenticationPresence
ChallengesGetting Details
Setting DetailsMessages
Miscellaneous
Example Session
Messaging
AuthenticationMiscellaneous
MessagesExample Session
Overview
IntroductionTermsClients
Reference
Error ListCommandsRelying Party SuiteSpotlife
Services
XMPPHTTP GatewayTabsActivities
Documentation
Development ToolsMSNP Grid
PolygamyURLs used by MSN
Documents
Protocol Versions
Version 21
Version 18
Version 16
Version 15
Version 14
Version 13
Version 12
Version 11
Version 9
Version 8
Version 2
MSNC
IntroductionP2PObject DescriptorDisplay PicturesFile Transfer
Scenarios
Microsoft Messenger for Mac
MSNP on WebTV (MSNTV)


Overview

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.

Account Names

Your account name is the Passport you use to sign in with - something like "principal@hotmail.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.

Display Names

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.

URL-Encoding

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.

Nicknames

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.