3.2.4.1 Request to Browse the ContentDirectory Service

This event occurs when a higher layer attempts to obtain a list of content exposed by the DMS. It is a prerequisite for this event that the DMP MUST already have discovered the DMS, as specified in section 3.2.7.1, and that the value of the State variable MUST be either Server_Available or CDS_Available.

If the value of the Server-Offline variable is True and the value of the WoL-LastTime variable is 0, or if the value of the Server-Offline variable is True and the difference between the current time and the value of the WoL-LastTime variable is greater than 5 seconds, then the DMP SHOULD send a magic packet, as specified by the rules in section 2.2.5.

When creating a magic packet, the value of the Server-Link-Address variable MUST be used as the IEEE address in the payload of the UDP packet. The DMP SHOULD send the magic packet using the same IP version (IPv4 or IPv6) as used in the URL of the Device Description Document, which it can obtain from the Server-DDD-SDD variable. The UDP packet SHOULD be sent to the same port number as used in the URL of the Device Description Document.

If the DMP is sending a magic packet, then the WoL-LastTime variable MUST be set to the current time, as known by the DMP.

The DMP SHOULD determine if the UPnP ContentDirectory service on the DMS supports the search action, by examining the Service Description Document of the ContentDirectory service stored in the Server-DDD-SDD variable.

If the DMS supports the search action, then the search action SHOULD be used to search the DMS for music and video content, as well as pictures. If the DMS does not support the search action, then the DMP MUST use the Browse action instead.<3>

If the value of the Microsoft-CDS variable is True, then the DMP SHOULD search for playlist containers by invoking the Browse action and specifying "13" as the value for the ObjectID parameter.

If the value of the Microsoft-CDS variable is False, and the DMS supports the search action, then the DMP SHOULD invoke the search action when searching for playlist containers.

If the value of the Microsoft-CDS variable is False, and the DMS does not support the search action, then the DMP MUST use the Browse action when searching for playlist containers.

All UPnP Browse and search action invocations performed by the DMP, SHOULD include a User-Agent header as specified in section 2.2.4.1. The numerical value in the devicecaps token in the User-Agent header SHOULD be 1024.<4>

Processing for the response to the Browse and search actions is specified in section 3.2.5.1.