Table of contents:

Introduction

CHG is a command introduced with MSNP2.

It is a Notification Server command, without either a request or response payload.

Changes your presence status, and sets your Client Capabilities and display picture's Object Reference in later MSNP versions.

Client/Request

CHG TrID status {client-capabilities{:extended-client-capabilities}} {object-reference}

Where status can be any of the below:

Where client-capabilities are your Client Capabilities. Optional. Added since MSNP8.

Where extended-client-capabilities are your Extended Client Capabilities. Optional. Added since MSNP16.

Where object-reference is your display picture's Object Reference. Optional. Added since MSNP9. You must set client-capabilities before setting an object-reference.

Status explanations

All statuses except HDN and FLN will treat you as online.
Which means all users on your Allow List (AL) and Reverse List (RL) will get all presence changes via the NLN command.

The statuses HDN and FLN will treat you as offline.
Which means all users on your Allow List (AL) and Reverse List (RL) will get a FLN command instead of an NLN command.
Also, all attempts to create a Switchboard session will fail automatically,

Exclusive to the FLN state, you are put in a very reduced state where you can only receive presence changes from other users and resynchronize your Lists.
You may be able to execute more commands, but doing so is Undefined Behaviour.

Server/Response

CHG TrID status {client-capabilities{:extended-client-capabilities}} {object-reference}

The server may also send this command asynchronously (at any time) with the TrID set to 0.

Examples

Changing status to Online

C: CHG 1 NLN
S: CHG 1 NLN

Changing status to Idle with Client Capabilities

This only works in MSNP8 and higher.

C: CHG 2 IDL 1
S: CHG 2 IDL 1

Changing status to Busy with Client Capabilities and a Object Reference.

This only works in MSNP9 and higher.

NOTE: This has been line-broken. Lines beginning with .. followed by a space are continuations of the previous line.

C: CHG 3 BSY 268435500 %3Cmsnobj%20Creator%3D%22example%40hotmail.com%22
.. %20Size%3D%2225235%22%20Type%3D%223%22
.. %20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22
.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22
.. %20SHA1C%3D%22DBRJPnGb+wBYawENkdor1bOdYUs%3D%22%2F%3E
S: CHG 3 BSY 268435500 %3Cmsnobj%20Creator%3D%22example%40hotmail.com%22
.. %20Size%3D%2225235%22%20Type%3D%223%22
.. %20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22
.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22
.. %20SHA1C%3D%22DBRJPnGb+wBYawENkdor1bOdYUs%3D%22%2F%3E

Server asynchronously changes your status to Semi-offline.

S: CHG 0 FLN

Invalid argument

NOTE: There is no defined behaviour for this command specifically.

C: CHG 4 HOT

Server disconnects client.

Known changes