1 Introduction

CWMP

TR-069 [1] defines the generic requirements of the CPE WAN Management Protocol (CWMP) methods which can be applied to any CWMP Endpoint. It is intended to support a variety of different functionalities to manage a collection of CPE, including the following primary capabilities:

The ability to manage the home network remotely has a number of benefits including reducing the costs associated with activation and support of broadband services, improving time-to-market for new products and services, and improving the user experience.

The following figure places TR-069 in the end-to-end management architecture:

Figure 1: CWMP Positioning in the End-to-End Architecture

The ACS is a server that resides in the network and manages devices in the subscriber premises. It uses the methods, or RPCs, defined in TR-069 to get and set the state of the device, initiate diagnostic tests, download and upload files, and manage events. Some portions of this state are common across managed devices and some are relevant only to certain device types or services.

USP

The User Services Platform is made of a network of USP Controllers and USP Agents to allow applications to manipulate service elements (i.e. objects). It represents the evolution of CWMP into the following use cases:

An agent exposes service elements to one or more controllers, either directly or by proxy. An application could use a Controller to manage a provider controlled system, as in a CWMP ACS, or to act as a user portal in the cloud, on a gateway, or accessed through a smart phone. Agents and controllers can also be used in tandem to create a peer-to-peer network of smart applications, such as an automated smart home.

Figure 2: USP Architecture Overview

USP was designed in a modular manner, and can make use of the CWMP data model and data model schema in order to represent an evolution of CWMP into the world of consumer electronics, virtual services, and the Internet of Things. As such, this document describes how to use the data model schema in both the context of CWMP and USP.

Specification Structure

Figure 3 shows the overall specification structure for the CWMP [1] and USP [2] family of standards (as currently defined). Please note that this will gradually become out of date as new documents are published.

Figure 3: Specification Structure

TR-069 [1] defines the generic requirements of the CWMP methods which can be applied to any CWMP Endpoint. TR-369 [2] does the same for USP Agents. TR-106 (this document) specifies a baseline object structure to be supported by any CWMP Endpoint or USP Agent (referred to generically as an Agent). It specifies how to structure and define data models, which are collections of objects and parameters on which the generic methods act to configure, diagnose, and monitor the state of specific devices and services. The actual data models are defined in their own specifications.

For a particular type of device, it is expected that the baseline defined in a document such as TR-181i2 [3] would be augmented with additional objects and parameters specific to the device type. The data model used in any Agent MUST follow the guidelines described in this document. These guidelines include the following aspects:

In addition, this document defines two XML Schemas:

1.1 Terminology

The following terminology is used throughout this Technical Report.

