msnp-wiki/docs/versions/msnp8.md

107 lines
4.1 KiB
Markdown

MSNP8 is the seventh released version of the Mobile Status Notification Protocol.
It was introduced officially in Client Version 5.0.0537.
*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 (automatic disconnection)
* FND (`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, 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 `<abchconfig>` element.
It likely has a `<url>` child element containing the URL of the ABCH service.
Client-server communication example:
```
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