Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
The ISO/IEC 29341-18-3 standard defines the UPnP AV Device Configuration v2 service, a specialized service for configuring UPnP Audio/Video devices at a granular level. While the Device Management service (29341-18-2) focuses on general device administration, this configuration service dives deeper into the specific settings that affect AV functionality: audio output parameters (volume curves, equalizer settings, surround sound configuration), video output parameters (resolution, aspect ratio, HDMI handshake), input source routing, and network streaming preferences.
Version 2 of the specification extends the basic configuration model with support for configuration profiles (named presets that can be saved and recalled), bulk configuration (setting multiple parameters atomically), parameter validation (range checking, dependency validation), and configuration locking (preventing conflicts when multiple control points attempt simultaneous changes). These enhancements make it suitable for both simple home entertainment setups and complex commercial AV installations with centralized management.
The service models device configuration as a hierarchical collection of configuration parameters, each with a name, data type, current value, default value, allowed values (range or enumeration), and access permissions (read-only, read-write, write-once). Parameters are organized into categories (AUDIO, VIDEO, NETWORK, INPUT, OUTPUT, SYSTEM), making it straightforward for control points to present structured configuration UIs to users. The v2 specification introduces dependent parameters, where changing one parameter automatically triggers validation of related parameters — for example, changing the speaker configuration (5.1 to 7.1) validates that the corresponding audio output assignments are still valid.
The v2 specification also introduces parameter groups — collections of parameters that must be applied together atomically. The SetConfigurationBulk action accepts a list of parameter-value pairs and applies them as a single atomic transaction: either all parameters are updated, or none are. This is essential for settings that have interdependencies, such as speaker size and crossover frequency — changing one without the other can result in invalid configurations.
| Parameter Category | Example Parameters | Data Type |
|---|---|---|
| AUDIO | VolumeCurve, EqualizerMode, SpeakerConfig, LipSyncDelay | string, int, enum |
| VIDEO | OutputResolution, AspectRatio, HDRMode, ColorDepth | enum, int |
| NETWORK | StreamingBufferSize, QoSProfile, MulticastTTL | int, enum |
| INPUT | InputSourceLabel, InputHDCPMode, AudioReturnChannel | string, enum |
| OUTPUT | ZoneVolume, ZoneBalance, ZoneEnabled | int, boolean |
| SYSTEM | DeviceName, AutoStandbyTimeout, Language | string, int, enum |
One of the most powerful features in v2 is the configuration profile system. A configuration profile is a named, saved set of parameter values that can be applied on demand. For example, a home theater system might have “Movie Night”, “Music Listening”, and “Game Mode” profiles, each with different audio processing settings, video modes, and input routing. The CreateProfile, ApplyProfile, DeleteProfile, and GetProfileList actions provide complete lifecycle management for these profiles.
The configuration locking mechanism addresses a common problem in multi-control-point environments: two users trying to change settings simultaneously. The v2 specification introduces a distributed lock model based on a ConfigurationLock state variable. A control point acquires the lock before making changes and releases it afterward. The lock includes a LockTimeout mechanism to prevent deadlocks from unresponsive control points. The ConfigurationLockOwner variable identifies which control point currently holds the lock.
From an engineering standpoint, the parameter validation system in the AV Device Configuration v2 service is particularly noteworthy. The GetParameterInfo action returns detailed constraint information for each parameter, including allowed values, range boundaries, step sizes, and interdependencies. This allows control points to render appropriate UI controls (sliders, dropdowns, checkboxes) without hardcoding knowledge of each parameter type. A control point can dynamically generate a complete configuration UI just by querying the device’s parameter info.
The service also defines a ConfigurationChanged evented variable that signals when any configuration parameter changes, whether initiated by a local user (via the device’s front panel), a remote control point, or an automated process (e.g., HDMI handshake changes resolution). The event payload includes the list of changed parameter paths, enabling control points to perform targeted UI updates rather than re-reading all parameters.
For commercial AV deployments, the v2 specification’s support for bulk provisioning is invaluable. Using the SetConfigurationBulk action with a ConfigurationProfileURI parameter, a management console can provision a device by pointing it to a remote profile file. This enables centralized management of large device fleets in digital signage, hospitality, and corporate AV environments.