3.2.5.3.9 Processing MCS Channel Join Confirm PDU(s)

The structure and fields of the MCS Channel Join Confirm PDU are specified in section 2.2.1.9.

If Enhanced RDP Security (section 5.4) is in effect, the External Security Protocol (section 5.4.5) MUST be used to decrypt and verify the integrity of the entire PDU prior to any processing taking place.

The embedded length fields within the tpktHeader field ([T123] section 8) MUST be examined for consistency with the received data. If there is any discrepancy, the connection SHOULD be dropped.

The MCS Channel Join Confirm PDU (embedded within the mcsCJcf field) is specified in [T125] section 7, parts 6 and 10. If the optional channelId field is not present, the client SHOULD drop the connection. Furthermore, if the result field is not set to rt-successful (0), the client SHOULD also drop the connection. The initiator and requested fields MAY be ignored, however, the channelId field MUST be examined. If the value of the channelId field does not correspond with the value of the channelId field sent in the previous MCS Channel Join Request PDU (section 2.2.1.8) the connection SHOULD be dropped.

Once the client has successfully processed the MCS Channel Join Confirm PDU, it MUST send a new MCS Channel Join Request PDU to the server containing the ID of the next channel which has not yet been joined. If all channels have been joined, the client MUST proceed to send one of the following PDUs: