Corrections, USR, SYN
Added new section to Protocols (half done with it though): Changes to error codes, to ask "When did that error code get implemented and when did it get removed" Probably could be made better, eh. 5 Commands Remain. New change record, too.
This commit is contained in:
parent
960bfc641b
commit
221de2169f
|
@ -35,6 +35,8 @@ otherwise in `ABCHMigrated: 1`, it is the group's GUID.
|
||||||
## Successfully added to list
|
## Successfully added to list
|
||||||
`ADC TrID [ FL | AL | BL | RL ] N=user-handle {F=stored-friendly-name} {C=contact-id}`
|
`ADC TrID [ FL | AL | BL | RL ] N=user-handle {F=stored-friendly-name} {C=contact-id}`
|
||||||
|
|
||||||
|
If this is an asynchronous use of this command, the Transaction ID (or `TrID`) will be set to `0`.
|
||||||
|
|
||||||
Where `contact-id` is the contact's ID associated with the user.
|
Where `contact-id` is the contact's ID associated with the user.
|
||||||
Only applies to users added to the Forward List.
|
Only applies to users added to the Forward List.
|
||||||
If in `ABCHMigrated: 0`, this is the contact's user handle,
|
If in `ABCHMigrated: 0`, this is the contact's user handle,
|
||||||
|
@ -162,6 +164,11 @@ C: ADC 14 FL N=anotheruser@hotmail.com F=anotheruser@hotmail.com
|
||||||
|
|
||||||
Server disconnects client.
|
Server disconnects client.
|
||||||
|
|
||||||
|
## Asynchronous update
|
||||||
|
```
|
||||||
|
S: ADC 0 RL N=anotheruser@hotmail.com F=another%20user
|
||||||
|
```
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* [MSNP11](../versions/msnp11.md): Now supports phone-only (`tel:`) contacts.
|
* [MSNP11](../versions/msnp11.md): Now supports phone-only (`tel:`) contacts.
|
||||||
Requires `MobileMessaging` in the [Messenger Config](../services/msgrconfig.md) to be configured for the Official Client.
|
Requires `MobileMessaging` in the [Messenger Config](../services/msgrconfig.md) to be configured for the Official Client.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
It is a Notification Server command, without a request or response payload.
|
It is a Notification Server command, without a request or response payload.
|
||||||
|
|
||||||
Adds a user to a list. Replaced by [ADL](adl.md) in [MSNP10](../versions/msnp10.md).
|
Adds a user to a list. Replaced by [ADC](adc.md) in [MSNP10](../versions/msnp10.md).
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
`ADD TrID [ FL | AL | BL ] user-handle custom-friendly-name {group}`
|
`ADD TrID [ FL | AL | BL ] user-handle custom-friendly-name {group}`
|
||||||
|
@ -101,4 +101,4 @@ C: ADD 0 RL 258 anotheruser@hotmail.com anotheruser@hotmail.com
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* [MSNP7](../versions/msnp7.md): Now supports groups if target list is Forward List.
|
* [MSNP7](../versions/msnp7.md): Now supports groups if target list is Forward List.
|
||||||
* [MSNP10](../versions/msnp10.md): Removed (automatic disconnect). Use [ADL](adl.md) instead.
|
* [MSNP10](../versions/msnp10.md): Removed (automatic disconnect). Use [ADC](adc.md) instead.
|
||||||
|
|
|
@ -13,7 +13,7 @@ This command can not be sent from the client.
|
||||||
|
|
||||||
Where `list-version` is the new List Version. Removed since [MSNP10](../versions/msnp10.md) in `ABCHMigrated: 1` mode.
|
Where `list-version` is the new List Version. Removed since [MSNP10](../versions/msnp10.md) in `ABCHMigrated: 1` mode.
|
||||||
|
|
||||||
Where `user-handle` is the related user's handle. Removed in SYN since [MSNP8](../versions/msnp8.md).
|
Where `user-handle` is the related user's handle. Removed in [SYN](syn.md) since [MSNP8](../versions/msnp8.md).
|
||||||
|
|
||||||
Where `property` can be any of these values:
|
Where `property` can be any of these values:
|
||||||
* `PHH`: Home Phone number
|
* `PHH`: Home Phone number
|
||||||
|
@ -39,5 +39,5 @@ C: BPR example@hotmail.com
|
||||||
```
|
```
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* [MSNP8](../versions/msnp8.md): Removed the user's handle when used in SYN.
|
* [MSNP8](../versions/msnp8.md): Removed the user's handle when used in [SYN](syn.md).
|
||||||
* [MSNP10](../versions/msnp10.md): Removed the List Version in `ABCHMigrated: 1` mode.
|
* [MSNP10](../versions/msnp10.md): Removed the List Version in `ABCHMigrated: 1` mode.
|
||||||
|
|
|
@ -14,7 +14,7 @@ A request to generate a challenge. Respond with QRY on a new transaction to cont
|
||||||
If this command is sent asynchronously, the Transaction ID will be `0` instead.
|
If this command is sent asynchronously, the Transaction ID will be `0` instead.
|
||||||
|
|
||||||
Where `challenge` is usually a 20-character numeric value (but can be any valid string)
|
Where `challenge` is usually a 20-character numeric value (but can be any valid string)
|
||||||
that is concatenated with the client's private key.
|
that is concatenated with the client's Private Key.
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
It is a Dispatch Server command, without either a request or response payload.
|
It is a Dispatch Server command, without either a request or response payload.
|
||||||
|
|
||||||
Sends the current client information and retrieves the latest avaliable version of the client when there are no other avaliable protocols.
|
Sends the current client information and retrieves the latest avaliable version of the client when there are no other avaliable protocols.
|
||||||
For the version of this command that is sent in the main protocols, read [CVR](cvR.md).
|
For the version of this command that is sent in the main protocols, read [CVR](cvr.md).
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
`CVQ TrID locale system-type system-ver system-arch requesting-library client-version client-identification {user-handle}`
|
`CVQ TrID locale system-type system-ver system-arch requesting-library client-version client-identification {user-handle}`
|
||||||
|
|
|
@ -55,8 +55,8 @@ it is instead `group-guid`, which is the group's GUID.
|
||||||
## Client-initiated
|
## Client-initiated
|
||||||
|
|
||||||
### No groups created
|
### No groups created
|
||||||
*NOTE: Specifiying this as the LSG in SYN will cause the client to attempt to re-initialize the default groups.
|
*NOTE: Specifiying this as the LSG in [SYN](syn.md) will cause the client to attempt to re-initialize the default groups.
|
||||||
Please review the SYN page for what the client attempts to do here.*
|
Please review the [SYN](syn.md) page for what the client attempts to do here.*
|
||||||
```
|
```
|
||||||
C: LSG 1
|
C: LSG 1
|
||||||
S: LSG 1 255 1 1 0 ~ 0
|
S: LSG 1 255 1 1 0 ~ 0
|
||||||
|
@ -70,6 +70,7 @@ S: LSG 2 255 2 2 1 Friends 0
|
||||||
```
|
```
|
||||||
|
|
||||||
## From SYN
|
## From SYN
|
||||||
|
*Main article: [SYN](syn.md).*
|
||||||
|
|
||||||
### Using first generation
|
### Using first generation
|
||||||
*Only in [MSNP7](../versions/msnp7.md).*
|
*Only in [MSNP7](../versions/msnp7.md).*
|
||||||
|
@ -120,6 +121,6 @@ S: LSG Friends f60efbe7-94af-4b16-b926-e4e10878d329
|
||||||
```
|
```
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* [MSNP8](../versions/msnp8.md): Removed iterator and List Version parameters from SYN version.
|
* [MSNP8](../versions/msnp8.md): Removed iterator and List Version parameters from [SYN](syn.md) version.
|
||||||
* [MSNP10](../versions/msnp10.md): Removed unused `0` parameter and support for the `~` quasi-group.
|
* [MSNP10](../versions/msnp10.md): Removed unused `0` parameter and support for the `~` quasi-group.
|
||||||
Changed group IDs to group GUIDs if `ABCHMigrated: 1`.
|
Changed group IDs to group GUIDs if `ABCHMigrated: 1`.
|
||||||
|
|
|
@ -183,9 +183,9 @@ S: LST N=anotheruser@hotmail.com F=another%20user C=c1f9a363-4ee9-4a33-a434-b056
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* [MSNP7](../versions/msnp7.md): Added support for groups.
|
* [MSNP7](../versions/msnp7.md): Added support for groups.
|
||||||
* [MSNP8](../versions/msnp8.md): Changed format in SYN considerably, dropping the iterator parameters and
|
* [MSNP8](../versions/msnp8.md): Changed format in [SYN](syn.md) considerably, dropping the iterator parameters and
|
||||||
merging all lists into a single parameter instead of multiple calls.
|
merging all lists into a single parameter instead of multiple calls.
|
||||||
* [MSNP10](../versions/msnp10.md): Added prefixes for user handle, stored friendly name to SYN version, added `C=` for contact ID.
|
* [MSNP10](../versions/msnp10.md): Added prefixes for user handle, stored friendly name to [SYN](syn.md) version, added `C=` for contact ID.
|
||||||
Changed `C=` to contact GUID and changed group ID list to group GUID list with `ABCHMigrated: 1` to SYN version.
|
Changed `C=` to contact GUID and changed group ID list to group GUID list with `ABCHMigrated: 1` to SYN version.
|
||||||
* [MSNP12](../versions/msnp12.md): Added Network IDs to SYN version.
|
* [MSNP12](../versions/msnp12.md): Added Network IDs to [SYN](syn.md) version.
|
||||||
* [MSNP13](../versions/msnp13.md): Removed SYN.
|
* [MSNP13](../versions/msnp13.md): Removed [SYN](syn.md).
|
||||||
|
|
|
@ -6,6 +6,7 @@ It is a Notification and Switchboard Server command, WITH a request and WITH a r
|
||||||
Used to transfer MIME-headered data to other parties, whenever that be you or other users.
|
Used to transfer MIME-headered data to other parties, whenever that be you or other users.
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
|
*This command can only be sent in a Switchboard session.*
|
||||||
```
|
```
|
||||||
MSG TrID [ U | N | A | D ] length
|
MSG TrID [ U | N | A | D ] length
|
||||||
data
|
data
|
||||||
|
@ -23,8 +24,6 @@ Where `length` is the `length` in bytes of `data`.
|
||||||
Where `data` is the body of the message,
|
Where `data` is the body of the message,
|
||||||
usually containing a `MIME-Version` header and a `Content-Type`.
|
usually containing a `MIME-Version` header and a `Content-Type`.
|
||||||
|
|
||||||
*This can only be sent from Switchboard.*
|
|
||||||
|
|
||||||
# Server/Response
|
# Server/Response
|
||||||
```
|
```
|
||||||
MSG user-handle friendly-name length
|
MSG user-handle friendly-name length
|
||||||
|
|
|
@ -45,19 +45,19 @@ S: OUT SSD
|
||||||
```
|
```
|
||||||
|
|
||||||
## ABCH Migration
|
## ABCH Migration
|
||||||
*This can only happen in [MSNP10](../versions/msnp10.md) exclusively.*
|
*Only in [MSNP10](../versions/msnp10.md).*
|
||||||
```
|
```
|
||||||
S: OUT MIG
|
S: OUT MIG
|
||||||
```
|
```
|
||||||
|
|
||||||
## Terms of Use update
|
## Terms of Use update
|
||||||
*This can only happen since [MSNP10](../versions/msnp10.md).*
|
*Since [MSNP10](../versions/msnp10.md).*
|
||||||
```
|
```
|
||||||
S: OUT TOU
|
S: OUT TOU
|
||||||
```
|
```
|
||||||
|
|
||||||
## Forced Reconnect
|
## Forced Reconnect
|
||||||
*This can only happen since [MSNP11](../versions/msnp11.md).*
|
*Since [MSNP11](../versions/msnp11.md).*
|
||||||
```
|
```
|
||||||
S: OUT RCT 6
|
S: OUT RCT 6
|
||||||
```
|
```
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
It is a Notification Server command, without either a request or response payload.
|
It is a Notification Server command, without either a request or response payload.
|
||||||
|
|
||||||
It sets or gets (during SYN) a personal user property. Other users are handled via [BPR](bpr.md).
|
It sets or gets (during [SYN](syn.md)) a personal user property. Other users are handled via [BPR](bpr.md).
|
||||||
|
|
||||||
# Client/Request
|
# Client/Request
|
||||||
`PRP TrID property value`
|
`PRP TrID property value`
|
||||||
|
@ -44,6 +44,6 @@ C: PRP 2 NEW very%20yes
|
||||||
Server disconnects client.
|
Server disconnects client.
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
* [MSNP8](../versions/msnp8.md): During SYN, the current List Version is omitted.
|
* [MSNP8](../versions/msnp8.md): During [SYN](syn.md), the current List Version is omitted.
|
||||||
* [MSNP10](../versions/msnp10.md): Added `MFN` property, "My Friendly Name",
|
* [MSNP10](../versions/msnp10.md): Added `MFN` property, "My Friendly Name",
|
||||||
List Version removed from response in `ABCHMigrated: 1` mode.
|
List Version removed from response in `ABCHMigrated: 1` mode.
|
||||||
|
|
|
@ -17,7 +17,7 @@ Where `address:port` is the server you need to connect to join the conversation.
|
||||||
|
|
||||||
Where `CKI` is always `CKI`.
|
Where `CKI` is always `CKI`.
|
||||||
|
|
||||||
Where `cookie` is the Switchboard cookie, to be used in USR and [ANS](ans.md).
|
Where `cookie` is the Switchboard cookie, to be used in [USR](usr.md) and [ANS](ans.md).
|
||||||
|
|
||||||
Where `inviter-handle` is the inviter's handle.
|
Where `inviter-handle` is the inviter's handle.
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ Where both `X` parameters are always `X`.
|
||||||
|
|
||||||
Where `my-friendly-name` is your current friendly name.
|
Where `my-friendly-name` is your current friendly name.
|
||||||
Invalid escaped characters are forcefully re-encoded to`%3DXX`,
|
Invalid escaped characters are forcefully re-encoded to`%3DXX`,
|
||||||
where `XX` is original escaped character code
|
where `XX` is original escaped character code.
|
||||||
|
|
||||||
Where `length` is the length of the payload.
|
Where `length` is the length of the payload.
|
||||||
Set to `0` if you don't want to add anything else to your invitation.
|
Set to `0` if you don't want to add anything else to your invitation.
|
||||||
|
|
|
@ -0,0 +1,256 @@
|
||||||
|
# Introduction
|
||||||
|
`SYN` is a command introduced with [MSNP2](../versions/msnp2.md)
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
`SYN TrID list-version {settings-version}`
|
||||||
|
|
||||||
|
Where `list-version` is the last saved List Version this client remembers.
|
||||||
|
If the client doesn't remember any information, this is `0`.
|
||||||
|
With [MSNP10](../versions/msnp10.md) and `ABCHMigrated: 1`,
|
||||||
|
this is changed from a numerical value to a timestamp.
|
||||||
|
|
||||||
|
Where `settings-version` is the last saved Settings Version this client remembers.
|
||||||
|
If the client doesn't remember any settings, this is set to `0`.
|
||||||
|
Added since [MSNP10](../versions/msnp10.md).
|
||||||
|
With `ABCHMigrated: 1`, this is changed from a numerical value to a timestamp.
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
`SYN TrID list-version {settings-version} {amount-of-users} {amount-of-groups}`
|
||||||
|
|
||||||
|
Where `list-version` is either the current or new List Version, depending if the client's
|
||||||
|
version of this parameter is the same as the one the server has.
|
||||||
|
With [MSNP10](../versions/msnp10.md) and `ABCHMigrated: 1`,
|
||||||
|
this is changed from a numerical value to a timestamp.
|
||||||
|
|
||||||
|
Where `settings-version` is either the current or new Settings Version,
|
||||||
|
depending if the client's version of this parameter is the same as the one the server has.
|
||||||
|
Added since [MSNP10](../versions/msnp10.md).
|
||||||
|
With `ABCHMigrated: 1`, this is changed from a numerical value to a timetstamp.
|
||||||
|
|
||||||
|
Where `amount-of-users` is the amount of unique [LST](lst.md) responses
|
||||||
|
your client is going to have to expect. Added since [MSNP8](../versions/msnp8.md).
|
||||||
|
|
||||||
|
Where `amount-of-groups` is the amount of [LSG](lsg.md) responses
|
||||||
|
your client is going to have to expect. Adec since [MSNP8](../versions/msnp8.md).
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
## First generation
|
||||||
|
*Only in [MSNP2](../versions/msnp2.md) to [MSNP4](../versions/msnp4.md).*
|
||||||
|
|
||||||
|
Used commands:
|
||||||
|
* [GTC](gtc.md)
|
||||||
|
* [BLP](blp.md)
|
||||||
|
* [LST](lst.md)
|
||||||
|
|
||||||
|
```
|
||||||
|
C: SYN 1 0
|
||||||
|
S: SYN 1 255
|
||||||
|
S: GTC 1 255 A
|
||||||
|
S: BLP 1 255 AL
|
||||||
|
S: LST 1 FL 255 1 1 anotheruser@hotmail.com another%20user
|
||||||
|
S: LST 1 AL 255 1 1 anotheruser@hotmail.com another%20user
|
||||||
|
S: LST 1 BL 255 0 0
|
||||||
|
S: LST 1 RL 255 1 1 anotheruser@hotmail.com another%20user
|
||||||
|
```
|
||||||
|
|
||||||
|
## Second generation
|
||||||
|
*Only in [MSNP5](../versions/msnp5.md) and [MSNP6](../versions/msnp6.md).*
|
||||||
|
|
||||||
|
Used commands:
|
||||||
|
* [GTC](gtc.md)
|
||||||
|
* [BLP](blp.md)
|
||||||
|
* [PRP](prp.md)
|
||||||
|
* [LST](lst.md)
|
||||||
|
* [BPR](bpr.md)
|
||||||
|
|
||||||
|
```
|
||||||
|
C: SYN 2 0
|
||||||
|
S: SYN 2 255
|
||||||
|
S: GTC 2 255 A
|
||||||
|
S: BLP 2 255 AL
|
||||||
|
S: PRP 2 255 PHH 123%20(4567)
|
||||||
|
S: PRP 2 255 PHW
|
||||||
|
S: PRP 2 255 PHM
|
||||||
|
S: PRP 2 255 MOB N
|
||||||
|
S: PRP 2 255 MBE N
|
||||||
|
S: LST 2 FL 255 1 1 anotheruser@hotmail.com another%20user
|
||||||
|
S: BPR 255 anotheruser@hotmail.com PHH 1%20(222)%20333%204444
|
||||||
|
S: BPR 255 anotheruser@hotmail.com PHW
|
||||||
|
S: BPR 255 anotheruser@hotmail.com PHM
|
||||||
|
S: BPR 255 anotheruser@hotmail.com MOB N
|
||||||
|
S: LST 2 AL 255 1 1 anotheruser@hotmail.com another%20user
|
||||||
|
S: LST 2 BL 255 0 0
|
||||||
|
S: LST 2 RL 255 1 1 anotheruser@hotmail.com another%20user
|
||||||
|
```
|
||||||
|
|
||||||
|
## Third generation
|
||||||
|
*Only in [MSNP7](../versions/msnp7.md).*
|
||||||
|
|
||||||
|
Used commands:
|
||||||
|
* [GTC](gtc.md)
|
||||||
|
* [BLP](blp.md)
|
||||||
|
* [PRP](prp.md)
|
||||||
|
* [LSG](lsg.md)
|
||||||
|
* [LST](lst.md)
|
||||||
|
* [BPR](bpr.md)
|
||||||
|
|
||||||
|
```
|
||||||
|
C: SYN 3 0
|
||||||
|
S: SYN 3 255
|
||||||
|
S: GTC 3 255 A
|
||||||
|
S: BLP 3 255 AL
|
||||||
|
S: PRP 3 255 PHH 123%20(4567)
|
||||||
|
S: PRP 3 255 PHW
|
||||||
|
S: PRP 3 255 PHM
|
||||||
|
S: PRP 3 255 MOB N
|
||||||
|
S: PRP 3 255 MBE N
|
||||||
|
S: LSG 3 255 1 2 0 Other%20Contacts 0
|
||||||
|
S: LSG 3 255 2 2 1 Friends 0
|
||||||
|
S: LST 3 FL 255 1 1 anotheruser@hotmail.com another%20user 0
|
||||||
|
S: BPR 255 anotheruser@hotmail.com PHH 1%20(222)%20333%204444
|
||||||
|
S: BPR 255 anotheruser@hotmail.com PHW
|
||||||
|
S: BPR 255 anotheruser@hotmail.com PHM
|
||||||
|
S: BPR 255 anotheruser@hotmail.com MOB N
|
||||||
|
S: LST 3 AL 255 1 1 anotheruser@hotmail.com another%20user
|
||||||
|
S: LST 3 BL 255 0 0
|
||||||
|
S: LST 3 RL 255 1 1 anotheruser@hotmail.com another%20user
|
||||||
|
```
|
||||||
|
|
||||||
|
### No groups specified
|
||||||
|
*This only happens if the only group is `~`,
|
||||||
|
and you set the client to sort by groups.*
|
||||||
|
|
||||||
|
```
|
||||||
|
S: LSG 3 255 1 1 0 ~ 0
|
||||||
|
```
|
||||||
|
...
|
||||||
|
```
|
||||||
|
C: REG 4 0 Other%20Contacts 0
|
||||||
|
S: REG 4 256 0 Other%20Contacts 0
|
||||||
|
C: ADG 5 Coworkers 0
|
||||||
|
C: ADG 6 Friends 0
|
||||||
|
C: ADG 7 Family 0
|
||||||
|
S: ADG 5 257 1 Coworkers 0
|
||||||
|
S: ADG 6 258 2 Friends 0
|
||||||
|
S: ADG 7 259 3 Family 0
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fourth generation
|
||||||
|
*Only in [MSNP8](../versions/msnp8.md) and [MSNP9](../versions/msnp9.md).*
|
||||||
|
|
||||||
|
Used commands:
|
||||||
|
* [GTC](gtc.md)
|
||||||
|
* [BLP](blp.md)
|
||||||
|
* [PRP](prp.md)
|
||||||
|
* [LSG](lsg.md)
|
||||||
|
* [LST](lst.md)
|
||||||
|
* [BPR](bpr.md)
|
||||||
|
|
||||||
|
```
|
||||||
|
C: SYN 8 0
|
||||||
|
S: SYN 8 255 1 2
|
||||||
|
S: GTC A
|
||||||
|
S: BLP AL
|
||||||
|
S: PRP PHH 123%20(4567)
|
||||||
|
S: LSG 0 Other%20Contacts 0
|
||||||
|
S: LSG 1 Friends 0
|
||||||
|
S: LST anotheruser@hotmail.com another%20user 11 0
|
||||||
|
S: BPR PHH 1%20(222)%20333%204444
|
||||||
|
```
|
||||||
|
|
||||||
|
### No groups specified
|
||||||
|
*This only happens if the only group is `~`,
|
||||||
|
and you set the client to sort by groups.*
|
||||||
|
|
||||||
|
```
|
||||||
|
S: LSG 0 ~ 0
|
||||||
|
```
|
||||||
|
...
|
||||||
|
```
|
||||||
|
C: REG 9 0 Other%20Contacts 0
|
||||||
|
S: REG 9 256 0 Other%20Contacts 0
|
||||||
|
C: ADG 10 Coworkers 0
|
||||||
|
C: ADG 11 Friends 0
|
||||||
|
C: ADG 12 Family 0
|
||||||
|
S: ADG 10 257 1 Coworkers 0
|
||||||
|
S: ADG 11 258 2 Friends 0
|
||||||
|
S: ADG 12 259 3 Family 0
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fifth generation
|
||||||
|
*Only in [MSNP10](../versions/msnp10.md) and [MSNP11](../versions/msnp11.md).*
|
||||||
|
|
||||||
|
Used commands:
|
||||||
|
* [GTC](gtc.md)
|
||||||
|
* [BLP](blp.md)
|
||||||
|
* [PRP](prp.md)
|
||||||
|
* [LSG](lsg.md)
|
||||||
|
* [LST](lst.md)
|
||||||
|
* [BPR](bpr.md)
|
||||||
|
|
||||||
|
### Without GUIDs
|
||||||
|
*Only with `ABCHMigrated: 0`.*
|
||||||
|
```
|
||||||
|
C: SYN 13 0 0
|
||||||
|
S: SYN 13 255 255 1 2
|
||||||
|
S: GTC A
|
||||||
|
S: BLP AL
|
||||||
|
S: PRP MFN example%20user
|
||||||
|
S: PRP PHH 123%20(4567)
|
||||||
|
S: LSG Other%20Contacts 0
|
||||||
|
S: LSG Friends 1
|
||||||
|
S: LST N=anotheruser@hotmail.com F=another%20user C=anotheruser@hotmail.com 11 0
|
||||||
|
S: BPR PHH 1%20(222)%20333%204444
|
||||||
|
```
|
||||||
|
|
||||||
|
### With GUIDs
|
||||||
|
*Only with `ABCHMigrated: 1`.*
|
||||||
|
```
|
||||||
|
C: SYN 14 0 0
|
||||||
|
S: SYN 14 2024-10-23T14:02:48.5360000-07:00 2024-10-23T14:02:48.5360000-07:00 1 2
|
||||||
|
S: GTC A
|
||||||
|
S: BLP AL
|
||||||
|
S: PRP MFN example%20user
|
||||||
|
S: PRP PHH 123%20(4567)
|
||||||
|
S: LSG Other%20Contacts d6deeacd-7849-4de4-93c5-d130915d0042
|
||||||
|
S: LSG Friends f60efbe7-94af-4b16-b926-e4e10878d32
|
||||||
|
S: LST N=anotheruser@hotmail.com F=another%20user C=c1f9a363-4ee9-4a33-a434-b056a4c55b98 11 d6deeacd-7849-4de4-93c5-d130915d0042
|
||||||
|
S: BPR PHH 1%20(222)%20333%204444
|
||||||
|
```
|
||||||
|
|
||||||
|
## Sixth generation
|
||||||
|
*Only in [MSNP12](../versions/msnp12.md).*
|
||||||
|
```
|
||||||
|
C: SYN 15 0 0
|
||||||
|
S: SYN 15 2024-10-23T14:06:20.5360000-07:00 2024-10-23T14:02:48.5360000-07:00 1 2
|
||||||
|
S: GTC A
|
||||||
|
S: BLP AL
|
||||||
|
S: PRP MFN example%20user
|
||||||
|
S: PRP PHH 123%20(4567)
|
||||||
|
S: LSG Other%20Contacts d6deeacd-7849-4de4-93c5-d130915d0042
|
||||||
|
S: LSG Friends f60efbe7-94af-4b16-b926-e4e10878d32
|
||||||
|
S: LST N=anotheruser@hotmail.com F=another%20user C=c1f9a363-4ee9-4a33-a434-b056a4c55b98 11 1 d6deeacd-7849-4de4-93c5-d130915d0042
|
||||||
|
S: BPR PHH 1%20(222)%20333%204444
|
||||||
|
```
|
||||||
|
|
||||||
|
## Removed
|
||||||
|
*Since [MSNP13](../versions/msnp13.md).*
|
||||||
|
```
|
||||||
|
C: SYN 16 0 0
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
* [MSNP5](../versions/msnp5.md): Added [PRP](prp.md) and [BPR](bpr.md) support.
|
||||||
|
* [MSNP7](../versions/msnp7.md): Added [LSG](lsg.md) and groups support in [LST](lst.md).
|
||||||
|
* [MSNP8](../versions/msnp8.md): Unset properties are omitted,
|
||||||
|
added new response parameters to replace [LSG](lsg.md) and [LST](lst.md) iterator parameters.
|
||||||
|
Transaction IDs and List Versions were removed from used commands.
|
||||||
|
* [MSNP10](../versions/msnp10.md): Added new parameters for the current settings version.
|
||||||
|
With `ABCHMigrated: 1`, the List Version and Settings Version are changed to ISO 8601 timestamps.
|
||||||
|
* [MSNP12](../versions/msnp12.md): [LST](lst.md): Added support for Network IDs.
|
||||||
|
* [MSNP13](../versions/msnp13.md): Removed (automatic disconnection).
|
||||||
|
Use the [Address Book Service](../services/abservice.md)
|
||||||
|
and the [Contact Sharing Service](../services/sharingservice.md) instead.
|
|
@ -0,0 +1,168 @@
|
||||||
|
# Introduction
|
||||||
|
`USR` is a command introduced with [MSNP2](../versions/msnp2.md).
|
||||||
|
|
||||||
|
The command exists in all services, without a request or response payload.
|
||||||
|
|
||||||
|
Specifies a user that wants to authenticate to the service.
|
||||||
|
For the command that is used when sending this to a Dispatch Server, read [XFR](xfr.md).
|
||||||
|
|
||||||
|
This command can only be sent once. Any further uses of this command in the same session is Undefined Behavour.
|
||||||
|
|
||||||
|
# Client/Request
|
||||||
|
|
||||||
|
## Dispatch Server or Notification Server
|
||||||
|
|
||||||
|
### The Initial request
|
||||||
|
`USR TrID security-package I user-handle`
|
||||||
|
|
||||||
|
Depending on the version of the protocol you are using, `security-package` can be:
|
||||||
|
* `CTP`: Clear Text Password. Only in [MSNP2](../versions/msnp2.md).
|
||||||
|
* `MD5`: MD5-based authentication. Only in [MSNP2](../versions/msnp2.md) to [MSNP7](../versions/msnp7.md).
|
||||||
|
* `TWN`: "Tweener", Passport 1.4 or compatible authentication service. Since [MSNP8](../versions/msnp8.md).
|
||||||
|
* `SSO`: Single Sign On, usually a more advanced Passport 3.0 authentication method. Since [MSNP15](../versions/msnp15.md).
|
||||||
|
|
||||||
|
### The Subsequent request
|
||||||
|
`USR TrID security-package S {...response-args}`
|
||||||
|
|
||||||
|
Where `response-args` can be anything, but based on `security-package` it can be:
|
||||||
|
* `CTP`: Your password in plain text.
|
||||||
|
* `MD5`: The server's login challenge concatenated with your password.
|
||||||
|
* `TWN`: The `from-PP` parameter in the `Authentication-Info` header sent in response to Passport 1.4,
|
||||||
|
or if using Passport 3.0, the `<wsse:BinarySecurityToken>` of the relevant `<wst:RequestSecurityTokenResponse>`.
|
||||||
|
* `SSO`: The same as Passport 3.0 in `TWN`, but with the extra parameter
|
||||||
|
being the custom challenge response encoded as base64.
|
||||||
|
|
||||||
|
## Switchboard Server
|
||||||
|
`USR TrID user-handle cookie`
|
||||||
|
|
||||||
|
Where `user-handle` is your current user handle.
|
||||||
|
|
||||||
|
Where `cookie` is the relevant parameter given from [XFR](xfr.md) or [RNG](rng.md).
|
||||||
|
|
||||||
|
# Server/Response
|
||||||
|
|
||||||
|
## Dispatch Server or Notification Server
|
||||||
|
|
||||||
|
### Requesting a Subsequent action
|
||||||
|
`USR TrID OK security-package S {...challenge}`
|
||||||
|
|
||||||
|
Where `challenge`, based on the `security-package` is:
|
||||||
|
* `CTP`: Nothing. This parameter is omitted.
|
||||||
|
* `MD5`: The login challenge to concatenate with your password.
|
||||||
|
* `TWN`: The Passport login parameters.
|
||||||
|
* `SSO`: The Passport login policy and a base64-encoded key.
|
||||||
|
|
||||||
|
### Successfully authenticated
|
||||||
|
`USR TrID OK user-handle {friendly-name} {verified} {unknown}`
|
||||||
|
|
||||||
|
Where `OK` is always `OK`.
|
||||||
|
|
||||||
|
Where `user-handle` is your user handle.
|
||||||
|
|
||||||
|
Where `friendly-name` is your current Friendly Name. Removed in [MSNP10](../versions/msnp10.md).
|
||||||
|
|
||||||
|
Where `verified` is the account's verification status,
|
||||||
|
where 0 is unverified, and 1 is verified. Added since [MSNP6](../versions/msnp6.md).
|
||||||
|
|
||||||
|
Where `unknown` is an unknown value,
|
||||||
|
where 0 is something, and 1 is something else. Added since [MSNP8](../versions/msnp8.md).
|
||||||
|
|
||||||
|
## Switchboard Server
|
||||||
|
`USR TrID OK user-handle friendly-name`
|
||||||
|
|
||||||
|
Where `user-handle` is your current user handle.
|
||||||
|
|
||||||
|
Where `friendly-name` is your current friendly name.
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
## Notification Server
|
||||||
|
|
||||||
|
### Using CTP
|
||||||
|
*Only in [MSNP2](../versions/msnp2.md).*
|
||||||
|
```
|
||||||
|
C: USR 1 CTP I example@hotmail.com
|
||||||
|
S: USR 1 CTP S
|
||||||
|
C: USR 2 CTP S password
|
||||||
|
S: USR 2 OK example@hotmail.com example%20user
|
||||||
|
```
|
||||||
|
|
||||||
|
### Using MD5
|
||||||
|
*Only in [MSNP2](../versions/msnp2.md) to [MSNP7](../versions/msnp7.md).*
|
||||||
|
```
|
||||||
|
C: USR 3 MD5 I example@hotmail.com
|
||||||
|
S: USR 3 MD5 S 1234567890.123456789
|
||||||
|
C: USR 4 MD5 S f59af8f2fa91d38aff7c870c17f99903
|
||||||
|
S: USR 4 OK example@hotmail.com example%20user
|
||||||
|
```
|
||||||
|
|
||||||
|
### Using TWN
|
||||||
|
*Since [MSNP8](../versions/msnp8.md).*
|
||||||
|
```
|
||||||
|
C: USR 5 TWN I example@hotmail.com
|
||||||
|
S: USR 5 MD5 S passport=parameters,neat=huh,lc=1033,id=507
|
||||||
|
```
|
||||||
|
*The HTTPS interlude has been moved to the [Passport 1.4](../services/passport14.md) article.*
|
||||||
|
```
|
||||||
|
USR 6 TWN S t=token&p=profile
|
||||||
|
USR 6 OK example@hotmail.com example%20user
|
||||||
|
```
|
||||||
|
|
||||||
|
### Using SSO
|
||||||
|
*Since [MSNP15](../versions/msnp15.md).*
|
||||||
|
|
||||||
|
*NOTE: This has been line-breaked.
|
||||||
|
Lines beginning with `..` followed by a space are continuations of the previous line.*
|
||||||
|
```
|
||||||
|
C: USR 7 SSO I example@hotmail.com
|
||||||
|
S: USR 7 SSO S MBI_KEY_OLD AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||||
|
```
|
||||||
|
|
||||||
|
*The HTTPS and key-encryption interlude has been removed from here
|
||||||
|
and is to reinstated as two seperate pages.*
|
||||||
|
|
||||||
|
```
|
||||||
|
C: USR 8 SSO S t=ticket HAAAAAEAAAADZgAABIAAAAgAAAAUAAAASAAAAAAAAA
|
||||||
|
.. AAAAAA7XgT5ohvaZdoXdrWUUcMF2G8OK2JohyYcK5l5M
|
||||||
|
.. JSitab33scxJeK/RQXcUr0L+R2ZA9CEAzn0izmUzSMp
|
||||||
|
.. 2LZdxSbHtnuxCmptgtoScHp9E26HjQVkA9YJxgK/HM=
|
||||||
|
S: USR 8 OK example@hotmail.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### Invalid username or password
|
||||||
|
```
|
||||||
|
C: USR 9 TWN I example@hotmail.com
|
||||||
|
S: USR 9 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
||||||
|
C: USR 10 TWN S t=not*a*passport*ticket&p=not*a*profile*either
|
||||||
|
S: 911 10
|
||||||
|
```
|
||||||
|
|
||||||
|
Server disconnects client.
|
||||||
|
|
||||||
|
### Account not verfiied
|
||||||
|
*This will show the "Account Verification Required" dialog in [MSNP6](../versions/msnp6.md) clients?*
|
||||||
|
```
|
||||||
|
C: USR 11 MD5 I example@hotmail.com
|
||||||
|
S: USR 11 MD5 S 1234567890.123456789
|
||||||
|
C: USR 12 MD5 S f59af8f2fa91d38aff7c870c17f99903
|
||||||
|
S: 924 12
|
||||||
|
```
|
||||||
|
|
||||||
|
### Wrong server for this account
|
||||||
|
```
|
||||||
|
C: USR 13 TWN I example@hotmail.com
|
||||||
|
S: 931 13
|
||||||
|
```
|
||||||
|
|
||||||
|
## Switchboard Server
|
||||||
|
```
|
||||||
|
C: USR 14 example@passport.com 1234567890.1234567890.1234567890
|
||||||
|
S: USR 14 OK example@passport.com example%20user
|
||||||
|
```
|
||||||
|
|
||||||
|
# Known changes
|
||||||
|
* [MSNP3](../versions/msnp3.md): Removed the `CTP` security package.
|
||||||
|
* [MSNP6](../versions/msnp6.md): Added account verification bit to [USR OK](#successfully-authenticated).
|
||||||
|
* [MSNP8](../versions/msnp8.md): Added an unknown bit to [USR OK](#successfully-authenticated) and
|
||||||
|
removed the `MD5` security package, and replaced with the `TWN` security package.
|
||||||
|
* [MSNP15](../versions/msnp15.md): Added support for the `SSO` security package.
|
|
@ -54,7 +54,7 @@ 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) Exclusively.*
|
*Only in [MSNP2](../versions/msnp2.md).*
|
||||||
```
|
```
|
||||||
C: USR 3 MD5 I example@hotmail.com
|
C: USR 3 MD5 I example@hotmail.com
|
||||||
S: XFR 3 NS 10.0.0.5:1863
|
S: XFR 3 NS 10.0.0.5:1863
|
||||||
|
@ -90,5 +90,5 @@ 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) adds 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) adds a new parameter that is the current server you are communicating with to XFR NS.
|
||||||
|
|
|
@ -21,34 +21,36 @@ More is to come soon! Hopefully!
|
||||||
|
|
||||||
# Web Services
|
# Web Services
|
||||||
* [Address Book Service](services/abservice.md)
|
* [Address Book Service](services/abservice.md)
|
||||||
* [Contact Sharing Service](services/sharingservice.md).
|
* [Contact Sharing Service](services/sharingservice.md)
|
||||||
* [Messenger Config Service](services/msgrconfig.md).
|
* [Messenger Config Service](services/msgrconfig.md)
|
||||||
|
* [Passport 1.4](services/passport14.md)
|
||||||
|
|
||||||
More is to come soon! Hopefully!
|
More is to come soon! Hopefully!
|
||||||
|
|
||||||
# Other documents and files
|
# Other documents and files
|
||||||
* [Constants used on the wiki](reference_constants.md).
|
* [Constants used on the wiki](reference_constants.md)
|
||||||
* [Shields Configuration Data](files/shields.md).
|
* [Shields Configuration Data](files/shields.md)
|
||||||
|
|
||||||
# Wanted Information
|
# Wanted Information
|
||||||
* [MSNP2](versions/msnp2.md): What is the format of the initial `text/x-msmsgsemailnotification`?
|
* [MSNP2](versions/msnp2.md): What is the format of the initial `text/x-msmsgsemailnotification`?
|
||||||
* [MSNP6](versions/msnp6.md): What makes the "Account must be verified before using the service" dialog show up?
|
* [MSNP6](versions/msnp6.md): What makes the "Account must be verified before using the service" dialog show up?
|
||||||
* [MSNP6](versions/msnp6.md): Does it really acknoledge the account verified bit? I couldn't get the toast to show up in Client Version 3.6.003x.
|
* [MSNP6](versions/msnp6.md): Does it really acknoledge the account verified bit? I couldn't get the toast to show up in Client Version 3.6.003x.
|
||||||
* [MSNP8](versions/msnp8.md): Did FND 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 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?
|
||||||
|
* [MSNP8](versions/msnp8.md): What is the new bit (parameter 5) in [USR](commands/usr.md) OK?
|
||||||
* [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 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): 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 in this version?
|
* [MSNP12](versions/msnp12.md): Did [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
|
||||||
* 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.
|
||||||
* All Protocols: Good CVR responses, all of them are their release versions, when they could be latest.
|
* All Protocols: Good [CVR](commands/cvr.md) responses, all of them are their release versions, when they could be latest.
|
||||||
* All Protocols since [MSNP10](versions/msnp10.md): Use legitimate CVR responses from the time if possible, not ones for Client Version 6.1.
|
* All Protocols since [MSNP10](versions/msnp10.md): Use legitimate [CVR](commands/cvr.md) responses from the time if possible, not ones for Client Version 6.1.
|
||||||
* [FND command](commands/fnd.md): What was returned when this was disabled in 2003 in [MSNP2](versions/msnp2.md) to [MSNP6](versions/msnp6.md)?
|
* [FND command](commands/fnd.md): What was returned when this was disabled in 2003 in [MSNP2](versions/msnp2.md) to [MSNP6](versions/msnp6.md)?
|
||||||
* [IMS command](commands/ims.md): What is the unknown number (that is usually `0`) in the response?
|
* [IMS command](commands/ims.md): What is the unknown number (that is usually `0`) in the response?
|
||||||
* [NAK command](commands/nak.md): This isn't used ever as a response for [MSG](commands/msg.md) D right?
|
* [NAK command](commands/nak.md): This isn't used ever as a response for [MSG](commands/msg.md) D right?
|
||||||
* [MSG command](commands/msg.md): What can return from [MSG](commands/msg.md) D?
|
* [MSG command](commands/msg.md): What can return from [MSG](commands/msg.md) D?
|
||||||
* [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.
|
||||||
* [LST command](commands/lst.md): Any updates to this command outside of SYN.
|
* [LST command](commands/lst.md): Any updates to this command outside of [SYN](commands/syn.md).
|
||||||
* [ADC command](commands/adc.md): Can this show up as a asynchronous command?
|
* [ADC command](commands/adc.md): Can this show up as a asynchronous command?
|
||||||
|
|
||||||
## Unsolved Mysteries
|
## Unsolved Mysteries
|
||||||
|
@ -65,8 +67,8 @@ More is to come soon! Hopefully!
|
||||||
* Messenger Config: A file used by Client Version 6.0 and higher that specifies some data for the Official Client.
|
* Messenger Config: A file used by Client Version 6.0 and higher that specifies some data for the Official Client.
|
||||||
* `svcs.microsoft.com`: Usually a grab-bag of random XML files or services used for clients older than Client Version 6.0.
|
* `svcs.microsoft.com`: Usually a grab-bag of random XML files or services used for clients older than Client Version 6.0.
|
||||||
* Protocol Split: A MSNP version that usually defines a point of no return.
|
* Protocol Split: A MSNP version that usually defines a point of no return.
|
||||||
* PP14: Passport SSI Version 1.4.
|
* PP14: [Passport SSI Version 1.4](services/passport14.md).
|
||||||
* PP30: Passport over SOAP ala Client Version 7.5+.
|
* PP30: Passport over SOAP that was implemented in Client Version 7.5+ ([MSNP12](versions/msnp12.md)).
|
||||||
* SOAP: Simple Object Access Protocol, A wrapper over XML. That's the kindest thing I can write about it.
|
* SOAP: Simple Object Access Protocol, A wrapper over XML. That's the kindest thing I can write about it.
|
||||||
* Passport: The Authentication Server and/or Protocol.
|
* Passport: The Authentication Server and/or Protocol.
|
||||||
* Undefined Behavour: An intentional blank left in the documentation, basically as a "I am not responsible for what this does to your client or server" warning.
|
* Undefined Behavour: An intentional blank left in the documentation, basically as a "I am not responsible for what this does to your client or server" warning.
|
||||||
|
@ -81,6 +83,11 @@ More is to come soon! Hopefully!
|
||||||
* TrID: Transaction ID. Links the server's response to the client's request.
|
* TrID: Transaction ID. Links the server's response to the client's request.
|
||||||
* User handle: A 129-character max address used across the protocol.
|
* User handle: A 129-character max address used across the protocol.
|
||||||
May be called "principles" in other places.
|
May be called "principles" in other places.
|
||||||
|
* Public Key, Private Key: The parameters used in QRY.
|
||||||
|
* The one you send with it in plain is the Public Key.
|
||||||
|
An example of the Public Key is `msmsgs@msnmsgr.com` or `PROD0090YUAUV{2B`.
|
||||||
|
* 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`.
|
||||||
|
|
||||||
# Where do I find or edit these page's source?
|
# Where do I find or edit these page's source?
|
||||||
The git repo is avaliable at <https://git.kevinthe.horse/yellows111/msnp-wiki>.
|
The git repo is avaliable at <https://git.kevinthe.horse/yellows111/msnp-wiki>.
|
||||||
|
|
|
@ -7,7 +7,7 @@ It manages the link(s) between the E-mail Service Address Book and the Forward L
|
||||||
It's default HTTP URL is `http://contacts.msn.com/abservice/abservice.asmx`.
|
It's default HTTP URL is `http://contacts.msn.com/abservice/abservice.asmx`.
|
||||||
It's default HTTPS URL is `https://contacts.msn.com/abservice/abservice.asmx`.
|
It's default HTTPS URL is `https://contacts.msn.com/abservice/abservice.asmx`.
|
||||||
|
|
||||||
This service requires Passport authentication.
|
This service requires [Passport authentication](passport14.md).
|
||||||
|
|
||||||
Related: [Contact Sharing Service](sharingservice.md) (for other List's members).
|
Related: [Contact Sharing Service](sharingservice.md) (for other List's members).
|
||||||
|
|
||||||
|
|
|
@ -541,7 +541,9 @@ Where `<msnmenudata>` contains:
|
||||||
* `<siteid>`: The Passport Site ID used for `<clickurl>` (and `<clicktrackurl>`?).
|
* `<siteid>`: The Passport Site ID used for `<clickurl>` (and `<clicktrackurl>`?).
|
||||||
|
|
||||||
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. (TODO: Does this want something else? Passing a .cab just results in failed to install.)
|
If it is for a `<merchant>` product instead, `<clickurl>` is sent to `MessengerContentInstaller.InstallIndirectContent`.
|
||||||
|
|
||||||
|
TODO: What is a "Merchant CAB file"? `InstallIndirectContent` wants one.
|
||||||
|
|
||||||
## Editorial document
|
## Editorial document
|
||||||
```
|
```
|
||||||
|
|
|
@ -0,0 +1,102 @@
|
||||||
|
# Introduction
|
||||||
|
Passport 1.4, or "Tweener", as it's sometimes called,
|
||||||
|
is an HTTP-based authentication system that was introduced with [MSNP8](../versions/msnp8.md).
|
||||||
|
|
||||||
|
For [MSNP12](../versions/msnp12.md) and above, read Passport 3.0.
|
||||||
|
|
||||||
|
# Nexus
|
||||||
|
The Passport Nexus is a server that provides information to other parties about how to use Passport.
|
||||||
|
|
||||||
|
It's default domain is `nexus.passport.com`.
|
||||||
|
|
||||||
|
## pprdr.asp
|
||||||
|
The Passport Redirection service returns the `PassportURLs` header, which contains the `DALogin` parameter
|
||||||
|
that is used to specify which server to attempt Passport 1.4 authentication with.
|
||||||
|
|
||||||
|
### Client/Request
|
||||||
|
```
|
||||||
|
GET /rdr/pprdr.asp HTTP/1.1
|
||||||
|
Host: nexus.passport.com
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### Server/Response
|
||||||
|
```
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Cache-Control: private
|
||||||
|
Content-Type: text/html
|
||||||
|
Content-Length: 0
|
||||||
|
PassportURLs: DARealm=Passport.Net,DALogin=login.passport.com/login2.srf,ConfigVersion=15
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `PassportURLs` (case-sensitive) contains the following parameters:
|
||||||
|
* `DARealm`: The Domain Authority's realm name.
|
||||||
|
* `DALogin`: The Domain Authority's login endpoint.
|
||||||
|
* `ConfigVersion`: Increases by 1 every time that PassportURLs is updated to flush the URL cache.
|
||||||
|
|
||||||
|
# Passport Login
|
||||||
|
The Passport Login server is a HTTPS server that provides the login service (default is `login2.srf`)
|
||||||
|
specified in `DALogin` from the [Nexus](#nexus) response.
|
||||||
|
|
||||||
|
## login2.srf
|
||||||
|
The `login2.srf` endpoint is used for programmatic authentication.
|
||||||
|
|
||||||
|
### Client/Request
|
||||||
|
```
|
||||||
|
GET /login2.srf HTTP/1.1
|
||||||
|
Authorization: Passport1.4 Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in={user-handle},pwd={password},{server-args}
|
||||||
|
User-Agent: MSMSGS
|
||||||
|
Host: login.passport.com
|
||||||
|
Connection: Keep-Alive
|
||||||
|
Cache-Control: no-cache
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `user-handle` is the URL-encoded user handle of the user to authenticate.
|
||||||
|
|
||||||
|
Where `password` is the URL-encoded password of the user to authenticate.
|
||||||
|
|
||||||
|
Where `server-args` is the parameter given to the server's response to the Initial [USR](../commands/usr.md).
|
||||||
|
|
||||||
|
### Server/Response
|
||||||
|
|
||||||
|
#### Authentication Redirection
|
||||||
|
If the server you are authenticating to does not support your account type,
|
||||||
|
but knows a server that does, this is used, otherwise [Authentication Successful](#authentication-successful) is.
|
||||||
|
|
||||||
|
If you are redirected, you have to send the `Authorization` header again to the new server specified in `Location`.
|
||||||
|
|
||||||
|
```
|
||||||
|
HTTP/1.1 302 Found
|
||||||
|
Cache-Control: no-cache
|
||||||
|
cachecontrol: no-store
|
||||||
|
Connection: close
|
||||||
|
Authentication-Info: Passport1.4 da-status=redir
|
||||||
|
Location: https://loginnet.passport.com/login2.srf?lc=1033
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Authentication Successful
|
||||||
|
```
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Cache-Control: no-cache
|
||||||
|
cachecontrol: no-store
|
||||||
|
Connection: close
|
||||||
|
Content-Type: text/html
|
||||||
|
Authentication-Info: Passport1.4 dastatus=success,from-PP='t=token&p=profile',ru=http://messenger.msn.com
|
||||||
|
Content-Length: 0
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Authentication Failure
|
||||||
|
The `dastatus` may instead be `failed-noretry`.
|
||||||
|
```
|
||||||
|
HTTP/1.1 Unauthorized
|
||||||
|
Cache-Control: no-cache
|
||||||
|
cachecontrol: no-store
|
||||||
|
WWW-Authenticate Passport1.4 dastatus=failed,srealm=Passport.NET,ts=-1,prompt,cburl=http://www.passportimages.com/XPPassportLogo.gif
|
||||||
|
Content-Length: 154
|
||||||
|
|
||||||
|
<HTML><HEAD><META HTTP-EQUIV="REFRESH" CONTENT="0; URL=https://login.passport.com/pp25/login2.srf?f=11"><script>function OnBack(){}</script></HEAD></HTML>
|
||||||
|
```
|
|
@ -7,7 +7,7 @@ It manages the Messenger Service's Allow List (AL), Block List (BL), Reverse Lis
|
||||||
It's default HTTP URL is `http://byrdr.omega.contacts.msn.com/abservice/SharingService.asmx`.
|
It's default HTTP URL is `http://byrdr.omega.contacts.msn.com/abservice/SharingService.asmx`.
|
||||||
It's default HTTPS URL is `https://byrdr.omega.contacts.msn.com/abservice/SharingService.asmx`.
|
It's default HTTPS URL is `https://byrdr.omega.contacts.msn.com/abservice/SharingService.asmx`.
|
||||||
|
|
||||||
This service requires Passport authentication.
|
This service requires [Passport authentication](passport14.md).
|
||||||
|
|
||||||
Related: [Address Book Service](abservice.md) (for Forward List (PL) members).
|
Related: [Address Book Service](abservice.md) (for Forward List (PL) members).
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ This is a list of all known MSNP commands and their originating version.
|
||||||
| [`INF`](commands/inf.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (removed CTP), [MSNP8](versions/msnp8.md) (Removed; automatic disconnect) |
|
| [`INF`](commands/inf.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (removed CTP), [MSNP8](versions/msnp8.md) (Removed; automatic disconnect) |
|
||||||
| [`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` | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (removed CTP), [MSNP6](versions/msnp7.md) (added verified bit to OK), [MSNP8](versions/msnp8.md) (TWN auth, removed MD5 auth, added unknown bit to OK), [MSNP10](versions/msnp10.md) (removed current display name in favor of PRP MFN), [MSNP15](versions/msnp15.md) (SSO auth) |
|
| [`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), [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) (parameter 3), [MSNP7](versions/msnp7.md) (parameter 4) |
|
||||||
| [`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.) |
|
||||||
|
@ -24,17 +24,17 @@ This is a list of all known MSNP commands and their originating version.
|
||||||
| [`IRO`](commands/iro.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP12](versions/msnp12.md) (Added Client Capability flags support as parameter 5) |
|
| [`IRO`](commands/iro.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP12](versions/msnp12.md) (Added Client Capability flags support as parameter 5) |
|
||||||
| [`JOI`](commands/joi.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP12](versions/msnp12.md) (Added Client Capability flags support as parameter 3) |
|
| [`JOI`](commands/joi.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP12](versions/msnp12.md) (Added Client Capability flags support as parameter 3) |
|
||||||
| [`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), [MSNP10](versions/msnp10.md) (Removed List Version outside of SYN 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), [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) | |
|
||||||
| [`LST`](commands/lst.md) | N | Y | Y\*| [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP8](versions/msnp8.md) (SYN: 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) (Likely removed) |
|
| [`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) (Likely removed) |
|
||||||
| [`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) |
|
| [`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) |
|
||||||
| [`FLN`](commands/fln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | |
|
| [`FLN`](commands/fln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | |
|
||||||
| [`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) |
|
||||||
| [`LSG`](commands/lsg.md) | N | Y | Y\*| [MSNP7](versions/msnp7.md) | [MSNP8](versions/msnp8.md) (Removed iterator and List Version parameters from SYN version), [MSNP10](versions/msnp10.md) (Removed unused parameter, and replaced Group IDs with Group GUIDs if `ABCHMigrated: 1`.) |
|
| [`LSG`](commands/lsg.md) | N | Y | Y\*| [MSNP7](versions/msnp7.md) | [MSNP8](versions/msnp8.md) (Removed iterator and List Version parameters from [SYN](commands/syn.md) version), [MSNP10](versions/msnp10.md) (Removed unused parameter, and replaced Group IDs with Group GUIDs if `ABCHMigrated: 1`.) |
|
||||||
| [`ADG`](commands/adg.md) | N | Y | N | [MSNP7](versions/msnp7.md) | [MSNP10](versions/msnp10.md) (Removed unused parameter, and replaced Group IDs with Group GUIDs if `ABCHMigrated: 1`), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect?, use [Address Book Service](services/abservice.md) `ABGroupAdd` instead.) |
|
| [`ADG`](commands/adg.md) | N | Y | N | [MSNP7](versions/msnp7.md) | [MSNP10](versions/msnp10.md) (Removed unused parameter, and replaced Group IDs with Group GUIDs if `ABCHMigrated: 1`), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect?, use [Address Book Service](services/abservice.md) `ABGroupAdd` instead.) |
|
||||||
| [`ILN`](commands/iln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP8](versions/msnp8.md) (Added support for Client Capabilities), [MSNP9](versions/msnp9.md) (Added optional MSNObject parameter), [MSNP14](versions/msnp14.md) (Added Network ID parameter and optional Presence Icon URL parameter), [MSNP16](versions/msnp16.md) (Support for the Extended Client Capabilities, changing the original Client Capabilities parameter to now be delimited by a colon) |
|
| [`ILN`](commands/iln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP8](versions/msnp8.md) (Added support for Client Capabilities), [MSNP9](versions/msnp9.md) (Added optional MSNObject parameter), [MSNP14](versions/msnp14.md) (Added Network ID parameter and optional Presence Icon URL parameter), [MSNP16](versions/msnp16.md) (Support for the Extended Client Capabilities, changing the original Client Capabilities parameter to now be delimited by a colon) |
|
||||||
| [`NLN`](commands/nln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP8](versions/msnp8.md) (Added support for Client Capabilities), [MSNP9](versions/msnp9.md) (Added optional MSNObject parameter), [MSNP14](versions/msnp14.md) (Added Network ID parameter and optional Presence Icon URL parameter), [MSNP16](versions/msnp16.md) (Support for the Extended Client Capabilities, changing the original Client Capabilities parameter to now be delimited by a colon) |
|
| [`NLN`](commands/nln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP8](versions/msnp8.md) (Added support for Client Capabilities), [MSNP9](versions/msnp9.md) (Added optional MSNObject parameter), [MSNP14](versions/msnp14.md) (Added Network ID parameter and optional Presence Icon URL parameter), [MSNP16](versions/msnp16.md) (Support for the Extended Client Capabilities, changing the original Client Capabilities parameter to now be delimited by a colon) |
|
||||||
|
@ -47,12 +47,11 @@ This is a list of all known MSNP commands and their originating version.
|
||||||
| [`SBP`](commands/sbp.md) | N | Y | N | [MSNP10](versions/msnp10.md) | [MSNP10](versions/msnp10.md) (`ABCHMigrated: 1`: Contact user handles are now GUIDs.), [MSNP11](versions/msnp11.md) (Added property `HSB`, for Has Blog. Set by the relevant Client Capability.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s `ABContactUpdate` action instead.) |
|
| [`SBP`](commands/sbp.md) | N | Y | N | [MSNP10](versions/msnp10.md) | [MSNP10](versions/msnp10.md) (`ABCHMigrated: 1`: Contact user handles are now GUIDs.), [MSNP11](versions/msnp11.md) (Added property `HSB`, for Has Blog. Set by the relevant Client Capability.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s `ABContactUpdate` action instead.) |
|
||||||
| [`CHL`](commands/chl.md) | N | Y | Y | [MSNP6](versions/msnp6.md) | [MSNP10](versions/msnp10.md) (Changed QRY response algorithm) |
|
| [`CHL`](commands/chl.md) | N | Y | Y | [MSNP6](versions/msnp6.md) | [MSNP10](versions/msnp10.md) (Changed QRY response algorithm) |
|
||||||
| [`GCF`](commands/gcf.md) | Y | Y | Y | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Command is now always asynchronous and always retuns `Shields.xml` in a new wrapper.) |
|
| [`GCF`](commands/gcf.md) | Y | Y | Y | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Command is now always asynchronous and always retuns `Shields.xml` in a new wrapper.) |
|
||||||
|
| [`SYN`](commands/syn.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP5](versions/msnp5.md) (Added [BPR](commands/bpr.md) and [PRP](commands/prp.md) to response.), [MSNP7](versions/msnp7.md) (Added [LSG](commands/lsg.md) support and groups in [LST](commands/lst.md).), [MSNP8](versions/msnp8.md) (Unset properties are now omitted, new response parameters to replace [LSG](commands/lsg.md) and [LST](commands/lst.md) iterator parameters, Transaction IDs and List Version was removed from used commands), [MSNP10](versions/msnp10.md) (Added new parameters for the settings version. With `ABCHMigrated: 1`, both versions are now timestamps), [MSNP12](versions/msnp12.md) (Added Network IDs to [LST](commands/lst.md).), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use the [Address Book Service](../services/abservice.md) and the [Contact Sharing Service](../services/sharingservice.md) instead.) |
|
||||||
|
|
||||||
# What's Missing Right Now
|
# What's Missing Right Now
|
||||||
|
|
||||||
## For next parity check
|
## For next parity check
|
||||||
* [MSNP2](versions/msnp2.md): USR
|
|
||||||
* [MSNP2](versions/msnp2.md): SYN
|
|
||||||
* [MSNP5](versions/msnp5.md): NOT
|
* [MSNP5](versions/msnp5.md): NOT
|
||||||
* [MSNP6](versions/msnp6.md): IPG
|
* [MSNP6](versions/msnp6.md): IPG
|
||||||
* [MSNP6](versions/msnp6.md): QRY
|
* [MSNP6](versions/msnp6.md): QRY
|
||||||
|
@ -66,5 +65,5 @@ This is a list of all known MSNP commands and their originating version.
|
||||||
* [MSNP12](versions/msnp12.md): LKP
|
* [MSNP12](versions/msnp12.md): LKP
|
||||||
|
|
||||||
# Modifiers
|
# Modifiers
|
||||||
* `*`: Only in `SYN`.
|
* `*`: Only in [SYN](commands/syn.md).
|
||||||
* `?`: Unconfirmed, but not impossible, or needs verification.
|
* `?`: Unconfirmed, but not impossible, or needs verification.
|
||||||
|
|
|
@ -38,7 +38,7 @@ Server disconnects client.
|
||||||
```
|
```
|
||||||
C: VER 1 MSNP10 MSNP9 CVR0
|
C: VER 1 MSNP10 MSNP9 CVR0
|
||||||
S: VER 1 CVR0
|
S: VER 1 CVR0
|
||||||
C: CVQ 2 0x0409 winnt 5.1 i386 MSNMSGR 6.1.0211 MSMSGS example@passport.com
|
C: CVQ 2 0x0409 winnt 5.1 i386 MSNMSGR 6.1.0211 MSMSGS example@hotmail.com
|
||||||
S: CVQ 2 7.0.0813 7.0.0813 6.2.0205 http://msgr.dlservice.microsoft.com/download/5/d/9/5d9bb5b2-49c7-4890-94ab-d1d5e44a0e6d/Install_MSN_Messenger.exe http://messenger.msn.com
|
S: CVQ 2 7.0.0813 7.0.0813 6.2.0205 http://msgr.dlservice.microsoft.com/download/5/d/9/5d9bb5b2-49c7-4890-94ab-d1d5e44a0e6d/Install_MSN_Messenger.exe http://messenger.msn.com
|
||||||
```
|
```
|
||||||
Server disconnects client.
|
Server disconnects client.
|
||||||
|
|
|
@ -19,7 +19,7 @@ The following commands were removed in this version:
|
||||||
(from [MSNP9](msnp9.md)):
|
(from [MSNP9](msnp9.md)):
|
||||||
* Added new initial profile variable `TOUNeeded`. If exists and set to 1,
|
* Added new initial profile variable `TOUNeeded`. If exists and set to 1,
|
||||||
a dialog box to review the Messenger Service Terms of Use is shown to the user.
|
a dialog box to review the Messenger Service Terms of Use is shown to the user.
|
||||||
* Changed SYN request and response.
|
* Changed [SYN](../commands/syn.md) request and response.
|
||||||
Client: `SYN transactionID listVersion settingsVersion`.
|
Client: `SYN transactionID listVersion settingsVersion`.
|
||||||
Server: `SYN transactionID listVersion settingsVersion numberOfContacts numberOfGroups`.
|
Server: `SYN transactionID listVersion settingsVersion numberOfContacts numberOfGroups`.
|
||||||
`settingsVersion` is always 0.
|
`settingsVersion` is always 0.
|
||||||
|
@ -28,7 +28,7 @@ The following commands were removed in this version:
|
||||||
* [PRP](../commands/prp.md) MFN replaces [REA](../commands/rea.md) (current user handle). [SBP](../commands/sbp.md) (contact ID) MFN replaces other uses of [REA](../commands/rea.md).
|
* [PRP](../commands/prp.md) MFN replaces [REA](../commands/rea.md) (current user handle). [SBP](../commands/sbp.md) (contact ID) MFN replaces other uses of [REA](../commands/rea.md).
|
||||||
* [LST](../commands/lst.md): Added prefixes to the user handle (`N=`) and friendly name (`F=`) parameters.
|
* [LST](../commands/lst.md): Added prefixes to the user handle (`N=`) and friendly name (`F=`) parameters.
|
||||||
* Added new initial profile variable `ABCHMigrated`. If set to 1, some commands are altered, such as:
|
* Added new initial profile variable `ABCHMigrated`. If set to 1, some commands are altered, such as:
|
||||||
* SYN: The request and response's list versions are now ISO 8601 with 7 subsecond digits,
|
* [SYN](../commands/syn.md): The request and response's list versions are now ISO 8601 with 7 subsecond digits,
|
||||||
usually with a -07:00 timezone offset.
|
usually with a -07:00 timezone offset.
|
||||||
the previously unused second parameter (both request and response) is used as the Last Settings Version,
|
the previously unused second parameter (both request and response) is used as the Last Settings Version,
|
||||||
and follows the same time format as List Versions now do.
|
and follows the same time format as List Versions now do.
|
||||||
|
@ -48,7 +48,8 @@ The following commands were removed in this version:
|
||||||
* 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). Is meant for 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 error code again, which was last seen in Client Version 3.6.003x.
|
* Official Client: Now handles the 604, 914, 916 error codes again,
|
||||||
|
which were last seen in Client Version 3.6.003x.
|
||||||
Error code 913 is no longer handled after being implemented in Client Version 4.5.
|
Error code 913 is no longer handled after being implemented in Client Version 4.5.
|
||||||
* First protocol version to remove a core command implemented since [MSNP2](msnp2.md) draft ([ADD](../commands/add.md)).
|
* First protocol version to remove a core command implemented since [MSNP2](msnp2.md) draft ([ADD](../commands/add.md)).
|
||||||
|
|
||||||
|
@ -77,6 +78,9 @@ S: CVR 5 6.1.0211 6.1.0211 6.1.0155
|
||||||
.. http://messenger.msn.com
|
.. http://messenger.msn.com
|
||||||
C: USR 6 TWN I example@hotmail.com
|
C: USR 6 TWN I example@hotmail.com
|
||||||
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
||||||
|
```
|
||||||
|
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
|
||||||
|
```
|
||||||
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
||||||
S: USR 7 OK example@hotmail.com 1 0
|
S: USR 7 OK example@hotmail.com 1 0
|
||||||
S: MSG Hotmail Hotmail 465
|
S: MSG Hotmail Hotmail 465
|
||||||
|
|
|
@ -30,6 +30,7 @@ It introduces the notification service commands:
|
||||||
* Official Client: Notifications (NOT commands) with encoded `NotificationData` documents are supported for spaces (blogs).
|
* Official Client: Notifications (NOT commands) with encoded `NotificationData` documents are supported for spaces (blogs).
|
||||||
* Official Client: Messenger Config requests now support regional arguments via SOAP.
|
* Official Client: Messenger Config requests now support regional arguments via SOAP.
|
||||||
* Official Client: [OUT](../commands/out.md) SSD is actually implemented now.
|
* Official Client: [OUT](../commands/out.md) SSD is actually implemented now.
|
||||||
|
* Official Client: Error code 913 is handled again after being removed last version. Why?
|
||||||
|
|
||||||
# Client-server communication example
|
# Client-server communication example
|
||||||
*NOTE: This has been line-breaked.
|
*NOTE: This has been line-breaked.
|
||||||
|
@ -56,6 +57,9 @@ S: CVR 5 6.1.0211 6.1.0211 6.1.0155
|
||||||
.. http://messenger.msn.com
|
.. http://messenger.msn.com
|
||||||
C: USR 6 TWN I example@hotmail.com
|
C: USR 6 TWN I example@hotmail.com
|
||||||
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
||||||
|
```
|
||||||
|
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
|
||||||
|
```
|
||||||
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
||||||
S: USR 7 OK example@hotmail.com 1 0
|
S: USR 7 OK example@hotmail.com 1 0
|
||||||
S: SBS 0 null
|
S: SBS 0 null
|
||||||
|
|
|
@ -38,7 +38,7 @@ S: XFR 3 NS 10.0.0.5:1863 0 10.0.0.1:1863
|
||||||
```
|
```
|
||||||
Client disconnects from server
|
Client disconnects from server
|
||||||
|
|
||||||
Client opens a connection to 10.0.0.5:1863 (from stored server)
|
Client opens a connection to 10.0.0.5:1863
|
||||||
```
|
```
|
||||||
C: VER 4 MSNP12 MSNP11 MSNP10 CVR0
|
C: VER 4 MSNP12 MSNP11 MSNP10 CVR0
|
||||||
S: VER 4 MSNP12
|
S: VER 4 MSNP12
|
||||||
|
@ -47,6 +47,11 @@ S: CVR 5 6.1.0211 6.1.0211 6.1.0155
|
||||||
.. http://download.microsoft.com/download/8/3/C/83C4B2DB-AC1C-4B56-8144-4472C0982F21/SetupDl.exe
|
.. http://download.microsoft.com/download/8/3/C/83C4B2DB-AC1C-4B56-8144-4472C0982F21/SetupDl.exe
|
||||||
.. http://messenger.msn.com
|
.. http://messenger.msn.com
|
||||||
C: USR 6 TWN I example@hotmail.com
|
C: USR 6 TWN I example@hotmail.com
|
||||||
|
```
|
||||||
|
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
|
||||||
|
|
||||||
|
TODO: This is actually meant to be Passport 3.0.
|
||||||
|
```
|
||||||
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
||||||
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
||||||
S: USR 7 OK example@hotmail.com 1 0
|
S: USR 7 OK example@hotmail.com 1 0
|
||||||
|
|
|
@ -6,7 +6,7 @@ It was introduced officially in Client Version 1.0.0863, along with [CVR0](cvr0.
|
||||||
It introduces the dispatch service commands:
|
It introduces the dispatch service commands:
|
||||||
* [INF](../commands/inf.md)
|
* [INF](../commands/inf.md)
|
||||||
* [OUT](../commands/out.md)
|
* [OUT](../commands/out.md)
|
||||||
* USR
|
* [USR](../commands/usr.md)
|
||||||
* [VER](../commands/ver.md)
|
* [VER](../commands/ver.md)
|
||||||
* [XFR](../commands/xfr.md)
|
* [XFR](../commands/xfr.md)
|
||||||
|
|
||||||
|
@ -30,9 +30,9 @@ It introduces the notification service commands:
|
||||||
* [REM](../commands/rem.md)
|
* [REM](../commands/rem.md)
|
||||||
* [RNG](../commands/rng.md)
|
* [RNG](../commands/rng.md)
|
||||||
* [SND](../commands/snd.md) (not in draft)
|
* [SND](../commands/snd.md) (not in draft)
|
||||||
* SYN
|
* [SYN](../commands/syn.md)
|
||||||
* [URL](../commands/url.md) (not in draft)
|
* [URL](../commands/url.md) (not in draft)
|
||||||
* USR
|
* [USR](../commands/usr.md)
|
||||||
* [VER](../commands/ver.md)
|
* [VER](../commands/ver.md)
|
||||||
* [XFR](../commands/xfr.md)
|
* [XFR](../commands/xfr.md)
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ It introduces the switchboard service commands:
|
||||||
* [MSG](../commands/msg.md)
|
* [MSG](../commands/msg.md)
|
||||||
* [NAK](../commands/nak.md)
|
* [NAK](../commands/nak.md)
|
||||||
* [OUT](../commands/out.md)
|
* [OUT](../commands/out.md)
|
||||||
* USR
|
* [USR](../commands/usr.md)
|
||||||
|
|
||||||
It introduces the error codes:
|
It introduces the error codes:
|
||||||
* 100 (not in draft)
|
* 100 (not in draft)
|
||||||
|
|
|
@ -10,8 +10,11 @@ It introduces the notification service commands:
|
||||||
|
|
||||||
It introduces the error codes:
|
It introduces the error codes:
|
||||||
* 131
|
* 131
|
||||||
|
* 212
|
||||||
* 217
|
* 217
|
||||||
|
* 716
|
||||||
* 800
|
* 800
|
||||||
|
* 917
|
||||||
|
|
||||||
*No commands were known to be removed in this version*
|
*No commands were known to be removed in this version*
|
||||||
|
|
||||||
|
@ -25,8 +28,6 @@ It introduces the error codes:
|
||||||
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).
|
||||||
* Initial profile: Added Passport intergration fields.
|
* Initial profile: Added Passport intergration fields.
|
||||||
* Font information has been added to Switchboard [MSG](../commands/msg.md) commands.
|
* Font information has been added to Switchboard [MSG](../commands/msg.md) commands.
|
||||||
* Multiple error-codes unimplemented in 1.x that were in the draft are now implemented in the Official Client.
|
|
||||||
Examples include: 208, 215, 501, 604 (bizzarely enough), 715 and finally 913.
|
|
||||||
* Non-protocol: Client can now use non-hotmail domains in relevant places.
|
* Non-protocol: Client can now use non-hotmail domains in relevant places.
|
||||||
* 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.
|
||||||
|
@ -49,6 +50,32 @@ It introduces the error codes:
|
||||||
* Official Client: Removed [URL](../commands/url.md) service `PASSWORD`.
|
* Official Client: Removed [URL](../commands/url.md) service `PASSWORD`.
|
||||||
* Official Client: Disabled inviting people to the service (needs confirmation).
|
* Official Client: Disabled inviting people to the service (needs confirmation).
|
||||||
|
|
||||||
|
## Changes to error codes
|
||||||
|
*Only applies for the Official Client.*
|
||||||
|
|
||||||
|
### Re-added
|
||||||
|
*Where the parenthesis are the last version that had the error.*
|
||||||
|
|
||||||
|
* 208 (draft)
|
||||||
|
* 215 (draft)
|
||||||
|
* 501 (draft)
|
||||||
|
* 604 (draft)
|
||||||
|
* 715 (draft)
|
||||||
|
* 913 (draft)
|
||||||
|
* 917 (draft)
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
* 146
|
||||||
|
* 206
|
||||||
|
* 207
|
||||||
|
* 211
|
||||||
|
* 218
|
||||||
|
* 503
|
||||||
|
* 510
|
||||||
|
* 914
|
||||||
|
* 918
|
||||||
|
* 919
|
||||||
|
|
||||||
# Client-server communication example
|
# Client-server communication example
|
||||||
```
|
```
|
||||||
C: VER 1 MSNP3 MSNP2 CVR0
|
C: VER 1 MSNP3 MSNP2 CVR0
|
||||||
|
|
|
@ -16,6 +16,18 @@ It was introduced officially in Client Version 2.1.1047.
|
||||||
identification parameter, like [CVR](../commands/cvr.md) has, but is always empty.
|
identification parameter, like [CVR](../commands/cvr.md) has, but is always empty.
|
||||||
* Official Client: Client Version 2.2.1053 re-enables the ability to invite people again.
|
* Official Client: Client Version 2.2.1053 re-enables the ability to invite people again.
|
||||||
|
|
||||||
|
## Changes to error codes
|
||||||
|
*Only applies for the Official Client.*
|
||||||
|
|
||||||
|
### Re-added
|
||||||
|
*Where the parenthesis are the last version that had the error.*
|
||||||
|
|
||||||
|
* 208 (draft)
|
||||||
|
* 500
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
None.
|
||||||
|
|
||||||
# Client-server communication example
|
# Client-server communication example
|
||||||
```
|
```
|
||||||
C: VER 1 MSNP4 MSNP3 CVR0
|
C: VER 1 MSNP4 MSNP3 CVR0
|
||||||
|
|
|
@ -12,19 +12,20 @@ It introduces the notification service commands:
|
||||||
|
|
||||||
*No switchboard or dispatch service commands were known to be introduced in this version*
|
*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*
|
It introduces the error codes:
|
||||||
|
* 922
|
||||||
|
|
||||||
*No commands were known to be removed in this version*
|
*No commands were known to be removed in this version*
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
(from [MSNP4](msnp4.md)):
|
(from [MSNP4](msnp4.md)):
|
||||||
|
* [BPR](../commands/bpr.md) and [PRP](../commands/prp.md) have been added to [SYN](../commands/syn.md).
|
||||||
* Non-protocol: Official website stopped updating the whatsnew.asp page between this (MSNP5) and [MSNP7](msnp7.md).
|
* Non-protocol: Official website stopped updating the whatsnew.asp page between this (MSNP5) and [MSNP7](msnp7.md).
|
||||||
* Official Client: Introduced the toast notification system. Notifications can now stack vertically.
|
* Official Client: Introduced the toast notification system. Notifications can now stack vertically.
|
||||||
* 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) to be sent to the Notification Server from the client.
|
||||||
* Official Client: Error code 913 is no longer handled. It was last seen in Client Version 2.2.
|
|
||||||
* 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 Passport
|
||||||
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
|
||||||
|
@ -33,6 +34,27 @@ It introduces the notification service commands:
|
||||||
* Official Client: [URL](../commands/url.md) without the Passport Site ID (parameter 3) support has been removed.
|
* Official Client: [URL](../commands/url.md) without the Passport Site ID (parameter 3) support has been removed.
|
||||||
* Official Client: Added new [URL](../commands/url.md) services `MOBILE` and `CHGMOB` .
|
* Official Client: Added new [URL](../commands/url.md) services `MOBILE` and `CHGMOB` .
|
||||||
|
|
||||||
|
## Changes to error codes
|
||||||
|
*Only applies for the Official Client.*
|
||||||
|
|
||||||
|
### Re-added
|
||||||
|
*Where the parenthesis are the last version that had the error.*
|
||||||
|
|
||||||
|
* 211 ([MSNP2](msnp2).md)
|
||||||
|
* 503
|
||||||
|
* 510
|
||||||
|
* 914 ([MSNP2](msnp2).md)
|
||||||
|
* 919 ([MSNP2](msnp2).md)
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
* 131
|
||||||
|
* 209
|
||||||
|
* 212
|
||||||
|
* 500
|
||||||
|
* 501
|
||||||
|
* 912
|
||||||
|
* 913
|
||||||
|
|
||||||
# Client-server communication example
|
# Client-server communication example
|
||||||
```
|
```
|
||||||
C: VER 1 MSNP5 MSNP4 CVR0
|
C: VER 1 MSNP5 MSNP4 CVR0
|
||||||
|
|
|
@ -12,19 +12,33 @@ It introduces the notification service commands:
|
||||||
|
|
||||||
*No error codes 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*
|
It introduces the error codes:
|
||||||
|
* 540
|
||||||
|
* 915
|
||||||
|
* 916
|
||||||
|
|
||||||
# Known changes
|
# Known changes
|
||||||
(from [MSNP5](msnp5.md)):
|
(from [MSNP5](msnp5.md)):
|
||||||
* USR OK now has a verified bit (parameter 4), if 0, shows a warning to verify the account.
|
* [USR](../commands/usr.md) OK now has a verified bit (parameter 4), if 0, 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 is
|
* Client-server challenges were introduced. The format for the response is
|
||||||
`MD5(challenge + clientSecret)` as a lowercase hex-string.
|
`MD5(challenge + privateKey)` as a lowercase hexadecimal string.
|
||||||
* An example client secret is `Q1P7W2E4J9R8U3S5`, which is tied to `msmsgs@msnmsgr.com`.
|
* An example client secret is `Q1P7W2E4J9R8U3S5`, which is tied to `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).
|
||||||
* Official Client: Added new [URL](../commands/url.md) services `PROFILE`, `N2PACCOUNT` and `N2PFUND`.
|
* Official Client: Added new [URL](../commands/url.md) services `PROFILE`, `N2PACCOUNT` and `N2PFUND`.
|
||||||
|
|
||||||
|
## Changes to error codes
|
||||||
|
*Only applies for the Official Client.*
|
||||||
|
|
||||||
|
### Re-added
|
||||||
|
None.
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
* 215
|
||||||
|
* 219
|
||||||
|
* 919
|
||||||
|
|
||||||
# Client-server communication example
|
# Client-server communication example
|
||||||
```
|
```
|
||||||
C: VER 1 MSNP6 MSNP5 MSNP4 CVR0
|
C: VER 1 MSNP6 MSNP5 MSNP4 CVR0
|
||||||
|
|
|
@ -12,7 +12,14 @@ It introduces the notification service commands:
|
||||||
*No switchboard or dispatch service commands were known to be introduced in this version*
|
*No switchboard or dispatch service commands were known to be introduced in this version*
|
||||||
|
|
||||||
It introduces the error codes:
|
It introduces the error codes:
|
||||||
|
* 224
|
||||||
|
* 225
|
||||||
|
* 226
|
||||||
|
* 229
|
||||||
|
* 230
|
||||||
* 502
|
* 502
|
||||||
|
* 710
|
||||||
|
* 921
|
||||||
* 924
|
* 924
|
||||||
|
|
||||||
*No commands were known to be removed in this version*
|
*No commands were known to be removed in this version*
|
||||||
|
@ -26,16 +33,38 @@ It introduces the error codes:
|
||||||
not the Forward List (FL) itself.
|
not the Forward List (FL) itself.
|
||||||
* [ADD](../commands/add.md) commnads with the list set to the Forward List (FL) with a group ID only adds that user from the respective group,
|
* [ADD](../commands/add.md) commnads with the list set to the Forward List (FL) with a group ID only adds that user from the respective group,
|
||||||
and the Forward List (FL) if the user is not already in the Forward List (FL).
|
and the Forward List (FL) if the user is not already in the Forward List (FL).
|
||||||
* SYN now includes LSG entries for groups.
|
* [SYN](../commands/syn.md) now includes LSG entries for groups.
|
||||||
* [LST](../commands/lst.md) (either from itself or a SYN response) now includes contact group numbers for the Forward List (FL).
|
* [LST](../commands/lst.md) (either from itself or a SYN response) now includes contact group numbers for the Forward List (FL).
|
||||||
* [XFR](../commands/xfr.md) NS's now include the server it was sent from.
|
* [XFR](../commands/xfr.md) NS's now include the server it was sent from.
|
||||||
* Official Client: Error codes 602, 603, 911 (since removal in Client Version 3.0) are implemented.
|
|
||||||
Error code 604 is no longer handled since Client Version 2.0.
|
|
||||||
* Official website's `whatsnew.asp` page has been updated.
|
* Official website's `whatsnew.asp` page has been updated.
|
||||||
* Official Client: New service URLs for some features.
|
* Official Client: New service URLs for some features.
|
||||||
* Official Client: Added new [URL](../commands/url.md) service `CHAT`.
|
* Official Client: Added new [URL](../commands/url.md) service `CHAT`.
|
||||||
* Official Client: Removed [URL](../commands/url.md) services `N2PACCOUNT` and `N2PFUND`.
|
* Official Client: Removed [URL](../commands/url.md) services `N2PACCOUNT` and `N2PFUND`.
|
||||||
|
|
||||||
|
## Changes to error codes
|
||||||
|
*Only applies for the Official Client.*
|
||||||
|
|
||||||
|
### Re-added
|
||||||
|
*Where the parenthesis are the last version that had the error.*
|
||||||
|
|
||||||
|
* 131
|
||||||
|
* 146
|
||||||
|
* 603
|
||||||
|
* 604
|
||||||
|
* 913 ([MSNP4](msnp4.md))
|
||||||
|
* 918 ([MSNP2](msnp2.md))
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
* 503
|
||||||
|
* 601
|
||||||
|
* 604
|
||||||
|
* 715
|
||||||
|
* 716
|
||||||
|
* 914
|
||||||
|
* 915
|
||||||
|
* 916
|
||||||
|
* 920
|
||||||
|
|
||||||
# Client-server communication example
|
# Client-server communication example
|
||||||
```
|
```
|
||||||
C: VER 1 MSNP7 MSNP6 MSNP5 MSNP4 CVR0
|
C: VER 1 MSNP7 MSNP6 MSNP5 MSNP4 CVR0
|
||||||
|
|
|
@ -16,10 +16,11 @@ 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 instead of [VER](../commands/ver.md)-[INF](../commands/inf.md)-USR.
|
* Login process now [VER](../commands/ver.md)-[CVR](../commands/cvr.md)-[USR](../commands/usr.md)
|
||||||
* USR OK has a new parameter, usually? 0, but of currently unknown use.
|
instead of [VER](../commands/ver.md)-[INF](../commands/inf.md)-[USR](../commands/usr.md).
|
||||||
* Introduced `TWN` authentication method, which uses Passport 1.4 over HTTPS.
|
* [USR](../commands/usr.md) OK has a new parameter, usually? 0, but of currently unknown use.
|
||||||
* Reworked SYN and related response commands (notably [LSG](../commands/lsg.md) and [LST](../commands/lst.md)) drastically:
|
* 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:
|
||||||
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.
|
||||||
|
@ -30,24 +31,28 @@ The following commands were removed in this version:
|
||||||
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.
|
||||||
* [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): 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),
|
||||||
For example, a contact on the Forward List (FL), Allow List (AL) and Reverse List (RL)
|
For example, a contact on the Forward List (FL), Allow List (AL) and Reverse List (RL)
|
||||||
would have their combined list number be 11.
|
would have their combined list number be 11.
|
||||||
* [CHG](../commands/chg.md), [ILN](../commands/iln.md), [NLN](../commands/nln.md): Client Capabilities are introduced.
|
* [CHG](../commands/chg.md), [ILN](../commands/iln.md), [NLN](../commands/nln.md): Client Capabilities are introduced.
|
||||||
You can now tell other clients what features you support.
|
You can now tell other clients what features you support.
|
||||||
* Official Client: Error 711 is now handled.
|
|
||||||
Error 603 isn't handled again after Client Version 4.5 supported it.
|
|
||||||
* Official Client: Connectivity field added to application requests
|
* Official Client: Connectivity field added to application requests
|
||||||
to notify the other user about what the network conditions are.
|
to notify the other user about what the network conditions are.
|
||||||
* Official Client: Introduced ABCH (Address Book Clearing House) support.
|
* Official Client: Introduced ABCH (Address Book Clearing House) support.
|
||||||
The URL is gathered from `svcs.microsoft.com`.
|
The URL is gathered from `svcs.microsoft.com`.
|
||||||
`abch_config.asp` provides an XML document with a `<abchconfig>` element.
|
`abch_config.asp` provides an XML document with a `<abchconfig>` element.
|
||||||
It has a `<url>` element containing the service URL, a `<refresh>` element,
|
It has a `<url>` element containing the service URL, a `<refresh>` element,
|
||||||
and finally a `<percent>` element. Example values are
|
and finally a `<percent>` element. Example values are
|
||||||
`http://contacts.msn.com/abservice/abservice.asmx`, `0` and `0.0` respectively.
|
`http://contacts.msn.com/abservice/abservice.asmx`, `0` and `0.0` respectively.
|
||||||
* Official Client: Added new [URL](../commands/url.md) services `ADDRBOOK`, `ADVSEARCH` and `INTSEARCH`
|
* Official Client: Added new [URL](../commands/url.md) services `ADDRBOOK`, `ADVSEARCH` and `INTSEARCH`
|
||||||
|
|
||||||
|
## Changes to error codes
|
||||||
|
TODO: this section
|
||||||
|
|
||||||
|
Added: 603
|
||||||
|
|
||||||
|
|
||||||
# Client-server communication example
|
# Client-server communication example
|
||||||
*NOTE: This has been line-breaked.
|
*NOTE: This has been line-breaked.
|
||||||
Lines beginning with `..` followed by a space are continuations of the previous line.
|
Lines beginning with `..` followed by a space are continuations of the previous line.
|
||||||
|
@ -73,6 +78,9 @@ S: CVR 5 5.0.0537 5.0.0537 1.0.0863
|
||||||
.. http://messenger.microsoft.com
|
.. http://messenger.microsoft.com
|
||||||
C: USR 6 TWN I example@hotmail.com
|
C: USR 6 TWN I example@hotmail.com
|
||||||
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
||||||
|
```
|
||||||
|
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
|
||||||
|
```
|
||||||
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
||||||
S: USR 7 OK example@hotmail.com example%20user 1 0
|
S: USR 7 OK example@hotmail.com example%20user 1 0
|
||||||
S: MSG Hotmail Hotmail 448
|
S: MSG Hotmail Hotmail 448
|
||||||
|
|
|
@ -50,6 +50,9 @@ S: CVR 5 6.0.0602 6.0.0602 6.0.0268
|
||||||
.. http://messenger.msn.com
|
.. http://messenger.msn.com
|
||||||
C: USR 6 TWN I example@hotmail.com
|
C: USR 6 TWN I example@hotmail.com
|
||||||
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
S: USR 6 TWN S passport=parameters,neat=huh,lc=1033,id=507
|
||||||
|
```
|
||||||
|
*The HTTPS interlude is described in the [Passport 1.4](../services/passport14.md) article.*
|
||||||
|
```
|
||||||
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
C: USR 7 TWN S $(pp14response.headers.authenticationInfo["from-PP"])
|
||||||
S: USR 7 OK example@hotmail.com example%20user 1 0
|
S: USR 7 OK example@hotmail.com example%20user 1 0
|
||||||
S: MSG Hotmail Hotmail 448
|
S: MSG Hotmail Hotmail 448
|
||||||
|
|
Loading…
Reference in New Issue