`
` TECHNICAL REPORT
`
`
`
`
`
`
`
`
`
`
`TR-069
`CPE WAN Management Protocol v1.1
`
`
`
`
`Version: Issue 1 Amendment 2
`Version Date: December 2007
`
`© 2007 The Broadband Forum. All rights reserved.
`
`Exhibit 1010
`IPR2023-00581
`U.S. Patent 8,886,772
`
`Page 1 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`Notice
`
`The Broadband Forum is a non-profit corporation organized to create guidelines for broadband network
`system development and deployment. This Technical Report has been approved by members of the Forum.
`This document is not binding on the Broadband Forum, any of its members, or any developer or service
`provider. This document is subject to change, but only with approval of members of the Forum.
`
`This document is provided "as is," with all faults. Any person holding a copyright in this 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,
`(a) any warranty of merchantability, fitness for a particular purpose, non-infringement, or title;
`(b) any warranty that the contents of the document are suitable for any purpose, even if that purpose is
`known to the copyright holder;
`(c) any warranty that the implementation of the contents of the documentation will not infringe any third
`party patents, copyrights, trademarks or other rights.
`
`This publication may incorporate intellectual property. The Broadband Forum encourages but does not
`require declaration of such intellectual property. For a list of declarations made by Broadband Forum
`member companies, please see www.broadband-forum.org.
`
`December 2007
`
`© The Broadband Forum. All rights reserved.
`
`2
`
`Page 2 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`Version History
`
`
`Version Date
`
`Version Editor
`
`Version
`Number
`Issue 1
`
`Issue 1
`Amendment 1
`
`May 2004
`
`November 2006
`
`Jeff Bernstein, 2Wire
`Tim Spets, Westell
`Jeff Bernstein, 2Wire
`John Blackford, 2Wire
`Mike Digdon, SupportSoft
`Heather Kirksey, Motive
`William Lupton, 2Wire
`Anton Okmianski, Cisco
`William Lupton, 2Wire
`Davide Moreo, Telecom Italia
`
`Issue 1
`Amendment 2
`
`November 2007
`
`Changes
`
`Issue 1
`
`Clarification of original document
`
`CWMP v1.1: Multicast Download
`support, 10 AUTONOMOUS
`TRANSFER COMPLETE event,
`AutonomousTransferComplete method,
`additional Download fault codes,
`interoperability clarifications, minor
`editorial changes.
`
`
`Technical comments or questions about this document should be directed to:
`
`Editors
`
`William Lupton
`John Blackford
`Mike Digdon
`Tim Spets
`
`Greg Bathrick
`Heather Kirksey
`
`2Wire
`2Wire
`SupportSoft
`Westell
`
`PMC-Sierra
`Motive
`
`wlupton@2wire.com
`jblackford@2wire.com
`mike.digdon@supportsoft.com
`tspets@westell.com
`
`Greg_Bathrick@pmc-sierra.com
`hkirksey@motive.com
`
`
`BroadbandHome™
`Technical Working
`Group
`Chairs
`
`
`December 2007
`
`© The Broadband Forum. All rights reserved.
`
`3
`
`Page 3 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`2
`
`3
`
`Contents
`1
`Introduction ............................................................................................................................................. 8
`1.1
`Functional Components .............................................................................................................. 8
`1.1.1
`Auto-Configuration and Dynamic Service Provisioning................................................. 8
`1.1.2
`Software/Firmware Image Management ....................................................................... 8
`1.1.3
`Status and Performance Monitoring.............................................................................. 9
`1.1.4
`Diagnostics ................................................................................................................... 9
`1.1.5
`Identity Management for Web Applications................................................................... 9
`Positioning in the End-to-End Architecture.................................................................................. 9
`1.2
`Security Goals ........................................................................................................................... 10
`1.3
`Architectural Goals .................................................................................................................... 10
`1.4
`Assumptions.............................................................................................................................. 11
`1.5
`Terminology............................................................................................................................... 11
`1.6
`Document Conventions ............................................................................................................. 12
`1.7
`Architecture........................................................................................................................................... 12
`2.1
`Protocol Components................................................................................................................ 12
`2.2
`Security Mechanisms ................................................................................................................ 13
`2.3
`Architectural Components ......................................................................................................... 13
`2.3.1
`Parameters ................................................................................................................. 13
`2.3.2
`File Transfers .............................................................................................................. 14
`2.3.3
`CPE Initiated Sessions................................................................................................ 14
`2.3.4
`Asynchronous ACS Initiated Sessions ........................................................................ 15
`Procedures and Requirements ............................................................................................................. 15
`3.1
`ACS Discovery .......................................................................................................................... 15
`3.2
`Connection Establishment......................................................................................................... 17
`3.2.1
`CPE Connection Initiation ........................................................................................... 17
`3.2.2
`ACS Connection Initiation ........................................................................................... 18
`Use of SSL/TLS and TCP.......................................................................................................... 20
`Use of HTTP.............................................................................................................................. 21
`3.4.1
`Encoding SOAP over HTTP........................................................................................ 21
`3.4.2
`Transaction Sessions.................................................................................................. 22
`3.4.3
`File Transfers .............................................................................................................. 23
`3.4.4
`Authentication ............................................................................................................. 24
`3.4.5
`Digest Authentication .................................................................................................. 24
`3.4.6
`Additional HTTP Requirements................................................................................... 25
`Use of SOAP ............................................................................................................................. 25
`RPC Support Requirements ...................................................................................................... 30
`Transaction Session Procedures............................................................................................... 30
`3.7.1
`CPE Operation............................................................................................................ 31
`3.7.2
`ACS Operation............................................................................................................ 37
`3.7.3
`Transaction Examples................................................................................................. 40
`Normative References .................................................................................................................................. 42
`Annex A. RPC Methods ......................................................................................................................... 44
`A.1 Introduction ........................................................................................................................................... 44
`A.2 RPC Method Usage .............................................................................................................................. 44
`A.2.1 Data Types ................................................................................................................................ 44
`A.2.2 Other Requirements .................................................................................................................. 45
`A.3 Baseline RPC Messages ...................................................................................................................... 45
`A.3.1 Generic Methods ....................................................................................................................... 45
`A.3.1.1 GetRPCMethods......................................................................................................... 45
`A.3.2 CPE Methods ............................................................................................................................ 46
`A.3.2.1 SetParameterValues ................................................................................................... 47
`A.3.2.2 GetParameterValues................................................................................................... 48
`A.3.2.3 GetParameterNames .................................................................................................. 49
`A.3.2.4 SetParameterAttributes............................................................................................... 51
`A.3.2.5 GetParameterAttributes .............................................................................................. 55
`A.3.2.6 AddObject ................................................................................................................... 56
`
`3.3
`3.4
`
`3.5
`3.6
`3.7
`
`December 2007
`
`© The Broadband Forum. All rights reserved.
`
`4
`
`Page 4 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`A.3.2.7 DeleteObject ............................................................................................................... 58
`A.3.2.8 Download .................................................................................................................... 59
`A.3.2.9 Reboot ........................................................................................................................ 63
`A.3.3 ACS Methods ............................................................................................................................ 64
`A.3.3.1
`Inform.......................................................................................................................... 64
`A.3.3.2 TransferComplete ....................................................................................................... 66
`A.3.3.3 AutonomousTransferComplete ................................................................................... 67
`A.4 Optional RPC Messages....................................................................................................................... 68
`A.4.1 CPE Methods ............................................................................................................................ 68
`A.4.1.1 GetQueuedTransfers .................................................................................................. 68
`A.4.1.2 ScheduleInform........................................................................................................... 69
`A.4.1.3 SetVouchers ............................................................................................................... 69
`A.4.1.4 GetOptions.................................................................................................................. 70
`A.4.1.5 Upload......................................................................................................................... 71
`A.4.1.6 FactoryReset............................................................................................................... 73
`A.4.1.7 GetAllQueuedTransfers .............................................................................................. 73
`A.4.2 ACS Methods ............................................................................................................................ 74
`A.4.2.1 Kicked ......................................................................................................................... 74
`A.4.2.2 RequestDownload....................................................................................................... 75
`A.5 Fault Handling....................................................................................................................................... 75
`A.5.1 CPE Fault Codes....................................................................................................................... 75
`A.5.2 ACS Fault Codes....................................................................................................................... 76
`A.6 RPC Method XML Schema ................................................................................................................... 77
`Annex B. Removed .............................................................................................................................. 101
`Annex C.
`Signed Vouchers ................................................................................................................. 102
`C.1 Overview ............................................................................................................................................. 102
`C.2 Control of Options Using Vouchers..................................................................................................... 102
`C.3 Voucher Definition............................................................................................................................... 102
`Annex D. Web Identity Management .................................................................................................. 107
`D.1 Overview ............................................................................................................................................. 107
`D.2 Use of the Kicked RPC Method .......................................................................................................... 107
`D.3 Web Identity Management Procedures ............................................................................................... 107
`D.4 LAN Side Interface.............................................................................................................................. 108
`Annex E.
`Signed Package Format...................................................................................................... 110
`E.1 Introduction ......................................................................................................................................... 110
`E.2 Signed Package Format Structure ...................................................................................................... 110
`E.2.1 Encoding Conventions ............................................................................................................ 111
`E.3 Header Format.................................................................................................................................... 111
`E.4 Command List Format......................................................................................................................... 111
`E.4.1 Command Types ..................................................................................................................... 111
`E.4.2 End Command ........................................................................................................................ 112
`E.4.3 Extract and Add Commands.................................................................................................... 113
`E.4.4 Remove Commands................................................................................................................ 113
`E.4.5 Move Commands .................................................................................................................... 114
`E.4.6 Version and Description Commands ....................................................................................... 115
`E.4.7 Timeout Commands ................................................................................................................ 115
`E.4.8 Reboot Command ................................................................................................................... 117
`E.4.9 Format File System ................................................................................................................. 117
`E.4.10 Minimum and Maximum Version Commands .......................................................................... 117
`E.4.11 Role Command ....................................................................................................................... 118
`E.4.12 Minimum Storage Commands ................................................................................................. 118
`
`December 2007
`
`© The Broadband Forum. All rights reserved.
`
`5
`
`Page 5 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`E.4.13 Required Attributes Command ................................................................................................ 119
`E.5 Signatures........................................................................................................................................... 119
`Annex F.
`Device-Gateway Association.............................................................................................. 121
`F.1 Introduction ......................................................................................................................................... 121
`F.1.1 Terminology............................................................................................................................. 121
`F.2 Procedures.......................................................................................................................................... 121
`F.2.1 Gateway Requirements........................................................................................................... 122
`F.2.2 Device Requirements .............................................................................................................. 122
`F.2.3 ACS Requirements.................................................................................................................. 123
`F.2.4 Device-Gateway Association Flows ........................................................................................ 124
`F.2.5 DHCP Vendor Options ............................................................................................................ 125
`F.3 Security Considerations ...................................................................................................................... 126
`Annex G. Connection Request via NAT Gateway.............................................................................. 127
`G.1 Introduction ......................................................................................................................................... 127
`G.2 Procedures.......................................................................................................................................... 127
`G.2.1 CPE Requirements.................................................................................................................. 128
`G.2.1.1 Binding Discovery ..................................................................................................... 128
`G.2.1.2 Maintaining the Binding............................................................................................. 129
`G.2.1.3 Communication of the Binding Information to the ACS ............................................. 130
`G.2.1.4 UDP Connection Requests ....................................................................................... 132
`G.2.2 ACS Requirements.................................................................................................................. 133
`G.2.2.1 STUN Server Requirements ..................................................................................... 133
`G.2.2.2 Determination of the Binding Information .................................................................. 133
`G.2.2.3 UDP Connection Requests ....................................................................................... 134
`G.2.3 Message Flows ....................................................................................................................... 135
`G.3 Security Considerations ...................................................................................................................... 138
`
`
`December 2007
`
`© The Broadband Forum. All rights reserved.
`
`6
`
`Page 6 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`Summary:
`A protocol for communication between a CPE and Auto-Configuration Server (ACS) that
`encompasses secure auto-configuration as well as other CPE management functions
`within a common framework.
`
`
`December 2007
`
`© The Broadband Forum. All rights reserved.
`
`7
`
`Page 7 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`1
`
`Introduction
`Note – sections 1 and 2 of this document are introductory and do not define requirements of this
`protocol.
`This document describes the CPE WAN Management Protocol, intended for communication between a
`CPE and Auto-Configuration Server (ACS). The CPE WAN Management Protocol defines a mechanism
`that encompasses secure auto-configuration of a CPE, and also incorporates other CPE management
`functions into a common framework.
`This document specifies the generic requirements of the management protocol methods which can be
`applied to any TR-069 CPE. Other documents specify the managed objects, or data models, for specific
`types of devices or services.
`
`1.1 Functional Components
`The CPE WAN Management Protocol is intended to support a variety of functionalities to manage a
`collection of CPE, including the following primary capabilities:
`• Auto-configuration and dynamic service provisioning
`• Software/firmware image management
`• Status and performance monitoring
`• Diagnostics
`
`1.1.1 Auto-Configuration and Dynamic Service Provisioning
`The CPE WAN Management Protocol allows an ACS to provision a CPE or collection of CPE based on a
`variety of criteria.
`The provisioning mechanism allows CPE provisioning at the time of initial connection to the broadband
`access network, and the ability to re-provision or re-configure at any subsequent time. This includes
`support for asynchronous ACS-initiated re-provisioning of a CPE.
`The identification mechanisms included in the protocol allow CPE provisioning based either on the
`requirements of each specific CPE, or on collective criteria such as the CPE vendor, model, software
`version, or other criteria.
`The protocol also provides optional tools to manage the CPE-specific components of optional applications
`or services for which an additional level of security is required to control, such as those involving
`payments. The mechanism for control of such Options using digitally signed Vouchers is defined in Annex
`C.
`The provisioning mechanism allows straightforward future extension to allow provisioning of services and
`capabilities not yet included in this version of the specifications.
`
`1.1.2 Software/Firmware Image Management
`The CPE WAN Management Protocol provides tools to manage downloading of CPE software/firmware
`image files. The protocol provides mechanisms for version identification, file download initiation (ACS
`initiated downloads and optional CPE initiated downloads), and notification of the ACS of the success or
`failure of a file download.
`The CPE WAN Management Protocol also defines a digitally signed file format that may optionally be
`used to download either individual files or a package of files along with explicit installation instructions for
`the CPE to perform. This signed package format ensures the integrity of downloaded files and the
`associated installation instructions, allowing authentication of a file source that may be a party other than
`the ACS operator.
`
`December 2007
`
`© The Broadband Forum. All rights reserved.
`
`8
`
`Page 8 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`1.1.3 Status and Performance Monitoring
`The CPE WAN Management Protocol provides support for a CPE to make available information that the
`ACS may use to monitor the CPE’s status and performance statistics. It also defines a set of mechanisms
`that allow the CPE to actively notify the ACS of changes to its state.
`
`1.1.4 Diagnostics
`The CPE WAN Management Protocol provides support for a CPE to make available information that the
`ACS may use to diagnose and resolve connectivity or service issues as well as the ability to execute defined
`diagnostic tests.
`
`1.1.5
`
`Identity Management for Web Applications
`To support web-based applications for access from a browser within the CPE’s local network, the CPE
`WAN Management Protocol defines an optional mechanism that allows such web sites to customize their
`content with explicit knowledge of the associated CPE. This mechanism is described in Annex D.
`
`1.2 Positioning in the End-to-End Architecture
`The ACS is a server that resides in the network and manages devices in or at the subscriber premises. The
`CPE WAN Management Protocol may be used to manage both DSL B-NTs and other types of CPE,
`including stand-alone routers and LAN-side client devices. It is agnostic to to the specific access medium
`utilized by the service provider, although it does depend on IP-layer connectivity having been established
`by the device.
`Note – in the case of a B-NT, TR-046 [2] describes the overall framework for B-NT auto-
`configuration, and TR-062 [3] and TR-044 [4] define the ATM layer and IP layer auto-
`configuration procedures. Other types of broadband CPE should make use of the protocols
`appropriate to their network architectures in order to obtain IP connectivity.
`Note – where the CPE WAN Management Protocol is used to manage both a B-NT (or other
`Internet Gateway Device), and a LAN-side client device operating behind that B-NT (or other
`Internet Gateway Device), Annex F defines a mechanism to allow the ACS to associate the two so
`that they may be managed together.
`
`Figure 1 – Positioning in the End-to-End Architecture
`
`OSS/BSSOSS/BSS
`
`
`Scope of CPE WAN ManagementScope of CPE WAN Management
`
`Protocol (CWMP):Protocol (CWMP):
`
`ACS Southbound InterfaceACS Southbound Interface
`
`
`Auto-Configuration Auto-Configuration
`
`Server (ACS)Server (ACS)
`
`
`
`ACS Northbound InterfaceACS Northbound Interface
`
`
`Managed Internet Managed Internet
`
`Gateway DeviceGateway Device
`
`
`
`PolicyPolicy
`
`
`Call Call
`
`CenterCenter
`
`
`
`December 2007
`
`© The Broadband Forum. All rights reserved.
`
`
`Managed LAN Managed LAN
`
`DeviceDevice
`
`
`Managed LAN Managed LAN
`
`DeviceDevice
`
`
`Managed LAN Managed LAN
`
`DeviceDevice
`
`
`
`9
`
`Page 9 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`1.3 Security Goals
`The CPE WAN Management Protocol is designed to provide a high degree of security. The security model
`is also designed to be scalable. It is intended to allow basic security to accommodate less robust CPE
`implementations, while allowing greater security for those that can support more advanced security
`mechanisms. In general terms, the security goals of the CPE WAN Management Protocol are as follows:
`• Prevent tampering with the management functions of a CPE or ACS, or the transactions that take place
`between a CPE and ACS.
`• Provide confidentiality for the transactions that take place between a CPE and ACS.
`• Allow appropriate authentication for each type of transaction.
`• Prevent theft of service.
`
`1.4 Architectural Goals
`The protocol is intended to provide flexibility in the connectivity model. The protocol is intended to
`provide the following:
`• Allow both CPE and ACS initiated connection establishment, avoiding the need for a persistent
`connection to be maintained between each CPE and an ACS.
`• The functional interactions between the ACS and CPE should be independent of which end initiated
`the establishment of the connection. In particular, even where ACS initiated connectivity is not
`supported, all ACS initiated transactions should be able to take place over a connection initiated by the
`CPE.
`• Allow one or more ACSs to serve a population of CPE, which may be associated with one or more
`service providers.
`The protocol is intended to support discovery and association of ACS and CPE:
`• Provide mechanisms for a CPE to discover the appropriate ACS for a given service provider.
`• Provide mechanisms to allow an ACS to securely identify a CPE and associate it with a user/customer.
`Processes to support such association should support models that incorporate user interaction as well as
`those that are fully automatic.
`The protocol is intended to allow an ACS access to control and monitor various parameters associated with
`a CPE. The mechanisms provided to access these parameters are designed with the following premises:
`• Different CPE may have differing capability levels, implementing different subsets of optional
`functionality. Additionally, an ACS may manage a range of different device types delivering a range
`of different services. As a result, an ACS must be able to discover the capabilities of a particular CPE.
`• An ACS must be able to control and monitor the current configuration of a CPE.
`• Other control entities besides an ACS may be able to control some parameters of a CPE’s
`configuration (e.g., via LAN-side auto-configuration). As a result, the protocol must allow an ACS to
`account for external changes to a CPE’s configuration. The ACS should also be able to control which
`configuration parameters can be controlled via means other than by the ACS.
`• The protocol should allow vendor-specific parameters to be defined and accessed.
`The protocol is intended to minimize implementation complexity, while providing flexibility in trading off
`complexity vs. functionality. The protocol incorporates a number of optional components that come into
`play only if specific functionality is required. The protocol also incorporates existing standards where
`appropriate, allowing leverage of off-the-shelf implementations.
`The protocol is intended to be agnostic to the underlying access network.
`
`December 2007
`
`© The Broadband Forum. All rights reserved.
`
`10
`
`Page 10 of 138
`
`
`
`CPE WAN Management Protocol v1.1
`
`
`
`TR-069 Issue 1 Amendment 2
`
`The protocol is also designed to be extensible. It includes mechanisms to support future extensions to the
`standard, as well as explicit mechanisms for vendor-specific extensions.
`
`1.5 Assumptions
`Some assumptions made in defining the CPE WAN Management Protocol are listed below:
`• All CPE regardless of type (bridge1, router, or other) obtain an IP address in order to communicate
`with an ACS.
`• A CPE can interact with a single ACS at a time. At any time, a CPE is aware of exactly one ACS with
`which it can connect. (Note: a collection of ACSs behind a load balancer is considered a single ACS
`for the p