ACS Auto-Configuration Server. This is a component in the broadband network responsible for CWMP auto-configuration of the CPE for advanced services.
Agent A generic term that refers (as appropriate) to either a CWMP Endpoint or to a USP Agent.
BBF The Broadband Forum.
Base Supported Data Model The Data Model that is supported by all CPE of a given make, model and firmware version. This refers to the Objects, Parameters, Commands and/or Events that have code support in the current firmware.
CPE Customer Premises Equipment; refers (as appropriate) to any CWMP-enabled [1] or USP-enabled [2] device and therefore covers both Internet Gateway devices and LAN-side end devices.
Command A named element allowing a USP Controller to execute an operation on a USP Agent. This concept does not apply to CWMP, which uses Objects and/or Parameters to simulate operations.
Component A named collection of Objects, Parameters, Commands, Events and/or Profiles that can be included anywhere within a Data Model.
Controller A generic term that refers (as appropriate) to either a CWMP ACS or a USP Controller.
Current Supported Data Model The Data Model that is currently supported by an individual CPE, i.e. the Base Supported Data Model plus any additional Objects, Parameters, Commands and/or Events supported by extra modules that have been installed on the CPE. This refers to the Objects, Parameters, Commands and/or Events that have code support in the CPE.
CWMP CPE WAN Management Protocol. Defined in TR-069 [1], CWMP is a communication protocol between an ACS and CWMP-enabled CPE that defines a mechanism for secure auto-configuration of a CPE and other CPE management functions in a common framework.
CWMP Endpoint A CWMP termination point used by a CWMP-enabled CPE for communication with the ACS.
Data Model A hierarchical set of Objects, Parameters, Commands and/or Events that define the managed Objects accessible via a particular Agent.
Device Used here as a synonym for CPE.
DM Instance Data Model Schema instance document. This is an XML document that conforms to the DM Schema and to any additional rules specified in or referenced by the DM Schema.
DM Schema Data Model Schema. This is the XML Schema [4] that is used for defining data models for use with CWMP and USP.
DT Instance Device Type Schema instance document. This is an XML document that conforms to the DT Schema and to any additional rules specified in or referenced by the DT Schema. This concept is useful for both CWMP and USP as an offline design tool, but only CWMP uses it at run-time (via the SupportedDataModel Object; see Section 2.1.2).
DT Schema Device Type Schema. This is the XML Schema [4] that is used for describing a Device’s Supported Data Model. This concept is useful for both CWMP and USP as an offline design tool, but only CWMP uses it at run-time (via the SupportedDataModel Object; see Section 2.1.2).
Event An indication that something of interest has happened that requires the Agent to notify the Controller.
Instantiated Data Model The Data Model that currently exists on an individual CPE. This refers to the Object instances, Parameters, Commands and/or Events that currently exist within the data model. It can be thought of as the Current Supported Data Model with all the “{i}” placeholders expanded to be the actual Instance Numbers. For example, “Device.Services.ABCService.{i}.” in the Current Supported Data Model might correspond to “Device.Services.ABCService.1.” and “Device.Services.ABCService.2.” in the Instantiated Data Model.
Instance Alias A writeable string that uniquely identifies an instance within a Multi-Instance Object
Instance Identifier A value that uniquely identifies an instance within a Multi-Instance Object. It is either an Instance Number or an Instance Alias.
Instance Number A read-only positive integer (>=1) that uniquely identifies an instance within a Multi-Instance Object.
Mountable Object An Object that is defined in a DM Instance as a direct child of the Root Object, but that can also exist as a child of a Mount Point in the Instantiated Data Model of a USP Agent. This concept does not apply to CWMP.
Mount Point An Object that is defined in a DM Instance as being able to have Mountable Objects as children in the Instantiated Data Model of a USP Agent. By extension, one of the instances of that object in the Instantiated Data Model. This concept does not apply to CWMP.
Multi-Instance Object An Object that can have multiple instances, all of which are located at the same level within the name hierarchy. Each instance is identified by an Instance Identifier.
Object An internal node in the name hierarchy, i.e., a node that can have Object, Parameter, Command and/or Event children. An Object name is a Path Name.
Parameter A name-value pair that represents part of a CPE or USP Agent’s configuration or status. A Parameter name is a Path Name.
Path Name A name that has a hierarchical structure similar to files in a directory, with each level separated by a “.” (dot). References an Object, Parameter, Command or Event.
Profile A named collection of requirements relating to a given Root Object, Service Object or Component.
RPC Remote Procedure Call.
Root Object The top-level Object of a CPE’s Data Model that contains all of the manageable Objects. The name of the Root Object is “Device.”.
Service Element A Service Element represents a piece of service functionality that is exposed by an Agent, usually represented by one or more Objects.
Service Object The top-most Object associated with a specific service within which all Objects, Parameters, Commands and Events associated with the service are contained.
Supported Data Model Refers to either Base Supported Data Model or Current Supported Data Model, depending on the context.
URI Uniform Resource Identifier.
URL Uniform Resource Locator.
USP Universal Service Platform. Defined in TR-369, USP is an evolution of CWMP that allows applications to manipulate Service Elements in a network of Controllers and Agents.
USP Agent A USP Agent is a USP Endpoint that exposes Service Elements to one or more USP Controllers.
USP Controller A USP Controller is a USP Endpoint that manipulates Service Elements through one or more USP Agents.
USP Endpoint A USP Endpoint is a termination point for a USP message.

1.2 Document Conventions

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [5].