Skip to content

8.2 <mgmtCmd> and <execInstance> resource primitive mappings

8.2.1 Update (Execute) primitive for the <mgmtCmd> resource

8.2.1.0 Introduction

When the Update Request primitive for <mgmtCmd> resource addresses the execEnable attribute of the <mgmtCmd> resource, it effectively triggers an Execute <mgmtCmd> procedure.

The Hosting CSE performs command conversion of its <execInstance> sub-resources. The mapping between the <execInstance> attributes and the TR-069 [4] RPC procedures triggered is based on the value of the cmdType attribute of the <mgmtCmd> resource defined in Table 8.2.1.0-1. The CPE acceptance of the corresponding RPC procedures is indicated by returning a successful Response primitive to the initial Update Request.

The Fault Codes which may be returned by the CPE to the Hosting CSE are mapped onto execResult codes and stored in the corresponding <execInstance> attributes, and are detailed in the following clauses:

Table 8.2.1.0-1 Mapping of Execute <mgmtCmd> primitives to BBF TR-069 RPC

cmdType value BBF TR-069 RPCs
"DOWNLOAD" Download RPC (see clause 8.2.1.1) and TransferComplete RPC (clause 8.2.1.3)
"UPLOAD" Upload RPC (clause 8.2.1.2) and TransferComplete RPC (clause 8.2.1.3)
"SOFTWAREINSTALL" ChangeDUState RPC (clause 8.2.1.4) and ChangeDUStateComplete RPC (clause 8.2.1.5)
"SOFTWAREUNINSTALL" ChangeDUState RPC (clause 8.2.1.4) and ChangeDUStateComplete RPC (clause 8.2.1.5)
"REBOOT" Reboot RPC (clause 8.2.1.6)
"RESET" Factory reset RPC (clause 8.2.1.7)

8.2.1.1 Execute File Download

The download file transfer operation may use the Download mechanism defined in TR-069 [4]. The Download mechanism is an asynchronous command which returns a successful response or one of the following fault codes mapped onto execResult values as detailed in Table 8.2.1.1-1. A successful response to the Update primitive triggering the Execute procedure means that the CPE has accepted the Download RPC.

Table 8.2.1.1-1: Download Fault Code Mapping

