2024-10-10 15:38:51 -04:00
# Introduction
Welcome to yellows' MSNP wiki - "we actually have documentation"
2024-10-20 07:52:06 -04:00
Why not visit the [Table of Commands ](table_of_commands.md )?
2024-10-10 17:20:17 -04:00
2024-10-28 08:20:47 -04:00
# License
Copyright (C) 2024 yellows111.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the article entitled
"[GNU Free Documentation License](license.md)".
2024-10-10 15:38:51 -04:00
# Protocol Versions
* [CVR0 ](versions/cvr0.md )
* [MSNP2 ](versions/msnp2.md )
* [MSNP3 ](versions/msnp3.md )
* [MSNP4 ](versions/msnp4.md )
* [MSNP5 ](versions/msnp5.md )
* [MSNP6 ](versions/msnp6.md )
* [MSNP7 ](versions/msnp7.md )
* [MSNP8 ](versions/msnp8.md )
* [MSNP9 ](versions/msnp9.md )
* [MSNP10 ](versions/msnp10.md )
* [MSNP11 ](versions/msnp11.md )
* [MSNP12 ](versions/msnp12.md )
More is to come soon! Hopefully!
2024-10-10 16:47:15 -04:00
2024-10-20 07:52:06 -04:00
# Web Services
* [Address Book Service ](services/abservice.md )
2024-10-23 16:47:02 -04:00
* [Contact Sharing Service ](services/sharingservice.md )
* [Messenger Config Service ](services/msgrconfig.md )
* [Passport 1.4 ](services/passport14.md )
2024-10-20 07:52:06 -04:00
More is to come soon! Hopefully!
2024-10-22 16:40:16 -04:00
# Other documents and files
2024-10-23 16:47:02 -04:00
* [Constants used on the wiki ](reference_constants.md )
* [Shields Configuration Data ](files/shields.md )
2024-10-28 08:20:47 -04:00
* [`<NOTIFICATION>` documents ](files/notification.md )
2024-11-19 15:23:28 -05:00
* [Challenge key pairs ](files/challenge_keypairs.md )
* [All Client Capabilities ](files/client_capabilities.md )
2024-10-21 12:30:22 -04:00
2024-10-10 16:47:15 -04:00
# Wanted Information
2024-10-11 15:40:21 -04:00
* [MSNP2 ](versions/msnp2.md ): What is the format of the initial `text/x-msmsgsemailnotification` ?
2024-10-23 16:47:02 -04:00
* [MSNP8 ](versions/msnp8.md ): Did [FND ](commands/fnd.md ) exist? Rumors said it did shortly before it got killed in all protocols.
* [MSNP8 ](versions/msnp8.md ): Did [LSG ](commands/lsg.md ) and [LST ](commands/lst.md ) change outside of [SYN ](commands/syn.md ) in this version?
2024-10-11 15:40:21 -04:00
* [MSNP10 ](versions/msnp10.md ): Asynchronous `BPR MFN` s from the server. Does it really?
2024-10-23 16:47:02 -04:00
* [MSNP10 ](versions/msnp10.md ): Did [LSG ](commands/lsg.md ) and [LST ](commands/lst.md ) change outside of [SYN ](commands/syn.md ) in this version?
2024-10-11 15:40:21 -04:00
* [MSNP11 ](versions/msnp11.md ): How does `ABCHMigrated: 0` really work now? `OUT MIG` still exists.
2024-10-23 16:47:02 -04:00
* [MSNP12 ](versions/msnp12.md ): Did [LST ](commands/lst.md ) change outside of [SYN ](commands/syn.md ) in this version?
2024-11-19 15:23:28 -05:00
* MSNP18: Was `<NotificationData>` -based circle updates added in MSNP17 instead?
2024-10-24 10:17:51 -04:00
* Error Codes: A new article for them, seems like they are implemented in wildly different ways.
2024-10-26 06:56:17 -04:00
* [MSNP2 ](versions/msnp2.md ) to [MSNP7 ](versions/msnp7.md ): TODO: Add CVR requests as command 10.
2024-10-11 15:40:21 -04:00
* All Protocols: Any error code known to exist but is missing from the pages.
2024-10-23 16:47:02 -04:00
* All Protocols: Good [CVR ](commands/cvr.md ) responses, all of them are their release versions, when they could be latest.
* All Protocols since [MSNP10 ](versions/msnp10.md ): Use legitimate [CVR ](commands/cvr.md ) responses from the time if possible, not ones for Client Version 6.1.
2024-10-13 17:03:57 -04:00
* [IMS command ](commands/ims.md ): What is the unknown number (that is usually `0` ) in the response?
2024-10-15 13:14:20 -04:00
* [NAK command ](commands/nak.md ): This isn't used ever as a response for [MSG ](commands/msg.md ) D right?
2024-10-16 16:12:41 -04:00
* [MSG command ](commands/msg.md ): What can return from [MSG ](commands/msg.md ) D?
2024-10-23 16:47:02 -04:00
* [LST command ](commands/lst.md ): Any updates to this command outside of [SYN ](commands/syn.md ).
2024-10-28 08:20:47 -04:00
* [PRP command ](commands/prp.md ): Any information on the following properties (if they are properties?):
2024-11-19 15:23:28 -05:00
* `UTL`
* `WPL`
* `CID` : Is this related to spaces?
* `RES`
* `NSD`
* `UAC`
* `MNI`
2024-10-28 08:20:47 -04:00
* [UUX command ](commands/uux.md ): Any information on the following optional elements:
2024-11-19 15:23:28 -05:00
* `PHMEnabled`
* `MNIEnabled`
* `LastSpaceUpdate`
* `LastStorageError`
2024-10-28 08:20:47 -04:00
* `FIR`
2024-10-24 10:17:51 -04:00
* Meta: A good way to handle removed-mid-protocol commands like [FND ](commands/fnd.md ), [LSG ](commands/lsg.md ) and [LST ](commands/lst.md )...
2024-10-15 13:14:20 -04:00
2024-11-19 15:23:28 -05:00
## We know, but isn't written
* [Contact Sharing Service ](services/sharingservice.md ): write about `FindMembership`
* [Address Book Service ](services/abservice.md ): write about `ABFindAll`
* [Messenger Config service ](services/msgrconfig.md ): maybe provide examples?
* [MSNP13 ](versions/msnp13.md ): just write this page already
* [Passport SOAP ](services/passportsoap.md ): document this service for [MSNP12 ](versions/msnp12.md ), [MSNP13 ](versions/msnp13.md ) and above.
Examples would be nice, too.
* MSNC1: the client-to-client subprotocol introduced with [MSNP9 ](versions/msnp9.md ), un-sure where to put this one...
* MSNP2P: the sub-protocol used for file transfers in [MSNP5 ](versions/msnp5.md ), also un-sure where to put this one...
2024-10-15 13:14:20 -04:00
## Unsolved Mysteries
2024-10-24 10:17:51 -04:00
* [INF command ](commands/inf.md ): ** *Why*** does the [MSNP2 ](versions/msnp2.md ) [draft ](https://datatracker.ietf.org/doc/html/draft-movva-msn-messenger-protocol-00#section-7.2 ) have this in Switchboard? It's not used by any client as far as i'm aware.
2024-10-15 13:14:20 -04:00
* [FND command ](commands/fnd.md ): Why does this have an iterator if you can't send it over multiple packets?
* [USR command ](commands/usr.md ): Speaking of CKI, Why is it not specified when authenticating to Switchboard?
2024-10-16 16:12:41 -04:00
* [XFR command ](commands/xfr.md ): That one single digit parameter and what it has to do with `application/x-msmsgsspmessage` .
2024-10-24 10:17:51 -04:00
* The Draft: Why did the draft go vague on the errors? The list [was there ](https://datatracker.ietf.org/doc/html/draft-movva-msn-messenger-protocol-00#section-7.11 ), but no explanations on what can cause them... Odd.
2024-10-10 16:47:15 -04:00
2024-10-10 17:44:08 -04:00
# Common (or not) Terms
2024-10-10 17:20:17 -04:00
* Official Client: MSN Messenger (Service) or Windows Live Messenger.
2024-10-10 16:47:15 -04:00
* Client Version: relevant Official Client version.
2024-10-10 17:20:17 -04:00
* MSNP: Mobile Status Notification Protocol, or whatever acronym you like. Runs over TCP via port 1863.
2024-10-20 07:52:06 -04:00
* ABCH: Address Book Clearing House. Usually refers to the [Address Book Service ](services/abservice.md ) and the [Contact Sharing Service ](services/sharingservice.md ).
2024-10-10 16:47:15 -04:00
* Messenger Config: A file used by Client Version 6.0 and higher that specifies some data for the Official Client.
* `svcs.microsoft.com` : Usually a grab-bag of random XML files or services used for clients older than Client Version 6.0.
* Protocol Split: A MSNP version that usually defines a point of no return.
2024-10-23 16:47:02 -04:00
* PP14: [Passport SSI Version 1.4 ](services/passport14.md ).
* PP30: Passport over SOAP that was implemented in Client Version 7.5+ ([MSNP12](versions/msnp12.md)).
2024-11-19 15:23:28 -05:00
* SOAP: Simple Object Access Protocol, A message schema based on XML. That's the kindest thing I can write about it.
2024-10-10 17:20:17 -04:00
* Passport: The Authentication Server and/or Protocol.
2024-10-26 06:56:17 -04:00
* Undefined Behaviour: An intentional blank left in the documentation, basically as a "I am not responsible for what this does to your client or server" warning.
2024-10-10 17:44:08 -04:00
* Dispatch Server: A type of MSNP server that handles moving users to Notification Servers.
* Notification Server: The real meat of MSNP, handles authentication, user presence, notifications, creates Switchboard Server sessions and boasts the most commands.
* Switchboard Server: The messaging part of the protocol. Changed only twice until it was deprecated in [MSNP21 ](versions/msnp21.md ).
* Command: A 3-letter case-sensitive command type, followed optionally by a transaction ID and the rest of the Command parameters, ending with a new-line.
* Payload Command: A special type of Command that has a integer length parameter as the final parameter before the deliminating new-line.
* New-line/Newline: A Carriage Return character followed by a Line Feed character. Seperates commands in the protocol.
2024-11-19 15:23:28 -05:00
* Error Code: A 3-digit Command that denotes that there was a problem with the last command sent.
2024-10-10 17:44:08 -04:00
* Carriage Return: To return the page-writing apparatus to the left of the page.
* Line Feed: To move the page-writing apparatus down a "line".
2024-10-11 15:40:21 -04:00
* TrID: Transaction ID. Links the server's response to the client's request.
2024-10-28 08:20:47 -04:00
* User handle: An address which supports up to 129 characters that is used across the protocol.
2024-10-20 07:52:06 -04:00
May be called "principles" in other places.
2024-10-26 06:56:17 -04:00
* Public Key, Private Key: The parameters used in [QRY ](commands/qry.md ).
2024-11-19 15:23:28 -05:00
* The one you send with it in plain is the Public Key.
An example of the Public Key is `msmsgs@msnmsgr.com` or `PROD0090YUAUV{2B` .
* The one you use for the main challenge response hash is the Private Key.
An example of the Private Key is `Q1P7W2E4J9R8U3S5` or `YMM8C_H7KCQ2S_KL` .
2024-10-10 16:47:15 -04:00
# Where do I find or edit these page's source?
The git repo is avaliable at < https: / / git . kevinthe . horse / yellows111 / msnp-wiki > .
You can submit changes to me via any avaliable contact method as a e-mail merge request, like those made with [`git format-patch` ](https://git-scm.com/docs/git-format-patch ).