# Table of contents:

# Introduction

UBN is a command introduced with MSNP13.

It is a Notification Server command, WITH a response payload.

Receives a user-to-user notification message from a buddy.
For the command that sends these notification messages, read UUN.

# Client/Request

This command can not be sent from the client.

# Server/Response

UBN 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. If this is specified, this parameter sends specifies which endpoint sent this notification.

Where type is one of the following values:

Where length is the size (in bytes) of the payload.

Where payload is the data you have received, of which the format of data depends on the type parameter.

# Examples

# Request to share folders (Type 1 messages)

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

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

# 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: UBN example@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

# Log out an endpoint (Type 4 messages)

NOTE: Payload is optional.

C: UBN example@hotmail.com;{44bfd5a4-7450-4bda-ba3a-c51b3031126d} 4 14
goawyplzthxbye

# Close a conversation window (Type 5 messages)

NOTE: Payload is a Roster.

C: UBN example@hotmail.com 5 25
987654321;10.0.1.200:1863

# Update address book (Type 6 messages)

NOTE: Payload is optional.

C: UBN example@hotmail.com;{44bfd5a4-7450-4bda-ba3a-c51b3031126d} 6 21
please sync with ABCH

# 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: UBN example@hotmail.com 7 25
anotheruser@hotmail.com 1

# Log out all endpoints (Type 8 messages)

NOTE: Payload is optional.

C: UBN example@hotmail.com 8 4
gtfo
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: UBN example@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==

# Known changes