Fault code Description execResult Code
9000 Method not supported STATUS_REQUEST_UNSUPPORTED
9001 Request denied (no reason specified) STATUS_REQUEST_DENIED
9002 Internal error STATUS_INTERNAL_ERROR
9003 Invalid arguments STATUS_INVALID_ARGUMENTS
9004 Resources exceeded (when used in association with SetParameterValues, this cannot be used to indicate Parameters in error). STATUS_RESOURCES_EXCEEDED
9010 File transfer failure (associated with Download, ScheduleDownload, TransferComplete or AutonomousTransferComplete methods). STATUS_FILE_TRANSFER_FAILED
9012 File transfer server authentication failure (associated with Upload, Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods, not associated with Scheduled Download method). STATUS_FILE_TRANSFER_SERVER_AUTHENTICATION_FAILURE
9013 Unsupported protocol for file transfer (associated with Upload, Download, ScheduleDownload, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_UNSUPPORTED_PROTOCOL

8.2.1.2 Execute File Upload Operations

The upload file transfer operation shall use the Upload mechanism defined in TR-069 [4]. The Upload mechanism is an asynchronous command that consists of the synchronous Upload RPC for the Upload and the asynchronous TransferComplete RPC. The Upload RPC returns a successful response or one of the following fault codes mapped onto execResult values as detailed in Table 8.2.1.2-1. A successful response to the Update primitive triggering the execute procedure means that the CPE has accepted the Upload RPC in Table 8.2.1.2-1.

Table 8.2.1.2-1: Upload Fault Code Mapping

Fault code Description execResult Code
9000 Method not supported STATUS_REQUEST_UNSUPPORTED
9001 Request denied (no reason specified) STATUS_REQUEST DENIED
9002 Internal error STATUS_INTERNAL_ERROR
9003 Invalid arguments STATUS_INVALID_ARGUMENTS
9004 Resources exceeded (when used in association with SetParameterValues, this cannot be used to indicate Parameters in error) STATUS_RESOURCES_EXCEEDED
9011 Upload failure (associated with Upload, TransferComplete or AutonomousTransferComplete methods). STATUS_UPLOAD_FAILED
9012 File transfer server authentication failure (associated with Upload, Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_SERVER_AUTHENTICATION_FAILURE
9013 Unsupported protocol for file transfer (associated with Upload, Download, ScheduleDownload, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_UNSUPPORTED_PROTOCOL

8.2.1.3 Report Results using TransferComplete RPC

After a File Download or Upload has been attempted, the result of the operation is reported using the TransferComplete RPC. The TransferComplete RPC indicates a successful operation or one of the following fault codes mapped onto execResult values in Table 8.2.1.3-2.

Table 8.2.1.3-2: TransferComplete Fault Code Mapping

Fault code Description execResult Code
9001 Request denied (no reason specified) STATUS_REQUEST DENIED
9002 Internal error STATUS_INTERNAL_ERROR
9010 File transfer failure (associated with Download, ScheduleDownload, TransferComplete or AutonomousTransferComplete methods). STATUS_FILE_TRANSFER_FAILED
9011 Upload failure (associated with Upload, TransferComplete or AutonomousTransferComplete methods). STATUS_UPLOAD_FAILED
9012 File transfer server authentication failure (associated with Upload, Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_SERVER_AUTHENTICATION_FAILURE
9014 File transfer failure: unable to join multicast group (associated with Download, TransferComplete or AutonomousTransferComplete methods). STATUS_FILE_TRANSFER_FAILED_MULTICAST_GROUP_UNABLE_JOIN
9015 File transfer failure: unable to contact file server (associated with Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_FAILED_SERVER_CONTACT_FAILED
9016 File transfer failure: unable to access file (associated with Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_FAILED_FILE_ACCESS_FAILED
9017 File transfer failure: unable to complete download (associated with Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_FAILED_DOWNLOAD_INCOMPLETE
9018 File transfer failure: file corrupted or otherwise unusable (associated with Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_FAILED_FILE_CORRUPTED
9019 File transfer failure: file authentication failure (associated with Download, TransferComplete or AutonomousTransferComplete methods). STATUS_FILE_TRANSFER_FILE_AUTHENTICATION_FAILURE
9020 File transfer failure: unable to complete download within specified time windows (associated with TransferComplete method). STATUS_FILE_TRANSFER_WINDOW_EXCEEDED

8.2.1.4 Execute Software Operations with ChangeDUState RPC

The software installation and uninstall operations shall use the ChangeDUState mechanism defined in TR-069 [4]. The ChangeDUState mechanism is an asynchronous command that consists of the synchronous ChangeDUState RPC and returns a successful response or one of the fault codes mapped onto execResult values as detailed in Table 8.2.1.4.-1. A successful response to the Update primitive triggering the Execute procedure means that the CPE has accepted the ChangeDUState RPC.

Table 8.2.1.4-1: ChangeDUState Fault Code Mapping

Fault code Description execResult Code
9000 Method not supported STATUS_REQUEST_UNSUPPORTED
9001 Request denied (no reason specified) STATUS_REQUEST DENIED
9002 Internal error STATUS_INTERNAL_ERROR
9004 Resources exceeded (when used in association with SetParameterValues, this cannot be used to indicate Parameters in error) STATUS_RESOURCES_EXCEEDED

8.2.1.5 Report Results with ChangeDUStateComplete RPC

After software installation and uninstall operations using a ChangeDUState mechanism as defined in TR-069 [4], the result of the state change operation is retrieved using the ChangeDUStateComplete RPC. The ChangeDUStateComplete RPC indicates a successful operation or one of the fault codes mapped onto execResult values as detailed in Table 8.2.1.5.-1.

Table 8.2.1.5-1: ChangeDUStateComplete Fault Code Mapping

Fault code Description execResult Code
9001 Request denied (no reason specified) STATUS_REQUEST_DENIED
9003 Invalid arguments STATUS_INVALID_ARGUMENTS
9012 File transfer server authentication failure (associated with Upload, Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_SERVER_AUTHENTICATION_FAILURE
9013 Unsupported protocol for file transfer (associated with Upload, Download, ScheduleDownload, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_UNSUPPORTED_PROTOCOL
9015 File transfer failure: unable to contact file server (associated with Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_FAILED_SERVER_CONTACT_FAILED
9016 File transfer failure: unable to access file (associated with Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_FAILED_FILE_ACCESS_FAILED
9017 File transfer failure: unable to complete download (associated with Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_FAILED_DOWNLOAD_INCOMPLETE
9018 File transfer failure: file corrupted or otherwise unusable (associated with Download, TransferComplete, AutonomousTransferComplete, DUStateChangeComplete, or AutonomousDUStateChangeComplete methods). STATUS_FILE_TRANSFER_FAILED_FILE_CORRUPTED
9022 Invalid UUID Format (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Install, Update, and Uninstall) STATUS_INVALID_UUID_FORMAT
9023 Unknown Execution Environment (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Install only) STATUS_UNKNOWN_EXECUTION_ENVIRONMENT
9024 Disabled Execution Environment (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Install, Update, and Uninstall) STATUS_DISABLED_EXECUTION_ENVIRONMENT
9025 Deployment Unit to Execution Environment Mismatch (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Install and Update) STATUS_EXECUTION_ENVIRONMENT_MISMATCH
9026 Duplicate Deployment Unit (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Install only) STATUS_DUPLICATE_DEPLOYMENT_UNIT
9027 System Resources Exceeded (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Install and Update) STATUS_SYSTEM_RESOURCES_EXCEEDED
9028 Unknown Deployment Unit (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Update and Uninstall) STATUS_UNKNOWN_DEPLOYMENT_UNIT
9029 Invalid Deployment Unit State (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Install, Update and Uninstall) STATUS_INVALID_DEPLOYMENT_UNIT_STATE
9030 Invalid Deployment Unit Update - Downgrade not permitted (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Update only) STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_DOWNGRADE_DISALLOWED
9031 Invalid Deployment Unit Update - Version not specified (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Update only) STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_UPGRADE_DISALLOWED
9032 Invalid Deployment Unit Update - Version already exists (associated with DUStateChangeComplete or AutonomousDUStateChangeComplete methods: Update only) STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_VERSION_EXISTS

8.2.1.6 Execute Reboot operation

The reboot operation shall use the Reboot RPC defined in TR-069 [4]. The Reboot RPC is a synchronous command. A successful response to the Update primitive triggering the Execute procedure means that the CPE has accepted the Reboot RPC. The Reboot RPC returns a successful response or one of the fault codes mapped onto execResult values as detailed in Table 8.2.1.6-1.

Table 8.2.1.6-1: Reboot Fault Code Mapping

Fault code Description execResult Code
9001 Request denied (no reason specified) STATUS_REQUEST_DENIED
9002 Internal error STATUS_INTERNAL_ERROR
9003 Invalid arguments STATUS_INVALID_ARGUMENTS

8.2.1.7 Execute Factory Reset operation

The factory reset operation shall use the FactoryReset RPC defined in TR-069 [4]. The FactoryReset RPC is a synchronous command. A successful response to the Update primitive triggering the Execute procedure means that the CPE has accepted the FactoryReset RPC. The FactoryReset RPC returns a successful response or one of the fault codes mapped onto execResult values as detailed in Table 8.2.1.7-1.

Table 8.2.1.7-1: FactoryReset Fault Code Mapping

Fault code Description execResult Code
9000 Method not supported STATUS_REQUEST_UNSUPPORTED
9001 Request denied (no reason specified) STATUS_REQUEST_DENIED
9002 Internal error STATUS_INTERNAL_ERROR
9003 Invalid arguments STATUS_INVALID_ARGUMENTS

8.2.2 Delete <mgmtCmd> resource primitive mapping

The Delete Request primitive for the <mgmtCmd> resource may initiate TR-069 [4] RPC commands for the corresponding <execInstance> sub-resources as follows:

  • If there are no <execInstance> sub-resources with RUNNING execStatus, a successful response to the Delete primitive is returned and the <mgmtCmd> resource is deleted without triggering any TR-069 [4] RPCs.
  • If there are <execInstance> sub-resources with RUNNING execStatus that resulted in cancellable TR-069 [4] RPCs (e.g. File Upload and File Download RPCs), a TR-069 [4] CancelTransfer RPC shall be initiated for each cancellable operation. Upon completion of all the cancellation operations, if any fault codes are returned by the CPE, an unsuccessful Response to the Delete primitive with status code "Delete mgmtCmd- execInstance cancellation error" is returned, and the <mgmtCmd> resource is not deleted. The execStatus attribute of each specific <execInstance> is set to CANCELLED and the execResult attribute is set to "STATUS_SUCCESS" for successful RPCs. For the unsuccessful case, execResult is determined from the RPC fault codes as detailed in Table 8.2.2-1. If all cancellation operations are successful on the managed entity, a successful Response to the Delete primitive is returned and the <mgmtCmd> resource is deleted.
  • If there is at least one <execInstance> sub-resource with RUNNING execStatus that resulted in non-cancellable TR-069 [4] RPCs (e.g. RPCs other than File Upload and File Download RPCs), the execStatus attribute of the specific <execInstance> is changed to STATUS_NON_CANCELLABLE. An unsuccessful Response to the Delete primitive with status code "Delete mgmtCmd- execInstance cancellation error" is returned and the <mgmtCmd> resource is not deleted.

Table 8.2.2-1: CancelTransfer Fault Code Mapping for Delete <mgmtCmd>

Fault code Description execResult Code
9000 Method not supported STATUS_REQUEST_UNSUPPORTED
9001 Request denied (no reason specified) STATUS_REQUEST DENIED
9021 Cancellation of file transfer not permitted in current transfer state STATUS_CANCELLATION_DENIED

8.2.3 Update (Cancel) <execInstance> primitive mapping

When the Update Request primitive for an <execInstance> sub-resource addresses the execDisable attribute of the <execInstance > sub-resource, it effectively triggers a Cancel <execInstance> resource procedure.

The hosting CSE determines whether the <execInstance> resource has a RUNNING execStatus and weather the resulting TR-069 [4] RPCs are cancellable. Currently, only the TR-069 File Upload and File Download RPCs are cancellable using the TR-069 [4] CancelTransfer RPC:

  • If the addressed <execInstance> sub-resource has an execStatus other than RUNNING, an un-successful Response to the Update primitive is returned with status code "Cancel execInstance - already complete".
  • If the addressed <execInstance> sub-resources has RUNNING execStatus and resulted in cancellable TR-069 [4] RPCs (e.g. File Upload and File Download RPCs), a BBF TR-069 [4] CancelTransfer RPC shall be initiated. For a successful CancelTransfer RPC the execStatus attribute of the specific <execInstance> is set to CANCELLED and a successful Response is sent to the Update primitive. For a successful CancelTransfer RPC the execStatus attribute of the specific <execInstance> is set to CANCELLED, the execResult attribute is set to "STATUS_SUCCESS" and a successful Response is sent to the Update primitive. For an unsuccessful CancelTransfer RPC the execResult attribute is determined from the RPC fault codes as detailed in Table 8.2.3-1 and an unsuccessful Response is sent to the Update primitive with status code "Cancel execInstance - cancellation error".
  • If the addressed <execInstance> sub-resources has RUNNING execStatus and resulted non-cancellable TR-069 [4] RPCs (e.g. RPCs other than File Upload and File Download RPCs), the execStatus attribute of the specific <execInstance> is changed to STATUS_NON_CANCELLABLE. An unsuccessful Response is sent to the Update primitive with status code "Cancel execInstance - not cancellable".

Table 8.2.3-1: CancelTransfer Fault Code Mapping for Update (Cancel) <execInstance>

Fault code Description execResult Code
9000 Method not supported STATUS_REQUEST_UNSUPPORTED
9001 Request denied (no reason specified) STATUS_REQUEST DENIED
9021 Cancellation of file transfer not permitted in current transfer state STATUS_CANCELLATION_DENIED

8.2.4 Delete <execInstance> primitive mapping

The Delete Request primitive for an <execInstance> sub-resource may initiate TR-069 [4] RPC commands for the corresponding <execInstance> sub-resources as follows:

  • If the addressed <execInstance> sub-resource has an execStatus other than RUNNING, an successful Response to the Delete primitive is returned and the <execInstance> sub-resource is deleted without triggering any TR-069 [4] RPCs.
  • If the addressed <execInstance> sub-resource has RUNNING execStatus and resulted in cancellable TR-069 [4] RPCs (e.g. File Upload and File Download RPCs), a BBF TR-069 [4] CancelTransfer RPC shall be initiated. For a successful CancelTransfer RPC a successful response is sent to the Delete primitive and the <execInstance> sub-resource is deleted. For an unsuccessful CancelTransfer RPC the execStatus attribute is determined from the RPC fault codes as detailed in Table 8.2.4-1 and an unsuccessful Response is sent to the Delete primitive with status code "Delete execInstance - cancellation failed".
  • If the addressed <execInstance> sub-resource has RUNNING execStatus and resulted non-cancellable TR-069 [4] RPCs (e.g. RPCs other than File Upload and File Download RPCs), the execResult attribute is set to STATUS_NON_CANCELLABLE and an unsuccessful Response is sent to the Update primitive with status code "Delete execInstance - not cancellable".

Table 8.2.4-1: CancelTransfer Fault Code Mapping for Delete <execInstance>

Fault code Description execResult Code
9000 Method not supported STATUS_REQUEST_UNSUPPORTED
9001 Request denied (no reason specified) STATUS_REQUEST DENIED
9021 Cancellation of file transfer not permitted in current transfer state STATUS_CANCELLATION_DENIED