The Custom Integrator Show Installment 015 is Live. This time we dive into the major UPnP A/V services and how the protocols interoperate on the wire. We tie the individual UPnP Device Control Protocols (DCPs) to the roles defined in the DLNA specifications we discussed in the last installment and then try to make sense out of how a Digital Media Player “sees” the content on a Digital Media Server and starts it playing.
The material covered in this Podcast focuses on the UPnP A/V Device Control Protocol (DCP) specifications found at http://upnp.org/standardizeddcps/default.asp (Single Download File for UPnP™ Documents). I list this link again because it was updated very recently with the latest ratified DCPs. Conceptually, the following diagram depicts the most generalized scenario for a session based upon UPnP technologies.
There are quite a few communication protocols and services involved when finding content, establishing a connection for streaming, and invoking Play. It involves several UPnP services and DCPs (XML schemas). This process and the associated services also are the basis for the DLNA specifications and roles. The primary services we discuss in the Podcast are
- ContentDirectory Services (CDS)
If we look at the communications of “a three device model,” the primary components look something like
From a “protocol handshaking” perspective, the connection and playback process flows something like this (for the same “three device” scenario
Note that these are taken from the UPnP specifications and not the DLNA ones, but the concepts and implementations are almost the same. It actually becomes very complex when you look at breaking it into the individual “XML-based transfers” since every combination of each communication interchange has to be taken into account and defined as part of the related standard. It grows exponentially when looking at the different types of content and the associated attributes for each one. Additionally, the current version of most of the specifications is in its third iteration (MediaServer:3, MediaRenderer:3, ContentDirectory:3, etc.) with version 4 is in the works.
Hopefully, this series on UPnP technologies, how they fit into the Windows Media Center (and more specifically Windows 7 and Windows Home Server) ecosystem, and some of the complexities involved with making connections and playing back content provides some insight into what happens when you use a feature like Play To or even just sharing content throughout the home. Installment 016 concludes this section by looking at some of the future DCPs being addressed by the working committees within the UPnP Forum and how they may influence how Microsoft strategically might be approaching interoperability for all of the disparate devices in the home moving forward.