Broadband Forum

    DATA MODEL DEFINITION


TR-157 Amendment 3 (changes)

Notice

The Broadband Forum is a non-profit corporation organized to create guidelines for broadband network system development and deployment. This Broadband Forum Document has been approved by members of the Forum. This Broadband Forum Document is not binding on the Broadband Forum, any of its members, or any developer or service provider. This Broadband Forum Document is subject to change, but only with approval of members of the Forum. This Document is copyrighted by the Broadband Forum, and all rights are reserved. Portions of this Document may be copyrighted by Broadband Forum members.

This Broadband Forum Document is provided AS IS, WITH ALL FAULTS. ANY PERSON HOLDING A COPYRIGHT IN THIS BROADBAND FORUM DOCUMENT, OR ANY PORTION THEREOF, DISCLAIMS TO THE FULLEST EXTENT PERMITTED BY LAW ANY REPRESENTATION OR WARRANTY, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY:

By using this Broadband Forum Document, users acknowledge that implementation may require licenses to patents. The Broadband Forum encourages but does not require its members to identify such patents. For a list of declarations made by Broadband Forum member companies, please see http://www.broadband-forum.org. No assurance is given that licenses to patents necessary to implement this Document will be available for license at all or on reasonable and non-discriminatory terms.

ANY PERSON HOLDING A COPYRIGHT IN THIS BROADBAND FORUM DOCUMENT, OR ANY PORTION THEREOF, DISCLAIMS TO THE FULLEST EXTENT PERMITTED BY LAW (A) ANY LIABILITY (INCLUDING DIRECT, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES UNDER ANY LEGAL THEORY) ARISING FROM OR RELATED TO THE USE OF OR RELIANCE UPON THIS DOCUMENT; AND (B) ANY OBLIGATION TO UPDATE OR CORRECT THIS DOCUMENT.

Broadband Forum Documents may be copied, downloaded, stored on a server or otherwise re-distributed in their entirety only, and may not be modified without the advance written permission of the Broadband Forum.

The text of this notice must be included in all copies of this Broadband Forum Document.

Summary

TR-157 Amendment 3

Table of Contents

Data Types

The parameters defined in this specification make use of a limited subset of the default SOAP data types [SOAP1.1]. The complete set of data types, along with the notation used to represent these types, is listed in [Section 3.2/TR-106a4]. The following named data types are used by this specification.

Data Type Base Type Description
IPAddress string IP address, i.e. IPv4 address (or IPv4 subnet mask) or IPv6 address.

All IPv4 addresses and subnet masks MUST be represented as strings in IPv4 dotted-decimal notation. Here are some examples of valid IPv4 address textual representations:

  • 216.52.29.100
  • 192.168.1.254

All IPv6 addresses MUST be represented using any of the 3 standard textual representations defined in [RFC4291] Sections 2.2.1, 2.2.2 and 2.2.3. Both lower-case and upper-case letters can be used, but use of lower-case letters is RECOMMENDED. Here are some examples of valid IPv6 address textual representations:

  • 1080:0:0:800:ba98:3210:11aa:12dd
  • 1080::800:ba98:3210:11aa:12dd
  • 0:0:0:0:0:0:13.1.68.3

IPv6 addresses MUST NOT include zone identifiers. Zone identifiers are discussed in [Section 6/RFC4007].

Unspecified or inapplicable addresses (or IPv4 subnet masks) MUST be represented as empty strings unless otherwise specified by the parameter definition.

IPPrefix string IPv4 or IPv6 routing prefix in Classless Inter-Domain Routing (CIDR) notation [RFC4632]. This is specified as an IP address followed by an appended "/n" suffix, where n (the prefix size) is an integer in the range 0-32 (for IPv4) or 0-128 (for IPv6) that indicates the number of (leftmost) '1' bits of the routing prefix.

IPv4 example: 192.168.1.0/24

IPv6 example: 2001:edff:fe6a:f76::/64

Unspecified or inapplicable IP prefixes MUST be represented as empty strings unless otherwise specified by the parameter definition.

IPv4Address IPAddress IPv4 address (or subnet mask).

Can be any IPv4 address that is permitted by the IPAddress data type.

IPv4Prefix IPPrefix IPv4 address prefix.

Can be any IPv4 prefix that is permitted by the IPPrefix data type.

IPv6Address IPAddress IPv6 address.

Can be any IPv6 address that is permitted by the IPAddress data type.

IPv6Prefix IPPrefix IPv6 address prefix.

Can be any IPv6 prefix that is permitted by the IPPrefix data type.

