In TR-069, the CPE is always initiates a session. When making first contact with an ACS, how does it know the ACS URL it is supposed to contact?
There are 3 mechanisms suggested in TR-069 to do this. The first is that the CPE has its bootstrap ACS pre-configured by factory default. This is usually the case with CPE that are deployed by a service provider.
The second mechanism involves the ACS URL being configured through a local protocol that has access to the CWMP data model, such as UPnP as defined in TR-064. Service providers may do this with a technician or through some local software installation for the Broadband Subscriber.
Lastly, TR-069 defines a mechanism for using DHCP options to configure the ACS URL.
When a CPE comes online, the DHCP server that assigns its IP address can provide the ACS URL in certain DHCP options.
A CPE can announce that it supports this capability in its DHCP DISCOVER message by including a special string anywhere in the DHCP Vendor Class Identifier Option 60, or in the DHCP V-I Vendor Class Option 124.
If the CPE supports IPv6, it can use the DHCPv6 Vendor Class Option 16.
Additionally, the CPE can include DHCP option 55 to specify whether it prefers to receive the URL in DHCP option 43 or option 125.
The DHCP server then responds with the URL of the ACS specified in DHCP option 43, 125, or both in its DHCP OFFER message.
If the server sends both, the CPE must use the URL specified in the option it requested. If it didn’t request a specific option, it must use the URL given in option 43.
Typically, a CPE armed with its new ACS URL starts a CWMP session with the new ACS, sending an Inform with the BOOTSTRAP event. This triggers the ACS to recognize the new CPE and begin initial configuration.