TR-069 is the CPE WAN Management Protocol developed by the DSL Forum. It defines a secure framework for an ACS to automatically configure and centrally manage CPE devices.
Figure 1-1 TR-069 design diagram
This document applies to access control devices and phone devices.
This document is intended for R&D and test engineers who need to understand TR-069 configuration, RPC methods, TR-111 extensions and parameter models.
ACS Auto-Configuration Server
CPE Customer Premises Equipment
TR-069 is disabled by default. Log in to the web page as administrator, open System → Auto Provision → TR069, and configure parameters in the corresponding area.
Figure 2-1
| Name | Description |
| Enable TR069 | enable status |
| ACS Server Type | configuration item |
| ACS Server Address | server address or URL |
| ACS Login Account | user name |
| ACS Login Password | password |
| STUN Server Address | STUN related parameter |
| Enable STUN | enable status |
RPC methods provide bidirectional communication between the CPE and ACS. The ACS can get, set, monitor and maintain device parameters through RPC.
| RPC | Node Description |
| GetRPCMethods | RPC function description |
| SetParameterValues | RPC function description |
| GetParameterValues | RPC function description |
| GetParameterNames | RPC function description |
| GetParameterAttributes | RPC function description |
| SetParameterAttributes | RPC function description |
| Download | RPC function description |
| FactoryReset | RPC function description |
| Reboot | RPC function description |
TR-111 extends the TR-069 family with device-gateway association and NAT connection request mechanisms, helping the ACS manage LAN-side devices.
TR-111 supports gateway association so that the ACS can identify the gateway used by a LAN-side device.
TR-111 supports UDP/STUN based connection requests for CPE devices located behind NAT gateways.
The architecture includes Internet Gateway Device and LAN Device data models. Parameter names use a dotted tree hierarchy and parameter types are based on SOAP data types.
Internet Gateway Device
LAN Device
Parameter names use a dotted tree hierarchy.
Parameter types are based on SOAP data types.
| Node Name | Type | Node Description |
| InternetGatewayDevice.DeviceInfo. | Object | device information |
| InternetGatewayDevice.DeviceInfo.Manufacturer | String | device manufacturer |
| InternetGatewayDevice.DeviceInfo.ManufacturerOUI | String | device manufacturer |
| InternetGatewayDevice.DeviceInfo.ModelName | String | product model |
| InternetGatewayDevice.DeviceInfo.Description | String | device information |
| InternetGatewayDevice.DeviceInfo.ProductClass | String | product model |
| InternetGatewayDevice.DeviceInfo.SerialNumber | String | device information |
| InternetGatewayDevice.DeviceInfo.SoftwareVersion | String | version information |
| InternetGatewayDevice.DeviceInfo.HardwareVersion | String | version information |
| InternetGatewayDevice.DeviceInfo.SpecVersion | String | version information |
| InternetGatewayDevice.DeviceInfo.ProvisioningCode | String | configuration item |
| InternetGatewayDevice.DeviceInfo.UpTime | String | time parameter |
| InternetGatewayDevice.DeviceInfo.DeviceLog | String | device information |
| InternetGatewayDevice.DeviceInfo.VendorConfigFile.{i}. | Object | configuration item |
| InternetGatewayDevice.DeviceInfo.VendorConfigFile.{i}.Name | String | configuration item |
| InternetGatewayDevice.DeviceInfo.VendorConfigFile.{i}.Version | String | version information |
| InternetGatewayDevice.DeviceInfo.VendorConfigFile.{i}.Date | String | time parameter |
| InternetGatewayDevice.DeviceInfo.VendorConfigFile.{i}.Description | String | configuration item |
| InternetGatewayDevice.ManagementServer. | Object | device information |
| InternetGatewayDevice.ManagementServer.URL | String | server address or URL |
| InternetGatewayDevice.ManagementServer.Username | String | user name |
| InternetGatewayDevice.ManagementServer.Password | String | password |
| InternetGatewayDevice.ManagementServer.PeriodicInformEnable | String | enable status |
| InternetGatewayDevice.ManagementServer.PeriodicInformInterval | String | time parameter |
| InternetGatewayDevice.ManagementServer.PeriodicInformTime | String | time parameter |
| InternetGatewayDevice.ManagementServer.ParameterKey | String | configuration item |
| InternetGatewayDevice.ManagementServer.ConnectionRequestURL | String | server address or URL |
| InternetGatewayDevice.ManagementServer.ConnectionRequestUsername | String | user name |
| InternetGatewayDevice.ManagementServer.ConnectionRequestPassword | String | password |
| InternetGatewayDevice.ManagementServer.UDPConnectionRequestAddress | String | server address or URL |
| InternetGatewayDevice.ManagementServer.UDPConnectionRequestAddressNotificationLimit | String | time parameter |
| InternetGatewayDevice.ManagementServer.STUNEnable | String | STUN related parameter |
| InternetGatewayDevice.ManagementServer.STUNServerAddress | String | STUN related parameter |
| InternetGatewayDevice.ManagementServer.STUNServerPort | String | STUN related parameter |
| InternetGatewayDevice.ManagementServer.STUNUsername | String | user name |
| InternetGatewayDevice.ManagementServer.STUNPassword | String | password |
| InternetGatewayDevice.ManagementServer.STUNMaximumKeepAlivePeriod | String | STUN related parameter |
| InternetGatewayDevice.ManagementServer.STUNMinimumKeepAlivePeriod | String | STUN related parameter |
| InternetGatewayDevice.ManagementServer.NATDetected | String | STUN related parameter |
| InternetGatewayDevice.ManagementServer.KickURL | String | server address or URL |
| InternetGatewayDevice.ManagementServer.UpgradesManaged | String | enable status |
| InternetGatewayDevice.Time. | object | time parameter |
| InternetGatewayDevice.Time.Enable | Boolean | enable status |
| InternetGatewayDevice.Time.NTPServer1 | string | server address or URL |
| InternetGatewayDevice.Time.NTPServer2 | string | server address or URL |
| InternetGatewayDevice.Time.CurrentLocalTime | dateTime | time parameter |
| InternetGatewayDevice.Time.LocalTimeZone | String | time parameter |
| InternetGatewayDevice.Time.LocalTimeZoneName | String | time parameter |
| InternetGatewayDevice.Layer3Forwarding. | Object | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.ForwardNumberOfEntries | Unsigned | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}. | object | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.1.Enable | string | enable status |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.1.Status | string | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.1.Type | string | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}.DestIPAddress | string | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}.DestSubnetMask | string | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}.SourceIPAddress | string | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}.SourceSubnetMask | string | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}.GatewayIPAddress | string | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}.Interface | string | routing or forwarding parameter |
| InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}.ForwardingMetric | string | routing or forwarding parameter |
| InternetGatewayDevice.UserInterface. | Object | user interface information |
| InternetGatewayDevice.UserInterface.UpgradeAvailable | String | user interface information |
| InternetGatewayDevice.UserInterface.CurrentLanguage | String | user interface information |
| InternetGatewayDevice.Services.VoiceService.{i}. | object | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceServiceNumberOfEntries | unsignedInt | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfileNumberOfEntries | unsignedInt | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities. | object | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.MaxProfileCount | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.MaxLineCount | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.MaxSessionCount | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SignalingProtocols | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.FaxT38 | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.FaxPassThrough | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.ModemPassThrough | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.ToneGeneration | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.RingGeneration | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.VoiceLineTests | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP. | object | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP.Role | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP.Extensions | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP.Transports | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP.URISchemes | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP.EventSubscription | boolean | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP.ResponseMap | boolean | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP.TLSAuthenticationProtocols | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP.TLSAuthenticationKeySize | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.SIP.TLSEncryptionProtocols | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.H323. | object | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.H323.FastStart | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.H323.H235AuthenticationMethods | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.Codecs | object | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.Codecs.{i}.EntryId | unsignedInt | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.Codecs.{i}.Codec | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.Capabilities.Codecs.{i}.BitRate | unsignedInt | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}. | object | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Reset | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.NumberOfLines | unsignedInt | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Name | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SignalingProtocol | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.MaxSessions | unsignedInt | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.DTMFMethod | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.STUNEnable | boolean | STUN related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.STUNServer | string | STUN related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.RTP. | object | RTP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.RTP.LocalPortMin | unsignedInt | RTP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.RTP.LocalPortMax | unsignedInt | RTP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.RTP.DSCPMark | string | RTP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.RTP.TelephoneEventPayloadType | string | RTP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}. | object | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Enable | boolean | enable status |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.DirectoryNumber | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Status | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallState | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.RingMuteStatus | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.RingVolumeStatus | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.SIP. | object | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.SIP.AuthUserName | string | user name |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.SIP.AuthPassword | string | password |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures. | object | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.CallWaitingEnable | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.CallForwardUnconditionalEnable | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.CallForwardUnconditionalNumber | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.CallForwardOnBusyEnable | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.CallForwardOnBusyNumber | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.CallForwardOnNoAnswerEnable | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.CallForwardOnNoAnswerNumber | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.CallTransferEnable | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.MWIEnable | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.MessageWaiting | string | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.AnonymousCallEnable | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures.DoNotDisturbEnable | boolean | VoIP capability or line parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP. | object | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.ProxyServer | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.ProxyServerPort | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.ProxyServerTransport | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.RegistrarServer | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.RegistrarServerPort | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.RegistrarServerTransport | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.UserAgentDomain | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.UserAgentPort | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.UserAgentTransport | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.Organization | string | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.RegisterRetryInterval | string | time parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.RegisterExpires | string | time parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.DSCPMark | unsignedInt | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.VLANIDMark | int | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.EthernetPriorityMark | int | SIP related parameter |
| InternetGatewayDevice.Services.VoiceService.{i}.VoiceProfile.{i}.SIP.X_ATP_OptionTime. | object | time parameter |
| InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.6.SIP.X_ATP_OptionTime.IntervalTime | tUnsigned | time parameter |
| InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.6.SIP.X_ATP_OptionTime.OptionsType | unsignedInt | SIP related parameter |