Understanding TR-369 GetSupportedDM and GetSupportedDM Response Messages

In this post, we will delve into the TR-369 USP GetSupportedDM Messages and their corresponding GetSupportedDM Response Messages. We'll explore their purpose, structure, and significance in the context of TR-369, shedding light on their role in retrieving supported data models.
So, let's embark on the journey of understanding USP GetSupportedDM Messages.
GetSupportedDM Messages serve as a mechanism for a Controller to request information about the supported data models from a target endpoint in the USP ecosystem, which is basically a CPE device. These messages enable Controllers to discover the available data model in a CPE.
Let's see the GetSupportedDM proto-buff definition from the official usp proto-buffer file:
message GetSupportedDM {
repeated string obj_paths = 1;
bool first_level_only = 2;
bool return_commands = 3;
bool return_events = 4;
bool return_params = 5;
}
The purpose of GetSupportedDM Messages is to obtain the list of supported Objects, Parameters, Events, and Commands in the Agent’s Supported Data Model. This allows a Controller to learn what an Agent understands, rather than its current state. So, the USP Controller does NOT retrieve actual parameters but learns the types and definitions of parameters, commands, and events.
GetSupportedDM Request Messages:
When it comes to acquiring data model structure information from a device, TR-369 employs GetSupportedDM messages. A GetSupportedDM message consists of two primary components: the Header and the Body. The Header comprises a unique message ID and a message type, which is set to "GET_SUPPORTED_DM." On the other hand, the Body contains the actual request.
The following fields are most important for the GetSupportedDM Message Request:
Msg Id: A unique identifier assigned by the Endpoint/Controller that generated this Message.
Obj Path: Path to an Object that is requested.
Return Commands: if true, indicates that, in thesupported_objs, the Agent should include the asupported_commands field containing Commands supported by the reported Object(s).
Return Events: if true, indicates that, in thesupported_objs, the Agent should include the asupported_events field containing Events supported by the reported Object(s).
Return Params: if true, indicates that, in thesupported_objs, the Agent should include the asupported_params field containing Parameters supported by the reported Object(s).
{
"header": {
"msg_id": "2023-05-06T07:12:40.099Z",
"msg_type": "GET_SUPPORTED_DM"
},
"body": {
"request": {
"get_supported_dm": {
"obj_paths": [
"Device."
],
"first_level_only": true,
"return_commands": true,
"return_events": true,
"return_params": true
}
}
}
}
GetSupportedDM Response Messages are the corresponding responses generated by the target endpoint in response to a GetSupportedDM Message. These responses provide the requested information about the supported data models.
Let's see the GetSupportedDMResp proto-buff definition from the official usp proto-buffer file:
message GetSupportedDMResp {
repeated RequestedObjectResult req_obj_results = 1;
message RequestedObjectResult {
string req_obj_path = 1;
fixed32 err_code = 2;
string err_msg = 3;
string data_model_inst_uri = 4;
repeated SupportedObjectResult supported_objs = 5;
}
message SupportedObjectResult {
string supported_obj_path = 1;
ObjAccessType access = 2;
bool is_multi_instance = 3;
repeated SupportedCommandResult supported_commands = 4;
repeated SupportedEventResult supported_events = 5;
repeated SupportedParamResult supported_params = 6;
repeated string divergent_paths = 7;
}
message SupportedParamResult {
string param_name = 1;
ParamAccessType access = 2;
ParamValueType value_type = 3;
ValueChangeType value_change = 4;
}
message SupportedCommandResult {
string command_name = 1;
repeated string input_arg_names = 2;
repeated string output_arg_names = 3;
CmdType command_type = 4;
}
message SupportedEventResult {
string event_name = 1;
repeated string arg_names = 2;
}
enum ParamAccessType {
PARAM_READ_ONLY = 0;
PARAM_READ_WRITE = 1;
PARAM_WRITE_ONLY = 2;
}
enum ObjAccessType {
OBJ_READ_ONLY = 0;
OBJ_ADD_DELETE = 1;
OBJ_ADD_ONLY = 2;
OBJ_DELETE_ONLY = 3;
}
enum ParamValueType {
PARAM_UNKNOWN = 0;
PARAM_BASE_64 = 1;
PARAM_BOOLEAN = 2;
PARAM_DATE_TIME = 3;
PARAM_DECIMAL = 4;
PARAM_HEX_BINARY = 5;
PARAM_INT = 6;
PARAM_LONG = 7;
PARAM_STRING = 8;
PARAM_UNSIGNED_INT = 9;
PARAM_UNSIGNED_LONG = 10;
}
enum ValueChangeType {
VALUE_CHANGE_UNKNOWN = 0;
VALUE_CHANGE_ALLOWED = 1;
VALUE_CHANGE_WILL_IGNORE = 2;
}
enum CmdType {
CMD_UNKNOWN = 0;
CMD_SYNC = 1;
CMD_ASYNC = 2;
}
}
The following fields are available for the GetSupportedDM Message Response :
Msg Id: An unique identifier assigned by the Endpoint/Controller that generated this Message.
Req Obj Path: Requested Object Path for the GetSupportedDMRequest.
Data Model Inst Uri: Data Model Instance URL for the related USP Agent.
Supported Obj Path: Supported Object Path for the Requested Object Path.
Supported Commands: Supported Commands Path for the Requested Object Path.
Supported Events: Supported Events Path for the Requested Object Path.
Let's see a complete example from the official OBUSPA client (it is a long file, it is better to open a browser instead of a mobile device, i would rather keep it original!) :
{
"header": {
"msg_id": "2023-02-24T22:39:00.883Z",
"msg_type": "GET_SUPPORTED_DM_RESP"
},
"body": {
"response": {
"get_supported_dm_resp": {
"req_obj_results": [
{
"req_obj_path": "Device.",
"data_model_inst_uri": "urn:broadband-forum-org:tr-181-2-12-0",
"supported_objs": [
{
"supported_obj_path": "Device.",
"supported_commands": [
{
"command_name": "ScheduleTimer()",
"input_arg_names": [
"DelaySeconds"
],
"command_type": "CMD_ASYNC"
},
{
"command_name": "Reboot()",
"command_type": "CMD_SYNC"
},
{
"command_name": "FactoryReset()",
"command_type": "CMD_SYNC"
},
{
"command_name": "SelfTestDiagnostics()",
"input_arg_names": [
"X_ARRIS-COM_TestNumber"
],
"output_arg_names": [
"Results"
],
"command_type": "CMD_ASYNC"
}
],
"supported_events": [
{
"event_name": "Boot!",
"arg_names": [
"CommandKey",
"Cause",
"FirmwareUpdated",
"ParameterMap"
]
}
]
},
{
"supported_obj_path": "Device.LocalAgent.",
"supported_events": [
{
"event_name": "Periodic!"
}
],
"supported_params": [
{
"param_name": "UpTime",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SupportedProtocols",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SoftwareVersion",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EndpointID",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "CertificateNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SupportedFingerprintAlgorithms",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ControllerNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "MTPNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SubscriptionNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "RequestNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Certificate.{i}.",
"is_multi_instance": true,
"supported_commands": [
{
"command_name": "GetFingerprint()",
"input_arg_names": [
"FingerprintAlgorithm"
],
"output_arg_names": [
"Fingerprint"
],
"command_type": "CMD_SYNC"
}
],
"supported_params": [
{
"param_name": "Alias",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SerialNumber",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Issuer",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Controller.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_commands": [
{
"command_name": "SendOnBoardRequest()",
"command_type": "CMD_SYNC"
}
],
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EndpointID",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "InheritedRole",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "AssignedRole",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "PeriodicNotifInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "PeriodicNotifTime",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_DATE_TIME",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "USPNotifRetryMinimumWaitInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "USPNotifRetryIntervalMultiplier",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ControllerCode",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ProvisioningCode",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "MTPNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "BootParameterNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Controller.{i}.MTP.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Protocol",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Controller.{i}.MTP.{i}.STOMP.",
"supported_params": [
{
"param_name": "Reference",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Destination",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Controller.{i}.MTP.{i}.CoAP.",
"supported_params": [
{
"param_name": "Host",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Port",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Path",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EnableEncryption",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Controller.{i}.MTP.{i}.MQTT.",
"supported_params": [
{
"param_name": "Reference",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Topic",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Controller.{i}.MTP.{i}.WebSocket.",
"supported_params": [
{
"param_name": "Host",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Port",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Path",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EnableEncryption",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "KeepAliveInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "CurrentRetryCount",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SessionRetryMinimumWaitInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SessionRetryIntervalMultiplier",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Controller.{i}.BootParameter.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ParameterName",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.MTP.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Protocol",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Status",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.MTP.{i}.STOMP.",
"supported_params": [
{
"param_name": "Reference",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Destination",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "DestinationFromServer",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.MTP.{i}.CoAP.",
"supported_params": [
{
"param_name": "Port",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Path",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EnableEncryption",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.MTP.{i}.MQTT.",
"supported_params": [
{
"param_name": "Reference",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ResponseTopicConfigured",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ResponseTopicDiscovered",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "PublishQoS",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.MTP.{i}.WebSocket.",
"supported_params": [
{
"param_name": "Port",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Path",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EnableEncryption",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "KeepAliveInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Subscription.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Recipient",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ID",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "CreationDate",
"value_type": "PARAM_DATE_TIME",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "NotifType",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ReferenceList",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Persistent",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "TimeToLive",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "NotifRetry",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "NotifExpiration",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.ControllerTrust.",
"supported_commands": [
{
"command_name": "RequestChallenge()",
"input_arg_names": [
"ChallengeRef",
"RequestExpiration"
],
"output_arg_names": [
"Instruction",
"InstructionType",
"ValueType",
"ChallengeID"
],
"command_type": "CMD_SYNC"
},
{
"command_name": "ChallengeResponse()",
"input_arg_names": [
"ChallengeID",
"Value"
],
"command_type": "CMD_SYNC"
}
],
"supported_params": [
{
"param_name": "RoleNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "CredentialNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ChallengeNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.ControllerTrust.Role.{i}.",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Name",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "PermissionNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.ControllerTrust.Role.{i}.Permission.{i}.",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Order",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Targets",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Param",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Obj",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "InstantiatedObj",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "CommandEvent",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.ControllerTrust.Credential.{i}.",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Role",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Credential",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "AllowedUses",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.ControllerTrust.Challenge.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Description",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Role",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Type",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Value",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BASE_64",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ValueType",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Instruction",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BASE_64",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "InstructionType",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Retries",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "LockoutPeriod",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.LocalAgent.Request.{i}.",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Originator",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Command",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "CommandKey",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Status",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.DeviceInfo.",
"supported_params": [
{
"param_name": "SoftwareVersion",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ProductClass",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Manufacturer",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ModelName",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "HardwareVersion",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "UpTime",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ManufacturerOUI",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SerialNumber",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.Security.",
"supported_params": [
{
"param_name": "CertificateNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.Security.Certificate.{i}.",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "LastModif",
"value_type": "PARAM_DATE_TIME",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SerialNumber",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Issuer",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "NotBefore",
"value_type": "PARAM_DATE_TIME",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "NotAfter",
"value_type": "PARAM_DATE_TIME",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Subject",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SubjectAlt",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SignatureAlgorithm",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.Time.",
"supported_params": [
{
"param_name": "CurrentLocalTime",
"value_type": "PARAM_DATE_TIME",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "LocalTimeZone",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.STOMP.",
"supported_params": [
{
"param_name": "ConnectionNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.STOMP.Connection.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Status",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "LastChangeDate",
"value_type": "PARAM_DATE_TIME",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Host",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Port",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Username",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EnableEncryption",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "X_ARRIS-COM_EnableEncryption",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "IsEncrypted",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Password",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "VirtualHost",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EnableHeartbeats",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "OutgoingHeartbeat",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "IncomingHeartbeat",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ServerRetryInitialInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ServerRetryIntervalMultiplier",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ServerRetryMaxInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.MQTT.",
"supported_params": [
{
"param_name": "ClientNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.MQTT.Capabilities.",
"supported_params": [
{
"param_name": "ProtocolVersionsSupported",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "TransportProtocolSupported",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "MaxNumberOfClientSubscriptions",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.MQTT.Client.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "BrokerAddress",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "BrokerPort",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Username",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Password",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "KeepAliveTime",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ProtocolVersion",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ClientID",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Name",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "TransportProtocol",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "CleanSession",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "CleanStart",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "RequestResponseInfo",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "RequestProblemInfo",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ConnectRetryTime",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ConnectRetryIntervalMultiplier",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ConnectRetryMaxInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ResponseInformation",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Status",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "SubscriptionNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.MQTT.Client.{i}.Subscription.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Topic",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "QoS",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.BulkData.",
"supported_params": [
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Status",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "MinReportingInterval",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Protocols",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EncodingTypes",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ParameterWildCardSupported",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "MaxNumberOfProfiles",
"value_type": "PARAM_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "MaxNumberOfParameterReferences",
"value_type": "PARAM_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ProfileNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.BulkData.Profile.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_events": [
{
"event_name": "Push!",
"arg_names": [
"Data"
]
}
],
"supported_params": [
{
"param_name": "Alias",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Enable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "X_ARRIS-COM_Status",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Name",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "NumberOfRetainedFailedReports",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Protocol",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "EncodingType",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ReportingInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "TimeReference",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_DATE_TIME",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ParameterNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.BulkData.Profile.{i}.Parameter.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Name",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Reference",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.BulkData.Profile.{i}.JSONEncoding.",
"supported_params": [
{
"param_name": "ReportFormat",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "ReportTimestamp",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.BulkData.Profile.{i}.HTTP.",
"supported_params": [
{
"param_name": "URL",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Username",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Password",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "CompressionsSupported",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Compression",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "MethodsSupported",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Method",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "UseDateHeader",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "RetryEnable",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_BOOLEAN",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "RetryMinimumWaitInterval",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "RetryIntervalMultiplier",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "RequestURIParameterNumberOfEntries",
"value_type": "PARAM_UNSIGNED_INT",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
},
{
"supported_obj_path": "Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.",
"access": "OBJ_ADD_DELETE",
"is_multi_instance": true,
"supported_params": [
{
"param_name": "Name",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
},
{
"param_name": "Reference",
"access": "PARAM_READ_WRITE",
"value_type": "PARAM_STRING",
"value_change": "VALUE_CHANGE_ALLOWED"
}
]
}
]
}
]
}
}
}
}
One key distinction of GetSupportedDM Messages is how they handle Multi-Instance Objects in Path Names. Path Names to Multi-Instance Objects in GetSupportedDM Messages only address the Object itself, rather than specific instances of the Object. This means that the Path Names do not include instance numbers or identifiers.
To indicate the place of Multi-Instance Objects within the Path Name, GetSupportedDM Messages utilize the {i} identifier. The {i} identifier is a placeholder that represents instances of Multi-Instance Objects in the Path Name. It allows for dynamic addressing of instances when performing operations or retrieving information related to specific instances of Multi-Instance Objects.
Conclusion: USP GetSupportedDM Messages and GetSupportedDM Response Messages play a significant role in facilitating effective communication and discovery of supported data models within the TR-369 USP ecosystem. By leveraging these messages, Controllers can obtain vital information about an endpoint's data model, commands, events, and object structure.
References:
- TR-369 USP Specification, Broadband Forum, https://www.broadband-forum.org/tr-369
- USP Record Definitions, GitHub Repository, https://github.com/BroadbandForum/usp