Protocols/MSNP/MSNP Grid: Difference between revisions

From NINA Wiki
Jump to navigation Jump to search
(Created page with "This is a grid that indicates which versions of MSN use what versions of MSNP. = Grid = <pre>MSN 1.0 (1999-07-17): 2 MSN...")
 
No edit summary
Line 28: Line 28:
'''MSNP1''' - Existence unconfirmed; possibly 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.
'''MSNP2''' - Used in MSN Messenger 1.0; first publicly released version of the MSNP protocol; recognized <code>MD5</code> and <code>CTP</code> authentication methods (plaintext); supports basic contact management (add/remove contacts to <code>FL</code>, <code>AL</code>, and <code>BL</code>), 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)
'''MSNP3''' - Used in MSN Messenger 2.0 and WebTV/MSNTV build 2.5; removed <code>CTP</code> authentication; introduced <code>IMS</code> 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
'''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`)
'''MSNP5''' - Used in MSN Messenger 3.0; introduces custom user/contact properties (<code>PRP</code>/<code>BPR</code>), server-side alerts (<code>NOT</code>), paging MSN Mobile devices (<code>PAG</code>/<code>IPG</code>), and the ability to add a custom message and name to service invitation emails (<code>SDC</code>)


'''MSNP6''' - Used in MSN Messenger 3.6 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`)
'''MSNP6''' - Used in MSN Messenger 3.6 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 (<code>CHL</code>/<code>QRY</code>)


'''MSNP7''' - Used in MSN Messenger 4.5 - 4.7 (to our knowledge); Adds support for contact groups (not to be confused with circles)
'''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
'''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 <code>TWN</code> 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`
'''MSNP9''' - Used in MSN Messenger 6.0; adds basic P2P support with the MSNObject for contacts and the <code>D</code> type for switchboard messages, which facilitates the MSNC P2P protocol; <code>QNG</code> 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 <code>PNG</code>


'''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`
'''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 <code>PRP</code>


'''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.
'''MSNP11''' - Used in MSN Messenger 7.0; adds support for notifying users of updated MSN Spaces blogs from contacts, managing MSN Mobile credits (<code>SBS</code>), server-side client configuration (<code>GCF</code>), <code>UBX</code> (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
'''MSNP12''' - Used in MSN Messenger 7.5; still uses <code>TWN</code> 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 <code>NOT</code>; 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`
'''MSNP13''' - Used in Windows Live Messenger 8.0 betas (and possibly some final versions?); deprecates client-side <code>GCF</code> in favor of server-side <code>GCF</code> sent during the initial authentication phase; also deprecates <code>SYN</code> and contact/group-related commands in favor of SOAP-based ABCH services and XML-based <code>ADL</code> and <code>RML</code> commands for adding/removing contacts to lists (ABCH services are used to better integrate Messenger and Hotmail together) - <code>ADL</code> 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; <code>GTC</code> 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 (<code>RFS</code>); support for sending of client-specific messages to other users (<code>UUN</code>/<code>UBN</code>); server-side ABCH sync notifications with <code>NOT</code>


'''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
'''MSNP14''' - Used in Windows Live Messenger 8.0.0792; supports interoperability with Yahoo! Messenger (<code>UUM</code>/<code>UBM</code>); 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 [[Protocols/MSNP/Reference/Relaying_Party_Suite|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)
'''MSNP15''' - Used in Windows Live Messenger 8.1 and 8.5; adds <code>SSO</code> login method - uses the same HTTPS SOAP login service, but now [[Protocols/MSNP/Reference/Relaying_Party_Suite|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
'''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
Line 60: Line 60:
'''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)
'''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)
'''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 <code>SSO</code> authentication method is still the same; utilizes <code>UUM</code> 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, <code>SDG</code> being a major example of a new command heavily used for Circles); introduces ability to report users from NS (<code>VAS</code>, at this time currently undocumented)


'''MSNP19''' - Existence unknown
'''MSNP19''' - Existence unknown
Line 66: Line 66:
'''MSNP20''' - Used in Windows Live Messenger 2010 Beta; not much else is known aside from this right now
'''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
'''MSNP21''' - Used in Windows Live Messenger 2011 and 2012; complete revamp of MSNP protocol; uses <code>PUT</code>/<code>NFY PUT</code> to broadcast statuses of contacts to users and <code>SDG</code> completely replaces switchboards; <code>ADL</code> and <code>RML</code> 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?) ==
== 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
'''MSNP22''' - Used in Windows 8's UWP Messaging app; only works through HTTPS gateway; official client used <code>WEB</code> authentication method, but official servers also accepted <code>SSO</code> method as well; only login portion has been documented fully, the rest is up for debate


'''MSNP23''' - Existence unconfirmed; most likely doesn't exist
'''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
'''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 (<code>SDG</code> 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.
'''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
'''MSNP26+''' - Most likely that these versions don't exist, period

Revision as of 11:00, 11 May 2022

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.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

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 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