3.2 RPC over HTTP v2 Protocol Details

The client and server do not have fixed roles; each software agent that has an implementation of this protocol can act as a client, as a server, or as both. The role that a given network node assumes is determined by which local interface ([MS-RPCE] section 8.1) the higher-layer protocol uses and which protocol sequence is used. If the higher-layered protocol uses the ncacn_http RPC protocol sequence, as specified in [MS-RPCE] section 3, and invokes RpcBindingFromStringBinding or equivalent, then this software agent acts as a client. If the higher-layered protocol uses the ncacn_http RPC protocol sequence, as specified in [MS-RPCE] section 3, and invokes RpcServerUseProtseq or equivalent, then this software agent acts as a server.

The inbound proxies and outbound proxies are software processes that run on a network node and are usually set up by a network administrator. A single software agent can act as an inbound proxy, an outbound proxy, or both. A proxy MUST act as an inbound proxy if it gets an IN channel request as defined in section 2.1.2.1.1. It MUST act as an outbound proxy if it gets an OUT channel request as defined in section 2.1.2.1.2. The scope of the role it assumes is for the virtual IN channel or OUT channel. A single network node can act as inbound proxy for a given virtual IN channel and at the same time as an outbound proxy for a given virtual OUT channel.