msnp-wiki/docs/index.md

78 lines
5.6 KiB
Markdown

# Introduction
Welcome to yellows' MSNP wiki - "we actually have documentation"
Why not visit the [Command Table](command-table.md)?
# 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!
# Wanted Information
* [MSNP2](versions/msnp2.md): What is the format of the initial `text/x-msmsgsemailnotification`?
* [MSNP3](versions/msnp3.md): How is `creds` generated for URLs native to this version?
* [MSNP4](versions/msnp4.md): Anything for this one.
* [MSNP6](versions/msnp6.md): What makes the "Account must be verified before using the service" dialog show up?
* [MSNP6](versions/msnp6.md): Does it really acknoledge the account verified bit? I couldn't get the toast to show up in Client Version 3.6.003x.
* [MSNP8](versions/msnp8.md): Did FND exist? Rumors said it did shortly before it got killed in all protocols.
* [MSNP8](versions/msnp8.md): Did [LST](commands/lst.md) change outside of SYN in this version?
* [MSNP10](versions/msnp10.md): Asynchronous `BPR MFN`s from the server. Does it really?
* [MSNP10](versions/msnp10.md): Did [LST](commands/lst.md) change outside of SYN in this version?
* [MSNP11](versions/msnp11.md): How does `ABCHMigrated: 0` really work now? `OUT MIG` still exists.
* [MSNP12](versions/msnp12.md): Did [LST](commands/lst.md) change outside of SYN in this version?
* All Protocols: Any error code known to exist but is missing from the pages.
* All Protocols: Good CVR responses, all of them are their release versions, when they could be latest.
* All Protocols since [MSNP10](versions/msnp10.md): Use legitimate CVR responses from the time if possible, not ones for Client Version 6.1.
* [FND command](commands/fnd.md): What was returned when this was disabled in 2003 in [MSNP2](versions/msnp2.md) to [MSNP6](versions/msnp6.md)?
* [FND command](commands/fnd.md): How did sending an invitation work in [MSNP2](versions/msnp2.md)-[MSNP4](versions/msnp4.md)? Client Version 3.0 using [MSNP4](versions/msnp4.md) just uses SND instead, but what about Client Version 1.0 to 2.2?
* [IMS command](commands/ims.md): What is the unknown number (that is usually `0`) in the response?
* [NAK command](commands/nak.md): This isn't used ever as a response for [MSG](commands/msg.md) D right?
* [MSG command](commands/msg.md): What can return from [MSG](commands/msg) D?
* [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.
* [LST command](commands/lst.md): Any updates to this command outside of SYN.
## Unsolved Mysteries
* [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?
* The Draft: Why did the draft go vague on the errors? The list was there, but no explanations on what can cause them... Odd.
# Common (or not) Terms
* Official Client: MSN Messenger (Service) or Windows Live Messenger.
* Client Version: relevant Official Client version.
* MSNP: Mobile Status Notification Protocol, or whatever acronym you like. Runs over TCP via port 1863.
* ABCH: Address Book Clearing House
* 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.
* PP14: Passport SSI Version 1.4.
* PP30: Passport over SOAP ala Client Version 7.5+.
* SOAP: Simple Object Access Protocol, A wrapper over XML. That's the kindest thing I can write about it.
* Passport: The Authentication Server and/or Protocol.
* Undefined Behavour: An intentional blank left in the documentation, basically as a "I am not responsible for what this does to your client or server" warning.
* 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.
* 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".
* TrID: Transaction ID. Links the server's response to the client's request.
# 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).