The Custom Integrator Show Installment 013 is live.  This Podcast finishes up our discussion of the core functionality of UPnP Technologies and takes us into the services within and Internet Gateway Device (IGD).  We discuss the differences between the common term “router” and the more appropriate term IGD, especially for the perspective of the UPnP services included within the device.  We refer to the diagrams of an IGD posted in the blog for Installment 012 previously (  We also talk a bit about testing the IGD’s configuration, especially when it comes to some of the new services available in Windows Home Server and Windows 7.


Direct DownloadSubscribe via RSSSubscribe via iTunesSubscribe with Zune

To summarize some of the associated terminology, I have decided to include a glossary of terms associated with UPnP Technologies.  These will come in handy if you decide to dig in deeper as part of understanding how the protocols interoperate between devices.  I encourage you to visit the UPnP Forum’s web site at  A really good document to check out is the UPnP Device Architecture at  You will notice that there are several updates to it.  There is a link for downloading all of the published documents as a single file at the top of the list (  That is the easiest way to get all of the specs at one time.  There is quite a list of DCPs for all of the services associated with an IGD at  It is interesting to note that most of them were ratified in 2001, and indicator of how long these technologies have been out in the industry.  Keep in mind, also, that there still is a lot of work being accomplished by the Working Committee on the IGD Version 2 specifications.






An action represents a command that a client issues to perform a specific function. It takes zero or more arguments.


An argument is a parameter to an action.


control point

A control point is a controller (such as an application) that retrieves device and service descriptions, sends actions to services, queries service state variables and receives events from services. Applications that allow a user to use or run a device, such as a CD player device, are considered control points.




A device is a container of other services or devices. A device may contain other logical devices.

device description

A device description is a list of the generic properties of all the devices in a physical device, including the services, the device’s hierarchy, and its properties.

device type

A standard device type is denoted by urn:schemas-upnp-org:device: followed by a unique name assigned by a UPnP forum working committee.

There is a one-to-one relationship between UPnP device templates and device types. UPnP vendors may specify additional device types; these are denoted by urn:domain-name:device: followed by a unique name assigned by the vendor, where domain-name is a domain name registered to the vendor.




An event is a notification of one or more changes in state variables exposed by a service.

evented variable

An evented variable is a state variable for a service that, when changed, triggers an event. Any control points that are subscribed to a variable’s event source then receives notification of the change. A non-evented state variable is never included in an event notification.



See state variable.


root device

A root device is the top-most device in a device tree. For example, if you are accessing a VCR/TV combination device called a viewing station, there are three devices: the viewing station, the VCR, and the TV. The viewing station is considered the root device.



A service is a logical functional unit. Services expose actions and model some or all of the states of a physical device using state variables.

service description

A service description is a list of the actions a service provides, and the state variables associated with the actions.

service object

A service object is the UPnP Control Point API representation of a service. A service object implements the IUPnPService interface.

service type

A service type is a URN that identifies a service. There is a one-to-one relationship between a UPnP service template and a service type. Several standard service types are defined by the UPnP Forum working committees. The service types are in the form urn:schemas-upnp-org:service:serviceType:version. For example, a scanner service type could be urn:schemas-upnp-org:service:scanner:1.

UPnP vendors may specify additional services. Such services are denoted by urn:domain-name:service:serviceType:version where domain-name is a domain name that is registered to the vendor.

state variable

A state variable is a piece of data that describes some part of a service’s state.



Stands for unique device name. A UDN uniquely identifies a device; it is based on the UUID (universal unique ID).


In our next installment, we start diving into the fun stuph – the A/V side of the UPnP Technologies, DLNA, and how devices communicate and handshake across the network.  Many integrators really do not need to know the underlying protocols at this level, but I firmly believe that, if you take the time to understand how it works, it makes configuration and troubleshooting a lot easier in the long run.



Leave a Reply