What is TR-069?
It is a protocol for communication between CPE (Customer Premise Equipment) and an ACS (Auto Configuration Server) that provides secure auto-configuration as well as other CPE management functions within a common framework.
TR-069 stands for a “Technical Report” defined by the Broadband Forum that specifies the CWMP, “CPE WAN Management Protocol”. It commonly uses HTTP or HTTPS as transport for communication between CPE and the ACS. The message exchange is using SOAP (XML_RPC) for configuration and management of the device.
The last published version of the standard is Amendment 2 (CWMP1.1). The core defines the protocol, session establishment, message exchange structure, and Remote Procedure Calls.
Why use TR-069?
Service Providers, using TR-069, can have one common platform to manage all Grandstream devices and other CPEs, regardless of the device type or the manufacturer.
This common application was not easily achieved before due to the CPE vendor’s proprietary mechanisms for provisioning/management.
TYPICAL SCENARIO

The Previous figure shows a common customer installation. Where CPEs (Grandstream devices) are behind a router/gateway, and they connect to the ACS via TR-069, so they can be managed remotely.
Normally, TR-069 provisioning/management will be used by service providers in large-scale deployments. Therefore, units need to be initially provisioned with the ACS connection parameters before being able to connect with the server. There are several ways to work this initial configuration as per-provisioning before sending the unit to the end user. However, Grandstream provides a redirection/provisioning service called GAPS that can take care of the initial ACS parameters setup.
RPC METHODS
The following table provides a description of supported TR-069 RPC methods by Grandstream devices. Some models may have some extra methods (vendor-specific methods) that are not shown in the table below. Please contact Grandstream for more information.
| Methods | Description |
|---|---|
GetRPCMethods |
|
GetParameterNames |
|
GetParameterValues | This method is used by an ACS to obtain the value of one or more CPE parameters. |
GetAttributeValues | This method is used by an ACS to read the attributes associated with one or more CPE parameters. |
SetParameterValues | This method is used by an ACS to modify the value of one or more of the device’s parameters. |
SetAttributeValues | Changes the attributes (modifiers) of the specified path. The path can be complete or partial. |
AddObject | Adds a new instance of an object defined on the device. |
DeleteObject | Deletes an instance of an object defined on the device. |
Download | This method is used by the ACS to cause the CPE to download a specified file from the designated location. Filetype supported by Grandstream devices are:
|
Upload | This method is used by the ACS to cause the CPE to upload a specified file from the designated location. Filetype supported by Grandstream devices are:
|
Reboot | Reboots the device. |
FactoryReset | Factory reset CPE settings to default. This method doesn’t affect TR-069 settings. |
Important Notes:
TR-069 defines the RPC methods “FactoryReset” and “Reboot”; there are some special requests for it. As follows:
- For Factory Reset: This method resets the CPE to its factory default state. It should be used with extreme caution. The CPE MUST initiate the factory reset procedure only after successful completion of the session.
In order to make sure the CPE can connect to the ACS server, the settings for TR-069 and the internet will not be reset.
- For Reboot: This method causes the CPE to reboot. It should be used with extreme caution. The CPE MUST send the method response and complete the reminder of the session before rebooting.
If these two RPC methods are called to be used with other RPC methods during one session, they will be initiated in time, and other RPC methods will be cancelled. It’s recommended to keep FactoryReset or the Reboot method as the last RPC method during one session.
Factory reset & Reboot may not be effective immediately.
If the request is received while the device is in a call, reboot or factory reset will not be effective immediately and will be delayed until the device ends the active call.
TR-069 DATA MODEL

CWMP defines different data models for different kinds of devices, as shown in the figure above.
All Grandstream devices with CPE are only SIP compatible; for this reason, our data model is loyal to TR-106 and TR-104.
TR-106 DATA MODEL
This technical report specifies a baseline object structure to be supported by any TR-069-enabled device. And the device, according to its function, can be divided into two types.
Grandstream devices with CPE belong to a capable one (other than an Internet Gateway Device), so the root object for the TR-069 data model tree is “Device” (for more details, please refer to TR-106 Amendment-2 chapter 2.1.1). The object version is loyal to Amendment-2.
TR-104 DATA MODEL
This technical report defines the data model for provisioning of VoIP devices by an ACS using the mechanism defined in TR-069.
All Grandstream devices are only SIP compatible; for this reason, only objects and parameters related to SIP are implemented from the data model.

