TR-069 Hostif
Summary
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). The CWMP, published by The Broadband Forum as TR-069, specifies a standard communication mechanism for the remote management of end-user devices. It defines a protocol for the secure auto-configuration of a TR-069 device and incorporates other management functions into a common framework. This protocol simplifies device management by specifying the use of an auto configuration server (ACS) to perform remote, centralized management of customer premises equipment (CPE). TR-069 supports a variety of functionalities to manage CPEs and has the following primary capabilities:
- Auto-configuration and dynamic service provisioning
- Software/firmware management
- Status and performance monitoring
- Diagnostics
TR-069 closely monitor and control the Customer Premises Equipment (CPE). In RDK it would be Settop box or Gateway. There are many benefits associated with using TR-069 to provision and manage end-user devices. TR-069 and its extensions allow you to:
- Enable remote provisioning of CPE devices.
- Better manage broadband networks with increased visibility and control of CPE.
- Collect data for analytics on network usage and activity, home network characteristics, and service utilization.
- Deliver new managed data services such as WiFi, content filtering and other parental controls, online backup, and home surveillance.
- Offer subscribers a degree of self-service through web portals.
- Expand service offerings and manage the connected home.
- Improve your customer service with improved diagnostics, monitoring, and firmware management.
- Reduce support calls and remove the burden of CPE configuration from subscribers and roll-out services with an automated process.
TR-069 Features used in RDK
- 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
Use of ACS server in RDK
- TR-069 specifies communication between customer-premises equipment (CPE) and an auto configuration server.
- The auto configuration server acts as a management server for TR-069-enabled CPE.
- It is essentially the link between the subscriber’s devices in the home and the service provider’s customer service representative (CSR), support staff, operational support systems and business support systems (OSS/BSS).
- An auto configuration server enables you to automate provisioning and many management tasks for TR-069 devices, facilitating remote management.
How does TR-069 works in RDK
TR-069 is a SOAP(Simple Object Access Protocol)/HTTP-based protocol. Orders are sent between the device (CPE) and an auto configuration server over HTTP or HTTPS in the form of remote procedure calls (RPCs) and responses, with SOAP acting as the encoding syntax to transport RPCs. The CPE acts as the HTTP client and the ACS acts as the HTTP server.
The basic network elements required include:
- An auto configuration server (ACS): The management server on the network.
- Customer premises equipment (CPE): The device that is managed on the network
- DNS server: Used to resolve the URL that is required for the ACS and CPE to interact
- DHCP server: Can be used to assign an IP address to a device on the network. Well-known DHCP options can configure important parameters on the CPE, such as the ACS URL.
- TR-069 provides the communication interface between CPE and Auto Configuration Server (ACS)
- An ACS can manage a device, trouble shoot, configure and upgrade. the information.
TR-069 closely monitor and control the Customer Premises Equipment (CPE). In RDK it would be Settop box or Gateway.
- The Auto Configuration Server (ACS) is located in the cloud which control the Customer Premises Equipment.
- ACS server is controlled by Operation/Support team.
- There are different kinds of data model used in customer premises, such as TR-135 data model is used in STB, TR-104 data model is used in VoIP, TR-140 data module is used in storage, and so on.
What is a remote procedure call (RPC)?
A remote procedure call (RPC) is an operation between an ACS and the CPE. It is used for bidirectional communication between CPE and an ACS. Some common RPCs include:
- GetParameterValue: The ACS uses this RPC to get the value of one or more parameters of a CPE
- SetParameterValue: The ACS sets the value of one or more parameters of a CPE
- Inform: A CPE sends this message to an ACS to initiate a session and to periodically send local information
- Download: When the ACS requires a CPE to download a specified file to upgrade hardware and download a configuration file
- Upload: When the ACS requires a CPE to upload a specified file to a specified location
- Reboot: An ACS reboots a CPE remotely when the CPE encounters a failure or needs a software upgrade
- Add Object: Allows the ACS to create instances of objects available on the CPE, for example, port mapping entries. The ACS also creates the associated parameters and sub-objects.
- Delete Object: Enables the ACS to delete existing instances of objects available on the CPE. It also deletes the associated parameters and sub-objects.
Why RDK use TR-069?
There are many benefits associated with using TR-069 to provision and manage end-user devices. TR-069 and its extensions allow you to:
- Enable remote provisioning of CPE devices (example Xi3), etc.
- Better manage broadband networks with increased visibility and control of CPE.
- Collect data for analytics on network usage and activity, home network characteristics, and service utilization.
- Deliver new managed data services such as WiFi, content filtering and other parental controls, online backup, and home surveillance.
- Offer subscribers a degree of self-service through web portals.
- Expand service offerings and manage the connected home.
- Improve your customer service with improved diagnostics, monitoring, and firmware management.
- Reduce support calls and remove the burden of CPE configuration from subscribers and roll-out services with an automated process.
TR-069 Setup
TR-69 Message Flow
API Documentation
Refer the TR-069 Interface Specification to know more about on the following topics,
- TR-069 Device Management
- TR-069 Diagnostics
- TR-069 Firmware Download
- TR-069 Gathering Periodic Information
- TR-069 Host Interface Specifications
TR-69 Training (Overview on CPE WAN Management Protocol)