TR-069 Download RPC Flow

Overview

This page documents only the device-facing message exchange for a file download that has already been resolved by the backend. For how url, fileName, and link are resolved (the newest-firmware, select-from-list, and manual-URL cases), the isManual read heuristic, and the resetSession / targetLocation request fields, see File Download Resolution (url / link / fileName).

The diagram below shows one representative sequence: caller → Backend → ACS SOAP downloadFiles → CPE CWMP Download RPC → CPE response → ACS → Backend. The url value shown is whichever of the three resolution cases (newest firmware / backend-built / manual) was resolved upstream — the wire path to the device is identical in all three cases.

Message exchange

file-download-resolution-flow

Notes on the reset field

resetSession on the API maps to the reset boolean carried by the ACS WSDL’s download-related types (default false). The standard TR-069 CWMP Download RPC (BroadBand Forum TR-069) does not define a literal reset argument among its parameters (CommandKey, FileType, URL, Username, Password, FileSize, TargetFileName, DelaySeconds, SuccessURL, FailureURL). This flag is therefore represented here as an ACS-side session-reset behavior applied before/around the Download RPC call, not as a literal CWMP RPC argument name — do not assume the device sees a parameter called reset on the wire.

targetLocation — not forwarded

targetLocation stops at the backend/API boundary in this flow. The ACS SOAP interface / WSDL does not currently expose a corresponding field on downloadFiles, so no value derived from targetLocation reaches the CPE today. See File Download Resolution for the full field contract.