AddObject and DeleteObject

An “object” in a CPE data model is an element of functionality that can be configured by an ACS. While an object’s parameters are configured using the SetParameterValues RPC, Objects that are able to be created by the ACS can be added to a device using the AddObject RPC, and removed using the DeleteObject RPC.


The AddObject RPC takes two arguments. The first is Object name, which must contain a path reference to an Object; that is a path that ends in a “dot”. This Object must be creatable, having write capability enabled in the datamodel, and must be a multi-instance object. If it’s not, AddObject should throw an Invalid Arguments or Invalid Parameter Name error.

The second argument is ParameterKey, just like in SetParameterValues, used to associate this RPC with internally designated ACS policy. This value must update the Device.ManagementServer.ParameterKey value in the CPE.

When an Object is created, all of the associated parameters must be set to their default values. If this cannot be done, the AddObject RPC must fail.

The AddObjectResponse contains two arguments; InstanceNumber and Status. The Status parameter operates the same way as it does in SetParamterValues. If it is set to 0, then the Object can be considered added and applied. If it is set to 1, then the CPE requires some additional operations in order to apply the change, usually a reboot, but will be applied before the next session occurs. This status must apply to the object and all of its parameters.

The Instance Identifier

InstanceNumber returns the numeric instance identifier of the object. This is an unsignedInt, can take a value from 1 to 2^32-1. This is used to identify the object and reference it in a path reference. Once assigned, this number cannot be changed, and it must be unique within the list of existing objects of that type. When the object is deleted new objects should not use previously assigned identifiers.

Delete Object

The DeleteObject RPC takes the same two arguments as AddObject. The parameter path in ObjectName, however, MUST end in a specific instance identifier followed by a “dot”. This is to indicate the specific object to be deleted.

The DeleteObject response contains one argument - Status - that follows the same rules for Status as it is used elsewhere.

What about Alias Based Addressing?

There is a mechanism for using ACS assigned terms for the instance identifier, but this is a complex precedure that requires changes to the syntax of many RPCs and basic functions of TR-069, so we will address that on its own.


Building or deploying TR-069?

Develop your solution even faster with the industry standard in automated, expert testing.

Learn more