3.1.3 Initialization

Initialization of the protocol occurs as the result of a higher layer asking for information about multimedia content located on a server. That event is described in section 3.1.4.2.

The variables defined by the abstract data model MUST initially assume their default values. For variables that do not have a default defined, the following rules MUST be followed:

  • The higher layer SHOULD provide an identifier that allows it to identify this instance of the client role from other instances of the client role that can also be maintained by the higher layer. The client role MUST store this identifier in the Higher-Layer-ID variable.

  • The higher layer SHOULD provide a list of supported authentication schemes, and the authentication schemes MUST be listed in order of preference with the most preferred authentication scheme appearing first in the list. The Authentication-Schemes variable MUST be set to the value of this list if it is provided by the higher layer. If the higher layer is unable to provide this information (for example, because authentication is not supported), the Authentication-Schemes variable MUST be set to an empty string.

  • The Client-State variable MUST be set to INIT.

  • The Client-Token variable MUST be set to "WMCacheProxy" if the higher layer specifies that the client is an intermediate device and has the full capability of a caching proxy server. If the higher layer specifies that the client is limited to a noncaching proxy server acting on behalf of one or more clients, the Client-Token variable MUST be set to "NSServer". Otherwise, Client-Token MUST be set to "NSPlayer".

  • The Client-Token-Version variable MUST be set to the client major and minor version number provided by the higher layer, according to the table specified in section 2.2.1.8.

  • The KeepAlive-Mode variable MUST be set to non-pipelined mode.

  • The Server-features variable MUST be set to specify support for com.microsoft.wm.predstrm (section 2.2.1.7.2), com.microsoft.wm.srvppair (section 2.2.1.7.3), and for com.microsoft.wm.sswitch (section 2.2.1.7.4).

  • The Pipeline-Test-Allowed variable remains uninitialized.

  • The Server-Version variable remains uninitialized.

  • If the Cookie-List variable already has a non-empty value, this value remains unchanged.

  • The Client-Initialization-Status variable MUST be set to 1.