TR69
Overview
TR-069 is a technical specification that defines an application layer protocol for remote management of end-user devices. It was published by the Broadband Forum and was entitled CPE WAN Management Protocol (CWMP). It provides the communication between CPE and Auto Configuration Servers (ACS). An ACS can manage a device, trouble shoot, configure, upgrade etc. TR-69 uses common web protocols such as HTTP, TCP-IP, SOAP, XML-RPCs to exchange information.
Feature Summary
Service Activation
- Firmware upgrade management
Register device to Auto-Configuration Server (ACS) using Inform notification
- Periodically send device information to ACS using Inform notification
- Forced Inform for required parameters
- Allow ACS to configure periodic Inform interval.
- Allow ACS to reach devices that are connected behind NAT using STUN + UDP NAT traversal
- (future) Allow ACS to reach devices that are connected behind NAT using XMPP
- Retrieve device diagnostics/parameters using GetParameterValues() method
- Set device parameters using SetParameterValues() method
- Factory reset using FactoryReset method
- Device reboot using Reboot method
- SSL/TLS 1.2 (Transport Layer Security) per RFC5246 to encrypt communications with ACS
Device Applicability
- IP
Setup
Since the Client is non-addressable from the public network, tr-069 and STUN creates and maintains a lightweight connection between the tr-069 server and agent to allow for tr-069-server initiated commands to be sent to the Client in real-time.
Sample message flow
The CPE is responsible for establishing the session to the server. The CPE keeps sending HTTP POST requests during the session. The session is closed as soon as both CPE & ACS have indicated that they have nothing more to send (response or new RPC)
Implementation Details
The RDK tr69 client is developed by Dimark which has the following key features
- The Dimark TR-069 client is typically provided as ANSI C source code that runs on embedded Linux, with the API designed to ease the integration of the client into existing environments
- The client incorporates an abstraction layer that will speed implementation as well as make the addition of many new features, upgrades and updates virtual drop-ins.
- The client incorporates all updates that have resulted from more than eight years of field use, feature requests and customer deployments.
Solution Details
Data Models
Data Model (version 0.9) – requires TR-181-2-2-0 Device-2.3 + TR-135 STB Service + Custom settop data model
- TR-098: Internet Gateway Device Data Model for TR-069
- TR-104: Provisioning Parameters for VoIP CPE
- TR-135: Data Model for a TR-069 Enabled STB
- TR-140: TR-069 Data Model for Storage Service Enabled Devices
- TR-143: Enabling Network Throughput Performance Tests and Statistical Monitoring
- TR-181: Device Data Model for TR-069
Inform Message
The Inform message contains:
- Device.Manufacturer
- Device.ManufacturerOUI
- Device.SerialNumber
- Device.ProductClass
The Inform message at boot contains:
- Event Code = BootStrap
- Parameter List
- HardwareVersion
- SoftwareVersion
- ProvisioningCode
- ParameterKey
Force Inform
The following parameters must be supported for Forced Inform:
- Device.DeviceInfo.HardwareVersion
- Device.DeviceInfo.SoftwareVersion
- Device.DeviceInfo.ProvisioningCode
- Device.ManagementServer.ParameterKey
- Device.ManagementServer.ConnectionRequestURL
Download Message
The Download message contains:
CommandKey
FileType
URL
Username
Password
FileSize
TargetFileName
DelaySeconds
SuccessURL
FailureURL