3.2.2.5.6 OUT_R1/A2 and OUT_R2/A2 RTS PDUs

The OUT_R1/A2 RTS PDU and the OUT_R2/A2 RTS PDU are processed identically by implementations of this protocol. This section defines processing for OUT_R1/A2, but all definitions provided herein apply to OUT_R2/A2 as well.

A client implementation MUST NOT accept these RTS PDUs in any state of the virtual OUT channel other than opened. If it is received in any other state, the client MUST treat it as a protocol error as defined in section 3.2.2.5.11.

If this RTS PDU is received in opened state, the client implementation MUST perform the following actions in the sequence given:

  1. Create a successor OUT channel instance and send an OUT channel request to the outbound proxy. The successor OUT channel instance MUST be considered the successor OUT channel, and the existing OUT channel MUST be considered the predecessor OUT channel. The successor OUT channel is attached as a component to the virtual OUT channel.

  2. Send OUT_R1/A3 RTS PDU on the successor OUT channel.

    1. Set the OutboundProxyReceiveWindowSize in the OUT R1/A3 RTS PDU to the value of ReceiveWindowSize in the Client OUT Channel.

    2. Set the PredecessorChannelCookie in the OUT R1/A3 RTS PDU to the value of DefaultOutChannelCookie in the Client Virtual Connection.

    3. Set the SuccessorChannelCookie in the OUT R1/A3 RTS PDU to the value of NonDefaultOutChannelCookie in the Client Virtual Connection.

    4. Set the VirtualConnectionCookie in the OUT R1/A3 RTS PDU to the value of the VirtualConnectionCookie in the Client Virtual Connection.

    5. Set the ProtocolVersion in the OUT R1/A3 RTS PDU to the value of ProtocolVersion in the Client Virtual Connection.

  3. Transition the virtual OUT channel state machine to Opened_A6W state.