3.1.5.15 Receiving an Announce Request
The client MUST validate that the request adheres to the syntax as specified in section 2.2.7.1. If the Announce request does not adhere to the syntax specified in section 2.2.7.1, then the server MUST NOT process any of the headers in the request and SHOULD specify status code 400 in the response to the Announce request.
The client MUST process Supported header, if present <28>. Each feature token on the header MUST be added to the Server-features variable in the abstract data model. If the header is present, any feature token not listed on the header MUST be removed from the Server-features variable.
The client MUST process the X-Playlist-Gen-Id (section 2.2.6.22) header, if present. If it is present, the Playlist-gen-id variable in the abstract data model MUST be set to the numerical value specified on that header.
The client MUST extract the ASF file header from the SDP (section 2.2.5.2.3.1), and SHOULD make it available to the higher layer. If the SDP contains a content description list (section 2.2.5.2.3.2), it SHOULD also be made available to the higher layer.
The client MUST send a response to the Announce request.
If the X-RTP-Info header is present in the request, it indicates the streams that the server has selected for the playlist entry described by the SDP. The client needs to remember this because it will need this information once it is ready to select the streams for this playlist entry that it wants to receive. For details, see section 3.1.4.5.
If the value of the State variable is PLAYING, the client MUST be prepared to receive RTP packets from any of the streams listed on the X-RTP-Info header. How to process RTP packets is specified in section 3.1.5.12.
The client MUST also be prepared to receive a higher-layer triggered event. The next higher-layer triggered event is a request to select the streams from the new playlist entry, as specified in section 3.1.4.5.