SCOPE OF THE REMOTE MANAGEMENT
- Auto-Configuration:
This mechanism allows the Grandstream device to auto-provision at the time of initial connection and the ability to re-provision at any subsequent time. For initial ACS parameters provisioning, please refer to the GAPS redirection service.
- Firmware Management:
TR-069 provides tools to manage the 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.
- Configuration or environment variables changes notification :
TR-069 provides support for a CPE to make available information that the ACS may use to monitor the CPE’s status and performance statistics. This is done by defining the conditions under which a CPE should actively/passively notify the ACS of changes.
- Enabling / disabling features remotely:
For example, VoIP accounts can be easily activated by sending a TR-069 RPC. Additionally, other more advanced applications, such as pushing content or customizing the GUI, can be done by using vendor parameters.
- Reboot:
Grandstream devices can be rebooted by using the mechanisms established by TR-069.
- Factory Reset:
Grandstream devices can be restored with default settings by using the mechanisms established by TR-069. Factory reset from ACS does not affect TR-069 parameters to keep the connection enabled with the ACS server.
INTEROPERABILITY AND DEPLOYMENT
- Service provider contacts the Grandstream sales department to establish an initial relationship and provide both parties with technical contact information.
- The service provider sends to Grandstream the requirement list and/or expected provisioning flow chart.
- Grandstream works together with the service provider and the ACS vendor to get the test cases and testing accounts.
Testing and corrections.
Initial deployment and verification.
TR-069 CONFIGURATION ON GRANDSTREAM DEVICES
Normally, ACS configuration settings are pre-provisioned by the service provider, or the Grandstream device is redirected by our GAPS to the location where the service provider has each device configuration file. However, we still have a graphic interface for easy testing and debugging.
To configure TR-069 on Grandstream devices, setthe following parameters:
| Parameter | Description |
|---|---|
ACS URL |
|
TR-069 Username | Username used for the HTTP authentication against the ACS. |
TR-069 Password | Password used for the HTTP authentication against the ACS. |
Periodic Inform Enable |
|
Periodic Inform Interval |
|
Connection Request Username | Username to authenticate incoming connection requests. |
Connection Request Password | Password to authenticate incoming connection requests. |
Connection Request Port | Port for incoming connection requests. The default value is 7547. |
CPE SSL Certificate | The Cert File for the phone to authenticate against ACS using SSL. |
CPE SSL Private Key | The Private Key File for the phone to authenticate against ACS using SSL. |
The screenshot below shows TR-069 on Grandstream GXP2140 as an example:

