[0.1.4] MSNP13 and MSNP14, ADL, RML, FQY
also add new command findings: * undocumented command GSB * syntax and other errors fixed * explode a bit of xml in places that were a bit too long * find out what a "merchant cab" file is (one line of xml)
This commit is contained in:
parent
4bf934f857
commit
7488f2af43
38 changed files with 1078 additions and 116 deletions
|
@ -5,8 +5,8 @@ It is a Notification Server command, without a request or response payload.
|
||||||
|
|
||||||
Adds a user to a list.
|
Adds a user to a list.
|
||||||
For the command that was replaced with this, read [ADD](add.md).
|
For the command that was replaced with this, read [ADD](add.md).
|
||||||
For the command that replaced this command in [MSNP13](../versions/msnp13.md), read ADL.
|
For the command that replaced this command in [MSNP13](../versions/msnp13.md), read [ADL](adl.md).
|
||||||
For the service that complements ADL, read about the [Address Book Service](../services/abservice.md).
|
For the service that complements [ADL](adl.md), read about the [Address Book Service](../services/abservice.md).
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
|
|
||||||
|
@ -104,16 +104,16 @@ C: ADC 5 FL C=anotheruser@hotmail.com f60efbe7-94af-4b16-b926-e4e10878d329
|
||||||
S: ADC 5 FL C=anotheruser@hotmail.com f60efbe7-94af-4b16-b926-e4e10878d329
|
S: ADC 5 FL C=anotheruser@hotmail.com f60efbe7-94af-4b16-b926-e4e10878d329
|
||||||
```
|
```
|
||||||
|
|
||||||
## Invalid handle
|
## Invalid user handle
|
||||||
```
|
```
|
||||||
C: ADC 6 FL N=a@b F=a@b
|
C: ADC 6 FL N=a@b F=a@b
|
||||||
S: 201 6
|
S: 201 6
|
||||||
```
|
```
|
||||||
|
|
||||||
## Account not found
|
## Target user not found
|
||||||
```
|
```
|
||||||
C: ADC 7 FL N=ghost@hotmail.com F=ghost@hotmail.com
|
C: ADC 7 FL N=ghost@hotmail.com F=ghost@hotmail.com
|
||||||
S: 205 7
|
S: 208 7
|
||||||
```
|
```
|
||||||
|
|
||||||
## Target list is full
|
## Target list is full
|
||||||
|
@ -173,7 +173,7 @@ S: ADC 0 RL N=anotheruser@hotmail.com F=another%20user
|
||||||
* [MSNP11](../versions/msnp11.md): Now supports phone-only (`tel:`) contacts.
|
* [MSNP11](../versions/msnp11.md): Now supports phone-only (`tel:`) contacts.
|
||||||
Requires the `MobileMessaging` element in the
|
Requires the `MobileMessaging` element in the
|
||||||
[Messenger Config](../services/msgrconfig.md) to be configured for the Official Client to use the feature.
|
[Messenger Config](../services/msgrconfig.md) to be configured for the Official Client to use the feature.
|
||||||
* [MSNP13](../versions/msnp13.md): Removed, use ADL and the
|
* [MSNP13](../versions/msnp13.md): Removed, use [ADL](adl.md) and the
|
||||||
[Address Book Service](../services/abservice.md)'s
|
[Address Book Service](../services/abservice.md)'s
|
||||||
[`ABContactAdd`](../services/abservice/abcontactadd.md) action or the
|
[`ABContactAdd`](../services/abservice/abcontactadd.md) action or the
|
||||||
[Contact Sharing Service](../services/sharingservice.md)'s
|
[Contact Sharing Service](../services/sharingservice.md)'s
|
||||||
|
|
192
docs/commands/adl.md
Normal file
192
docs/commands/adl.md
Normal file
|
@ -0,0 +1,192 @@
|
||||||
|
# Introduction
|
||||||
|
`ADL` is a command introduced with [MSNP13](../versions/msnp13.md).
|
||||||
|
|
||||||
|
It is a Notification Server command, WITH a request and WITH a response payload.
|
||||||
|
|
||||||
|
Adds a user to a list during a session or initialises the states of the Forward List (FL),
|
||||||
|
Allow List (AL) and Block List (BL) after retrieving the current state of all lists from the
|
||||||
|
[Address Book Service](../services/abservice.md) and the
|
||||||
|
[Contact Sharing Service](../services/sharingservice.md).
|
||||||
|
For the actions that add a user to the address book or the membership lists,
|
||||||
|
read either the [`ABContactAdd`](../services/abservice/abcontactadd.md) article
|
||||||
|
or the [`AddMember`](../services/sharingservice/addmember.md) article respectively.
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
```
|
||||||
|
ADL TrID length
|
||||||
|
payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `payload` is a [`<ml>`](#ml) document, without any support for whitespace outside of element parameters.
|
||||||
|
|
||||||
|
## ml
|
||||||
|
This element has one optional attribute:
|
||||||
|
* `l`: If this is the initial list, this is set to `1`.
|
||||||
|
|
||||||
|
This element optionally supports one or multiple `<d>` elements,
|
||||||
|
and optionally only one `<t>` element.
|
||||||
|
|
||||||
|
### d
|
||||||
|
This element has one attribute:
|
||||||
|
* `n`: The domain (`...@this`) of the user handle.
|
||||||
|
|
||||||
|
This element contains one or multiple `<c>` elements.
|
||||||
|
|
||||||
|
#### c
|
||||||
|
This element has three attributes:
|
||||||
|
* `n`: The local part (`this@...`) of the user handle.
|
||||||
|
* `l`: A bitfield that denotes what list this user is in:
|
||||||
|
* `1` (bit 0): Forward List (FL).
|
||||||
|
* `2` (bit 1): Allow List (AL).
|
||||||
|
* `4` (bit 2): Block List (BL).
|
||||||
|
* `8` (bit 3): Reverse List (RL). This value can only be set by the server.
|
||||||
|
* `16` (bit 4): Pending List (PL). This value can only be set by the server.
|
||||||
|
* `t`: The Network ID that this user is associated with.
|
||||||
|
|
||||||
|
### t
|
||||||
|
This element contains one or multiple `<c>` elements.
|
||||||
|
|
||||||
|
#### c
|
||||||
|
This element has two attributes:
|
||||||
|
* `n`: The phone number as a `tel:` URI, with the `+` prefix.
|
||||||
|
* `l`: A bitfield that denotes what list this user is in:
|
||||||
|
* `1` (bit 0): Forward List (FL).
|
||||||
|
* `2` (bit 1): Allow List (AL).
|
||||||
|
* `4` (bit 2): Block List (BL).
|
||||||
|
* `8` (bit 3): Reverse List (RL). This value can only be set by the server.
|
||||||
|
* `16` (bit 4): Pending List (PL). This value can only be set by the server.
|
||||||
|
|
||||||
|
This element also has one optional attribute:
|
||||||
|
* `f`: The friendly name of this user. This attribute can only be set by the server.
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
|
||||||
|
## As a response
|
||||||
|
`ADL TrID OK`
|
||||||
|
|
||||||
|
No payload is attached in this scenario.
|
||||||
|
|
||||||
|
## Asynchronously
|
||||||
|
```
|
||||||
|
ADL 0 length
|
||||||
|
payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Where payload is a [`<ml>`](#ml) document, without any support for whitespace outside of element parameters.
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
*NOTE: The XML in these examples has been exploded for visibility and formatting reasons.
|
||||||
|
No whitespace is allowed in ADL's payload and the payload size reflects this,
|
||||||
|
and is set to the correct value.*
|
||||||
|
|
||||||
|
## Initial list
|
||||||
|
```
|
||||||
|
C: ADL 1 110
|
||||||
|
<ml l="1">
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="3" t="1" />
|
||||||
|
</d>
|
||||||
|
<t>
|
||||||
|
<c n="tel:+15551111222" l="3" />
|
||||||
|
</t>
|
||||||
|
</ml>
|
||||||
|
S: ADL 1 OK
|
||||||
|
```
|
||||||
|
|
||||||
|
## Normal use
|
||||||
|
|
||||||
|
### Add a user handle
|
||||||
|
```
|
||||||
|
C: ADL 2 65
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="1" t="1" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: ADL 2 OK
|
||||||
|
```
|
||||||
|
|
||||||
|
### Add a telephone number
|
||||||
|
```
|
||||||
|
C: ADL 3 48
|
||||||
|
<ml>
|
||||||
|
<t>
|
||||||
|
<c n="tel:+15551111222" l="1" />
|
||||||
|
</t>
|
||||||
|
</ml>
|
||||||
|
S: ADL 3 OK
|
||||||
|
```
|
||||||
|
|
||||||
|
## No services specified
|
||||||
|
```
|
||||||
|
C: ADL 4 9
|
||||||
|
<ml></ml>
|
||||||
|
S: 240 4
|
||||||
|
```
|
||||||
|
|
||||||
|
## No domain name specified
|
||||||
|
```
|
||||||
|
C: ADL 5 16
|
||||||
|
<ml>
|
||||||
|
<d>
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 241 5
|
||||||
|
```
|
||||||
|
|
||||||
|
## Out of bounds Network ID
|
||||||
|
```
|
||||||
|
C: ADL 6 67
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="1" t="256" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 204 6
|
||||||
|
```
|
||||||
|
|
||||||
|
## You cannot add to the Reverse List or Pending List
|
||||||
|
```
|
||||||
|
C: ADL 7 65
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="8" t="1" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 241 7
|
||||||
|
```
|
||||||
|
|
||||||
|
## Target user not found
|
||||||
|
```
|
||||||
|
C: ADL 8 59
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="ghost" l="1" t="1" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 208 8
|
||||||
|
```
|
||||||
|
|
||||||
|
## Target list is full
|
||||||
|
```
|
||||||
|
C: ADL 9 61
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="stuffed" l="1" t="1" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 210 9
|
||||||
|
```
|
||||||
|
|
||||||
|
## Asynchronous update
|
||||||
|
```
|
||||||
|
S: ADL 0 82
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="8" t="1" f="another user" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
```
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
* [MSNP17](../versions/msnp17.md): Now manages circles?
|
|
@ -9,17 +9,29 @@ It specifies that another user in your contact list has gone offline.
|
||||||
This command can not be sent from the client.
|
This command can not be sent from the client.
|
||||||
|
|
||||||
# Server/Response
|
# Server/Response
|
||||||
`FLN {user-handle}`
|
`FLN {user-handle} {network-id}`
|
||||||
|
|
||||||
Where `user-handle` is the related user's handle.
|
Where `user-handle` is the related user's handle.
|
||||||
|
|
||||||
|
Where `network-id` is the Network Identification Number that this user is from.
|
||||||
|
Added since [MSNP14](../versions/msnp14.md).
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
|
|
||||||
## User goes offline
|
## User goes offline
|
||||||
|
|
||||||
|
### Without Network IDs
|
||||||
|
*Only in [MSNP2](../versions/msnp2.md) to [MSNP13](../versions/msnp13.md).*
|
||||||
```
|
```
|
||||||
S: FLN anotheruser@hotmail.com
|
S: FLN anotheruser@hotmail.com
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### With Network IDs
|
||||||
|
*Since [MSNP14](../versions/msnp14.md).*
|
||||||
|
```
|
||||||
|
S: FLN anotheruser@hotmail.com 1
|
||||||
|
```
|
||||||
|
|
||||||
## Invalid context
|
## Invalid context
|
||||||
*Inherited from being an unimplemented command.*
|
*Inherited from being an unimplemented command.*
|
||||||
```
|
```
|
||||||
|
@ -29,4 +41,4 @@ C: FLN Hotmail
|
||||||
Server disconnects client.
|
Server disconnects client.
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
None.
|
* [MSNP14](../versions/msnp14.md): Added a new parameter that denotes the Network ID of the user that is now offline.
|
||||||
|
|
105
docs/commands/fqy.md
Normal file
105
docs/commands/fqy.md
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
# Introduction
|
||||||
|
`FQY` is a command introduced with [MSNP14](../versions/msnp14.md).
|
||||||
|
|
||||||
|
It is a Notification Server command, WITH a request and WITH a response payload.
|
||||||
|
|
||||||
|
Requests the server on which Network ID the user is assigned to.
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
```
|
||||||
|
FQY TrID length
|
||||||
|
payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `payload` is a [`<ml>`](#ml) document, without any support for whitespace outside of element parameters.
|
||||||
|
|
||||||
|
## ml
|
||||||
|
This element supports one or multiple `<d>` elements.
|
||||||
|
|
||||||
|
### d
|
||||||
|
This element has one attribute:
|
||||||
|
* `n`: The domain (`...@this`) of the user handle.
|
||||||
|
|
||||||
|
This element contains one or multiple `<c>` elements.
|
||||||
|
|
||||||
|
#### c
|
||||||
|
This element has two attributes:
|
||||||
|
* `n`: The local part (`this@...`) of the user handle.
|
||||||
|
* `t`: The Network ID that this user is associated with.
|
||||||
|
This parameter is to be omitted by the client, but not the server.
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
```
|
||||||
|
FQY TrID length
|
||||||
|
payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Where payload is a [`<ml>`](#ml) document, without any support for whitespace outside of element parameters.
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
*NOTE: The XML in these examples has been exploded for visibility and formatting reasons.
|
||||||
|
No whitespace is allowed in FQY's payload and the payload size reflects this,
|
||||||
|
and is set to the correct value.*
|
||||||
|
|
||||||
|
## User on another service
|
||||||
|
```
|
||||||
|
C: FQY 1 53
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: FQY 1 59
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" t="1" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
```
|
||||||
|
|
||||||
|
## User on the same service
|
||||||
|
```
|
||||||
|
C: FQY 2 53
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: FQY 2 60
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" t="32" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
```
|
||||||
|
|
||||||
|
## No services specified
|
||||||
|
```
|
||||||
|
C: FQY 3 9
|
||||||
|
<ml></ml>
|
||||||
|
S: 240 3
|
||||||
|
```
|
||||||
|
|
||||||
|
## No domain name specified
|
||||||
|
```
|
||||||
|
C: FQY 4 16
|
||||||
|
<ml>
|
||||||
|
<d>
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 241 4
|
||||||
|
```
|
||||||
|
|
||||||
|
## Target user not found
|
||||||
|
```
|
||||||
|
C: FQY 5 47
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="ghost" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 208 5
|
||||||
|
```
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
None.
|
|
@ -7,7 +7,7 @@ Specifies that a user was already online by the time the client was.
|
||||||
For the version of this command without the Transaction ID that is sent at any time, read [NLN](nln.md).
|
For the version of this command without the Transaction ID that is sent at any time, read [NLN](nln.md).
|
||||||
|
|
||||||
This command is sent after the initial [CHG](chg.md) command, using it's Transaction ID.
|
This command is sent after the initial [CHG](chg.md) command, using it's Transaction ID.
|
||||||
It may also be sent as a follow-up to a [ADD](add.md), [ADC](adc.md) or ADL command, using it's Transaction ID.
|
It may also be sent as a follow-up to a [ADD](add.md), [ADC](adc.md) or [ADL](adl.md) command, using it's Transaction ID.
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
This command can not be sent from the client.
|
This command can not be sent from the client.
|
||||||
|
@ -28,7 +28,8 @@ Where `status` is any of the defined statuses:
|
||||||
|
|
||||||
Where `user-handle` is the relevant user's handle.
|
Where `user-handle` is the relevant user's handle.
|
||||||
|
|
||||||
Where `network-id` is the Network Identification Number. Added since [MSNP14](../versions/msnp14.md).
|
Where `network-id` is the Network Identification Number that this user is from.
|
||||||
|
Added since [MSNP14](../versions/msnp14.md).
|
||||||
|
|
||||||
Where `friendly-name` is the relevant user's friendly name.
|
Where `friendly-name` is the relevant user's friendly name.
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ It enables or disables switchboard access without modifying the user's current s
|
||||||
`IMS TrID 0 [ ON | OFF ]`
|
`IMS TrID 0 [ ON | OFF ]`
|
||||||
|
|
||||||
Where `0` has an unknown purpose.
|
Where `0` has an unknown purpose.
|
||||||
Rumored to be a timeout of some kind. [Please confirm this.]
|
Rumored to be a timeout of some kind. [TODO: Please confirm this.]
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
|
|
||||||
|
@ -37,4 +37,5 @@ C: IMS 3 TOMORROW
|
||||||
Server disconnects client.
|
Server disconnects client.
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* Removed in MSNP24... probably? Who really knows... Only WebTV supported it, which only has [MSNP3](../versions/msnp3.md) and [MSNP8](../versions/msnp8.md).
|
* Removed in MSNP24... probably? Who really knows... Only WebTV supported it,
|
||||||
|
which only has [MSNP3](../versions/msnp3.md), [MSNP6](../versions/msnp6.md) and [MSNP8](../versions/msnp8.md).
|
||||||
|
|
|
@ -119,7 +119,9 @@ LoginTime: 1726321960
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Initial e-mail configuration
|
#### Initial e-mail configuration
|
||||||
*NOTE: This message is from [MSNP3](../versions/msnp3.md), the [MSNP2](../versions/msnp2.md) version of this is unknown.*
|
*NOTE: In [MSNP2](../versions/msnp2.md) only, the type of the initial e-mail configuration was
|
||||||
|
`application/x-msmsgsemailnotification`, which was changed in [MSNP3](../versions/msnp3.md) to
|
||||||
|
`text/x-msmsgsinitialemailnotification`.*
|
||||||
```
|
```
|
||||||
S: MSG Hotmail Hotmail 221
|
S: MSG Hotmail Hotmail 221
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
|
@ -134,23 +136,26 @@ Post-URL: http://www.hotmail.com
|
||||||
```
|
```
|
||||||
|
|
||||||
#### New e-mail
|
#### New e-mail
|
||||||
|
*NOTE: In [MSNP2](../versions/msnp2.md) only, the type of the e-mail notifications was
|
||||||
|
`application/x-msmsgsemailnotification`, which was changed in [MSNP3](../versions/msnp3.md) to
|
||||||
|
`text/x-msmsgsemailnotification`, and also added the `id` header for automatic Passport authentication,
|
||||||
|
and the `Post-URL` was also changed from `http://www.hotmail.com` to
|
||||||
|
either the passport `md5auth.srf` of your account server or provided by a Hotmail `law` server.*
|
||||||
```
|
```
|
||||||
S: MSG Hotmail Hotmail 342
|
S: MSG Hotmail Hotmail 359
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: text/x-msmsgsemailnotification; charset=UTF-8
|
Content-Type: text/x-msmsgsemailnotification; charset=UTF-8
|
||||||
|
|
||||||
From: Example User
|
From: Example User
|
||||||
Message-URL: /cgi-bin/getmsg?msg=MSG1728932553.00&start=1&len=12&curmbox=ACTIVE
|
Message-URL: /cgi-bin/getmsg?msg=MSG1728932553.00&start=1&len=12&curmbox=ACTIVE
|
||||||
Post-URL: https://loginnet.passport.com/ppsecure/md5auth.srf?lc=1033
|
Post-URL: https://loginnet.passport.com/ppsecure/md5auth.srf?lc=1033
|
||||||
Subject: Just saying hello.
|
Subject: =?"us-ascii"?Q?Just saying hello.?=
|
||||||
Dest-Folder: ACTIVE
|
Dest-Folder: ACTIVE
|
||||||
From-Addr: example@hotmail.com
|
From-Addr: example@hotmail.com
|
||||||
id: 2
|
id: 2
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Since [MSNP3](../versions/msnp3.md), the `id` header was added for Passport automatic authentication support.
|
|
||||||
|
|
||||||
#### Mailbox activity
|
#### Mailbox activity
|
||||||
```
|
```
|
||||||
S: MSG Hotmail Hotmail 146
|
S: MSG Hotmail Hotmail 146
|
||||||
|
|
|
@ -25,7 +25,8 @@ Where `status` is any of the defined statuses:
|
||||||
|
|
||||||
Where `user-handle` is the relevant user's handle.
|
Where `user-handle` is the relevant user's handle.
|
||||||
|
|
||||||
Where `network-id` is the Network Identification Number. Added since [MSNP14](../versions/msnp14.md).
|
Where `network-id` is the Network Identification Number that this user is from.
|
||||||
|
Added since [MSNP14](../versions/msnp14.md).
|
||||||
|
|
||||||
Where `friendly-name` is the relevant user's friendly name.
|
Where `friendly-name` is the relevant user's friendly name.
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ S: REM 0 FL c1f9a363-4ee9-4a33-a434-b056a4c55b98
|
||||||
* [MSNP7](../versions/msnp7.md): Added groups support.
|
* [MSNP7](../versions/msnp7.md): Added groups support.
|
||||||
* [MSNP10](../versions/msnp10.md): Added GUID support, replacing the user's handle for FL requests
|
* [MSNP10](../versions/msnp10.md): Added GUID support, replacing the user's handle for FL requests
|
||||||
and removed updating the List Version.
|
and removed updating the List Version.
|
||||||
* [MSNP13](../versions/msnp13.md): Removed, use RML and the
|
* [MSNP13](../versions/msnp13.md): Removed, use [RML](rml.md) and the
|
||||||
[Address Book Service](../services/abservice.md)'s
|
[Address Book Service](../services/abservice.md)'s
|
||||||
[`ABContactDelete`](../services/abservice/abcontactdelete.md) action or the
|
[`ABContactDelete`](../services/abservice/abcontactdelete.md) action or the
|
||||||
[Contact Sharing Service](../services/sharingservice.md)'s
|
[Contact Sharing Service](../services/sharingservice.md)'s
|
||||||
|
|
161
docs/commands/rml.md
Normal file
161
docs/commands/rml.md
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
# Introduction
|
||||||
|
`RML` is a command introduced with [MSNP13](../versions/msnp13.md).
|
||||||
|
|
||||||
|
It is a Notification Server command, WITH a request and WITH a response payload.
|
||||||
|
|
||||||
|
Removes a user from a list during a session.
|
||||||
|
For the actions that removes a user from the address book or the membership lists,
|
||||||
|
read either the [`ABContactDelete`](../services/abservice/abcontactdelete.md) article
|
||||||
|
or the [`DeleteMember`](../services/sharingservice/deletemember.md) article respectively.
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
```
|
||||||
|
RML TrID length
|
||||||
|
payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `payload` is a [`<ml>`](#ml) document, without any support for whitespace outside of element parameters.
|
||||||
|
|
||||||
|
## ml
|
||||||
|
This element has one optional attribute:
|
||||||
|
* `l`: If this is the initial list, this is set to `1`.
|
||||||
|
|
||||||
|
This element optionally supports one or multiple `<d>` elements,
|
||||||
|
and optionally only one `<t>` element.
|
||||||
|
|
||||||
|
### d
|
||||||
|
This element has one attribute:
|
||||||
|
* `n`: The domain (`...@this`) of the user handle.
|
||||||
|
|
||||||
|
This element contains one or multiple `<c>` elements.
|
||||||
|
|
||||||
|
#### c
|
||||||
|
This element has three attributes:
|
||||||
|
* `n`: The local part (`this@...`) of the user handle.
|
||||||
|
* `l`: A bitfield that denotes what list this user is in:
|
||||||
|
* `1` (bit 0): Forward List (FL).
|
||||||
|
* `2` (bit 1): Allow List (AL).
|
||||||
|
* `4` (bit 2): Block List (BL).
|
||||||
|
* `8` (bit 3): Reverse List (RL). This value can only be set from the server.
|
||||||
|
* `16` (bit 4): Pending List (PL). This value can only be set from the server.
|
||||||
|
* `t`: The Network ID that this user is associated with.
|
||||||
|
|
||||||
|
### t
|
||||||
|
This element contains one or multiple `<c>` elements.
|
||||||
|
|
||||||
|
#### c
|
||||||
|
This element has two attributes:
|
||||||
|
* `n`: The phone number as a `tel:` URI, with the `+` prefix.
|
||||||
|
* `l`: A bitfield that denotes what list this user is in:
|
||||||
|
* `1` (bit 0): Forward List (FL).
|
||||||
|
* `2` (bit 1): Allow List (AL).
|
||||||
|
* `4` (bit 2): Block List (BL).
|
||||||
|
* `8` (bit 3): Reverse List (RL). This value can only be set from the server.
|
||||||
|
* `16` (bit 4): Pending List (PL). This value can only be set from the server.
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
|
||||||
|
## As a response
|
||||||
|
`RML TrID OK`
|
||||||
|
|
||||||
|
No payload is attached in this scenario.
|
||||||
|
|
||||||
|
## Asynchronously
|
||||||
|
```
|
||||||
|
RML 0 length
|
||||||
|
payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Where payload is a [`<ml>`](#ml) document, without any support for whitespace outside of element parameters.
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
*NOTE: The XML in these examples has been exploded for visibility and formatting reasons.
|
||||||
|
No whitespace is allowed in RML's payload and the payload size reflects this,
|
||||||
|
and is set to the correct value.*
|
||||||
|
|
||||||
|
## Normal use
|
||||||
|
|
||||||
|
### Remove a user handle
|
||||||
|
```
|
||||||
|
C: RML 1 65
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="1" t="1" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: RML 1 OK
|
||||||
|
```
|
||||||
|
|
||||||
|
### Remove a telephone number
|
||||||
|
```
|
||||||
|
C: RML 2 48
|
||||||
|
<ml>
|
||||||
|
<t>
|
||||||
|
<c n="tel:+15551111222" l="1" />
|
||||||
|
</t>
|
||||||
|
</ml>
|
||||||
|
S: RML 2 OK
|
||||||
|
```
|
||||||
|
|
||||||
|
## No services specified
|
||||||
|
```
|
||||||
|
C: RML 3 9
|
||||||
|
<ml></ml>
|
||||||
|
S: 240 3
|
||||||
|
```
|
||||||
|
|
||||||
|
## No domain name specified
|
||||||
|
```
|
||||||
|
C: RML 4 16
|
||||||
|
<ml>
|
||||||
|
<d>
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 241 4
|
||||||
|
```
|
||||||
|
|
||||||
|
## Out of bounds Network ID
|
||||||
|
```
|
||||||
|
C: RML 5 67
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="1" t="256" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 204 5
|
||||||
|
```
|
||||||
|
|
||||||
|
## You cannot remove from the Reverse List or Pending List
|
||||||
|
```
|
||||||
|
C: RML 6 65
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="8" t="1" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 241 6
|
||||||
|
```
|
||||||
|
|
||||||
|
## Target user not on that list
|
||||||
|
```
|
||||||
|
C: RML 7 59
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="ghost" l="1" t="1" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
S: 216 7
|
||||||
|
```
|
||||||
|
|
||||||
|
## Asynchronous update
|
||||||
|
```
|
||||||
|
S: RML 0 65
|
||||||
|
<ml>
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="8" t="1" />
|
||||||
|
</d>
|
||||||
|
</ml>
|
||||||
|
```
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
* [MSNP17](../versions/msnp17.md): Now manages circles?
|
|
@ -9,7 +9,7 @@ Used to invite ("ring") you to a Switchboard session.
|
||||||
This command can not be sent from the client.
|
This command can not be sent from the client.
|
||||||
|
|
||||||
# Server/Response
|
# Server/Response
|
||||||
`RNG session-id address:port CKI cookie inviter-handle inviter-friendly-name`
|
`RNG session-id address:port CKI cookie inviter-handle inviter-friendly-name {U} {domain} {direct-connect}`
|
||||||
|
|
||||||
Where `session-id` is the Switchboard session identification number you need in [ANS](ans.md).
|
Where `session-id` is the Switchboard session identification number you need in [ANS](ans.md).
|
||||||
|
|
||||||
|
@ -23,11 +23,41 @@ Where `inviter-handle` is the inviter's handle.
|
||||||
|
|
||||||
Where `inviter-handle` is the inviter's friendly name.
|
Where `inviter-handle` is the inviter's friendly name.
|
||||||
|
|
||||||
|
Where `U` is always `U`. Since [MSNP13](../versions/msnp13.md).
|
||||||
|
The use of this parameter is unknown.
|
||||||
|
|
||||||
|
Where `domain` is always `messenger.hotmail.com`. Since [MSNP13](../versions/msnp13.md).
|
||||||
|
The use of this parameter is unknown.
|
||||||
|
|
||||||
|
Where `direct-connect` is set to one of these two values, Since [MSNP14](../versions/msnp14.md):
|
||||||
|
* `0`: This `address:port` can only be accessed only via the HTTP Gateway.
|
||||||
|
* `1`: This `address:port` can be connected to via TCP as well as the HTTP Gateway.
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
|
|
||||||
## Getting a Switchboard invite
|
## Getting a Switchboard invite
|
||||||
|
*NOTE: This has been line-breaked.
|
||||||
|
Lines beginning with `..` followed by a space are continuations of the previous line.*
|
||||||
|
|
||||||
|
### Old
|
||||||
|
*Only in [MSNP2](../versions/msnp2.md) to [MSNP12](../versions/msnp12.md).*
|
||||||
```
|
```
|
||||||
S: RNG 987654331 10.0.1.200:1865 CKI 123456789.123456789.123456789 anotheruser@hotmail.com another%20user
|
S: RNG 987654331 10.0.1.200:1865 CKI 123456789.123456789.123456789
|
||||||
|
.. anotheruser@hotmail.com another%20user
|
||||||
|
```
|
||||||
|
|
||||||
|
### New
|
||||||
|
*Only in [MSNP13](../versions/msnp13.md).*
|
||||||
|
```
|
||||||
|
S: RNG 987654331 10.0.1.200:1865 CKI 123456789.123456789.123456789
|
||||||
|
.. anotheruser@hotmail.com another%20user U messenger.hotmail.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### Modern
|
||||||
|
*Since [MSNP14](../versions/msnp14.md).*
|
||||||
|
```
|
||||||
|
S: RNG 987654331 10.0.1.200:1865 CKI 123456789.123456789.123456789
|
||||||
|
.. anotheruser@hotmail.com another%20user U messenger.hotmail.com 1
|
||||||
```
|
```
|
||||||
|
|
||||||
## Invalid context
|
## Invalid context
|
||||||
|
@ -39,4 +69,7 @@ C: RNG 1
|
||||||
Server disconnects client.
|
Server disconnects client.
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
None.
|
* [MSNP13](../versions/msnp13.md): Added two new parameters,
|
||||||
|
one of which is always `U`, and the other is always `messenger.hotmail.com`.
|
||||||
|
* [MSNP14](../versions/msnp14.md): Added a new parameter that is either `0` or `1`
|
||||||
|
to denote whenever the client should directly connect to the address, or use the HTTP Gateway to connect instead.
|
||||||
|
|
|
@ -28,6 +28,8 @@ contained in a `<Data>` element:
|
||||||
Added since [MSNP13](../versions/msnp13.md).
|
Added since [MSNP13](../versions/msnp13.md).
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
|
*NOTE: The XML in these examples has been exploded for visibility and formatting reasons.
|
||||||
|
The payload sizes provided are to represent the size of the unexploded payloads.*
|
||||||
|
|
||||||
## Without MachineGuid
|
## Without MachineGuid
|
||||||
*Only in [MSNP11](../versions/msnp11.md) and [MSNP12](../versions/msnp12.md).*
|
*Only in [MSNP11](../versions/msnp11.md) and [MSNP12](../versions/msnp12.md).*
|
||||||
|
@ -35,19 +37,28 @@ contained in a `<Data>` element:
|
||||||
### Blank status
|
### Blank status
|
||||||
```
|
```
|
||||||
S: UUX anotheruser@hotmail.com 53
|
S: UUX anotheruser@hotmail.com 53
|
||||||
<Data><PSM></PSM><CurrentMedia></CurrentMedia></Data>
|
<Data>
|
||||||
|
<PSM></PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
</Data>
|
||||||
```
|
```
|
||||||
|
|
||||||
### With PSM
|
### With PSM
|
||||||
```
|
```
|
||||||
S: UUX anotheruser@hotmail.com 75
|
S: UUX anotheruser@hotmail.com 75
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia></CurrentMedia></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
</Data>
|
||||||
```
|
```
|
||||||
|
|
||||||
### With playing media
|
### With playing media
|
||||||
```
|
```
|
||||||
S: UUX anotheruser@hotmail.com 137
|
S: UUX anotheruser@hotmail.com 137
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia>
|
||||||
|
</Data>
|
||||||
```
|
```
|
||||||
|
|
||||||
## With MachineGuid
|
## With MachineGuid
|
||||||
|
@ -56,19 +67,31 @@ S: UUX anotheruser@hotmail.com 137
|
||||||
### Blank status
|
### Blank status
|
||||||
```
|
```
|
||||||
S: UUX anotheruser@hotmail.com 118
|
S: UUX anotheruser@hotmail.com 118
|
||||||
<Data><PSM></PSM><CurrentMedia></CurrentMedia><MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid></Data>
|
<Data>
|
||||||
|
<PSM></PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
<MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid>
|
||||||
|
</Data>
|
||||||
```
|
```
|
||||||
|
|
||||||
### With PSM
|
### With PSM
|
||||||
```
|
```
|
||||||
S: UUX anotheruser@hotmail.com 140
|
S: UUX anotheruser@hotmail.com 140
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia></CurrentMedia><MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
<MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid>
|
||||||
|
</Data>
|
||||||
```
|
```
|
||||||
|
|
||||||
### With playing media
|
### With playing media
|
||||||
```
|
```
|
||||||
S: UUX anotheruser@hotmail.com 202
|
S: UUX anotheruser@hotmail.com 202
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia><MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia>
|
||||||
|
<MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid>
|
||||||
|
</Data>
|
||||||
```
|
```
|
||||||
|
|
||||||
## With Network IDs
|
## With Network IDs
|
||||||
|
@ -77,19 +100,31 @@ S: UUX anotheruser@hotmail.com 202
|
||||||
### Blank status
|
### Blank status
|
||||||
```
|
```
|
||||||
S: UUX anotheruser@hotmail.com 1 118
|
S: UUX anotheruser@hotmail.com 1 118
|
||||||
<Data><PSM></PSM><CurrentMedia></CurrentMedia><MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid></Data>
|
<Data>
|
||||||
|
<PSM></PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
<MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid>
|
||||||
|
</Data>
|
||||||
```
|
```
|
||||||
|
|
||||||
### With PSM
|
### With PSM
|
||||||
```
|
```
|
||||||
S: UUX anotheruser@hotmail.com 1 140
|
S: UUX anotheruser@hotmail.com 1 140
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia></CurrentMedia><MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
<MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid>
|
||||||
|
</Data>
|
||||||
```
|
```
|
||||||
|
|
||||||
### With playing media
|
### With playing media
|
||||||
```
|
```
|
||||||
S: UUX anotheruser@hotmail.com 1 202
|
S: UUX anotheruser@hotmail.com 1 202
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia><MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia>
|
||||||
|
<MachineGuid>{0061D708-CD9B-4D56-B64B-FFFAA92FF344}</MachineGuid>
|
||||||
|
</Data>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Invalid context
|
## Invalid context
|
||||||
|
|
|
@ -41,7 +41,8 @@ Where `login-url` is the service that provides automatic authentication
|
||||||
and accepts redirection form parameters. Usually `https://login(net).passport.com/ppsecure/md5auth.srf?lc=`
|
and accepts redirection form parameters. Usually `https://login(net).passport.com/ppsecure/md5auth.srf?lc=`
|
||||||
followed by your initial profile's `lang_preference` value since [MSNP3](../versions/msnp3.md).
|
followed by your initial profile's `lang_preference` value since [MSNP3](../versions/msnp3.md).
|
||||||
|
|
||||||
Where `psid` is the `id` parameter passed to `login-url`. and are required to use absolute URLs as the `redirect-url`. Added since [MSNP3](../versions/msnp3.md). Required since [MSNP5](../versions/msnp5.md).
|
Where `psid` is the `id` parameter passed to `login-url`. and are required to use absolute URLs as the `redirect-url`.
|
||||||
|
Added since [MSNP3](../versions/msnp3.md). Required since [MSNP5](../versions/msnp5.md).
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
*NOTE: All examples will have Site IDs because I don't know what the login URL was without it.*
|
*NOTE: All examples will have Site IDs because I don't know what the login URL was without it.*
|
||||||
|
@ -49,7 +50,7 @@ Where `psid` is the `id` parameter passed to `login-url`. and are required to us
|
||||||
## Open E-mail Inbox
|
## Open E-mail Inbox
|
||||||
```
|
```
|
||||||
C: URL 1 INBOX
|
C: URL 1 INBOX
|
||||||
S: URL 1 /cgi-bin/HoTMaiL https://loginnet.passport.com/ppsecure/md5autf.srf?lc=1033 2
|
S: URL 1 /cgi-bin/HoTMaiL https://loginnet.passport.com/ppsecure/md5auth.srf?lc=1033 2
|
||||||
```
|
```
|
||||||
|
|
||||||
## Compose new E-mail
|
## Compose new E-mail
|
||||||
|
@ -96,8 +97,8 @@ S: URL 7 http://chat.msn.com/Messenger.msnw?lc=1033 https://loginnet.passport.co
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* [MSNP3](../versions/msnp3.md): Added a Passport Site ID parameter to response (parameter 3),
|
* [MSNP3](../versions/msnp3.md): Added a Passport Site ID parameter to response (parameter 3),
|
||||||
now supports absolute URLs. Removed `PASSWORD` service.
|
now supports absolute URLs instead of only relative URLs for the redirect URL.
|
||||||
* Client Version 3.0/[MSNP5](../versions/msnp5.md): Made the Passport Site ID parameter mandatory.
|
* Client Version 3.0 ([MSNP5](../versions/msnp5.md)): Made the Passport Site ID parameter mandatory,
|
||||||
* [MSNP5](../versions/msnp5.md): Added `MOBILE` and `CHGMOB` services.
|
* [MSNP5](../versions/msnp5.md): Added `MOBILE` and `CHGMOB` services.
|
||||||
* [MSNP6](../versions/msnp6.md): Added `PROFILE`, `N2PACCOUNT` and `N2PFUND` services.
|
* [MSNP6](../versions/msnp6.md): Added `PROFILE`, `N2PACCOUNT` and `N2PFUND` services.
|
||||||
* [MSNP7](../versions/msnp7.md): Added `CHAT` service.
|
* [MSNP7](../versions/msnp7.md): Added `CHAT` service.
|
||||||
|
|
|
@ -26,6 +26,8 @@ contained in a `<Data>` element:
|
||||||
Where `length` is always `0`.
|
Where `length` is always `0`.
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
|
*NOTE: The XML in these examples has been exploded for visibility and formatting reasons.
|
||||||
|
The payload sizes provided are to represent the size of the unexploded payloads.*
|
||||||
|
|
||||||
## Without MachineGuid
|
## Without MachineGuid
|
||||||
*Only in [MSNP11](../versions/msnp11.md) and [MSNP12](../versions/msnp12.md).*
|
*Only in [MSNP11](../versions/msnp11.md) and [MSNP12](../versions/msnp12.md).*
|
||||||
|
@ -33,21 +35,30 @@ Where `length` is always `0`.
|
||||||
### Blank status
|
### Blank status
|
||||||
```
|
```
|
||||||
C: UUX 1 53
|
C: UUX 1 53
|
||||||
<Data><PSM></PSM><CurrentMedia></CurrentMedia></Data>
|
<Data>
|
||||||
|
<PSM></PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
</Data>
|
||||||
S: UUX 1
|
S: UUX 1
|
||||||
```
|
```
|
||||||
|
|
||||||
### With PSM
|
### With PSM
|
||||||
```
|
```
|
||||||
C: UUX 2 75
|
C: UUX 2 75
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia></CurrentMedia></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
</Data>
|
||||||
S: UUX 2
|
S: UUX 2
|
||||||
```
|
```
|
||||||
|
|
||||||
### With playing media
|
### With playing media
|
||||||
```
|
```
|
||||||
C: UUX 3 137
|
C: UUX 3 137
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia>
|
||||||
|
</Data>
|
||||||
S: UUX 3
|
S: UUX 3
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -57,21 +68,33 @@ S: UUX 3
|
||||||
### Blank status
|
### Blank status
|
||||||
```
|
```
|
||||||
C: UUX 4 118
|
C: UUX 4 118
|
||||||
<Data><PSM></PSM><CurrentMedia></CurrentMedia><MachineGuid>{44BFD5A4-7450-4BDA-BA3A-C51B3031126D}</MachineGuid></Data>
|
<Data>
|
||||||
|
<PSM></PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
<MachineGuid>{44BFD5A4-7450-4BDA-BA3A-C51B3031126D}</MachineGuid>
|
||||||
|
</Data>
|
||||||
S: UUX 4
|
S: UUX 4
|
||||||
```
|
```
|
||||||
|
|
||||||
### With PSM
|
### With PSM
|
||||||
```
|
```
|
||||||
C: UUX 5 140
|
C: UUX 5 140
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia></CurrentMedia><MachineGuid>{44BFD5A4-7450-4BDA-BA3A-C51B3031126D}</MachineGuid></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
<MachineGuid>{44BFD5A4-7450-4BDA-BA3A-C51B3031126D}</MachineGuid>
|
||||||
|
</Data>
|
||||||
S: UUX 5
|
S: UUX 5
|
||||||
```
|
```
|
||||||
|
|
||||||
### With playing media
|
### With playing media
|
||||||
```
|
```
|
||||||
C: UUX 6 202
|
C: UUX 6 202
|
||||||
<Data><PSM>example status message</PSM><CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia><MachineGuid>{44BFD5A4-7450-4BDA-BA3A-C51B3031126D}</MachineGuid></Data>
|
<Data>
|
||||||
|
<PSM>example status message</PSM>
|
||||||
|
<CurrentMedia>\0Music\01\0{0} - {1}\0Song Title\0Song Artist\0Song Album\0\0</CurrentMedia>
|
||||||
|
<MachineGuid>{44BFD5A4-7450-4BDA-BA3A-C51B3031126D}</MachineGuid>
|
||||||
|
</Data>
|
||||||
S: UUX 6
|
S: UUX 6
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -20,28 +20,47 @@ If this is set to `0`, proceed to **ignore** the `server-type` parameter
|
||||||
and restart the login process on the current server from [VER](ver.md).
|
and restart the login process on the current server from [VER](ver.md).
|
||||||
|
|
||||||
## XFR NS
|
## XFR NS
|
||||||
`XFR TrID NS address:port {0} {current-server}`
|
`XFR TrID NS address:port {0|U} {current-server|D}`
|
||||||
|
|
||||||
In [MSNP3](../versions/msnp3.md) or higher, `0` is always `0`.
|
In [MSNP3](../versions/msnp3.md) and above until [MSNP13](../versions/msnp13.md),
|
||||||
|
`0` is always set to `0`.
|
||||||
|
|
||||||
In [MSNP7](../versions/msnp7.md) or higher, `current-server` is the current server you are connected to.
|
In [MSNP7](../versions/msnp7.md) and above until [MSNP13](../versions/msnp13.md),
|
||||||
|
`current-server` is the current server you are connected to.
|
||||||
|
|
||||||
|
In [MSNP13](../versions/msnp13.md) and higher,
|
||||||
|
the `0` is replaced with a constant `U`,
|
||||||
|
and the `current-server` is replaced with a constant `D`.
|
||||||
|
|
||||||
## XFR SB
|
## XFR SB
|
||||||
`XFR TrID SB address:port authentication-method authentication-parameter`
|
`XFR TrID SB address:port authentication-method authentication-parameter {U} {domain} {direct-connect}`
|
||||||
|
|
||||||
Where `authentication-method` is always `CKI`.
|
Where `authentication-method` is always `CKI`.
|
||||||
|
|
||||||
Where `authentication-parameter` is the "cookie" you need to log in to Switchboard.
|
Where `authentication-parameter` is the "cookie" you need to log in to Switchboard.
|
||||||
|
|
||||||
|
Where `U` is always set to `U`. Since [MSNP13](../versions/msnp13.md).
|
||||||
|
No use documented.
|
||||||
|
|
||||||
|
Where `domain` is always set to `messenger.msn.com`. Since [MSNP13](../versions/msnp13.md).
|
||||||
|
No use documented.
|
||||||
|
|
||||||
|
Where `direct-connect` is set to one of these two values, Since [MSNP14](../versions/msnp14.md):
|
||||||
|
* `0`: This `address:port` can only be accessed only via the HTTP Gateway.
|
||||||
|
* `1`: This `address:port` can be connected to via TCP as well as the HTTP Gateway.
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
|
|
||||||
## Client requests a new Switchboard connection
|
## Before rework
|
||||||
|
*Only in [MSNP2](../versions/msnp2.md) to [MSNP12](../versions/msnp12.md).*
|
||||||
|
|
||||||
|
### Client requests a new Switchboard session
|
||||||
```
|
```
|
||||||
C: XFR 1 SB
|
C: XFR 1 SB
|
||||||
S: XFR 1 SB 10.0.1.200:1865 CKI 123456789.123456789.123456789
|
S: XFR 1 SB 10.0.1.200:1865 CKI 123456789.123456789.123456789
|
||||||
```
|
```
|
||||||
|
|
||||||
## Client requests a new Notification server
|
### Client requests a new Notification server
|
||||||
*Only used as-is in Beta 2 as the first command sent to a Dispatch Server.*
|
*Only used as-is in Beta 2 as the first command sent to a Dispatch Server.*
|
||||||
```
|
```
|
||||||
C: XFR 2 NS
|
C: XFR 2 NS
|
||||||
|
@ -51,9 +70,9 @@ Client disconnects from server
|
||||||
|
|
||||||
Client opens a connection to 10.0.0.5:1863
|
Client opens a connection to 10.0.0.5:1863
|
||||||
|
|
||||||
## Client referred from Dispatch Server
|
### Client referred from Dispatch Server
|
||||||
|
|
||||||
### Very Old
|
#### Very Old
|
||||||
*Only in [MSNP2](../versions/msnp2.md).*
|
*Only in [MSNP2](../versions/msnp2.md).*
|
||||||
```
|
```
|
||||||
C: USR 3 MD5 I example@hotmail.com
|
C: USR 3 MD5 I example@hotmail.com
|
||||||
|
@ -63,7 +82,7 @@ Client disconnects from server
|
||||||
|
|
||||||
Client opens a connection to 10.0.0.5:1863
|
Client opens a connection to 10.0.0.5:1863
|
||||||
|
|
||||||
### Classic
|
#### Classic
|
||||||
*Only in [MSNP3](../versions/msnp3.md) to [MSNP6](../versions/msnp6.md).*
|
*Only in [MSNP3](../versions/msnp3.md) to [MSNP6](../versions/msnp6.md).*
|
||||||
```
|
```
|
||||||
C: USR 4 MD5 I example@hotmail.com
|
C: USR 4 MD5 I example@hotmail.com
|
||||||
|
@ -73,8 +92,8 @@ Client disconnects from server
|
||||||
|
|
||||||
Client opens a connection to 10.0.0.5:1863
|
Client opens a connection to 10.0.0.5:1863
|
||||||
|
|
||||||
### Modern
|
#### Modern
|
||||||
*Since [MSNP7](../versions/msnp7.md).*
|
*Only in [MSNP7](../versions/msnp7.md) to [MSNP12](../versions/msnp12.md).*
|
||||||
```
|
```
|
||||||
C: USR 5 MD5 I example@hotmail.com
|
C: USR 5 MD5 I example@hotmail.com
|
||||||
S: XFR 5 NS 10.0.0.5:1863 0 10.0.0.1:1863
|
S: XFR 5 NS 10.0.0.5:1863 0 10.0.0.1:1863
|
||||||
|
@ -83,12 +102,43 @@ Client disconnects from server
|
||||||
|
|
||||||
Client opens a connection to 10.0.0.5:1863
|
Client opens a connection to 10.0.0.5:1863
|
||||||
|
|
||||||
|
## After rework
|
||||||
|
*Since [MSNP13](../versions/msnp13.md).*
|
||||||
|
|
||||||
|
### Client requests a new Switchboard session
|
||||||
|
|
||||||
|
#### Without direct connect parameter
|
||||||
|
*Only in [MSNP13](../versions/msnp13.md).*
|
||||||
|
```
|
||||||
|
C: XFR 6 SB
|
||||||
|
S: XFR 6 SB 10.0.1.200:1865 CKI 123456789.123456789.123456789 U messenger.msn.com
|
||||||
|
```
|
||||||
|
|
||||||
|
#### With direct connect parameter
|
||||||
|
*Since [MSNP14](../versions/msnp14.md).*
|
||||||
|
```
|
||||||
|
C: XFR 7 SB
|
||||||
|
S: XFR 7 SB 10.0.1.200:1865 CKI 123456789.123456789.123456789 U messenger.msn.com 1
|
||||||
|
```
|
||||||
|
|
||||||
|
### Client referred from Dispatch Server
|
||||||
|
```
|
||||||
|
C: USR 8 TWN I example@hotmail.com
|
||||||
|
S: XFR 8 NS 10.0.0.5:1863 U D
|
||||||
|
```
|
||||||
|
|
||||||
## Forced soft reset
|
## Forced soft reset
|
||||||
|
*Applies for any protocol version.*
|
||||||
```
|
```
|
||||||
S: XFR 0 NS 0
|
S: XFR 0 NS 0
|
||||||
C: VER 6 MSNP7 MSNP6 MSNP5 MSNP4
|
C: VER 6 MSNP7 MSNP6 MSNP5 MSNP4
|
||||||
```
|
```
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* [MSNP3](../versions/msnp3.md) adds a new parameter that is always 0 to XFR NS.
|
* [MSNP3](../versions/msnp3.md): Added a new parameter that is always `0` to XFR NS.
|
||||||
* [MSNP7](../versions/msnp7.md) adds a new parameter that is the current server you are communicating with to XFR NS.
|
* [MSNP7](../versions/msnp7.md): Added a new parameter that is the current server you are communicating with to XFR NS.
|
||||||
|
* [MSNP13](../versions/msnp13.md): Replaced `0` and the current server parameter with `U` and `D` respectively in XFR NS,
|
||||||
|
and also added two parameters to XFR SB, one that is always `U`,
|
||||||
|
and one that is a domain name, which is always `messenger.msn.com`.
|
||||||
|
* [MSNP14](../versions/msnp14.md): Added a new parameter that is either `0` or `1` to XFR SB
|
||||||
|
to denote whenever the client should directly connect to the address, or use the HTTP Gateway to connect instead.
|
||||||
|
|
|
@ -31,7 +31,7 @@ This was expanded in [MSNP16](../versions/msnp16.md) with Extended Client Capabi
|
||||||
| `0x00080000` | `524288` | The user's client supports encrypted conversations. |
|
| `0x00080000` | `524288` | The user's client supports encrypted conversations. |
|
||||||
| `0x00100000` | `1048576` | ... |
|
| `0x00100000` | `1048576` | ... |
|
||||||
| `0x00200000` | `2097152` | ... |
|
| `0x00200000` | `2097152` | ... |
|
||||||
| `0x00400000` | `4194304` | ... |
|
| `0x00400000` | `4194304` | The user's client supports sharing folders. |
|
||||||
| `0x00800000` | `8388608` | ... |
|
| `0x00800000` | `8388608` | ... |
|
||||||
| `0x01000000` | `16777216` | ... |
|
| `0x01000000` | `16777216` | ... |
|
||||||
| `0x02000000` | `33554432` | ... |
|
| `0x02000000` | `33554432` | ... |
|
||||||
|
|
|
@ -11,9 +11,9 @@ This is the root element of the document, and supports four attributes:
|
||||||
* `id`: A 32-bit unsigned integer that is set by the sending party.
|
* `id`: A 32-bit unsigned integer that is set by the sending party.
|
||||||
* `siteid`: The .NET Alerts Site ID, not to be confused with the .NET Passport Site ID.
|
* `siteid`: The .NET Alerts Site ID, not to be confused with the .NET Passport Site ID.
|
||||||
Setting this to some values changes the default icon:
|
Setting this to some values changes the default icon:
|
||||||
* `0`: Use stocks (stack of coins or line-chart) icon
|
* `0`: Use stocks (stack of coins or line-chart) icon.
|
||||||
* `1`: Use calendar (clock) icon
|
* `1`: Use calendar (clock) icon.
|
||||||
* Other values: Use default bell icon or custom icon
|
* Other values: Use default bell icon or custom icon.
|
||||||
* `siteurl`: The base URL to the service used in later relative URL attributes.
|
* `siteurl`: The base URL to the service used in later relative URL attributes.
|
||||||
|
|
||||||
## TO
|
## TO
|
||||||
|
|
|
@ -25,6 +25,7 @@ A copy of the license is included in the article entitled
|
||||||
* [MSNP10](versions/msnp10.md)
|
* [MSNP10](versions/msnp10.md)
|
||||||
* [MSNP11](versions/msnp11.md)
|
* [MSNP11](versions/msnp11.md)
|
||||||
* [MSNP12](versions/msnp12.md)
|
* [MSNP12](versions/msnp12.md)
|
||||||
|
* [MSNP13](versions/msnp13.md)
|
||||||
|
|
||||||
More is to come soon! Hopefully!
|
More is to come soon! Hopefully!
|
||||||
|
|
||||||
|
@ -45,14 +46,14 @@ More is to come soon! Hopefully!
|
||||||
* [All Client Capabilities](files/client_capabilities.md)
|
* [All Client Capabilities](files/client_capabilities.md)
|
||||||
|
|
||||||
# Wanted Information
|
# Wanted Information
|
||||||
* [MSNP2](versions/msnp2.md): What is the format of the initial `text/x-msmsgsemailnotification`?
|
|
||||||
* [MSNP8](versions/msnp8.md): Did [FND](commands/fnd.md) exist? Rumors said it did shortly before it got killed in all protocols.
|
* [MSNP8](versions/msnp8.md): Did [FND](commands/fnd.md) exist? Rumors said it did shortly before it got killed in all protocols.
|
||||||
* [MSNP8](versions/msnp8.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
|
* [MSNP8](versions/msnp8.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
|
||||||
* [MSNP10](versions/msnp10.md): Asynchronous `BPR MFN`s from the server. Does it really?
|
* [MSNP10](versions/msnp10.md): Asynchronous `BPR MFN`s from the server. Does it really?
|
||||||
* [MSNP10](versions/msnp10.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
|
* [MSNP10](versions/msnp10.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
|
||||||
|
* [MSNP11](versions/msnp11.md): Anything about the `GSB` command, and is it related to `SBS`?
|
||||||
* [MSNP11](versions/msnp11.md): How does `ABCHMigrated: 0` really work now? `OUT MIG` still exists.
|
* [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](commands/syn.md) in this version?
|
* [MSNP12](versions/msnp12.md): Did [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
|
||||||
* MSNP18: Was `<NotificationData>`-based circle updates added in MSNP17 instead?
|
* [MSNP18](versions/msnp18.md): Did `<NotificationData>`-based circle updates get added in [MSNP17](versions/msnp17.md) instead of [MSNP18](versions/msnp18.md)?
|
||||||
* Error Codes: A new article for them, seems like they are implemented in wildly different ways.
|
* Error Codes: A new article for them, seems like they are implemented in wildly different ways.
|
||||||
* [MSNP2](versions/msnp2.md) to [MSNP7](versions/msnp7.md): TODO: Add CVR requests as command 10.
|
* [MSNP2](versions/msnp2.md) to [MSNP7](versions/msnp7.md): TODO: Add CVR requests as command 10.
|
||||||
* All Protocols: Any error code known to exist but is missing from the pages.
|
* All Protocols: Any error code known to exist but is missing from the pages.
|
||||||
|
@ -85,6 +86,7 @@ More is to come soon! Hopefully!
|
||||||
|
|
||||||
### We know SOME Information
|
### We know SOME Information
|
||||||
* Offline IMs (OIM) SOAP service: Absolutely needs a service page, since it's been in since [MSNP11](versions/msnp11.md).
|
* Offline IMs (OIM) SOAP service: Absolutely needs a service page, since it's been in since [MSNP11](versions/msnp11.md).
|
||||||
|
* Above requires MSNP11 challenges. Please document those.
|
||||||
|
|
||||||
## Unsolved Mysteries
|
## Unsolved Mysteries
|
||||||
* [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.
|
* [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.
|
||||||
|
@ -124,7 +126,10 @@ More is to come soon! Hopefully!
|
||||||
* The one you use for the main challenge response hash is the Private Key.
|
* The one you use for the main challenge response hash is the Private Key.
|
||||||
An example of the Private Key is `Q1P7W2E4J9R8U3S5` or `YMM8C_H7KCQ2S_KL`.
|
An example of the Private Key is `Q1P7W2E4J9R8U3S5` or `YMM8C_H7KCQ2S_KL`.
|
||||||
|
|
||||||
# Where do I find or edit these page's source?
|
# Where can I find or edit the source of the articles provided?
|
||||||
The git repo is avaliable at <https://git.kevinthe.horse/yellows111/msnp-wiki>.
|
The git repository for the project 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).
|
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).
|
||||||
|
If such a method is undesired or you do not want to format such a message,
|
||||||
|
that is fine too, as long as you give a pointer to where you would like the information to go.
|
||||||
|
|
|
@ -36,6 +36,7 @@ The most relevant children are:
|
||||||
This element only contains the space delimited list of updated items in `<contactInfo>`.
|
This element only contains the space delimited list of updated items in `<contactInfo>`.
|
||||||
The valid values are the following:
|
The valid values are the following:
|
||||||
* `DisplayName`
|
* `DisplayName`
|
||||||
|
* `Passport`
|
||||||
* `IsMessengerUser`
|
* `IsMessengerUser`
|
||||||
* `ContactFirstName`
|
* `ContactFirstName`
|
||||||
* `ContactLastName`
|
* `ContactLastName`
|
||||||
|
|
|
@ -33,7 +33,7 @@ This element can contain many children, all of which optional:
|
||||||
* `ContactEmailBusiness`
|
* `ContactEmailBusiness`
|
||||||
* `ContactEmailOther`
|
* `ContactEmailOther`
|
||||||
* `Passport`
|
* `Passport`
|
||||||
* `<emails>`: Contains one or multiple [`<ContactEmail>`](#contactemail) element(s).
|
* `<emails>`: Contains one or multiple [`<ContactEmail>`](#contactemail) element(s).
|
||||||
* `<PrimaryPhone>`: Can be any of the following:
|
* `<PrimaryPhone>`: Can be any of the following:
|
||||||
* `ContactPhonePersonal`
|
* `ContactPhonePersonal`
|
||||||
* `ContactPhonePager`
|
* `ContactPhonePager`
|
||||||
|
@ -41,7 +41,7 @@ This element can contain many children, all of which optional:
|
||||||
* `ContactPhoneBusiness`
|
* `ContactPhoneBusiness`
|
||||||
* `ContactPhoneOther`
|
* `ContactPhoneOther`
|
||||||
* `ContactPhoneMobile`
|
* `ContactPhoneMobile`
|
||||||
* `<phones>`: Contains one or multiple [`<ContactPhone>`](#contactphone) element(s).
|
* `<phones>`: Contains one or multiple [`<ContactPhone>`](#contactphone) element(s).
|
||||||
* `<PrimaryLocation>`: Can be any of the following:
|
* `<PrimaryLocation>`: Can be any of the following:
|
||||||
* `ContactLocationBusiness`
|
* `ContactLocationBusiness`
|
||||||
* `ContactLocationPersonal`
|
* `ContactLocationPersonal`
|
||||||
|
@ -92,7 +92,7 @@ This element contains two children:
|
||||||
* `<city>`: The city associated with the `<contactLocationType>`.
|
* `<city>`: The city associated with the `<contactLocationType>`.
|
||||||
* `<state>`: The state associated with the `<contactLocationType>`.
|
* `<state>`: The state associated with the `<contactLocationType>`.
|
||||||
* `<country>`: The country associated with the `<contactLocationType>`.
|
* `<country>`: The country associated with the `<contactLocationType>`.
|
||||||
* `<postalCode>`: The postal code associated associated with the `<contactLocationType>`.
|
* `<postalCode>`: The postal code associated with the `<contactLocationType>`.
|
||||||
* `<Changes>`: A space delimited list of changed elements in this `<ContactLocation>`:
|
* `<Changes>`: A space delimited list of changed elements in this `<ContactLocation>`:
|
||||||
* `Name`
|
* `Name`
|
||||||
* `Street`
|
* `Street`
|
||||||
|
|
|
@ -449,7 +449,7 @@ This empty element has five attributes:
|
||||||
|
|
||||||
### MSNSearch
|
### MSNSearch
|
||||||
Controls the URLs used by search features.
|
Controls the URLs used by search features.
|
||||||
* `<DesktopInstallURL>`: The promotional page that opens when attempting a desktop search without the required software installed.
|
* `<DesktopInstallURL>`: The promotional page that opens when attempting a desktop search without the required software installed.
|
||||||
* `<ImagesURL>`: The image search service URL.
|
* `<ImagesURL>`: The image search service URL.
|
||||||
* `<NearMeURL>`: The search service URL for local services.
|
* `<NearMeURL>`: The search service URL for local services.
|
||||||
* `<NewsURL>`: The news search service URL.
|
* `<NewsURL>`: The news search service URL.
|
||||||
|
@ -562,8 +562,8 @@ Where `<msnmenudata>` contains:
|
||||||
|
|
||||||
If the item is for a `<premium>` product, `<clickurl>` is opened in the internal page browser.
|
If the item is for a `<premium>` product, `<clickurl>` is opened in the internal page browser.
|
||||||
If it is for a `<merchant>` product instead, `<clickurl>` is sent to `MessengerContentInstaller.InstallIndirectContent`.
|
If it is for a `<merchant>` product instead, `<clickurl>` is sent to `MessengerContentInstaller.InstallIndirectContent`.
|
||||||
|
To create a merchant package, simply create a empty `<package>` element in an empty XML document with the
|
||||||
TODO: What is a "Merchant CAB file"? `InstallIndirectContent` wants one.
|
`contentlocationurl` attribute set to a Messenger Content archive file.
|
||||||
|
|
||||||
## Editorial document
|
## Editorial document
|
||||||
```
|
```
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
Passport (SOAP), or "Passport 3.0" as it's sometimes called,
|
Passport (SOAP), or "Passport 3.0" as it's sometimes called,
|
||||||
is a HTTP-based authentication system that was introduced with [MSNP12](../versions/msnp12.md).
|
is a HTTP-based authentication system that was introduced with [MSNP12](../versions/msnp12.md).
|
||||||
|
|
||||||
The endpoint is called `RST.srf`, reciding on the `login.passport.net` or `login.live.com` domain.
|
The endpoint is called `RST.srf`, residing on either the `login.passport.net` or `login.live.com` domain.
|
||||||
|
|
||||||
For [MSNP8](../versions/msnp8.md) to [MSNP11](../versions/msnp11.md), read the [Passport 1.4](passport14.md) article.
|
For [MSNP8](../versions/msnp8.md) to [MSNP11](../versions/msnp11.md), read the [Passport 1.4](passport14.md) article.
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,8 @@ This element contains two children:
|
||||||
This element also contains one of the following mutually exclusive children.
|
This element also contains one of the following mutually exclusive children.
|
||||||
1. `<PassportName>`: The user handle associated with this membership.
|
1. `<PassportName>`: The user handle associated with this membership.
|
||||||
2. `<Email>`: The e-mail address associated with this membership.
|
2. `<Email>`: The e-mail address associated with this membership.
|
||||||
3. `<PhoneNumber>`: The phone number associated with this membership.
|
3. `<PhoneNumber>`: The phone number associated with this membership,
|
||||||
|
in the format of the full phone number (including country code) prefixed with a `+`.
|
||||||
|
|
||||||
This element also contains the following children IF the role is set to `ProfileExpression`:
|
This element also contains the following children IF the role is set to `ProfileExpression`:
|
||||||
* `<Id>`: Always `Allow`.
|
* `<Id>`: Always `Allow`.
|
||||||
|
|
|
@ -56,7 +56,8 @@ This element contains three children:
|
||||||
This element may instead contain one of the following mutually exclusive children instead of `<MembershipId>`:
|
This element may instead contain one of the following mutually exclusive children instead of `<MembershipId>`:
|
||||||
1. `<PassportName>`: The user handle associated with this membership.
|
1. `<PassportName>`: The user handle associated with this membership.
|
||||||
2. `<Email>`: The e-mail address associated with this membership.
|
2. `<Email>`: The e-mail address associated with this membership.
|
||||||
3. `<PhoneNumber>`: The phone number associated with this membership.
|
3. `<PhoneNumber>`: The phone number associated with this membership,
|
||||||
|
in the format of the full phone number (including country code) prefixed with a `+`.
|
||||||
|
|
||||||
This element also contains the following children IF the role is set to `ProfileExpression`:
|
This element also contains the following children IF the role is set to `ProfileExpression`:
|
||||||
* `<Id>`: Always `Allow`.
|
* `<Id>`: Always `Allow`.
|
||||||
|
|
|
@ -9,7 +9,7 @@ This is a list of all known MSNP commands and their originating version.
|
||||||
| [`CVR`](commands/cvr.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP4](versions/msnp4.md) (parameter 7), [MSNP8](versions/msnp8.md) (parameter 8) |
|
| [`CVR`](commands/cvr.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP4](versions/msnp4.md) (parameter 7), [MSNP8](versions/msnp8.md) (parameter 8) |
|
||||||
| [`CVQ`](commands/cvq.md) | N | Y | N | [CVR0](versions/cvr0.md) | [MSNP4](versions/msnp4.md) (parameter 7, but always empty), [MSNP8](versions/msnp8.md) (fixed parameter 7 being empty, parameter 8 ) |
|
| [`CVQ`](commands/cvq.md) | N | Y | N | [CVR0](versions/cvr0.md) | [MSNP4](versions/msnp4.md) (parameter 7, but always empty), [MSNP8](versions/msnp8.md) (fixed parameter 7 being empty, parameter 8 ) |
|
||||||
| [`USR`](commands/usr.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (Removed `CTP` security package), [MSNP6](versions/msnp6.md) (Added account verified bit to USR OK), [MSNP8](versions/msnp8.md) (Added account restricted bit to USR OK), [MSNP10](versions/msnp10.md) (removed current friendly name in favour of [PRP](commands/prp.md) MFN), (Removed `MD5` security package, added `TWN` security package, added new unknown bit (parameter 5) to USR OK), [MSNP15](versions/msnp15.md) (Added `SSO` security package.) |
|
| [`USR`](commands/usr.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (Removed `CTP` security package), [MSNP6](versions/msnp6.md) (Added account verified bit to USR OK), [MSNP8](versions/msnp8.md) (Added account restricted bit to USR OK), [MSNP10](versions/msnp10.md) (removed current friendly name in favour of [PRP](commands/prp.md) MFN), (Removed `MD5` security package, added `TWN` security package, added new unknown bit (parameter 5) to USR OK), [MSNP15](versions/msnp15.md) (Added `SSO` security package.) |
|
||||||
| [`XFR`](commands/xfr.md) | N | Y | Y?| [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (parameter 3), [MSNP7](versions/msnp7.md) (parameter 4) |
|
| [`XFR`](commands/xfr.md) | N | Y | Y?| [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (XFR NS: parameter 3), [MSNP7](versions/msnp7.md) (XFR NS: parameter 4), [MSNP13](versions/msnp13.md) (XFR NS: replaced parameters 3 and 4 with `U` and `messenger.msn.com`, XFR SB: added parameters 5 and 6, being always `U` and `messenger.msn.com`) |
|
||||||
| [`OUT`](commands/out.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (MIG and TOU disconnect reasons added), [MSNP11](versions/msnp11.md) (RCT reason added with parameter for amount of minutes until attempted reconnect.) |
|
| [`OUT`](commands/out.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (MIG and TOU disconnect reasons added), [MSNP11](versions/msnp11.md) (RCT reason added with parameter for amount of minutes until attempted reconnect.) |
|
||||||
| [`FND`](commands/fnd.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP5](versions/msnp5.md) (uses [SDC](commands/sdc.md) instead of [SND](commands/snd.md)), July 2003 (not really any specific MSNP update, just soft-removed with a 502.) |
|
| [`FND`](commands/fnd.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP5](versions/msnp5.md) (uses [SDC](commands/sdc.md) instead of [SND](commands/snd.md)), July 2003 (not really any specific MSNP update, just soft-removed with a 502.) |
|
||||||
| [`BLP`](commands/blp.md) | N | Y | Y\*| [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (Removed List Version if `ABCHMigrated: 1`) |
|
| [`BLP`](commands/blp.md) | N | Y | Y\*| [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (Removed List Version if `ABCHMigrated: 1`) |
|
||||||
|
@ -26,11 +26,11 @@ This is a list of all known MSNP commands and their originating version.
|
||||||
| [`CAL`](commands/cal.md) | N | Y | N | [MSNP2](versions/msnp2.md) | |
|
| [`CAL`](commands/cal.md) | N | Y | N | [MSNP2](versions/msnp2.md) | |
|
||||||
| [`PRP`](commands/prp.md) | N | Y | N | [MSNP5](versions/msnp5.md) | [MSNP8](versions/msnp8.md) (Removed List Version in [SYN](commands/syn.md)), [MSNP10](versions/msnp10.md) (Removed List Version outside of [SYN](commands/syn.md) if `ABCHMigrated: 1`) |
|
| [`PRP`](commands/prp.md) | N | Y | N | [MSNP5](versions/msnp5.md) | [MSNP8](versions/msnp8.md) (Removed List Version in [SYN](commands/syn.md)), [MSNP10](versions/msnp10.md) (Removed List Version outside of [SYN](commands/syn.md) if `ABCHMigrated: 1`) |
|
||||||
| [`BPR`](commands/bpr.md) | N | N | Y | [MSNP5](versions/msnp5.md) | [MSNP8](versions/msnp8.md) (Removed List Version and user handle in [SYN](commands/syn.md)), [MSNP10](versions/msnp10.md) (Removed List Version outside of SYN if `ABCHMigrated: 1`) |
|
| [`BPR`](commands/bpr.md) | N | N | Y | [MSNP5](versions/msnp5.md) | [MSNP8](versions/msnp8.md) (Removed List Version and user handle in [SYN](commands/syn.md)), [MSNP10](versions/msnp10.md) (Removed List Version outside of SYN if `ABCHMigrated: 1`) |
|
||||||
| [`RNG`](commands/rng.md) | N | N | Y | [MSNP2](versions/msnp2.md) | |
|
| [`RNG`](commands/rng.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP13](versions/msnp13.md) (Added parameters 8 and 9, one always `U`, one always `messenger.hotmail.com`.) |
|
||||||
| [`LST`](commands/lst.md) | N | Y | Y\*| [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP8](versions/msnp8.md) ([SYN](commands/syn.md): removed iterator parameters, condensed all lists into a single parameter, removed List Version), [MSNP10](versions/msnp10.md) (Added prefixes to contact's handle and friendly name, and added a GUID parameter if `ABCHMigrated: 1`. Also changed group IDs to GUIDs.), [MSNP12](versions/msnp12.md) (Added network IDs), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s [`ABFindAll`](services/abservice/abfindall.md) and [Contact Sharing Service](services/sharingservice.md)'s [`FindMembership`](services/sharingservice/findmembership.md) instead.), November 2003 (Removed outside of [SYN](commands/syn.md), not really any specific MSNP update, just hard removed with an automatic disconnect.) |
|
| [`LST`](commands/lst.md) | N | Y | Y\*| [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP8](versions/msnp8.md) ([SYN](commands/syn.md): removed iterator parameters, condensed all lists into a single parameter, removed List Version), [MSNP10](versions/msnp10.md) (Added prefixes to contact's handle and friendly name, and added a GUID parameter if `ABCHMigrated: 1`. Also changed group IDs to GUIDs.), [MSNP12](versions/msnp12.md) (Added network IDs), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s [`ABFindAll`](services/abservice/abfindall.md) and [Contact Sharing Service](services/sharingservice.md)'s [`FindMembership`](services/sharingservice/findmembership.md) instead.), November 2003 (Removed outside of [SYN](commands/syn.md), not really any specific MSNP update, just hard removed with an automatic disconnect.) |
|
||||||
| [`ADD`](commands/add.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP10](versions/msnp10.md) (Removed; automatic disconnect, use [ADC](commands/adc.md) instead) |
|
| [`ADD`](commands/add.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP10](versions/msnp10.md) (Removed; automatic disconnect, use [ADC](commands/adc.md) instead) |
|
||||||
| [`REM`](commands/rem.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP10](versions/msnp10.md) (Replaced user handles with GUIDs if list is the Forward List (FL), and removed list versions from all responses), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, replaced with RML and [Address Book Service](services/abservice.md)'s [`ABContactDelete`](services/abservice/abcontactdelete.md) and [Contact Sharing Service](services/sharingservice.md)'s [`DeleteMember`](services/sharingservice/deletemember.md) instead) |
|
| [`REM`](commands/rem.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP10](versions/msnp10.md) (Replaced user handles with GUIDs if list is the Forward List (FL), and removed list versions from all responses), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, replaced with RML and [Address Book Service](services/abservice.md)'s [`ABContactDelete`](services/abservice/abcontactdelete.md) and [Contact Sharing Service](services/sharingservice.md)'s [`DeleteMember`](services/sharingservice/deletemember.md) instead) |
|
||||||
| [`FLN`](commands/fln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | |
|
| [`FLN`](commands/fln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP14](versions/msnp14.md) (Added Network ID parameter) |
|
||||||
| [`PNG`](commands/png.md) | N | Y | N | [MSNP2](versions/msnp2.md) | |
|
| [`PNG`](commands/png.md) | N | Y | N | [MSNP2](versions/msnp2.md) | |
|
||||||
| [`QNG`](commands/qng.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP9](versions/msnp9.md) (Added next seconds parameter) |
|
| [`QNG`](commands/qng.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP9](versions/msnp9.md) (Added next seconds parameter) |
|
||||||
| [`URL`](commands/url.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (Added Passport Site ID support as parameter 3), removed `PASSWORD` service), [MSNP5](versions/msnp5.md) (Added `MOBILE` and `CHGMOB` services), [MSNP6](versions/msnp6.md) (Added `PROFILE`, `N2PACCOUNT` and `N2PFUND` services), [MSNP7](versions/msnp7.md) (Added `CHAT` service), [MSNP8](versions/msnp8.md) (Added `ADDRBOOK`, `ADVSEARCH` and `INTSEARCH` services) |
|
| [`URL`](commands/url.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (Added Passport Site ID support as parameter 3), removed `PASSWORD` service), [MSNP5](versions/msnp5.md) (Added `MOBILE` and `CHGMOB` services), [MSNP6](versions/msnp6.md) (Added `PROFILE`, `N2PACCOUNT` and `N2PFUND` services), [MSNP7](versions/msnp7.md) (Added `CHAT` service), [MSNP8](versions/msnp8.md) (Added `ADDRBOOK`, `ADVSEARCH` and `INTSEARCH` services) |
|
||||||
|
@ -55,12 +55,21 @@ This is a list of all known MSNP commands and their originating version.
|
||||||
| [`QRY`](commands/qry.md) | Y | Y | N | [MSNP6](versions/msnp6.md) | [MSNP10](versions/msnp10.md) (Changed challenge response generation algorithm drastically.) |
|
| [`QRY`](commands/qry.md) | Y | Y | N | [MSNP6](versions/msnp6.md) | [MSNP10](versions/msnp10.md) (Changed challenge response generation algorithm drastically.) |
|
||||||
| [`UBX`](commands/ubx.md) | Y | N | Y | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Added `<MachineGuid>` to the default list of elements.) |
|
| [`UBX`](commands/ubx.md) | Y | N | Y | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Added `<MachineGuid>` to the default list of elements.) |
|
||||||
| [`UUX`](commands/uux.md) | Y | Y | N | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Added `<MachineGuid>` to the default list of elements.), [MSNP14](versions/msnp14.md) (Added support for Network IDs.) |
|
| [`UUX`](commands/uux.md) | Y | Y | N | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Added `<MachineGuid>` to the default list of elements.), [MSNP14](versions/msnp14.md) (Added support for Network IDs.) |
|
||||||
|
| [`ADL`](commands/adl.md) | Y | Y | Y | [MSNP13](versions/msnp13.md) | [MSNP17](versions/msnp17.md) (Now can manage circles.) |
|
||||||
|
| [`RML`](commands/rml.md) | Y | Y | Y | [MSNP13](versions/msnp13.md) | [MSNP17](versions/msnp17.md) (Now can manage circles.) |
|
||||||
|
| [`FQY`](commands/fqy.md) | Y | Y | N | [MSNP14](versions/msnp14.md) | |
|
||||||
|
|
||||||
# What's Missing Right Now
|
# What's Missing Right Now
|
||||||
|
|
||||||
## In general
|
## In general
|
||||||
|
* [MSNP11](versions/msnp11.md): GSB
|
||||||
* [MSNP11](versions/msnp11.md): SBS
|
* [MSNP11](versions/msnp11.md): SBS
|
||||||
* [MSNP12](versions/msnp12.md): LKP
|
* [MSNP12](versions/msnp12.md): LKP
|
||||||
|
* [MSNP13](versions/msnp13.md): RFS
|
||||||
|
* [MSNP13](versions/msnp13.md): UBN
|
||||||
|
* [MSNP13](versions/msnp13.md): UUN
|
||||||
|
* [MSNP14](versions/msnp14.md): UBM
|
||||||
|
* [MSNP14](versions/msnp14.md): UUM
|
||||||
|
|
||||||
# Modifiers
|
# Modifiers
|
||||||
* `*`: Only in [SYN](commands/syn.md).
|
* `*`: Only in [SYN](commands/syn.md).
|
||||||
|
|
|
@ -45,7 +45,8 @@ The following commands were removed in this version:
|
||||||
* [RMG](../commands/rmg.md)
|
* [RMG](../commands/rmg.md)
|
||||||
* [REM](../commands/rem.md)
|
* [REM](../commands/rem.md)
|
||||||
* [PRP](../commands/prp.md)
|
* [PRP](../commands/prp.md)
|
||||||
* Added a new list: Pending List/PL (bit 5, decimal 16). Is meant for unhandled contact added you notifications.
|
* Added a new list: Pending List/PL (bit 5, decimal 16).
|
||||||
|
This list contains users that have unhandled "contact added you" notifications.
|
||||||
* Added new server-side [OUT](../commands/out.md) reasons: `MIG`, if the server has migrated you to ABCH,
|
* Added new server-side [OUT](../commands/out.md) reasons: `MIG`, if the server has migrated you to ABCH,
|
||||||
and `TOU`, for not accepting the Service Terms of Use.
|
and `TOU`, for not accepting the Service Terms of Use.
|
||||||
* Official Client: Now handles the 604, 914, 916 error codes again,
|
* Official Client: Now handles the 604, 914, 916 error codes again,
|
||||||
|
|
|
@ -5,6 +5,7 @@ It was introduced officially in Client Version 7.0.0777.
|
||||||
# Command information
|
# Command information
|
||||||
It introduces the notification service commands:
|
It introduces the notification service commands:
|
||||||
* [GCF](../commands/gcf.md)
|
* [GCF](../commands/gcf.md)
|
||||||
|
* GSB
|
||||||
* SBS
|
* SBS
|
||||||
* [UBX](../commands/ubx.md)
|
* [UBX](../commands/ubx.md)
|
||||||
* [UUX](../commands/uux.md)
|
* [UUX](../commands/uux.md)
|
||||||
|
@ -30,8 +31,8 @@ It introduces the notification service commands:
|
||||||
* Offline Instant Messaging has been introduced, using `text/x-msmsgsoimnotification`
|
* Offline Instant Messaging has been introduced, using `text/x-msmsgsoimnotification`
|
||||||
messages from the Notification Server using a XML-based format,
|
messages from the Notification Server using a XML-based format,
|
||||||
and a SOAP service for receiving message data.
|
and a SOAP service for receiving message data.
|
||||||
* Official Client: Feature blocks are implemented using the [GCF](../commands/gcf.md) command
|
* Official Client: Feature blocks are implemented using the [GCF](../commands/gcf.md) command to download `Shields.xml`.
|
||||||
to download `Shields.xml`. For more information read the [Shields Configuration Data](../files/shields.md) article.
|
For more information read the [Shields Configuration Data](../files/shields.md) article.
|
||||||
* Official Client: WebMessenger now canonically exists, the [Client Capability](../files/client_capabilities.md)
|
* Official Client: WebMessenger now canonically exists, the [Client Capability](../files/client_capabilities.md)
|
||||||
flag `512` (`0x200` mask) is set for clients online via this method.
|
flag `512` (`0x200` mask) is set for clients online via this method.
|
||||||
* Official Client: Notifications ([NOT](../commands/not.md) commands) with encoded
|
* Official Client: Notifications ([NOT](../commands/not.md) commands) with encoded
|
||||||
|
@ -100,7 +101,7 @@ C: SYN 8 2024-09-28T17:18:18.6400000-07:00 2024-09-28T17:18:18.6400000-07:00
|
||||||
S: SYN 8 2024-09-28T17:18:18.6400000-07:00 2024-09-28T17:18:18.6400000-07:00
|
S: SYN 8 2024-09-28T17:18:18.6400000-07:00 2024-09-28T17:18:18.6400000-07:00
|
||||||
C: GCF 9 Shields.xml
|
C: GCF 9 Shields.xml
|
||||||
S: GCF 9 Shields.xml 145
|
S: GCF 9 Shields.xml 145
|
||||||
<?xml version= "1.0" encoding="utf-8" ?><config><shield><cli maj="7" min="0" minbld="0" maxbld="9999" deny="" /></shield><block></block></config>
|
<?xml version="1.0" encoding="utf-8" ?><config><shield><cli maj="7" min="0" minbld="0" maxbld="9999" deny=" " /></shield><block></block></config>
|
||||||
C: CHG 10 NLN
|
C: CHG 10 NLN
|
||||||
S: CHG 10 NLN
|
S: CHG 10 NLN
|
||||||
C: UUX 11 53
|
C: UUX 11 53
|
||||||
|
|
|
@ -91,7 +91,7 @@ S: LST N=anotheruser@hotmail.com F=another%20user C=c1f9a363-4ee9-4a33-a434-b056
|
||||||
S: BPR PHH 1%20(222)%20333%204444
|
S: BPR PHH 1%20(222)%20333%204444
|
||||||
C: GCF 9 Shields.xml
|
C: GCF 9 Shields.xml
|
||||||
S: GCF 9 Shields.xml 145
|
S: GCF 9 Shields.xml 145
|
||||||
<?xml version= "1.0" encoding="utf-8" ?><config><shield><cli maj="7" min="0" minbld="0" maxbld="9999" deny="" /></shield><block></block></config>
|
<?xml version="1.0" encoding="utf-8" ?><config><shield><cli maj="7" min="0" minbld="0" maxbld="9999" deny=" " /></shield><block></block></config>
|
||||||
C: CHG 10 NLN
|
C: CHG 10 NLN
|
||||||
S: CHG 10 NLN
|
S: CHG 10 NLN
|
||||||
C: UUX 11 53
|
C: UUX 11 53
|
||||||
|
|
182
docs/versions/msnp13.md
Normal file
182
docs/versions/msnp13.md
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
# Introduction
|
||||||
|
MSNP13 is the twelfth released version of the Mobile Status Notification Protocol.
|
||||||
|
It was introduced officially in Client Version 8.0.0787, along with [MSNP14](msnp14.md).
|
||||||
|
|
||||||
|
# Command information
|
||||||
|
|
||||||
|
It introduces the notification service commands:
|
||||||
|
* [ADL](../commands/adl.md)
|
||||||
|
* [RML](../commands/rml.md)
|
||||||
|
* RFS
|
||||||
|
* UBN
|
||||||
|
* UUN
|
||||||
|
|
||||||
|
*No switchboard or dispatch service commands 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:
|
||||||
|
* [ADC](../commands/adc.md) (automatic disconnection)
|
||||||
|
* [ADG](../commands/adc.md) (automatic disconnection)
|
||||||
|
* [REG](../commands/reg.md) (automatic disconnection)
|
||||||
|
* [REM](../commands/rem.md) (automatic disconnection)
|
||||||
|
* [RMG](../commands/rmg.md) (automatic disconnection)
|
||||||
|
* [GTC](../commands/gtc.md) (automatic disconnection)
|
||||||
|
* [SYN](../commands/syn.md) (automatic disconnection)
|
||||||
|
* [SBP](../commands/sbp.md) (unconfirmed, could be used for HSB and stuff, automatic disconnection)
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
(from [MSNP12](msnp12.md)):
|
||||||
|
* This is the second protocol split since [MSNP8](msnp8.md).
|
||||||
|
No clients supporting this protocol are expected to support [MSNP12](msnp12.md) or below.
|
||||||
|
* [XFR](../commands/xfr.md) NS format has been changed.
|
||||||
|
The unused parameter from [MSNP3](msnp3.md) and the current server parameter from [MSNP7](msnp7.md)
|
||||||
|
have been replaced with two new parameters, one containing `U`, and one containing a `D`.
|
||||||
|
The use of these parameters is unknown.
|
||||||
|
* The [Passport (SOAP)](../services/passportsoap.md) authentication request
|
||||||
|
will now include a request for few more security tokens,
|
||||||
|
notably `contacts.msn.com` for the [Address Book Service](../services/abservice.md).
|
||||||
|
* Replaced [SYN](../commands/syn.md) with both the
|
||||||
|
[Address Book Service](../services/abservice.md)'s
|
||||||
|
[`ABFindAll`](../services/abservice/abfindall.md)
|
||||||
|
and the [Contact Sharing Service](../services/sharingservice.md)'s
|
||||||
|
[`FindMembership`](../services/sharingservice/findmembership.md) actions.
|
||||||
|
* Instead of [ADC](../commands/adc.md) adding new users to the Forward List (FL), Allow List (AL),
|
||||||
|
Block List (BL), or the Reverse List (RL), the [Address Book Service](../services/abservice.md)'s
|
||||||
|
[`ABContactAdd`](../services/abservice/abcontactadd.md) action is used for the Forward List (FL),
|
||||||
|
and the [Contact Sharing Service](../services/sharingservice.md)'s
|
||||||
|
[`AddMember`](../services/sharingservice/addmember.md) action for the other lists.
|
||||||
|
* Instead of [REM](../commands/rem.md) removing existing users from the Forward List (FL), Allow List (AL),
|
||||||
|
Block List (BL), or the Pending List (PL), the [Address Book Service](../services/abservice.md)'s
|
||||||
|
[`ABContactDelete`](../services/abservice/abcontactdelete.md) action is used for the Forward List (FL),
|
||||||
|
and the [Contact Sharing Service](../services/sharingservice.md)'s
|
||||||
|
[`DeleteMember`](../services/sharingservice/deletemember.md) action for the other lists.
|
||||||
|
* Instead of [GTC](../commands/gtc.md), use the [Address Book Service](../services/abservice.md)'s
|
||||||
|
[`ABContactUpdate`](../services/abservice/abcontactdelete.md) action on your own user to set the
|
||||||
|
`MSN.IM.GTC` annotation's value to 0 or 1:
|
||||||
|
* `0`: Automatically add to AL
|
||||||
|
* `1`: Ask before adding to AL/BL
|
||||||
|
* Instead of [ADG](../commands/adg.md), use the [Address Book Service](../services/abservice.md)'s
|
||||||
|
[`ABGroupAdd`](../services/abservice/abgroupadd.md) action.
|
||||||
|
* Instead of [RMG](../commands/adg.md), use the [Address Book Service](../services/abservice.md)'s
|
||||||
|
[`ABGroupDelete`](../services/abservice/abgroupdelete.md) action.
|
||||||
|
* Instead of [REG](../commands/adg.md), use the [Address Book Service](../services/abservice.md)'s
|
||||||
|
[`ABGroupUpdate`](../services/abservice/abgroupupdate.md) action.
|
||||||
|
* Instead of [SBP](../commands/sbp.md), use the [Address Book Service](../services/abservice.md)'s
|
||||||
|
[`ABContactUpdate`](../services/abservice/abcontactupdate.md) action.
|
||||||
|
* [NOT](../commands/not.md): `<NotificationData>` notifications are used for updates to your contact list
|
||||||
|
as well as [ADL](../commands/adl.md).
|
||||||
|
* [GCF](../commands/gcf.md): All policies are now always sent after your first [USR](../commands/usr.md) command,
|
||||||
|
including the contents of `Shields.xml` in the policy with the type of `SHIELDS`.
|
||||||
|
* [UUX](../commands/uux.md), [UBX](../commands/ubx.md): Added `<MachineGuid>` element to `<Data>`.
|
||||||
|
* The contact management commands ([ADL](../commands/adl.md) and [RML](../commands/rml.md))
|
||||||
|
now only manage the state of the Forward List (FL), Allow List (AL) and Block List (BL) for the current session.
|
||||||
|
For managing contacts persistently, you have to use both the [Address Book Service](../services/abservice.md)
|
||||||
|
and the [Contact Sharing Services](../services/sharingservice.md) SOAP services.
|
||||||
|
* [RNG](../commands/rng.md) and [XFR](../commands/xfr.md) SB commands now have two extra parameters.
|
||||||
|
The use of these parameters is currently unknown.
|
||||||
|
* Offline instant messages can now be sent via the Offline Instant Messaging SOAP 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 MSNP13 CVR0
|
||||||
|
S: VER 1 MSNP13
|
||||||
|
C: CVR 2 0x0409 winnt 5.1 i386 MSG80BETA 8.0.0566 msmsgs example@hotmail.com
|
||||||
|
S: CVR 2 8.0.0566 8.0.0566 8.0.0566
|
||||||
|
.. http://msgr.dlservice.microsoft.com/download/4/5/b/45beb06f-5a08-4694-abd8-d6e706b06b68/Install_Messenger_Beta.exe
|
||||||
|
.. http://ideas.live.com
|
||||||
|
C: USR 3 TWN I example@hotmail.com
|
||||||
|
S: XFR 3 NS 10.0.0.5:1863 U D
|
||||||
|
```
|
||||||
|
Client disconnects from server
|
||||||
|
|
||||||
|
Client opens a connection to 10.0.0.5:1863
|
||||||
|
```
|
||||||
|
C: VER 4 MSNP13 CVR0
|
||||||
|
S: VER 4 MSNP13
|
||||||
|
C: CVR 5 0x0409 winnt 5.1 i386 MSNMSGR 8.0.0566 MSMSGS example@hotmail.com
|
||||||
|
S: CVR 5 8.0.0566 8.0.0566 8.0.0566
|
||||||
|
.. http://msgr.dlservice.microsoft.com/download/4/5/b/45beb06f-5a08-4694-abd8-d6e706b06b68/Install_Messenger_Beta.exe
|
||||||
|
.. http://ideas.live.com
|
||||||
|
C: USR 6 TWN I example@hotmail.com
|
||||||
|
```
|
||||||
|
*The HTTPS interlude is described in the [Passport (SOAP)](../services/passportsoap.md) article.*
|
||||||
|
```
|
||||||
|
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
||||||
|
S: GCF 0 201
|
||||||
|
<Policies>
|
||||||
|
<Policy type="SHIELDS">
|
||||||
|
<config>
|
||||||
|
<shield>
|
||||||
|
<cli maj="7" min="0" minbld="0" maxbld="9999" deny=" " />
|
||||||
|
</shield>
|
||||||
|
<block>
|
||||||
|
</block>
|
||||||
|
</config>
|
||||||
|
</Policy>
|
||||||
|
</Policies>
|
||||||
|
C: USR 7 TWN S $(xmldecode(passportsoap.BinarySecurityToken#Compact1))
|
||||||
|
S: USR 7 OK example@hotmail.com 1 0
|
||||||
|
S: SBS 0 null
|
||||||
|
S: MSG Hotmail Hotmail 481
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/x-msmsgsprofile; charset=UTF-8
|
||||||
|
LoginTime: 1732890086
|
||||||
|
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
|
||||||
|
ABCHMigrated: 1
|
||||||
|
BetaInvites: 10
|
||||||
|
|
||||||
|
```
|
||||||
|
*The Client now uses both the [`ABFindAll`](../services/abservice/abfindall.md)
|
||||||
|
and the [`FindMembership`](../services/sharingservice/findmembership.md) actions
|
||||||
|
to get the current state of all lists and the last stored name and privacy mode.*
|
||||||
|
|
||||||
|
*NOTE: The following [ADL](../commands/adl.md) and [UUX](../commands/uux.md) payloads
|
||||||
|
have been exploded for visibility and formatting reasons.
|
||||||
|
No whitespace is allowed in [ADL](../commands/adl.md)'s payload and the payload size reflects this,
|
||||||
|
and is set to the correct value.*
|
||||||
|
```
|
||||||
|
C: BLP 7 AL
|
||||||
|
S: BLP 7 AL
|
||||||
|
C: ADL 8 110
|
||||||
|
<ml l="1">
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="3" t="1" />
|
||||||
|
</d>
|
||||||
|
<t>
|
||||||
|
<c n="tel:+15551111222" l="3" />
|
||||||
|
</t>
|
||||||
|
</ml>
|
||||||
|
S: ADL 8 OK
|
||||||
|
C: PRP 9 MFN example%20user
|
||||||
|
S: PRP 9 MFN example%20user
|
||||||
|
C: CHG 10 NLN
|
||||||
|
S: CHG 10 NLN
|
||||||
|
C: UUX 11 118
|
||||||
|
<Data>
|
||||||
|
<PSM></PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
<MachineGuid>{44BFD5A4-7450-4BDA-BA3A-C51B3031126D}</MachineGuid>
|
||||||
|
</Data>
|
||||||
|
S: UUX 11 0
|
||||||
|
```
|
137
docs/versions/msnp14.md
Normal file
137
docs/versions/msnp14.md
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
# Introduction
|
||||||
|
MSNP14 is the thirteenth released version of the Mobile Status Notification Protocol.
|
||||||
|
It was introduced officially in Client Version 8.0.0787, along with [MSNP13](../versions/msnp13.md).
|
||||||
|
|
||||||
|
# Command information
|
||||||
|
|
||||||
|
It introduces the notificaiton service commands:
|
||||||
|
* [FQY](../commands/fqy.md)
|
||||||
|
* UBM
|
||||||
|
* UUM
|
||||||
|
|
||||||
|
*No switchboard or dispatch service commands were known to be introduced in this version*
|
||||||
|
|
||||||
|
*No error codes were known to be introduced in this version*
|
||||||
|
|
||||||
|
*No commands were known to be removed in this version*
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
(from [MSNP13](../versions/msnp13.md)):
|
||||||
|
* [UBX](../commands/ubx.md) now has an extra parameter for a Network ID of the network
|
||||||
|
that generated the new XML payload.
|
||||||
|
* [RNG](../commands/rng.md) and [XFR](../commands/xfr.md) SB commands now have an extra parameter
|
||||||
|
to specify if the address should be connected to directly or only via the HTTP Gateway.
|
||||||
|
* [ILN](../commands/iln.md), [NLN](../commands/nln.md) and [FLN](../commands/fln.md)
|
||||||
|
now have an extra parameter for the Network ID of the network that generated the new status.
|
||||||
|
* Official Client: Yahoo! Messenger interoperability is now supported.
|
||||||
|
The [FQY](../command/fqy.md) command is used to discover if a user is from the Yahoo! Messenger network.
|
||||||
|
This is represented in the [Address Book Service](../services/abservice.md) as a email-only contact
|
||||||
|
with the `isMessengerEnabled` element set to `true` for the `contactEmailType` of `Messenger2`.
|
||||||
|
This is also represented in the [Contact Sharing Service](../services/sharingservice.md) as a e-mail membership,
|
||||||
|
with the `MSN.IM.BuddyType` annotation set to `32:`.
|
||||||
|
The Network ID 32 (bit 6) is used to specify that this user is from the Yahoo! Messenger service.
|
||||||
|
* [ILN](../commands/iln.md) and [NLN](../commands/nln.md) now include a new parameter
|
||||||
|
that specifies what icon to use to denote a user from another 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 MSNP14 MSNP13 CVR0
|
||||||
|
S: VER 1 MSNP14
|
||||||
|
C: CVR 2 0x0409 winnt 5.1 i386 MSG80BETA 8.0.0566 msmsgs example@hotmail.com
|
||||||
|
S: CVR 2 8.0.0566 8.0.0566 8.0.0566
|
||||||
|
.. http://msgr.dlservice.microsoft.com/download/4/5/b/45beb06f-5a08-4694-abd8-d6e706b06b68/Install_Messenger_Beta.exe
|
||||||
|
.. http://ideas.live.com
|
||||||
|
C: USR 3 TWN I example@hotmail.com
|
||||||
|
S: XFR 3 NS 10.0.0.5:1863 U D
|
||||||
|
```
|
||||||
|
Client disconnects from server
|
||||||
|
|
||||||
|
Client opens a connection to 10.0.0.5:1863
|
||||||
|
```
|
||||||
|
C: VER 4 MSNP14 MSNP13 CVR0
|
||||||
|
S: VER 4 MSNP14
|
||||||
|
C: CVR 5 0x0409 winnt 5.1 i386 MSNMSGR 8.0.0566 MSMSGS example@hotmail.com
|
||||||
|
S: CVR 5 8.0.0566 8.0.0566 8.0.0566
|
||||||
|
.. http://msgr.dlservice.microsoft.com/download/4/5/b/45beb06f-5a08-4694-abd8-d6e706b06b68/Install_Messenger_Beta.exe
|
||||||
|
.. http://ideas.live.com
|
||||||
|
C: USR 6 TWN I example@hotmail.com
|
||||||
|
```
|
||||||
|
*The HTTPS interlude is described in the [Passport (SOAP)](../services/passportsoap.md) article.*
|
||||||
|
```
|
||||||
|
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
||||||
|
S: GCF 0 201
|
||||||
|
<Policies>
|
||||||
|
<Policy type="SHIELDS">
|
||||||
|
<config>
|
||||||
|
<shield>
|
||||||
|
<cli maj="7" min="0" minbld="0" maxbld="9999" deny=" " />
|
||||||
|
</shield>
|
||||||
|
<block>
|
||||||
|
</block>
|
||||||
|
</config>
|
||||||
|
</Policy>
|
||||||
|
</Policies>
|
||||||
|
C: USR 7 TWN S $(xmldecode(passportsoap.BinarySecurityToken#Compact1))
|
||||||
|
S: USR 7 OK example@hotmail.com 1 0
|
||||||
|
S: SBS 0 null
|
||||||
|
S: MSG Hotmail Hotmail 465
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/x-msmsgsprofile; charset=UTF-8
|
||||||
|
LoginTime: 1732890086
|
||||||
|
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
|
||||||
|
ABCHMigrated: 1
|
||||||
|
|
||||||
|
```
|
||||||
|
*The Client now uses both the [`ABFindAll`](../services/abservice/abfindall.md)
|
||||||
|
and the [`FindMembership`](../services/sharingservice/findmembership.md) actions
|
||||||
|
to get the current state of all lists and the last stored name and privacy mode.*
|
||||||
|
|
||||||
|
*NOTE: The following [ADL](../commands/adl.md) and [UUX](../commands/uux.md) payloads
|
||||||
|
have been exploded for visibility and formatting reasons.
|
||||||
|
No whitespace is allowed in [ADL](../commands/adl.md)'s payload and the payload size reflects this,
|
||||||
|
and is set to the correct value.*
|
||||||
|
```
|
||||||
|
C: BLP 7 AL
|
||||||
|
S: BLP 7 AL
|
||||||
|
C: ADL 8 110
|
||||||
|
<ml l="1">
|
||||||
|
<d n="hotmail.com">
|
||||||
|
<c n="anotheruser" l="3" t="1" />
|
||||||
|
</d>
|
||||||
|
<t>
|
||||||
|
<c n="tel:+15551111222" l="3" />
|
||||||
|
</t>
|
||||||
|
</ml>
|
||||||
|
S: ADL 8 OK
|
||||||
|
C: PRP 9 MFN example%20user
|
||||||
|
S: PRP 9 MFN example%20user
|
||||||
|
C: CHG 10 NLN
|
||||||
|
S: CHG 10 NLN
|
||||||
|
C: UUX 11 118
|
||||||
|
<Data>
|
||||||
|
<PSM></PSM>
|
||||||
|
<CurrentMedia></CurrentMedia>
|
||||||
|
<MachineGuid>{44BFD5A4-7450-4BDA-BA3A-C51B3031126D}</MachineGuid>
|
||||||
|
</Data>
|
||||||
|
S: UUX 11 0
|
||||||
|
```
|
|
@ -97,7 +97,7 @@ It introduces the error codes:
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
(from Beta 2)
|
(from Beta 2)
|
||||||
* Dispatch servers now go through the normal user proceedure until `USR x MD5 I`.
|
* Dispatch servers now go through the normal user proceedure until `USR TrID MD5 I user-handle`.
|
||||||
|
|
||||||
# Client-server communication example
|
# Client-server communication example
|
||||||
```
|
```
|
||||||
|
|
|
@ -22,7 +22,13 @@ It introduces the error codes:
|
||||||
(from [MSNP2](msnp2.md)):
|
(from [MSNP2](msnp2.md)):
|
||||||
* [XFR](../commands/xfr.md): Added a new parameter that is always `0`. No use is known or documented.
|
* [XFR](../commands/xfr.md): Added a new parameter that is always `0`. No use is known or documented.
|
||||||
* Added Passport Site IDs to [URL](../commands/url.md) (parameter 3).
|
* Added Passport Site IDs to [URL](../commands/url.md) (parameter 3).
|
||||||
* Removed `PASSWORD` service from [URL](../commands/url.md).
|
* Content types of both e-mail notifications have changed.
|
||||||
|
* The initial configuration content type was changed from
|
||||||
|
`application/x-msmsgsemailnotification` to `text/x-msmsgsinitialemailnotification`.
|
||||||
|
The content remains the same.
|
||||||
|
* The notifification content type was changed from
|
||||||
|
`application/x-msmsgsemailnotification` to `text/x-msmsgsemailnotification`.
|
||||||
|
The only difference in content is the added `id` header.
|
||||||
* Added Hotmail's Passport Site ID to new e-mail notifications.
|
* Added Hotmail's Passport Site ID to new e-mail notifications.
|
||||||
* [SND](../commands/snd.md): Added a target language parameter and
|
* [SND](../commands/snd.md): Added a target language parameter and
|
||||||
a client library parameter, similar to the one in [CVR](../commands/cvr.md).
|
a client library parameter, similar to the one in [CVR](../commands/cvr.md).
|
||||||
|
@ -32,10 +38,7 @@ It introduces the error codes:
|
||||||
* Non-protocol: WebTV 2.5+ clients (example@webtv.net) can talk to other users (example@hotmail.com)
|
* Non-protocol: WebTV 2.5+ clients (example@webtv.net) can talk to other users (example@hotmail.com)
|
||||||
* Clear-Text Password (`CTP`) authentication method removed. Use `MD5` instead.
|
* Clear-Text Password (`CTP`) authentication method removed. Use `MD5` instead.
|
||||||
Applies to both [INF](../commands/inf.md) and USR.
|
Applies to both [INF](../commands/inf.md) and USR.
|
||||||
* Entire content of initial email notification changed from
|
* Official Client: Automatic login form now supports Passport authentication
|
||||||
`text/x-msmsgsemailnotification` to `application/x-msmsgsinitialemailnotification`,
|
|
||||||
the format is likely different. Now includes unread email count. [Examination needed]
|
|
||||||
* Official Client: Automatic login form now supports Passport
|
|
||||||
if parameter 3 is set in [URL](../commands/url.md).
|
if parameter 3 is set in [URL](../commands/url.md).
|
||||||
To generate `creds`, MD5 hash the following as one concatenated string:
|
To generate `creds`, MD5 hash the following as one concatenated string:
|
||||||
* `auth` (from Initial Profile's `MSPAuth`, also included in the form) +
|
* `auth` (from Initial Profile's `MSPAuth`, also included in the form) +
|
||||||
|
|
|
@ -26,8 +26,8 @@ It introduces the error codes:
|
||||||
* Official Client: Log in notifications are now handled by the newly introduced toast system.
|
* Official Client: Log in notifications are now handled by the newly introduced toast system.
|
||||||
* Official Client: Introduced emoticons.
|
* Official Client: Introduced emoticons.
|
||||||
* Official Client: Introduced File Transfer and Messenger-to-Messenger calling via invitations.
|
* Official Client: Introduced File Transfer and Messenger-to-Messenger calling via invitations.
|
||||||
* Introduced first payload commands ([SDC](../commands/sdc.md), PAG) to be sent to the Notification Server from the client.
|
* Introduced first payload commands ([SDC](../commands/sdc.md), [PAG](../commands/pag.md)) to be sent to the Notification Server from the client.
|
||||||
* Official Client: [FND](../commands/fnd.md) functionality changed slightly(?) to say that Passport
|
* Official Client: [FND](../commands/fnd.md) functionality changed slightly(?) to say that the Passport privacy policy
|
||||||
doesn't allow users to retrieve the e-mails assocated with the user's account,
|
doesn't allow users to retrieve the e-mails assocated with the user's account,
|
||||||
sending the user to a invitation screen with, with it ending in sending an [SDC](../commands/sdc.md) in the format of
|
sending the user to a invitation screen with, with it ending in sending an [SDC](../commands/sdc.md) in the format of
|
||||||
`SDC TrID {FND index} 0x0409 MSMSGS MSMSGS X X example%20user {length}`.
|
`SDC TrID {FND index} 0x0409 MSMSGS MSMSGS X X example%20user {length}`.
|
||||||
|
|
|
@ -21,9 +21,10 @@ It introduces the error codes:
|
||||||
(from [MSNP5](msnp5.md)):
|
(from [MSNP5](msnp5.md)):
|
||||||
* [USR](../commands/usr.md) OK now has a verified bit (parameter 4),
|
* [USR](../commands/usr.md) OK now has a verified bit (parameter 4),
|
||||||
if it is `0`, the Official Client shows a warning to verify the account.
|
if it is `0`, the Official Client shows a warning to verify the account.
|
||||||
NOTE: Your display name will be forced to be
|
*NOTE: Your display name will be forced to be
|
||||||
`example@hotmail.com (E-Mail Address Not Verified)`, and can not be changed.
|
`example@hotmail.com (E-Mail Address Not Verified)`, and can not be changed.*
|
||||||
* Client-server challenges were introduced. The format for the response ([QRY](../commands/qry.md) commands) are
|
* Client-server challenges were introduced.
|
||||||
|
The format for the response ([QRY](../commands/qry.md) commands) are
|
||||||
`MD5(challenge + privateKey)` as a lowercase hexadecimal string.
|
`MD5(challenge + privateKey)` as a lowercase hexadecimal string.
|
||||||
* An example Private Key is `Q1P7W2E4J9R8U3S5`, which is tied to the Public Key of `msmsgs@msnmsgr.com`.
|
* An example Private Key is `Q1P7W2E4J9R8U3S5`, which is tied to the Public Key of `msmsgs@msnmsgr.com`.
|
||||||
* First protocol version added in a patch release (Client Versions 3.6.0025 and 3.6.0026 do not support MSNP6).
|
* First protocol version added in a patch release (Client Versions 3.6.0025 and 3.6.0026 do not support MSNP6).
|
||||||
|
|
|
@ -16,23 +16,23 @@ The following commands were removed in this version:
|
||||||
* [CVQ](../commands/cvq.md): Client codebase identification parameter is no longer empty.
|
* [CVQ](../commands/cvq.md): Client codebase identification parameter is no longer empty.
|
||||||
* Being the first protocol split,
|
* Being the first protocol split,
|
||||||
all released clients that support MSNP8 do not support any previous versions.
|
all released clients that support MSNP8 do not support any previous versions.
|
||||||
* Login process now [VER](../commands/ver.md)-[CVR](../commands/cvr.md)-[USR](../commands/usr.md)
|
* Login process is now [VER](../commands/ver.md)-[CVR](../commands/cvr.md)-[USR](../commands/usr.md)
|
||||||
instead of [VER](../commands/ver.md)-[INF](../commands/inf.md)-[USR](../commands/usr.md).
|
instead of [VER](../commands/ver.md)-[INF](../commands/inf.md)-[USR](../commands/usr.md).
|
||||||
* [USR](../commands/usr.md) OK has a new parameter, Account restriction status, if set to `1`,
|
* [USR](../commands/usr.md) OK has a new parameter, Account restriction status, if set to `1`,
|
||||||
the Official Client **will** forcefully log out and **demand** that you log in using MSN Explorer instead.
|
the Official Client **will** forcefully log out and **demand** that you log in using MSN Explorer instead.
|
||||||
Unrestricted accounts (those that do **not** need to log in using MSN Explorer) will have `0` set instead.
|
Unrestricted accounts (those that do **not** need to log in using MSN Explorer) will have the value set to `0` instead.
|
||||||
* Introduced `TWN` authentication method, which uses [Passport 1.4](../services/passport14.md) over HTTPS.
|
* Introduced `TWN` authentication method, which uses [Passport 1.4](../services/passport14.md) over HTTPS.
|
||||||
* Reworked [SYN](../commands/syn.md) and related response commands (notably [LSG](../commands/lsg.md) and [LST](../commands/lst.md)) drastically:
|
* Reworked [SYN](../commands/syn.md) and related response commands (notably [LSG](../commands/lsg.md) and [LST](../commands/lst.md)) drastically:
|
||||||
Iterators are gone, now total size of both groups and total contacts included in SYN response.
|
* Iterators are gone, now total size of both groups and total contacts included in SYN response.
|
||||||
All transaction IDs and list versions have been removed from response commands (now treated as asynchronous commands).
|
* All transaction IDs and list versions have been removed from response commands (now treated as asynchronous commands).
|
||||||
Unset properties ([PRP](../commands/prp.md) commands) are now omitted. Hurray.
|
* Unset properties ([PRP](../commands/prp.md) commands) are now omitted. Hurray.
|
||||||
* [CVR](../commands/cvr.md) request now has a new 8th parameter, which is the current user.
|
* [CVR](../commands/cvr.md) request now has a new 8th parameter, which is the current user.
|
||||||
This also applies to [CVQ](../commands/cvq.md) in [CVR0](cvr0.md).
|
This also applies to [CVQ](../commands/cvq.md) in [CVR0](cvr0.md).
|
||||||
* New initial profile fields: `ClientIP` and `ClientPort`.
|
* New initial profile fields: `ClientIP` and `ClientPort`.
|
||||||
`ClientPort` needs to be endian swapped for it's correct value.
|
`ClientPort` needs to be endian swapped for it's correct value.
|
||||||
Formula: `y = (((x & 0xff) * 256) + ((x & 0xff00)/256))`.
|
Formula: `y = (((x & 0xff) * 256) + ((x & 0xff00)/256))`.
|
||||||
* NOTE: [FND](../commands/fnd.md) might still exist in client, but theres no way of triggering it. Practically removed.
|
* NOTE: [FND](../commands/fnd.md) might still exist in client, but theres no way of triggering it. Practically removed.
|
||||||
All previous protocols also received the 502 error code.
|
All previous protocol versions also received the 502 error code.
|
||||||
* [BPR](../commands/bpr.md) removes related user, for some reason, default fields share same optimization as [PRP](../commands/prp.md) does.
|
* [BPR](../commands/bpr.md) removes related user, for some reason, default fields share same optimization as [PRP](../commands/prp.md) does.
|
||||||
* [LST](../commands/lst.md) (for [SYN](../commands/syn.md)): Lists are now all combined into a single number, where:
|
* [LST](../commands/lst.md) (for [SYN](../commands/syn.md)): Lists are now all combined into a single number, where:
|
||||||
1 = Forward List (FL), 2 = Allow List (AL), 4 = Block List (BL), 8 = Reverse List (RL),
|
1 = Forward List (FL), 2 = Allow List (AL), 4 = Block List (BL), 8 = Reverse List (RL),
|
||||||
|
|
4
package-lock.json
generated
4
package-lock.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "yellows-msnp-wiki",
|
"name": "yellows-msnp-wiki",
|
||||||
"version": "0.1.4-beta.2",
|
"version": "0.1.4",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "yellows-msnp-wiki",
|
"name": "yellows-msnp-wiki",
|
||||||
"version": "0.1.4-beta.2",
|
"version": "0.1.4",
|
||||||
"license": "GFDL-1.3-or-later",
|
"license": "GFDL-1.3-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"yiki": "git+https://git.kevinthe.horse/yellows111/yiki.git#semver:*"
|
"yiki": "git+https://git.kevinthe.horse/yellows111/yiki.git#semver:*"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "yellows-msnp-wiki",
|
"name": "yellows-msnp-wiki",
|
||||||
"version": "0.1.4-beta.2",
|
"version": "0.1.4",
|
||||||
"description": "The yellows111 MSNP wiki that aims for accuracy.",
|
"description": "The yellows111 MSNP wiki that aims for accuracy.",
|
||||||
"author": "yellows111",
|
"author": "yellows111",
|
||||||
"license": "GFDL-1.3-or-later",
|
"license": "GFDL-1.3-or-later",
|
||||||
|
|
Loading…
Reference in a new issue