# Table of contents:
# Introduction
UUN
is a command introduced with MSNP13.
It is a Notification Server command, WITH a request payload and without a response payload.
Sends a special message via the Notification Server to a user.
For the version of the command that is sent from the server that relates to another user, read UBN.
# Client/Request
UUN TrID user-handle{:machine-guid} type length
payload
Where user-handle
is the user handle of the user you'd like to send this message to.
Where machine-guid
is the target sub-recipient of your user handle.
Where type
is one of the following values:
1
: XML data (usually<SNM>
elements).2
: SIP invitation.3
: MSNP2P SLP data.4
: Log out from other machine. (Since MSNP16)5
: Closing a conversation window. (TODO: Please confirm this)6
: Address Book Service or Contact Sharing Service resynchronization.7
: Clear Reverse List Prompts? (TODO: Please confirm this)8
: Forward to other connections. (Since MSNP16)9
: Reserved.10
: TURN setup request.11
: Metadata channel for SIP? (TODO: Please confirm this)12
: Tunneled SIP invitation.
Where length
is the size (in bytes) of the payload
.
Where payload
is the data you'd like to send to the other user,
of which the format of data depends on the type
parameter.
# XML data
<SNM opcode="opcode" csid="guid" {priority="priority"} {reason="reason"}/>
Where opcode
is one of the following:
SNM
: Request to share new media.ACK
: Acknowledge (accept) aSNM
request.NAK
: Unacknowledge (decline) aSNM
request.INFO
: Unknown. May just be used to provide non-authorative information.
Where csid
is a bracketed GUID that represents the relationship of this transaction.
Where priority
, which is only seen with the opcode
value set to SNM
, is always set to 0
.
Where reason
, which is only seen with the opcode
value set to either NAK
or INFO
,
is set to a capitallized, prefixed hexadecimal representation of a HRESULT:
0x80070002
: System Error2
, file not found.0x80070490
: System Error1168
, element not found.0x8F450001
: Sharing folders are disabled.- (TODO: get a list of these that are actually used)
# Log out from other machine
Since MSNP16.
Either use the values of goawyplzthxbye
or gtfo
as the payload when using this mode.
# Server/Response
UBN TrID OK
Where OK
is always OK
.
# Examples
NOTE: The XML in these examples has been exploded for visibility and formatting reasons. The payload sizes provided are to represent the size of the unexploded payloads.
# XML data
# Initial request
C: UUN 1 anotheruser@hotmail.com 1 78
<SNM
opcode="SNM"
csid="{521A03BE-12AF-452D-A3C5-F7787D7A8267}"
priority="0"
/>
S: UUN 1 OK
# Accept request
C: UUN 2 anotheruser@hotmail.com 1 65
<SNM
opcode="ACK"
csid="{521A03BE-12AF-452D-A3C5-F7787D7A8267}"
/>
S: UUN 2 OK
# Decline request
C: UUN 3 anotheruser@hotmail.com 1 85
<SNM
opcode="NAK"
csid="{521A03BE-12AF-452D-A3C5-F7787D7A8267}"
reason="0x80070490"
/>
S: UUN 3 OK
# Send Information
C: UUN 4 anotheruser@hotmail.com 1 86
<SNM
opcode="INFO"
csid="{521A03BE-12AF-452D-A3C5-F7787D7A8267}"
reason="0x8F450001"
/>
S: UUN 4
# Log out other machine
Since MSNP16.
C: UUN 5 example@hotmail.com;{44bfd5a4-7450-4bda-ba3a-c51b3031126d} 4 14
goawyplzthxbye
# Known changes
- MSNP16: UUN commands can now be sent to other machines logged in as your user by specifying the Machine GUID. Types 4 (Log out other machine) and 8 (Forward to other machine) have been implemented.