TR-069 uses several remote procedure calls whose definition determine the types of TR-069 messages that are sent and received by an ACS or CPE. Every RPC is defined in the TR-069 base XML schema which can be found on the Broadband Forum website. Each one consists of the call itself, with a number of defined arguments that may or may not be required, and the appropriate response, with its required arguments.
While the majority of RPCs are performed by the ACS on the CPE, the most important RPC is a call made by the CPE on the ACS, and is made at the start of every TR-069 session. This is the Inform RPC. You’ll also hear it referred to as the Inform message or “sending an Inform”.
Here’s what an Inform RPC looks like.
It’s first argument is the DeviceID, containing the DeviceIDstructure, a set of elements used to uniquely identify the CPE.
Second is the Event List. This is an array of type EventStruct that contains the events that caused this CWMP session to occur.
Next is an argument called “MaxEnvelopes”. This must also be set to 1 and should be ignored by the ACS - it was used in a very early version of the protocol.
Next is the CurrentTime argument. This is the local time known to the CPE, and must include the timezone offset from UTC.
Next is the RetryCount argument. This argument specifies how many times this connection has been attempted, and is used in the Session Retry mechanism.
Finally, the Inform RPC contains a Parameter List argument. Like many other places this argument is found, it is a list of name-value pairs that reference CWMP data model objects in the CPE and their current value. The Inform includes this parameter list to convey:
This completes the arguments of the Inform. If the ACS properly receives and processes the Inform, it sends an InformResponse, which is the return method for the Inform RPC. It contains no arguments other than the unused “MaxEnvelopes” argument.