3.2.3 Initialization

Initialization of the protocol occurs when a PushSetup request is received and the request did not specify a push-id cookie on the Cookie header or the value of the push-id cookie did not match the value of the Push-ID variable.

The variables defined by the abstract data model MUST initially assume their default values. Variables that do not have a default defined MUST be initialized as follows.

The value of the Push-ID variable SHOULD be assigned to a random alphanumerical string and MUST NOT exceed 255 characters in length. If the server allows multiple simultaneous streaming sessions, each instance of the protocol state MUST use a different value for the Push-ID variable. The Push-ID variable MUST NOT be set to the string "0".

The Idle-Timeout timer MUST be started.

If the Inactivity-Timer is already running during the initialization of the protocol, then its state MUST NOT be changed; otherwise, the inactivity timer MUST be stopped.