STANDARDS COMPLIANCE
Currently, Grandstream CPEs support the list of standards shown below.
For further information about this technical document, please refer to the Broadband Forum website.
TR-069 Amendment 2 (Partially Compliant)
| RPC Method | Supported | Version of CWMP protocol | Comment |
|---|---|---|---|
GetRPCMethods | Y | 1.0> | |
SetParameterValues | Y | 1.0> | |
GetParameterValues | Y | 1.0> | |
GetParameterName | Y | 1.0> | |
SetParameterAttributes | Y | 1.0> | |
GetParameterAttributes | Y | 1.0> | |
AddObject | Y | 1.0> | |
DeleteObject | Y | 1.0> | |
Reboot | Y | 1.0> | |
Download | Y | 1.0> | |
FactoryReset | Y | 1.0> | |
GetQueuedTransfers | N | 1.0> | May be added in the future |
Upload | Y | 1.0> | |
ScheduleInform | Y | 1.0> | |
GetAllQueuedTransfers | N | 1.1> | May be added in the future |
ScheduleDownload | N | 1.2 | May be added in the future |
CancelTransfer | N | 1.2 | May be added in the future |
Inform | Y | 1.0> | |
TransferComplete | Y | 1.0> |
TR-106 (Compliant TR-106 Amendment-2)
There are two special modules: IPPing Diagnostics and Trace Route Diagnostics.
IPPing Diagnostics:
SPV “Device.LAN.IPPingDiagnostics.Host” as the host name or address of the host to ping.
SPV “Device.LAN.IPPingDiagnostics.DiagnosticsState” as “Requested”.
Trace Route Diagnostics:
SPV “Device.LAN.TraceRouteDiagnostics.Host” as the host name or address of the host to find a route to.
SPV “Device.LAN.TraceRouteDiagnostics.DiagnosticsState” as “Requested”.
Data Model
Device Summary:
| Name | Version |
|---|---|
Device | 1.2 |
Baseline | 1 |
UDPConnReq | 1 |
LAN | 1 |
Time | 1 |
IPPing | 1 |
TraceRoute | 1 |
Download | 1 |
Upload | 1 |
VoiceService | 1.0 |
Endpoint | 1 |
SIPEndpoint | 1 |
Some details supported:
Some special parameter request: When read, this parameter returns an empty string, regardless of the actual value.
Support Vendor-Specific Parameters.
TR-104 (Compliant with SIP)
Support SIPEndpoint Profile.
TR-111 (Compliant)
TR-111 part 2 defines an extension to TR-069 that allows an ACS to initiate a Session with a device that is operating behind a NAT Gateway. In this mechanism, we use a particular usage of the STUN mechanism to complete. This mechanism requires support only in the Device and the associated ACS.
TR-143 (Compliant)
This Technical Report defines an Active Monitoring test suite that can be leveraged by Network Service Providers to monitor and/or diagnose the state of their broadband network paths serving populations of subscribers. It defines two methods to monitor and/or diagnose the state of broadband network paths serving populations of subscribers.
Support diagnostics are specified in the TR-143 document by the Broadband Forum. Two types of diagnostics are supported by the library (of 3 in total):
- Download Diagnostics:
- SPV “Device.DownloadDiagnostics.DownloadURL” as the URL used for download test.
- SPV “Device.DownloadDiagnostics.DiagnosticsState” as “Requested”.
- Upload Diagnostics:
- SPV “Device.UploadDiagnostics.UploadURL” as the URL of the HTTP server to which the file will be uploaded.
- SPV “Device.UploadDiagnostics.DiagnosticsState” as “Requested”.
ACS INFORMATION
Grandstream has worked with or is currently working with the following ACS vendors:
- Finepoint
- Alcatel/Motive ACS
- ASISco Geremias
- FriendlyACS
- AVSystem
- Sagemcom
For more info regarding interoperability with these vendors or other ACS vendors, please contact Grandstream technical support https://helpdesk.grandstream.com/
CONTACT US
For any additional inquiries, please visit our website https://www.grandstream.com/company/contact-us, and we will be more than glad to help and provide you with specific information regarding Grandstream devices.
SUPPORTED DEVICES
The following table shows Grandstream products supporting the TR-069 protocol.
| Model | Supported | Firmware |
|---|---|---|
GXP2130/2140/2160 GXP2135/2170 | Yes | 1.0.7.25 or higher |
GXP16xx Series | Yes | 1.0.4.6 or higher |
GRP261x/GRP2624/GRP2634 Series | Yes | 1.0.3.6 or higher |
GRP260x Series | Yes | 1.0.3.18 or higher |
WP820 | Yes | 1.0.7.7 or higher |
WP810 | Yes | 1.0.7.30 or higher |
GXP17xx Series | Yes | 1.0.0.37 or higher |
GXV3370/GXV3380/GXV3350 | Yes | 1.0.3.9 or higher |
| GXV3450/GXV3470/GXV3480 | Yes | 1.0.3.32 or higher |
GAC2500 | Yes | 1.0.1.44 or higher |
GXW4216/4224/4232/4248 | Yes | 1.0.5.16 or higher |
HT801/802/812/813/814 | Yes | 1.0.2.5 or higher |
DP750 | Yes | 1.0.1.20 or higher |
DP752 | Yes | 1.0.13.6 or higher |