Protocols/MSNP/MSNP Grid

From NINA Wiki
Jump to navigation Jump to search
MSNP Protocol
IntroductionTermsClients
Reference
Error ListCommandsRelaying 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
MSNC
IntroductionP2PObject DescriptorDisplay PicturesFile 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