Navigating Broadband Forum Data Models

Intrinsic to the operation of CWMP are the objects and parameters made available to an ACS by a CWMP endpoint. These maps of a CPE’s capabilities and state are referred to as “data models”.

This term is somewhat overloaded. The term “data model” refers to both the representation of the state of a CWMP endpoint, or its “instantiated data model”, and to the official, standardized set of objects and parameters defined by the Broadband Forum.

Let’s begin there. The data models defined by the Broadband Forum can be found on their website. This page lists all current and former data model versions.

A data model is versioned with its “Root” name, followed by major and minor revisions. The Root data model refers to the top level object that defines the entire data model. When TR-069 was first designed, it was made specifically for home routers, or “internet gateway devices”, so the original root was called “InternetGatewayDevice”. When CWMP was expanded to manage other devices, a new root object was made, called “Device”.

The current major version of the CWMP datamodel is “Device:2”. Device:2 is constantly being amended with new objects allowing an even greater number of devices and connection types to be modeled. Each amendment to the data model is shown in its minor version, for example, “Device:2.10”.

In addition to the Root data model are “Service” data models. These contain objects and parameters that extend the data model to provide some piece of service specific functionality, such as VoiceService, STB or Set Top Box Service, and StorageService. Like the root data model, these are also versioned, for example, VoiceService:2.0.

On the CWMP web page, you’ll see several files associated with each Data model version. The XML files contain the real, normative code used to describe a CPE’s objects and parameters. Each file is named for the Broadband Forum document that produced the standard; for Device:2, this is TR-181 Issue 2, so the files are named tr-181-2-x-y.xml, where x and y are the minor and corrigendum versions.

The basic file contains only the code necessary to generate the data model from the whole collection of amendment files, that is, it contains the changes published in that amendment. The file labeled “full” is a version that has been run through the CWMP data model tool, and contains the fully built version on the data model.

These are the files that CDRouter uses when performing its data model validation test metrics.

Finally, for those looking for a human-readable description of the data model objects and parameters, including their normative descriptions, the CWMP page also has two html documents that contain the “diffs” version of the data model, and the full data model, respectively.


Building or deploying TR-069?

Develop your solution even faster with the industry standard in automated, expert testing.

Learn more