msnp-wiki/docs/index.md

6.0 KiB

Introduction

Welcome to yellows' MSNP wiki - "we actually have documentation"

Why not visit the Table of Commands?

Protocol Versions

More is to come soon! Hopefully!

Web Services

More is to come soon! Hopefully!

Other documents

Wanted Information

  • MSNP2: What is the format of the initial text/x-msmsgsemailnotification?
  • MSNP6: What makes the "Account must be verified before using the service" dialog show up?
  • MSNP6: Does it really acknoledge the account verified bit? I couldn't get the toast to show up in Client Version 3.6.003x.
  • MSNP8: Did FND exist? Rumors said it did shortly before it got killed in all protocols.
  • MSNP8: Did LSG and LST change outside of SYN in this version?
  • MSNP10: Asynchronous BPR MFNs from the server. Does it really?
  • MSNP10: Did LSG and LST change outside of SYN in this version?
  • MSNP11: How does ABCHMigrated: 0 really work now? OUT MIG still exists.
  • MSNP12: Did LST 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: Use legitimate CVR responses from the time if possible, not ones for Client Version 6.1.
  • FND command: What was returned when this was disabled in 2003 in MSNP2 to MSNP6?
  • IMS command: What is the unknown number (that is usually 0) in the response?
  • NAK command: This isn't used ever as a response for MSG D right?
  • MSG command: What can return from MSG D?
  • INF command: Why does the MSNP2 draft have this in Switchboard? It's not used by any client as far as i'm aware.
  • LST command: Any updates to this command outside of SYN.
  • ADC command: Can this show up as a asynchronous command?

Unsolved Mysteries

  • FND command: Why does this have an iterator if you can't send it over multiple packets?
  • USR command: Speaking of CKI, Why is it not specified when authenticating to Switchboard?
  • XFR command: That one single digit parameter and what it has to do with application/x-msmsgsspmessage.
  • 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. Usually refers to the Address Book Service and the Contact Sharing Service.
  • 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.
  • 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.
  • User handle: A 129-character max address used across the protocol. May be called "principles" in other places.

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.