3.2.5.16 Processing a DEMOTE Packet
The client MUST iterate though ClientList fields (section 2.2.18) looking for an entry that matches the ClientId (section 3.2.1). If such an entry is found, client MUST send a LEAVE packet as specified in section 3.2.5.4.3, with the LeaveReason being WDSMCTP_LEAVE_REASON_CANCELLED. After the packet is sent, the client MUST:
Set SessionId (section 3.2.1) to LowerSessionId field (section 2.2.18) of DEMOTE packet.
Set Multicast Address (section 3.2.1) to MAddress and MPort fields (section 2.2.18) of DEMOTE packet.
Set Server Address (section 3.2.1) to UAddress and UPort fields (section 2.2.18) of DEMOTE packet.
Set all remaining parameters specified in section 3.2.1 to the value specified for initialization.
Set SessionState (section 3.2.1) to JoinState.