Protocols/MSNP/MSNP Grid
MSNP Protocol |
Introduction • Terms • Clients |
Reference |
Error List • Commands • Relying Party Suite • Spotlife |
Services |
XMPP • HTTP Gateway • Tabs • Activities |
Documentation |
Development Tools • MSNP Grid |
Polygamy • URLs 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 |
Introduction • P2P • Object Descriptor • Display Pictures • File Transfer |
Scenarios |
Microsoft Messenger for Mac |
MSNP on WebTV (MSNTV) |
This is a grid that indicates which versions of MSN use what versions of MSNP.
Grid
MSN 1.0 (1999-07-17): 2 MSN 2.0 (1999-11-16): 3 2 MSN 2.2+ (2000-03-28): 4 3 MSN 3.0+ (2000-08-07): 5 4 MSN 4.0* (2001-05-08): 6 5 4 MSN 4.5+ (2002-09-24): 7 6 5 4 MSN 5.0 (2003-02-19): 8 MSN 6.0 (2003-07-11): 9 8 MSN 6.1+ (2004-06-01): 10 9 MSN 7.0 (2005-03-31): 11 10 MSN 7.5 (2005-10-18): 12 11 10 WLM 8.0 (2006-06-19): 14 13 WLM 8.1+ (2007-01-29): 15 14 13 WLM 9.0 (2007-11-07): 16 15 WLM 14 (2009-01-07): 18 17 WLM 15 (2010-09-30): 21 20 19 18 17 WLM 16 (2012-08-07): 21 20 19 18 17
- Beta version; never released as 4.0
MSNP History
MSN / Live Era (1999-2012)
MSNP0 - Existence unconfirmed; most likely doesn't exist
MSNP1 - Existence unconfirmed; possibly doesn't exist
MSNP2 - Used in MSN Messenger 1.0; first publicly released version of the MSNP protocol; recognized MD5
and CTP
authentication methods (plaintext); supports basic contact management (add/remove contacts to FL
, AL
, and BL
), RL notifications, sending service invitations to unregistered users via e-mail (SND), and switchboard messaging.
MSNP3 - Used in MSN Messenger 2.0 and WebTV/MSNTV build 2.5; removed CTP
authentication; introduced IMS
command to toggle the ability to send switchboard requests and receive switchboard invitations (only officially used on WebTV's Messenger client)
MSNP4 - Used in MSN Messenger 2.2; No known changes
MSNP5 - Used in MSN Messenger 3.0; introduces custom user/contact properties (PRP
/BPR
), server-side alerts (NOT
), paging MSN Mobile devices (PAG
/IPG
), and the ability to add a custom message and name to service invitation emails (SDC
)
MSNP6 - Used in MSN Messenger 3.6, 4.0 and WebTV/MSNTV build 2.8; Now requires users to have their account verified to use services and introduces required challenge/response authentication post-login (CHL
/QRY
)
MSNP7 - Used in MSN Messenger 4.5 - 4.7 (to our knowledge); Adds support for contact groups (not to be confused with circles)
MSNP8 - Used in MSN Messenger 5.0, Windows Messenger 5.1, and MSN Messenger 4.7 builds 2005 - 3001; obsoletes MD5 authentication in favor of new HTTPS-based TWN
authentication; restricts MSN subscriber accounts to be logged on to MSN Explorer to use Messenger services; adds capabilities support for contacts
MSNP9 - Used in MSN Messenger 6.0; adds basic P2P support with the MSNObject for contacts and the D
type for switchboard messages, which facilitates the MSNC P2P protocol; QNG
now sends an argument - a randomly generated number that is believed to range from 40 - 60 that signifies the timeout in seconds before the client should send another PNG
MSNP10 - Used in MSN Messenger 6.1 and 6.2; starts integrating Messenger with Hotmail with several updated versions of commands and using UUIDs in place of numeric IDs for user items (on official servers Messenger and Hotmail groups were also integrated with each other); also allows changing a user's display name through PRP
MSNP11 - Used in MSN Messenger 7.0; adds support for notifying users of updated MSN Spaces blogs from contacts, managing MSN Mobile credits (SBS
), server-side client configuration (GCF
), UBX
(setting user details like PSM, current media, etc.), and retrieval of OIMs (offline messages, at the time called Offline Mobile Messages and were only possible to send through supported mobile devices); challenge/response authentication is updated to be more complex.
MSNP12 - Used in MSN Messenger 7.5; still uses TWN
authentication method but official client used an HTTPS SOAP-based login service for the process (the previous HTTPS service was primarily header-based); adds support for network IDs to identify contacts from different networks (in this case mainly to identify Messenger and phone contacts) and also allows for real-time and detailed notifications regarding contacts' MSN Spaces blogs thanks to NOT
; sends capabilities ID of users in switchboard rosters/join notifications
MSNP13 - Used in Windows Live Messenger 8.0 betas (and possibly some final versions?); deprecates client-side GCF
in favor of server-side GCF
sent during the initial authentication phase; also deprecates SYN
and contact/group-related commands in favor of SOAP-based ABCH services and XML-based ADL
and RML
commands for adding/removing contacts to lists (ABCH services are used to better integrate Messenger and Hotmail together) - ADL
is also used to sync contact lists to the server using data from the ABCH services, so server-side contact lists on the protocol server are nonexistent at this point; GTC
is obsoleted and sending the command results in a server disconnection; allows sending of OIMs on desktop clients through SOAP services; server can now request client for its lists (RFS
); support for sending of client-specific messages to other users (UUN
/UBN
); server-side ABCH sync notifications with NOT
MSNP14 - Used in Windows Live Messenger 8.0.0792; supports interoperability with Yahoo! Messenger (UUM
/UBM
); switchboard invitations can now be marked by the server to indicate if the client should connect through direct protocol servers or gateways
MSNP15 - Used in Windows Live Messenger 8.1 and 8.5; adds SSO
login method - uses the same HTTPS SOAP login service, but now another challenge/response function is required to login completely; 8.5-specific features: allows the ability to make profile roaming through several new ABCH services and new MSNObject type "14" is defined ("Location"; removed after betas for privacy reasons)
MSNP16 - Used in Windows Live Messenger 9.0 Beta and Messenger:mac 8.0.2; introduces support for MPoP (Multiple Points of Presence), allowing users to sign in on several devices at once with the same account, and signature sounds (sounds that your contacts can hear when you log in); switchboards now have to accommodate with the new MPoP system by requiring switchboard initiators to invite their other sessions and for the servers to send join notifications and roster information in a specific order
MSNP17 - Used in early Windows Live Messenger 2009 betas; not much is known about it but it appears to have support for an earlier version of Circles (those use ABCH services that are undocumented at the moment)
MSNP18 - Used in later Windows Live Messenger 2009 betas and final WLM 2009 builds; official client uses revamped version of the HTTPS SOAP login service, but SSO
authentication method is still the same; utilizes UUM
to send offline messages in place of OIM SOAP services (SOAP is still used to retrieve them); supports Circles, officially named Groups (a mix of ABCH services and new/reutilized MSNP commands, SDG
being a major example of a new command heavily used for Circles); introduces ability to report users from NS (VAS
, at this time currently undocumented)
MSNP19 - Existence unknown
MSNP20 - Used in Windows Live Messenger 2010 Beta; not much else is known aside from this right now
MSNP21 - Used in Windows Live Messenger 2011 and 2012; complete revamp of MSNP protocol; uses PUT
/NFY PUT
to broadcast statuses of contacts to users and SDG
completely replaces switchboards; ADL
and RML
commands have their payload data restructured; server migration commands can now be specified to redirect to an HTTP gateway server; introduces dedicated multi-user chats referred to as "Multiparties"; setting PSM is now delegated to a web service; introduces ability to tell other PoPs when you close a window in one session
Metro & Post-Live Era (2012-2019?)
MSNP22 - Used in Windows 8's UWP Messaging app; only works through HTTPS gateway; official client used WEB
authentication method, but official servers also accepted SSO
method as well; only login portion has been documented fully, the rest is up for debate
MSNP23 - Existence unconfirmed; most likely doesn't exist
MSNP24 - Another revamp of the MSNP protocol used in Skype clients from 6.14 all the way to 7.x (Windows); new commands are used to authenticate (meaning no specified authentication methods anymore) and also for normal service usage (SDG
being a major exception), and almost all currently available commands are payload commands; the fact that Microsoft kept this version of MSNP in use some time after they discontinued their Messenger service (and finally killed off the servers for that around 2017) until around 2019 is surprising, as at that point MSNP as a protocol was around 20 years old and on life support
MSNP25 - Speculation has been made about this version potentially existing due to the behavior of the protocol servers when MSNP24 was initially discovered, but at this point we still don't have hard proof that it even existed at all.
MSNP26+ - Most likely that these versions don't exist, period