MACAddress string All MAC addresses are represented as strings of 12 hexadecimal digits (digits 0-9, letters A-F or a-f) displayed as six pairs of digits separated by colons. Unspecified or inapplicable MAC addresses MUST be represented as empty strings unless otherwise specified by the parameter definition.
StatsCounter32 unsignedInt A 32-bit statistics parameter, e.g. a byte counter.

This data type SHOULD NOT be used for statistics parameters whose values might become greater than the maximum value that can be represented as an unsignedInt. StatsCounter64 SHOULD be used for such parameters.

The actual value of the statistic might be greater than the maximum value that can be represented as an unsignedInt. Such values SHOULD wrap around through zero.

The term packet is to be interpreted as the transmission unit appropriate to the protocol layer in question, e.g. an IP packet or an Ethernet frame.

StatsCounter64 unsignedLong A 64-bit statistics parameter, e.g. a byte counter.

This data type SHOULD be used for all statistics parameters whose values might become greater than the maximum value that can be represented as an unsignedInt.

The term packet is to be interpreted as the transmission unit appropriate to the protocol layer in question, e.g. an IP packet or an Ethernet frame.

References

[ICSA-Baseline] ICSA Baseline Modular Firewall Certification Criteria, Baseline module - version 4.1, ICSA Labs, August 2008.
[ICSA-Residential] ICSA Residential Modular Firewall Certification Criteria, Required Services Security Policy - Residential Category module - version 4.1, ICSA Labs, August 2008.
[RFC4122] RFC 4122, A Universally Unique IDentifier (UUID) URN Namespace, IETF, July 2005.
[SOAP1.1] Simple Object Access Protocol (SOAP) 1.1, W3C.
[TR-069a3] TR-069 Amendment 3, CPE WAN Management Protocol, Broadband Forum, December 2010.
[TR-106a4] TR-106 Amendment 4, Data Model Template for TR-069 Enabled Devices, Broadband Forum, March 2010.
[TR-157a3] TR-157 Amendment 3, Componnent Objects for CWMP, Broadband Forum, December 2010.

Device:1.7 Data Model (changes)

For a given implementation of this data model, the CPE MUST indicate support for the highest version number of any object or parameter that it supports. For example, even if the CPE supports only a single parameter that was introduced in version 1.7, then it will indicate support for version 1.7. The version number associated with each object and parameter is shown in the Version column.

Name Type Write Description Object Default Version
Device. object - The top-level object for a Device. - 1.0
Device.DeviceInfo. object - This object contains general device information. - 1.0
EnabledOptions string­(1024) - This parameter is DEPRECATED because the "voucher mechanism", as defined in [Annex C/TR-069a3] is deprecated in favor of the "Software Module Management mechanism" as described in [Appendix II/TR-157a3].

Comma-separated list (maximum length 1024) of strings. The OptionName of each is identical to the OptionName element of the OptionStruct described in [TR-069a3]. Only those options are listed whose State indicates the option is enabled.

- 1.0
ProcessorNumberOfEntries unsignedInt - The number of entries in the Processor table. - 1.7
VendorLogFileNumberOfEntries unsignedInt - The number of entries in the VendorLogFile table. - 1.7
Device.DeviceInfo.TemperatureStatus. object - Status of the temperature of the device. - 1.3
Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}. object - This object represents information that the device has obtained via sampling an internal temperature sensor.

At most one entry in this table can exist with a given value for Name.

- 1.3
LowAlarmValue int­[-274:] W This temperature sensor's low alarm value in degrees celsius.

A value of -274 (which is below absolute zero) indicates a non configured value.

A change to this value will cause LowAlarmTime to be reset.

- 1.3
HighAlarmValue int­[-274:] W This temperature sensor's high alarm value in degrees celsius.

A value of -274 (which is below absolute zero) indicates a non configured value.

A change to this value will cause HighAlarmTime to be reset.

- 1.3
PollingInterval unsignedInt W The interval, measured in seconds, in which the device polls this TemperatureSensor.

If the value is 0 then the device selects its own polling interval.

If the value is greater than 0 then the device MUST use this value as the polling interval.

- 1.7
Device.DeviceInfo.Processor.{i}. object - Each table entry represents a hardware or virtual processor that resides on this device. - 1.7
Architecture string - The architecture of the processor on the underlying hardware. Enumeration of:

For processor architectures not included in this list, the vendor MAY include vendor-specific values, which MUST use the format defined in [Section 3.3/TR-106a4].

- 1.7
Device.DeviceInfo.VendorLogFile.{i}. object - Each table entry represents a Vendor Log File.

This table of log files is informational only and does not allow the ACS to operate on these files in any way.

At most one entry in this table can exist with a given value for Alias, or with a given value for Name.

- 1.7
Alias string­(64) W A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

An initial unique value MUST be assigned when the CPE creates an instance of this VendorLogFile.

- 1.7
Name string­(64) - Name of the log file.

