Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
The QoS Device service v3, defined in ISO/IEC 29341-8-15, is the central orchestrator of the UPnP QoS architecture. It provides the primary interface through which UPnP control points discover, configure, and manage QoS capabilities on a network device. Version 3 introduces enhanced traffic handling capabilities, improved interoperability with non-UPnP networks, and refined priority management mechanisms that address the limitations of earlier versions.
The service defines a comprehensive set of state variables and actions that enable fine-grained QoS control. Key state variables include QoSDeviceState, which indicates the operational status of the QoS subsystem, and TrafficClass mapping tables that define how UPnP priority levels are translated to Layer 2 and Layer 3 markings.
| Action | Purpose | Key Arguments |
|---|---|---|
| GetQoSDeviceInfo | Retrieve device QoS capabilities and version information | Returns QoSDeviceState, TrafficClasses, and supported features |
| SetTrafficClassMapping | Configure mapping between UPnP priority and network layer markings | TrafficClassID, DSCPValue, 802.1pPriority |
| GetTrafficClassMapping | Query current traffic class-to-priority mappings | TrafficClassID, returns current mapping parameters |
Implementing the QoS Device service v3 requires careful consideration of the underlying network stack. The service must bridge between the abstract UPnP QoS model and the concrete traffic control mechanisms of the host operating system — whether that is Linux tc (traffic control), Windows QoS, or a custom embedded solution.
One critical design decision is how to handle the TrafficClass mapping table. Version 3 allows dynamic reconfiguration of priority mappings, which gives network administrators flexibility but introduces the risk of inconsistent mappings across devices. A best practice is to implement a default mapping table based on the IEEE 802.1D-2004 priority specifications and allow overrides only through authenticated control points.
The service also manages QoS policy lifecycle — installation, activation, deactivation, and removal. Each policy must be validated against the device’s current capabilities before acceptance. Version 3 introduces a capability negotiation mechanism that allows a device to reject policies requiring features it does not support, returning a detailed error description.
An additional consideration in v3 deployments is multi-interface coordination. A residential gateway typically has at least two network interfaces — LAN and WAN. The QoS Device service must coordinate policy application across both interfaces to ensure consistent traffic treatment. For example, upstream QoS policies applied to WAN-bound traffic must account for the typically lower uplink bandwidth, while downstream policies applied to LAN-bound traffic must manage the asymmetry of broadband connections. Version 3 addresses this by allowing separate TrafficClass mapping tables per interface, enabling independent but coordinated QoS domains within a single device.
Version 3 introduces dynamic TrafficClass mapping, enhanced capability negotiation with detailed error reporting, improved interoperability with non-UPnP QoS domains (such as DiffServ and IEEE 802.1p), and refined state variable update mechanisms for better event synchronization.
The standard allows a device to expose multiple QoS Device service instances, each managing a separate network interface or QoS domain. This is common in multi-homed devices such as residential gateways with separate LAN and WAN interfaces.
The QoS Device service uses Traffic Descriptor instances (Part 8-16) to specify the flows to which QoS policies apply. When installing a policy, the control point provides a reference to a Traffic Descriptor that identifies the target traffic flow.
The device returns an error with a detailed cause code. The control point can then query the list of supported TrafficClasses via GetQoSDeviceInfo and select an appropriate alternative.