3.2.2.4.1.1 Determining HTTP Proxy Use

The first step of opening a connection is to determine proxy use. This step is optional and MAY<31> be skipped by an implementation if it has information from other sources about whether an HTTP proxy is needed to connect to the RPC over HTTP v2 proxy and which HTTP proxy it needs to use. If the client does not perform this step, the client MUST transition to the Connection Open state and execute the Connection Opening sequence as specified in section 3.2.2.4.1.2.

If a client implementation knows the name of an HTTP proxy but does not know whether the HTTP proxy needs to be used, it MUST perform the following sequence of steps to determine proxy use:

  1. Send an echo request as specified in section 2.1.2.1.5 to the RPC over HTTP proxy through the HTTP proxy it knows about. It SHOULD set the Method in Echo Request to RPC_IN_DATA.

  2. Send an echo request as specified in section 2.1.2.1.5 directly to the RPC over HTTP proxy without going through the HTTP proxy it knows about. It SHOULD set the Method in Echo Request to RPC_IN_DATA.

  3. Move to wait state and wait for events from the network or wait for the timeout as specified in section 3.2.2.6.3.

Once HTTP proxy use has been determined, the client MUST transition to the Connection Open state and execute the Connection Opening sequence, as specified in section 3.2.2.4.1.2.

If no Echo Response PDUs are received (as specified in section 2.1.2.1.6) and the timer expires, it MUST be treated as a connection error and be processed as specified in section 3.1.3.4.3.