Typically this will be the full file system path, but provided that it is guaranteed to be unique across current and future log files, it MAY be a shorter name derived from the file system path, or be derived via another mechanism.

- 1.7
MaximumSize unsignedInt - The maximum size of the log file in bytes. If the device doesn’t know the maximum file size then MaximumSize will be 0. - 1.7
Persistent boolean - When true, the log file contents are preserved across a device reboot.

When false, the log file contents will be purged when the device is rebooted.

- 1.7
Device.ManagementServer. object - This object contains parameters relating to the CPE's association with an ACS. - 1.0
Device.ManagementServer.DUStateChangeComplPolicy. object - This object allows configuration of CPE policy for notification of "12 AUTONOMOUS DU STATE CHANGE COMPLETE" events defined in [TR-069a3].

The CPE policy determines the conditions under which the CPE notifies the ACS of the completion of Deployment Unit state changes that were not specifically requested via CWMP.

- 1.7
Enable boolean W Enables/Disables CPE notification of "12 AUTONOMOUS DU STATE CHANGE COMPLETE" events to the ACS. - 1.7
OperationTypeFilter string W Comma-separated list of strings. Indicates the Deployment Unit operations that MUST be included when the CPE notifies the ACS of "12 AUTONOMOUS DU STATE CHANGE COMPLETE" events.

Operation types not indicated by this list MUST NOT be included when the CPE notifies the ACS. An empty string is essentially the same as setting Enable to false. Each list item is an enumeration of:

- 1.7
ResultTypeFilter string W Indicates the Deployment Unit state change results that MUST be included when the CPE notifies the ACS of "12 AUTONOMOUS DU STATE CHANGE COMPLETE" events. State change results omitted from this filter MUST NOT be included when the CPE notifies the ACS. Enumeration of:

  • Success (The autonomous state change completed successfully; i.e., the FaultCode was zero)
  • Failure (The autonomous state change did not complete successfully; i.e., the FaultCode was non-zero)
  • Both (All result types independent of Success or Failure)
- 1.7
FaultCodeFilter string W Comma-separated list of strings. Indicates the Deployment Unit state change fault codes that MUST be included when the CPE notifies the ACS of "12 AUTONOMOUS DU STATE CHANGE COMPLETE" events. State change fault codes omitted from this filter MUST NOT be included when the CPE notifies the ACS.

This filter has no effect on the notification of a successful autonomous state change. This filter only applies when ResultTypeFilter is set to either Failure or Both. An empty string means that failed autonomous state changes will not be sent to the ACS. Each list item is an enumeration of:

- 1.7
Device.NSLookupDiagnostics. object - This object defines access to an IP-layer NS Lookup test for the specified IP interface.

When initiated, the NS Lookup test will contact DNSServer and look up HostName NumberOfRepetitions times.

There will be a Result instance for each time the device performs a DNS lookup, which is determined by the value of NumberOfRepetitions.

Any previous Result instances are removed when a new test is initiated.

- 1.3
Device.NSLookupDiagnostics.Result.{i}. object - Results from the most recent invocation of the test, one instance per repetition. - 1.3
Status string - Result Parameter to represent whether the NS Lookup was successful or not.

Errors for individual Result instances do not get bubbled up to DiagnosticsState.

A failure on a specific attempt does not mean that the overall test failed, but a failure on all attempts means that DiagnosticsState SHOULD be Error_Other. Enumeration of:

