TR69

Created on June 21, 2022

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



Go To Top