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

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.