- 1.3
Device.Firewall. object - Firewall configuration object. - 1.3
Config string W How this firewall is configured. Enumeration of:

  • High (The firewall implements the "Traffic Denied Inbound" and "Minimally Permit Common Services Outbound" components of the ICSA residential certification's Required Services Security Policy [ICSA-Residential]. If DoS and vulnerability protections are implemented [ICSA-Baseline], these are enabled)
  • Low (All Outbound traffic and pinhole-defined Inbound traffic is allowed. If DoS and vulnerability protections are implemented [ICSA-Baseline], these are enabled)
  • Off (All Inbound and Outbound traffic is allowed, and the CPE is only protected by NAT settings (if supported and enabled). If DoS and vulnerability protections are implemented [ICSA-Baseline], these are disabled)

Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in [Section 3.3/TR-106a2] MUST be adhered to.

- 1.3
Device.SoftwareModules. object - Top level object for dynamically managed software applications. - 1.7
ExecEnvNumberOfEntries unsignedInt - The number of entries in the ExecEnv table. - 1.7
DeploymentUnitNumberOfEntries unsignedInt - The number of entries in the DeploymentUnit table. - 1.7
ExecutionUnitNumberOfEntries unsignedInt - The number of entries in the ExecutionUnit table. - 1.7
Device.SoftwareModules.ExecEnv.{i}. object - The Execution Environments that are available on the device, along with their properties and configurable settings.

At most one entry in this table can exist with a given value for Alias, or with a given value for Name.

- 1.7
Enable boolean W Indicates whether or not this ExecEnv is enabled.

Disabling an enabled Execution Environment stops it, while enabling a disabled Execution Environment starts it.

When an Execution Environment is disabled, Deployment Units installed to that Execution Environment will be unaffected, but any Execution Units currently running on that Execution Environment will automatically transition to Idle.

If a ChangeDUState is attempted on a DeploymentUnit that is to be applied against a disabled ExecEnv, that ChangeDUState operation fails and the associated DUStateChangeComplete RPC will contain a FaultStruct for that operation.

If a SetParameterValues is attempted against the ExecutionUnit.{i}.RequestedState for an ExecutionUnit that is associated with a disabled ExecEnv a CWMP Fault will be issued in response.

Disabling an Execution Environment could place the device in a non-manageable state. For example, if the operating system itself was modeled as an ExecEnv and the ACS disabled it, the CWMP management agent might be terminated leaving the device unmanageable.

- 1.7
Status string - Indicates the status of this ExecEnv. Enumeration of:

- 1.7
Reset boolean W Setting this parameter to true causes this ExecEnv to revert back to the state it was in when the device last issued a "0 BOOTSTRAP" Inform event. The following requirements dictate what MUST happen for the reset to be complete:

  1. All Deployment Units that were installed after the last "0 BOOTSTRAP" Inform event MUST be removed
  2. All persistent storage, configuration files, and log files that were associated with the removed Deployment Units MUST be removed
  3. Any Deployment Unit that is still installed against the Execution Environment MUST be restored to the version present when the last "0 BOOTSTRAP" Inform event was issued
  4. Any Deployment Unit that was present when the last "0 BOOTSTRAP" Inform event was issued, but was subsequently uninstalled and is now not present, MUST be installed with the version that was present when the last "0 BOOTSTRAP" Inform event was issued
  5. The Execution Environment MUST be restored to the version and configuration present when the last "0 BOOTSTRAP" Inform event was issued
  6. The Execution Environment MUST be restarted after all other restoration requirements have been met

The value of this parameter is not part of the device configuration and is always false when read.

- 1.7
Alias string­(64) W A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

An initial unique value MUST be assigned when the CPE creates an instance of this ExecEnv.

- 1.7
Name string­(32) - A Name provided by the CPE that adequately distinguishes this ExecEnv from all other ExecEnv instances. - 1.7
Type string­(64) - Indicates the complete type and specification version of this ExecEnv. - 1.7
InitialRunLevel unsignedInt­[:65535] W The run level that this ExecEnv will be in upon startup (whether that is caused by a CPE Boot or the Execution Environment starting).

Run levels dictate which Execution Units will be started. Execution Units will be started if CurrentRunLevel is greater than or equal to ExecutionUnit.{i}.RunLevel and ExecutionUnit.{i}.AutoStart is true.

If the value of CurrentRunLevel is -1, then the value of this parameter is irrelevant when read and setting its value has no impact on the Run Level of this ExecEnv.

- 1.7
RequestedRunLevel int­[-1:65535] W Provides a mechanism to remotely manipulate the run level of this ExecEnv, meaning that altering this parameter's value will change the value of the CurrentRunLevel.

Run levels dictate which Execution Units will be started. Execution Units will be started if CurrentRunLevel is greater than or equal to ExecutionUnit.{i}.RunLevel and ExecutionUnit.{i}.AutoStart is true.

Setting this value when CurrentRunLevel is -1 has no impact to the Run Level of this ExecEnv.

The value of this parameter is not part of the device configuration and is always -1 when read.

- 1.7
CurrentRunLevel int­[-1:65535] - The run level that this ExecEnv is currently operating in. This value is altered by changing the RequestedRunLevel parameter.

Upon startup (whether that is caused by a CPE Boot or the Execution Environment starting) CurrentRunLevel will be equal to InitialRunLevel, unless Run Levels are not supported by this ExecEnv in which case CurrentRunLevel will be -1.

Run levels dictate which Execution Units will be started. Execution Units will be started if CurrentRunLevel is greater than or equal to ExecutionUnit.{i}.RunLevel and ExecutionUnit.{i}.AutoStart is true.

If CurrentRunLevel is -1 then Run Levels are not supported by this ExecEnv and setting InitialRunLevel or RequestedRunLevel will not impact the Run Level of this ExecEnv.

- 1.7
Vendor string­(128) - The vendor that produced this ExecEnv. - 1.7
Version string­(32) - The Version of this ExecEnv as specified by the Vendor that implemented this ExecEnv, not the version of the specification. - 1.7
ParentExecEnv string - The value MUST be the path name of a row in the ExecEnv table. If the referenced object is deleted, the parameter value MUST be set to an empty string. Represents the parent ExecEnv of this ExecEnv.

If this value is an empty string then this is the Primary Execution Environment.

- 1.7
AllocatedDiskSpace int­[-1:] - The amount of disk space measured in kilobytes allocated to this ExecEnv. A value of -1 MUST be used for ExecEnv instances where this parameter is not applicable. - 1.7
AvailableDiskSpace int­[-1:] - The amount of disk space measured in kilobytes currently available to this ExecEnv. This value changes as the ExecutionUnit instances associated with this ExecEnv consumes disk space. A value of -1 MUST be used for ExecEnv instances where this parameter is not applicable. - 1.7
AllocatedMemory int­[-1:] - The amount of physical RAM measured in kilobytes allocated to this ExecEnv. A value of -1 MUST be used for ExecEnv instances where this parameter is not applicable. - 1.7
AvailableMemory int­[-1:] - The amount of physical RAM measured in kilobytes currently available to this ExecEnv. This value changes as the ExecutionUnit instances associated with this ExecEnv are started/stopped and consume the physical RAM. A value of -1 MUST be used for ExecEnv instances where this parameter is not applicable. - 1.7
ActiveExecutionUnits string - Comma-separated list of strings. Each list item MUST be the path name of a row in the ExecutionUnit table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the ExecutionUnit instances currently running on this ExecEnv. This parameter only contains ExecutionUnit instances that currently have a ExecutionUnit.{i}.Status of Active. - 1.7
ProcessorRefList string - Comma-separated list of strings. Each list item MUST be the path name of a row in the DeviceInfo.Processor table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the processors that this ExecEnv has available to it. - 1.7
Device.SoftwareModules.DeploymentUnit.{i}. object - This table serves as the Deployment Unit inventory and contains status information about each Deployment Unit.

A new instance of this table gets created during the installation of a Software Module.

At most one entry in this table can exist with all the same values for UUID, Version and ExecutionEnvRef, or with a given value for Alias.

- 1.7
UUID string­(36) - A Universally Unique Identifier either provided by the ACS, or generated by the CPE, at the time of Deployment Unit Installation. The format of this value is defined by [RFC4122] Version 3 (Name-Based) and [Annex H/TR-069a3].

This value MUST NOT be altered when the DeploymentUnit is updated.

- 1.7
DUID string­(64) - Deployment Unit Identifier chosen by the targeted ExecEnv. The format of this value is Execution Environment specific. - 1.7
Alias string­(64) W A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

An initial unique value MUST be assigned when the CPE creates an instance of this DeploymentUnit.

- 1.7
Name string­(64) - Indicates the Name of this DeploymentUnit, which is chosen by the author of the Deployment Unit.

The value of this parameter is used in the generation of the UUID based on the rules defined in [Annex H/TR-069a3].

- 1.7
Status string - Indicates the status of this DeploymentUnit. Enumeration of:

  • Installing (This instance is in the process of being Installed and SHOULD transition to the Installed state)
  • Installed (This instance has been successfully Installed. The Resolved flag SHOULD also be referenced for dependency resolution)
  • Updating (This instance is in the process of being Updated and SHOULD transition to the Installed state)
  • Uninstalling (This instance is in the process of being Uninstalled and SHOULD transition to the Uninstalled state)
  • Uninstalled (This instance has been successfully Uninstalled. This status will typically not be seen within a DeploymentUnit instance)
- 1.7
Resolved boolean - Indicates whether or not this DeploymentUnit has resolved all of its dependencies. - 1.7
URL string­(1024) - Contains the URL used by the most recent ChangeDUState RPC to either Install or Update this DeploymentUnit. - 1.7
Description string­(256) - Textual description of this DeploymentUnit. The format of this value is Execution Environment specific. - 1.7
Vendor string­(128) - The author of this DeploymentUnit formatted as a domain name.

The value of this parameter is used in the generation of the UUID based on the rules defined in [Annex H/TR-069a3].

- 1.7
Version string­(32) - Version of this DeploymentUnit. The format of this value is Execution Environment specific. - 1.7
VendorLogList string - Comma-separated list of strings. Each list item MUST be the path name of a row in the DeviceInfo.VendorLogFile table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the vendor log files that have come into existence because of this DeploymentUnit. This does not include any vendor log files that have come into existence because of ExecutionUnit instances that are contained within this DeploymentUnit.

When this DeploymentUnit is uninstalled the vendor log files referenced here SHOULD be removed from the CPE.

Not all DeploymentUnit instances will actually have a corresponding vendor log file, in which case the value of this parameter will be an empty string.

- 1.7
VendorConfigList string - Comma-separated list of strings. Each list item MUST be the path name of a row in the DeviceInfo.VendorConfigFile table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the vendor config files that have come into existence because of this DeploymentUnit. This does not include any vendor config files that have come into existence because of ExecutionUnit instances that are contained within this DeploymentUnit.

When this DeploymentUnit is uninstalled the vendor config files referenced here SHOULD be removed from the CPE.

Not all DeploymentUnit instances will actually have a corresponding vendor config file, in which case the value of this parameter will be an empty string.

- 1.7
ExecutionUnitList string - Comma-separated list of strings. Each list item MUST be the path name of a row in the ExecutionUnit table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the ExecutionUnit instances that are associated with this DeploymentUnit instance. - 1.7
ExecutionEnvRef string - The value MUST be the path name of a row in the ExecEnv table. If the referenced object is deleted, the parameter value MUST be set to an empty string. Represents the ExecEnv instance where this DeploymentUnit instance is installed. - 1.7
Device.SoftwareModules.ExecutionUnit.{i}. object - This table serves as the Execution Unit inventory and contains both status information about each Execution Unit as well as configurable parameters for each Execution Unit.

Each DeploymentUnit that is installed can have zero or more Execution Units.

Once a Deployment Unit is installed it populates this table with its contained Execution Units.

When the Deployment Unit (that caused this ExecutionUnit to come into existence) is updated, this instance MAY be removed and new instances MAY come into existence. While the Deployment Unit (that caused this ExecutionUnit to come into existence) is being updated, all ExecutionUnit instances associated with the Deployment Unit will be stopped until the update is complete at which time they will be restored to the state that they were in before the update started.

When the Deployment Unit (that caused this ExecutionUnit to come into existence) is uninstalled, this instance is removed.

Each ExecutionUnit MAY also contain a set of vendor specific parameters displaying status and maintaining configuration that reside under the Extensions object.

At most one entry in this table can exist with a given value for EUID, or with a given value for Alias.

- 1.7
EUID string­(64) - Execution Unit Identifier chosen by the ExecEnv during installation of the associated DeploymentUnit.

The format of this value is Execution Environment specific, but it MUST be unique across ExecEnv instances. Thus, it is recommended that this be a combination of the ExecEnv.{i}.Name and an Execution Environment local unique value.

- 1.7
Alias string­(64) W A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

An initial unique value MUST be assigned when the CPE creates an instance of this ExecutionUnit.

- 1.7
Name string­(32) - The name of this ExecutionUnit as it pertains to its associated DeploymentUnit, which SHOULD be unique across all ExecutionUnit instances contained within its associated DeploymentUnit. - 1.7
ExecEnvLabel string­(64) - The name of this ExecutionUnit as provided by the ExecEnv, which SHOULD be unique across all ExecutionUnit instances contained within a specific ExecEnv. - 1.7
Status string - Indicates the status of this ExecutionUnit. Enumeration of:

  • Idle (This instance is in an Idle state and not running)
  • Starting (This instance is in the process of Starting and SHOULD transition to the Active state)
  • Active (This instance is currently running)
  • Stopping (This instance is in the process of Stopping and SHOULD transition to the Idle state)
- 1.7
RequestedState string W Indicates the state transition that the ACS is requesting for this ExecutionUnit. Enumeration of:

  • Idle (If this ExecutionUnit is currently in Starting or Active the CPE will attempt to Stop the Execution Unit; otherwise this requested state is ignored)
  • Active (If this ExecutionUnit is currently in Idle the CPE will attempt to Start the Execution Unit. If this ExecutionUnit is in Stopping the request is rejected and a fault raised. Otherwise this requested state is ignored)

If this ExecutionUnit is associated with an Execution Environment that is disabled and an attempt is made to alter this value, then a CWMP Fault MUST be generated.

The value of this parameter is not part of the device configuration and is always an empty string when read.

- 1.7
ExecutionFaultCode string - If while running or transitioning between states this ExecutionUnit identifies a fault this parameter embodies the problem. The value of NoFault MUST be used when everything is working as intended. Enumeration of:

For fault codes not included in this list, the vendor MAY include vendor-specific values, which MUST use the format defined in [Section 3.3/TR-106a4].

- 1.7
ExecutionFaultMessage string­(256) - If while running or transitioning between states this ExecutionUnit identifies a fault this parameter provides a more detailed explanation of the problem.

If ExecutionFaultCode has the value of NoFault then the value of this parameter MUST an empty string and ignored by the ACS.

- 1.7
AutoStart boolean W If true and the RunLevel verification is also met, then this ExecutionUnit will be automatically started by the device after its ExecEnv is either rebooted or restarted.

If false this ExecutionUnit will not be started after its ExecEnv is either rebooted or restarted until it is explicitly commanded to do so by either the ACS or another Execution Unit.

- 1.7
RunLevel unsignedInt­[:65535] W Determines when this ExecutionUnit will be started.

If AutoStart is true and ExecEnv.{i}.CurrentRunLevel is greater than or equal to RunLevel, then this ExecutionUnit will be started.

If the value of ExecEnv.{i}.CurrentRunLevel is -1, then the associated ExecEnv. doesn't support Run Levels, thus the value of this parameter is irrelevant when read and setting its value has no impact to the Run Level of this ExecutionUnit.

- 1.7
Vendor string­(128) - Vendor of this ExecutionUnit. - 1.7
Version string­(32) - Version of the ExecutionUnit. The format of this value is Execution Environment specific. - 1.7
Description string­(256) - Textual description of this ExecutionUnit. The format of this value is Execution Environment specific. - 1.7
DiskSpaceInUse int­[-1:] - The amount of disk space measured in kilobytes currently being used by this ExecutionUnit. A value of -1 MUST be used for ExecutionUnit instances where this parameter is not applicable. - 1.7
MemoryInUse int­[-1:] - The amount of physical RAM measured in kilobytes currently being used by this ExecutionUnit. A value of -1 MUST be used for ExecutionUnit instances where this parameter is not applicable. - 1.7
References string - Comma-separated list of strings. Each list item MUST be the path name of a table row. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the instances of multi-instanced objects that are directly controlled by, and have come into existence because of, this ExecutionUnit. See [Appendix II.3.2/TR-157a3] for more description and some examples.

NOTE: All other objects and parameters (i.e. not multi-instanced objects) that this ExecutionUnit has caused to come into existence can be discovered via the DeviceInfo.SupportedDataModel.{i}. table.

- 1.7
AssociatedProcessList string - Comma-separated list of strings. Each list item MUST be the path name of a row in the DeviceInfo.ProcessStatus.Process table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the system processes that are active in the system because of this ExecutionUnit.

If Status is not Active it is expected that this list will be an empty string. Some ExecutionUnit instances MIGHT NOT have any system processes irrespective of the value of Status.

- 1.7
VendorLogList string - Comma-separated list of strings. Each list item MUST be the path name of a row in the DeviceInfo.VendorLogFile table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the vendor log files that have come into existence because of this ExecutionUnit.

When the DeploymentUnit (that caused this ExecutionUnit to come into existence) is uninstalled the vendor log files referenced here SHOULD be removed from the CPE.

Not all ExecutionUnit instances will actually have a corresponding vendor log file, in which case the value of this parameter will be an empty string.

- 1.7
VendorConfigList string - Comma-separated list of strings. Each list item MUST be the path name of a row in the DeviceInfo.VendorConfigFile table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the vendor config files that have come into existence because of this ExecutionUnit.

When the DeploymentUnit (that caused this ExecutionUnit to come into existence) is uninstalled the vendor config files referenced here SHOULD be removed from the CPE.

Not all ExecutionUnit instances will actually have a corresponding vendor config file, in which case the value of this parameter will be an empty string.

- 1.7
SupportedDataModelList string - Comma-separated list of strings. Each list item MUST be the path name of a row in the DeviceInfo.SupportedDataModel table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the CWMP-DT schema instances that have been introduced to this device because of the existence of this ExecutionUnit. - 1.7
ExecutionEnvRef string - The value MUST be the path name of a row in the ExecEnv table. If the referenced object is deleted, the parameter value MUST be set to an empty string. Represents the ExecEnv that this ExecutionUnit is associated with. - 1.7
Device.SoftwareModules.ExecutionUnit.{i}.Extensions. object - This object proposes a general location for vendor extensions specific to this Execution Unit, which allows multiple Execution Units to expose parameters without the concern of conflicting parameter names. These vendor extensions are related to displaying status and maintaining configuration for this Execution Unit.

It is also possible for the Execution Unit to expose status and configuration parameters within Service objects or as embedded objects and parameters directly within the root data model, in which case the combination of References and SupportedDataModelList will be used to determine their locations.

See [Appendix II.3.2/TR-157a3] for more description and some examples.

- 1.7

Inform and Notification Requirements

Forced Inform Parameters

Parameter

Forced Active Notification Parameters

Parameter

Default Active Notification Parameters

Parameter
Device.SoftwareModules.ExecutionUnit.{i}.Status

Parameters for which Active Notification MAY be Denied

Parameter
Device.NSLookupDiagnostics.Result.{i}.
Status
Device.SoftwareModules.ExecEnv.{i}.
AvailableDiskSpace
AvailableMemory
ActiveExecutionUnits
Device.SoftwareModules.DeploymentUnit.{i}.
Status
Device.SoftwareModules.ExecutionUnit.{i}.
DiskSpaceInUse
MemoryInUse

Profile Definitions

Notation

The following abbreviations are used to specify profile requirements:

Abbreviation Description
R Read support is REQUIRED.
W Both Read and Write support is REQUIRED. This MUST NOT be specified for a parameter that is defined as read-only.
P The object is REQUIRED to be present.
C Creation and deletion of instances of the object via AddObject and DeleteObject is REQUIRED.
A Creation of instances of the object via AddObject is REQUIRED, but deletion is not REQUIRED.
D Deletion of instances of the object via DeleteObject is REQUIRED, but creation is not REQUIRED.

TempStatusAdv:2 Profile

The TempStatusAdv:2 profile for the Device:1 object is defined as the union of the TempStatusAdv:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:1.7.

Name Requirement
Device.­DeviceInfo.­TemperatureStatus.­TemperatureSensor.­{i}. P
PollingInterval W

Processors:1 Profile

This table defines the Processors:1 profile for the Device:1 object. The minimum REQUIRED version for this profile is Device:1.7.

Name Requirement
Device.­DeviceInfo.­Processor.­{i}. P
Architecture R

VendorLogFiles:1 Profile

This table defines the VendorLogFiles:1 profile for the Device:1 object. The minimum REQUIRED version for this profile is Device:1.7.

Name Requirement
Device.­DeviceInfo.­VendorLogFile.­{i}. P
Name R
MaximumSize R
Persistent R

DUStateChngComplPolicy:1 Profile

This table defines the DUStateChngComplPolicy:1 profile for the Device:1 object. The minimum REQUIRED version for this profile is Device:1.7.

Name Requirement
Device.­ManagementServer.­DUStateChangeComplPolicy. P
Enable W
OperationTypeFilter W
ResultTypeFilter W

SM_ExecEnvs:1 Profile

This table defines the SM_ExecEnvs:1 profile for the Device:1 object. The minimum REQUIRED version for this profile is Device:1.7.

Name Requirement
Device.­SoftwareModules. P
ExecEnvNumberOfEntries R
Device.­SoftwareModules.­ExecEnv.­{i}. P
Enable W
Status R
Name R
Type R
Vendor R
Version R
AllocatedDiskSpace R
AvailableDiskSpace R
AllocatedMemory R
AvailableMemory R
ActiveExecutionUnits R

SM_DeployAndExecUnits:1 Profile

This table defines the SM_DeployAndExecUnits:1 profile for the Device:1 object. The minimum REQUIRED version for this profile is Device:1.7.

Name Requirement
Device.­SoftwareModules. P
DeploymentUnitNumberOfEntries R
ExecutionUnitNumberOfEntries R
Device.­SoftwareModules.­DeploymentUnit.­{i}. P
UUID R
DUID R
Name R
Status R
Resolved R
URL R
Description R
Vendor R
Version R
VendorLogList R
VendorConfigList R
ExecutionUnitList R
ExecutionEnvRef R
Device.­SoftwareModules.­ExecutionUnit.­{i}. P
EUID R
Name R
ExecEnvLabel R
Status R
RequestedState W
ExecutionFaultCode R
ExecutionFaultMessage R
Vendor R
Version R
Description R
References R
AssociatedProcessList R
VendorLogList R
VendorConfigList R
SupportedDataModelList R
ExecutionEnvRef R
Device.­SoftwareModules.­ExecutionUnit.­{i}.­Extensions. P

SM_Baseline:1 Profile

This table defines the SM_Baseline:1 profile for the Device:1 object. The minimum REQUIRED version for this profile is Device:1.7.

Name Requirement
Device.­SoftwareModules. P
ExecEnvNumberOfEntries R
DeploymentUnitNumberOfEntries R
ExecutionUnitNumberOfEntries R
Device.­SoftwareModules.­ExecEnv.­{i}. P
Enable W
Status R
Name R
Type R
Vendor R
Version R
ActiveExecutionUnits R
Device.­SoftwareModules.­DeploymentUnit.­{i}. P
UUID R
DUID R
Name R
Status R
Resolved R
URL R
Vendor R
Version R
ExecutionUnitList R
ExecutionEnvRef R
Device.­SoftwareModules.­ExecutionUnit.­{i}. P
EUID R
Name R
ExecEnvLabel R
Status R
RequestedState W
ExecutionFaultCode R
ExecutionFaultMessage R
Vendor R
Version R
References R
SupportedDataModelList R
Device.­SoftwareModules.­ExecutionUnit.­{i}.­Extensions. P


Generated by Broadband Forum report.pl#175 (2010/10/11 version) on 2010/12/03 at 13:44:40.