# Introduction MSNP8 is the seventh released version of the Mobile Status Notification Protocol. It was introduced officially in Client Version 5.0.0537. # Command information *No commands for any service were known to be introduced in this version* *No error codes were known to be introduced in this version* The following commands were removed in this version: * [INF](../commands/inf.md) (automatic disconnection) * [FND](../commands/fnd.md) (`502` by July 2003, see Known changes for client details.) # Known changes (from [MSNP7](msnp7.md)): * Being the first protocol split, all released clients that support MSNP8 do not support any previous versions. * Login process now VER-CVR-USR instead of VER-INF-USR. * USR OK has a new parameter, usually? 0, but of currently unknown use. * Introduced `TWN` authentication method, which uses Passport 1.4 over HTTPS. * Reworked SYN and related response commands drastically: Iterators are gone, now total size of both groups and total contacts included in SYN response. All transaction IDs and list versions removed from response commands (now treated as asynchronous commands). Unset properties (PRPs) are now not sent. Hurray. * CVR from client now has a new 8th parameter, which is the current user. * New initial profile fields: ClientIP and ClientPort. ClientPort needs to be endian swapped for it's correct value. Formula: `y = (((x & 0xff) * 256) + ((x & 0xff00)/256))`. * NOTE: FND might still exist in client, but theres no way of triggering it. Practically removed. * BPR removes related user, for some reason, default fields share same optimization as PRP does. * LST (for SYN): Lists are now all combined into a single number, where: 1 = FL, 2 = AL, 4 = BL, 8 = RL, for example FL+AL+RL = 11. * [CHG](../commands/chg.md), ILN, NLN: Client Capabilities are introduced. You can now tell other clients what features you support. * Official Client: Error 711 is now handled. Error 603 isn't handled again after Client Version 4.5 supported it. * Official Client: Connectivity field added to application requests to notify the other user about what the network conditions are. * Official Client: Introduced ABCH (Address Book Clearing House) support. The URL is gathered from `svcs.microsoft.com`. `abch_config.asp` provides an XML document with a `` element. It likely has a `` child element containing the URL of the ABCH service. # Client-server communication example *NOTE: This has been line-breaked. Lines beginning with `..` followed by a space are continuations of the previous line. ``` C: VER 1 MSNP8 CVR0 S: VER 1 MSNP8 C: CVR 2 0x0409 win 4.10 i386 MSNMSGR 5.0.0537 MSMSGS example@hotmail.com S: CVR 2 5.0.0537 5.0.0537 1.0.0863 .. http://download.microsoft.com/download/msnmessenger/install/5.0/w98nt42kmexp/en-us/setupdl.exe .. http://messenger.microsoft.com C: USR 3 TWN I example@hotmail.com S: XFR 3 NS 10.0.0.5:1863 0 10.0.0.1:1863 ``` Client disconnects from server Client opens a connection to 10.0.0.5:1863 ``` C: VER 4 MSNP8 CVR0 S: VER 4 MSNP8 C: CVR 5 0x0409 win 4.10 i386 MSNMSGR 5.0.0537 MSMSGS example@hotmail.com S: CVR 5 5.0.0537 5.0.0537 1.0.0863 .. http://download.microsoft.com/download/msnmessenger/install/5.0/w98nt42kmexp/en-us/setupdl.exe .. http://messenger.microsoft.com C: USR 6 TWN I example@hotmail.com S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507 C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"]) S: USR 7 OK example@hotmail.com example%20user 1 0 S: MSG Hotmail Hotmail 448 MIME-Version: 1.0 Content-Type: text/x-msmsgsprofile; charset=UTF-8 LoginTime: 1726321960 EmailEnabled: 1 MemberIdHigh: 1 MemberIdLow: 2 lang_preference: 1033 PreferredEmail: example@hotmail.com country: US PostalCode: Gender: Kid: 0 Age: BDayPre: Birthday: Wallet: Flags: 1027 sid: 507 kv: 11 MSPAuth: whatever+t+is+in+your+passport+login+ticket+that+you+sent+for+USR+TWN+S$ ClientIP: 192.168.1.111 ClientPort: 18183 C: SYN 8 14 S: SYN 8 15 1 1 S: GTC A S: BLP AL S: PRP PHH 123-4567 S: LSG 0 Other%20Contacts 0 S: LST anotheruser@hotmail.com another%20user 11 0 S: BPR PHH 1%20444%20222-3333 C: CHG 9 NLN 0 S: CHG 9 NLN 0 S: ILN 9 NLN anotheruser@hotmail.com another%20user 28 S: NLN NLN anotheruser@hotmail.com another%20user 2 S: NLN NLN anotheruser@hotmail.com another%20user 28 C: OUT ``` Client disconnects from server ``` S: OUT ``` Server disconnects client