3.2.4.5.3 CONN/A1 RTS PDU

An outbound proxy implementation MUST NOT accept the CONN/A1 RTS PDU in any state other than Open_Start. If it is received in any other state, the outbound proxy MUST treat this PDU as a protocol error as specified in section 3.2.4.5.14.

If this RTS PDU is received in Open_Start state, the outbound proxy implementation MUST perform the following actions in the sequence given:

  1. Establish a TCP connection to the server using the server name and port from the OUT channel request as specified in section 2.2.2.

  2. Send CONN/A2 RTS PDU to the server, setting the ChannelLifetime field to the value of the ChannelLifetime protocol variable of the Virtual OUT Channel.

  3. Set the value of OutChannelCookie in the CONN/A2 RTS PDU to the value of DefaultOutChannelCookie from the outbound proxy Virtual Connection.

  4. Set the value of ReceiveWindowSize in the CONN/A2 RTS PDU to the value of ReceiveWindow from the outbound proxy Virtual Connection.

  5. Set the value of ProtocolVersion in the CONN/A2 RTS PDU to the value of ProtocolVersion from the outbound proxy Virtual Connection.

  6. If all operations so far have been successful, send an OUT channel response on the OUT channel to the client. The fields for OUT channel response are defined as follows:

    • HTTP-Version: MUST be the string "HTTP/1.1".

    • Status-Code: MUST be the string "200".

    • Reason-Phrase: MUST be "Success".

    • Content-Type: Outbound proxies MUST set this header field to the string "application/rpc".

    • Content-Length: Outbound proxies MUST set this field to an implementation-specific value in the inclusive range of 128 kilobytes to 2 gigabytes.<45>

      In failure case, the outbound proxy MUST use the same processing rules as the inbound proxy as defined in section 3.2.3.5.11 and skip the rest of the processing in this section.

  7. Send CONN/A3 RTS PDU on the OUT channel to the client. Set the value of ConnectionTimeout in the CONN/A3 RTS PDU to the value of ConnectionTimeout from the outbound proxy Virtual Connection.

  8. Add the virtual connection cookie to the virtual connection cookie table.

  9. The ReceiveWindowSize from this PDU MUST be used to set the ReceiveWindowSize ADM from section 3.2.1.1.5.1.1.

  10. Set the value of DefaultOutChannelCookie in the outbound proxy Virtual Connection to the value of OutChannelCookie in the CONN/A1 RTS PDU.

  11. Transition the state to C1W and wait for further network events.