# 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 user-to-user notification message.
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 endpoint of the user-handle. Not specifying this parameter sends this notification to all endpoints.

Where type is one of the following values:

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.

# Server/Response

UUN TrID OK

Where OK is always OK.

# Examples

# Request to share folders (Type 1 messages)

NOTE: Payload is usually a <SNM> XML element.

C: UUN 1 anotheruser@hotmail.com 1 78
<SNM opcode="SNM" csid="{2F39C0A4-BD46-A16C-78EF-4E2B52D62DFA}" priority="1"/>
S: UUN 1 OK

# Start an MSNSLP session (Type 3 messages)

NOTE: Payload is a MSNSLP message.
NOTE: Due to a programming oversight, the terminating null byte that usually is included in MSNSLP bodies are omitted. The length parameter reflects this, but the inner Content-Length does not.

C: UUN 2 anotheruser@hotmail.com 3 650
INVITE MSNMSGR:anotheruser@hotmail.com MSNSLP/1.0
To: <msnmsgr:anotheruser@hotmail.com>
From: <msnmsgr:example@hotmail.com>
Via: MSNSLP/1.0/TLP ;branch={2D718229-7A62-4DFF-89DA-B5BEC1EC4A38}
CSeq: 0 
Call-ID: {F13B5C79-0126-458F-A29D-747C79C56530}
Max-Forwards: 0
Content-Type: application/x-msnmsgr-transreqbody
Content-Length: 307

NetID: 0
Conn-Type: Firewall
TCP-Conn-Type: Firewall
UPnPNat: false
ICF: false
IPv6-global: 
Capabilities-Flags: 1
Nat-Trav-Msg-Type: WLX-Nat-Trav-Msg-Direct-Connect-Req
Bridges: TRUDPv1 TCPv1 SBBridge TURNv1
Hashed-Nonce: {28DDCEB3-CB9A-5138-9227-E7B6D14089B3}
SessionID: 0
SChannelState: 0

S: UUN 2 OK

# Log out an endpoint (Type 4 messages)

NOTE: Payload is optional.

C: UUN 3 example@hotmail.com;{8607450b-5d8f-4c8f-93c4-6bb9ac1179ca} 4 14
goawyplzthxbye
S: UUN 3 OK

# Close a conversation window (Type 5 messages)

NOTE: Payload is a Roster.

C: UUN 4 example@hotmail.com 5 25
987654321;10.0.1.200:1863
S: UUN 4 OK

# Update address book (Type 6 messages)

NOTE: Payload is optional.

C: UUN 5 example@hotmail.com;{8607450b-5d8f-4c8f-93c4-6bb9ac1179ca} 6 21
please sync with ABCH
S: UUN 5 OK

# Close a contact request dialog (Type 7 messages)

NOTE: Payload is the user handle to dismiss and 1. No other value except 1 is observed to do anything.

C: UUN 6 example@hotmail.com 7 25
anotheruser@hotmail.com 1
S: UUN 6 OK

# Log out all endpoints (Type 8 messages)

NOTE: Payload is optional.

C: UUN 7 example@hotmail.com 8 4
gtfo
S: UUN 7 OK
C: OUT

Client disconnects from server.
Server disconnects client.

# Setup a TURN session (Type 10 messages)

NOTE: Payload is a MSNSLP message.
NOTE: Due to a programming oversight, the terminating null byte that usually is included in MSNSLP bodies are omitted. The length parameter reflects this, but the inner Content-Length does not.

C: UUN 8 anotheruser@hotmail.com 10 475
ACK MSNMSGR:anotheruser@hotmail.com MSNSLP/1.0
To: <msnmsgr:anotheruser@hotmail.com>
From: <msnmsgr:example@hotmail.com>
Via: MSNSLP/1.0/TLP ;branch={58B6AF16-B1AB-49AF-8702-4F95E6C5FAAC}
CSeq: 0 
Call-ID: {00000000-0000-0000-0000-000000000000}
Max-Forwards: 0
Content-Type: application/x-msnmsgr-turnsetup
Content-Length: 138

ServerAddress: 10.0.3.1
SessionUsername: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
SessionPassword: AAAAAAAAAAAAAAAAAAAAAA==

S: UUN 8 OK

# Known changes