{
	"Device.": {
		"type": "object",
		"protocols": [
			"cwmp",
			"usp"
		],
		"description": "The top-level object for a Device.",
		"access": false,
		"array": false,
		"RootDataModelVersion": {
			"type": "string",
			"read": true,
			"write": false,
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Root data model version, e.g. 2.4. For a vendor-defined root data model, this is the standard Broadband Forum model on which the vendor-defined model is based.",
			"datatype": "string",
			"range": [
				{
					"max": 32
				}
			],
			"pattern": [
				"2\\.\\d+"
			]
		},
		"InterfaceStackNumberOfEntries": {
			"type": "unsignedInt",
			"read": true,
			"write": false,
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "<<numentries>>",
			"datatype": "unsignedInt"
		},
		"CollectionDeviceNumberOfEntries": {
			"type": "unsignedInt",
			"read": true,
			"write": true,
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "<<numentries>>",
			"datatype": "unsignedInt"
		},
		"ProxiedDeviceNumberOfEntries": {
			"type": "unsignedInt",
			"read": true,
			"write": false,
			"protocols": [
				"usp"
			],
			"description": "<<numentries>>",
			"datatype": "unsignedInt"
		},
		"Reboot()": {
			"type": "command",
			"async": false,
			"protocols": [
				"usp"
			],
			"input": {
				"Cause": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The cause that will be contained within the <<event|#.Boot!>> Event. By default the Device SHOULD set this value to <<enum|RemoteReboot>>.",
					"datatype": "string",
					"enumerations": [
						"LocalReboot",
						"RemoteReboot"
					]
				},
				"Reason": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The reason of the boot (e.g. power on reset, watchdog, overheat, FAN fault, web userinterface, ...). When absent the implementation must set <<param>> to Unknown.",
					"datatype": "string"
				}
			}
		},
		"Boot!": {
			"type": "event",
			"protocols": [
				"usp"
			],
			"output": {
				"CommandKey": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The command_key supplied when requesting the boot, or <<empty>> if the boot was not requested via a USP operation.",
					"datatype": "string"
				},
				"Cause": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The cause of the boot.",
					"datatype": "string",
					"enumerations": [
						"LocalReboot",
						"RemoteReboot",
						"FactoryReset",
						"LocalFactoryReset",
						"RemoteFactoryReset"
					]
				},
				"Reason": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The reason of the boot (e.g. power on reset, watchdog, overheat, FAN fault, web userinterface, ...).",
					"datatype": "string"
				},
				"FirmwareUpdated": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "<<true>> if the firmware was updated as a result of the boot that caused this Event Notification; otherwise <<false>>.",
					"datatype": "boolean"
				},
				"ParameterMap": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Boot parameters configured via the recipient Controllers <<object|#.LocalAgent.Controller.<i>.BootParameter>> table. Formatted as a A JSON Object as defined in <<bibref|RFC7159|Section 4>>. | A JSON Object as defined in <<bibref|RFC7159|Section 4>>.",
					"datatype": "JSONObject"
				}
			}
		},
		"FactoryReset()": {
			"type": "command",
			"async": false,
			"protocols": [
				"usp"
			],
			"input": {
				"Cause": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The cause that will be contained within the <<event|#.Boot!>> Event. By default the Device SHOULD set this value to <<enum|RemoteFactoryReset>>.",
					"datatype": "string",
					"enumerations": [
						"LocalFactoryReset",
						"RemoteFactoryReset"
					]
				},
				"Reason": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The reason of the boot (e.g. power on reset, watchdog, overheat, FAN fault, web userinterface, ...). When absent the implementation must set <<param>> to Unknown.",
					"datatype": "string"
				}
			}
		},
		"SelfTestDiagnostics()": {
			"type": "command",
			"async": true,
			"protocols": [
				"usp"
			],
			"output": {
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Indicates the availability of diagnostics data. Enumeration of: Complete, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
					"datatype": "string",
					"enumerations": [
						"Complete",
						"Error_Internal",
						"Error_Other"
					]
				},
				"Results": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Results of self-test (vendor specific).",
					"datatype": "string",
					"range": [
						{
							"max": 1024
						}
					]
				}
			}
		},
		"PacketCaptureDiagnostics()": {
			"type": "command",
			"async": true,
			"protocols": [
				"usp"
			],
			"input": {
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A reference to a (layer 2 or above) interface object that will be the target of this packet capture diagnostic.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Format": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "This indicates whether the network trace will be recorded in libpcap <<bibref|LIBPCAP>> or pcapng format, and is dependent on the underlying method of performing a network trace.",
					"datatype": "string",
					"enumerations": [
						"libpcap",
						"pcapng"
					]
				},
				"Duration": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The duration in <<units>> to copy packets to the file target. The diagnostic completes when either the <<param>>, <<param|PacketCount>>, or <<param|ByteCount>> conditions are met.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"PacketCount": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The maximum number of packets to record to the file target. A value of zero (0) indicates no limit. The diagnostic completes when the <<param|Duration>>, <<param|ByteCount>>, or <<param>> conditions are met.",
					"datatype": "unsignedInt"
				},
				"ByteCount": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The maximum number of bytes to record to the file target. A value of zero (0) indicates no limit. The diagnostic completes when <<param|Duration>>, <<param|PacketCount>> or <<param>> conditions are met.",
					"datatype": "unsignedInt"
				},
				"FileTarget": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The <<datatype>> specifying the destination file location. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. Other transports MAY also be supported.",
					"datatype": "URL",
					"range": [
						{
							"max": 2048
						}
					]
				},
				"FilterExpression": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A (<<bibref|BPF>>) formatted expression used to restrict the types of network packets that are recorded to <<param|FileTarget>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Username to be used by the Agent to authenticate with the file location. This string is set to <<empty>> if no authentication is required.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Password to be used by the Agent to authenticate with the file location. This string is set to <<empty>> if no authentication is required.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"output": {
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
					"datatype": "string",
					"enumerations": [
						"Canceled",
						"Complete",
						"Error",
						"Error_Internal",
						"Error_Other"
					]
				}
			}
		},
		"ScheduleTimer()": {
			"type": "command",
			"async": true,
			"protocols": [
				"usp"
			],
			"input": {
				"DelaySeconds": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"mandatory": true,
					"protocols": [
						"usp"
					],
					"description": "The number of <<units>> from the time this command is invoked until the Agent responds with an OperationComplete Event notification (based on the associated subscriptions).",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				}
			}
		},
		"IoTCapabilityNumberOfEntries": {
			"type": "unsignedInt",
			"read": true,
			"write": false,
			"protocols": [
				"usp"
			],
			"description": "<<numentries>>",
			"datatype": "unsignedInt"
		},
		"NodeNumberOfEntries": {
			"type": "unsignedInt",
			"read": true,
			"write": false,
			"protocols": [
				"usp"
			],
			"description": "<<numentries>>",
			"datatype": "unsignedInt"
		},
		"Device.Services.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains general services information.",
			"access": false,
			"array": false,
			"Device.Services.VoiceService.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The top-level object for CPE with voice capabilities.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "Alias",
					"range": [
						{
							"max": 64
						}
					]
				},
				"VoIPProfileNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"CodecProfileNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"InterworkNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"TrunkNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"CallLogNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>> The value MUST be less than or equal to <<param|.Capabilities.MaxCallLogCount>>.",
					"datatype": "unsignedInt"
				},
				"TerminalNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.Services.VoiceService.{i}.Capabilities.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The overall capabilities of the VoIP CPE.",
					"access": false,
					"array": false,
					"MaxLineCount": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum total number of <<object|.CallControl.Line>> objects supported. A value of -1 indicates no specific limit on the number of lines.",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"MaxExtensionCount": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum total number of <<object|.CallControl.Extension>> objects supported. A value of -1 indicates no specific limit on the number of extensions.",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"MaxCallLogCount": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum total number of <<object|.CallLog>> objects supported. A value of -1 indicates no specific limit on the number of call logs.",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"MaxSessionsPerLine": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum number of voice sessions supported for any given <<object|.CallControl.Line>> object. A value greater than one indicates support for CPE-provided conference calling. A value of -1 indicates no specific limit on the number of voice sessions per line.",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"MaxSessionsPerExtension": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum number of voice sessions supported for any given <<object|.CallControl.Extension>> object. A value greater than one indicates support for CPE-provided conference calling. A value of -1 indicates no specific limit on the number of voice sessions per extension.",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"MaxSessionCount": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum total number of voice sessions supported across all <<object|.CallControl.Line>> objects. (This might differ from <<param|MaxLineCount>> if each line can support more than one session for CPE-provided conference calling. This value MAY be less than the product of <<param|MaxLineCount>> and <<param|MaxSessionsPerLine>>.) A value of -1 indicates no specific limit on the number of voice sessions.",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"NetworkConnectionModes": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each item is a supported network connection mode. <<pattern>> Most entries MAY be appended with a version indicator in the form /X.Y. For example: SIP/2.0 The list MAY include vendor-specific modes, which MUST be in the format defined in <<bibref|TR-106>>. For example: X_EXAMPLE-COM_MyMode",
						"list": {
							"datatype": "string",
							"pattern": [
								"SIP(/\\d+\\.\\d+)?",
								"MGCP(/\\d+\\.\\d+)?",
								"MGCP-NCS(/\\d+\\.\\d+)?",
								"H\\.248(/\\d+\\.\\d+)?",
								"H\\.323(/\\d+\\.\\d+)?",
								"DSS1",
								"FXO",
								"X_.+"
							]
						}
					},
					"UserConnectionModes": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each item is a supported user connection mode. <<pattern>> Most entries MAY be appended with a version indicator in the form /X.Y. For example: SIP/2.0 The list MAY include vendor-specific modes, which MUST be in the format defined in <<bibref|TR-106>>. For example: X_EXAMPLE-COM_MyMode",
						"list": {
							"datatype": "string",
							"pattern": [
								"SIP(/\\d+\\.\\d+)?",
								"DSS1",
								"FXS",
								"DECT(/\\d+\\.\\d+)?",
								"Button",
								"Virtual",
								"X_.+"
							]
						}
					},
					"ToneFileFormats": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each item is a supported tone file format. The specified file formats are raw codec data files, using one of the codecs listed below. Enumeration of: G.711MuLaw, G.711ALaw, G.729, MP3, WAV, AMR. The list MAY include vendor-specific -specific extensions, which MUST use the format defined in <<bibref|TR-106>>. Example: G.711MuLaw, MP3, X_EXAMPLE-COM_MyFileFormat If the CPE does not support tone files, this parameter MUST be <<empty>>.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"G.711MuLaw",
								"G.711ALaw",
								"G.729",
								"MP3",
								"WAV",
								"AMR"
							]
						}
					},
					"RingFileFormats": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each item is a supported ring file format. Enumeration of: MIDI, SMAF, RTTTL, MP3, WAV, AMR. The list MAY include vendor-specific-specific extensions, which MUST use the format defined in <<bibref|TR-106>>. Example: MIDI, AMR, X_EXAMPLE-COM_MyFileFormat If the CPE does not support ring files, this parameter MUST be <<empty>>.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"MIDI",
								"SMAF",
								"RTTTL",
								"MP3",
								"WAV",
								"AMR"
							]
						}
					},
					"FacilityActions": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The facility actions supported by this VoiceService. Enumeration of: AA_REGISTER, AA_ERASE, AA_INTERROGATE, CA_ACTIVATE, CCBS_ACTIVATE, CCBS_DEACTIVATE, CCBS_INTERROGATE, CCNR_ACTIVATE, CCNR_DEACTIVATE, CCNR_INTERROGATE, CFB_REGISTER, CFB_ACTIVATE, CFB_DEACTIVATE, CFB_ERASE, CFB_INTERROGATE, CFNR_REGISTER, CFNR_ACTIVATE, CFNR_DEACTIVATE, CFNR_ERASE, CFNR_INTERROGATE, CFNR_TIMER, CFT_ACTIVATE, CFT_DEACTIVATE, CFT_INTERROGATE, CFU_REGISTER, CFU_ACTIVATE, CFU_DEACTIVATE, CFU_ERASE, CFU_INTERROGATE, CLIR_ACTIVATE, CLIR_DEACTIVATE, CLIR_INTERROGATE, CP_INVOKE, CW_ACTIVATE, CW_DEACTIVATE, CW_INVOKE, DND_ACTIVATE, DND_DEACTIVATE, DND_INTERROGATE, EXT_INVOKE, LINE_INVOKE, MAILBOX_INVOKE, OCB_ACTIVATE, OCB_DEACTIVATE, OCB_INTERROGATE, PSO_ACTIVATE, PW_SET, SCF_ACTIVATE, SCF_DEACTIVATE, SCF_INTERROGATE, SCREJ_ACTIVATE, SCREJ_DEACTIVATE, SCREJ_INTERROGATE, SR_ACTIVATE, SR_DEACTIVATE, SR_INTERROGATE. The list MAY include vendor-specific Facility Actions, which MUST use the format defined in <<bibref|TR-106>>. Facility Actions are referenced in the VoiceService data model in the objects <<object|.CallControl.NumberingPlan.<i>.PrefixInfo.<i>.>> and <<object|.Terminal.<i>.ButtonMap.Button.<i>.>>.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"AA_REGISTER",
								"AA_ERASE",
								"AA_INTERROGATE",
								"CA_ACTIVATE",
								"CCBS_ACTIVATE",
								"CCBS_DEACTIVATE",
								"CCBS_INTERROGATE",
								"CCNR_ACTIVATE",
								"CCNR_DEACTIVATE",
								"CCNR_INTERROGATE",
								"CFB_REGISTER",
								"CFB_ACTIVATE",
								"CFB_DEACTIVATE",
								"CFB_ERASE",
								"CFB_INTERROGATE",
								"CFNR_REGISTER",
								"CFNR_ACTIVATE",
								"CFNR_DEACTIVATE",
								"CFNR_ERASE",
								"CFNR_INTERROGATE",
								"CFNR_TIMER",
								"CFT_ACTIVATE",
								"CFT_DEACTIVATE",
								"CFT_INTERROGATE",
								"CFU_REGISTER",
								"CFU_ACTIVATE",
								"CFU_DEACTIVATE",
								"CFU_ERASE",
								"CFU_INTERROGATE",
								"CLIR_ACTIVATE",
								"CLIR_DEACTIVATE",
								"CLIR_INTERROGATE",
								"CP_INVOKE",
								"CW_ACTIVATE",
								"CW_DEACTIVATE",
								"CW_INVOKE",
								"DND_ACTIVATE",
								"DND_DEACTIVATE",
								"DND_INTERROGATE",
								"EXT_INVOKE",
								"LINE_INVOKE",
								"MAILBOX_INVOKE",
								"OCB_ACTIVATE",
								"OCB_DEACTIVATE",
								"OCB_INTERROGATE",
								"PSO_ACTIVATE",
								"PW_SET",
								"SCF_ACTIVATE",
								"SCF_DEACTIVATE",
								"SCF_INTERROGATE",
								"SCREJ_ACTIVATE",
								"SCREJ_DEACTIVATE",
								"SCREJ_INTERROGATE",
								"SR_ACTIVATE",
								"SR_DEACTIVATE",
								"SR_INTERROGATE"
							]
						}
					},
					"CodecNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.Capabilities.SIP.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "SIP-specific capabilities (as defined in <<bibref|RFC3261>>).",
						"access": false,
						"array": false,
						"Device.Services.VoiceService.{i}.Capabilities.SIP.Client.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "SIP client capabilities.",
							"access": false,
							"array": false,
							"Extensions": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported SIP extension method among the methods listed in the IANA SIP parameters registry (see <<bibref|IANA_SIP_Methods>>). SIP extension methods MUST be in the form of the method name in upper case. The list MAY include vendor-specific extensions, which MUST use the format defined in <<bibref|TR-106>>. Examples: : REFER : INFO : X_EXAMPLE-COM_MyExt",
								"list": {
									"datatype": "string"
								}
							},
							"URISchemes": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported URI scheme beyond the URI schemes REQUIRED by the SIP specification (<<bibref|RFC3261>>). Each URI scheme is given by the URI prefix, without the colon separator. Example: tel, fax",
								"list": {
									"datatype": "string"
								}
							},
							"EventTypes": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported event package among the event packages listed in the IANA registry for SIP Event Type Namespace (see <<bibref|IANA_Event_Packages>>). The list MAY include vendor-specific event packages, which MUST use the format defined in <<bibref|TR-106>>. Examples: : call-completion : presence : X_EXAMPLE-COM_MyEvtPkg",
								"list": {
									"datatype": "string"
								}
							},
							"TLSAuthenticationProtocols": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported authentication protocol for TLS transport. Enumeration of: Null, MD5, SHA-1, SHA-2, AEAD. The list MAY include vendor-specific protocols, which MUST use the format defined in <<bibref|TR-106>>.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"Null",
										"MD5",
										"SHA-1",
										"SHA-2",
										"AEAD"
									]
								}
							},
							"TLSAuthenticationKeySizes": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item represents a supported TLS authentication key size.",
								"list": {
									"datatype": "unsignedInt"
								}
							},
							"TLSEncryptionProtocols": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported encryption protocol for TLS transport. Enumeration of: Null, RC4, RC2, DES, 3DES, AES, Camellia. The list MAY include vendor-specific protocols, which MUST use the format defined in <<bibref|TR-106>>.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"Null",
										"RC4",
										"RC2",
										"DES",
										"3DES",
										"AES",
										"Camellia"
									]
								}
							},
							"TLSEncryptionKeySizes": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported TLS encryption key size.",
								"list": {
									"datatype": "unsignedInt"
								}
							},
							"TLSKeyExchangeProtocols": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported key exchange protocol for TLS transport. Enumeration of: RSA, DSS, DHE-RSA, DHE-DSS, ECDHE-RSA, ECDHE-ECDSA. The list MAY include vendor-specific protocols, which MUST use the format defined in <<bibref|TR-106>>.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"RSA",
										"DSS",
										"DHE-RSA",
										"DHE-DSS",
										"ECDHE-RSA",
										"ECDHE-ECDSA"
									]
								}
							}
						},
						"Device.Services.VoiceService.{i}.Capabilities.SIP.Registrar.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "SIP registrar capabilities.",
							"access": false,
							"array": false,
							"Extensions": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported SIP extension method among the methods listed in the IANA SIP parameters registry (see <<bibref|IANA_SIP_Methods>>). SIP extension methods MUST be in the form of the method name in upper case. The list MAY include vendor-specific extensions, which MUST use the format defined in <<bibref|TR-106>>. Examples: : REFER : INFO : X_EXAMPLE-COM_MyExt",
								"list": {
									"datatype": "string"
								}
							},
							"URISchemes": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported URI scheme beyond the URI schemes REQUIRED by the SIP specification. Each URI scheme is given by the URI prefix, without the colon separator. Example: tel, fax",
								"list": {
									"datatype": "string"
								}
							},
							"EventTypes": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported event package among the event packages listed in the IANA registry for SIP Event Type Namespace (see <<bibref|IANA_Event_Packages>>). The list MAY include vendor-specific event packages, which MUST use the format defined in <<bibref|TR-106>>. Examples: : call-completion : presence : X_EXAMPLE-COM_MyEvtPkg",
								"list": {
									"datatype": "string"
								}
							},
							"TLSAuthenticationProtocols": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported authentication protocol for TLS transport. Enumeration of: Null, MD5, SHA-1, SHA-2, AEAD. The list MAY include vendor-specific protocols, which MUST use the format defined in <<bibref|TR-106>>.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"Null",
										"MD5",
										"SHA-1",
										"SHA-2",
										"AEAD"
									]
								}
							},
							"TLSAuthenticationKeySizes": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item represents a supported TLS authentication key size.",
								"list": {
									"datatype": "unsignedInt"
								}
							},
							"TLSEncryptionProtocols": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported encryption protocol for TLS transport. Enumeration of: Null, RC4, RC2, DES, 3DES, AES, Camellia. The list MAY include vendor-specific protocols, which MUST use the format defined in <<bibref|TR-106>>.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"Null",
										"RC4",
										"RC2",
										"DES",
										"3DES",
										"AES",
										"Camellia"
									]
								}
							},
							"TLSEncryptionKeySizes": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported TLS encryption key size.",
								"list": {
									"datatype": "unsignedInt"
								}
							},
							"TLSKeyExchangeProtocols": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Each item is a supported key exchange protocol for TLS transport. Enumeration of: RSA, DSS, DHE-RSA, DHE-DSS, ECDHE-RSA, ECDHE-ECDSA. The list MAY include vendor-specific protocols, which MUST use the format defined in <<bibref|TR-106>>.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"RSA",
										"DSS",
										"DHE-RSA",
										"DHE-DSS",
										"ECDHE-RSA",
										"ECDHE-ECDSA"
									]
								}
							}
						}
					},
					"Device.Services.VoiceService.{i}.Capabilities.MGCP.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "MGCP-specific capabilities (as defined in <<bibref|RFC3435>>).",
						"access": false,
						"array": false,
						"Extensions": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Each item is a supported optional MGCP package. MGCP packages are listed using the uppercase package abbreviation. The list MAY include vendor-specific extensions, which MUST use the format defined in <<bibref|TR-106>>. Examples: : BP : X_EXAMPLE-COM_MyExt",
							"list": {
								"datatype": "string"
							}
						}
					},
					"Device.Services.VoiceService.{i}.Capabilities.H323.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "H.323-specific capabilities (as defined in <<bibref|H.323>>).",
						"access": false,
						"array": false,
						"FastStart": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Support for H.323 fast start. If <<true>> indicates support for fast start.",
							"datatype": "boolean"
						},
						"H235AuthenticationMethods": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Each item is a supported authentication method. Enumeration of: dhExch, pwdSymEnc, pwdHash, certSign, ipsec, tls. The list MAY include vendor-specific protocols, which MUST use the format defined in <<bibref|TR-106a7>>.",
							"list": {
								"datatype": "string",
								"enumerations": [
									"dhExch",
									"pwdSymEnc",
									"pwdHash",
									"certSign",
									"ipsec",
									"tls"
								]
							}
						}
					},
					"Device.Services.VoiceService.{i}.Capabilities.ISDN.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The overall ISDN capabilities of external ports of the CPE.",
						"access": false,
						"array": false,
						"MSN": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external ISDN ports support <<bibref|I.251.2>> Number identification supplementary services: Multiple Subscriber Number",
							"datatype": "boolean"
						},
						"DDI": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external ISDN ports support <<bibref|I.251.1>> Number identification supplementary services: Direct-dialling-In",
							"datatype": "boolean"
						},
						"MCID": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external ISDN ports support <<bibref|I.251.7>> Number identification supplementary services: Malicious call Identification",
							"datatype": "boolean"
						},
						"MWI": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external ISDN ports support Message Waiting Indication (MWI)",
							"datatype": "boolean"
						},
						"AoC": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external ISDN ports support one or more of the followings AOC-services: <<bibref|I.256.2a>> Charging supplementary services: Advice of charge: charging information at call set-up time (AOC-S) <<bibref|I.256.2b>> Charging supplementary services: Advice of charge: charging information during the call (AOC-D) <<bibref|I.256.2c>> Charging supplementary services: Advice of charge: charging information at the end of the call (AOC-E)",
							"datatype": "boolean"
						},
						"ECT": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external ISDN ports support <<bibref|I.252.7>> Call offering supplementary services: Explicit call transfer (ECT)",
							"datatype": "boolean"
						}
					},
					"Device.Services.VoiceService.{i}.Capabilities.POTS.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The overall POTS capabilities of external ports of the CPE.",
						"access": false,
						"array": false,
						"DialType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The supported supported dial type.",
							"datatype": "string",
							"enumerations": [
								"Tone",
								"Pulse",
								"Tone and Pulse"
							]
						},
						"ClipGeneration": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external POTS ports support Calling Line identification (CLIP).",
							"datatype": "boolean"
						},
						"ChargingPulse": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external POTS ports support transmittal of a charging pulse according to TR1 TR 110.",
							"datatype": "boolean"
						}
					},
					"Device.Services.VoiceService.{i}.Capabilities.Codec.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Table to describe the set of supported codecs.",
						"uniqueKeys": [
							"Alias",
							"Codec",
							"BitRate"
						],
						"access": false,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Codec": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Identifier of the type of codec. Enumeration of: AMR, Clearmode, EVRC1, EVRCB1, G.711MuLaw, G.711ALaw, G.726, G.729, G.729.1, G.729a, G.729e, G.728, G.723.1, G.722, G.722.1, G.722.2, Generic Comfort Noise, GSM-FR, GSM-HR, GSM-EFR, iLBC, Speex. The parameter MAY instead be a vendor-specific codec, which MUST be in the format defined in <<bibref|TR-106>>. For example: X_EXAMPLE-COM_MyCodec",
							"datatype": "string",
							"enumerations": [
								"AMR",
								"Clearmode",
								"EVRC1",
								"EVRCB1",
								"G.711MuLaw",
								"G.711ALaw",
								"G.726",
								"G.729",
								"G.729.1",
								"G.729a",
								"G.729e",
								"G.728",
								"G.723.1",
								"G.722",
								"G.722.1",
								"G.722.2",
								"Generic Comfort Noise",
								"GSM-FR",
								"GSM-HR",
								"GSM-EFR",
								"iLBC",
								"Speex"
							]
						},
						"BitRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Bit rate, specified in <<units>>. The value MUST be among the values appropriate for the specified codec.",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"PacketizationPeriod": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Each item is a supported packetization period, in milliseconds, or a continuous range of packetization periods. Ranges are indicated as a hyphen-separated pair of unsigned integers. Examples: : 20 indicates a single discrete value. : 10, 20, 30 indicates a set of discrete values. : 5-40 indicates a continuous inclusive range. : 5-10, 20, 30 indicates a continuous range in addition to a set of discrete values. A range MUST only be indicated if all values within the range are supported.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 64
									}
								]
							}
						},
						"SilenceSuppression": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>> indicates support for silence suppression for this codec.",
							"datatype": "boolean"
						}
					},
					"Device.Services.VoiceService.{i}.Capabilities.QualityIndicator.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specific capabilities concerning quality indicators.",
						"access": false,
						"array": false,
						"QIModelsSupported": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Comma-separated list of supported models for evaluation of VoIP Quality Indicator. <<empty>> indicates that CPE does not support evaluation of this indicator. The entry MAY include vendor-specific models, which MUST be in the format defined in <<bibref|TR-106>>. For example: \u201cP.564,G.107,X_EXAMPLE-COM_MyModel\u201d",
							"datatype": "string"
						},
						"MaxQIValues": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the maximum number of QI values which can be reported for a session. If this parameter is empty there is no specified maximum limit. If possible this limit SHOULD be large enough to handle at least 10 to 15 minutes of call time, which would typically mean 60 to 90 quality values for commonly used quality models.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 127
								}
							]
						},
						"MaxWorstQIValues": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum number of worst QI values which the CPE is able to store and report. A value of 0 indicates no specific maximum number of worst QI values.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 127
								}
							]
						}
					}
				},
				"Device.Services.VoiceService.{i}.ReservedPorts.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The list of IP ports on the CPE WAN and LAN interfaces that will not be allocated by the ACS and therefore are available to be allocated by the CPE. The CPE can dynamically allocate ports from this range for things like signaling listening ports or local RTP ports.",
					"access": false,
					"array": false,
					"WANPortRange": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Range of ports reserved for use by the CPE on any WAN interface. <<list>> Each range consists of a Start part consisting of 1 to n digits (string representation) followed by an OPTIONAL End part consisting of 1 to n digits prefixed by a - symbol. Example: : 12345-12350,23580",
						"list": {
							"datatype": "string"
						}
					},
					"LANPortRange": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Range of ports reserved for use by the CPE on any LAN interfaces. <<list>> Each range consists of a Start part consisting of 1 to n digits (string representation) followed by an OPTIONAL End part consisting of 1 to n digits prefixed by a - symbol. Example: : 12345-12350,23580",
						"list": {
							"datatype": "string"
						}
					}
				},
				"Device.Services.VoiceService.{i}.ISDN.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object models ISDN physical interfaces (BRI and PRI) supporting <<bibref|Q.931>> based signalling.",
					"access": false,
					"array": false,
					"BRINumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"PRINumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.ISDN.BRI.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "ISDN BRI physical interfaces table (a voice physical interface as described in <<bibref|TR-104i2|Section 4.1>>).",
						"uniqueKeys": [
							"Name",
							"Alias"
						],
						"access": false,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this ISDN BRI interface.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this physical interface.",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Error",
								"Testing",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The textual name of the interface as assigned by the CPE.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"ToneEventProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Reference to the <<object|.Tone.EventProfile>> to use with this interface. If this parameter is <<empty>>, the value of <<param|.Tone.DefautEventProfile>> is used instead.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ApplicationInterface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specify the type of application that uses the interface.",
							"datatype": "string",
							"enumerations": [
								"VoIP",
								"VoATM",
								"Data"
							]
						},
						"Protocol": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the protocol variant used for the interface. Enumeration of: EuroISDN, NI-1, NI-2, 5ESS, NTT, VN3, VN4, Q.SIG. The list MAY include vendor-specific protocols, which MUST use the format defined in <<bibref|TR-106>>.",
							"datatype": "string",
							"enumerations": [
								"EuroISDN",
								"NI-1",
								"NI-2",
								"5ESS",
								"NTT",
								"VN3",
								"VN4",
								"Q.SIG"
							]
						},
						"ProtocolEmulation": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Protocol emulation for the interface.",
							"datatype": "string",
							"enumerations": [
								"TE",
								"NT"
							]
						},
						"PermanentLayer2": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, avoid the disconnection of the ISDN layer 2 when the ISDN terminal or the ISDN network disconnects the layer 2 (in static TEI mode); it will be maintained established.",
							"datatype": "boolean"
						},
						"PermanentLayer1": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maintain the ISDN layer 1 up; it is useful for clocking and management.",
							"datatype": "boolean"
						},
						"LapdDisconnectionTimeout": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Avoid the disconnection of the ISDN layer 1 or 2 up when there is no call in progress in dynamic TEI mode.",
							"datatype": "boolean"
						},
						"TEINegotiation": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "TEI management mode. It MUST be set to <<enum|Dynamic>> for ISDN phones or connection to an ISDN network and <<enum|Static>> for PBX.",
							"datatype": "string",
							"enumerations": [
								"Static",
								"Dynamic"
							]
						},
						"StaticTEI": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "TEI value in static mode.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 63
								}
							]
						},
						"LifeLineHold": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable the lifeline bypass on the BRI S0 voice module. If the interface is used by the VoIP gateway, the bypass is enabled if the CPE is not registered on registration server.",
							"datatype": "boolean"
						},
						"PowerSourceOne": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "To enable (disable) the power source one (PS1) on the BRI interfaces.",
							"datatype": "boolean"
						},
						"MaxNumBChannels": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum number of simultaneous B channels.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 2
								}
							]
						},
						"OutboundOnlyBChannels": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list|reserved B-channels which can be used only for outbound calls>>",
							"list": {
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 1,
										"max": 2
									}
								]
							}
						},
						"InboundOnlyBChannels": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list|reserved B-channels which can be used only for inbound calls>>",
							"list": {
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 1,
										"max": 2
									}
								]
							}
						},
						"BidirectionalBChannels": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list|reserved B-channels which can be used bidirectional>>",
							"list": {
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 1,
										"max": 2
									}
								]
							}
						}
					},
					"Device.Services.VoiceService.{i}.ISDN.PRI.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "ISDN PRI physical interfaces table (a voice physical interface as described in <<bibref|TR-104i2|Section 4.1>>).",
						"uniqueKeys": [
							"Name",
							"Alias"
						],
						"access": false,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this ISDN PRI interface.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this physical interface.",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Error",
								"Testing",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The textual name of the interface as assigned by the CPE.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"ToneEventProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Reference to the <<object|.Tone.EventProfile>> to use with this interface. If this parameter is <<empty>>, the value of <<param|.Tone.DefautEventProfile>> is used instead.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ApplicationInterface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specify the type of application that uses the interface.",
							"datatype": "string",
							"enumerations": [
								"VoIP",
								"VoATM",
								"Data"
							]
						},
						"Protocol": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the protocol variant used for the interface. Enumeration of: EuroISDN, NI-1, NI-2, 4ESS, 5ESS, NTT, Q.SIG. The list MAY include vendor-specific protocols, which MUST use the format defined in <<bibref|TR-106>>.",
							"datatype": "string",
							"enumerations": [
								"EuroISDN",
								"NI-1",
								"NI-2",
								"4ESS",
								"5ESS",
								"NTT",
								"Q.SIG"
							]
						},
						"ProtocolEmulation": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specify the protocol emulation for this interface.",
							"datatype": "string",
							"enumerations": [
								"TE",
								"NT"
							]
						},
						"PermanentLayer2": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, avoid the disconnection of the ISDN layer 2 when the ISDN terminal or the ISDN network disconnects the layer 2 (in static TEI mode); it will be maintained established.",
							"datatype": "boolean"
						},
						"Linecode": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specify the physical line coding to be used.",
							"datatype": "string",
							"enumerations": [
								"ami",
								"hdb3",
								"b8zs"
							]
						},
						"ESF": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specify the framing type.",
							"datatype": "string",
							"enumerations": [
								"None",
								"DF",
								"MF",
								"EMF",
								"SF",
								"ESF",
								"AutoDetect"
							]
						},
						"PhysicalInterfaceType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enumeration of: T1, E1.",
							"datatype": "string",
							"enumerations": [
								"T1",
								"E1"
							]
						},
						"MaxNumBChannels": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum number of simultaneous B channels.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 30
								}
							]
						},
						"OutboundOnlyBChannels": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list|reserved B-channels which can be used only for outbound calls>>",
							"list": {
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 31
									}
								]
							}
						},
						"InboundOnlyBChannels": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list|reserved B-channels which can be used only for inbound calls>>",
							"list": {
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 31
									}
								]
							}
						},
						"BidirectionalBChannels": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list|reserved B-channels which can be used bidirectional>>",
							"list": {
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 31
									}
								]
							}
						},
						"ClockMode": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines the role of the CPE for the purpose of clock synchronisation on this interface.",
							"datatype": "string",
							"enumerations": [
								"Master",
								"Slave"
							]
						}
					}
				},
				"Device.Services.VoiceService.{i}.POTS.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object models analogue lines. Both FXO and FXS are handled.",
					"access": false,
					"array": false,
					"FXONumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"FXSNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Region": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The geographic region associated to POTS (MUST be an alpha-2 (two-character alphabetic) country code as specified by <<bibref|ISO3166-1>>). This MAY be used by the CPE to customize localization settings. If <<empty>>, indicates that the region is unspecified and the CPE SHOULD use default localization settings.",
						"datatype": "string",
						"range": [
							{
								"max": 2
							}
						]
					},
					"Device.Services.VoiceService.{i}.POTS.FXO.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "FXO physical interfaces table (a voice physical interface as described in <<bibref|TR-104i2|Section 4.1>>). Each entry in the table models an analogue physical interface as defined by <<bibref|ETSI_ES_203_021>>",
						"uniqueKeys": [
							"Name",
							"Alias"
						],
						"access": false,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this FXO interface.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this physical interface.",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Error",
								"Testing",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The textual name of the interface as assigned by the CPE.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"ToneEventProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Reference to the <<object|.Tone.EventProfile>> to use with this interface. If this parameter is <<empty>>, the value of <<param|.Tone.DefautEventProfile>> is used instead.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"SecondStepDialing": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables the second step dialing mode. If <<false>>, incoming dialed digits are processed through the voice routing table. If <<true>>, the FXO port goes directly to the off-hook state and works as a FXS port for the dialing reception (a dial-tone is transmitted). The received digits are processed through the routing table until a match is found. If a match is found, the call is routed to the appropriate subscriber.",
							"default": "false",
							"datatype": "boolean"
						},
						"TimeoutBeforeDialing": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the time in <<units>> between off-hook and the transmission of the first digit for FXO interface.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 60
								}
							],
							"unit": "seconds"
						},
						"RingingTimeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Defines the timeout in <<units>> for incoming call on this FXO port: after receiving a ringing signal, the call is disconnected if no ringing signal is received anymore during this time.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 30
								}
							],
							"unit": "seconds"
						},
						"RingNumber": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Defines the number of pulses for ringing signal detection on FXO port.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 40
								}
							]
						},
						"OnHookMinDuration": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specify the minimum duration in <<units>> of the on-hook state between two successive calls.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 20,
									"max": 10000
								}
							],
							"unit": "milliseconds"
						},
						"SignalingMode": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Signaling mode used for line seizure by the CPE.",
							"default": "LoopStart",
							"datatype": "string",
							"enumerations": [
								"LoopStart",
								"GroundStart"
							]
						},
						"DTMFDialoutInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time interval in <<units>> between dialing DTMF digits to PSTN. See also <<bibref|ETSI_ES_203_021>>",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 20,
									"max": 10000
								}
							],
							"unit": "milliseconds"
						},
						"CallerIdDetectionEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables the detection of CallerId for incoming calls. See also <<bibref|ETSI_ES_203_021>>.",
							"datatype": "boolean"
						},
						"Active": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines if this physical interface is plugged.",
							"datatype": "boolean"
						},
						"DiagTests()": {
							"type": "command",
							"async": true,
							"protocols": [
								"usp"
							],
							"input": {
								"TestSelector": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates which test to perform. Enumeration of: Battery, DialTone. The parameter MAY instead indicate a vendor-specific test, which MUST use the format defined in <<bibref|TR-106>>. For example: X_EXAMPLE-COM_MyTest",
									"datatype": "string",
									"enumerations": [
										"Battery",
										"DialTone"
									]
								}
							},
							"output": {
								"Status": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
									"datatype": "string",
									"enumerations": [
										"Canceled",
										"Complete",
										"Error",
										"Error_Internal",
										"Error_Other"
									]
								},
								"TestResult": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Result of the selected test. Enumeration of: Success, Failure. The parameter MAY instead indicate a vendor-specific result, which MUST use the format defined in <<bibref|TR-106>>. For example: X_EXAMPLE-COM_MyResult",
									"datatype": "string",
									"enumerations": [
										"Success",
										"Failure"
									]
								}
							}
						},
						"Device.Services.VoiceService.{i}.POTS.FXO.{i}.DiagTests.": {
							"type": "object",
							"protocols": [
								"cwmp"
							],
							"description": "FXO port tests.",
							"access": false,
							"array": false,
							"DiagnosticsState": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
								"datatype": "DiagnosticsState",
								"enumerations": [
									"None",
									"Requested",
									"Canceled",
									"Complete",
									"Error"
								]
							},
							"TestSelector": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "Indicates which test to perform. Enumeration of: Battery, DialTone. The parameter MAY instead indicate a vendor-specific test, which MUST use the format defined in <<bibref|TR-106>>. For example: X_EXAMPLE-COM_MyTest",
								"datatype": "string",
								"enumerations": [
									"Battery",
									"DialTone"
								]
							},
							"TestResult": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "Result of the selected test. Enumeration of: Success, Failure. The parameter MAY instead indicate a vendor-specific result, which MUST use the format defined in <<bibref|TR-106>>. For example: X_EXAMPLE-COM_MyResult",
								"datatype": "string",
								"enumerations": [
									"Success",
									"Failure"
								]
							}
						}
					},
					"Device.Services.VoiceService.{i}.POTS.FXS.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "FXS physical interfaces table (a voice physical interface as described in <<bibref|TR-104i2|Section 4.1>>). Each entry in the table models an analogue physical interface as defined by <<bibref|ETSI_ES_201_970>>",
						"uniqueKeys": [
							"Name",
							"Alias"
						],
						"access": false,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this FXS interface.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this physical interface.",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Error",
								"Testing",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The textual name of the interface as assigned by the CPE.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"ToneEventProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Reference to the <<object|.Tone.EventProfile>> to use with this interface. If this parameter is <<empty>>, the value of <<param|.Tone.DefautEventProfile>> is used instead.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"FaxPassThrough": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the support for pass-through of fax data of this interface. Enumeration of: Disable, Auto, Force.",
							"datatype": "string",
							"enumerations": [
								"Disable",
								"Auto",
								"Force"
							]
						},
						"ModemPassThrough": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the support for pass-through of modem data of this interface. Enumeration of: Disable, Auto, Force.",
							"datatype": "string",
							"enumerations": [
								"Disable",
								"Auto",
								"Force"
							]
						},
						"DialType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Dial type used on the line.",
							"datatype": "string",
							"enumerations": [
								"Tone",
								"Pulse"
							]
						},
						"ClipGeneration": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Whether the Calling Line identification (CLIP) is enabled.",
							"datatype": "boolean"
						},
						"ChargingPulse": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Whether a charging pulse is transmitted on the line.",
							"datatype": "boolean"
						},
						"Active": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates whether a terminal is plugged on this physical interface.",
							"datatype": "boolean"
						},
						"TerminalType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Defines the terminal type plugged on this interface to determine the correct signaling to be used to contact the terminal.",
							"datatype": "string",
							"enumerations": [
								"Audio",
								"Fax",
								"Modem",
								"Any"
							]
						},
						"DiagTests()": {
							"type": "command",
							"async": true,
							"protocols": [
								"usp"
							],
							"input": {
								"TestSelector": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates which GR-909 test to perform.",
									"datatype": "string",
									"enumerations": [
										"Hazard Potential",
										"Foreign Voltage",
										"Resistive Faults",
										"Off-hook",
										"REN"
									]
								}
							},
							"output": {
								"Status": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
									"datatype": "string",
									"enumerations": [
										"Canceled",
										"Complete",
										"Error",
										"Error_Internal",
										"Error_Other"
									]
								},
								"TestResult": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Result of the selected test.",
									"datatype": "string",
									"enumerations": [
										"Success",
										"Failure"
									]
								}
							}
						},
						"Device.Services.VoiceService.{i}.POTS.FXS.{i}.VoiceProcessing.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Parameters related to voice processing (analogue/digital conversion) capabilities.",
							"access": false,
							"array": false,
							"TransmitGain": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Gain in <<units>> to apply to the transmitted voice signal prior to encoding. This gain is a modifier of the default transmit-gain, which is unspecified.",
								"datatype": "int",
								"unit": "0.1 dB"
							},
							"ReceiveGain": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Gain in <<units>> to apply to the received voice signal after decoding. This gain is a modifier of the default receive-gain, which is unspecified.",
								"datatype": "int",
								"unit": "0.1 dB"
							},
							"EchoCancellationEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable echo cancellation for this line.",
								"datatype": "boolean"
							},
							"EchoCancellationInUse": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indication of whether or not echo cancellation is currently in use for this line.",
								"datatype": "boolean"
							},
							"EchoCancellationTail": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tail length in <<units>> of the echo canceller associated with this line (whether or not it is currently in use).",
								"datatype": "unsignedInt",
								"unit": "milliseconds"
							}
						},
						"Device.Services.VoiceService.{i}.POTS.FXS.{i}.DiagTests.": {
							"type": "object",
							"protocols": [
								"cwmp"
							],
							"description": "FXS port tests.",
							"access": false,
							"array": false,
							"DiagnosticsState": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
								"datatype": "DiagnosticsState",
								"enumerations": [
									"None",
									"Requested",
									"Canceled",
									"Complete",
									"Error"
								]
							},
							"TestSelector": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "Indicates which GR-909 test to perform.",
								"datatype": "string",
								"enumerations": [
									"Hazard Potential",
									"Foreign Voltage",
									"Resistive Faults",
									"Off-hook",
									"REN"
								]
							},
							"TestResult": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "Result of the selected test.",
								"datatype": "string",
								"enumerations": [
									"Success",
									"Failure"
								]
							}
						}
					},
					"Device.Services.VoiceService.{i}.POTS.Ringer.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains the ring sequences configured for analogue lines.",
						"access": false,
						"array": false,
						"EventNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.Services.VoiceService.{i}.POTS.Ringer.Event.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Table of events for which a ring pattern is defined. The table is pre-populated with the complete list of events for which the CPE supports definition of ring patterns.",
							"uniqueKeys": [
								"Alias",
								"Function"
							],
							"access": false,
							"array": true,
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"Function": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The event for which the ring pattern is to apply. Enumeration of: Default, CCBSCallBack, CCNRCallBack, InternalCall, RingSplash, Group. The parameter MAY instead indicate a vendor-specific event name, which MUST use the format defined in <<bibref|TR-106>>.",
								"datatype": "string",
								"enumerations": [
									"Default",
									"CCBSCallBack",
									"CCNRCallBack",
									"InternalCall",
									"RingSplash",
									"Group"
								]
							},
							"Cadence": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> The values represent an alternating pattern of times (in <<units>>) when the ringer is ON or OFF. Example: 1000,5000 See also <<bibref|ETSI_TR_101_183>>.",
								"list": {
									"datatype": "unsignedInt",
									"item": {
										"max": 10
									},
									"unit": "milliseconds"
								}
							}
						}
					}
				},
				"Device.Services.VoiceService.{i}.DECT.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object models DECT bases and portables.",
					"access": false,
					"array": false,
					"BaseNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"PortableNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.DECT.Base.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DECT base table (a voice physical interface as described in <<bibref|TR-104i2|Section 4.1>>).",
						"uniqueKeys": [
							"RFPI",
							"Name",
							"Alias"
						],
						"access": false,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this base.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this base.",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Error",
								"Testing",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The textual name of the interface as assigned by the CPE.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"ToneEventProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Reference to the <<object|.Tone.EventProfile>> to use with this interface. If this parameter is <<empty>>, the value of <<param|.Tone.DefautEventProfile>> is used instead.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Standard": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The highest DECT protocol version supported by the base.",
							"datatype": "string",
							"enumerations": [
								"GAP",
								"CAT-iq 1.0",
								"CAT-iq 2.0",
								"CAT-iq 2.1",
								"CAT-iq 3.0",
								"CAT-iq 4.0"
							]
						},
						"RFPI": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The Radio Fixed Part Identity which uniquely identifies the Base. The RFPI is a 40 bits number stored in a hexbinary string. The format of the number is class-dependant and is defined in <<bibref|ETSI_EN_300_175-6|sections 5.1 to 5.5>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 5
								}
							]
						},
						"MaxSupportedPP": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The maximum number of Portable Parts (PP) supported by the DECT base of the CPE.",
							"datatype": "unsignedInt"
						},
						"PIN": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The PIN is an hexbinary string of 32 bits, as defined in <<bibref|ETSI_TS_102_527-3>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 4
								}
							]
						},
						"RepeaterSupportEnabled": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, the DECT system supports the REP feature, as defined in <<bibref|ETSI_EN_300_175-8>>.",
							"datatype": "boolean"
						},
						"NEMOEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable NEMO (No Emission Mode as defined in <<bibref|ETSI_TS_102_527-3>>) operation of the base. Note: NEMO operations can be successfully enabled only if all PPs registered to the CPE support the NEMO operations.",
							"datatype": "boolean"
						},
						"SubscriptionEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables the subscription mode of the DECT base. If <<true>>, the subscription window is open, otherwise it is closed. When the subscription window is open, a DECT portable part can be subscribed / registered to the DECT base. When written as <<true>>, it forces the device to open the subscription window. When the subscription window timeslot expires, the value MUST be changed back to <<false>>. If the CPE user can open the subscription window with a specific command (i.e. via DECT base GUI or pushing a button), the parameter MUST report the correct status (<<true>>, while the window is opened).",
							"datatype": "boolean"
						},
						"CipheringEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable ciphering for the calls on the DECT domain.",
							"datatype": "boolean"
						},
						"EncryptionType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Algorithm used in the encryption process defined in <<bibref|ETSI_EN_300_175-7>>.",
							"datatype": "string",
							"enumerations": [
								"DSC",
								"DSC2",
								"CCM"
							]
						},
						"RFPowerControl": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter is used to control the sending RF power as per the required range within the customer premises. When set to Reduced, the CPE SHALL undertake measures to reduce the transmission RF power.",
							"datatype": "string",
							"enumerations": [
								"Normal",
								"Reduced"
							]
						},
						"FirmwareVersion": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Firmware version of the base as defined in <<bibref|ETSI_TS_102_527-3>>",
							"datatype": "string",
							"range": [
								{
									"max": 20
								}
							]
						},
						"EepromVersion": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "EEPROM version of the base as defined in <<bibref|ETSI_TS_102_527-3>>",
							"datatype": "string",
							"range": [
								{
									"max": 20
								}
							]
						},
						"HardwareVersion": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Hardware version of the base as defined in <<bibref|ETSI_TS_102_527-3>>",
							"datatype": "string",
							"range": [
								{
									"max": 20
								}
							]
						},
						"Device.Services.VoiceService.{i}.DECT.Base.{i}.Stats.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object is associated with statistics collected from the DECT domain of the CPE. The collected statistics are common for all call scenarios. The CPE MUST reset the DECT bases Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the base becomes operationally down due to a previous administrative down (i.e. the bases <<param|#.Status>> parameter transitions to a down state after the base is disabled) or when the base becomes administratively up (i.e. the bases <<param|#.Enable>> parameter transitions from <<false>> to <<true>>).",
							"access": false,
							"array": false,
							"Handovers": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The count of all successful handovers.",
								"datatype": "unsignedInt"
							},
							"HandoverFailures": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The count of all failed handovers.",
								"datatype": "unsignedInt"
							},
							"ControlFieldErrors": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The count of all bad A-field packets.",
								"datatype": "unsignedInt"
							},
							"PayloadFieldErrors": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The count of all bad B-field packets.",
								"datatype": "unsignedInt"
							},
							"SyncFailures": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The count of all synchronization failures during all calls.",
								"datatype": "unsignedInt"
							}
						}
					},
					"Device.Services.VoiceService.{i}.DECT.Portable.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DECT portable table.",
						"uniqueKeys": [
							"IPEI",
							"Alias"
						],
						"access": false,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this DECT portable.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this DECT portable.",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Error",
								"Testing",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"CodecList": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> <<reference>> The CPE SHOULD use the first enabled item in the list among those supported by the portable.",
							"list": {
								"datatype": "string"
							}
						},
						"RegistrationStatus": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The current registration status of the DECT portable.",
							"datatype": "string",
							"enumerations": [
								"In reach",
								"Not in reach"
							]
						},
						"IPUI": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The International Portable User Identity which uniquely identifies the current user of the portable. The IPUI is composed of the Portable User Type (PUT), of 4 bits, followed by the Portable User Number (PUN) whose size and format depend on PUT (see <<bibref|ETSI_EN_300_175-6|Section 6.2>>). The hexbinary string is encoded exactly as it is defined in <<bibref|ETSI_EN_300_175-5|section 7.7.30>>) : * Bits from position 0 to 3 represent the PUT (as defined in <<bibref|ETSI_EN_300_175-6|section 7.3>>). * Bits from position 4 to <<param|IPUILength>>-1 represent the PUN. * Unused bits after position <<param|IPUILength>>-1 are set to 0. Examples : : - Type N (PUT + IPEI) : :: - PUT = 0000 (4 bits) = 0 (hexadecimal) :: - IPEI = 0000 0000 0000 1100 0000 0000 0000 1000 1001 (36 bits) = 00 0C 00 08 9 (hexadecimal) :: - IPUILength = 4 + 36 = 40 (bits) :: - IPUI = 00 00 C0 00 89 (40 bits; multiple of 8 so no bits are ignored) : - Type O (PUT + binary-coded number) : :: - PUT = 0001 (4 bits) = 1 (hexadecimal) :: - Number (decimal) = 4546812123 :: - Number (binary) = 1000 0111 1000 0001 0110 1100 0110 1101 1 (33 bits) :: - Number (hexadecimal) = 87 81 6C 6D 8 (33 bits; last three bits are ignored) :: - IPUILength = 4 + 33 = 37 (bits) :: - IPUI = 18 78 16 C6 D8 (37 bits; last 3 bits are ignored) : - Type Q (PUT + BCD number) : :: - PUT = 0011 (4 bits) = 3 (hexadecimal) :: - Number (decimal) = 4546812123 :: - Number (BCD) = 0100 0101 0100 0110 1000 0001 0010 0001 0010 0011 (40 bits) :: - IPUILength = 4 + 40 = 44 (bits) :: - IPUI = 34 54 68 12 12 30 (40 bits; last 4 bits are ignored)",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 13
								}
							]
						},
						"IPUILength": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The length of <<param|IPUI>>, in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "bits"
						},
						"IPEI": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The International Portable Equipment Identity which is globally unique and identifies the portable. The IPEI is composed of the Equipment Manufacturers Code (EMC), of 16 bits, followed by the Portable equipment Serial Number (PSN) of 20 bits (see <<bibref|ETSI_EN_300_175-6|Section 10>>). The hexbinary string is encoded as follows : * Bits from position 0 to 15 represent the EMC. * Bits from position 16 to 35 represent the PSN. * The last four bits are unused and are set to 0.",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 5
								}
							]
						},
						"PARK": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The Portable Access Rights Key of this portable. The PARK is composed of the Access Rights Class (ARC) of 3 bits and the Access Rights Details (ARD) whose size and format depend on the ARC (see <<bibref|ETSI_EN_300_175-6|Sections 6.1.1 to 6.1.5>>). The hexbinary string is encoded as follows : * Bits from position 0 to 2 represent the ARC (as defined in <<bibref|ETSI_EN_300_175-6|section 7.2>>). * For class A : ** Bits from position 3 to 35 represent the ARD. ** The last four bits are unused and are set to 0. * For other classes : ** Bits from position 3 to 31 represent the ARD.",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 5
								}
							]
						},
						"BaseAttachedTo": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Refers to the <<object|#.Base>> where this portable part is attached to.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"PortableType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Protocols used for connection.",
							"list": {
								"datatype": "string",
								"enumerations": [
									"GAP",
									"CAT-iq 1.0",
									"CAT-iq 2.0",
									"CAT-iq 2.1",
									"CAT-iq 3.0",
									"CAT-iq 4.0"
								]
							}
						},
						"SubscriptionTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The date and time in which the DECT portable has been subscribed with the base. If NTP or equivalent is not available, this parameter, if present, SHOULD be set to the Unknown Time value.",
							"datatype": "dateTime"
						},
						"Control": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter MAY be used by the ACS to control the registration status of the portable.",
							"datatype": "string",
							"enumerations": [
								"Unregister",
								"Disable"
							]
						},
						"HardwareVersion": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the Hardware Version of a DECT portable. Corresponds to the portable HW Version identifier parameter, as defined in <<bibref|ETSI_TS_102_527-4>>.",
							"datatype": "string",
							"range": [
								{
									"max": 20
								}
							]
						},
						"SoftwareVersion": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the Software Version used by a DECT portable. Maps with the portable SW Version identifier parameter, as defined in <<bibref|ETSI_TS_102_527-4>>.",
							"datatype": "string",
							"range": [
								{
									"max": 20
								}
							]
						},
						"SoftwareUpgrade": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter indicates support for SUOTA (Software Update Over The Air).",
							"datatype": "boolean"
						},
						"LastUpdateDateTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the last successful SW update of the DECT portable. This is based on the reception of a FACILITY message (being part of the HS version indication procedure) from the portable containing another value of SW version than the current value in this table. This new SW version is then updated in this table.",
							"datatype": "dateTime"
						},
						"OperatorName": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The name of the operator that will be displayed on the portable, if it supports this feature.",
							"datatype": "string",
							"range": [
								{
									"max": 32
								}
							]
						}
					}
				},
				"Device.Services.VoiceService.{i}.SIP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object is dedicated to SIP as defined in <<bibref|RFC3261>>. It models SIP networks, clients, proxies and registrars.",
					"access": false,
					"array": false,
					"NetworkNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ClientNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ProxyNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"RegistrarNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.SIP.Client.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "SIP client table (a Client as described in <<bibref|TR-104i2|Section 4.2>>). Each SIP client maintains its identity-to-location (i.e., RegisterURI-to-ContactURI) binding for SIP signaling exchanged between the client and the network. For CPE use cases where <<object|.CallControl>> is used to map network-facing to user-facing objects, the relationship between the SIP client object and its associated <<object|.CallControl.Line>> object(s) is determined by the <<param|RegisterMode>> parameter, as follows: : - In case of RFC3261-style explicit registration of SIP AoRs, only a single line shall be associated with each SIP client. : - In case of RFC6140 or IMS/TISPAN-style registration, multiple lines can be associated with each SIP client. The set of lines associated with a SIP client constitute an identity set. In this case, registering the single SIP client implicitly registers the identities of all associated lines. : - In the case where the client does not register with the network (<<param|RegisterMode>> is <<enum|STATIC|RegisterMode>>), multiple lines can be associated with each SIP client.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable this client.",
							"default": "false",
							"datatype": "boolean"
						},
						"QuiescentMode": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this client. Unless noted otherwise, the status values apply to both registering and non-registering clients.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Initializing",
								"Registering",
								"Deregistering",
								"Error_Misconfigured",
								"Error_Network",
								"Error_Registration",
								"Quiescent",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Origin": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Mechanism via which this instance was assigned. Enumeration of: AutoConfigured, Static.",
							"default": "Static",
							"datatype": "string",
							"enumerations": [
								"AutoConfigured",
								"Static"
							]
						},
						"RegisterMode": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The registration procedures to apply. For <<param>> values other than <<enum|STATIC>>, the SIP <<object|#>> conveys its RegisterURI-to-ContactURI binding to the network using the SIP registration procedure. For the <<param>> value of <<enum|STATIC>>, the SIP client RegisterURI-to-ContactURI binding is conveyed to the network via some out-of-band mechanism not defined by this data model. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
							"datatype": "string",
							"enumerations": [
								"RFC3261",
								"STATIC",
								"RFC6140",
								"TISPAN"
							]
						},
						"AuthUserName": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Username used to authenticate the connection to the server. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
							"datatype": "string",
							"range": [
								{
									"max": 128
								}
							]
						},
						"AuthPassword": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Password used to authenticate the connection to the server. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
							"datatype": "string",
							"range": [
								{
									"max": 128
								}
							]
						},
						"Network": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "SIP network with which this SIP client is associated. <<reference>> This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"MaxSessions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Limit on the number of simultaneous voice sessions across this client. This MUST be less than or equal to <<param|.Capabilities.MaxSessionCount>>. A value of zero indicates no explicit limit on the number of sessions.",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"RegisterURI": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The SIP URI that represents the identity of this SIP client. For <<param|RegisterMode>> values where the SIP client registers with the network, this SIP URI is placed in the From and To headers in the REGISTER request. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
							"datatype": "string",
							"range": [
								{
									"max": 389
								}
							]
						},
						"E164Format": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "When <<true>> and using a <<object|.Trunk>>, the SIP URIs built from the directory numbers in <<param|.Trunk.<i>.DDIRange>> SHOULD use E.164 format, using the user=phone URI parameter, according to <<bibref|RFC3261|section 19.1.6>>.",
							"default": "true",
							"datatype": "boolean"
						},
						"T38Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable the use of T.38.",
							"datatype": "boolean"
						},
						"SIPEventSubscribeNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"ContactNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.Services.VoiceService.{i}.SIP.Client.{i}.Contact.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Active registrations for this SIP account.",
							"uniqueKeys": [
								"Alias"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable this <<object>>.",
								"default": "false",
								"datatype": "boolean"
							},
							"Status": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates the status of this <<object>>.",
								"default": "Disabled",
								"datatype": "string",
								"enumerations": [
									"Up",
									"Error",
									"Disabled"
								]
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"Origin": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Mechanism via which this <<object>> was assigned. Enumeration of: AutoConfigured, Static.",
								"default": "Static",
								"datatype": "string",
								"enumerations": [
									"AutoConfigured",
									"Static"
								]
							},
							"IPAddress": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is the IP address where the <<object|#>> is listening for SIP requests from the service provider network. This IP address value is populated in the host portion of the <<param|ContactURI>> parameter. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
								"datatype": "IPAddress",
								"range": [
									{
										"max": 45
									}
								]
							},
							"Port": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is the port where the <<object|#>> is listening for SIP requests from the service provider network. This IP port value is populated in the port portion of the <<param|ContactURI>> parameter. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							},
							"ContactURI": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The current Contact URI of the <<object|#>>. If SIP registration procedures are being used, as determined by the <<param|#.RegisterMode>> parameter, then this parameter is populated in the Contact header field of the REGISTER request. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"ExpireTime": {
								"type": "dateTime",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Time when this registration will expire. This parameter is valid only when SIP registration procedures are being used, as determined by the <<param|#.RegisterMode>> parameter. If this registration never expires, this parameter SHOULD be set to the Unknown Time value.",
								"datatype": "dateTime"
							},
							"PingInterval": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The interval in <<units>> between sending a periodic ping request toward the network (i.e. a SIP OPTIONS ping). The CPE performs the periodic ping request to verify connectivity with the network when SIP registration procedures are not used (i.e. when the SIP client <<param|#.RegisterMode>> is <<enum|STATIC|#.RegisterMode>>). A value of 0 indicates that the CPE should not perform the periodic ping request.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								],
								"unit": "seconds"
							},
							"UserAgent": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is the User-Agent field reported in the SIP header of the REGISTER message.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"Device.Services.VoiceService.{i}.SIP.Client.{i}.EventSubscribe.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Table of SIP events automatically populated by the CPE with each of the SIP event subscriptions in <<object|.SIP.Network.<i>.EventSubscribe.<i>.>>. This table allows specification of the authentication credentials needed for each event subscription.",
							"uniqueKeys": [
								"Alias",
								"Event"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables this entry.",
								"default": "false",
								"datatype": "boolean"
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"Event": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "SIP event name corresponding to the value given in <<object|.SIP.Network.<i>.EventSubscribe.<i>.>>.",
								"datatype": "string",
								"range": [
									{
										"max": 32
									}
								]
							},
							"AuthUserName": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Username used to authenticate the connection to the event notify server.",
								"datatype": "string",
								"range": [
									{
										"max": 128
									}
								]
							},
							"AuthPassword": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Password used to authenticate the connection to the event notify server.",
								"datatype": "string",
								"range": [
									{
										"max": 128
									}
								]
							}
						}
					},
					"Device.Services.VoiceService.{i}.SIP.Network.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object models a SIP network (a network as described in <<bibref|TR-104i2|Section 4.2>>). SIP networks are used by SIP <<object|#.Client>> objects so that common parameters do not have to be provisioned multiple times.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable this <<object>>. Starts the DNS resolving when enabled.",
							"default": "false",
							"datatype": "boolean"
						},
						"QuiescentMode": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this network.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Resolving",
								"Error_DNS",
								"Error_Other",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"ProxyServer": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Host name or IP address of the SIP proxy server. If not <<empty>>, all SIP signaling traffic MUST be sent to the host indicated by this parameter and the port indicated by <<param|ProxyServerPort>> unless <<param|OutboundProxy>> is not <<empty>> or a different route was discovered during normal SIP routing operations. Regardless of which host the traffic gets sent to (<<param>> or <<param|OutboundProxy>>), the value of this parameter (unless <<empty>>) MUST be used to derive the URI placed into the SIP Route header field of all requests originated by this end-point, unless a different proxy host was discovered dynamically during normal SIP routing operations.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ProxyServerPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Destination port to be used in connecting to the SIP proxy server.",
							"default": "5060",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"ProxyServerTransport": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Transport protocol to be used in connecting to the SIP proxy server.",
							"default": "UDP",
							"datatype": "string",
							"enumerations": [
								"UDP",
								"TCP",
								"TLS",
								"SCTP"
							]
						},
						"RegistrarServer": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Host name or IP address of the SIP registrar server. If this parameter is <<empty>>, the CPE MUST obtain all of the registrar server configuration information, including host name or IP address, port, and transport protocol, from the values in <<param|ProxyServer>>, <<param|ProxyServerPort>>, and <<param|ProxyServerTransport>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"RegistrarServerPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Destination port to be used in connecting to the SIP registrar server. If <<param|RegistrarServer>> is empty the CPE MUST obtain all of the registrar server configuration information, including host name or IP address, port, and transport protocol, from the values in <<param|ProxyServer>>, <<param|ProxyServerPort>>, and <<param|ProxyServerTransport>>.",
							"default": "5060",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"RegistrarServerTransport": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Transport protocol to be used in connecting to the registrar server. Enumeration of: UDP, TCP, TLS, SCTP. If <<param|RegistrarServer>> is empty the CPE MUST obtain all of the registrar server configuration information, including host name or IP address, port, and transport protocol, from the values in <<param|ProxyServer>>, <<param|ProxyServerPort>>, and <<param|ProxyServerTransport>>.",
							"default": "UDP",
							"datatype": "string",
							"enumerations": [
								"UDP",
								"TCP",
								"TLS",
								"SCTP"
							]
						},
						"ServerDomain": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If non-empty this <<param>> is used by the devices in a DNS SRV request to provide FQDNs <<object|FQDNServer.<i>.>> for SIP Server connections. <<bibref|RFC2782>> Clients ask for a specific service/protocol for a specific domain (the word domain is used here in the strict RFC 1034 sense), and get back the names of any available servers.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ChosenDomain": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Domain used by <<object|#.Client>> objects that reference this <<object>> instance.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ChosenIPAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "IP address used to reach the <<param|ChosenDomain>>.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"ChosenPort": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Port used to reach the <<param|ChosenDomain>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"UserAgentDomain": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "CPE domain string. If <<empty>>, the CPE SHOULD use its IP address as the domain.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"UserAgentPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Port used for incoming call control signaling.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"UserAgentTransport": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Transport protocol to be used for incoming call control signaling.",
							"default": "UDP",
							"datatype": "string",
							"enumerations": [
								"UDP",
								"TCP",
								"TLS",
								"SCTP"
							]
						},
						"OutboundProxy": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The Fully Qualified Domain Name (FQDN) or IP Address of the outbound proxy. If the value is not <<empty>>, the SIP endpoint MUST send all SIP traffic (requests and responses) to the host indicated by this parameter and the port indicated by <<param|OutboundProxyPort>>. This MUST be done regardless of the routes discovered using normal SIP operations, including use of Route headers initialized from Service-Route and Record-Route headers previously received. <<param>> is NOT used to generate the URI placed into the Route header of any requests. When <<param>> is assigned, the name is looked up (resolved) and the corresponding address is set in <<param|OutboundProxyResolvedAddress>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"OutboundProxyResolvedAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The IP address of the outbound proxy. This parameter can be assigned statically (e.g. present in the factory default configuration or set by the ACS via <<param|OutboundProxy>>) or assigned dynamically (via DHCP). When <<param|OutboundProxy>> is assigned, the name is looked up (resolved) and the corresponding address is set in <<param>>.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"OutboundProxyPrecedence": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates whether it is the static configuration or the DHCP configuration that is actually used for <<param|OutboundProxyResolvedAddress>>.",
							"datatype": "string",
							"enumerations": [
								"Static",
								"DHCP"
							]
						},
						"OutboundProxyPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Destination port to be used in connecting to the outbound proxy. This parameter MUST be ignored unless the value of <<param|OutboundProxy>> is non-empty.",
							"default": "5060",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"STUNEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable use of STUN to allow operation through NAT. Note: enabling STUN is to be interpreted as enabling the use of STUN for discovery, not use as a keep-alive mechanism.",
							"default": "false",
							"datatype": "boolean"
						},
						"STUNServer": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Domain name or IP address of the STUN server.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"NonVoiceBandwidthReservedUpstream": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "For bandwidth-based admission control, a session can proceed only if there is <<param>> <<units>> of upstream bandwidth left available for non-voice traffic. This parameter is appropriate only in implementations in which the actual bandwidth can be known, such as a VoIP device embedded in a DSL B-NT.",
							"default": "0",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"NonVoiceBandwidthReservedDownstream": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "For bandwidth-based admission control, a session can proceed only if there is <<param>> <<units>> of downstream bandwidth left available for non-voice traffic. This parameter is appropriate only in implementations in which the actual bandwidth can be known, such as a VoIP device embedded in a DSL B-NT.",
							"default": "0",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"Organization": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Text string to be used in the Organization header.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"RegistrationPeriod": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Duration, in <<units>>, after which the user agent needs to register again.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "seconds"
						},
						"Realm": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Realm for authentication with the specified values of <<param|#.Client.<i>.AuthUserName>> and <<param|#.Client.<i>.AuthPassword>>.",
							"datatype": "string"
						},
						"TimerT1": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer T1, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerT2": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer T2, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerT4": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer T4, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerA": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer A, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerB": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer B, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerC": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer C, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerD": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer D, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerE": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer E, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerF": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer F, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerG": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer G, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerH": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer H, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerI": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer I, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerJ": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer J, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"TimerK": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Value of SIP timer K, in <<units>>, as defined in <<bibref|RFC3261>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"InviteExpires": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Invite request Expires header value, in <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "seconds"
						},
						"ReInviteExpires": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Re-invite request Expires header value, in <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "seconds"
						},
						"RegisterExpires": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Register request Expires header value, in <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "seconds"
						},
						"RegisterRetryInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Register retry interval, in <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "seconds"
						},
						"InboundAuth": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Applicable inbound authentication method, if any.",
							"default": "None",
							"datatype": "string",
							"enumerations": [
								"None",
								"Digest",
								"SourceFilter"
							]
						},
						"InboundAuthUsername": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If inbound authentication is used, the username credentials.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"InboundAuthPassword": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If inbound authentication is used, the password credentials.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"UseCodecPriorityInSDPResponse": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "When <<true>>, in the SDP included in an OK response to an Invite, the first listed codec MUST be the highest priority codec among those offered in the Invite, based on the priorities specified in <<param|CodecList>>. The list of codecs in the SDP MAY also include other lower priority codecs. When <<false>>, there is no specific requirement for choosing the codecs listed in the SDP included in an OK response.",
							"default": "false",
							"datatype": "boolean"
						},
						"DSCPMark": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Diffserv code point to be used for outgoing SIP signaling packets.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						},
						"VLANIDMark": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VLAN ID (as defined in <<bibref|802.1Q-2005>>) to be used for outgoing SIP signaling packets for this network. A value of -1 indicates the default value is to be used. If either <<param>> or <<param|EthernetPriorityMark>> are greater than zero, then the outgoing frames MUST be tagged. Otherwise, the outgoing frames MAY be tagged or untagged.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						},
						"EthernetPriorityMark": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Ethernet priority code (as defined in <<bibref|802.1Q-2005>>) to be used for outgoing SIP signaling packets for this network. A value of -1 indicates the default value is to be used. If either <<param|VLANIDMark>> or <<param>> are greater than zero, then the outgoing frames MUST be tagged. Otherwise, the outgoing frames MAY be tagged or untagged.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						},
						"ConferenceCallDomainURI": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "URI of the network conference bridge for the multiway conference call service.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"TimerLoginRejected": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "In case of a 401 (Unauthorized) or a 407 (Proxy Authentication Required) response to a REGISTER request, the CPE shall send REGISTER using credentials. If the second response is a new 401 (Unauthorized) or a 407 (Proxy Authentication Required) with stale=false or no stale value, the CPE shall re-init registration cycle after expiration of this timer (in <<units>>). If stale=true, the CPE shall send REGISTER using credentials.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"NoLoginRetry": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, no retry after a 401 (Unauthorized) or a 407 (Proxy Authentication Required) response to a REGISTER until power cycle or credentials have been changed.",
							"datatype": "boolean"
						},
						"TimerRegistrationFailed": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "In case of no response to a REGISTER request, the CPE shall retry according to retransmission algorithm defined in <<bibref|RFC3261>>, then wait for expiration of this timer (in <<units>>). In case of other response, the CPE shall wait for expiration of this timer before sending a new REGISTER request.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"TimerSubscriptionFailed": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "When starting a MWI subscription, on response of a SUBSCRIBE request : in case of no response or other response than 200 or 423, the CPE shall retry according to retransmission algorithm defined in <<bibref|RFC3261>>, then wait for expiration of this timer (in <<units>>) before sending a new SUBSCRIBE request.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"UnansweredRegistrationAttempts": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of registration timeouts when trying to register the server.",
							"datatype": "unsignedInt"
						},
						"VoIPProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VoIP profile to use with this <<object>>. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CodecList": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> <<reference>> The CPE SHOULD use the first enabled item in the list among those supported by the remote endpoint and consistent with the available bandwidth.",
							"list": {
								"datatype": "string"
							}
						},
						"MaxSessions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Limit on the number of simultaneous voice sessions across all <<object|.SIP.Client>> referencing this <<object>>. This MUST be less than or equal to <<param|.Capabilities.MaxSessionCount>>. A value of zero indicates no explicit limit on the number of sessions.",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"FQDNServerNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"EventSubscribeNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"ResponseMapNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 999
								}
							]
						},
						"Device.Services.VoiceService.{i}.SIP.Network.{i}.FQDNServer.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Table of Fully Qualified Domain Names for this <<object|#>> instance in order to connect to the SIP server as described in <<bibref|RFC2782>>.",
							"uniqueKeys": [
								"Alias",
								"Domain"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables this FQDN server.",
								"default": "false",
								"datatype": "boolean"
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"Origin": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Mechanism via which the FQDN server was assigned.",
								"default": "Static",
								"datatype": "string",
								"enumerations": [
									"AutoConfigured",
									"Static"
								]
							},
							"Domain": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The domain name of the target host. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"Weight": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A server selection mechanism. The weight field specifies a relative weight for entries with the same priority. Larger weights SHOULD be given a proportionately higher probability of being selected. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
								"default": "0",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							},
							"Priority": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The priority of this target host. A client MUST attempt to contact the target host with the lowest-numbered priority it can reach; target hosts with the same priority SHOULD be tried in an order defined by the weight field. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
								"default": "0",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							},
							"Port": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The port on this target host of this service.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							},
							"IPAddresses": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list|the IP Addresses that the FQDN resolves to>> The order in which the addresses appear in the list MAY imply priority. This parameter MAY be modified by the ACS only if <<param|Origin>> is <<enum|Static|Origin>>.",
								"list": {
									"datatype": "IPAddress",
									"range": [
										{
											"max": 45
										}
									]
								}
							}
						},
						"Device.Services.VoiceService.{i}.SIP.Network.{i}.EventSubscribe.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Table to specify the SIP events to which the CPE MUST subscribe.",
							"uniqueKeys": [
								"Alias",
								"Event"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables this entry.",
								"default": "false",
								"datatype": "boolean"
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"Event": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "SIP event name to appear in the EVENT header of the SIP SUBSCRIBE request.",
								"datatype": "string",
								"range": [
									{
										"max": 32
									}
								]
							},
							"Notifier": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Host name or IP address of the event notify server.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"NotifierPort": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Destination port to be used in connecting to the event notifier.",
								"default": "0",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							},
							"NotifierTransport": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Transport protocol to be used in connecting to the event notifier.",
								"default": "UDP",
								"datatype": "string",
								"enumerations": [
									"UDP",
									"TCP",
									"TLS",
									"SCTP"
								]
							},
							"ExpireTime": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Subscription refresh timer, in <<units>>.",
								"datatype": "unsignedInt",
								"unit": "seconds"
							}
						},
						"Device.Services.VoiceService.{i}.SIP.Network.{i}.ResponseMap.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Each entry in this table specifies the tone and message to be provided to the user for a particular SIP response received (normally 4xx and 5xx).",
							"uniqueKeys": [
								"Alias",
								"SIPResponseNumber"
							],
							"access": true,
							"array": true,
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"SIPResponseNumber": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The SIP response code number.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 101,
										"max": 999
									}
								]
							},
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables this entry.",
								"default": "false",
								"datatype": "boolean"
							},
							"TextMessage": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The message to be provided on the screen or display of the VoIP device when the SIP response is received. If this parameter is not <<empty>>, display of this text preempts the value of <<param|.Tone.Description.<i>.ToneText>> associated with <<param|Tone>>. If this parameter is <<empty>>, the value of <<param|.Tone.Description.<i>.ToneText>> associated with <<param|Tone>>, if any, is displayed instead. This parameter is applicable only for VoIP devices capable of text display.",
								"datatype": "string",
								"range": [
									{
										"max": 64
									}
								]
							},
							"Tone": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The tone to be played to the user when the SIP response is received. <<reference>> <<empty>> indicates no tone is to be played for this event.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					},
					"Device.Services.VoiceService.{i}.SIP.Proxy.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Global SIP parameters used by the CPE when acting as proxy for SIP user agents.",
						"uniqueKeys": [
							"Alias",
							"ProxyIPAddress",
							"ProxyPort"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable the proxy.",
							"default": "false",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this proxy.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Error",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Origin": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Mechanism via which the IP address was assigned. Enumeration of: AutoConfigured, Static.",
							"default": "Static",
							"datatype": "string",
							"enumerations": [
								"AutoConfigured",
								"Static"
							]
						},
						"ProxyIPAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The IP address the proxy listens on. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"ProxyPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The port the proxy listens on.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"ContactURI": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Built by the CPE using <<param|ProxyIPAddress>> and <<param|ProxyPort>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"VoIPProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VoIP profile to use with this proxy. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"Device.Services.VoiceService.{i}.SIP.Registrar.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Global SIP parameters used by the CPE when acting as registrar server for externally connected SIP user agents. This object also contains the global SIP parameters used by the CPE when it acts as static identity-to-location binding database for externally connected SIP user agents that dont register (i.e. static-mode SIP-PBX).",
						"uniqueKeys": [
							"Alias",
							"RegistrarPort",
							"RegistrarIPAddress"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable the registrar.",
							"default": "false",
							"datatype": "boolean"
						},
						"QuiescentMode": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this registrar.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Error",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Origin": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Mechanism via which the IP address was assigned. Enumeration of: AutoConfigured, Static.",
							"default": "Static",
							"datatype": "string",
							"enumerations": [
								"AutoConfigured",
								"Static"
							]
						},
						"RegistrarIPAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The IP address the registrar listens on for incoming SIP requests from an externally connected SIP user agent. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"RegistrarPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The port the registrar listens on.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"RegisterExpires": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The minimum register expire time in <<units>>. This parameter is valid only for SIP user agents that support registration.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"PingInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The interval in <<units>> between sending a periodic ping request (e.g., a SIP OPTIONS ping) to externally connected SIP user agents. The CPE performs the periodic ping request to verify connectivity with externally connected devices that do not support SIP registration procedures (i.e. a static-mode SIP-PBX). A value of 0 indicates that the CPE should not perform the periodic ping request.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							],
							"unit": "seconds"
						},
						"Organization": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Text string to be used in the Organization header.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Realm": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Realm for authentication with the specified values of <<param|Account.<i>.AuthUserName>> and <<param|Account.<i>.AuthPassword>>.",
							"datatype": "string"
						},
						"VoIPProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VoIP profile to use with this registrar. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ContactURI": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Built by the CPE using <<param|RegistrarIPAddress>> and <<param|RegistrarPort>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"AccountNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.Services.VoiceService.{i}.SIP.Registrar.{i}.Account.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "SIP account table.",
							"uniqueKeys": [
								"URI",
								"Alias"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables this account, or places it into a quiescent state. Enumeration of: Enable, Quiescent, Disable. In the <<enum|Quiescent>> state, in-progress sessions remain intact, but no new sessions are allowed. If this parameter is set to <<enum|Quiescent>> in a CPE that does not support the <<enum|Quiescent>> state, it MUST treat it the same as the <<enum|Disable>> state (and indicate <<enum|Disabled|Status>> in <<param|Status>>).",
								"default": "Disable",
								"datatype": "string",
								"enumerations": [
									"Enable",
									"Quiescent",
									"Disable"
								]
							},
							"QuiescentMode": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
								"datatype": "boolean"
							},
							"Status": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates the status of this account. Unless noted otherwise, the <<param>> values apply to both registering and non-registering external SIP user agents.",
								"default": "Disabled",
								"datatype": "string",
								"enumerations": [
									"Up",
									"Initializing",
									"Registering",
									"Deregistering",
									"ErrorMisconfigured",
									"ErrorNetwork",
									"ErrorRegistration",
									"Quiescent",
									"Disabled"
								]
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"Origin": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Mechanism via which the <<object>> was created. Enumeration of: AutoConfigured, Static.",
								"default": "Static",
								"datatype": "string",
								"enumerations": [
									"AutoConfigured",
									"Static"
								]
							},
							"CallStatus": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates the call status for this account.",
								"datatype": "string",
								"enumerations": [
									"Idle",
									"Dialing",
									"Delivered",
									"Connected",
									"Alerting",
									"Disconnected"
								]
							},
							"AuthUserName": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Username used to authenticate the connection to the registrar server. This parameter can only be modified if <<param|Origin>> is Static.",
								"datatype": "string",
								"range": [
									{
										"max": 128
									}
								]
							},
							"AuthPassword": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Password used to authenticate the connection to the registrar server. This parameter can only be modified if <<param|Origin>> is Static.",
								"datatype": "string",
								"range": [
									{
										"max": 128
									}
								]
							},
							"RegistrationStatus": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The current registration status of the externally connected SIP user agent. This parameter is valid only for SIP user agents that support registration.",
								"datatype": "string",
								"enumerations": [
									"Registered",
									"Unregistered"
								]
							},
							"URI": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The URI (AoR) of the externally connected SIP user agent. For SIP user agents that register, this is the URI that is contained in the To header field of the incoming REGISTER request. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
								"datatype": "string",
								"range": [
									{
										"max": 389
									}
								]
							},
							"Domain": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The domain name used when the SIP user agent has registered itself. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"CodecList": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> <<reference>> The CPE SHOULD use the first enabled item in the list among those supported by the remote endpoint and consistent with the available bandwidth.",
								"list": {
									"datatype": "string"
								}
							},
							"VoIPProfile": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Voice profile to use with this <<object>>. <<reference>>",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"ContactNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"Device.Services.VoiceService.{i}.SIP.Registrar.{i}.Account.{i}.Contact.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Active registrations for this SIP account.",
								"uniqueKeys": [
									"Alias"
								],
								"access": true,
								"array": true,
								"Enable": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Enable or disable this entry.",
									"default": "false",
									"datatype": "boolean"
								},
								"Status": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates the status of this entry.",
									"default": "Disabled",
									"datatype": "string",
									"enumerations": [
										"Up",
										"Error",
										"Disabled"
									]
								},
								"Alias": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
									"datatype": "Alias",
									"range": [
										{
											"max": 64
										}
									]
								},
								"Origin": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Mechanism via which the <<object>> was assigned. Enumeration of: AutoConfigured, Static.",
									"default": "Static",
									"datatype": "string",
									"enumerations": [
										"AutoConfigured",
										"Static"
									]
								},
								"IPAddress": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "IP Address of the externally connected SIP user agent. This is the IP address contained in the <<param|ContactURI>> parameter. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
									"datatype": "IPAddress",
									"range": [
										{
											"max": 45
										}
									]
								},
								"Port": {
									"type": "unsignedInt",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The port of the externally connected SIP user agent. This is the port contained in the <<param|ContactURI>> parameter. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 65535
										}
									]
								},
								"ContactURI": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This is the SIP signaling address of the externally connected SIP user agent. If the SIP user agent registers, then <<param>> is the Contact URI contained in the Contact header field of the REGISTER request received from the SIP user agent. If the SIP user agent does not register, then the <<param>> is provisioned by the ACS. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
									"datatype": "string",
									"range": [
										{
											"max": 256
										}
									]
								},
								"ExpireTime": {
									"type": "dateTime",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Time when this registration will expire. This parameter is valid only for external SIP user agents that register. If this registration never expires, this parameter SHOULD be set to the Unknown Time value.",
									"datatype": "dateTime"
								},
								"UserAgent": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This parameter defines the User-Agent header that will be used by the SIP messages send by this user agent. Implementers SHOULD make the User-Agent header field a configurable option.",
									"datatype": "string",
									"range": [
										{
											"max": 64
										}
									]
								}
							}
						}
					}
				},
				"Device.Services.VoiceService.{i}.MGCP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object is dedicated to MGCP as defined in <<bibref|RFC3435>>. It models MGCP clients and networks.",
					"access": false,
					"array": false,
					"ClientNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"NetworkNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.MGCP.Client.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "MGCP client table (a client as described in <<bibref|TR-104i2|Section 4.2>>). Each MGCP client maintains a registration for the MGCP identities of the associated line with the <<object|#.Network>>.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable this client.",
							"default": "false",
							"datatype": "boolean"
						},
						"QuiescentMode": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this client.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Initializing",
								"Registering",
								"Deregistering",
								"Error_Misconfigured",
								"Error_Network",
								"Error_Registration",
								"Quiescent",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"RegisterMode": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Register mode.",
							"default": "Wildcard",
							"datatype": "string",
							"enumerations": [
								"Wildcard",
								"Individual"
							]
						},
						"LocalPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Port listening for incoming call control signaling.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"Domain": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "CPE domain string. If <<empty>>, the CPE SHOULD use its IP address.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"User": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "User string used in accessing the call agent.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Network": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "MGCP network with which this MGCP client is associated. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"MaxSessions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Limit on the number of simultaneous voice sessions across this <<object>>. This MUST be less than or equal to <<param|.Capabilities.MaxSessionCount>>. A value of zero indicates no explicit limit on the number of sessions.",
							"default": "0",
							"datatype": "unsignedInt"
						}
					},
					"Device.Services.VoiceService.{i}.MGCP.Network.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object models a MGCP network (a network as described in <<bibref|TR-104i2|Section 4.2>>).",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable the <<object>>. Starts the DNS resolving when enabled.",
							"default": "false",
							"datatype": "boolean"
						},
						"QuiescentMode": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this <<object>>.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Resolving",
								"Error_DNS",
								"Error_Other",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"CallAgent1": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Host name or IP address of the main MGCP call agent.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CallAgentPort1": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Destination port to be used in connecting with the main MGCP call agent.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"CallAgent2": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Host name or IP address of the backup MGCP call agent.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CallAgentPort2": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Destination port to be used in connecting with the backup MGCP call agent.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"RetranIntervalTimer": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Message retransfer interval, in <<units>>.",
							"default": "1",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							],
							"unit": "seconds"
						},
						"MaxRetranCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Max number of message retransfers.",
							"default": "10",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"DSCPMark": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Diffserv code point to be used for outgoing MGCP signaling packets.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						},
						"VLANIDMark": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VLAN ID (as defined in <<bibref|802.1Q-2005>>) to be used for outgoing MGCP signaling packets for this network. A value of -1 indicates the default value is to be used. If either <<param>> or <<param|EthernetPriorityMark>> are greater than zero, then the outgoing frames MUST be tagged. Otherwise, the outgoing frames MAY be tagged or untagged.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						},
						"EthernetPriorityMark": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Ethernet priority code (as defined in <<bibref|802.1D-2004>>) to be used for outgoing MGCP signaling packets for this network. A value of -1 indicates the default value is to be used. If either <<param|VLANIDMark>> or <<param>> are greater than zero, then the outgoing frames MUST be tagged. Otherwise, the outgoing frames MAY be tagged or untagged.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						},
						"AllowPiggybackEvents": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates whether or not piggyback events are allowed to the MGCP call agent.",
							"datatype": "boolean"
						},
						"SendRSIPImmediately": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates whether or not to send RSIP immediately on restart.",
							"datatype": "boolean"
						},
						"STUNEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable use of STUN to allow operation through NAT. Note: enabling STUN is to be interpreted as enabling the use of STUN for discovery, not use as a keep-alive mechanism.",
							"default": "false",
							"datatype": "boolean"
						},
						"STUNServer": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Domain name or IP address of the STUN server.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"NonVoiceBandwidthReservedUpstream": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "For bandwidth-based admission control, a session can proceed only if there is <<param>> <<units>> of upstream bandwidth left available for non-voice traffic. This parameter is appropriate only in implementations in which the actual bandwidth can be known, such as a VoIP device embedded in a DSL B-NT.",
							"default": "0",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"NonVoiceBandwidthReservedDownstream": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "For bandwidth-based admission control, a session can proceed only if there is <<param>> <<units>> of downstream bandwidth left available for non-voice traffic. This parameter is appropriate only in implementations in which the actual bandwidth can be known, such as a VoIP device embedded in a DSL B-NT.",
							"default": "0",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"MaxSessions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Limit on the number of simultaneous voice sessions across all <<object|.MGCP.Client.>> referencing this <<object>>. This MUST be less than or equal to <<param|.Capabilities.MaxSessionCount>>. A value of zero indicates no explicit limit on the number of sessions.",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"VoIPProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VoIP profile to use with this network. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CodecList": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> <<reference>> The CPE SHOULD use the first enabled item in the list among those supported by the remote endpoint and consistent with the available bandwidth.",
							"list": {
								"datatype": "string"
							}
						}
					}
				},
				"Device.Services.VoiceService.{i}.H323.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object is dedicated to H.323 as defined in <<bibref|H.323>>. It models H.323 clients and networks.",
					"access": false,
					"array": false,
					"ClientNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"NetworkNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.H323.Client.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "H.323 client table (a client as described in <<bibref|TR-104i2|Section 4.2>>). Each H.323 client maintains a registration for the H.323 identities of the associated line with the <<object|#.Network>>.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable this client.",
							"default": "false",
							"datatype": "boolean"
						},
						"QuiescentMode": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this client.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Initializing",
								"Registering",
								"Deregistering",
								"Error_Misconfigured",
								"Error_Network",
								"Error_Registration",
								"Quiescent",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"H235Authentication": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables usage of H.235 security baseline security profile as defined in <<bibref|H.235.1>>.",
							"default": "false",
							"datatype": "boolean"
						},
						"AuthPassword": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Password to be used when H.235 is enabled.",
							"datatype": "string"
						},
						"SendersID": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "In ITU-T based H.235 authentication, the sendersID is the ID of the gateway as received from the Gatekeeper. As long as the endpointID is not received from the Gatekeeper, the sendersID will be applied as configured here. The generalID is the GatekeeperID.",
							"datatype": "string"
						},
						"Network": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "H.323 network with which this H.323 client is associated. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"H323ID": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The H.323 ID assigned to the client.",
							"datatype": "string",
							"range": [
								{
									"max": 32
								}
							]
						},
						"MaxSessions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Limit on the number of simultaneous voice sessions across this <<object>>. This MUST be less than or equal to <<param|.Capabilities.MaxSessionCount>>. A value of zero indicates no explicit limit on the number of sessions.",
							"default": "0",
							"datatype": "unsignedInt"
						}
					},
					"Device.Services.VoiceService.{i}.H323.Network.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object models a H.323 network (a network as described in <<bibref|TR-104i2|Section 4.2>>).",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable this <<object>>. Starts the DNS resolving when enabled.",
							"default": "false",
							"datatype": "boolean"
						},
						"QuiescentMode": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this network.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Resolving",
								"Error_DNS",
								"Error_Other",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Gatekeeper": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Host name or IP address of H.323 Gatekeeper.",
							"datatype": "string"
						},
						"GatekeeperPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Destination port to be used in connecting to the H.323 Gatekeeper.",
							"default": "1719",
							"datatype": "unsignedInt"
						},
						"GatekeeperID": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Gatekeeper ID.",
							"datatype": "string"
						},
						"TimeToLive": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Defines the TimeToLive specification in the registration with the Gatekeeper in <<units>>.",
							"default": "86400",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"DSCPMark": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Diffserv code point to be used for outgoing H.323 signaling packets.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						},
						"VLANIDMark": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VLAN ID (as defined in <<bibref|802.1Q-2005>>) to be used for outgoing H.323 signaling packets for this network. A value of -1 indicates the default value is to be used. If either <<param>> or <<param|EthernetPriorityMark>> is greater than zero, then the outgoing frames MUST be tagged. Otherwise, the outgoing frames MAY be tagged or untagged.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						},
						"EthernetPriorityMark": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Ethernet priority code (as defined in <<bibref|802.1D-2004>>) to be used for outgoing H.323 signaling packets for this network. A value of -1 indicates the default value is to be used. If either <<param|VLANIDMark>> or <<param>> is greater than zero, then the outgoing frames MUST be tagged. Otherwise, the outgoing frames MAY be tagged or untagged.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						},
						"STUNEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable use of STUN to allow operation through NAT. Note: enabling STUN is to be interpreted as enabling the use of STUN for discovery, not use as a keep-alive mechanism.",
							"default": "false",
							"datatype": "boolean"
						},
						"STUNServer": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Domain name or IP address of the STUN server.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"NonVoiceBandwidthReservedUpstream": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "For bandwidth-based admission control, a session can proceed only if there is <<param>> <<units>> of upstream bandwidth left available for non-voice traffic. This parameter is appropriate only in implementations in which the actual bandwidth can be known, such as a VoIP device embedded in a DSL B-NT.",
							"default": "0",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"NonVoiceBandwidthReservedDownstream": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "For bandwidth-based admission control, a session can proceed only if there is <<param>> <<units>> of downstream bandwidth left available for non-voice traffic. This parameter is appropriate only in implementations in which the actual bandwidth can be known, such as a VoIP device embedded in a DSL B-NT.",
							"default": "0",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"MaxSessions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Limit on the number of simultaneous voice sessions across all <<object|.H323.Client.>> referencing this <<object>>. This MUST be less than or equal to <<param|.Capabilities.MaxSessionCount>>. A value of zero indicates no explicit limit on the number of sessions.",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"VoIPProfile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VoIP profile to use with this network. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CodecList": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> <<reference>> The CPE SHOULD use the first enabled item in the list among those supported by the remote endpoint and consistent with the available bandwidth.",
							"list": {
								"datatype": "string"
							}
						}
					}
				},
				"Device.Services.VoiceService.{i}.Trunk.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Trunk table. The <<object>> holds all parameters a CPE needs to set up a trunk connection with an NGN, as defined in <<bibref|ETSI_TS_181_019>>.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this trunk.",
						"default": "false",
						"datatype": "boolean"
					},
					"QuiescentMode": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the status of this trunk.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Initializing",
							"Registering",
							"Unregistering",
							"Error",
							"Testing",
							"Disabled"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "Alias",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Origin": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Mechanism via which the <<object>> was assigned. Enumeration of: AutoConfigured, Static.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"AutoConfigured",
							"Static"
						]
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the trunk.",
						"datatype": "string",
						"range": [
							{
								"max": 16
							}
						]
					},
					"DDIRange": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each range consists of a Start part consisting of 1 to n digits (string representation) followed by an OPTIONAL End part consisting of 1 to n digits prefixed by a - symbol. Examples: :0123456789 :0123456700-0123456720 Each time this value is changed, the table of Lines managed by the <<object|.Trunk>> is automatically adapted and each value of the <<param>> MUST be represented in corresponding <<param|.CallControl.Line.<i>.DirectoryNumber>> parameter. If this trunk has a <<object|.SIP.Client.>> provider and <<param|.SIP.Client.<i>.E164Format>> is set to <<true>>, full E.164 numbers with country code (but without + prefix) MUST be used. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
						"list": {
							"datatype": "string"
						}
					},
					"LineObjectCreation": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, a <<object|.CallControl.Line.<i>.>> instance SHOULD be created automatically for each identity within the ranges specified by <<param|DDIRange>>.",
						"datatype": "boolean"
					},
					"MaxChannels": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Defines the maximum number of simultaneous communication channels handled by this trunk. A channel is used to convey an information signal, for example a digital bit stream, from one or several senders to one or several receivers.",
						"datatype": "unsignedInt"
					},
					"MaxOutboundChannelCount": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximal number of simultaneous communication channels in outbound direction supported across this trunk. The maximum number cannot exceed <<param|MaxChannels>> - <<param|MaxInboundChannelCount>>. A value n>0 means, that there are no more than n channels allowed, which are used by outbound calls. A value of -1 means that there are no restrictions in this direction.",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"MaxInboundChannelCount": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximal number of simultaneous communication channels in inbound direction supported across this trunk. The maximum number cannot exceed <<param|MaxChannels>> - <<param|MaxOutboundChannelCount>>. A value n>0 means, that there are no more than n channels allowed, which are used by inbound calls. A value of -1 means that there are no restrictions in this direction.",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"CodecPriority": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<param>> option controls which end of an inbound call leg will have priority over the negotiation of codecs.",
						"datatype": "string",
						"enumerations": [
							"Local",
							"Remote"
						]
					},
					"Provider": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "SIP client or ISDN interface associated with the identities represented by this trunk. <<reference>> This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Device.Services.VoiceService.{i}.CallControl.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Call control and call routing parameters. This object is a control plane application for the VoiceService that provides numbers or names based routing, local PBX functionalities and advanced telephony features. It is mutually exclusive with the <<object|.Interwork>> table which is used in case of switching capabilities.",
					"access": false,
					"array": false,
					"MaxNumberOfLines": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum number of <<object|Line.<i>.>> in <<object>>. This value cannot be greater than <<param|.Capabilities.MaxLineCount>>.",
						"datatype": "unsignedInt"
					},
					"MaxNumberOfExtensions": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum number of <<object|Extension.<i>.>> in <<object>>. This value cannot be greater than <<param|.Capabilities.MaxExtensionCount>>.",
						"datatype": "unsignedInt"
					},
					"LineNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ExtensionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"MailboxNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"IncomingMapNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"OutgoingMapNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"NumberingPlanNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"GroupNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.CallControl.Line.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Voice line table. Support for adding and removing lines is conditional on whether the CPE supports more than one line in total as indicated by <<param|.Capabilities.MaxLineCount>>.",
						"uniqueKeys": [
							"DirectoryNumber",
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable this line.",
							"default": "false",
							"datatype": "boolean"
						},
						"QuiescentMode": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this line.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Error",
								"Testing",
								"Quiescent",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"CallStatus": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the call status for this line.",
							"datatype": "string",
							"enumerations": [
								"Idle",
								"Dialing",
								"Delivered",
								"Connected",
								"Alerting",
								"Disconnected"
							]
						},
						"Origin": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Mechanism via which the <<object>> instance was created.",
							"datatype": "string",
							"enumerations": [
								"Static",
								"DDIRange"
							]
						},
						"DirectoryNumber": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Directory number associated with this line.",
							"datatype": "string",
							"range": [
								{
									"max": 32
								}
							]
						},
						"Provider": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Provider for the line. The value MUST be the path name of a row in one of the following tables: <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CallingFeatures": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Set of calling features to apply to this line. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Statistics for this <<object|#>> instance. The CPE MUST reset the lines Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the line becomes operationally down due to a previous administrative down (i.e. the lines <<param|#.Status>> parameter transitions to a down state after the line is disabled) or when the line becomes administratively up (i.e. the lines <<param|#.Enable>> parameter transitions from <<false>> to <<true>>).",
							"access": false,
							"array": false,
							"Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.IncomingCalls.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Statistics for incoming calls.",
								"access": false,
								"array": false,
								"CallsReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of received calls to the line.",
									"datatype": "unsignedInt"
								},
								"CallsConnected": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of calls that successfully completed call setup signaling.",
									"datatype": "unsignedInt"
								},
								"CallsFailed": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of calls that failed to successfully complete call setup signaling.",
									"datatype": "unsignedInt"
								},
								"CallsDropped": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total calls that were successfully connected, but dropped unexpectedly while in progress without explicit user termination.",
									"datatype": "unsignedInt"
								},
								"TotalCallTime": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Cumulative call duration in <<units>>.",
									"datatype": "unsignedInt",
									"unit": "seconds"
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.OutgoingCalls.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Statistics for outgoing calls.",
								"access": false,
								"array": false,
								"CallsAttempted": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of outgoing calls attempted from the line.",
									"datatype": "unsignedInt"
								},
								"CallsConnected": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of calls that successfully completed call setup signaling.",
									"datatype": "unsignedInt"
								},
								"CallsFailed": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of calls that failed to successfully complete call setup signaling.",
									"datatype": "unsignedInt"
								},
								"CallsDropped": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total calls that were successfully connected, but dropped unexpectedly while in progress without explicit user termination.",
									"datatype": "unsignedInt"
								},
								"TotalCallTime": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Cumulative call duration in <<units>>.",
									"datatype": "unsignedInt",
									"unit": "seconds"
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.RTP.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "RTP statistic parameters.",
								"access": false,
								"array": false,
								"PacketsReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets received.",
									"datatype": "unsignedInt"
								},
								"PacketsSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets sent.",
									"datatype": "unsignedInt"
								},
								"PacketsLost": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets that have been lost.",
									"datatype": "unsignedInt"
								},
								"BytesSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of bytes sent.",
									"datatype": "unsignedInt"
								},
								"BytesReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of bytes received.",
									"datatype": "unsignedInt"
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.DSP.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "DSP statistic parameters.",
								"access": false,
								"array": false,
								"Overruns": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of times the receive jitter buffer has overrun.",
									"datatype": "unsignedInt"
								},
								"Underruns": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of times the receive jitter buffer has underrun.",
									"datatype": "unsignedInt"
								}
							}
						}
					},
					"Device.Services.VoiceService.{i}.CallControl.Extension.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Extension table containing the local numbers and names. Support for adding and removing extensions is conditional on whether the CPE supports more than one line in total as indicated by <<param|.Capabilities.MaxExtensionCount>>.",
						"uniqueKeys": [
							"ExtensionNumber",
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable this extension.",
							"default": "false",
							"datatype": "boolean"
						},
						"QuiescentMode": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this extension.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Up",
								"Initializing",
								"Error",
								"Testing",
								"Quiescent",
								"Disabled"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"CallStatus": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the call status for this extension.",
							"datatype": "string",
							"enumerations": [
								"Idle",
								"Dialing",
								"Delivered",
								"Connected",
								"Alerting",
								"Disconnected"
							]
						},
						"Origin": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Mechanism via which the <<object>> object was assigned. Enumeration of: AutoConfigured, Static.",
							"default": "Static",
							"datatype": "string",
							"enumerations": [
								"AutoConfigured",
								"Static"
							]
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The name of this extension. This name will also be used for CallerIdName functionality and for displaying on screen of handset, etc...",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ExtensionNumber": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number assigned to this extension for internal calls.",
							"datatype": "string",
							"range": [
								{
									"max": 32
								}
							]
						},
						"Provider": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Provider for the extension. The value MUST be the path name of a row in one of the following tables: <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"NumberingPlan": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Numbering plan to be used for outgoing calls. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CallingFeatures": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Set of calling features to apply to this extension. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CallWaitingStatus": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Status of endpoint managed call waiting, if supported. Enumeration of: Disabled, Idle, SecondaryRinging, SecondaryConnecting, SecondaryConnected. This parameter SHOULD NOT be present if the CPE does not support endpoint managed call waiting.",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Idle",
								"SecondaryRinging",
								"SecondaryConnecting",
								"SecondaryConnected"
							]
						},
						"ConferenceCallingStatus": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Status of endpoint managed conference calling, if supported. Enumeration of: Disabled, Idle, SecondaryCalling, SecondaryConnecting, SecondaryConnected, InConferenceCall. This parameter SHOULD NOT be present if the CPE does not support endpoint managed conference calling.",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Idle",
								"SecondaryCalling",
								"SecondaryConnecting",
								"SecondaryConnected",
								"InConferenceCall"
							]
						},
						"ConferenceCallingSessionCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of active sessions on this extension. : 0 indicates no call is in progress. : 1 indicates a single call is in progress. : Higher values indicate a conference call is in progress. This parameter SHOULD NOT be present if the CPE does not support endpoint managed conference calling.",
							"datatype": "unsignedInt"
						},
						"VoiceMail": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Voice mail to use when the <<object>> is not responding. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Device.Services.VoiceService.{i}.CallControl.Extension.{i}.Stats.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Statistics for this extension. The CPE MUST reset the extensions Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the extension becomes operationally down due to a previous administrative down (i.e. the extensions <<param|#.Status>> parameter transitions to a down state after the extension is disabled) or when the extension becomes administratively up (i.e. the extensions <<param|#.Enable>> parameter transitions from <<false>> to <<true>>).",
							"access": false,
							"array": false,
							"Device.Services.VoiceService.{i}.CallControl.Extension.{i}.Stats.IncomingCalls.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Statistics for incoming calls.",
								"access": false,
								"array": false,
								"CallsReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of received calls to the extension.",
									"datatype": "unsignedInt"
								},
								"CallsConnected": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of calls that successfully completed call setup signaling.",
									"datatype": "unsignedInt"
								},
								"CallsFailed": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of calls that failed to successfully complete call setup signaling.",
									"datatype": "unsignedInt"
								},
								"CallsDropped": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total calls that were successfully connected, but dropped unexpectedly while in progress without explicit user termination.",
									"datatype": "unsignedInt"
								},
								"TotalCallTime": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Cumulative call duration in <<units>>.",
									"datatype": "unsignedInt",
									"unit": "seconds"
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.Extension.{i}.Stats.OutgoingCalls.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Statistics for outgoing calls.",
								"access": false,
								"array": false,
								"CallsAttempted": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of outgoing calls attempted from the extension.",
									"datatype": "unsignedInt"
								},
								"CallsConnected": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of calls that successfully completed call setup signaling.",
									"datatype": "unsignedInt"
								},
								"CallsFailed": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of calls that failed to successfully complete call setup signaling.",
									"datatype": "unsignedInt"
								},
								"CallsDropped": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total calls that were successfully connected, but dropped unexpectedly while in progress without explicit user termination.",
									"datatype": "unsignedInt"
								},
								"TotalCallTime": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Cumulative call duration in <<units>>.",
									"datatype": "unsignedInt",
									"unit": "seconds"
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.Extension.{i}.Stats.RTP.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "RTP statistic parameters.",
								"access": false,
								"array": false,
								"PacketsReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets received.",
									"datatype": "unsignedInt"
								},
								"PacketsSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets sent.",
									"datatype": "unsignedInt"
								},
								"PacketsLost": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets that have been lost.",
									"datatype": "unsignedInt"
								},
								"BytesSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of bytes sent.",
									"datatype": "unsignedInt"
								},
								"BytesReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of bytes received.",
									"datatype": "unsignedInt"
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.Extension.{i}.Stats.DSP.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "DSP statistic parameters.",
								"access": false,
								"array": false,
								"Overruns": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of times the receive jitter buffer has overrun.",
									"datatype": "unsignedInt"
								},
								"Underruns": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of times the receive jitter buffer has underrun.",
									"datatype": "unsignedInt"
								}
							}
						}
					},
					"Device.Services.VoiceService.{i}.CallControl.Group.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object models an extension as a group of extensions.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Extensions": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> If this parameter is null the group is treated as a group that contains all extensions. <<reference>>",
							"list": {
								"datatype": "string"
							}
						},
						"RingType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Defines the way of ringing for the extensions in this group. Enumeration of: Simultaneous, Hierarchical, Cyclic.",
							"datatype": "string",
							"enumerations": [
								"Simultaneous",
								"Hierarchical",
								"Cyclic"
							]
						},
						"RingTimeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time (in <<units>>) to wait for extension reply before trying the next extension. Only applicable if <<param|RingType>> = <<enum|Hierarchical|RingType>> or <<enum|Cyclic|RingType>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"Device.Services.VoiceService.{i}.CallControl.Mailbox.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Voice mail configuration related to a particular extension.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this entry.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"MaxMsg": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This limits the number of messages in a voicemail folder.",
							"datatype": "unsignedInt"
						},
						"MaxMessageTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Defines the maximum amount of time in <<units>> of an incoming message. Use this when there are many users and disk space is limited. A value of 0 means there will be no maximum time limit enforced.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"MinSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Minimal size in <<units>> of the voicemail box.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SMTPServerAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "SMTP server FQDN or IP Address used for voicemail notifications.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"SMTPServerPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "SMTP server port for voicemail notifications.",
							"default": "25",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"SMTPUser": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "SMTP user name.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"SMTPPassword": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "SMTP password.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"SMTPAuthenticationType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Type of authentication used to connect to the SMTP server.",
							"default": "None",
							"datatype": "string",
							"enumerations": [
								"None",
								"SSL",
								"TLS",
								"Auto"
							]
						},
						"SMTPFrom": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Senders email address.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"Device.Services.VoiceService.{i}.CallControl.IncomingMap.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<object>> is a table that is used to control which extensions ring when an incoming call is received. The map approach separates the call routing aspects from the configuration of the lines and extensions. It support PBX concepts such as DDI (one extension per line) and groups (parallel dialing if extensions have same priority and hunting when extensions have different priority).",
						"uniqueKeys": [
							"Line",
							"Extension",
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this entry.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Line": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<object|#.Line>> used by the call. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Extension": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<object|#.Extension>> that rings on incoming call. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Order": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the order in which extensions ring. First all extensions with the lowest order value will ring. When all these extensions have rejected the call or did not reply, the next order value will be attempted.",
							"default": "1",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						},
						"Timeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> the extension will ring before it is considered that there was no reply.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"Device.Services.VoiceService.{i}.CallControl.OutgoingMap.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<object>> is a table that is used to control which line is used when an extension makes a call.",
						"uniqueKeys": [
							"Extension",
							"Line",
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this entry.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"CLIPNoScreeningNumber": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Public number to be presented outgoing calls, instead of the effective extension number.",
							"datatype": "string",
							"range": [
								{
									"max": 32
								}
							]
						},
						"Extension": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<object|#.Extension>> which makes the outgoing call. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Line": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Identifies the <<object|#.Line>> to be used for outgoing calls. When applicable in the signaling protocol the DirectoryNumber will be used as source number for this call. Note: The Line to be used for an outgoing call can be overridden by the <<object|#.NumberingPlan>>. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Order": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The order in which using the lines is attempted. This is used to implement a backup mechanism. If the first line is not available, using the next one will be attempted.",
							"default": "1",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						}
					},
					"Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Information related the numbering plan. <<object>> is applicable only if the device supports a dialing mechanism for which a number plan is needed (for example, some devices with an explicit Dial button do not need to be aware of the dialing plan) and if the device does not already support a numbering plan mechanism for this call control (e.g., in-band via MGCP).",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"MinimumNumberOfDigits": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This is the minimum number of digits to be collected before an outgoing request (e.g., a SIP INVITE) can be initiated. If End of Dialing (as defined in <<param|InterDigitTimerStd>>) occurs before the minimum number of digits has been reached then the number will be considered incomplete and no request will be initiated. In practice, searching <<object|.CallControl.NumberingPlan.<i>.PrefixInfo.<i>.>> commences only once <<param>> digits has been received.",
							"default": "1",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 32
								}
							]
						},
						"MaximumNumberOfDigits": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "When this number of digits has been collected, an outgoing request (e.g., a SIP INVITE) MUST be initiated. Any additional dialed digits will be ignored. This parameter is only used in the case that no match in <<object|.CallControl.NumberingPlan.<i>.PrefixInfo.<i>.>> has been found.",
							"default": "15",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 32
								}
							]
						},
						"InterDigitTimerStd": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This timer is the maximum allowable time (expressed in <<units>>) between the dialing of digits. This timer is restarted every time a digit is dialed. Expiration of this timer indicates End of Dialing.",
							"default": "15000",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 50000
								}
							],
							"unit": "milliseconds"
						},
						"InterDigitTimerOpen": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This timer is the maximum allowable time (expressed in <<units>>) between the dialing of digits once the minimum number of digits defined on a prefix based has been reached. This timer is only applicable to open numbering, where the exact number of digits for a prefix is not known.",
							"default": "3000",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 50000
								}
							],
							"unit": "milliseconds"
						},
						"TerminationDigit": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Digit that can be used by the subscriber to indicate that dialing has completed.",
							"default": "#",
							"datatype": "string",
							"range": [
								{
									"max": 1
								}
							]
						},
						"InvalidNumberTone": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The tone that tells the user when the number dialed is determined to be invalid. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"PrefixInfoMaxEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This is the maximum number of instances of <<object|.CallControl.NumberingPlan.<i>.PrefixInfo.<i>.>> that can be supported.",
							"datatype": "unsignedInt"
						},
						"PrefixInfoNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the number of instances of <<object|.CallControl.NumberingPlan.<i>.PrefixInfo.<i>.>>.",
							"datatype": "unsignedInt"
						},
						"Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.PrefixInfo.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Each entry in this table contains information related to an individual prefix in the NumberingPlan. It is anticipated that once the minimum number of digits has been received, the VoIP device will search this prefix list every time a new digit is received. If no new entry is found, then the object that was previously found will be used instead. If supported, <<param|.CallControl.NumberingPlan.<i>.PrefixInfoMaxEntries>> and <<param|.CallControl.NumberingPlan.<i>.PrefixInfoNumberOfEntries>> MUST be present. The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.",
							"uniqueKeys": [
								"Alias"
							],
							"access": true,
							"array": true,
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables this entry.",
								"default": "false",
								"datatype": "boolean"
							},
							"PrefixRange": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is a string representation of a range of prefixes. Each prefix consists of a From part consisting of 1 to n digits (string representation) followed by an OPTIONAL To part consisting of exactly one digit prefixed by a - symbol. All characters in the From and To parts of the prefix range MUST be 0-9, * or #. A further constraint is that the To digit MUST always be numerically greater than the last digit of the From part. Examples: : 02 : 031-5 : 032 : 0325 : *#34 : #22",
								"datatype": "string",
								"range": [
									{
										"max": 42
									}
								]
							},
							"PrefixMinNumberOfDigits": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is the minimum number of allowable digits for the prefix range. Once the minimum number of digits has been reached, <<param|#.InterDigitTimerOpen>> will be used instead of <<param|#.InterDigitTimerStd>>. If the minimum number of digits has been reached and the inter-digit timer expires, an outgoing request is initiated.",
								"default": "1",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 1,
										"max": 40
									}
								]
							},
							"PrefixMaxNumberOfDigits": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is the maximum number of allowable digits for the prefix range. Once the number of digits received reaches this value an outgoing request is initiated.",
								"default": "1",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 1,
										"max": 40
									}
								]
							},
							"NumberOfDigitsToRemove": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "If this parameter has a non-zero value, the specified number of digits will be removed from the internal digit buffer (which contains the dialed digits) from the position specified by <<param|PosOfDigitsToRemove>>. Subsequently a search of <<object>> for a matching prefix using the modified number is performed. Note that this parameter does not have any impact on the number sent in the outgoing request: it is used only for searching within the Numbering Plan. This parameter has no effect if it is set to 0. This parameter is provided to handle Carrier override and other codes used as prefix to standard numbers and to ensure that the correct End of Dialing can be specified without significant data duplication.",
								"default": "0",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 40
									}
								]
							},
							"PosOfDigitsToRemove": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This parameter is used in conjunction with <<param|NumberOfDigitsToRemove>>. It specifies the position within the internal digit buffer from which the digits are to be removed.",
								"default": "0",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 40
									}
								]
							},
							"DialTone": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The tone to be played by the VoIP device when the user has dialed exactly the same digits as defined in the prefix. The VoIP device will cease playing the tone once an additional digit has been dialed. <<reference>>",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"FacilityAction": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is a string representing a Facility Action implemented by the VoIP device. The parameter MAY instead indicate a vendor-specific Facility Action, which MUST use the format defined in <<bibref|TR-106>>. When <<empty>> or the value is an unrecognized string (i.e. a Facility Action not supported by the CPE) normal outgoing requests are made.",
								"datatype": "string",
								"range": [
									{
										"max": 64
									}
								]
							},
							"FacilityActionArgument": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Optional argument associated with <<param|FacilityAction>>. The interpretation of the argument is dependent on a specific value of <<param|FacilityAction>>. <<reference>>",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					},
					"Device.Services.VoiceService.{i}.CallControl.CallingFeatures.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object models the calling features that can be apply on <<object|.CallControl.Line>> or <<object|.CallControl.Extension>>.",
						"access": false,
						"array": false,
						"SetNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object models a set of calling features that can be applied in <<object|.CallControl.Line.>> or <<object|.CallControl.Extension.>> objects.",
							"uniqueKeys": [
								"Alias"
							],
							"access": true,
							"array": true,
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"CallerIDEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable the transmission of caller ID information on incoming calls (CLIP).",
								"datatype": "boolean"
							},
							"CallerIDNameEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable the transmission of caller ID name information on incoming calls (CNIP).",
								"datatype": "boolean"
							},
							"CallWaitingEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables call waiting in the Endpoint. This parameter SHOULD NOT be present if the CPE does not support Endpoint managed call waiting.",
								"datatype": "boolean"
							},
							"CallForwardUnconditionalEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables unconditional call forwarding by the endpoint. This parameter SHOULD NOT be present if the CPE does not support Endpoint based call forwarding.",
								"datatype": "boolean"
							},
							"CallForwardUnconditionalNumber": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Directory number to which all incoming calls to this line are forwarded when <<param|CallForwardUnconditionalEnable>> is <<true>>. This parameter SHOULD NOT be present if the CPE does not support Endpoint based call forwarding",
								"datatype": "string",
								"range": [
									{
										"max": 32
									}
								]
							},
							"CallForwardOnBusyEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables call forwarding-on-busy by the Endpoint. This parameter SHOULD NOT be present if the CPE does not support Endpoint based call forwarding.",
								"datatype": "boolean"
							},
							"CallForwardOnBusyNumber": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Directory number to which all incoming calls to this line are forwarded when <<param|CallForwardOnBusyEnable>> is <<true>> and the line is busy. This parameter SHOULD NOT be present if the CPE does not support Endpoint based call forwarding.",
								"datatype": "string",
								"range": [
									{
										"max": 32
									}
								]
							},
							"CallForwardOnBusyRingTimeout": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Delay in <<units>> before considering there is no answer for call forwarding-on-busy. This parameter SHOULD NOT be present if the CPE does not support Endpoint based call forwarding.",
								"datatype": "unsignedInt",
								"unit": "seconds"
							},
							"CallForwardOnNoAnswerEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables call forwarding-on-no-answer by the Endpoint. This parameter SHOULD NOT be present if the CPE does not support Endpoint based call forwarding.",
								"datatype": "boolean"
							},
							"CallForwardOnNoAnswerNumber": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Directory number to which all incoming calls to this line are forwarded when <<param|CallForwardOnNoAnswerEnable>> is <<true>> and there is no local answer. This parameter SHOULD NOT be present if the CPE does not support Endpoint based call forwarding.",
								"datatype": "string",
								"range": [
									{
										"max": 32
									}
								]
							},
							"CallForwardOnNoAnswerRingTimeout": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Delay in <<units>> before considering there is no answer for call forwarding-on-no-answer. This parameter SHOULD NOT be present if the CPE does not support Endpoint based call forwarding.",
								"datatype": "unsignedInt",
								"unit": "seconds"
							},
							"CallTransferEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables call transfer by the Endpoint. This parameter SHOULD NOT be present if the CPE does not support Endpoint based call transfer.",
								"datatype": "boolean"
							},
							"MWIEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables Message Waiting Indication by the Endpoint. This parameter SHOULD NOT be present if the CPE does not support MWI.",
								"datatype": "boolean"
							},
							"VMWIEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables Visual Message Waiting Indication.",
								"datatype": "boolean"
							},
							"LineMessagesWaiting": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates the number of messages which are currently waiting on this line as known by the CPE. This parameter SHOULD NOT be present if the CPE does not support MWI.",
								"datatype": "unsignedInt"
							},
							"AnonymousCallRejectionEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable Anonymous Call Block capability in the endpoint (ACR). This parameter SHOULD NOT be present if the CPE does not support endpoint based Anonymous Call Block capability.",
								"datatype": "boolean"
							},
							"AnonymousCallEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable Anonymous Call capability in the endpoint (CLIR). This parameter SHOULD NOT be present if the CPE does not support endpoint based Anonymous Call capability.",
								"datatype": "boolean"
							},
							"DoNotDisturbEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable Do Not Disturb capability in the Endpoint. When enabled, all calls are forwarded to voice mail. This parameter SHOULD NOT be present if the CPE does not support Endpoint based Do Not Disturb capability.",
								"datatype": "boolean"
							},
							"RepeatDialEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable Repeat Dial capability in the Endpoint. This parameter SHOULD NOT be present if the CPE does not support Endpoint based Repeat Dial capability.",
								"datatype": "boolean"
							},
							"VoiceMailEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable Voice Mail capability in the Endpoint. This parameter SHOULD NOT be present if the CPE does not support Endpoint based Voice Mail capability.",
								"datatype": "boolean"
							},
							"CallPickUpEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable Call Interception capability in the Endpoint.",
								"datatype": "boolean"
							},
							"CCBSEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable automatic recall on busy (Completion of Calls to Busy Subscriber) capability in the Endpoint.",
								"datatype": "boolean"
							},
							"IIFCEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable successive forwarding (Inhibition of Incoming Forwarded Calls) from the Endpoint.",
								"datatype": "boolean"
							},
							"BlockForwardEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Allow or block any internal forward to the Endpoint.",
								"datatype": "boolean"
							},
							"SecretForwarderEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable secret identity of this Endpoint in case it initiates (on an external incoming call) a forward to another internal phone Endpoint. If enabled, only the remote caller party can be identified (if not anonymous), not this intermediate via phone extension.",
								"datatype": "boolean"
							},
							"FollowMeEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable FollowMe capability in the Endpoint.",
								"datatype": "boolean"
							},
							"CFTNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"SCFNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"SCREJNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"FollowMeNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CFT.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object defines a Call Forwarding Timed (CFT) that permit the user to forward calls to particular destinations depending on the time of day. Note: a bad configuration (e.g. timeslots overlapping) could cause unexpected behavior.",
								"uniqueKeys": [
									"Alias"
								],
								"access": true,
								"array": true,
								"Enable": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Whether this schedule is currently enabled.",
									"datatype": "boolean"
								},
								"Alias": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
									"datatype": "Alias",
									"range": [
										{
											"max": 64
										}
									]
								},
								"Day": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Day where the schedule active.",
									"datatype": "string",
									"enumerations": [
										"Monday",
										"Tuesday",
										"Wednesday",
										"Thursday",
										"Friday",
										"Saturday",
										"Sunday",
										"All"
									]
								},
								"StartTime": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Start time of the schedule in the form : hh:mm.",
									"datatype": "string",
									"range": [
										{
											"max": 5
										}
									]
								},
								"EndTime": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "End time of the schedule in the form : hh:mm.",
									"datatype": "string",
									"range": [
										{
											"max": 5
										}
									]
								},
								"ForwardedToNumber": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Number to forward the call to.",
									"datatype": "string",
									"range": [
										{
											"max": 32
										}
									]
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.SCF.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object defines a Selective Call Forwarding (SCF) that permit the user to forward calls to different destinations depending on the calling number.",
								"uniqueKeys": [
									"CallingNumber",
									"Alias"
								],
								"access": true,
								"array": true,
								"Enable": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Enables or disables this Selective Call Forward.",
									"default": "false",
									"datatype": "boolean"
								},
								"Alias": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
									"datatype": "Alias",
									"range": [
										{
											"max": 64
										}
									]
								},
								"CallingNumber": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Calling number concerned by the forward. The CPE SHOULD perform an exact match with this string without any attempts at number normalization.",
									"datatype": "string",
									"range": [
										{
											"max": 32
										}
									]
								},
								"ForwardedToNumber": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Number to forward the call to.",
									"datatype": "string",
									"range": [
										{
											"max": 32
										}
									]
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.SCREJ.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object defines a Selective Call Rejection (SCREJ) that permit the user to selectively reject calls depending on the calling number.",
								"uniqueKeys": [
									"CallingNumber",
									"Alias"
								],
								"access": true,
								"array": true,
								"Enable": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Enables or disables this Selective Call Rejection.",
									"default": "false",
									"datatype": "boolean"
								},
								"Alias": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
									"datatype": "Alias",
									"range": [
										{
											"max": 64
										}
									]
								},
								"CallingNumber": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Calling number concerned by the reject. The CPE SHOULD perform an exact match with this string without any attempts at number normalization.",
									"datatype": "string",
									"range": [
										{
											"max": 32
										}
									]
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.FollowMe.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object defines the FollowMe destinations mapping definition, in the provided sequence order.",
								"uniqueKeys": [
									"Alias",
									"Number",
									"Order"
								],
								"access": true,
								"array": true,
								"Enable": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Enables or disables this FollowMe sequence item.",
									"default": "false",
									"datatype": "boolean"
								},
								"Alias": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
									"datatype": "Alias",
									"range": [
										{
											"max": 64
										}
									]
								},
								"Delay": {
									"type": "unsignedInt",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Delay in <<units>> before next FollowMe sequence item applies.",
									"datatype": "unsignedInt",
									"unit": "seconds"
								},
								"Number": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Directory number to which all incoming calls to this line are forwarded to after <<param|Delay>>, when <<param|#.FollowMeEnable>> is <<true>>. In this case, <<param|#.CallForwardOnNoAnswerNumber>> is not used.",
									"datatype": "string",
									"range": [
										{
											"max": 32
										}
									]
								},
								"Order": {
									"type": "unsignedInt",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "For a given <<param|Number>>, defines the order of this item in the FollowMe sequence.",
									"datatype": "unsignedInt"
								}
							},
							"Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.Voice2Mail.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Voice to mail specific attributes. Applies only if <<param|#.VoiceMailEnable>> is set to <<true>>.",
								"access": false,
								"array": false,
								"Enable": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Enable or disable voice mail notification.",
									"datatype": "boolean"
								},
								"MaxMessageLength": {
									"type": "unsignedInt",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Defines the maximum amount of time in <<units>> of an incoming message. Use this when there are many users and disk space is limited. A value of 0 means there will be no maximum time limit enforced.",
									"datatype": "unsignedInt",
									"unit": "seconds"
								},
								"Attach": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if the message is sent as an attachment in voice mail notification.",
									"datatype": "boolean"
								},
								"KeepLocal": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Whether the voice to mail message is kept on the CPE after sending the mail. Applicable only if <<param|Attach>> is <<true>>.",
									"datatype": "boolean"
								},
								"EMailAddress": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "E-mail for voice to mail notification messages.",
									"datatype": "string"
								}
							}
						}
					}
				},
				"Device.Services.VoiceService.{i}.Interwork.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each entry in this table configures Inter-Working Function switching features. It is mutually exclusive with the <<object|.CallControl>> object which is used in case of PBX or Endpoint capabilities.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enable or disable this <<object>> instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"QuiescentMode": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the status of this <<object>> instance.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Error",
							"Quiescent",
							"Disabled"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "Alias",
						"range": [
							{
								"max": 64
							}
						]
					},
					"OperationalStatus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the operational status of the <<object>> connections when <<param|Status>> is <<enum|Up|Status>>. Enumeration of: InService, OutOfService, NetworkServersOffline.",
						"default": "OutOfService",
						"datatype": "string",
						"enumerations": [
							"InService",
							"OutOfService",
							"NetworkServersOffline"
						]
					},
					"OperationalStatusReason": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Human-readable string identifying the reason or explanation for the current <<param|OperationalStatus>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"NetworkConnectionMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter indicates whether or not the CPE supports a registration procedure that conveys its signaling IP address:port to the network. This parameter also indicates whether the network-facing Client object and its parameters are statically provisioned by the ACS or dynamically created by the CPE. Enumeration of: Static, RegisterDynamic, RegisterLearn, RegisterStatic.",
						"datatype": "string",
						"enumerations": [
							"Static",
							"RegisterDynamic",
							"RegisterLearn",
							"RegisterStatic"
						]
					},
					"UserConnectionMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter indicates whether or not an externally connected user device supports a registration procedure to convey its signaling address to the CPE. This parameter also indicates whether the user-facing objects and parameters that contain the external user device signaling address are statically provisioned by the ACS or dynamically learned by the CPE. Enumeration of: Static, RegisterDynamic, RegisterLearn.",
						"datatype": "string",
						"enumerations": [
							"Static",
							"RegisterDynamic",
							"RegisterLearn"
						]
					},
					"E164Mode": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute indicates whether or not the CPE performs E.164 routing of incoming requests received from the service provider network when the target Endpoint is a PBX.",
						"datatype": "boolean"
					},
					"NetworkAuthenticationChallengeMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter indicates how the CPE treats authentication challenges received from the service provider network. This parameter only has meaning when the CPE supports an externally connected user device (e.g., the CPE is acting as a gateway between the user device and the network). Enumeration of: PassThru, RespondLocal, Hop-by-Hop.",
						"datatype": "string",
						"enumerations": [
							"PassThru",
							"RespondLocal",
							"Hop-by-Hop"
						]
					},
					"NetworkIPAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The network IP Address of the CPE. The CPE MUST resolve this when the <<object|.Interwork.<i>.>> object is created. Note: In case of multiple network IP addresses, the choice is left to the CPE.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"InterworkingRuleSetURI": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "URI of the Interworking Rule Set for this <<object>> instance.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"InterworkingRuleSetInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The duration in <<units>> of the interval for which the CPE SHOULD send request to refresh the Interworking Rule Set. A value of 0 indicates that this feature is disabled.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"InterworkingRuleSetTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An absolute time reference in UTC to determine when the CPE will send a request to refresh the Interworking Rule Set. Each refresh request MUST occur at this reference time plus or minus an integer multiple of the <<param|InterworkingRuleSetInterval>>. <<param>> is used only to set the phase of refresh requests. The actual value of <<param>> can be arbitrarily far into the past or future. For example, if <<param|InterworkingRuleSetInterval>> is 86400 (a day) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then the refresh requests will occur every day at UTC midnight. These MUST begin on the very next midnight, even if <<param>> refers to a day in the future. The Unknown Time value defined in <<bibref|TR-106a2|section 3.2>> indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and needs only to adhere to the specified <<param|InterworkingRuleSetInterval>>. If absolute time is not available to the CPE, its behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value.",
						"datatype": "dateTime"
					},
					"FirewallRuleSetURI": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "URI of the Firewall Rule Set for this <<object>> instance.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"FirewallRuleSetInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The duration in <<units>> of the interval for which the CPE SHOULD send request to refresh the Firewall Rule Set. A value of 0 indicates that this feature is disabled.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"FirewallRuleSetTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An absolute time reference in UTC to determine when the CPE will send a request to refresh the Firewall Rule Set. Each refresh request MUST occur at this reference time plus or minus an integer multiple of the <<param|FirewallRuleSetInterval>>. <<param>> is used only to set the phase of refresh requests. The actual value of <<param>> can be arbitrarily far into the past or future. For example, if <<param|FirewallRuleSetInterval>> is 86400 (a day) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then the refresh requests will occur every day at UTC midnight. These MUST begin on the very next midnight, even if <<param>> refers to a day in the future. The Unknown Time value defined in <<bibref|TR-106a2|section 3.2>> indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and needs only to adhere to the specified <<param|FirewallRuleSetInterval>>. If absolute time is not available to the CPE, its behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value.",
						"datatype": "dateTime"
					},
					"InterworkName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Human-readable string identifying the name or explanation for this <<object>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ProxyServer": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reference to the <<object|.SIP.Proxy>> associated with this <<object>>. <<reference>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Networks": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference>> List of available Networks for routing calls.",
						"list": {
							"datatype": "string"
						}
					},
					"E164Client": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter is MUST contain the <<object|.SIP.Client>> for all <<object|.Trunk>> objects referenced in the <<object|Map>> table when <<param|E164Mode>> = <<true>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"UserInterfaceNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"MapNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.Interwork.{i}.UserInterface.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each table entry references a row in the <<object|.SIP.Registrar>> table to identify the User IP address and listening port for the Device and the Network to route calls to.",
						"uniqueKeys": [
							"Alias",
							"Registrar"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable (<<true>>) or disable (<<false>>) <<object>>.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Registrar": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The <<object|.SIP.Registrar>> to use with this <<object|#>>. The value of <<param>> MUST be unique over all <<object|.Interwork.<i>.>>. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Network": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If not null this provides the appropriate <<object|.SIP.Network>> to route calls from this User server to. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"Device.Services.VoiceService.{i}.Interwork.{i}.Map.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "For interworking use cases such as SIP-ISDN PBX plug and ESBC : mapping instance between a Network interface and a User extension.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable (<<true>>) or disable (<<false>>) this connection mapping.",
							"default": "false",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this connection mapping. Enumeration of: Active, InActive.",
							"default": "InActive",
							"datatype": "string",
							"enumerations": [
								"Active",
								"InActive"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"StatusDescription": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Human-readable string identifying the reason or explanation of the current mapping <<param|Status>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"LastTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The last time the Status was updated.",
							"datatype": "dateTime"
						},
						"Origin": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Mechanism via which this connection mapping was assigned. Enumeration of: AutoConfigured, Static.",
							"default": "Static",
							"datatype": "string",
							"enumerations": [
								"AutoConfigured",
								"Static"
							]
						},
						"NetworkConnection": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<reference>>. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"UserConnection": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<reference>>. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"DigitMap": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Digit map controlling digit collection on a User interface. The string defines the criteria to be met as digits are collected before an outgoing request (e.g., a SIP INVITE) can be initiated. The syntax of this parameter is exactly the syntax used by MGCP as defined in <<bibref|RFC3435|Section 2.1.5>>. This parameter is applicable only if the User interface supports per digit dialing and the Network interface supports en-bloc dialing only.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"DigitMapEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables use of <<param|DigitMap>>.",
							"default": "true",
							"datatype": "boolean"
						},
						"Priority": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the priority for this combination of Network-to-User mapping, where 1 is the highest priority. Where the priority differs between entries in this table, the CPE SHOULD use the highest priority (lowest numbered) entry. Where the priorities are equal among multiple entries, the CPE MAY apply a local criterion for choosing among them.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						}
					}
				},
				"Device.Services.VoiceService.{i}.CallLog.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains a list of calls. An entry is similar to a CDR (Call Detail Record) as used in PBX or on mobile phones. An entry is created each time a call is terminated. If the number of <<object|.CallLog>> exceeds <<param|.Capabilities.MaxCallLogCount>>, the CPE SHOULD remove the oldest <<object|.CallLog>> object on basis of <<param|Start>> parameter.",
					"uniqueKeys": [
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "Alias",
						"range": [
							{
								"max": 64
							}
						]
					},
					"CallingPartyNumber": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of the party originating the call.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"CalledPartyNumber": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of destination party of the call.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Source": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Party originating the call. <<reference>> <<object|.Trunk>>, <<object|.SIP.Registrar.<i>.Account>> and <<object|.SIP.Client>> objects SHOULD be referenced only when <<object|.Interwork>> is in use.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Destination": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Destination party of the call. <<reference>> <<object|.Trunk>>, <<object|.SIP.Registrar.<i>.Account>> and <<object|.SIP.Client>> objects SHOULD be only referenced only when <<object|.Interwork>> is in use.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"RemoteParty": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The phone number of the remote party after the dial plan has been processed.",
						"datatype": "string",
						"range": [
							{
								"max": 32
							}
						]
					},
					"UsedLine": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<object|.CallControl.Line>> used to process the call. <<reference>> When <<object|.Interwork>> is in use, this parameter is <<empty>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"UsedExtensions": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference>> For an incoming call multiple <<object|.CallControl.Extension>> objects can be involved till one user answers the call. When <<object|.Interwork>> is in use, this parameter is <<empty>>.",
						"list": {
							"datatype": "string"
						}
					},
					"Direction": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Direction of the call.",
						"datatype": "string",
						"enumerations": [
							"Incoming",
							"Outgoing"
						]
					},
					"Start": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Start of the call.",
						"datatype": "dateTime"
					},
					"Duration": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Length of the call in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"CallTerminationCause": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The call termination cause. The parameter MAY instead indicate a vendor-specific cause, which MUST use the format defined in <<bibref|TR-106>>.",
						"datatype": "string",
						"enumerations": [
							"NoExtensionsMapped",
							"NoExtensionsAvailable",
							"AnonymousCallRejection",
							"CallWaitingRejected",
							"CallForwardingUnconditional",
							"CallForwardingBusy",
							"CallForwardingNoReply",
							"LocalDisconnect",
							"LocalForbidden",
							"LocalTimeout",
							"LocalMediaError.",
							"LocalPriority.",
							"LocalReject",
							"LocalTransfer",
							"LocalInternalError",
							"RemoteDisconnect",
							"RemoteBadRequest",
							"RemoteForbidden",
							"RemoteNotFound",
							"RemoteReject",
							"RemoteNotAllowed",
							"RemoteNotAcceptable",
							"RemoteTimeout",
							"RemoteUnavailable",
							"RemoteBusy",
							"RemoteNotSupported",
							"RemoteNetworkFailure"
						]
					},
					"SessionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the number of entries in <<object|.CallLog.<i>.Session.<i>.>>. Sessions are the equivalent of RTP streams in VoIP calls : a call can have more than one session in sequence when codec changes happen during a call. In multimedia calls, multiple sessions in parallel are possible.",
						"datatype": "unsignedInt"
					},
					"SignalingPerformanceNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.CallLog.{i}.SignalingPerformance.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This table contains signaling performance statistics for each protocol involved in the call.",
						"uniqueKeys": [
							"Protocol"
						],
						"access": false,
						"array": true,
						"Protocol": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Protocol for which this signaling performance statistics are available.",
							"datatype": "string",
							"enumerations": [
								"H.323",
								"SIP"
							]
						},
						"CallSetupDelay": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time between the instant a system receives a call attempt and the instant of invitation of ringing at the call receiver end instrument in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"OutgoingMediaEstablishDelay": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> between : :- the instant a system has received information that the called party is connected :- the instant the first media packet goes out the CPE The value could be negative if a media packet is sent before the connection establishment.",
							"datatype": "int",
							"unit": "milliseconds"
						},
						"IncomingMediaEstablishDelay": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> between : :- the instant a system has received information that the called party is connected :- the instant the first media packet goes into the CPE The value could be negative if a media packet arrives before the connection establishment.",
							"datatype": "int",
							"unit": "milliseconds"
						}
					},
					"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Session information within one call.",
						"uniqueKeys": [
							"SessionID"
						],
						"access": false,
						"array": true,
						"StreamType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The type of media stream used in this session.",
							"datatype": "string",
							"enumerations": [
								"Audio",
								"Video",
								"Fax",
								"Modem"
							]
						},
						"Start": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time that the session started, in UTC.",
							"datatype": "dateTime"
						},
						"Duration": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Length of the session in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SessionID": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Session Identifier. For the SIP protocol this corresponds to the SIP SDP session identifier.",
							"datatype": "string",
							"range": [
								{
									"max": 16
								}
							]
						},
						"SIPSessionID": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "SIP Session Identifier",
							"datatype": "string",
							"range": [
								{
									"max": 32
								}
							]
						},
						"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The source of the session information within one call.",
							"access": false,
							"array": false,
							"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.RTP.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The RTP part of the source session information.",
								"access": false,
								"array": false,
								"FarEndIPAddress": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The IP address of far end VoIP device.",
									"datatype": "IPAddress",
									"range": [
										{
											"max": 45
										}
									]
								},
								"FarEndUDPPort": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The UDP port used for current session in the far end device.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 65535
										}
									]
								},
								"LocalUDPPort": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The local UDP port used for current session.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 65535
										}
									]
								},
								"MinJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The minimum relative transit time in <<units>> between two packets as defined in <<bibref|RFC3611>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "milliseconds"
								},
								"MaxJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The maximum relative transit time in <<units>> between two packets as defined in <<bibref|RFC3611>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "milliseconds"
								},
								"MeanJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The mean relative transit time in <<units>> between each two packet series as defined in <<bibref|RFC3611>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "milliseconds"
								},
								"PacketDelayVariation": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "1-Point Packet Delay Variation according to <<bibref|Y.1540>> in <<units>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "milliseconds"
								},
								"BufferDelay": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Average delay in <<units>> added by buffer processing. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "microseconds"
								},
								"BurstCount": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The number of bursts (as defined in <<bibref|RFC3611>>) that occur during this session (during one burst several packets MAY be lost). The bursts threshold is configured with the parameter <<param|.VoIPProfile.<i>.RTP.Gmin>>.",
									"datatype": "StatsCounter32"
								},
								"PacketsReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets received for this session.",
									"datatype": "StatsCounter64"
								},
								"PacketsSent": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets sent for this session.",
									"datatype": "StatsCounter64"
								},
								"PacketsLost": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets that have been lost for this session (see <<bibref|RFC3611>>).",
									"datatype": "StatsCounter32"
								},
								"PacketsDiscarded": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets that have been discarded for this session (see <<bibref|RFC3611>>).",
									"datatype": "StatsCounter32"
								},
								"BytesReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of bytes received for this session.",
									"datatype": "StatsCounter64"
								},
								"BytesSent": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of bytes sent for this session.",
									"datatype": "StatsCounter64"
								},
								"ReceivePacketLossRate": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current receive packet loss rate in percent, calculated as defined in <<bibref|RFC3550|Section 6.4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 100
										}
									]
								},
								"FarEndPacketLossRate": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current far end receive packet lost rate in percent, calculated as defined in <<bibref|RFC3550|Section 6.4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 100
										}
									]
								},
								"ReceiveInterarrivalJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current receive interarrival jitter in timestamp units. Calculated from J(i) as defined in <<bibref|RFC3550|Section 6.4>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									]
								},
								"FarEndInterarrivalJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current Interarrival jitter in timestamp units as reported from the far-end device via RTCP. Calculated from J(i) as defined in <<bibref|RFC3550|Section 6.4>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									]
								},
								"AverageReceiveInterarrivalJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Average receive interarrival jitter in timestamp units since the beginning of the current call. Calculated as the average of the interarrival jitter values reported by the far-end. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									]
								},
								"AverageFarEndInterarrivalJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Average far-end interarrival jitter in timestamp units since the beginning of the current call. Calculated as the average of the interarrival jitter values reported by the far-end. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									]
								},
								"RoundTripDelay": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current round trip delay in <<units>> calculated as defined in <<bibref|RFC3550|Section 6.4>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "microseconds"
								},
								"AverageRoundTripDelay": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Average round trip delay in <<units>> since the beginning of the current session. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "microseconds"
								},
								"SamplingFrequency": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Sample frequency in <<units>> used by the codec for this session.",
									"datatype": "unsignedInt",
									"unit": "Hertz"
								}
							},
							"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.DSP.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The DSP part of the line session information.",
								"access": false,
								"array": false,
								"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.DSP.ReceiveCodec.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The receive codec used in this session.",
									"access": false,
									"array": false,
									"Codec": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The codec in use for the incoming voice stream. <<reference>>",
										"datatype": "string",
										"range": [
											{
												"max": 256
											}
										]
									},
									"SilenceSuppression": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Whether or not silence suppression is in use for the incoming voice stream.",
										"datatype": "boolean"
									},
									"Overruns": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of times the receive jitter buffer has overrun for this session.",
										"datatype": "unsignedInt"
									},
									"Underruns": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of times the receive jitter buffer has underrun for this session.",
										"datatype": "unsignedInt"
									}
								},
								"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.DSP.TransmitCodec.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The transmit codec used in this session.",
									"access": false,
									"array": false,
									"Codec": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The codec in use for the outgoing voice stream. <<reference>>",
										"datatype": "string",
										"range": [
											{
												"max": 256
											}
										]
									},
									"SilenceSuppression": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Whether or not silence suppression is in use for the outgoing voice stream.",
										"datatype": "boolean"
									},
									"PacketizationPeriod": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Current outgoing packetization period in <<units>>.",
										"datatype": "unsignedInt",
										"unit": "milliseconds"
									},
									"Overruns": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of times the transmit jitter buffer has overrun for this session.",
										"datatype": "unsignedInt"
									},
									"Underruns": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of times the transmit jitter buffer has underrun for this session.",
										"datatype": "unsignedInt"
									}
								}
							},
							"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.VoiceQuality.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "VoIP Statistics for current session instance.",
								"access": false,
								"array": false,
								"VoIPQualityIndicator": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list|representing the VoIP quality calculated for consecutive intervals of the session>> The interval is specified by <<param|.VoIPProfile.<i>.QICalculationInterval>> and the quality model used is specified by <<param|.VoIPProfile.<i>.QIModelUsed>>. The statistics values in this list MUST be in time order, with the oldest one first and the most recent one last. For long sessions the number of values might exceed the limit given by <<param|.Capabilities.QualityIndicator.MaxQIValues>>. In that case, the CPE MUST remove the oldest values to keep the number of reported values within the limit. The interpretation of the QI values are algorithm-specific, the only constraints being the range and the fact that lower values indicate worse quality than do higher values. For instance, if <<param>> is reported as 78,57,88,79,34,56, and <<param|.VoIPProfile.<i>.QICalculationInterval>> is 10 seconds, the quality during the first ten seconds was 78, the next ten seconds 57, and so on. The last reported value (here 56) might cover a shorter time period than <<param|.VoIPProfile.<i>.QICalculationInterval>>, but the length can be deduced using <<param|##.Duration>>.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 65535
											}
										]
									}
								},
								"WorstVoIPQualityIndicatorsValues": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list|representing the worst VoIP quality indicators calculated during the whole session>> Only the N worst values are stored, where N is the limit stored in the <<param|.VoIPProfile.<i>.NumberOfWorstQIValues>> attribute. The values are given in the same algorithm-specific representation as <<param|VoIPQualityIndicator>>, and MUST be in quality-order with the lowest value first. Example: 34,56,57 are the 3 worst values calculated during the call.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 65535
											}
										]
									}
								},
								"WorstVoIPQualityIndicatorTimestamps": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list>> Each value represents the timestamp index, given in units of <<param|.VoIPProfile.<i>.QICalculationInterval>>, when the corresponding value in <<param|WorstVoIPQualityIndicatorsValues>> was calculated. The first index is number 1. Only the N worst values are stored, where N is the limit stored in <<param|.VoIPProfile.<i>.NumberOfWorstQIValues>>. Example: if <<param|.VoIPProfile.<i>.QICalculationInterval>> is equal to 10 (seconds), the value 6,2,5 designates the time intervals 50-60 s, 10-20 s, and 40-50 s when the 3 worst values were calculated.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 65535
											}
										]
									}
								}
							}
						},
						"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The destination part of session information within one call.",
							"access": false,
							"array": false,
							"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.RTP.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The RTP part of the destination session information.",
								"access": false,
								"array": false,
								"FarEndIPAddress": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The IP address of far end VoIP device.",
									"datatype": "IPAddress",
									"range": [
										{
											"max": 45
										}
									]
								},
								"FarEndUDPPort": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The UDP port used for current session in the far end device.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 65535
										}
									]
								},
								"LocalUDPPort": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The local UDP port used for current session.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 65535
										}
									]
								},
								"MinJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The minimum relative transit time in <<units>> between two packets as defined in <<bibref|RFC3611>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "milliseconds"
								},
								"MaxJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The maximum relative transit time in <<units>> between two packets as defined in <<bibref|RFC3611>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "milliseconds"
								},
								"MeanJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The mean relative transit time in <<units>> between each two packet series as defined in <<bibref|RFC3611>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "milliseconds"
								},
								"PacketDelayVariation": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "1-Point Packet Delay Variation according to <<bibref|Y.1540>> in <<units>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "milliseconds"
								},
								"BufferDelay": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Average delay in <<units>> added by buffer processing. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "microseconds"
								},
								"BurstCount": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The number of bursts (as defined in <<bibref|RFC3611>>) that occur during this session (during one burst several packets MAY be lost). The bursts threshold is configured with the parameter <<param|.VoIPProfile.<i>.RTP.Gmin>>.",
									"datatype": "StatsCounter32"
								},
								"PacketsReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets received for this session.",
									"datatype": "StatsCounter64"
								},
								"PacketsSent": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets sent for this session.",
									"datatype": "StatsCounter64"
								},
								"PacketsLost": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets that have been lost for this session (see <<bibref|RFC3611>>).",
									"datatype": "StatsCounter32"
								},
								"PacketsDiscarded": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of RTP packets that have been discarded for this session (see <<bibref|RFC3611>>).",
									"datatype": "StatsCounter32"
								},
								"BytesReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of bytes received for this session.",
									"datatype": "StatsCounter64"
								},
								"BytesSent": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of bytes sent for this session.",
									"datatype": "StatsCounter64"
								},
								"ReceivePacketLossRate": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current receive packet loss rate in percent, calculated as defined in <<bibref|RFC3550|Section 6.4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 100
										}
									]
								},
								"FarEndPacketLossRate": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current far end receive packet lost rate in percent, calculated as defined in <<bibref|RFC3550|Section 6.4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 100
										}
									]
								},
								"ReceiveInterarrivalJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current receive interarrival jitter in timestamp units. Calculated from J(i) as defined in <<bibref|RFC3550|Section 6.4>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									]
								},
								"FarEndInterarrivalJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current Interarrival jitter in timestamp units as reported from the far-end device via RTCP. Calculated from J(i) as defined in <<bibref|RFC3550|Section 6.4>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									]
								},
								"AverageReceiveInterarrivalJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Average receive interarrival jitter in timestamp units since the beginning of the current call. Calculated as the average of the interarrival jitter values reported by the far-end. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									]
								},
								"AverageFarEndInterarrivalJitter": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Average far-end interarrival jitter in timestamp units since the beginning of the current call. Calculated as the average of the interarrival jitter values reported by the far-end. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									]
								},
								"RoundTripDelay": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Current round trip delay in <<units>> calculated as defined in <<bibref|RFC3550|Section 6.4>>. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "microseconds"
								},
								"AverageRoundTripDelay": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Average round trip delay in <<units>> since the beginning of the current session. A value of -1 indicates no reliable value is available.",
									"datatype": "int",
									"range": [
										{
											"min": -1
										}
									],
									"unit": "microseconds"
								},
								"SamplingFrequency": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Sample frequency in <<units>> used by the codec for this session.",
									"datatype": "unsignedInt",
									"unit": "Hertz"
								}
							},
							"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.DSP.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The DSP part of the destination session information.",
								"access": false,
								"array": false,
								"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.DSP.ReceiveCodec.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The receive codec used in this session.",
									"access": false,
									"array": false,
									"Codec": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The codec in use for the incoming voice stream. <<reference>>",
										"datatype": "string",
										"range": [
											{
												"max": 256
											}
										]
									},
									"SilenceSuppression": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Whether or not silence suppression is in use for the incoming voice stream.",
										"datatype": "boolean"
									},
									"Overruns": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of times the receive jitter buffer has overrun for this session.",
										"datatype": "unsignedInt"
									},
									"Underruns": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of times the receive jitter buffer has underrun for this session.",
										"datatype": "unsignedInt"
									}
								},
								"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.DSP.TransmitCodec.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The transmit codec used in this session.",
									"access": false,
									"array": false,
									"Codec": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The codec in use for the outgoing voice stream. <<reference>>",
										"datatype": "string",
										"range": [
											{
												"max": 256
											}
										]
									},
									"SilenceSuppression": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Whether or not silence suppression is in use for the outgoing voice stream.",
										"datatype": "boolean"
									},
									"PacketizationPeriod": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Current outgoing packetization period in <<units>>.",
										"datatype": "unsignedInt",
										"unit": "milliseconds"
									},
									"Overruns": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of times the transmit jitter buffer has overrun for this session.",
										"datatype": "unsignedInt"
									},
									"Underruns": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of times the transmit jitter buffer has underrun for this session.",
										"datatype": "unsignedInt"
									}
								}
							},
							"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.VoiceQuality.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "VoIP Statistics for current session instance.",
								"access": false,
								"array": false,
								"VoIPQualityIndicator": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list|representing the VoIP quality calculated for consecutive intervals of the session>> The interval is specified by <<param|.VoIPProfile.<i>.QICalculationInterval>> and the quality model used is specified by <<param|.VoIPProfile.<i>.QIModelUsed>>. The statistics values in this list MUST be in time order, with the oldest one first and the most recent one last. For long sessions the number of values might exceed the limit given by <<param|.Capabilities.QualityIndicator.MaxQIValues>>. In that case, the CPE MUST remove the oldest values to keep the number of reported values within the limit. The interpretation of the QI values are algorithm-specific, the only constraints being the numeric range and the fact that lower values indicate worse quality than do higher values. For instance, if <<param>> is reported as 78,57,88,79,34,56, and <<param|.VoIPProfile.<i>.QICalculationInterval>> is 10 seconds, the quality during the first ten seconds was 78, the next ten seconds 57, and so on. The last reported value (here 56) might cover a shorter time period than <<param|.VoIPProfile.<i>.QICalculationInterval>>, but the length can be deduced using <<param|##.Duration>>.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 65535
											}
										]
									}
								},
								"WorstVoIPQualityIndicatorsValues": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list|representing the worst VoIP quality indicators calculated during the whole session>> Only the N worst values are stored, where N is the limit stored in the <<param|.VoIPProfile.<i>.NumberOfWorstQIValues>> attribute. The values are given in the same algorithm-specific representation as <<param|VoIPQualityIndicator>>, and MUST be in quality-order with the lowest value first. Example: 34,56,57 are the 3 worst values calculated during the call.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 65535
											}
										]
									}
								},
								"WorstVoIPQualityIndicatorTimestamps": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list>> Each value represents the timestamp index, given in units of <<param|.VoIPProfile.<i>.QICalculationInterval>>, when the corresponding value in <<param|WorstVoIPQualityIndicatorsValues>> was calculated. The first index is number 1. Only the N worst values are stored, where N is the limit stored in <<param|.VoIPProfile.<i>.NumberOfWorstQIValues>>. Example: if <<param|.VoIPProfile.<i>.QICalculationInterval>> is equal to 10 (seconds), the value 6,2,5 designates the time intervals 50-60 s, 10-20 s, and 40-50 s when the 3 worst values were calculated.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 65535
											}
										]
									}
								}
							}
						}
					}
				},
				"Device.Services.VoiceService.{i}.VoIPProfile.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Configuration profile that can be shared by VoIP components. A VoIP Profile contains media transport configuration parameters that are common to different VoIP protocols. VoIP Profiles could be used by <<object|.SIP.Network.>>, <<object|.SIP.Proxy.>>, <<object|.SIP.Network.>>, <<object|.H323.Network.>> and <<object|.MGCP.Network.>>.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this VoIP profile. If the value is set to <<false>>, all components using the profile are disabled, whatever their status is.",
						"default": "false",
						"datatype": "boolean"
					},
					"QuiescentMode": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
						"datatype": "boolean"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Human-readable string to identify the profile instance.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "Alias",
						"range": [
							{
								"max": 64
							}
						]
					},
					"DTMFMethod": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Method by which DTMF digits MUST be passed. Enumeration of: InBand, RFC4733, SIPInfo. If <<param|DTMFMethodG711>> is non-empty, then this parameter applies only when the current codec is not G.711.",
						"default": "InBand",
						"list": {
							"datatype": "string",
							"enumerations": [
								"InBand",
								"RFC4733",
								"SIPInfo"
							]
						}
					},
					"DTMFMethodG711": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Method by which DTMF digits MUST be passed if the the current codec is G.711. Enumeration of: InBand, RFC4733, SIPInfo, . If <<empty>> indicates that the value of <<param|DTMFMethod>> is to apply whether or not the the the current codec is G.711.",
						"datatype": "string",
						"enumerations": [
							"InBand",
							"RFC4733",
							"SIPInfo",
							""
						]
					},
					"QIModelUsed": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Quality model which the CPE shall use to calculate the parameters <<param|.CallLog.<i>.Session.<i>.Source.VoiceQuality.VoIPQualityIndicator>> and <<param|.CallLog.<i>.Session.<i>.Destination.VoiceQuality.VoIPQualityIndicator>>. The value MUST be a member of the list reported by the <<param|.Capabilities.QualityIndicator.QIModelsSupported>> parameter.",
						"datatype": "string",
						"range": [
							{
								"max": 128
							}
						]
					},
					"QICalculationInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interval between successive calculations of <<param|.CallLog.<i>.Session.<i>.Source.VoiceQuality.VoIPQualityIndicator>> and <<param|.CallLog.<i>.Session.<i>.Destination.VoiceQuality.VoIPQualityIndicator>> values (in <<units>>). If <<param>> is not set then only one final quality value covering the complete session is reported in <<param|.CallLog.<i>.Session.<i>.Source.VoiceQuality.VoIPQualityIndicator>> and <<param|.CallLog.<i>.Session.<i>.Destination.VoiceQuality.VoIPQualityIndicator>>.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"NumberOfWorstQIValues": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The maximum number of worst quality indicators to store for each call. The CPE MUST permit <<param>> to be set to any value in the range from 0 to <<param|.Capabilities.QualityIndicator.MaxWorstQIValues>>.",
						"datatype": "unsignedInt"
					},
					"Device.Services.VoiceService.{i}.VoIPProfile.{i}.RTP.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "VoIP profile parameters related to the voice stream sent via RTP.",
						"access": false,
						"array": false,
						"LocalPortMin": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Base of port range to be used for incoming RTP streams for this profile.",
							"default": "1024",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"LocalPortMax": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Top of port range to be used for incoming RTP streams for this profile.",
							"default": "1024",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"Gmin": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Minimum number of consecutive received packets after the end of an RTP Loss Event. A Loss Event is defined as as a sequence of lost or discarded packets, possibly including islands of received packets. Each island consists of up to (<<param>> - 1) received packets (a sequence of <<param>> received packets terminates the Loss Event, and so is not an island).",
							"default": "16",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 255
								}
							]
						},
						"DSCPMark": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Diffserv code point to be used for outgoing RTP and RTCP packets for this profile. It is RECOMMENDED that by default the DSCP for RTP traffic be set to the value to indicate EF traffic.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						},
						"VLANIDMark": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VLAN ID (as defined in <<bibref|802.1Q-2005>>) to be used for outgoing RTP packets for this profile. A value of -1 indicates the default value is to be used. If either <<param>> or <<param|EthernetPriorityMark>> is greater than zero, then the outgoing frames MUST be tagged. Otherwise, the outgoing frames MAY be tagged or untagged.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						},
						"EthernetPriorityMark": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Ethernet priority code (as defined in <<bibref|802.1D-2004>>) to be used for outgoing RTP packets for this profile. A value of -1 indicates the default value is to be used. If either <<param|VLANIDMark>> or <<param>> is greater than zero, then the outgoing frames MUST be tagged. Otherwise, the outgoing frames MAY be tagged or untagged.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						},
						"TelephoneEventPayloadType": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Payload type to be used for RTP telephone events. This parameter indicates the payload type to be used for DTMF events if transmission of DTMF information is in use according to <<bibref|RFC4733>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 128
								}
							]
						},
						"JitterBufferType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The indicates if the jitte buffer is static or dynamic.",
							"datatype": "string",
							"enumerations": [
								"Static",
								"Dynamic"
							]
						},
						"JitterBufferMaxSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximal (or static) jitter buffer size in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"JitterBufferMinSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Minimal jitter buffer size in <<units>>, not used if static buffer is used.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"JitterBufferActualSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Actual jitter buffer size in <<units>>, if static buffer ist used equal to <<param|JitterBufferMaxSize>>.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"Device.Services.VoiceService.{i}.VoIPProfile.{i}.RTP.RTCP.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VoIP profile parameters related to RTCP.",
							"access": false,
							"array": false,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable RTCP.",
								"datatype": "boolean"
							},
							"TxRepeatInterval": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Transmission repeat interval, in <<units>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 1
									}
								],
								"unit": "milliseconds"
							},
							"LocalCName": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Local Cname (canonical name).",
								"datatype": "string",
								"range": [
									{
										"max": 64
									}
								]
							}
						},
						"Device.Services.VoiceService.{i}.VoIPProfile.{i}.RTP.SRTP.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VoIP profile parameters for secure voice transmission via SRTP.",
							"access": false,
							"array": false,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable the use of SRTP. If RTCP is enabled, a <<true>> value of this parameter also implies the use of SRTCP.",
								"datatype": "boolean"
							},
							"KeyingMethods": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list|available keying methods>> Enumeration of: Null, Static, SDP, IKE.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"Null",
										"Static",
										"SDP",
										"IKE"
									]
								}
							},
							"EncryptionKeySizes": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list|available encryption key sizes>>",
								"list": {
									"datatype": "unsignedInt"
								}
							}
						},
						"Device.Services.VoiceService.{i}.VoIPProfile.{i}.RTP.Redundancy.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "VoIP profile parameters for RTP payload redundancy as defined by <<bibref|RFC2198>>.",
							"access": false,
							"array": false,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable the use of RTP payload redundancy as defined by <<bibref|RFC2198>>.",
								"default": "false",
								"datatype": "boolean"
							},
							"PayloadType": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Payload Type of RTP packet as defined in <<bibref|RFC2198>>. Values SHOULD be within the range of dynamic Payload Types (96-127).",
								"default": "0",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 127
									}
								]
							},
							"BlockPayloadType": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Block Payload Type of redundancy packet.",
								"default": "0",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 127
									}
								]
							},
							"FaxAndModemRedundancy": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Specifies the redundancy number for fax and modem pass-through data transmissions. A non-negative value indicates that <<bibref|RFC2198>> is to be used for fax and modem pass-through data. The value indicates the number of redundant copies to be transmitted (the total number transmitted is one plus this value). A value of -1 indicates <<bibref|RFC2198>> is not to be used for fax and modem pass-through data. If <<param|ModemRedundancy>> is present, then <<param>> applies only to fax transmissions, but not to modem transmissions.",
								"default": "-1",
								"datatype": "int",
								"range": [
									{
										"min": -1,
										"max": 5
									}
								]
							},
							"ModemRedundancy": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Specifies the redundancy number for modem pass-through data transmissions. A non-negative value indicates that <<bibref|RFC2198>> is to be used for modem pass-through data. The value indicates the number of redundant copies to be transmitted (the total number transmitted is one plus this value). A value of -1 indicates <<bibref|RFC2198>> is not to be used for modem pass-through data.",
								"default": "-1",
								"datatype": "int",
								"range": [
									{
										"min": -1,
										"max": 5
									}
								]
							},
							"DTMFRedundancy": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Specifies the redundancy number for DTMF transmissions. A non-negative value indicates that <<bibref|RFC2198>> is to be used for DTMF. The value indicates the number of redundant copies to be transmitted (the total number transmitted is one plus this value). A value of -1 indicates <<bibref|RFC2198>> is not to be used for DTMF.",
								"default": "-1",
								"datatype": "int",
								"range": [
									{
										"min": -1,
										"max": 5
									}
								]
							},
							"VoiceRedundancy": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Specifies the redundancy number for general voice transmissions. A non-negative value indicates that <<bibref|RFC2198>> is to be used for voice. The value indicates the number of redundant copies to be transmitted (the total number transmitted is one plus this value). A value of -1 indicates <<bibref|RFC2198>> is not to be used for voice.",
								"default": "-1",
								"datatype": "int",
								"range": [
									{
										"min": -1,
										"max": 5
									}
								]
							},
							"MaxSessionsUsingRedundancy": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The maximum number of sessions using <<bibref|RFC2198>> payload redundancy simultaneously in this profile. A value of zero indicates no explicit limit on the number of sessions using redundancy.",
								"default": "0",
								"datatype": "unsignedInt"
							}
						}
					},
					"Device.Services.VoiceService.{i}.VoIPProfile.{i}.FaxT38.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "T.38 Fax information for devices that support T.38 relay.",
						"access": false,
						"array": false,
						"MaxBitRate": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum data rate in <<units>> for fax as defined in <<bibref|T.38>>.",
							"default": "14400",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							],
							"unit": "bits per second"
						},
						"HighSpeedRedundancy": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the packet-level redundancy for high-speed data transmissions (i.e., T.4 image data).",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 3
								}
							]
						},
						"LowSpeedRedundancy": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the packet-level redundancy for low-speed data transmissions (i.e., T.30 handshaking information).",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 5
								}
							]
						},
						"TCFMethod": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The method with which data is handled over the network.",
							"datatype": "string",
							"enumerations": [
								"Local",
								"Network"
							]
						}
					}
				},
				"Device.Services.VoiceService.{i}.CodecProfile.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Table of codec profiles. This table MUST be populated with the set of supported codecs matching <<object|.Capabilities.Codec.>>. Additional entries can be added to use different configurations of codec or to use the same codec configuration in different CodecList parameters.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enable or disable the use of this combination of codec parameters.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "Alias",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Codec": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"PacketizationPeriod": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each item is a supported packetization period, in milliseconds, or continuous ranges of packetization periods as defined in <<param|.Capabilities.Codec.<i>.PacketizationPeriod>>. The ACS MAY restrict the set of packetization periods by modifying the value of this parameter to a more restricted set of values than is listed in <<param|.Capabilities.Codec.<i>.PacketizationPeriod>>. The CPE MUST ignore any values or portions of ranges outside of those specified in <<param|.Capabilities.Codec.<i>.PacketizationPeriod>>.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						}
					},
					"SilenceSuppression": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates support for silence suppression for this codec. If silence suppression is supported, it can be disabled for this codec/bit-rate by setting this parameter to <<false>>.",
						"datatype": "boolean"
					}
				},
				"Device.Services.VoiceService.{i}.Tone.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines the contents of the tones and announcements generated locally by the VoIP device.",
					"access": false,
					"array": false,
					"DescriptionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"PatternNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"EventProfileNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"DefautEventProfile": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reference to the default tone event profile.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Device.Services.VoiceService.{i}.Tone.Description.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each entry in this table defines the contents of an individual tone. The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"ToneEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables the tone entry. If a disabled tone entry is referenced, the result is that no tone is played.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"ToneName": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Name of the tone.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"TonePattern": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This is the <<object|#.Pattern.<i>.>> object that begins this tone. If the tone is specified by a tone file instead of a tone pattern, this parameter MUST be set to <<empty>>. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ToneFile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The file name of a tone file locally present on the CPE. An ACS MUST use the Download method with FileType=4 Tone File as defined in <<bibref|TR-069a4|Annex A.3.2.8>> to download a tone file. If the tone is specified by a tone pattern instead of a tone file, this parameter MUST be <<empty>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ToneRepetitions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The default number of times the data in <<param|ToneFile>> is repeated. If the value is 0 (zero) then <<param|ToneFile>> is played indefinitely.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"ToneText": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The text to be displayed by on the screen of the VoIP device when the tone is played and no specific error message has been provided. This parameter is applicable only for VoIP devices capable text display.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						}
					},
					"Device.Services.VoiceService.{i}.Tone.Pattern.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each entry in the table defines a single phase in an overall tone pattern. Each phase identifies the entry that corresponds to the next phase. Each entry in the table refers to the entry that corresponds to the next phase of the pattern. The table MAY be set up such that entries form loops, or MAY end after a finite sequence. The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this entry.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"ToneOn": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Whether or not a tone is on during this phase of the pattern. If the value is <<false>>, the frequency and power parameters in this entry MUST be ignored.",
							"default": "false",
							"datatype": "boolean"
						},
						"Frequency1": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "First tone frequency in <<units>>. A value of zero indicates this tone component is not used.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 4095
								}
							],
							"unit": "hertz"
						},
						"Power1": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "First tone power level in units of 0.1 <<units>>.",
							"default": "0",
							"datatype": "int",
							"unit": "dBm0"
						},
						"Frequency2": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Second tone frequency in <<units>>. A value of zero indicates this tone component is not used.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 4095
								}
							],
							"unit": "hertz"
						},
						"Power2": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Second tone power level in units of 0.1 <<units>>.",
							"default": "0",
							"datatype": "int",
							"unit": "dBm0"
						},
						"Frequency3": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Third tone frequency in <<units>>. A value of zero indicates this tone component is not used.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 4095
								}
							],
							"unit": "hertz"
						},
						"Power3": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Third tone power level in units of 0.1 <<units>>.",
							"default": "0",
							"datatype": "int",
							"unit": "dBm0"
						},
						"Frequency4": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Fourth tone frequency in <<units>>. A value of zero indicates this tone component is not used.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 4095
								}
							],
							"unit": "herts"
						},
						"Power4": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Fourth tone power level in units of 0.1 <<units>>.",
							"default": "0",
							"datatype": "int",
							"unit": "dBm0"
						},
						"ModulationFrequency": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Modulation frequency in <<units>>. A value of zero indicates this tone component is not used.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 4095
								}
							],
							"unit": "hertz"
						},
						"ModulationPower": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Modulation power level in units of 0.1 <<units>>.",
							"default": "0",
							"datatype": "int",
							"unit": "dBm0"
						},
						"Duration": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The duration of this phase of the tone pattern, in <<units>>. A value of zero indicates an unlimited duration.",
							"default": "0",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"NextPattern": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The <<object>> for the next phase of the tone pattern, after the specified <<param|Duration>> of this phase has completed. <<reference>> <<empty>> indicates that the tone pattern is to terminate after the current phase is completed.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"Device.Services.VoiceService.{i}.Tone.EventProfile.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Configuration profile for tone events.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"EventNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.Services.VoiceService.{i}.Tone.EventProfile.{i}.Event.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Table of events for which a tone is defined. The table is pre-populated with the list of events for which the CPE supports definition of tones.",
							"uniqueKeys": [
								"Alias"
							],
							"access": true,
							"array": true,
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"Function": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The event for which the tone is to apply. Enumeration of: Busy, Confirmation, Dial, LineMessagesWaiting, OffHookWarning, RingBack, ReOrder, Stutterdial, CallWaiting1, CallWaiting2, CallWaiting3, CallWaiting4, AlertingSignal, SpecialDial, SpecialInfo, Release, Congestion, UserDefined1, UserDefined2, UserDefined3, UserDefined4. The parameter MAY instead indicate a vendor-specific event name, which MUST use the format defined in <<bibref|TR-106>>.",
								"datatype": "string",
								"enumerations": [
									"Busy",
									"Confirmation",
									"Dial",
									"LineMessagesWaiting",
									"OffHookWarning",
									"RingBack",
									"ReOrder",
									"Stutterdial",
									"CallWaiting1",
									"CallWaiting2",
									"CallWaiting3",
									"CallWaiting4",
									"AlertingSignal",
									"SpecialDial",
									"SpecialInfo",
									"Release",
									"Congestion",
									"UserDefined1",
									"UserDefined2",
									"UserDefined3",
									"UserDefined4"
								]
							},
							"Tone": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The description for the tone to be associated with the given event. <<reference>> <<empty>> indicates no tone is to be played for this event.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					}
				},
				"Device.Services.VoiceService.{i}.Terminal.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object models a telephony terminal, each object in the table represents an end-user interface. This object has to be used when the CPE is a voice endpoint itself.",
					"uniqueKeys": [
						"Alias"
					],
					"access": false,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this terminal.",
						"datatype": "boolean"
					},
					"QuiescentMode": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<true>>, when <<param|Enable>> is set to <<false>> in-progress sessions remain intact, but no new sessions are allowed. When all sessions are terminated, the <<object>> is disabled.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the status of this terminal.",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Initializing",
							"Registering",
							"Unregistering",
							"Error",
							"Testing",
							"Quiescent",
							"Disabled"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "Alias",
						"range": [
							{
								"max": 64
							}
						]
					},
					"ToneEventProfile": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reference to the <<object|.Tone.EventProfile>> to use with this terminal. If this parameter is <<empty>>, the value of <<param|.Tone.DefautEventProfile>> is used instead.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"AudioNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"DiagTests()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {
							"TestSelector": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates which test to perform. The parameter MAY instead indicate a vendor-specific test, which MUST use the format defined in <<bibref|TR-106>>. For example: X_EXAMPLE-COM_MyTest",
								"datatype": "string",
								"enumerations": [
									"RingingTest"
								]
							}
						},
						"output": {
							"Status": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
								"datatype": "string",
								"enumerations": [
									"Canceled",
									"Complete",
									"Error",
									"Error_Internal",
									"Error_Other"
								]
							},
							"PhoneRinging": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates whether or not the phone associated with this port is ringing. This parameter is applicable only if <<enum|RingingTest|TestSelector>> is supported.",
								"datatype": "boolean"
							}
						}
					},
					"Device.Services.VoiceService.{i}.Terminal.{i}.Audio.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object models the audio outputs of a telephony terminal.(ex. Handset, handsfree, ...)",
						"uniqueKeys": [
							"Alias"
						],
						"access": false,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The internal name of this audio.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Device.Services.VoiceService.{i}.Terminal.{i}.Audio.{i}.VoiceProcessing.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Parameters related to voice processing capabilities.",
							"access": false,
							"array": false,
							"TransmitGain": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Gain in <<units>> to apply to the transmitted voice signal prior to encoding. This gain is a modifier of the default transmit-gain, which is unspecified.",
								"datatype": "int",
								"unit": "0.1 dB"
							},
							"ReceiveGain": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Gain in <<units>> to apply to the received voice signal after decoding. This gain is a modifier of the default receive-gain, which is unspecified.",
								"datatype": "int",
								"unit": "0.1 dB"
							},
							"EchoCancellationEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enable or disable echo cancellation for this line.",
								"datatype": "boolean"
							},
							"EchoCancellationInUse": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indication of whether or not echo cancellation is currently in use for this line.",
								"datatype": "boolean"
							},
							"EchoCancellationTail": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tail length in <<units>> of the echo canceller associated with this line (whether or not it is currently in use).",
								"datatype": "unsignedInt",
								"unit": "milliseconds"
							}
						}
					},
					"Device.Services.VoiceService.{i}.Terminal.{i}.ButtonMap.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object is provided to permit the purpose of the CPE buttons and function keys to be defined via the ACS. Support of this object is appropriate only for a device that has programmable buttons in its user interface.",
						"access": false,
						"array": false,
						"ButtonNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.Services.VoiceService.{i}.Terminal.{i}.ButtonMap.Button.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Each entry in this table specifies the purpose of each programmable CPE button / function key and whether the user has permission to reprogram the button.",
							"uniqueKeys": [
								"Alias"
							],
							"access": false,
							"array": true,
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"ButtonName": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Name of the button.",
								"datatype": "string",
								"range": [
									{
										"max": 16
									}
								]
							},
							"FacilityAction": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The value MUST be a member of the list reported by <<param|.Capabilities.FacilityActions>>. This is an OPTIONAL parameter that SHOULD NOT be specified for buttons not related to a particular Facility Action (e.g., invocation of Call Return) implemented by the VoIP device. The parameter MAY instead indicate a vendor-specific Facility Action, which MUST use the format defined in <<bibref|TR-106>>. An empty or unrecognized string (i.e. a Facility Action not supported by the CPE) means that there is no Facility Action to be taken. If this parameter is specified (not <<empty>>) then <<param|QuickDialNumber>> SHOULD be <<empty>>.",
								"datatype": "string",
								"range": [
									{
										"max": 64
									}
								]
							},
							"FacilityActionArgument": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Optional argument associated with the specified <<param|FacilityAction>>. The interpretation of the argument is dependent on the specific FacilityAction.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"QuickDialNumber": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is a string representing a quick dial destination number. Only the characters 0-9, * and # can be used. If this parameter is specified (not <<empty>>) then <<param|FacilityAction>> SHOULD be <<empty>>.",
								"datatype": "string",
								"range": [
									{
										"max": 40
									}
								]
							},
							"ButtonMessage": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This string represents the message to be displayed on the screen when the button or function key is pressed.",
								"datatype": "string",
								"range": [
									{
										"max": 64
									}
								]
							},
							"UserAccess": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This parameter indicates whether the user has permission to program the button or function key. If this parameter is set to <<true>> then <<param|FacilityAction>>, <<param|QuickDialNumber>> and <<param|ButtonMessage>> MUST all be <<empty>>.",
								"datatype": "boolean"
							}
						}
					},
					"Device.Services.VoiceService.{i}.Terminal.{i}.Ringer.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object defines the ring sequences that may be generated by the terminal.",
						"access": false,
						"array": false,
						"DescriptionNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"PatternNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.Services.VoiceService.{i}.Terminal.{i}.Ringer.Description.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Each entry in this table defines the contents of an individual ring specification. The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.",
							"uniqueKeys": [
								"Alias"
							],
							"access": true,
							"array": true,
							"RingEnable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables the ring description entry. If a disabled ring description entry is referenced, the result is that no ring is played.",
								"default": "false",
								"datatype": "boolean"
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"RingName": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Name of the ring.",
								"datatype": "string",
								"range": [
									{
										"max": 64
									}
								]
							},
							"RingPattern": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is the <<object|#.Pattern.<i>.>> object that begins this ring. If the ring is specified by a ring file instead of a ring pattern, this parameter MUST be set to <<empty>>. <<reference>>",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"RingFile": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The file name of a ring file file locally present on the CPE. An ACS MUST use the Download method with FileType=5 Ringer File as defined in <<bibref|TR-069a4|Annex A.3.2.8>> to download a ring file. If the ring is specified by a ring pattern instead of a ring file, this parameter MUST be <<empty>>.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"Device.Services.VoiceService.{i}.Terminal.{i}.Ringer.Pattern.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Each entry in the table defines a single phase in an overall ring pattern. Each phase identifies the entry that corresponds to the next phase. Each entry in the table refers to the entry that corresponds to the next phase of the pattern. The table MAY be set up such that entries form loops, or MAY end after a finite sequence. The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.",
							"uniqueKeys": [
								"Alias"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables this entry.",
								"default": "false",
								"datatype": "boolean"
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "Alias",
								"range": [
									{
										"max": 64
									}
								]
							},
							"RingerOn": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Whether or not a ringer is on during this phase of the pattern.",
								"default": "false",
								"datatype": "boolean"
							},
							"Duration": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The duration of this phase of the ring pattern, in <<units>>. A value of zero indicates an unlimited duration.",
								"default": "0",
								"datatype": "unsignedInt",
								"unit": "milliseconds"
							},
							"NextPattern": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The <<object>> for the next phase of the ring pattern, after the specified <<param|Duration>> of this phase has completed. <<reference>> <<empty>> indicates that the ring pattern is to terminate after the current phase is completed.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					},
					"Device.Services.VoiceService.{i}.Terminal.{i}.DiagTests.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Terminal level tests.",
						"access": false,
						"array": false,
						"DiagnosticsState": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
							"datatype": "DiagnosticsState",
							"enumerations": [
								"None",
								"Requested",
								"Canceled",
								"Complete",
								"Error"
							]
						},
						"TestSelector": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Indicates which test to perform. The parameter MAY instead indicate a vendor-specific test, which MUST use the format defined in <<bibref|TR-106>>. For example: X_EXAMPLE-COM_MyTest",
							"datatype": "string",
							"enumerations": [
								"RingingTest"
							]
						},
						"PhoneRinging": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Indicates whether or not the phone associated with this port is ringing. This parameter is applicable only if <<enum|RingingTest|TestSelector>> is supported.",
							"datatype": "boolean"
						}
					}
				},
				"Device.Services.VoiceService.{i}.ClockSynchronization.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Clock source configuration for Time-Division multiplexing subsystem.",
					"access": false,
					"array": false,
					"ClockSourceNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"CurrentSource": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The currently selected external clock source. If the current clock source is not selected from the <<object|ClockSource>> table, e.g. an internal holdover clock, this parameter is set to <<empty>>. <<reference>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Description": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Human readable description of the current clock synchronization status.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"AutoRevert": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If set to <<true>> the CPE automatically reverts back to a higher priority external clock source when it becomes available once again. If set to <<false>>, an automatic change between external clock sources only occurs when the current source becomes unavailable.",
						"datatype": "boolean"
					},
					"Device.Services.VoiceService.{i}.ClockSynchronization.ClockSource.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "List of eligible external clock sources. The number of entries in this table depends on the maximum number of external clock sources supported by the CPE.",
						"uniqueKeys": [
							"Alias",
							"Order",
							"Interface"
						],
						"access": false,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this entry.",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Order": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry considered (highest precedence).",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 100
								}
							]
						},
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A reference to a physical interface from which a clock signal can be derived. <<object|.ISDN.PRI.<i>.>> is eligible as a clock source when <<param|.ISDN.PRI.<i>.ClockMode>> is <<enum|Slave|.ISDN.PRI.<i>.ClockMode>>. <<object|.ISDN.BRI.<i>.>> is eligible as a clock source when <<param|.ISDN.BRI.<i>.ProtocolEmulation>> is <<enum|TE|.ISDN.BRI.<i>.ProtocolEmulation>>. <<reference>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				}
			}
		},
		"Device.DeviceInfo.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains general device information.",
			"access": false,
			"array": false,
			"DeviceCategory": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Each list item is a device category (e.g. AV_TV and AV_Recorder), or the value is <<empty>> if no such element is provided by the device. Note: It is assumed that this list might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. Standard HTIP device categories are defined in <<bibref|JJ-300.01>>. In this case, the maximum length of the list is 127 and of each item is 31, and any non-HTIP device categories SHOULD NOT conflict with standard HTIP device categories.",
				"list": {
					"datatype": "string"
				}
			},
			"Manufacturer": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The manufacturer of the CPE (human readable string).",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"ManufacturerOUI": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Organizationally unique identifier of the device manufacturer. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. <<pattern>> The value MUST be a valid OUI as defined in <<bibref|OUI>>. This value MUST remain fixed over the lifetime of the device, including across firmware updates. Any change would indicate that its a new device and would therefore require a BOOTSTRAP Inform.",
				"datatype": "string",
				"range": [
					{
						"min": 6,
						"max": 6
					}
				],
				"pattern": [
					"[0-9A-F]{6}"
				]
			},
			"ModelName": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Model name of the CPE (human readable string).",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"ModelNumber": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The model number of the device (human readable string), or <<empty>> if no model number is provided by the device. Note: It is assumed that this string might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. In this case, the maximum length of the string is 31.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"Description": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "A full description of the CPE device (human readable string).",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"ProductClass": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Identifier of the class of product for which the serial number applies. That is, for a given manufacturer, this parameter is used to identify the product or class of product over which the <<param|SerialNumber>> parameter is unique. This value MUST remain fixed over the lifetime of the device, including across firmware updates.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"SerialNumber": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Identifier of the particular device that is unique for the indicated class of product and manufacturer. This value MUST remain fixed over the lifetime of the device, including across firmware updates.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"HardwareVersion": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "A string identifying the particular CPE model and version.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"SoftwareVersion": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "A string identifying the software version currently installed in the CPE (i.e. version of the overall CPE firmware). To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 3.0.21 where the components mean: Major.Minor.Build.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"ActiveFirmwareImage": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<noreference>>A full path reference to the row in the <<object|FirmwareImage>> table representing the currently running firmware image.",
				"datatype": "string"
			},
			"BootFirmwareImage": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<noreference>>A full path reference to the row in the <<object|FirmwareImage>> table of the firmware image that is to be loaded the next time the device boots. This parameter value cannot be empty and must point to a valid and enabled <<object|FirmwareImage>> object where the (<<param|FirmwareImage.<i>.Available>> parameter is set to true). Out of the factory, this parameter should be set to point to the firmware image the CPE will attempt to boot when first powered on. The firmware image instance referenced by this parameter must also have an Available parameter value of true. Attempting to set this parameter to point to a non-enabled firmware image MUST result in the CPE responding with a CWMP fault (9007). In situations where the CPE cannot boot the firmware image specified by this parameter and manages to boot a different firmware image, the CPE MUST NOT modify this value to point to the alternate firmware image that is currently active.",
				"datatype": "string"
			},
			"AdditionalHardwareVersion": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<list>> Each entry is an additional version. Represents any additional hardware version information the vendor might wish to supply.",
				"list": {
					"datatype": "string",
					"maxsize": 64
				}
			},
			"AdditionalSoftwareVersion": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<list>> Each entry is an additional version. Represents any additional software version information the vendor might wish to supply.",
				"list": {
					"datatype": "string",
					"maxsize": 64
				}
			},
			"ProvisioningCode": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Identifier of the primary service provider and other provisioning information, which MAY be used by the ACS to determine service provider-specific customization and provisioning parameters.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"UpTime": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Time in <<units>> since the CPE was last restarted.",
				"datatype": "unsignedInt",
				"unit": "seconds"
			},
			"FirstUseDate": {
				"type": "dateTime",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Date and time in UTC that the CPE first both successfully established an IP-layer network connection and acquired an absolute time reference using NTP or equivalent over that network connection. The CPE MAY reset this date after a factory reset. If NTP or equivalent is not available, this parameter, if present, SHOULD be set to the Unknown Time value.",
				"datatype": "dateTime"
			},
			"HostName": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The hostname of the device <<bibref|RFC1123|Section 2 General issues>>. This can be either a Fully Qualified Domain Name (FQDN) or just the first component of an FQDN. For example, myhgw, myhgw.home, myhgw.home.arpa, myhgw.isp.net.",
				"datatype": "string",
				"range": [
					{
						"max": 255
					}
				]
			},
			"FirmwareImageNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"VendorConfigFileNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ProcessorNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>> <<deprecated|2.18|because the only contained parameter, <<param|Processor.<i>.Architecture>>, is no longer relevant for modern devices.>>",
				"datatype": "unsignedInt"
			},
			"LogRotateNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"VendorLogFileNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"LocationNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"DeviceImageNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SupportedDataModelNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"CID": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Company identifier assigned and registered by the IEEE Registration Authority to the entity responsible for this Agent. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. <<pattern>> This value MUST remain fixed over the lifetime of the Agent, including across firmware updates. Any change would indicate that its a new Agent and would therefore require a <<event|#.Boot!>> Event with a <<enum|LocalFactoryReset|#.Boot!.Cause>> enumerated value in the <<param|#.Boot!.Cause>> argument.",
				"datatype": "string",
				"range": [
					{
						"min": 6,
						"max": 6
					}
				],
				"pattern": [
					"[0-9A-F]{6}"
				]
			},
			"FriendlyName": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"usp"
				],
				"description": "The friendly name of the device. In <<bibref|TR-369>> the friendly name is used during the advertisement of an endpoint - see section IANA-Registered USP Service Names of <<bibref|TR-369>>.",
				"datatype": "string",
				"range": [
					{
						"max": 32
					}
				]
			},
			"PEN": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Private Enterprise Number assigned and registered by IANA to the entity responsible for this Agent. Represented as a decimal encoding of the IANA-assigned number. This value MUST remain fixed over the lifetime of the Agent, including across firmware updates. Any change would indicate that its a new Agent and would therefore require a <<event|#.Boot!>> Event with a <<enum|LocalFactoryReset|#.Boot!.Cause>> enumerated value in the <<param|#.Boot!.Cause>> argument.",
				"datatype": "string",
				"range": [
					{
						"max": 10
					}
				]
			},
			"MaxNumberOfActivateTimeWindows": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "The maximum number of time windows in a <<command|FirmwareImage.<i>.Activate()>> Command that the Device supports.",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 1,
						"max": 5
					}
				]
			},
			"Device.DeviceInfo.VendorConfigFile.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Every instance of this object is a Vendor Configuration File, and contains parameters associated with the Vendor Configuration File. This table of Vendor Configuration Files is for information only and does not allow the Controller to operate on these files in any way. <<template|VENDORCONFIGFILE-DESC>>",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Name of the vendor configuration file. If the CPE is able to obtain the name of the configuration file from the file itself, then the value of this parameter MUST be set to that name. Otherwise, if the CPE can extract the file name from the URL used to download the configuration file, then the value of this parameter MUST be set to that name. <<template|VENDORCONFIGFILE-NAME>>",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A string identifying the configuration file version currently used in the CPE. If the CPE is able to obtain the version of the configuration file from the file itself, then the value of this parameter MUST be set to the obtained value. Otherwise, the value of this parameter MUST be <<empty>>.",
					"datatype": "string",
					"range": [
						{
							"max": 16
						}
					]
				},
				"Date": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Date and time when the content of the current version of this vendor configuration file was first applied by the CPE.",
					"datatype": "dateTime"
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A description of the vendor configuration file (human-readable string).",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"UseForBackupRestore": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<true>>, this parameter indicates that this <<object>> instance is to be used for backup and restoration purposes. Note: The backup and restore operations may require the use of multiple <<object>> instances. In this scenario the mechanism for determining the order and combination of <<object>> instances used for backup and restoration purposes is implementation specific.",
					"datatype": "boolean"
				},
				"Backup()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"URL": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The <<datatype>> specifying the destination file location. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. This argument specifies only the destination file location, and does not indicate in any way the name or location of the local file to be uploaded. If the Agent receives multiple upload requests with the same URL, the Agent MUST perform each upload as requested, and MUST NOT assume that the content of the file to be uploaded is the same each time. This URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>.",
							"datatype": "URL",
							"range": [
								{
									"max": 2048
								}
							]
						},
						"Username": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Username to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Password": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Password to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				},
				"Restore()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"URL": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The <<datatype>> specifying the source file location. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. If the Agent receives multiple download requests with the same source URL, the Agent MUST perform each download as requested, and MUST NOT assume that the content of the file to be downloaded is the same each time. This URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>.",
							"datatype": "URL",
							"range": [
								{
									"max": 2048
								}
							]
						},
						"Username": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Username to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Password": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Password to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"FileSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The size of the file to be downloaded in bytes. The FileSize argument is intended as a hint to the Agent, which the Agent MAY use to determine if it has sufficient space for the file to be downloaded, or to prepare space to accept the file. The Controller MAY set this value to zero. The Agent MUST interpret a zero value to mean that that the Controller has provided no information about the file size. In this case, the Agent MUST attempt to proceed with the download under the presumption that sufficient space is available, though during the course of download, the Agent might determine otherwise. The Controller SHOULD set the value of this Parameter to the exact size of the file to be downloaded. If the value is non-zero, the Agent MAY reject the ScheduleDownload request on the basis of insufficient space. If the Agent attempts to proceed with the download based on the value of this argument, but the actual file size differs from the value of this argument, this could result in a failure of the download. However, the Agent MUST NOT cause the download to fail solely because it determines that the value of this argument is inaccurate.",
							"datatype": "unsignedInt"
						},
						"TargetFileName": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The name of the file to be used on the target file system. This argument MAY be <<empty>> if the target file name can be extracted from the downloaded file itself, or from the URL argument, or if no target file name is needed. If this argument is specified, but the target file name is also indicated by another source (for example, if it is extracted from the downloaded file itself), this argument MUST be ignored. If the target file name is used, the downloaded file would replace any existing file of the same name (whether or not the Agent archives the replaced file is a local matter). If present, this Parameter is treated as an opaque string with no specific requirements for its format. That is, the TargetFileName value is to be interpreted based on the Agents vendor-specific file naming conventions. Note that this specification does not preclude the use of a file naming convention in which the file\u2019s path can be specified as part of the file name.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CheckSumAlgorithm": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The hash algorithm to use when performing a checksum validation of the downloaded file. If the <<param|CheckSum>> input argument is specified, the Agent MUST validate the integrity of the downloaded file by comparing the value contained in the <<param|CheckSum>> input argument against a hash of the downloaded file.",
							"datatype": "string",
							"enumerations": [
								"SHA-1",
								"SHA-224",
								"SHA-256",
								"SHA-384",
								"SHA-512"
							]
						},
						"CheckSum": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The hash value of the downloaded file used to validate the integrity of the downloaded file. If this argument is specified, the Agent MUST validate the integrity of the downloaded file by comparing the provided value against a hash of the downloaded file using the hashing algorithm specified in the <<param|CheckSumAlgorithm>> input argument. If this argument is <<empty>>, the Agent MUST NOT perform a checksum validation of the downloaded file.",
							"datatype": "hexBinary"
						}
					}
				}
			},
			"Device.DeviceInfo.MemoryStatus.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Status of the devices physical memory.",
				"access": false,
				"array": false,
				"Total": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total physical volatile RAM, in <<units>>, installed on the device.",
					"datatype": "unsignedInt",
					"unit": "KiB"
				},
				"Free": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The free physical volatile RAM, in <<units>>, currently available on the device.",
					"datatype": "unsignedInt",
					"unit": "KiB"
				},
				"TotalPersistent": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The sum total physical Non-Volatile Memory (NVM), in <<units>>, installed on the device. This memory persists across reboots and can be used by the system, applications, or users.",
					"datatype": "unsignedInt",
					"unit": "KiB"
				},
				"FreePersistent": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The sum total free physical Non-Volatile Memory (NVM), in <<units>>, currently available on the device. This memory persists across reboots and is available for use by the system, applications, or users.",
					"datatype": "unsignedInt",
					"unit": "KiB"
				},
				"Device.DeviceInfo.MemoryStatus.MemoryMonitor.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object specifies information that the device has obtained via sampling the memory utilization (RAM) on the device.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates whether or not memory monitoring is enabled.",
						"default": "false",
						"datatype": "boolean"
					},
					"MemUtilization": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Memory utilization, in <<units>>, rounded to the nearest whole <<units>>, is the percentage of memory used by the system which cannot be spontaneously reclaimed or repurposed by the system in case it is required. This metric is collected at the <<param|PollingInterval>>. This value is used to determine if a critical condition is reached i.e., the memory utilization exceeds <<param|CriticalRiseThreshold>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 100
							}
						],
						"unit": "percent"
					},
					"PollingInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interval, measured in <<units>>, in which the device polls the memory utilization. If the value is 0 then the device selects its own polling interval. If the value is greater than 0 then the device MUST use this value as the polling interval.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"CriticalRiseThreshold": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Memory utilization rise threshold <<units>> value. If the <<param|MemUtilization>> exceeds the rise threshold value, and the <<param|CriticalFallTimeStamp>> is greater than <<param|CriticalRiseTimeStamp>> (indicating that critical condition is reached), the following takes place: * The <<param|CriticalRiseTimeStamp>> is updated to the current time. * A log is generated into the vendor log file referenced by <<param|VendorLogFileRef>> indicating critical condition is reached if the <<param|EnableCriticalLog>> is <<true>>.",
						"default": "80",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 100
							}
						],
						"unit": "percent"
					},
					"CriticalFallThreshold": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Memory utilization fall threshold <<units>> value. If the <<param|MemUtilization>> falls below the fall threshold value and <<param|CriticalRiseTimeStamp>> is greater than <<param|CriticalFallTimeStamp>> (indicating that the critical condition is no longer present), the following takes place: * The <<param|CriticalFallTimeStamp>> is updated to current time. * A log is generated into the vendor log file referenced by <<object|.DeviceInfo.VendorLogFile>> indicating that the critical condition is no longer present if the <<param|EnableCriticalLog>> is <<true>>.",
						"default": "60",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 100
							}
						],
						"unit": "percent"
					},
					"CriticalRiseTimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Last date and time when the critical condition was reached. See <<param|CriticalRiseThreshold>> description for more details.",
						"datatype": "dateTime"
					},
					"CriticalFallTimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Last date and time when the critical condition was no longer present. See <<param|CriticalFallThreshold>> description for more details.",
						"datatype": "dateTime"
					},
					"EnableCriticalLog": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter indicates whether a critical log needs to be generated in the vendor log file. * If the value of <<param>> is <<true>>, then a critical log is generated in the vendor log file. * If the value of <<param>> is <<false>>, then no critical log is generated in the vendor log file.",
						"default": "false",
						"datatype": "boolean"
					},
					"VendorLogFileRef": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The reference to <<object|.DeviceInfo.VendorLogFile>> is automatically constructed and the <<object|.DeviceInfo.VendorLogFile>> is populated with the information based on <<param|FilePath>>. E.g. When <<param|FilePath>> = file:///var/log/messages. The following entry is automatically added to <<object|.DeviceInfo.VendorLogFile>>: file:///var/log/messages.",
						"datatype": "string"
					},
					"FilePath": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Destination path and filename of where to create and keep the log files which MUST use the file URI scheme <<bibref|RFC8089|The file URI Scheme>>. This file is related to <<param|EnableCriticalLog>>.",
						"datatype": "string"
					},
					"MemoryCriticalState!": {
						"type": "event",
						"protocols": [
							"usp"
						],
						"output": {
							"MemUtilization": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Memory utilization, in <<units>>, rounded to the nearest whole <<units>>, collected at the polling interval.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 100
									}
								],
								"unit": "percent"
							}
						}
					}
				}
			},
			"Device.DeviceInfo.ProcessStatus.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Status of the processes on the device.",
				"access": false,
				"array": false,
				"CPUUsage": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total amount of the CPU, in <<units>>, rounded to the nearest whole <<units>>. In the case that multiple CPU are present, this value represents the average of all CPU.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 100
						}
					],
					"unit": "percent"
				},
				"ProcessNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>> Since a Process can come and go very quickly, the CPE SHOULD place a locally specified limit on the frequency at which it will notify the ACS of value changes, as described in <<bibref|TR-069|Section 3.2.1>>.",
					"datatype": "unsignedInt"
				},
				"CPUNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DeviceInfo.ProcessStatus.CPU.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each instance in the table represents a CPU on this device. Here CPU can imply main CPU (where system software is executed) or hardware/network acceleration CPU (responsible for data plane traffic).",
					"uniqueKeys": [
						"Name",
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of this CPU. This text MUST be sufficient to distinguish this CPU from other CPUs.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the CPU utilization monitoring.",
						"default": "false",
						"datatype": "boolean"
					},
					"UpTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Time in <<units>> since the CPU was last restarted.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"UserModeUtilization": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "CPU utilization, in <<units>>, rounded to the nearest whole <<units>>, while executing at the user level. This includes utilization across all cores. This value is calculated the same way as <<param|CPUUtilization>>. See <<param|CPUUtilization>> description for more details.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 100
							}
						],
						"unit": "percent"
					},
					"SystemModeUtilization": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "CPU utilization, in <<units>>, rounded to the nearest whole <<units>>, while executing at the system/kernel level. Note that this includes the time spent servicing interrupts as well. This includes utilization across all cores. This value is calculated the same way as <<param|CPUUtilization>>. See <<param|CPUUtilization>> description for more details.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 100
							}
						],
						"unit": "percent"
					},
					"IdleModeUtilization": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "CPU utilization, in <<units>>, rounded to the nearest whole <<units>>, while the CPU was idle. This value is calculated the same way as <<param|CPUUtilization>>. See <<param|CPUUtilization>> description for more details.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 100
							}
						],
						"unit": "percent"
					},
					"CPUUtilization": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "CPU utilization, in <<units>>, rounded to the nearest whole <<units>>. The CPU Utilization is calculated as a moving window average of <<param|NumSamples>> CPU utilization samples collected at the <<param|PollInterval>>. For example, the CPU utilization is calculated as follows: CPU Utilization = (sample1 + sample2 + ... + sampleN)/N where N is the number of CPU usage samples as represented by <<param|NumSamples>> and sample1, sample2, ..., sampleN are CPU usage samples collected at every <<param|PollInterval>> seconds. This parameter, which reflects system and user mode CPU utilization, is used to determine if the CPU is in critical condition. This value includes system mode and user mode utilization i.e., everything except idle mode utilization.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 100
							}
						],
						"unit": "percent"
					},
					"PollInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interval, measured in <<units>>, over which the CPU usage is polled. If the value is 0 then the device selects its own polling interval. If the value is greater than 0 then the device MUST use this value as the poll interval.",
						"default": "5",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"NumSamples": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter indicates the number of CPU usage samples that is needed to calculate the average CPU utilization and populate the <<param|CPUUtilization>>",
						"default": "30",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 300
							}
						]
					},
					"CriticalRiseThreshold": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "CPU utilization rise threshold <<units>> value. If the <<param|CPUUtilization>> exceeds the rise threshold value and the <<param|CriticalFallTimeStamp>> is greater than <<param|CriticalRiseTimeStamp>> (indicating that critical condition is reached), the following takes place: * The <<param|CriticalRiseTimeStamp>> is updated to the current time * A log is generated into the vendor log file referenced by <<object|###.DeviceInfo.VendorLogFile>> indicating critical condition is reached if the <<param|EnableCriticalLog>> is <<true>>. The logs generated should indicate the <<param|Name>> as well as the <<param|CriticalRiseTimeStamp>> of the CPU.",
						"default": "80",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 100
							}
						],
						"unit": "percent"
					},
					"CriticalFallThreshold": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "CPU utilization fall threshold <<units>> value. If the <<param|CPUUtilization>> falls below fall threshold value and <<param|CriticalRiseTimeStamp>> is greater than <<param|CriticalFallTimeStamp>> (indicating that critical condition is no longer present), the following takes place: * The <<param|CriticalFallTimeStamp>> is updated to current time * A log is generated into the vendor log file referenced by <<object|###.DeviceInfo.VendorLogFile>> indicating the clearing of critical condition if the <<param|EnableCriticalLog>> is <<true>>. The logs generated should indicate the <<param|Name>> as well as the <<param|CriticalFallTimeStamp>> of the CPU.",
						"default": "60",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 100
							}
						],
						"unit": "percent"
					},
					"CriticalRiseTimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Last date and time when the critical condition was reached. See <<param|CriticalRiseThreshold>> description for more details.",
						"datatype": "dateTime"
					},
					"CriticalFallTimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Last date and time when the critical condition is no longer present. See <<param|CriticalFallThreshold>> description for more details.",
						"datatype": "dateTime"
					},
					"EnableCriticalLog": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter indicates whether a critical log needs to be generated in the vendor log file. * If the value of <<param>> is <<true>>, then a critical log is generated in the vendor log file. * If the value of <<param>> is <<false>>, then no critical log is generated in the vendor log file.",
						"default": "false",
						"datatype": "boolean"
					},
					"VendorLogFileRef": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The reference to <<object|###.DeviceInfo.VendorLogFile>> is automatically constructed and the <<object|###.DeviceInfo.VendorLogFile>> is populated with the information based on <<param|FilePath>>. E.g. When <<param|FilePath>> = file:///var/log/messages. The following entry is automatically added to <<object|###.DeviceInfo.VendorLogFile>>: file:///var/log/messages.",
						"datatype": "string"
					},
					"FilePath": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Destination path and filename of where to create and keep the log files which MUST use the uri scheme file <<bibref|RFC8089|The file URI Scheme>>. This file is related to <<param|EnableCriticalLog>>.",
						"datatype": "string"
					},
					"CPUCriticalState!": {
						"type": "event",
						"protocols": [
							"usp"
						],
						"output": {
							"CPUUtilization": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "CPU utilization, in <<units>>, rounded to the nearest whole <<units>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 100
									}
								],
								"unit": "percent"
							},
							"Name": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Name of this CPU. This text MUST be sufficient to distinguish this CPU from other CPUs.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					}
				},
				"Device.DeviceInfo.ProcessStatus.Process.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "List of all processes running on the device.",
					"uniqueKeys": [
						"PID"
					],
					"access": false,
					"array": true,
					"PID": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Process Identifier.",
						"datatype": "unsignedInt"
					},
					"Command": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The name of the command that has caused the process to exist.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Size": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The size in <<units>> of the memory occupied by the process.",
						"datatype": "unsignedInt",
						"unit": "KiB"
					},
					"Priority": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The priority of the process where 0 is highest.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 99
							}
						]
					},
					"CPUTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The amount of time in <<units>> that the process has spent taking up CPU time since the process was started.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"State": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current state that the process is in.",
						"datatype": "string",
						"enumerations": [
							"Running",
							"Sleeping",
							"Stopped",
							"Idle",
							"Uninterruptible",
							"Zombie"
						]
					}
				}
			},
			"Device.DeviceInfo.PowerStatus.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Status of the power consumption of the device.",
				"access": false,
				"array": false,
				"PowerSensorNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DeviceInfo.PowerStatus.PowerSensor.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the power sensor parameters including voltage, current, and power measurements.",
					"uniqueKeys": [
						"Name",
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates whether or not the power sensor is enabled.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this power sensor.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of this power sensor. This text MUST be sufficient to distinguish this power sensor from other power sensors.",
						"datatype": "string"
					},
					"LastUpdate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which this power sensors last good reading was obtained. The Unknown Time value, as defined in <<bibref|TR-106>>, indicates a good reading has not been obtained since last reset.",
						"datatype": "dateTime"
					},
					"Voltage": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The voltage measured by the sensor, in <<units>>.",
						"datatype": "int",
						"unit": "mV"
					},
					"Current": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current measured by the sensor, in <<units>>.",
						"datatype": "int",
						"unit": "mA"
					},
					"Power": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The power measured by the sensor, in <<units>>.",
						"datatype": "int",
						"unit": "mW"
					}
				}
			},
			"Device.DeviceInfo.TemperatureStatus.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Status of the temperature of the device.",
				"access": false,
				"array": false,
				"TemperatureSensorNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents information that the device has obtained via sampling an internal temperature sensor.",
					"uniqueKeys": [
						"Name",
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates whether or not the temperature sensor is enabled.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this temperature sensor.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					},
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "When set to <<true>>, resets the temperature sensor.",
						"datatype": "boolean"
					},
					"ResetTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which this temperature sensor was reset. Reset can be caused by: * <<param|Status>> transition from <<enum|Disabled|Status>> to <<enum|Enabled|Status>> * <<template|Reset>>. * An internal reset of the temperature sensor (including a reboot of the device). The Unknown Time value, as defined in <<bibref|TR-106>>, indicates that this temperature sensor has never been reset, which can only happen if it has never been enabled.",
						"datatype": "dateTime"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of this temperature sensor. This text MUST be sufficient to distinguish this temperature sensor from other temperature sensors.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Value": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This temperature sensors last good reading in <<units>>. A value of -274 (which is below absolute zero) indicates a good reading has not been obtained since last reset.",
						"datatype": "int",
						"range": [
							{
								"min": -274
							}
						],
						"unit": "degrees celsius"
					},
					"LastUpdate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which this temperature sensors last good reading was obtained. The Unknown Time value, as defined in <<bibref|TR-106>>, indicates a good reading has not been obtained since last reset.",
						"datatype": "dateTime"
					},
					"MinValue": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This temperature sensors lowest value reading in <<units>> since last reset. A value of -274 (which is below absolute zero) indicates a good reading has not been obtained since last reset.",
						"datatype": "int",
						"range": [
							{
								"min": -274
							}
						],
						"unit": "degrees celsius"
					},
					"MinTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which this temperature sensors lowest value was read. The Unknown Time value, as defined in <<bibref|TR-106>>, indicates a good reading has not been obtained since last reset.",
						"datatype": "dateTime"
					},
					"MaxValue": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This temperature sensors highest value reading in <<units>> since last reset. A value of -274 (which is below absolute zero) indicates a good reading has not been obtained since last reset.",
						"datatype": "int",
						"range": [
							{
								"min": -274
							}
						],
						"unit": "degrees celsius"
					},
					"MaxTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which this temperature sensors highest value was read. The Unknown Time value, as defined in <<bibref|TR-106>>, indicates a good reading has not been obtained since last reset.",
						"datatype": "dateTime"
					},
					"LowAlarmValue": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This temperature sensors low alarm value in <<units>>. A value of -274 (which is below absolute zero) indicates a non configured value. A change to this value will cause <<param|LowAlarmTime>> to be reset.",
						"datatype": "int",
						"range": [
							{
								"min": -274
							}
						],
						"unit": "degrees celsius"
					},
					"LowAlarmTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial time at which this temperature sensors <<param|LowAlarmValue>> was encountered. This value is only set the first time the alarm is seen and not changed until the next reset. The Unknown Time value, as defined in <<bibref|TR-106>>, indicates that an alarm has not been encountered since the last reset.",
						"datatype": "dateTime"
					},
					"HighAlarmValue": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This temperature sensors high alarm value in <<units>>. A value of -274 (which is below absolute zero) indicates a non configured value. A change to this value will cause <<param|HighAlarmTime>> to be reset.",
						"datatype": "int",
						"range": [
							{
								"min": -274
							}
						],
						"unit": "degrees celsius"
					},
					"PollingInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interval, measured in <<units>>, in which the device polls this <<object>>. If the value is 0 then the device selects its own polling interval. If the value is greater than 0 then the device MUST use this value as the polling interval.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"HighAlarmTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial time at which this temperature sensors <<param|HighAlarmValue>> was encountered. This value is only set the first time the alarm is seen and not changed until the next reset. The Unknown Time value, as defined in <<bibref|TR-106>>, indicates that an alarm has not been encountered since the last reset.",
						"datatype": "dateTime"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.DeviceInfo.NetworkProperties.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object defines the parameters that describe how the device handles network traffic.",
				"access": false,
				"array": false,
				"MaxTCPWindowSize": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of <<units>> of outstanding data a sender can send on a particular connection prior to an acknowledgment <<bibref|RFC793>>. Any scaling factor SHOULD be included in this parameter <<bibref|RFC1323>>.",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"TCPImplementation": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the TCP congestion control mechanism(s) implemented. Enumeration of: Tahoe, Reno, New Reno, Vegas. Tahoe, Reno, and New Reno are defined in <<bibref|RFC2582>>",
					"list": {
						"datatype": "string",
						"enumerations": [
							"Tahoe",
							"Reno",
							"New Reno",
							"Vegas"
						]
					}
				}
			},
			"Device.DeviceInfo.Processor.{i}.": {
				"type": "object",
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Each table entry represents a hardware or virtual processor that resides on this device. <<deprecated|2.18|because the only contained parameter, <<param|Architecture>>, is no longer relevant for modern devices.>>",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Architecture": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The architecture of the processor on the underlying hardware. Enumeration of: arm, i386, m68010, m68k, mipseb, mipsel, powerpc, sh3eb, sh3el, x86_64. For processor architectures not included in this list, the vendor MAY include vendor-specific values, which MUST use the format defined in <<bibref|TR-106|Section 3.3>>.",
					"datatype": "string",
					"enumerations": [
						"arm",
						"i386",
						"m68010",
						"m68k",
						"mipseb",
						"mipsel",
						"powerpc",
						"sh3eb",
						"sh3el",
						"x86_64"
					]
				}
			},
			"Device.DeviceInfo.LogRotate.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This Object details the available rotation settings for vendor log file rotation. Based on <<bibref|YANGSYSLOG|A YANG Data Model for Syslog Configuration>>.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the log rotation functionality for this item.",
					"datatype": "boolean"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the full path and filename of the log file that must be rotated. Which MUST use the uri scheme file <<bibref|RFC8089|The file URI Scheme>>.",
					"datatype": "string"
				},
				"NumberOfFiles": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the maximum number of log files retained. When during log rotation the maximum number of log files is reached, the oldest log file will be deleted. Specify 1 for implementations that only support one log file.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"MaxFileSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the maximum log file size in <<units>>. Log events that arrive after the maximum file size is reached will cause the current log file to be closed and a new log file to be opened.",
					"datatype": "unsignedInt",
					"unit": "KiB"
				},
				"RollOver": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the length of time, in <<units>>, that log events should be written to a specific log file. Log events that arrive after the rollover period cause the current log file to be closed and a new log file to be opened.",
					"datatype": "unsignedInt",
					"unit": "minutes"
				},
				"Retention": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the length of time, in <<units>>, that completed/closed log event files should be stored in the file system before they are removed.",
					"datatype": "unsignedInt",
					"unit": "minutes"
				},
				"Compression": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the post-rotation compression method that must be applied exclusively on the initial log file in a rotation sequence.",
					"default": "None",
					"datatype": "string",
					"enumerations": [
						"None",
						"GZIP",
						"BZIP2",
						"LZO",
						"XZ",
						"ZSTD"
					]
				},
				"LogFileNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DeviceInfo.LogRotate.{i}.LogFile.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each table entry represents a Log File. This table of log files is informational only and does not allow the Controller to operate on these files in any way.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the rotated log file stored within the same directory that <<param|#.Name>> is specified. Which MUST use the uri scheme file <<bibref|RFC8089|The file URI Scheme>>.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Size": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The size of the log file in <<units>>. If the device doesnt know the file size then <<param>> will be 0.",
						"datatype": "unsignedInt",
						"unit": "bytes"
					},
					"LastChange": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Last modification date of the file specified by <<param|Name>>.",
						"datatype": "dateTime"
					}
				}
			},
			"Device.DeviceInfo.VendorLogFile.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Each table entry represents a Vendor Log File. This table of log files is informational only and does not allow the Controller to operate on these files in any way.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Name of the log file. Typically this will be the full file system path, but provided that it is guaranteed to be unique across current and future log files, it MAY be a shorter name derived from the file system path, or be derived via another mechanism.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"MaximumSize": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum size of the log file in <<units>>. If the device doesnt know the maximum file size then <<param>> will be 0.",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"Persistent": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<true>>, the log file contents are preserved across a device reboot. When <<false>>, the log file contents will be purged when the device is rebooted.",
					"datatype": "boolean"
				},
				"Upload()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"URL": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The <<datatype>> specifying the destination file location. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. This argument specifies only the destination file location, and does not indicate in any way the name or location of the local file to be uploaded. If the Agent receives multiple upload requests with the same URL, the Agent MUST perform each upload as requested, and MUST NOT assume that the content of the file to be uploaded is the same each time. This URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>.",
							"datatype": "URL",
							"range": [
								{
									"max": 2048
								}
							]
						},
						"Username": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Username to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Password": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Password to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				}
			},
			"Device.DeviceInfo.Location.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains Location information.",
				"uniqueKeys": [
					"Source",
					"ExternalSource"
				],
				"access": true,
				"array": true,
				"Source": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies the source of the location data.",
					"default": "External",
					"datatype": "string",
					"enumerations": [
						"GPS",
						"AGPS",
						"Manual",
						"External"
					]
				},
				"AcquiredTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The time when the location was acquired.",
					"datatype": "dateTime"
				},
				"ExternalSource": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "URL, MAC address, or other identifier that identifies an External source of this location. Meaningful only if <<param|Source>> has a value of <<enum|External|Source>>, otherwise it MUST be <<empty>>. If <<param|ExternalProtocol>> has a value of <<enum|CWMP|ExternalProtocol>>, this is the URL or IP address of the Controller.",
					"datatype": "string"
				},
				"ExternalProtocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Protocol used to acquire a location from an External source. Enumeration of: , CWMP, USP, OMA-DM, SNMP, UPnP, HELD, DHCPv4, DHCPv6, LLDP-MED, MLP, Other. Meaningful only if <<param|Source>> has a value of <<enum|External|Source>>, otherwise it MUST be <<empty>>.",
					"default": "CWMP",
					"datatype": "string",
					"enumerations": [
						"",
						"CWMP",
						"USP",
						"OMA-DM",
						"SNMP",
						"UPnP",
						"HELD",
						"DHCPv4",
						"DHCPv6",
						"LLDP-MED",
						"MLP",
						"Other"
					]
				},
				"DataObject": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The currently valid location information. Writable only when <<param|ExternalProtocol>> has a value of <<enum|CWMP|ExternalProtocol>> or <<enum|USP|ExternalProtocol>>. If obtained through the local GPS/AGPS then the location information is formatted according to <<bibref|RFC5491>>. If manually configured then location information will be XML-formatted according to <<bibref|RFC5491>> (geographical information) and <<bibref|RFC5139>> (civic addresses). If obtained by an external source this is the location information as received. If its an XML document (e.g. CWMP, OMA-DM, UPnP, HELD, MLP) the location information will be represented as-is, otherwise it will be converted to base64. CWMP or USP configured location information will be XML-formatted according to <<bibref|RFC5491>> (geographical information) and <<bibref|RFC5139>> (civic addresses). Only zero or one Location object instance with value <<enum|CWMP|ExternalProtocol>> or <<enum|USP|ExternalProtocol>> MUST exist at any given time.",
					"datatype": "string",
					"range": [
						{
							"max": 1200
						}
					]
				}
			},
			"Device.DeviceInfo.DeviceImageFile.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object describes an image of the device.",
				"uniqueKeys": [
					"Location",
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Location": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The location of the device that represents the image as the user looks at the front of the device in its typical orientation (e.g., on-end, flat).",
					"datatype": "string",
					"enumerations": [
						"Front",
						"Back",
						"Left",
						"Right",
						"Top",
						"Bottom"
					]
				},
				"Image": {
					"type": "base64",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The device image in PNG, JPEG or GIF format.",
					"datatype": "base64"
				}
			},
			"Device.DeviceInfo.FirmwareImage.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Top-level object for mapping firmware images. This is a static table \u2013 the number of object instances in this table is defined by the firmware that is currently running.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Firmware/software image name. Descriptive text of the image or filename. The value of <<param>> is <<empty>> if <<param|Status>> is anything other than <<enum|Active|Status>>, <<enum|Available|Status>>, <<enum|InstallationFailed|Status>>, or <<enum|ActivationFailed|Status>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A string identifying the version of the firmware image represented by this <<object>>. Whenever this firmware image is active (ie, the device has booted this firmware image), the value of the <<param|#.SoftwareVersion>> parameter MUST be the same as the value contained in this parameter. To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 3.0.21 where the components mean: Major.Minor.Build. The value of <<param>> is <<empty>> if <<param|Status>> is anything other than <<enum|Available|Status>>, <<enum|InstallationFailed|Status>>, or <<enum|ActivationFailed|Status>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Available": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies whether or not this particular firmware image can be used by the Agent. An Agent will only attempt to boot this particular firmware image if this parameter value is set to <<true>>. This value MUST be set to <<true>> by the device whenever a new firmware image is installed. This value cannot be set to <<false>> if the firmware image is active or is referenced by the <<param|#.BootFirmwareImage>> parameter. Firmware image instances cannot be deleted, so a Controller MAY use this parameter to subsequently mark a particular firmware as being invalid, which will prevent the Agent from attempting to boot it.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Status of the firmware image, as determined by the Agent. Enumeration of: NoImage, Active, Downloading, Validating, Available, DownloadFailed, ValidationFailed, InstallationFailed, ActivationFailed.",
					"datatype": "string",
					"enumerations": [
						"NoImage",
						"Active",
						"Downloading",
						"Validating",
						"Available",
						"DownloadFailed",
						"ValidationFailed",
						"InstallationFailed",
						"ActivationFailed"
					]
				},
				"BootFailureLog": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the Agent is unable to boot into this firmware image, when specified, the Agent can use this parameter to record some information as to why the boot failed. If the Agent successfully boots into this firmware, the value of this parameter SHOULD be <<empty>>. When a new firmware image is installed into this object instance, this parameter MUST be cleared. The length of this string is defined as implementation-specific by the Agent.",
					"datatype": "string"
				},
				"Download()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"URL": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The <<datatype>> specifying the source file location. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. If the Agent receives multiple download requests with the same source URL, the Agent MUST perform each download as requested, and MUST NOT assume that the content of the file to be downloaded is the same each time. This URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>.",
							"datatype": "URL",
							"range": [
								{
									"max": 2048
								}
							]
						},
						"AutoActivate": {
							"type": "boolean",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "If <<true>> the Agent MUST automatically activate the firmware once it is successfully downloaded. If <<false>> the Agent MUST NOT activate the firmware until explicitly instructed to do so by either invoking <<command|#.Activate()>> or setting <<param|##.BootFirmwareImage>> and rebooting the Agent.",
							"datatype": "boolean"
						},
						"Username": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Username to be used by the Agent to authenticate with the file server. This argument is omitted if no authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Password": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Password to be used by the Agent to authenticate with the file server. This argument is omitted if no authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"FileSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The size of the file to be downloaded in bytes. The FileSize argument is intended as a hint to the Agent, which the Agent MAY use to determine if it has sufficient space for the file to be downloaded, or to prepare space to accept the file. The Controller MAY set this value to zero. The Agent MUST interpret a zero value to mean that that the Controller has provided no information about the file size. In this case, the Agent MUST attempt to proceed with the download under the presumption that sufficient space is available, though during the course of download, the Agent might determine otherwise. The Controller SHOULD set the value of this Parameter to the exact size of the file to be downloaded. If the value is non-zero, the Agent MAY reject the ScheduleDownload request on the basis of insufficient space. If the Agent attempts to proceed with the download based on the value of this argument, but the actual file size differs from the value of this argument, this could result in a failure of the download. However, the Agent MUST NOT cause the download to fail solely because it determines that the value of this argument is inaccurate.",
							"datatype": "unsignedInt"
						},
						"CheckSumAlgorithm": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The hash algorithm to use when performing a checksum validation of the downloaded file. If the <<param|CheckSum>> input argument is specified, the Agent MUST validate the integrity of the downloaded file by comparing the value contained in the <<param|CheckSum>> input argument against a hash of the downloaded file.",
							"datatype": "string",
							"enumerations": [
								"SHA-1",
								"SHA-224",
								"SHA-256",
								"SHA-384",
								"SHA-512"
							]
						},
						"CheckSum": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The hash value of the downloaded file used to validate the integrity of the downloaded file. If this argument is specified, the Agent MUST validate the integrity of the downloaded file by comparing the provided value against a hash of the downloaded file using the hashing algorithm specified in the <<param|CheckSumAlgorithm>> input argument. If this argument is <<empty>>, the Agent MUST NOT perform a checksum validation of the downloaded file.",
							"datatype": "hexBinary"
						}
					}
				},
				"Activate()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {}
				}
			},
			"Device.DeviceInfo.KernelFaults.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "A fault in the context of the Kernel refers to a situation where the kernel encounters a critical error or a bug that it cannot recover from. When this happens, the kernel generates a fault message or kernel panic, which provides information about the error, the state of the system at the time of the error, and a stack trace of function calls leading up to the error.",
				"access": false,
				"array": false,
				"StoragePath": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Path where the Kernel faults logs must be stored.",
					"datatype": "string"
				},
				"LastUpgradeCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Total number of Kernel faults which occurred since last firmware upgrade.",
					"datatype": "unsignedInt"
				},
				"PreviousBootCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of Kernel faults which occurred during the previous boot cycle.",
					"datatype": "unsignedInt"
				},
				"MinFreeSpace": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Minimum free space in <<units>> on the device that must be free before attempting to create a <<object|KernelFault>> instance. This setting does not affect the counting of Kernel faults.",
					"datatype": "unsignedInt",
					"unit": "KiB"
				},
				"RotateKernelFaultEntries": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When enabled and once the maximum <<object|KernelFault>> entries as indicated by <<param|MaxKernelFaultEntries>> are reached, the oldest entry, determined by <<param|KernelFault.<i>.TimeStamp>>, is removed to make space for a new one, which is assigned a new instance identifier and a new <<param|KernelFault.<i>.Alias>>. This setting does not affect the counting of Kernel faults.",
					"datatype": "boolean"
				},
				"MaxKernelFaultEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of entries available in the <<object|KernelFault>> table. Defines the maximum number of <<object|KernelFault>> instances that can be stored on the device. When <<param|RotateKernelFaultEntries>> is <<false>> and this limit is hit, no new <<object|KernelFault>> instances will be created until sufficient Kernel fault instances are removed. When <<param|RotateKernelFaultEntries>> is <<true>> and this limit is hit, the table <<object|KernelFault>> is rotated as specified by <<param|RotateKernelFaultEntries>>. Set this parameter to 0 to completely disable the creation of <<object|KernelFault>> instances. Reducing the <<param>> will cause for the implementation to delete the oldest <<object|KernelFault>> instances. This setting does not affect the counting of Kernel faults.",
					"datatype": "unsignedInt"
				},
				"KernelFaultNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"RemoveAllKernelFaults()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					]
				},
				"Device.DeviceInfo.KernelFaults.KernelFault.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each table entry represents a Kernel fault that is stored on the device.",
					"uniqueKeys": [
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"FaultLocation": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the location of where to create and keep the logs. Can either be a relative path or file within the <<param|#.StoragePath>> location.",
						"datatype": "string"
					},
					"LastInstruction": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The last instruction executed when the Kernel fault was triggered.",
						"datatype": "string"
					},
					"TimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time when the Kernel fault was registered.",
						"datatype": "dateTime"
					},
					"FirmwareVersion": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The firmware version that triggered the Kernel fault.",
						"datatype": "string"
					},
					"ProcessName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The name of the process that was active while the kernel fault occurred.",
						"datatype": "string"
					},
					"Reason": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The reason why the kernel fault occurred.",
						"datatype": "string"
					},
					"Upload()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {
							"URL": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "The <<datatype>> specifying the destination file location. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. This argument specifies only the destination file location, and does not indicate in any way the name or location of the local file to be uploaded. If the Agent receives multiple upload requests with the same URL, the Agent MUST perform each upload as requested, and MUST NOT assume that the content of the file to be uploaded is the same each time. This URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>.",
								"datatype": "URL",
								"range": [
									{
										"max": 2048
									}
								]
							},
							"Username": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "Username to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"Password": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "Password to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					},
					"Remove()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.DeviceInfo.ProcessFaults.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Monitoring process faults and configuring the operating system to generate crash dumps and core files is essential for diagnosing and troubleshooting issues with applications and processes.",
				"access": false,
				"array": false,
				"StoragePath": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Path where the process fault logs must be stored.",
					"datatype": "string"
				},
				"LastUpgradeCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Total number of process faults which occurred since last firmware upgrade.",
					"datatype": "unsignedInt"
				},
				"PreviousBootCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of process faults which occurred during the previous boot cycle.",
					"datatype": "unsignedInt"
				},
				"MinFreeSpace": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Minimum free space in <<units>> on the device that must be free before attempting to create a <<object|ProcessFault>> instance. This setting does not affect the counting of process faults.",
					"datatype": "unsignedInt",
					"unit": "KiB"
				},
				"RotateProcessFaultEntries": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When enabled and once the maximum <<object|ProcessFault>> entries as indicated by <<param|MaxProcessFaultEntries>> are reached, the oldest entry, determined by <<param|ProcessFault.<i>.TimeStamp>>, is removed to make space for a new one, which is assigned a new instance identifier and a new <<param|ProcessFault.<i>.Alias>>. This setting does not affect the counting of Process faults.",
					"datatype": "boolean"
				},
				"MaxProcessFaultEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of entries available in the <<object|ProcessFault>> table. Defines the maximum number of <<object|ProcessFault>> instances that can be stored on the device. When <<param|RotateProcessFaultEntries>> is <<false>> and this limit is hit, no new <<object|ProcessFault>> instances will be created until sufficient Process fault instances are removed. When <<param|RotateProcessFaultEntries>> is <<true>> and this limit is hit, the table <<object|ProcessFault>> is rotated as specified by <<param|RotateProcessFaultEntries>>. Set this parameter to 0 to completely disable the creation of <<object|ProcessFault>> instances. Reducing the <<param>> will cause for the implementation to delete the oldest <<object|ProcessFault>> instances. This setting does not affect the counting of process faults.",
					"datatype": "unsignedInt"
				},
				"ProcessFaultNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"RemoveAllProcessFaults()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					]
				},
				"Device.DeviceInfo.ProcessFaults.ProcessFault.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each table entry represents a process fault that is stored on the device.",
					"uniqueKeys": [
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"ProcessID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Process ID of the process that crashed.",
						"datatype": "string"
					},
					"ProcessName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Process Name of the process that crashed.",
						"datatype": "string"
					},
					"FaultLocation": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the location of where to create and keep the process fault logs. Can either be a relative path or file within the <<param|#.StoragePath>> location.",
						"datatype": "string"
					},
					"TimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time when the process fault occurred.",
						"datatype": "dateTime"
					},
					"FirmwareVersion": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The firmware version that triggered the process fault.",
						"datatype": "string"
					},
					"Arguments": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The command arguments that were used to start to the process.",
						"datatype": "string"
					},
					"Reason": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The reason why the process fault occurred.",
						"datatype": "string"
					},
					"Upload()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {
							"URL": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "The <<datatype>> specifying the destination file location. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. This argument specifies only the destination file location, and does not indicate in any way the name or location of the local file to be uploaded. If the Agent receives multiple upload requests with the same URL, the Agent MUST perform each upload as requested, and MUST NOT assume that the content of the file to be uploaded is the same each time. This URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>.",
								"datatype": "URL",
								"range": [
									{
										"max": 2048
									}
								]
							},
							"Username": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "Username to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"Password": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "Password to be used by the Agent to authenticate with the file server. This string is set to <<empty>> if no authentication is required.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					},
					"Remove()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.DeviceInfo.SupportedDataModel.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This table contains details of the devices Current Supported Data Model. The table MUST describe the devices entire Supported Data Model. Therefore, if a devices Supported Data Model changes at run-time, entries will need to be added or removed as appropriate. Each table entry MUST refer to only a single Root Object or Service Object. The device MAY choose to use more than one table entry for a given Root Object or Service Object. Considering that every device has some form of a data model, this table MUST NOT be empty.",
				"uniqueKeys": [
					"URL",
					"Alias",
					"UUID"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"URL": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The <<datatype>> that describes some or all of the devices currently Supported Data Model. The URL MUST reference an XML file which describes the appropriate part of the Supported Data Model. The referenced XML file MUST be compliant with the DT (Device Type) Schema that is described in <<bibref|TR-106|Annex B>>, including any additional normative requirements referenced within the Schema. The XML file referenced by this URL MUST NOT change while the CPE is running, and SHOULD NOT change across a CPE reboot. Note that <<param|UUID>> is a unique key, so the XML file referenced by this URL will never change. The XML file MAY be located within the CPE. In this scenario the CPE MAY use the value of localhost as URL host portion, When the localhost value is used, the ACS has the responsibility to substitute the localhost value with the host portion of the connection request URL. Behavior in the event of an invalid URL, failure to access the referenced XML file, or an invalid XML file, is implementation-dependent.",
					"datatype": "URL"
				},
				"UUID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "UUID (<<bibref|RFC4122>>) that is the value of the uuid attribute in the DT Instance referenced by <<param|URL>>.",
					"datatype": "UUID",
					"range": [
						{
							"min": 36,
							"max": 36
						}
					],
					"pattern": [
						"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
					]
				},
				"URN": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "URN (<<bibref|RFC3986>>) that is the value of the spec attribute in the DM (data model) Instance that defines the Root Object or Service Object referenced by this table entry. For example, if this table entry references a DT Instance that refers to the Device:2.13 Root Object, the value of this parameter would be urn:broadband-forum-org:tr-181-2-13-0. If the DT Instance instead referred to a vendor-specific Root Object, e.g. X_EXAMPLE_Device:1.0 (derived from Device:1.3), the value of this parameter would be something like urn:example-com:device-1-0-0.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Features": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This parameter MUST list exactly the features that are defined using the top-level feature element in the DT Instance referenced by <<param|URL>>. For example, if the DT instance specified the following: :<feature name=DNSServer/> :<feature name=Router/> :<feature name=X_MyDeviceFeature/> then the value of this parameter might be DNSServer,Router,X_MyDeviceFeature. The order in which the features are listed is not significant.",
					"list": {
						"datatype": "string"
					}
				}
			},
			"Device.DeviceInfo.ProxierInfo.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Represents the associated CPE Proxier for a Proxied Device that utilizes the Virtual CWMP Device Mechanism <<bibref|TR-069|Annex J.2>>.",
				"access": false,
				"array": false,
				"ManufacturerOUI": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Organizationally unique identifier of the associated CPE Proxier. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. <<pattern>> The value MUST be a valid OUI as defined in <<bibref|OUI>>.",
					"datatype": "string",
					"range": [
						{
							"min": 6,
							"max": 6
						}
					],
					"pattern": [
						"[0-9A-F]{6}"
					]
				},
				"ProductClass": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Identifier of the class of product of the associated CPE Proxier for which the serial number applies. <<empty>> indicates either that the CPE Proxier does not use a product class to differentiate its serial number.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"SerialNumber": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Serial number of the associated CPE Proxier.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ProxyProtocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The protocol being used to communicate between the CPE Proxier and this Proxied Device. Enumeration of: Z-Wave, ZigBee, UPnP-DM, ETSI-M2M. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|3.3>> MUST be adhered to.",
					"datatype": "string",
					"enumerations": [
						"Z-Wave",
						"ZigBee",
						"UPnP-DM",
						"ETSI-M2M"
					]
				}
			},
			"Device.DeviceInfo.Reboots.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "The monitoring of reboot reasons is essential for diagnosing and troubleshooting issues with applications and processes running on the Device.",
				"access": false,
				"array": false,
				"BootCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The number of times the device has rebooted since the last factory reset.",
					"datatype": "unsignedInt"
				},
				"CurrentVersionBootCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The number of times the device has rebooted since the latest firmware update.",
					"datatype": "unsignedInt"
				},
				"WatchdogBootCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The number of times the device has rebooted by a sw/hw watchdog since the last factory reset. The watchdog is a component within the operating system kernel or Device responsible for monitoring user-space activities. If it detects non-responsiveness in user-space processes, it triggers a reboot of the device.",
					"datatype": "unsignedInt"
				},
				"ColdBootCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The number of times the device has cold rebooted since the last factory reset.",
					"datatype": "unsignedInt"
				},
				"WarmBootCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The number of times the device has warm rebooted since the last factory reset.",
					"datatype": "unsignedInt"
				},
				"MaxRebootEntries": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The maximum number of entries available in the <<object|Reboot>> table. Defines the maximum number of <<object|Reboot>> instances that can be stored on the device. When the maximum <<object|Reboot>> entries as indicated by <<param>> are reached, the next boot entry overrides the object with the oldest <<param|Reboot.<i>.TimeStamp>>. Set this parameter to 0 to completely disable the creation of <<object|Reboot>> instances. Set this parameter to -1 to leave it open to the implementation to decide the maximum number of <<object|Reboot>> instances that may be stored on the device. Reducing the <<param>> will cause for the implementation to delete the oldest <<object|Reboot>> instances. This setting does not affect the counting of reboots.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"RebootNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"RemoveAllReboots()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					]
				},
				"Device.DeviceInfo.Reboots.Reboot.{i}.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "Each table entry represents a reboot reason that is stored on the device. When the maximum <<object>> entries as indicated by <<param|#.MaxRebootEntries>> are reached, the next boot entry overrides the object with the oldest <<param|TimeStamp>>.",
					"uniqueKeys": [
						"Alias",
						"TimeStamp"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
						"datatype": "_AliasUSP"
					},
					"TimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"usp"
						],
						"description": "The time when the reboot occurred.",
						"datatype": "dateTime"
					},
					"FirmwareUpdated": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"usp"
						],
						"description": "<<true>> if the Device was rebooted as a result of a firmware update; otherwise <<false>>.",
						"datatype": "boolean"
					},
					"Cause": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The cause of the boot.",
						"datatype": "string",
						"enumerations": [
							"LocalReboot",
							"RemoteReboot",
							"FactoryReset",
							"LocalFactoryReset",
							"RemoteFactoryReset"
						]
					},
					"Reason": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"usp"
						],
						"description": "The reason of the boot (e.g. power on reset, watchdog, overheat, FAN fault, web userinterface, ...).",
						"default": "Unknown",
						"datatype": "string"
					},
					"Remove()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						]
					}
				}
			}
		},
		"Device.ManagementServer.": {
			"type": "object",
			"protocols": [
				"cwmp"
			],
			"description": "This object contains parameters relating to the CPEs association with an ACS.",
			"access": false,
			"array": false,
			"EnableCWMP": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Enables and disables the CPEs support for CWMP. <<false>> means that CWMP support in the CPE is disabled, in which case the device MUST NOT send any Inform messages to the ACS or accept any Connection Request notifications from the ACS. <<true>> means that CWMP support on the CPE is enabled. The subscriber can re-enable the CPEs CWMP support either by performing a factory reset or by using a LAN-side protocol to change the value of this parameter back to <<true>>.",
				"default": "true",
				"datatype": "boolean"
			},
			"URL": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The <<datatype>> for the CPE to connect to the ACS using the CPE WAN Management Protocol. This parameter MUST be in the form of a valid HTTP or HTTPS URL. The host portion of this URL is used by the CPE for validating the ACS certificate when using SSL or TLS. Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value. If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.",
				"datatype": "URL"
			},
			"Username": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Username used to authenticate the CPE when making a connection to the ACS using the CPE WAN Management Protocol. This username is used only for HTTP-based authentication of the CPE. Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value. If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"Password": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Password used to authenticate the CPE when making a connection to the ACS using the CPE WAN Management Protocol. This password is used only for HTTP-based authentication of the CPE. Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value. If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"ScheduleReboot": {
				"type": "dateTime",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "An absolute date and time in UTC at which time the CPE will perform a reboot. If a CWMP session is in progress at the specified time, the CPE MUST wait until the session has ended before performing the reboot. If the value specifies a date and time that has already passed (i.e., a past date and time), no reboot will be performed.",
				"datatype": "dateTime"
			},
			"DelayReboot": {
				"type": "int",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The number of <<units>> from the time the CWMP session in which this parameter value is set is ended until the CPE performs a reboot. Whenever the CPE reboots, this value MUST be reset by the CPE to -1.",
				"datatype": "int",
				"range": [
					{
						"min": -1
					}
				],
				"unit": "seconds"
			},
			"PeriodicInformEnable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Whether or not the CPE MUST periodically send CPE information to the ACS using the Inform method call.",
				"datatype": "boolean"
			},
			"PeriodicInformInterval": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The duration in <<units>> of the interval for which the CPE MUST attempt to connect with the ACS and call the Inform method if <<param|PeriodicInformEnable>> is <<true>>.",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 1
					}
				],
				"unit": "seconds"
			},
			"PeriodicInformTime": {
				"type": "dateTime",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "An absolute time reference in UTC to determine when the CPE will initiate the periodic Inform method calls. Each Inform call MUST occur at this reference time plus or minus an integer multiple of the <<param|PeriodicInformInterval>>. <<param>> is used only to set the phase of the periodic Informs. The actual value of <<param>> can be arbitrarily far into the past or future. For example, if <<param|PeriodicInformInterval>> is 86400 (a day) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then periodic Informs will occur every day at UTC midnight. These MUST begin on the very next midnight, even if <<param>> refers to a day in the future. The Unknown Time value defined in <<bibref|TR-106|section 3.2>> indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and needs only to adhere to the specified <<param|PeriodicInformInterval>>. If absolute time is not available to the CPE, its periodic Inform behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value.",
				"datatype": "dateTime"
			},
			"ParameterKey": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<param>> provides the ACS a reliable and extensible means to track changes made by the ACS. The value of <<param>> MUST be equal to the value of the ParameterKey argument from the most recent successful SetParameterValues, AddObject, or DeleteObject method call from the ACS. The CPE MUST set <<param>> to the value specified in the corresponding method arguments if and only if the method completes successfully and no fault response is generated. If a method call does not complete successfully (implying that the changes requested in the method did not take effect), the value of <<param>> MUST NOT be modified. The CPE MUST only modify the value of <<param>> as a result of SetParameterValues, AddObject, DeleteObject, or due to a factory reset. On factory reset, the value of <<param>> MUST be set to <<empty>>.",
				"datatype": "string",
				"range": [
					{
						"max": 32
					}
				]
			},
			"ConnectionRequestURL": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "The HTTP <<datatype>> for an ACS to make a Connection Request notification to the CPE. In the form: : http://host:port/path The host portion of the URL MAY be the IP address for the management interface of the CPE in lieu of a host name. Note: If the host portion of the URL is a literal IPv6 address then it MUST be enclosed in square brackets (see <<bibref|RFC3986|Section 3.2.2>>).",
				"datatype": "URL"
			},
			"ConnectionRequestUsername": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Username used to authenticate an ACS making a Connection Request to the CPE.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"ConnectionRequestPassword": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Password used to authenticate an ACS making a Connection Request to the CPE.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"UpgradesManaged": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Indicates whether or not the ACS will manage upgrades for the CPE. If <<true>>, the CPE SHOULD NOT use other means other than the ACS to seek out available upgrades. If <<false>>, the CPE MAY use other means for this purpose. Note that an autonomous upgrade (reported via an 10 AUTONOMOUS TRANSFER COMPLETE Inform Event code) SHOULD be regarded as a managed upgrade if it is performed according to ACS-specified policy.",
				"datatype": "boolean"
			},
			"KickURL": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "Present only for a CPE that supports the Kicked RPC method. LAN-accessible <<datatype>> from which the CPE can be kicked to initiate the Kicked RPC method call. MUST be an absolute URL including a host name or IP address as would be used on the LAN side of the CPE.",
				"datatype": "URL"
			},
			"DownloadProgressURL": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "Present only for a CPE that provides a LAN-side web page to show progress during a file download. LAN-accessible <<datatype>> to which a web-server associated with the ACS MAY redirect a users browser on initiation of a file download to observer the status of the download.",
				"datatype": "URL"
			},
			"DefaultActiveNotificationThrottle": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "This parameter is used to control throttling of active notifications sent by the CPE to the ACS. It defines the minimum number of <<units>> that the CPE MUST wait since the end of the last session with the ACS before establishing a new session for the purpose of delivering an active notification. In other words, if CPE needs to establish a new session with the ACS for the sole purpose of delivering an active notification, it MUST delay establishing such a session as needed to ensure that the minimum time since the last session completion has been met. The time is counted since the last successfully completed session, regardless of whether or not it was used for active notifications or other purposes. However, if connection to the ACS is established for purposes other than just delivering active notifications, including for the purpose of retrying a failed session, such connection MUST NOT be delayed based on this parameter value, and the pending active notifications MUST be communicated during that connection. The time of the last session completion does not need to be tracked across reboots.",
				"datatype": "unsignedInt",
				"unit": "seconds"
			},
			"CWMPRetryMinimumWaitInterval": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Configures the first session retry wait interval, in <<units>>, as specified in <<bibref|TR-069|section 3.2.1.1>>. A value of 5 corresponds to the default behavior that is described in <<bibref|TR-069>>. The device MUST use a random value between <<param>> and (<<param>> * <<param|CWMPRetryIntervalMultiplier>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 1,
						"max": 65535
					}
				],
				"unit": "seconds"
			},
			"CWMPRetryIntervalMultiplier": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Configures the retry interval multiplier as specified in <<bibref|TR-069|section 3.2.1.1>>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. A value of 2000 corresponds to the default behavior that is described in <<bibref|TR-069>>. The device MUST use a random value between <<param|CWMPRetryMinimumWaitInterval>> and (<<param|CWMPRetryMinimumWaitInterval>> * <<param>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 1000,
						"max": 65535
					}
				]
			},
			"HTTPConnectionRequestEnable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Enables or disables HTTP connection request handling on the CPE. If HTTP connection request handling is disabled (<<param>> is set to <<false>>), <<param|ConnectionRequestURL>> MUST be set to <<empty>> and the CPE MUST close the port used by the HTTP connection request server.",
				"default": "true",
				"datatype": "boolean"
			},
			"UDPConnectionRequestAddress": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "Address and port to which an ACS MAY send a UDP Connection Request to the CPE (see <<bibref|TR-069|Annex G>>). This parameter is represented in the form of an Authority element as defined in <<bibref|RFC3986>>. The value MUST be in one of the following two forms: : host:port : host * When <<param|STUNEnable>> is <<true>>, the host and port portions of this parameter MUST represent the public address and port corresponding to the NAT binding through which the ACS can send UDP Connection Request messages (once this information is learned by the CPE through the use of STUN). * When <<param|STUNEnable>> is <<false>>, the host and port portions of the URL MUST represent the local IP address and port on which the CPE is listening for UDP Connection Request messages. The second form of this parameter MAY be used only if the port value is equal to 80. Note: If the host portion of the URL is a literal IPv6 address then it MUST be enclosed in square brackets (see <<bibref|RFC3986|Section 3.2.2>>).",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"STUNEnable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Enables or disables the use of STUN by the CPE. This applies only to the use of STUN in association with the ACS to allow UDP Connection Requests.",
				"datatype": "boolean"
			},
			"STUNServerAddress": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Host name or IP address of the STUN server for the CPE to send Binding Requests if STUN is enabled via <<param|STUNEnable>>. If is <<empty>> and <<param|STUNEnable>> is <<true>>, the CPE MUST use the address of the ACS extracted from the host portion of the ACS URL.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"STUNServerPort": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Port number of the STUN server for the CPE to send Binding Requests if STUN is enabled via <<param|STUNEnable>>. By default, this SHOULD be the equal to the default STUN port, 3478.",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 0,
						"max": 65535
					}
				]
			},
			"STUNUsername": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "If is not <<empty>>, the value of the STUN USERNAME attribute to be used in Binding Requests (only if message integrity has been requested by the STUN server). If is <<empty>>, the CPE MUST NOT send STUN Binding Requests with message integrity.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"STUNPassword": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The value of the STUN Password to be used in computing the MESSAGE-INTEGRITY attribute to be used in Binding Requests (only if message integrity has been requested by the STUN server).",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"STUNMaximumKeepAlivePeriod": {
				"type": "int",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "If STUN Is enabled, the maximum period, in <<units>>, that STUN Binding Requests MUST be sent by the CPE for the purpose of maintaining the binding in the Gateway. This applies specifically to Binding Requests sent from the UDP Connection Request address and port. A value of -1 indicates that no maximum period is specified.",
				"datatype": "int",
				"range": [
					{
						"min": -1
					}
				],
				"unit": "seconds"
			},
			"STUNMinimumKeepAlivePeriod": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "If STUN Is enabled, the minimum period, in <<units>>, that STUN Binding Requests can be sent by the CPE for the purpose of maintaining the binding in the Gateway. This limit applies only to Binding Requests sent from the UDP Connection Request address and port, and only those that do not contain the BINDING-CHANGE attribute. This limit does not apply to retransmissions following the procedures defined in <<bibref|RFC3489>>.",
				"datatype": "unsignedInt",
				"unit": "seconds"
			},
			"NATDetected": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "When STUN is enabled, this parameter indicates whether or not the CPE has detected address and/or port mapping in use. A <<true>> value indicates that the received MAPPED-ADDRESS in the most recent Binding Response differs from the CPEs source address and port. When <<param|STUNEnable>> is <<false>>, this value MUST be <<false>>.",
				"datatype": "boolean"
			},
			"AliasBasedAddressing": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "Indicates whether or not the Alias-Based Addressing Mechanism is supported. A <<true>> value indicates that the CPE supports the Alias-Based Addressing Mechanism, as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>.",
				"datatype": "boolean"
			},
			"InstanceMode": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Instance identification mode as defined in <<bibref|TR-069|3.6.1>>. When <<param|AliasBasedAddressing>> is <<true>>, <<param>> is used by the ACS to control whether the CPE will use Instance Numbers or Instance Aliases in returned Path Names. Enumeration of: InstanceNumber, InstanceAlias. This parameter is REQUIRED for any CPE supporting Alias-Based Addressing.",
				"default": "InstanceNumber",
				"datatype": "string",
				"enumerations": [
					"InstanceNumber",
					"InstanceAlias"
				]
			},
			"AutoCreateInstances": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Enable or disable the Auto-Create Instance Mechanism. When <<param|AliasBasedAddressing>> is <<true>>, <<param>> indicates whether or not the CPE will automatically create instances while processing a SetParameterValues RPC (as defined in <<bibref|TR-069|A.3.2.1>>). *A <<true>> value indicates that the CPE will perform auto-creation of instances when the Alias-Based Addressing Mechanism is used in SetParameterValues RPC. *A <<false>> value indicates that the CPE will not create new object instances. Instead, it will reject the setting of parameters in unrecognized instances and respond with a fault code. This parameter is REQUIRED for any CPE supporting Alias-Based Addressing.",
				"default": "false",
				"datatype": "boolean"
			},
			"ManageableDeviceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ManageableDeviceNotificationLimit": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The minimum time, in seconds, between Active Notifications resulting from changes to the <<param|ManageableDeviceNumberOfEntries>> (if Active Notification is enabled).",
				"datatype": "unsignedInt"
			},
			"EmbeddedDeviceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"VirtualDeviceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SupportedConnReqMethods": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "The connection request methods supported by this <<object>>. Enumeration of: HTTP, STUN, XMPP.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"HTTP",
						"STUN",
						"XMPP"
					]
				}
			},
			"ConnReqXMPPConnection": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "<<reference|the <<object|#.XMPP.Connection>> instance that is used for connection requests to this <<object>>>>",
				"datatype": "string"
			},
			"ConnReqAllowedJabberIDs": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "When an XMPP Connection Request is sent to a CPE the XMPP IQ Stanza will contain a from address that contains the Jabber ID of the initiating entity. This parameter is a <<list>> Each entry represents a Jabber ID, or address, that is allowed to initiate an XMPP Connection Request. Each Jabber ID is allowed to be either a Full JID (containing a local-part, domain-part, and resource-part in the following format: local-part@domain-part/resource-part) or a Bare JID (containing a local-part and a domain-part in the following format: local-part@domain-part). Full JID entries require an exact match whereas Bare JID entries are a wildcard match and will match any Jabber ID with the same local-part and domain-part independent of the resource-part. For example, if <<param>> contained ACS1@tr069.example.com, ACS2@tr-069.example.com/resource1 then the following incoming from addresses would be allowed: * ACS1@tr069.example.com/resource1 * ACS1@tr069.example.com/resource2 * ACS2@tr069.example.com/resource1 And the following incoming from addresses would not be allowed: * ACS2@tr069.example.com/resource2 * ACS@tr069.example.com/resource If this Parameter is <<empty>> then all Jabber IDs are allowed and an XMPP Connection Request can not be deemed invalid due to the from address.",
				"list": {
					"datatype": "string",
					"item": {
						"max": 32
					},
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"ConnReqJabberID": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "The value MUST be the value of the <<param|#.XMPP.Connection.<i>.JabberID>> contained in the <<object|#.XMPP.Connection>> instance referenced by the <<param|ConnReqXMPPConnection>> parameter. If the <<param|ConnReqXMPPConnection>> parameter is empty or the <<object|#.XMPP.Connection>> instance being reference is disabled, then this value will be empty. If the <<object|#.XMPP.Connection>> instance being referenced by the <<param|ConnReqXMPPConnection>> parameter is lost (<<param|#.XMPP.Connection.<i>.Status>> parameter changes from Enabled to some other value), then the value of this parameter MUST remain unchanged until the connection can be reestablished and a new <<param|#.XMPP.Connection.<i>.JabberID>> can be established. If the new <<param|#.XMPP.Connection.<i>.JabberID>> is identical to the existing value, then the value of this parameter MUST NOT be altered and a VALUE CHANGE event MUST NOT be generated.",
				"datatype": "string"
			},
			"HTTPCompressionSupported": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "Indicates the HTTP Compression mechanism(s) supported by this CPE. Requirements for the use of HTTP Compression for CWMP can be found in <<bibref|TR-069|Section 3.4.7>>. Enumeration of: GZIP, Compress, Deflate. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|Section 3.3>> MUST be adhered to.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"GZIP",
						"Compress",
						"Deflate"
					]
				}
			},
			"HTTPCompression": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The value of this parameter represents the HTTP Compression mechanism to be used by the CPE when communicating with the ACS.",
				"default": "Disabled",
				"datatype": "string"
			},
			"LightweightNotificationProtocolsSupported": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "Indicates the Lightweight Notification Protocol(s) supported by this CPE. Enumeration of: UDP. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|Section 3.3>> MUST be adhered to.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"UDP"
					]
				}
			},
			"LightweightNotificationProtocolsUsed": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The value of this parameter represents the protocol(s) that will be used by the CPE when sending Lightweight Notifications. <<empty>> means that Lightweight Notifications are disabled, despite any SetParameterAttributes that have been configured on various parameters.",
				"list": {
					"datatype": "string"
				}
			},
			"LightweightNotificationTriggerInterval": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The duration in <<units>> of the interval for which the CPE MUST attempt to deliver any pending Passive Lightweight Notifications. A value of 0 means that the trigger interval is effectively disabled. In this case pending Passive Lightweight Notifications are only sent when triggered by an Active Lightweight Notification.",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 0
					}
				],
				"unit": "seconds"
			},
			"LightweightNotificationTriggerTime": {
				"type": "dateTime",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "An absolute time reference in UTC to determine when the CPE will initiate the Lightweight Notification (in the case that there are pending Passive Lightweight Notifications that need to be delivered). Each Passive Lightweight Notification (that is waiting for the Lightweight Notification Trigger mechanism for delivery) MUST occur at this reference time plus or minus an integer multiple of the <<param|LightweightNotificationTriggerInterval>>. <<param>> is used only to set the phase of the Passive Lightweight Notification. The actual value of <<param>> can be arbitrarily far into the past or future. For example, if <<param|LightweightNotificationTriggerInterval>> is 86400 (a day) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then Lightweight Notifications for pending Passive Lightweight Notifications will occur every day at UTC midnight. These MUST begin on the very next midnight, even if <<param>> refers to a day in the future. The Unknown Time value defined in <<bibref|TR-106|section 3.2>> indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and needs only to adhere to the specified <<param|LightweightNotificationTriggerInterval>>. If absolute time is not available to the CPE, its Lightweight Notifications behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value.",
				"datatype": "dateTime"
			},
			"UDPLightweightNotificationHost": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Host name or address to be used when sending the UDP Lightweight Notifications. <<param>> is only applicable when <<param|LightweightNotificationProtocolsUsed>> contains the <<enum|UDP|LightweightNotificationProtocolsUsed>> enumeration. If <<param>> is not implemented or is <<empty>>, and UDP Lightweight Notifications are supported, the destination host MUST be the same as the ACS (as contained in the host portion of the <<param|URL>>).",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"UDPLightweightNotificationPort": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The port number to be used when sending UDP Lightweight Notifications. <<param>> is only applicable when <<param|LightweightNotificationProtocolsUsed>> contains the <<enum|UDP|LightweightNotificationProtocolsUsed>> enumeration. If <<param>> is not implemented and UDP Lightweight Notifications are supported, the destination port MUST be 7547.",
				"datatype": "unsignedInt"
			},
			"InstanceWildcardsSupported": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "Indicates whether or not instance wildcards are supported. A <<true>> value indicates that the CPE supports instance wildcards for GPV, GPN and GPA RPC calls, as defined in [TR-069].",
				"datatype": "boolean"
			},
			"InformParameterNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.ManagementServer.ManageableDevice.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Each entry in this table corresponds to a distinct LAN Device that supports Device-Gateway Association according to <<bibref|TR-069|Annex F>> as indicated by the presence of the DHCP option specified in that Annex.",
				"uniqueKeys": [
					"ManufacturerOUI",
					"SerialNumber",
					"ProductClass"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp"
					],
					"description": "A non-volatile handle used to reference this instance. <<param>> provides a mechanism for an ACS to label this instance for future reference. An initial unique value MUST be assigned when the CPE creates an instance of this object. <<deprecated|2.11|because <<object>> is a transient object>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ManufacturerOUI": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Organizationally unique identifier of the Device manufacturer as provided to the Gateway by the Device. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. <<pattern>> The value MUST be a valid OUI as defined in <<bibref|OUI>>.",
					"datatype": "string",
					"range": [
						{
							"min": 6,
							"max": 6
						}
					],
					"pattern": [
						"[0-9A-F]{6}"
					]
				},
				"SerialNumber": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Serial number of the Device as provided to the Gateway by the Device.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ProductClass": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Identifier of the class of product for which the Devices serial number applies as provided to the Gateway by the Device. If the Device does not provide a Product Class, then this parameter MUST be <<empty>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Host": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<list>> <<reference>> References all the <<object|##.Hosts.Host>> table entries, whether active or inactive, that correspond to this physical LAN device. There can be multiple such entries if the device has more than one network interface. For example: Device.Hosts.Host.1,Device.Hosts.Host.5",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				}
			},
			"Device.ManagementServer.AutonomousTransferCompletePolicy.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This object allows configuration of CPE policy for notification of AUTONOMOUS TRANSFER COMPLETE events, defined in <<bibref|TR-069>>. The CPE policy determines the conditions under which the CPE notifies the ACS of the completion of file transfers that were not specifically requested by the ACS.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Enable/disable CPE notification of AUTONOMOUS TRANSFER COMPLETE events to the ACS.",
					"datatype": "boolean"
				},
				"TransferTypeFilter": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the transfer types that MUST be included when the CPE notifies the ACS of AUTONOMOUS TRANSFER COMPLETE events. Transfer types not indicated by this filter MUST NOT be included when the CPE notifies the ACS. Enumeration of: Upload, Download, Both. Note that this includes any backup or restore operations that were not specifically requested by the ACS. A backup is regarded as an Upload and a restore is regarded as a Download.",
					"datatype": "string",
					"enumerations": [
						"Upload",
						"Download",
						"Both"
					]
				},
				"ResultTypeFilter": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the transfer results that MUST be included when the CPE notifies the ACS of AUTONOMOUS TRANSFER COMPLETE events. Transfer results omitted from this list MUST NOT be included when the CPE notifies the ACS. Note that this includes any backup or restore operations that were not specifically requested by the ACS. A backup is regarded as an Upload and a restore is regarded as a Download.",
					"datatype": "string",
					"enumerations": [
						"Success",
						"Failure",
						"Both"
					]
				},
				"FileTypeFilter": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "<<list>> Indicates the file types that MUST be included when the CPE notifies the ACS of AUTONOMOUS TRANSFER COMPLETE events. File types omitted from this list MUST NOT be included when the CPE notifies the ACS. <<pattern>> Additionally, the following format is defined to allow the unique definition of vendor-specific file types: * X <OUI> <Vendor-specific identifier> <OUI> is replaced by a 6 hexadecimal-digit OUI (organizationally unique identifier) as defined in <<bibref|OUI>>, with all upper-case letters and any leading zeros included. The OUI used for a given vendor-specific file type MUST be one that is assigned to the organization that defined this file type (which is not necessarily the same as the vendor of the CPE or ACS). Note that <<empty>> indicates that all file types are excluded from this filter, effectively disabling CPE notification of AUTONOMOUS TRANSFER COMPLETE events to the ACS.",
					"list": {
						"datatype": "string",
						"maxsize": 1024,
						"pattern": [
							"1 Firmware Upgrade Image",
							"2 Web Content",
							"3 Vendor Configuration File",
							"4 Vendor Log File",
							"X [0-9A-F]{6} .*"
						]
					}
				}
			},
			"Device.ManagementServer.DownloadAvailability.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This object contains multicast announcement and query parameters used for the purpose of downloading files.",
				"access": false,
				"array": false,
				"Device.ManagementServer.DownloadAvailability.Announcement.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object contains multicast announcement parameters used to download files.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Enable/disable CPE ability to receive and use multicast announcements from a server for the purpose of downloading files.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The status of the announcement service.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					},
					"GroupNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Multicast groups to which the CPE SHOULD listen for announcements.",
						"uniqueKeys": [
							"URL",
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Enable/disable listening to this multicast group.",
							"default": "false",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The status of this group table entry.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Enabled",
								"Error"
							]
						},
						"URL": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The <<datatype>> encoding the group address, source and port on which to listen, and other protocol information, e.g. expected announcement format. Depending on the application, the messages identified by this URL MAY directly contain the data to be downloaded, or alternatively MAY contain information informing the CPE how to obtain the data to be downloaded via a separate mechanism, which itself could involve a unicast or a multicast download protocol. Refer to <<bibref|DVB-TS.102.824>> for an example of a URL format that identifies a SAP <<bibref|RFC2974>> stream that indicates how to use either FLUTE <<bibref|RFC3926>> or DSM-CC <<bibref|ISO-13818-6:1998>> to perform the download.",
							"datatype": "URL"
						}
					}
				},
				"Device.ManagementServer.DownloadAvailability.Query.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object contains multicast query parameters used to download files.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Enable/disable CPE ability to autonomously query a server for the purpose of downloading files.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The status of the query service.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					},
					"URL": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The <<datatype>> of the query response server. Depending on the application, the protocol described by this URL MAY be a SOAP interface, or MAY be any other RPC mechanism. Refer to <<bibref|DVB-TS.102.824>> for an example of a URL format that identifies a SOAP interface running over HTTP or HTTPS.",
						"datatype": "URL"
					}
				}
			},
			"Device.ManagementServer.DUStateChangeComplPolicy.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This object allows configuration of CPE policy for notification of 12 AUTONOMOUS DU STATE CHANGE COMPLETE events defined in <<bibref|TR-069>>. The CPE policy determines the conditions under which the CPE notifies the ACS of the completion of Deployment Unit state changes that were not specifically requested via CWMP.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Enables/Disables CPE notification of 12 AUTONOMOUS DU STATE CHANGE COMPLETE events to the ACS.",
					"datatype": "boolean"
				},
				"OperationTypeFilter": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the Deployment Unit operations that MUST be included when the CPE notifies the ACS of 12 AUTONOMOUS DU STATE CHANGE COMPLETE events. Operation types not indicated by this list MUST NOT be included when the CPE notifies the ACS. <<empty>> is essentially the same as setting <<param|Enable>> to <<false>>.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"Install",
							"Update",
							"Uninstall"
						]
					}
				},
				"ResultTypeFilter": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the Deployment Unit state change results that MUST be included when the CPE notifies the ACS of 12 AUTONOMOUS DU STATE CHANGE COMPLETE events. State change results omitted from this filter MUST NOT be included when the CPE notifies the ACS.",
					"datatype": "string",
					"enumerations": [
						"Success",
						"Failure",
						"Both"
					]
				},
				"FaultCodeFilter": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the Deployment Unit state change fault codes that MUST be included when the CPE notifies the ACS of 12 AUTONOMOUS DU STATE CHANGE COMPLETE events. State change fault codes omitted from this filter MUST NOT be included when the CPE notifies the ACS. This filter has no effect on the notification of a successful autonomous state change. This filter only applies when <<param|ResultTypeFilter>> is set to either <<enum|Failure|ResultTypeFilter>> or <<enum|Both|ResultTypeFilter>>. <<empty>> means that failed autonomous state changes will not be sent to the ACS.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"9001",
							"9003",
							"9012",
							"9013",
							"9015",
							"9016",
							"9017",
							"9018",
							"9022",
							"9023",
							"9024",
							"9025",
							"9026",
							"9027",
							"9028",
							"9029",
							"9030",
							"9031",
							"9032"
						]
					}
				}
			},
			"Device.ManagementServer.EmbeddedDevice.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Each entry in this table represents a distinct Proxied Device that utilizes the Embedded Object Mechanism <<bibref|TR-069|Annex J.3>> for proxying devices.",
				"uniqueKeys": [
					"ControllerID",
					"ProxiedDeviceID"
				],
				"access": false,
				"array": true,
				"ControllerID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Identifier of the controller that is responsible for a sub-network of Proxied Devices within the LAN. <<empty>> indicates that this Proxied Device either: * Isnt part of a sub-network, within the LAN, with a controller entity. * Doesnt need a <<param>> to ensure its <<param|ProxiedDeviceID>> is unique throughout the LAN.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ProxiedDeviceID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Idenitfier of the Proxied Device. This is an opaque string that is unique to the Proxied Device within a specific sub-network within the LAN (identified by the <<param|ControllerID>>). If the <<param|ControllerID>> is <<empty>> this <<param>> is unique across the LAN.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Reference": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<noreference>>The value MUST be the path name of a table row. If the referenced object is deleted, this <<object>> instance MUST also be removed. Represents the instance of a multi-instanced object that is directly controlled by, and has come into existence because of, this Proxied Device that utilizes the Embedded Object Mechanism <<bibref|TR-069|Annex J.3>>.",
					"datatype": "string"
				},
				"SupportedDataModel": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Represents the CWMP-DT schema instance(s) that this Proxied Device is utilizing. The CWMP-DT schema instance is also the one being utilized by the object referenced within <<param|Reference>>.",
					"list": {
						"datatype": "string"
					}
				},
				"Host": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "References the <<object|##.Hosts.Host>> table entry(s), whether active or inactive, that corresponds to this proxied LAN device.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 32
						}
					}
				},
				"ProxyProtocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The protocol being used to communicate between the CPE Proxier and this Proxied Device. Enumeration of: Z-Wave, ZigBee, UPnP-DM, ETSI-M2M. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|3.3>> MUST be adhered to.",
					"datatype": "string",
					"enumerations": [
						"Z-Wave",
						"ZigBee",
						"UPnP-DM",
						"ETSI-M2M"
					]
				},
				"ProxyProtocolReference": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<reference|a protocol object that uses the <<param|ProxyProtocol>>>>",
					"datatype": "string"
				},
				"DiscoveryProtocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<list|that represents the discovery protocol(s) for this proxied device>> Enumeration of: Z-Wave, ZigBee, UPnP, ETSI-M2M. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|Section 3.3>> MUST be adhered to.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"Z-Wave",
							"ZigBee",
							"UPnP",
							"ETSI-M2M"
						]
					}
				},
				"DiscoveryProtocolReference": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<list>> <<reference|an object discovered using one or more protocols listed in <<param|DiscoveryProtocol>>>> For objects discovered by the UPnP discovery protocol, the <<param>> would contain items that are references to instances of the following: * <<object|##.UPnP.Discovery.RootDevice>> * <<object|##.UPnP.Discovery.Device>> * <<object|##.UPnP.Discovery.Service>> For objects discovered by the ETSI-M2M discovery protocol, the <<param>> would contain items that are references to instances of <<object|##.ETSIM2M.SCL.<i>.AreaNwkDeviceInfoInstance>>.",
					"list": {
						"datatype": "string"
					}
				},
				"CommandProcessed": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Whether or not the CPE Proxier has successfully communicated all pending configuration commands down to the Proxied Device.",
					"datatype": "string",
					"enumerations": [
						"Pending",
						"Retrying",
						"Success",
						"Error"
					]
				},
				"CommandProcessingErrMsg": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Detailed <<param|CommandProcessed>> error description (vendor specific).",
					"datatype": "string",
					"range": [
						{
							"max": 1024
						}
					]
				},
				"LastSyncTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The last time that the CPE Proxier synchronized the state of the Proxied Device. This parameter MUST be updated when a proxy command is executed successfully on the Proxied Device. The Unknown Time value, as defined in <<bibref|TR-106>>, indicates that the Proxied Devices state has not been synchronized since the CPE Proxier was last rebooted.",
					"datatype": "dateTime"
				}
			},
			"Device.ManagementServer.VirtualDevice.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Each entry in this table represents a distinct Proxied Device that utilizes the Virtual CWMP Device Mechanism <<bibref|TR-069|Annex J.2>> for proxying devices.",
				"uniqueKeys": [
					"ManufacturerOUI",
					"ProductClass",
					"SerialNumber"
				],
				"access": false,
				"array": true,
				"ManufacturerOUI": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Organizationally unique identifier of the associated Proxied Device. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. <<pattern>> The value MUST be a valid OUI as defined in <<bibref|OUI>>.",
					"datatype": "string",
					"range": [
						{
							"min": 6,
							"max": 6
						}
					],
					"pattern": [
						"[0-9A-F]{6}"
					]
				},
				"ProductClass": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Identifier of the class of product of the associated Proxied Device for which the serial number applies.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"SerialNumber": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Serial number of the associated Proxied Device.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Host": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<list>> <<reference>> References all the <<object|##.Hosts.Host>> table entries, whether active or inactive, that correspond to this proxied LAN device. There can be multiple such entries if the Proxied Device has more than one network interface.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 32
						}
					}
				},
				"ProxyProtocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The protocol being used to communicate between the CPE Proxier and this Proxied Device. Enumeration of: Z-Wave, ZigBee, UPnP-DM, ETSI-M2M. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|3.3>> MUST be adhered to.",
					"datatype": "string",
					"enumerations": [
						"Z-Wave",
						"ZigBee",
						"UPnP-DM",
						"ETSI-M2M"
					]
				},
				"ProxyProtocolReference": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<reference|a protocol object that uses the <<param|ProxyProtocol>>>>",
					"datatype": "string"
				},
				"DiscoveryProtocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<list|that represents the discovery protocol(s) for this proxied device>> Enumeration of: Z-Wave, ZigBee, UPnP, ETSI-M2M. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|Section 3.3>> MUST be adhered to.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"Z-Wave",
							"ZigBee",
							"UPnP",
							"ETSI-M2M"
						]
					}
				},
				"DiscoveryProtocolReference": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<list>> <<reference|an object discovered using one or more protocols listed in <<param|DiscoveryProtocol>>>> For objects discovered by the UPnP discovery protocol, the <<param>> would contain items that are references to instances of the following: * <<object|##.UPnP.Discovery.RootDevice>> * <<object|##.UPnP.Discovery.Device>> * <<object|##.UPnP.Discovery.Service>> For objects discovered by the ETSI-M2M discovery protocol, the <<param>> would contain items that are references to instances of <<object|##.ETSIM2M.SCL.<i>.AreaNwkDeviceInfoInstance>>.",
					"list": {
						"datatype": "string"
					}
				}
			},
			"Device.ManagementServer.StandbyPolicy.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Parameters related to CPE behavior when waking up from standby. If this object is supported then the CPE MUST support the requirements of <<bibref|TR-069|Annex L>>. NOTE: CR, as used in the names and descriptions of the parameters defined in this object, refers to the Connection Request concept defined in TR-069.",
				"access": false,
				"array": false,
				"CRUnawarenessMaxDuration": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When waking up from a non CR-Aware Standby that lasted more than this parameters value (in <<units>>), the CPE MUST issue a WAKEUP Event. If the value is -1, the CPE MUST NOT ever issue WAKEUP Events for having been non CR-aware.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "seconds"
				},
				"MaxMissedPeriodic": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When waking up from a non fully Timer-Aware Standby that made it miss more than this parameters value Periodic Contacts, the CPE MUST issue a WAKEUP Event. If the value is -1, the CPE MUST NOT ever issue WAKEUP Events for exceeding that limit.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"NotifyMissedScheduled": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When waking up from a non fully Timer-Aware Standby that made it miss at least one Scheduled Contact, the CPE MUST issue a WAKEUP Event if this parameter is <<true>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"NetworkAwarenessCapable": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates that the CPE is capable of CR-Aware Standby.",
					"datatype": "boolean"
				},
				"SelfTimerCapable": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates that the CPE is capable of Timer-Aware Standby.",
					"datatype": "boolean"
				},
				"CRAwarenessRequested": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "If <<param|NetworkAwarenessCapable>> and this parameter are both <<true>>, the CPE MUST NOT go into a non CR-Aware Standby state.",
					"default": "false",
					"datatype": "boolean"
				},
				"PeriodicAwarenessRequested": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "If <<param|SelfTimerCapable>> and this parameter are both <<true>>, the CPE MUST NOT go into a standby state that prevents it from honoring Periodic Contacts.",
					"default": "false",
					"datatype": "boolean"
				},
				"ScheduledAwarenessRequested": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "If this parameter is true, the CPE MUST NOT go into a standby state that prevents it from honoring Scheduled Contacts. This means that, whenever the ACS has requested a Scheduled Contact: *if <<param|SelfTimerCapable>> is <<true>> and the CPE chooses to go into Standby before the Scheduled Contact has been honored, it MUST use a Timer-Aware Standby; *if <<param|SelfTimerCapable>> is <<false>>, the CPE MUST NOT go into Standby before the Scheduled Contact has been honored.",
					"datatype": "boolean"
				}
			},
			"Device.ManagementServer.InformParameter.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This table provides the ACS with the ability to control the Parameters that are delivered by the Inform RPC. Any Parameter (identified by <<param|ParameterName>>) contained in this table MUST be included within the ParameterList argument of the Inform RPC whenever any Event within the <<param|EventList>> is being delivered. This table does not include Forced Inform Parameters, and Forced Inform Parameters are not allowed to be inserted into this table. Any attempt by an ACS to configure this table to contain a Forced Inform Parameter MUST result in the failure of the SetParameterValues RPC with error code 9007.",
				"uniqueKeys": [
					"Alias",
					"ParameterName"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Enables or disables this <<object>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"ParameterName": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "A pattern that describes the Parameter(s) to be included in the Inform\u2019s ParameterList argument. Specifically, patterns with wildcards (an * character) in place of Instance Identifiers are allowed; any attempt to set the value otherwise MUST be rejected by the CPE. If the pattern does not match any existing Parameters at the time that the CPE is creating the Inform RPC, then this <<object|#.InformParameter>> instance is not included in the Inform\u2019s ParameterList argument.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"EventList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Each entry in this list represents an Event for which this Parameter MUST be included within the ParameterList argument of the Inform RPC. All Inform Events (see <<bibref|TR-069|Section 3.7.1.5>>), except for 4 VALUE CHANGE, are allowed as entries in this list. 4 VALUE CHANGE is not allowed as that would violate requirements contained in <<bibref|TR-069|Section A.3.3.1>>. <<empty>> means all events except 4 VALUE CHANGE.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				}
			},
			"Device.ManagementServer.HeartbeatPolicy.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Parameters related to CPE behavior in order to issue a Heartbeat event to the ACS using the Inform method call. If this object is supported then the CPE MUST support the requirements of <<bibref|TR-069|Annex O>>.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When <<true>>, Heartbeat events are enabled to be sent to the ACS based on the values of the <<param|ReportingInterval>> and <<param|InitiationTime>> parameters.",
					"datatype": "boolean"
				},
				"ReportingInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The duration in <<units>> of the interval for which the CPE MUST attempt to connect with the ACS and call the Inform method if <<param|Enable>> is <<true>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 30
						}
					],
					"unit": "seconds"
				},
				"InitiationTime": {
					"type": "dateTime",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "An absolute time reference in UTC to determine when the CPE will initiate the Heartbeat event Inform method calls. Each Inform call MUST occur at this reference time plus or minus an integer multiple of the <<param|ReportingInterval>>. <<param>> is used only to set the phase of the Heartbeat event Informs. The actual value of <<param>> can be arbitrarily far into the past or future. For example, if <<param|ReportingInterval>> is 60 (one minute) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then Heartbeat Informs will occur every minute at the next UTC midnight. These MUST begin on the very next midnight, even if <<param>> refers to a day in the future. The Unknown Time value defined in <<bibref|TR-106|section 3.2>> indicates that no particular time reference is specified. The CPE MUST locally choose a random time reference. If absolute time is not available to the CPE, its Heartbeat Inform behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value.",
					"datatype": "dateTime"
				}
			}
		},
		"Device.Time.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains global parameters relating to the NTP time clients and or servers that are active in the device. This object can be used to model SNTP and NTP clients and servers. Both NTP and SNTP have identical packet formats and use the same mathematical operations to calculate client time, clock offset, and roundtrip delay. From the perspective of an NTP or SNTP server, there is no difference between NTP and SNTP clients, and from the perspective of an NTP or SNTP client, there is no difference between NTP and SNTP servers. SNTP servers are stateless like NTP servers in non-symmetric modes and can handle numerous clients, but SNTP clients usually operate with only one server at a time, unlike most NTP clients.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables all the time clients and servers.",
				"datatype": "boolean"
			},
			"Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Reflects the global time synchronisation status of the CPE. Enumeration of: Disabled, Unsynchronized, Synchronized, Error_FailedToSynchronize, Error.",
				"datatype": "string",
				"enumerations": [
					"Disabled",
					"Unsynchronized",
					"Synchronized",
					"Error_FailedToSynchronize",
					"Error"
				]
			},
			"NTPServer1": {
				"type": "string",
				"read": true,
				"write": true,
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "First NTP timeserver. Either a host name or IP address. <<deprecated|2.16|due to the introduction of <<object|Client>>>> <<obsoleted|2.18>> <<deleted|2.19>>",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"NTPServer2": {
				"type": "string",
				"read": true,
				"write": true,
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Second NTP timeserver. Either a host name or IP address. <<deprecated|2.16|due to the introduction of <<object|Client>>>> <<obsoleted|2.18>> <<deleted|2.19>>",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"NTPServer3": {
				"type": "string",
				"read": true,
				"write": true,
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Third NTP timeserver. Either a host name or IP address. <<deprecated|2.16|due to the introduction of <<object|Client>>>> <<obsoleted|2.18>> <<deleted|2.19>>",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"NTPServer4": {
				"type": "string",
				"read": true,
				"write": true,
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Fourth NTP timeserver. Either a host name or IP address. <<deprecated|2.16|due to the introduction of <<object|Client>>>> <<obsoleted|2.18>> <<deleted|2.19>>",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"NTPServer5": {
				"type": "string",
				"read": true,
				"write": true,
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Fifth NTP timeserver. Either a host name or IP address. <<deprecated|2.16|due to the introduction of <<object|Client>>>> <<obsoleted|2.18>> <<deleted|2.19>>",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"CurrentLocalTime": {
				"type": "dateTime",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The current date and time in the CPEs local time zone.",
				"datatype": "dateTime"
			},
			"LocalTimeZone": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The local time zone definition, encoded according to IEEE 1003.1 (POSIX). The following is an example value: : EST+5 EDT,M4.1.0/2,M10.5.0/2",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"ClientNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ServerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Time.Client.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to an time client instance.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the time client.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Status of Time support for this client. Enumeration of: Disabled, Unsynchronized, Synchronized, Error_FailedToSynchronize, Error.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Unsynchronized",
						"Synchronized",
						"Error_FailedToSynchronize",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Mode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies in which mode the NTP client must be run. Enumeration of: Unicast, Broadcast, Multicast, Manycast.",
					"datatype": "string",
					"enumerations": [
						"Unicast",
						"Broadcast",
						"Multicast",
						"Manycast"
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specify the port used to send NTP packets. <<bibref|RFC5905|Section 7.2>>",
					"default": "123",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				},
				"IPVersion": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the IP protocol version, following the definitions in <<bibref|IANA-ipversionnumbers>>. Valid values are: <<range>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": 4,
							"max": 4
						},
						{
							"min": 6,
							"max": 6
						},
						{
							"min": -1,
							"max": -1
						}
					]
				},
				"ServerInUse": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the server currently used for time synchronization. The value reported is the exact server entry as configured in the <<param|Servers>> parameter. If the server is specified as a Fully Qualified Domain Name (FQDN) in the <<param|Servers>> parameter, the configured FQDN will be reported here, not the resolved IP address or CNAME.",
					"datatype": "string"
				},
				"Version": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the supported NTP version. Possible versions are 1-4.",
					"default": "4",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 4
						}
					]
				},
				"Servers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Points to a CSV list of NTP servers or pools. A NTP server can either be specified as an IP address or a host name. It is expected that the NTP client resolves multiple addresses which can change over time when <<param|ResolveAddresses>> is enabled.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				},
				"ResolveAddresses": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When this option is enabled the NTP client must resolve the multiple addresses associated with the host name(s) that are specified in the <<param|Servers>> field.",
					"default": "false",
					"datatype": "boolean"
				},
				"ResolveMaxAddresses": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<param|ResolveAddresses>> is enabled, This parameter specifies the maximum number of IP addresses that the NTP client can resolve. 0 means that all addresses must be resolved.",
					"default": "6",
					"datatype": "unsignedInt"
				},
				"Peer": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Use symmetric active association mode. This device may provide synchronization to the configured NTP server.",
					"datatype": "boolean"
				},
				"MinPoll": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the minimum polling interval, in <<units>> to the power of two, allowed by any peer of the Internet system, currently set to 6 (64 seconds). <<bibref|RFC5905|Section 7.2>>",
					"default": "6",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"MaxPoll": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the maximum polling interval, in <<units>> to the power of two, allowed by any peer of the Internet system, currently set to 10 (1024 seconds) <<bibref|RFC5905|Section 7.2>>",
					"default": "10",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"IBurst": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the <<param>> parameter is enabled, and this is the first packet sent when the server has been unreachable, the client sends a burst. This is useful to quickly reduce the synchronization distance below the distance threshold and synchronize the clock. <<bibref|RFC5905>>.",
					"datatype": "boolean"
				},
				"Burst": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the <<param>> parameter is enabled and the server is reachable and a valid source of synchronization is available, the client sends a burst of BCOUNT (8) packets at each poll interval. The interval between packets in the burst is two seconds. This is useful to accurately measure jitter with long poll intervals. <<bibref|RFC5905>>.",
					"default": "8",
					"datatype": "unsignedInt"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP Interface associated with the Client entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"BindType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies how the client sockets are bound. Enumeration of: Address, Device.",
					"datatype": "string",
					"enumerations": [
						"Address",
						"Device"
					]
				},
				"Device.Time.Client.{i}.Authentication.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters relating to enabling security for the time client.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables authentication of the time client.",
						"default": "false",
						"datatype": "boolean"
					},
					"Certificate": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Points to the certificate that must be used by the NTS-KE client.",
						"datatype": "string"
					},
					"NTSPort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "On this port the NTS Key Establishment protocol is being provided.",
						"default": "4460",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					}
				},
				"Device.Time.Client.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object specifies the statistic parameters for the time client. <<bibref|RFC9249|Chapter 8 NTP Yang Module>>",
					"access": false,
					"array": false,
					"PacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the number of packets that have been successfully sent from the NTP client to the NTP server.",
						"datatype": "StatsCounter32"
					},
					"PacketsSentFailed": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the number of packets that were not successfully sent to the NTP server.",
						"datatype": "StatsCounter32"
					},
					"PacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the number of packets that have been successfully received by the NTP client from the NTP server.",
						"datatype": "StatsCounter32"
					},
					"PacketsDropped": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the number of packets that were received by the NTP client but were not successfully processed or handled due to errors or other issues.",
						"datatype": "StatsCounter32"
					}
				}
			},
			"Device.Time.Server.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to an time server instance.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the time server.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Status of Time server instance. Enumeration of: Up, Down, Error.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Mode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies in which mode the NTP server must be ran. Enumeration of: Unicast, Broadcast, Multicast, Manycast.",
					"datatype": "string",
					"enumerations": [
						"Unicast",
						"Broadcast",
						"Multicast",
						"Manycast"
					]
				},
				"Version": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the supported NTP version. Possible versions are 1-4.",
					"default": "4",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 4
						}
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specify the port used to receive NTP packets. <<bibref|RFC5905|Section 7.2>>",
					"default": "123",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP Interface associated with the Server entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"BindType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies how the client sockets must be bounded. Enumeration of: Address, Device.",
					"datatype": "string",
					"enumerations": [
						"Address",
						"Device"
					]
				},
				"MinPoll": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the minimum polling interval, in <<units>> to the power of two, allowed by any peer of the Internet system, currently set to 6 (64 seconds). <<bibref|RFC5905|Section 7.2>>",
					"default": "6",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"MaxPoll": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the maximum polling interval, in <<units>> to the power of two, allowed by any peer of the Internet system, currently set to 10 (1024 seconds) <<bibref|RFC5905|Section 7.2>>",
					"default": "10",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"TTL": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the time to live (TTL) for a broadcast/multicast packet. <<bibref|RFC5905|Section 3.1>>",
					"default": "255",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 255
						}
					]
				},
				"Device.Time.Server.{i}.Authentication.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters relating to enabling security for the NTP Server.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables authentication of the NTP server.",
						"default": "false",
						"datatype": "boolean"
					},
					"Certificate": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Points to the certificate that must be used by the NTS-KE client.",
						"datatype": "string"
					},
					"NTSNTPServer": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Points to a CSV list of NTP servers. A NTP server can either be specified as an IP address or a host name. When used the NTS-KE server will tell the remote NTS-KE client the NTP hostname or address of the NTP server(s) that should be used. This allows to separate the NTP server and NTS-KE server implementation.",
						"default": "[]",
						"list": {
							"datatype": "string"
						}
					}
				},
				"Device.Time.Server.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object specifies the statistic parameters for the NTP server. <<bibref|RFC9249|Chapter 8 NTP Yang Module>>",
					"access": false,
					"array": false,
					"PacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the number of packets that have been successfully sent from the NTP server to the NTP client.",
						"datatype": "StatsCounter32"
					},
					"PacketsSentFailed": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the number of packets that were not successfully sent to the NTP client.",
						"datatype": "StatsCounter32"
					},
					"PacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the number of packets that have been successfully received by the NTP server from a NTP client.",
						"datatype": "StatsCounter32"
					},
					"PacketsDropped": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the number of packets that were received by the NTP server but were not successfully processed or handled due to errors or other issues.",
						"datatype": "StatsCounter32"
					}
				}
			}
		},
		"Device.UserInterface.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains parameters relating to the user interface of the CPE.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables and disables the CPEs user interface.",
				"default": "true",
				"datatype": "boolean"
			},
			"PasswordRequired": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Present only if the CPE provides a password-protected LAN-side user interface. Indicates whether or not the local user interface MUST require a password to be chosen by the user. If <<false>>, the choice of whether or not a password is used is left to the user.",
				"datatype": "boolean"
			},
			"PasswordUserSelectable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Present only if the CPE provides a password-protected LAN-side user interface and supports LAN-side Auto-Configuration. Indicates whether or not a password to protect the local user interface of the CPE MAY be selected by the user directly (i.e. <<param|#.Users.User.<i>.Password>>), or MUST be equal to the password used by the LAN-side Auto-Configuration protocol (i.e. <<param|#.LANConfigSecurity.ConfigPassword>>).",
				"datatype": "boolean"
			},
			"PasswordReset": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Present only if the CPE provides a password-protected LAN-side user interface and supports LAN-side Auto-Configuration. When set to true, resets <<param|#.LANConfigSecurity.ConfigPassword>> to its factory value.",
				"datatype": "boolean"
			},
			"UpgradeAvailable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates that a CPE upgrade is available, allowing the CPE to display this information to the user.",
				"datatype": "boolean"
			},
			"WarrantyDate": {
				"type": "dateTime",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates the date and time in UTC that the warranty associated with the CPE is to expire.",
				"datatype": "dateTime"
			},
			"ISPName": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The name of the customers ISP.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"ISPHelpDesk": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The help desk phone number of the ISP.",
				"datatype": "string",
				"range": [
					{
						"max": 32
					}
				]
			},
			"ISPHomePage": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The <<datatype>> of the ISPs home page.",
				"datatype": "URL"
			},
			"ISPHelpPage": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The <<datatype>> of the ISPs on-line support page.",
				"datatype": "URL"
			},
			"ISPLogo": {
				"type": "base64",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Base64 encoded GIF or JPEG image. The binary image is constrained to 4095 bytes or less.",
				"datatype": "base64",
				"range": [
					{
						"min": 0,
						"max": 4095
					}
				]
			},
			"ISPLogoSize": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Un-encoded binary image size in bytes. If ISPLogoSize input value is 0 then the ISPLogo is cleared. ISPLogoSize can also be used as a check to verify correct transfer and conversion of Base64 string to image size.",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 0,
						"max": 4095
					}
				]
			},
			"ISPMailServer": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The <<datatype>> of the ISPs mail server.",
				"datatype": "URL"
			},
			"ISPNewsServer": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The <<datatype>> of the ISPs news server.",
				"datatype": "URL"
			},
			"TextColor": {
				"type": "hexBinary",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The color of text on the GUI screens in RGB hexadecimal notation (e.g., FF0088).",
				"datatype": "hexBinary",
				"range": [
					{
						"min": 3,
						"max": 3
					}
				]
			},
			"BackgroundColor": {
				"type": "hexBinary",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The color of the GUI screen backgrounds in RGB hexadecimal notation (e.g., FF0088).",
				"datatype": "hexBinary",
				"range": [
					{
						"min": 3,
						"max": 3
					}
				]
			},
			"ButtonColor": {
				"type": "hexBinary",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The color of buttons on the GUI screens in RGB hexadecimal notation (e.g., FF0088).",
				"datatype": "hexBinary",
				"range": [
					{
						"min": 3,
						"max": 3
					}
				]
			},
			"ButtonTextColor": {
				"type": "hexBinary",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The color of text on buttons on the GUI screens in RGB hexadecimal notation (e.g., FF0088).",
				"datatype": "hexBinary",
				"range": [
					{
						"min": 3,
						"max": 3
					}
				]
			},
			"AutoUpdateServer": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The server the CPE can check to see if an update is available for direct download to it. This MUST NOT be used by the CPE if the <<param|#.ManagementServer.UpgradesManaged>> parameter is <<true>>.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"UserUpdateServer": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The server where a user can check via a web browser if an update is available for download to a PC. This MUST NOT be used by the CPE if the <<param|#.ManagementServer.UpgradesManaged>> parameter is <<true>>.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"AvailableLanguages": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<list>> List items represent user-interface languages that are available, where each language is specified according to <<bibref|RFC3066>>.",
				"list": {
					"datatype": "string",
					"maxsize": 256
				}
			},
			"CurrentLanguage": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Current user-interface language, specified according to <<bibref|RFC3066>>. The value MUST be a member of the list reported by the <<param|AvailableLanguages>> parameter.",
				"datatype": "string",
				"range": [
					{
						"max": 16
					}
				]
			},
			"HTTPAccessSupportedProtocols": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates the protocols that are supported by the CPE for the purpose of remotely accessing the user interface.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"HTTP",
						"HTTPS"
					]
				}
			},
			"HTTPAccessNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"PasswordReset()": {
				"type": "command",
				"async": false,
				"protocols": [
					"usp"
				]
			},
			"Device.UserInterface.HTTPAccess.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "HTTPAccess is used for modeling the different web interfaces that may be either locally or remotely available in the device. For example with Software Modules it is possible to install multiple services that embed a web interface like a Video service or Photo service. An instance of the <<object>> can model a web interface that is embedded in the device firmware or installed through a Software Modules management system. Access to the web interface MAY require user authentication. To have access authentication the device MUST support a <<object|.Users.User.>> object with at least one instance and an assigned relevant role in <<param|.Users.User.<i>.RoleParticipation>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/disables web interface.",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Order": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each incoming connection, the highest ordered entry that matches the Host: HTTP header and path prefix is applied. All lower <<param>> entries are ignored.",
					"datatype": "Order",
					"range": [
						{
							"min": 1
						}
					]
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Status of web interface.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Error"
					]
				},
				"AccessType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter describes the possible access types.",
					"default": "LocalAccess",
					"datatype": "string",
					"enumerations": [
						"RemoteAccess",
						"LocalAccess"
					]
				},
				"AllowedRoles": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Only allow users, defined in <<object|.Users.User.>>, to access the web instance represented by this <<object>> instance that have the following roles assigned that are defined in <<object|.Users.Role.>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Certificate": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the server certificate to be presented by the server during the TLS handshake. This certificate is used to authenticate the server to remote clients, ensuring that the clients are connecting to a legitimate server. The server certificate must be issued by a trusted Certificate Authority (CA) and should match the servers private key. This parameter is applicable only when a TLS session is being used.",
					"datatype": "string"
				},
				"CABundle": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the group of CA certificate(s) that the server must use to validate the certificate presented by the remote client. These CA certificates form a trust chain that the client certificate must match, ensuring that only clients with trusted certificates can establish a connection. This parameter supports multiple CA certificates to accommodate different client certificate issuers. This parameter is applicable only when a TLS session is being used.",
					"datatype": "string"
				},
				"CACertificate": {
					"type": "string",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Points to the CA certificate that must be used by the web interface. The <<param>> is used to validate the web client certificate. <<param|Protocol>> MUST be set to HTTPS <<deprecated|2.19|Replaced by <<param|CABundle>> which can now contain one or more reference.>>",
					"datatype": "string"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP or Logical Interface associated with the <<object>> entry. Example: * Device.IP.Interface.1 * Device.Logical.Interface.1 <<template|INTERFACE-ROUTING>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Listen port number.",
					"default": "443",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Protocol being used.",
					"datatype": "string"
				},
				"AllowedHosts": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies which hostnames are permitted to be served by the web interface. This could be done by comparing the Host: HTTP header in an incoming request which will result in the request being routed to this instance, in the case that the device supports Virtual Hosting. If this string is empty then this instance acts as a default host, i.e. it will handle requests for which the Host header does not match any other instance.",
					"list": {
						"datatype": "string"
					}
				},
				"AllowedPathPrefixes": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each string must be a partial path which will result in an incoming request being routed to this instance.",
					"default": "[/]",
					"list": {
						"datatype": "string"
					}
				},
				"AllowAllIPv4": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allow access from any IPv4 address. The source prefixes defined in <<param|IPv4AllowedSourcePrefix>> will be ignored.",
					"default": "false",
					"datatype": "boolean"
				},
				"IPv4AllowedSourcePrefix": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allow only access from the provided list of IPv4 prefixes. When <<param>> is set to <<empty>> and <<param|AllowAllIPv4>> is set to false, no incoming connections are allowed. When <<param|AllowAllIPv4>> is set true, <<param>> is ignored.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"AllowAllIPv6": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allow access from any IPv6 address. The source prefixes defined in <<param|IPv6AllowedSourcePrefix>> will be ignored.",
					"default": "false",
					"datatype": "boolean"
				},
				"IPv6AllowedSourcePrefix": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allow only access from the provided list of IPv6 prefixes. When <<param>> is set to <<empty>> and <<param|AllowAllIPv6>> is set to false, no incoming connections are allowed. When <<param|AllowAllIPv6>> is set true, <<param>> is ignored.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"AutoDisableDuration": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates in <<units>> when the web interface will be automatically disabled. When 0 is specified, the web interface will not be automatically disabled. For example if the web interface is to be active for only 30 minutes, then this parameter would be set to 1800 <<units>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"TimeLeft": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of <<units>> remaining before the web interface will be disabled. 0 means that the web interface is disabled or no <<param|AutoDisableDuration>> was specified. Example: The <<param|AutoDisableDuration>> parameter has been set to 1800 seconds and the web interface was enabled 600 seconds ago. This means that the <<param>> will return 1200 seconds, which is the remaining time before the web interface will be disabled.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"ActivationDate": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates when the web interface was enabled.",
					"datatype": "dateTime"
				},
				"SessionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"CreateWebSession()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"AbsoluteTimeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<param>> in <<units>> specifies the amount of time that a session is may be active. When 0 is specified this feature is disabled.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"IdleTimeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<param>> in <<units>> specifies the amount of time that a session may be idle before it is automatically terminated. When 0 is specified this feature is disabled.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"output": {
						"SessionID": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Session identifier.",
							"datatype": "string",
							"range": [
								{
									"max": 4096
								}
							]
						},
						"Path": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Absolute path component as defined in <<bibref|RFC3986|Section 3.3>> that can be used to access the session on the web interface.",
							"datatype": "string"
						}
					}
				},
				"Device.UserInterface.HTTPAccess.{i}.Session.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Web server session list. Note: This parameter was demoted to readOnly in the Device:2.17 version.",
					"uniqueKeys": [
						"SessionID"
					],
					"access": false,
					"array": true,
					"SessionID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Session identifier.",
						"datatype": "string",
						"range": [
							{
								"max": 4096
							}
						]
					},
					"User": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The user to whom the session belongs. When the user is unknown <<empty>> string SHOULD be used. Note: This parameter was demoted to readOnly in the Device:2.17 version.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"IPAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IP address of the remote web client, connected to the web interface.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port number of the remote web client, connected to the web interface.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"Protocol": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Protocol being used.",
						"datatype": "string"
					},
					"StartDate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates when the session was created.",
						"datatype": "dateTime"
					},
					"Delete()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.UserInterface.RemoteAccess.": {
				"type": "object",
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to remotely accessing the CPEs user interface. Remote access is defined as any entity not of a local subnet attempting to connect to the CPE. Remote access requires user authentication. To provide remote access authentication the CPE MUST support a User table with at least one instance that has RemoteAccessCapable set to <<true>>. <<deprecated|2.16|due to the introduction of <<object|#.HTTPAccess>>>> <<obsoleted|2.18>> <<deleted|2.19>>",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables remotely accessing the CPEs user interface.",
					"datatype": "boolean"
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Destination TCP port required for remote access connection.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SupportedProtocols": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the protocols that are supported by the CPE for the purpose of remotely accessing the user interface.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"HTTP",
							"HTTPS"
						]
					}
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the protocol currently being used for remote access.",
					"datatype": "string"
				}
			},
			"Device.UserInterface.LocalDisplay.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object describes how to remotely manage the initial positioning of a user interface on a devices local display.",
				"access": false,
				"array": false,
				"Movable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether the user is allowed to change the GUI window position on the local CPEs display.",
					"datatype": "boolean"
				},
				"Resizable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether the user is allowed to resize the GUI window on the local CPEs display.",
					"datatype": "boolean"
				},
				"PosX": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The horizontal position of the User Interfaces top left corner within the local CPEs display measured from the top left corner, expressed in <<units>>.",
					"datatype": "int",
					"unit": "pixels"
				},
				"PosY": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The vertical position of the User Interfaces top left corner within the local CPEs display measured from the top left corner, expressed in <<units>>.",
					"datatype": "int",
					"unit": "pixels"
				},
				"Width": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The width of the user interface within the local CPEs display, expressed in <<units>>.",
					"datatype": "unsignedInt",
					"unit": "pixels"
				},
				"Height": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The height of the user interface within the local CPEs display, expressed in <<units>>.",
					"datatype": "unsignedInt",
					"unit": "pixels"
				},
				"DisplayWidth": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The width of the local CPEs display, expressed in <<units>>.",
					"datatype": "unsignedInt",
					"unit": "pixels"
				},
				"DisplayHeight": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The height of the local CPEs display, expressed in <<units>>.",
					"datatype": "unsignedInt",
					"unit": "pixels"
				}
			},
			"Device.UserInterface.Messages.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Definition of user information message displays.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables and displays the user information message.",
					"default": "true",
					"datatype": "boolean"
				},
				"Title": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Message title to be displayed.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"SubTitle": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Message sub title to be displayed.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"Text": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Message text.",
					"datatype": "string"
				},
				"IconType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Icon to be displayed.",
					"datatype": "string",
					"enumerations": [
						"None",
						"Greeting",
						"Information",
						"Warning",
						"Important",
						"Urgent",
						"Advertisement"
					]
				},
				"MessageColor": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The color of message text in RGB hexadecimal notation (e.g., FF0088).",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 3,
							"max": 3
						}
					]
				},
				"BackgroundColor": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The color of the message screen background in RGB hexadecimal notation (e.g., FF0088).",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 3,
							"max": 3
						}
					]
				},
				"TitleColor": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The color of the message title in RGB hexadecimal notation (e.g., FF0088).",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 3,
							"max": 3
						}
					]
				},
				"SubTitleColor": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The color of the sub title in RGB hexadecimal notation (e.g., FF0088).",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 3,
							"max": 3
						}
					]
				},
				"RequestedNumberOfRepetitions": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of times the device SHOULD repeat the message.",
					"datatype": "unsignedInt"
				},
				"ExecutedNumberOfRepetitions": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of times the device repeated the message.",
					"datatype": "unsignedInt"
				}
			}
		},
		"Device.SFPs.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object describes the Small Form-Factor Pluggable (SFP) cages and the transceivers hosted in them. The object definition is based on parts of <<bibref|SFF-8024>> and <<bibref|SFF-8472>>. This data model is extensible to support new SFP management protocol standards in the future.",
			"access": false,
			"array": false,
			"SFPCageNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.SFPs.SFPCage.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object describes a cage into which an SFP is inserted. This object can also describe an instance of Small Form Factor (SFF) units soldered on to the platform.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The internal name used to identify the SFP Cage instance.",
					"datatype": "string"
				},
				"SFPPresent": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value <<true>> indicates the presence of a SFP in the SFP Cage instance. The value is always <<true>> for a SFF. Note: A value of 0x02 in <<param|SFF8024Identifier>> will also indicate the presence of an SFF.",
					"datatype": "boolean"
				},
				"SFF8024Identifier": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Ths identifier describes the type of SFP and the management protocol as per Identifier Value listed in <<bibref|SFF-8024|Table 4-1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 255
						}
					]
				},
				"MgmtInterface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter indicates the management interface used by the SFP. Refer <<bibref|SFF-8024|Table 4-1>> and <<bibref|SFF-8472>>.",
					"datatype": "string",
					"enumerations": [
						"SFF-8472",
						"Unknown"
					]
				},
				"SFPType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This value is applicable only when <<param|SFPPresent>> is <<true>>. The SFP Type is classified as one of: GPON, XGS-PON, Optical Ethernet, Copper Ethernet. If the SFP Type cannot be classified, the value is reported as Unsupported.",
					"datatype": "string",
					"enumerations": [
						"Unsupported",
						"G-PON",
						"XG-PON",
						"NG-PON2",
						"XGS-PON",
						"EPON",
						"MoCA",
						"Optical Ethernet",
						"Electrical Ethernet"
					]
				},
				"SFPReference": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The path to the SFP management object associated with this interface.",
					"datatype": "string"
				}
			},
			"Device.SFPs.Mgmt.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object describes the elements of a SFP that are exposed through the given Managment interface.",
				"access": false,
				"array": false,
				"SFF8472NumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.SFPs.Mgmt.SFF8472.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object describes an SFP in a cage or the SFF present that can be managed as per SFF-8472 standard.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The internal name used to identify this SFP instance.",
						"datatype": "string"
					},
					"Device.SFPs.Mgmt.SFF8472.{i}.Transceiver.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object describes the Transceiver present in the SFP. The Transceiver object here models the electrical interface to the SFP from the host and the function that enables transmission and reception of electrical or optical signals over the link connected. The Transceiver object is agnostic of the underlying protocol used in the transmission.",
						"access": false,
						"array": false,
						"Connector": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The connector value as per <<bibref|SFF-8024|Table 4-3>> indicates the external optical or electrical cable connector provided as the media interface.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 1,
									"max": 1
								}
							]
						},
						"Transceiver": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This field contains code for electronic or optical compatibility as per <<bibref|SFF-8472|Table 5-3>> and <<bibref|SFF-8024|Table 4-4>>. It corresponds to the values of DMM address 0xA0, bytes 3-10 and 36. The associated bit significant indicators (as identified in the above referenced tables) define the electronic or optical interfaces that are supported by the transceiver. At least one bit will be set in this field.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 9,
									"max": 9
								}
							]
						},
						"Encoding": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This contains the code for high speed serial encoding algorithm as per <<bibref|SFF-8024|Table 4-2>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"BRNominal": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This field contains the Nominal bit signaling rate, in units of <<units>> as per <<bibref|SFF-8472|Section 5-6>>. The bit rate includes those bits necessary to encode and delimit the signal as well as those bits carrying data information. A value of 0 indicates that the bit rate is not specified and must be determined from the transceiver technology. If the value is 255 (indicating 25.4GBd) then <<param|BRMax>> contains rate in units of 250MBd.",
							"datatype": "int",
							"unit": "100 MBd"
						},
						"RateIdentifier": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The rate identifier byte as per <<bibref|SFF-8472|Table 5-6>> refers to several (optional) industry standard definitions of Rate_Select or Application_Select control behaviors, intended to manage transceiver optimization for multiple operating rates.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 1,
									"max": 1
								}
							]
						},
						"VendorName": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The vendor name is a string contains ASCII characters that contain the full name of the corporation, a commonly accepted abbreviation of the name of the corporation, the SCSI company code for the corporation, or the stock exchange code for the corporation. At least one of VendorName or VendorOUT shall contain valid data.",
							"datatype": "string",
							"range": [
								{
									"max": 16
								}
							]
						},
						"VendorOUI": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The vendor organizationally unique identifier field (vendor OUI) is a string that contains the IEEE Company Identifier for the vendor. An empty value indicates that the vendor OUI is unspecified.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 3,
									"max": 3
								}
							]
						},
						"VendorPN": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The vendor part number provided by Transceiver vendor is a string of maximum 16 ASCII characters. An empty string indicates that the vendor PN is unspecified.",
							"datatype": "string",
							"range": [
								{
									"max": 16
								}
							]
						},
						"VendorRev": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The vendor revision number provided by Transceiver vendor is a string of maximum 4 ASCII characters. An empty string indicates that the vendor revision is unspecified.",
							"datatype": "string",
							"range": [
								{
									"max": 4
								}
							]
						},
						"BRMax": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This is the upper bit rate margin in units of 1%, within which the transceiver will still meet its specifications (BR, max) is specified in units of 1% above the nominal bit rate. A value of zero indicates that this field is not specified. However this field may contain the nominal bit rate in units of 250MBd if the value in <<param|BRNominal>> is 255. See <<bibref|SFF-8472|Section 8.4>>> - Address 0xA0, Byte 66.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"BRMin": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This is the lower bit rate margin in units of <<units>>, within which the transceiver will still meet its specifications (BR, min) is specified in units of 1<<units>> below the nominal bit rate. A value of zero indicates that this field is not specified. However this field may also specify range of signaling rates specified in units of +/- 1<<units>> around the nominal signaling rate. See <<bibref|SFF-8472|Section 8.5>>> - Address 0xA0, Byte 67.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 100
								}
							],
							"unit": "percent"
						},
						"VendorSN": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The serial number provided by the Transceiver vendor is a string of maximum 16 ASCII characters. An empty string indicates that the vendor SN is unspecified.",
							"datatype": "string",
							"range": [
								{
									"max": 16
								}
							]
						},
						"DateCode": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The transceiver vendor date code. The format is YYMMDDLL where YY - year (00 = 2000), MM - month (01 = January), DD - day (01 to 31), LL - optional vendor lot code.",
							"datatype": "string",
							"range": [
								{
									"max": 8
								}
							],
							"pattern": [
								"\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])[A-Za-z0-9]{0,2}"
							]
						},
						"LengthSMFkm": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This value specifies the link length in <<units>> that is supported by the transceiver while operating in compliance with the applicable standards using single mode fiber. The value is in units of kilometers. A value of 255 means that the transceiver supports a link length greater than 254 km. A value of zero means that the transceiver does not support single mode fiber or that the length information must be determined from the transceiver technology.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							],
							"unit": "kilometers"
						},
						"LengthSMF": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This value specifies link length that is supported by the transceiver while operating in compliance with applicable standards using 50 micron multimode OM2 [500MHz*km at 850nm] fiber. The value is in units of <<units>>. A value of 255 means that the transceiver supports a link length greater than 2.54 km A value of zero means that the transceiver does not support 50 micron multimode fiber or that the length information must be determined from the transceiver technology.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							],
							"unit": "10 meters"
						},
						"LengthOM2": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This value specifies link length that is supported by the transceiver while operating in compliance with applicable standards using 50 micron multimode OM2 [500MHz*km at 850nm,] fiber. The value is in units of <<units>>. A value of 255 means that the transceiver supports a link length greater than 2.54 km A value of zero means that the transceiver does not support 50 micron multimode fiber or that the length information must be determined from the transceiver technology.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							],
							"unit": "10 meters"
						},
						"LengthOM1": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This value specifies link length that is supported by the transceiver while operating in compliance with applicable standards using 62.5 micron multimode OM1 [200 MHzkm at 850nm, 500 MHzkm at 1310nm] fiber. The value is in units of <<units>> . A value of 255 means that the transceiver supports a link length greater than 2.54 km. A value of zero means that the transceiver does not support 62.5 micron multimode fiber or that the length information must be determined from the transceiver technology.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							],
							"unit": "10 meters"
						},
						"LengthOM3": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This value specifies link length that is supported by the transceiver while operating in compliance with applicable standards using 50 micron multimode OM3 [2000 MHz*km] fiber. The value is in units of <<units>>. A value of 255 means that the transceiver supports a link length greater than 2.54 km. A value of zero means that the transceiver does not support 50 micron multimode fiber or that the length information must be determined from the transceiver Technology.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							],
							"unit": "10 meters"
						},
						"Wavelength": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This value denotes the nominal transmitter output wavelength at room temperature measured in <<units>>. This field allows the user to read the laser wavelength directly, so it is not necessary to infer it from the transceiver \u201cCode for Electronic Compatibility\u201d. This also allows specification of wavelengths not covered in those fields, such as those used in coarse WDM systems.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							],
							"unit": "nanometers"
						},
						"VerCompliance": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The value indicates which revision of SFF requirements the transceiver complies with. See <<bibref|SFF-8472|Table 8-8>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 1,
									"max": 1
								}
							]
						},
						"OptCooledTrans": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<false>> identifies a conventional uncooled (or unspecified) laser implementation. A value of <<true>> identifies a cooled laser transmitter implementation. See <<bibref|SFF-8472|Table 8-3>>.",
							"datatype": "boolean"
						},
						"OptPowerlvl": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<false>> identifies Power Level 1 (or unspecified) requirements. A value of <<true>> identifies Power Level 2 requirement. See <<bibref|SFF-8472|Table 8-3>>.",
							"datatype": "boolean"
						},
						"OptLinearRcvr": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<false>> identifies a conventional limiting (or unspecified) receiver output. A value of <<true>> identifies a linear receiver output. See <<bibref|SFF-8472|Table 8-3>>.",
							"datatype": "boolean"
						},
						"OptRateSelect": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that the optional RATE_SELECT functionality is implemented. See <<bibref|SFF-8472|Table 8-3>>.",
							"datatype": "boolean"
						},
						"OptTxDisable": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that the optional TX_DISABLE functionality is implemented. See <<bibref|SFF-8472|Table 8-3>>.",
							"datatype": "boolean"
						},
						"OptTxFault": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that the optional Tx Fault monitoring is implemented. See <<bibref|SFF-8472|Table 8-3>>.",
							"datatype": "boolean"
						},
						"OptInvertedLOS": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that Loss of Signal implemented with signal inverted from standard definition in SFP MSA (called \u201cSignal Detect\u201d) as per <<bibref|SFF-8472|Table 8-3>>.",
							"datatype": "boolean"
						},
						"OptLOS": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that this optional transceiver signal for Loss of signal is implemented. See <<bibref|SFF-8472|Table 8-3>>.",
							"datatype": "boolean"
						},
						"DMCtypeImplemented": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that Digital Diagnostic monitoring is implemented. See <<bibref|SFF-8472| Section 8-8>>. If set to <<true>>, received power monitoring, transmitted power monitoring, bias current monitoring, supply voltage monitoring and temperature monitoring are all implemented.",
							"datatype": "boolean"
						},
						"DMCtypeInternalCal": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that transceiver is Internally calibrated. The transceiver directly reports calibrated values in units of current, power etc.",
							"datatype": "boolean"
						},
						"DMCtypeExternalCal": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that transceiver is Externally calibrated. The reported values are A/D counts which must be converted to real world units using calibration values read using additional information from the SFP memory.",
							"datatype": "boolean"
						},
						"DMCtypeRxAvgPwr": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This value indicates the Received power measurement type. If <<true>>, average received power is monitored. If <<false>>, OMA is monitored.",
							"datatype": "boolean"
						},
						"EOCalarmsImplemented": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that Alarms/Warnings flags for monitored quantities are implemented in the transceiver. See <<bibref|SFF-8472|Table 8-6>>.",
							"datatype": "boolean"
						},
						"EOCSoftTxDisable": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that Soft TX_DISABLE control and monitoring is implemented in the transceiver. See <<bibref|SFF-8472|Table 8-6>>.",
							"datatype": "boolean"
						},
						"EOCSoftTxFault": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that soft TX_FAULT monitoring is implemented in the transceiver. See <<bibref|SFF-8472|Table 8-6>>.",
							"datatype": "boolean"
						},
						"EOCSoftRxLOS": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that soft RX_LOS is implemented in the transceiver. See <<bibref|SFF-8472|Table 8-6>>.",
							"datatype": "boolean"
						},
						"EOCSoftRateSelect": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that this soft Rate Select and Control is implemented in the transceiver. See <<bibref|SFF-8472|Table 8-6>>.",
							"datatype": "boolean"
						},
						"SFF8079AppSelect": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that application rate select feature is implemented in the transceiver. See <<bibref|SFF-8472|Table 8-6>>.",
							"datatype": "boolean"
						},
						"SFF8431SoftRateSelect": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates that Soft Rate Select as per SFF-8431 is implemented in the transceiver. See <<bibref|SFF-8472|Table 8-6>>.",
							"datatype": "boolean"
						},
						"EMCSPowerLvlOp": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> indicates Power Level Operation control and status is implemented in transceiver. See <<bibref|SFF-8472|Table 10-1>>.",
							"datatype": "boolean"
						},
						"EMCSPowerLvlSelect": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A value of <<true>> enables selection of power level to transmit. See <<bibref|SFF-8472|Table 10-1>>.",
							"datatype": "boolean"
						},
						"Device.SFPs.Mgmt.SFF8472.{i}.Transceiver.Thresholds.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Each alarm and warning quantity has a corresponding high alarm, low alarm, high warning and low warning threshold. These factory preset values allows the determination of when a particular value is outside of \u201cnormal\u201d limits as determined by the transceiver manufacturer. It is assumed that these values will vary with different technologies and different implementations and are vendor specific. The values here represent the values after any required calibration. See <<bibref|SFF-8472|Table 9-5>>.",
							"access": false,
							"array": false,
							"HighTempAlarm": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Temperature, measured in <<units>>, at which a high temperature alarm will be triggered.",
								"datatype": "int",
								"range": [
									{
										"min": -274
									}
								],
								"unit": "degrees celsius"
							},
							"HighTempWarning": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Temperature, measured in <<units>>, at which a high temperature warning will be triggered.",
								"datatype": "int",
								"range": [
									{
										"min": -274
									}
								],
								"unit": "degrees celsius"
							},
							"LowTempWarning": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Temperature, measured in <<units>>, below which a low temperature warning will be triggered.",
								"datatype": "int",
								"range": [
									{
										"min": -274
									}
								],
								"unit": "degrees celsius"
							},
							"LowTempAlarm": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Temperature, measured in <<units>>, below which a low temperature alarm will be triggered.",
								"datatype": "int",
								"range": [
									{
										"min": -274
									}
								],
								"unit": "degrees celsius"
							},
							"HighVccAlarm": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Voltage, measured in <<units>>, above which a high Vcc alarm will be triggered.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								],
								"unit": "mV"
							},
							"HighVccWarning": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Voltage, measured in <<units>>, above which a high Vcc warning will be triggered.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								],
								"unit": "mV"
							},
							"LowVccWarning": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Voltage, measured in <<units>>, below which a low Vcc warning will be triggered.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								],
								"unit": "mV"
							},
							"LowVccAlarm": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Voltage, measured in <<units>>, below which a low Vcc alarm will be triggered.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								],
								"unit": "mV"
							},
							"HighTxBiasAlarm": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tx Bias, current measured in <<units>>, above which a High Tx Bias alarm will be triggered.",
								"datatype": "unsignedInt",
								"unit": "\u00b5A"
							},
							"HighTxBiasWarning": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tx Bias, current measured in <<units>>, above which a High Tx Bias warning will be triggered.",
								"datatype": "unsignedInt",
								"unit": "\u00b5A"
							},
							"LowTxBiasWarning": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tx Bias, current measured in <<units>>, below which a Low Tx Bias warning will be triggered.",
								"datatype": "unsignedInt",
								"unit": "\u00b5A"
							},
							"LowTxBiasAlarm": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tx Bias, current measured in <<units>>, below which a Low Tx Bias alarm will be triggered.",
								"datatype": "unsignedInt",
								"unit": "\u00b5A"
							},
							"HighTxPowerAlarm": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tx Power, measured in <<units>>, above which a High Tx Power alarm will be triggered.",
								"datatype": "int",
								"unit": "0.1 dBm"
							},
							"HighTxPowerWarning": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tx Power, measured in <<units>>, above which a High Tx Power warning will be triggered.",
								"datatype": "int",
								"unit": "0.1 dBm"
							},
							"LowTxPowerWarning": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tx Power, measured in <<units>>, below which a Low Tx Power warning will be triggered.",
								"datatype": "int",
								"unit": "0.1 dBm"
							},
							"LowTxPowerAlarm": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Tx Power, measured in <<units>>, below which a Low Tx Power alarm will be triggered.",
								"datatype": "int",
								"unit": "0.1 dBm"
							},
							"HighRxPowerAlarm": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Rx Power, measured in <<units>>, above which a High Rx Power alarm will be triggered.",
								"datatype": "int",
								"unit": "0.1 dBm"
							},
							"HighRxPowerWarning": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Rx Power, measured in <<units>>, above which a High Rx Power warning will be triggered.",
								"datatype": "int",
								"unit": "0.1 dBm"
							},
							"LowRxPowerWarning": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Rx Power, measured in <<units>>, below which a Low Rx Power warning will be triggered.",
								"datatype": "int",
								"unit": "0.1 dBm"
							},
							"LowRxPowerAlarm": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Rx Power, measured in <<units>>, below which a Low Rx Power alarm will be triggered.",
								"datatype": "int",
								"unit": "0.1 dBm"
							}
						},
						"Device.SFPs.Mgmt.SFF8472.{i}.Transceiver.Status.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object contains real time diagnostic and control values and status fields. See <<bibref|SFF-8472|Table 9-16>>. The CPE MUST reset the interface\u2019s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface\u2019s Status parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface\u2019s Enable parameter transitions from false to true). Administrative and operational interface status is discussed in [Section 4.2.2/TR-181i2].",
							"access": false,
							"array": false,
							"Temperature": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Internally measured module temperature measured in <<units>>. See <<bibref|SFF-8472|Table 9-16>>. A value of -274 indicates that a good reading could not be obtained.",
								"datatype": "int",
								"range": [
									{
										"min": -274
									}
								],
								"unit": "degrees celsius"
							},
							"Vcc": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Internally measured supply voltage in transceiver measured in <<units>>. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								],
								"unit": "mV"
							},
							"TxBias": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Internally measured TX Bias Current measured in <<units>>. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "unsignedInt",
								"unit": "\u00b5A"
							},
							"TxPower": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Measured TX output power measured in <<units>>. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "int",
								"unit": "0.1 dBm"
							},
							"RxPower": {
								"type": "int",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Measured RX input power measured in <<units>>. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "int",
								"unit": "0.1 dBm"
							},
							"TxDisableState": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The digital state of the TX Disable Input Pin. Updated within 100ms of change on pin. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "boolean"
							},
							"SoftTxDisableSelect": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This optional status control bit allows software disable of laser. See <<bibref|SFF-8472|Table 9-16>>. Setting this flag <<true>> disables the laser. If Soft TX Disable is not implemented, the transceiver ignores the value of this bit. Default power up value is zero/low.",
								"datatype": "boolean"
							},
							"RS1State": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "An optional digital state of SFP input pin AS(1) per <<bibref|SFF-8079>> or RS(1) per <<bibref|SFF-8431>>. Updated within 100ms of change on pin. See 0xA2 Byte 118, Bit 3 for Soft RS(1) Select control information. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "boolean"
							},
							"RateSelectState": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "An optional digital state of SFP input pin AS(0) Rate_Select State [aka. \u201cRS(0)\u201d]. Updated within 100ms of change on pin. Note: This pin is also known as AS(0) in <<bibref|SFF-8079>> and RS(0) in <<bibref|SFF-8431>>. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "boolean"
							},
							"SoftRateSelectSelect": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Soft Rate_Select Select (aka. \u201cRS(0)\u201d). An optional Status or Control Bit. This flag allows software rate select control. Setting this flag <<true>> selects full bandwidth operation. This bit is logical OR with the hard Rate_Select, AS(0) or RS(0) pin value. Default at power up is logic zero/low. If Soft Rate Select is not implemented, the transceiver ignores the value of this bit. Note: Specific transceiver behaviors of this bit are identified in referenced documents. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "boolean"
							},
							"TXFaultState": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "An optional digital state of the TX Fault Output Pin. Updated within 100ms of change on pin. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "boolean"
							},
							"RxLOSState": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "An optional digital state of the RX_LOS Output Pin. Updated within 100ms of change on pin.",
								"datatype": "boolean"
							},
							"DataReadyBarState": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "An optional flag that indicates the transceiver has achieved power up and data is ready. The flag remains high until data is ready to be read at which time the device sets the bit low. The default value SHOULD be false. See <<bibref|SFF-8472|Table 9-16>>.",
								"datatype": "boolean"
							}
						},
						"Device.SFPs.Mgmt.SFF8472.{i}.Transceiver.Alarms.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object contains the state of the SFP internal Diagnostic Alarms Flags <<bibref|SFF-8472|Table 9-17>>.",
							"access": false,
							"array": false,
							"TemperatureHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the internal temperature exceeds the high alarm level.",
								"datatype": "boolean"
							},
							"TemperatureLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the internal temperature is below the low alarm level.",
								"datatype": "boolean"
							},
							"VccHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the internal supply voltage exceeds the high alarm level.",
								"datatype": "boolean"
							},
							"VccLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the internal supply voltage is below the low alarm level.",
								"datatype": "boolean"
							},
							"TxBiasHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the TX Bias current exceeds the high alarm level.",
								"datatype": "boolean"
							},
							"TxBiasLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the TX Bias current is below the low alarm level.",
								"datatype": "boolean"
							},
							"TxPowerHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the TX output power exceeds the high alarm level.",
								"datatype": "boolean"
							},
							"TxPowerLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the TX output power is below the low alarm level.",
								"datatype": "boolean"
							},
							"RxPowerHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the Received Power exceeds the high alarm level.",
								"datatype": "boolean"
							},
							"RxPowerLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the Received Power is below the low alarm level.",
								"datatype": "boolean"
							}
						},
						"Device.SFPs.Mgmt.SFF8472.{i}.Transceiver.Warnings.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object contains the state of the SFP internal Diagnostic Warning Flags <<bibref|SFF-8472|Table 9-17>>. Warning flags indicate conditions outside the normally guaranteed bounds but not necessarily causes of immediate link failures. Certain warning flags may also be defined by the manufacturer as end-of-life indicators (such as for higher than expected bias currents in a constant power control loop). A flag is set for each warning that is active. Implementation is vendor specific. A SFP module has the ability to monitor and warn on a high or low readings for a number of situations. This ability is internal to the SFP and is part of the digital diagnostic interface common to many SFPs. The associated field changes from <<false>> to <<true>> to signal a warning and changes from <<true>> to <<false>> to indicate that the warning has cleared. It is recommended that detection of an asserted flag bit will be verified by a second read of the flag at least 100ms later.",
							"access": false,
							"array": false,
							"TemperatureHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the internal temperature exceeds the high warning level.",
								"datatype": "boolean"
							},
							"TemperatureLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the internal temperature is below the low warning level.",
								"datatype": "boolean"
							},
							"VccHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the internal supply voltage exceeds the high warning level.",
								"datatype": "boolean"
							},
							"VccLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the internal supply voltage is below the low warning level.",
								"datatype": "boolean"
							},
							"TxBiasHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the TX Bias current exceeds the high warning level.",
								"datatype": "boolean"
							},
							"TxBiasLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the TX Bias current is below the low warning level.",
								"datatype": "boolean"
							},
							"TxPowerHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the TX output power exceeds the high warning level.",
								"datatype": "boolean"
							},
							"TxPowerLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the TX output power is below the low warning level.",
								"datatype": "boolean"
							},
							"RxPowerHigh": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the Received Power exceeds the high warning level.",
								"datatype": "boolean"
							},
							"RxPowerLow": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Set to <<true>> when the Received Power is below the low warning level.",
								"datatype": "boolean"
							}
						}
					}
				}
			}
		},
		"Device.InterfaceStack.{i}.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This table contains information about the relationships between the multiple layers of interface objects (<<bibref|TR-181i2|Section 4.3>>). In particular, it contains information on which interfaces run on top of which other interfaces. This table is auto-generated by the CPE based on the LowerLayers parameters on individual interface objects. Each table row represents a link between two interface objects, a higher-layer interface object (referenced by <<param|HigherLayer>>) and a lower-layer interface object (referenced by <<param|LowerLayer>>). Consequently, if a referenced interface object is deleted, the CPE MUST delete the corresponding <<object>> row(s) that had referenced it.",
			"uniqueKeys": [
				"HigherLayer",
				"LowerLayer",
				"Alias"
			],
			"access": false,
			"array": true,
			"Alias": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
				"datatype": "_AliasCWMP"
			},
			"HigherLayer": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<noreference>>A reference to the interface object corresponding to the higher layer of the relationship, i.e. the interface which runs on top of the interface identified by the corresponding instance of <<param|LowerLayer>>. When the referenced higher layer interface is deleted, the CPE MUST delete the table row.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"LowerLayer": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<noreference>>A reference to the interface object corresponding to the lower layer of the relationship, i.e. the interface which runs below the interface identified by the corresponding instance of <<param|HigherLayer>>. When the referenced lower layer interface is deleted, the CPE MUST delete the table row.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"HigherAlias": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The value of the Alias parameter for the interface object referenced by <<param|HigherLayer>>.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"LowerAlias": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The value of the Alias parameter for the interface object referenced by <<param|LowerLayer>>.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			}
		},
		"Device.DSL.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object models DSL lines, DSL channels, DSL bonding, and DSL diagnostics. The specific interface objects defined here are <<object|Line>>, <<object|Channel>>, and <<object|BondingGroup>>. Each <<object|Line>> models a layer 1 DSL Line interface, and each <<object|Channel>> models a layer 1 DSL Channel interface where multiple channels can run over a DSL line. In the case where bonding is configured, it is expected that <<object|BondingGroup>> is stacked above the <<object|Channel>> instances within its group.",
			"access": false,
			"array": false,
			"LineNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ChannelNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"BondingGroupNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.DSL.Line.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DSL Line table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models physical DSL lines.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"EnableDataGathering": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables data gathering on the DSL line.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A string identifying the version of the modem firmware currently installed for this interface. This is applicable only when the modem firmware is separable from the overall CPE software.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LinkStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Status of the DSL physical link. Enumeration of: Up, Initializing, EstablishingLink, NoSignal, Disabled, Error. When <<param>> is <<enum|Up>>, <<param|Status>> is expected to be <<enum|Up|Status>>. When <<param>> is <<enum|Initializing>> or <<enum|EstablishingLink>> or <<enum|NoSignal>> or <<enum|Disabled>>, <<param|Status>> is expected to be <<enum|Down|Status>>. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Initializing",
						"EstablishingLink",
						"NoSignal",
						"Disabled",
						"Error"
					]
				},
				"StandardsSupported": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items indicate which DSL standards and recommendations are supported by the <<object>> instance. Enumeration of: G.992.1_Annex_A, G.992.1_Annex_B, G.992.1_Annex_C, T1.413, T1.413i2, ETSI_101_388, G.992.2, G.992.3_Annex_A, G.992.3_Annex_B, G.992.3_Annex_C, G.992.3_Annex_I, G.992.3_Annex_J, G.992.3_Annex_L, G.992.3_Annex_M, G.992.4, G.992.5_Annex_A, G.992.5_Annex_B, G.992.5_Annex_C, G.992.5_Annex_I, G.992.5_Annex_J, G.992.5_Annex_M, G.993.1, G.993.1_Annex_A, G.993.2_Annex_A, G.993.2_Annex_B, G.993.2_Annex_C. Note: In G.997.1, this parameter is called xDSL Transmission system capabilities. See ITU-T Recommendation <<bibref|G.997.1>>. <<deprecated|2.8|because its entries are out-of-date; <<param|XTSE>> points to a current list. Therefore its value MAY be <<empty>> if (and only if) <<param|XTSE>> is supported>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"list": {
						"datatype": "string",
						"enumerations": [
							"G.992.1_Annex_A",
							"G.992.1_Annex_B",
							"G.992.1_Annex_C",
							"T1.413",
							"T1.413i2",
							"ETSI_101_388",
							"G.992.2",
							"G.992.3_Annex_A",
							"G.992.3_Annex_B",
							"G.992.3_Annex_C",
							"G.992.3_Annex_I",
							"G.992.3_Annex_J",
							"G.992.3_Annex_L",
							"G.992.3_Annex_M",
							"G.992.4",
							"G.992.5_Annex_A",
							"G.992.5_Annex_B",
							"G.992.5_Annex_C",
							"G.992.5_Annex_I",
							"G.992.5_Annex_J",
							"G.992.5_Annex_M",
							"G.993.1",
							"G.993.1_Annex_A",
							"G.993.2_Annex_A",
							"G.993.2_Annex_B",
							"G.993.2_Annex_C"
						]
					}
				},
				"XTSE": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This configuration parameter defines the transmission system types to be allowed by the xTU on this <<object>> instance. Each bit is 0 if not allowed or 1 if allowed, as defined for the xTU transmission system enabling (XTSE) in ITU-T G.997.1. Note: This parameter is defined as xDSL Transmission system enabling (XTSE) in ITU-T G.997.1. For a full definition, see Clause 7.3.1.1.1 of ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 8,
							"max": 8
						}
					]
				},
				"StandardUsed": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the standard that the <<object>> instance is using for the connection. Note: In G.997.1, this parameter is called xDSL Transmission system. See ITU-T Recommendation <<bibref|G.997.1>>. <<deprecated|2.8|because its entries are out-of-date; <<param|XTSE>> points to a current list. Therefore its value MAY be <<empty>> if (and only if) <<param|XTSUsed>> is supported.>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"datatype": "string"
				},
				"XTSUsed": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter indicates which DSL standard and recommendation are currently in use by the <<object>> instance. Only one bit is set, as defined for the xTU transmission system enabling (XTSE) in ITU-T G.997.1.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 8,
							"max": 8
						}
					]
				},
				"LineEncoding": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The line encoding method used in establishing the Layer 1 DSL connection between the CPE and the DSLAM. Enumeration of: DMT, CAP, 2B1Q, 43BT, PAM, QAM. Note: Generally speaking, this variable does not change after provisioning.",
					"datatype": "string",
					"enumerations": [
						"DMT",
						"CAP",
						"2B1Q",
						"43BT",
						"PAM",
						"QAM"
					]
				},
				"AllowedProfiles": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items indicate which VDSL2 profiles are allowed on the line. Enumeration of: 8a, 8b, 8c, 8d, 12a, 12b, 17a, 17b, 30a, 35b. Note: In G.997.1, this parameter is called PROFILES. See ITU-T Recommendation <<bibref|G.997.1>>. Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be <<empty>>.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"8a",
							"8b",
							"8c",
							"8d",
							"12a",
							"12b",
							"17a",
							"17b",
							"30a",
							"35b"
						]
					}
				},
				"CurrentProfile": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates which VDSL2 profile is currently in use on the line. Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be <<empty>>.",
					"datatype": "string"
				},
				"PowerManagementState": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The power management state of the line. Enumeration of: L0, L1, L2, L3, L4. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "string",
					"enumerations": [
						"L0",
						"L1",
						"L2",
						"L3",
						"L4"
					]
				},
				"SuccessFailureCause": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The success failure cause of the initialization. An enumeration of the following integer values: * 0: Successful * 1: Configuration error. This error occurs with inconsistencies in configuration parameters, e.g. when the line is initialized in an xDSL Transmission system where an xTU does not support the configured Maximum Delay or the configured Minimum or Maximum Data Rate for one or more bearer channels. * 2: Configuration not feasible on the line. This error occurs if the Minimum Data Rate cannot be reached on the line with the Minimum Noise Margin, Maximum PSD level, Maximum Delay and Maximum Bit Error Ratio for one or more bearer channels. * 3: Communication problem. This error occurs, for example, due to corrupted messages or bad syntax messages or if no common mode can be selected in the G.994.1 handshaking procedure or due to a timeout. * 4: No peer xTU detected. This error occurs if the peer xTU is not powered or not connected or if the line is too long to allow detection of a peer xTU. * 5: Any other or unknown Initialization Failure cause. * 6: ITU T G.998.4 retransmission mode was not selected while RTX_MODE = FORCED or with RTX_MODE = RTX_TESTMODE. Note: In G.997.1, this parameter is called Initialization success/failure cause. See Clause 7.5.1.6 of ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 6
						}
					]
				},
				"UPBOKLER": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter contains the estimated electrical loop length estimated by the VTU-R expressed in <<units>> at 1MHz (see O-UPDATE in section 12.2.4.2.1.2/G.993.2). The value is coded as an unsignedInt in the range 0 (coded as 0) to 128 dB (coded as 1280) in steps of <<units>>. Note: This parameter is defined as UPBOKLE-R in Clause 7.5.1.23.2 of ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 1280
						}
					],
					"unit": "0.1 dB"
				},
				"UPBOKLEPb": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "VTU-O estimated upstream power back-off electrical length per band. This parameter is a vector of UPBO electrical length per-band estimates for each supported downstream band, expressed in <<units>> at 1 MHz (kl0) calculated by the VTU-R, based on separate measurements in the supported upstream bands. The value of each list element ranges from 0 to 128 dB in steps of <<units>>, with special value 204.7 which indicates that the estimate is greater than 128 dB. This parameter is required for the alternative electrical length estimation method (ELE-M1). Note: This parameter is defined as UPBOKLE-pb in Clause 7.5.1.23.3 of ITU-T Recommendation <<bibref|G.997.1>>.",
					"list": {
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 1280
							},
							{
								"min": 2047,
								"max": 2047
							}
						],
						"unit": "0.1 dB"
					}
				},
				"UPBOKLERPb": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "VTU-R estimated upstream power back-off electrical length per band. This parameter is a vector of UPBO electrical length per-band estimates for each supported downstream band, expressed in <<units>> at 1 MHz (kl0) calculated by the VTU-R, based on separate measurements in the supported downstream bands. The value of each list element ranges from 0 to 128 dB in steps of <<units>>, with special value 204.7 which indicates that the estimate is greater than 128 dB. This parameter is required for the alternative electrical length estimation method (ELE-M1). The value of each list element is coded as an unsigned 16 bit number in the range 0 (coded as 0) to 128 dB (coded as 1280) in steps of <<units>>. Note: This parameter is defined as UPBOKLE-R-pb in Clause 7.5.1.23.4 of ITU-T Recommendation <<bibref|G.997.1>>.",
					"list": {
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 1280
							},
							{
								"min": 2047,
								"max": 2047
							}
						],
						"unit": "0.1 dB"
					}
				},
				"RXTHRSHds": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "UPBO downstream receiver signal level threshold. This parameter reports the downstream received signal level threshold value used in the alternative electrical length estimation method (ELE-M1). This parameter represents an offset from -100 dBm/Hz, and ranges from -64 dB to 0 dB in steps of <<units>>. The value is coded as a 16 bit number in the range -64 (coded as -640) to 0 dB (coded as 0) in steps of <<units>>. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "int",
					"range": [
						{
							"min": -640,
							"max": 0
						}
					],
					"unit": "0.1 dB"
				},
				"ACTRAMODEds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter indicates the actual active rate adaptation mode in the downstream direction. * If <<param>> equals 1, the link is operating in RA-MODE 1 (MANUAL). * If <<param>> equals 2, the link is operating in RA-MODE 2 (AT_INIT). * If <<param>> equals 3, the link is operating in RA-MODE 3 (DYNAMIC). * If <<param>> equals 4, the link is operating in RA-MODE 4 (DYNAMIC with SOS). Note: This parameter is defined as ACT-RA-MODEds in Clause 7.5.1.33.1 of ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 4
						}
					]
				},
				"ACTRAMODEus": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter indicates the actual active rate adaptation mode in the upstream direction. * If <<param>> equals 1, the link is operating in RA-MODE 1 (MANUAL). * If <<param>> equals 2, the link is operating in RA-MODE 2 (AT_INIT). * If <<param>> equals 3, the link is operating in RA-MODE 3 (DYNAMIC). * If <<param>> equals 4, the link is operating in RA-MODE 4 (DYNAMIC with SOS). Note: This parameter is defined as ACT-RA-MODEus in Clause 7.5.1.33.2 of ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 4
						}
					]
				},
				"ACTINPROCds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the actual impulse noise protection (INP) of the robust overhead channel (ROC) in the downstream direction. The format and usage is identical to the channel status parameter <<param|#.Channel.<i>.ACTINP>>. Note: This parameter is defined as ACTINP-ROC-ds in Clause 7.5.1.34.1 of ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt"
				},
				"ACTINPROCus": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the actual impulse noise protection (INP) of the robust overhead channel (ROC) in the upstream direction. The format and usage is identical to the channel status parameter <<param|#.Channel.<i>.ACTINP>>. Note: This parameter is defined as ACTINP-ROC-us in Clause 7.5.1.34.2 ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt"
				},
				"SNRMROCds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the actual signal-to-noise margin of the robust overhead channel (ROC) in the downstream direction (expressed in <<units>>). The format is identical to the format of the line status parameter SNRM margin <<param|DownstreamNoiseMargin>>. Note: This parameter is defined as SNRM-ROC-ds in Clause 7.5.1.35.1 ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"unit": "0.1 dB"
				},
				"SNRMROCus": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the actual signal-to-noise margin of the robust overhead channel (ROC) in the upstream direction (expressed in <<units>>). The format is identical to the format of the line status parameter SNRM margin (<<param|UpstreamNoiseMargin>>). Note: This parameter is defined as SNRM-ROC-us in Clause 7.5.1.35.2 ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"unit": "0.1 dB"
				},
				"LastStateTransmittedDownstream": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter represents the last successful transmitted initialization state in the downstream direction in the last full initialization performed on the line. Initialization states are defined in the individual xDSL Recommendations and are counted from 0 (if G.994.1 is used) or 1 (if G.994.1 is not used) up to Showtime. This parameter needs to be interpreted along with the xDSL Transmission System. This parameter is available only when, after a failed full initialization, the line diagnostics procedures are activated on the line. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt"
				},
				"LastStateTransmittedUpstream": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter represents the last successful transmitted initialization state in the upstream direction in the last full initialization performed on the line. Initialization states are defined in the individual xDSL Recommendations and are counted from 0 (if G.994.1 is used) or 1 (if G.994.1 is not used) up to Showtime. This parameter needs to be interpreted along with the xDSL Transmission System. This parameter is available only when, after a failed full initialization, the line diagnostics procedures are activated on the line. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt"
				},
				"UPBOKLE": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter contains the estimated electrical loop length expressed in <<units>> at 1MHz (see O-UPDATE in section 12.2.4.2.1.2/G.993.2). The value SHALL be coded as an unsigned 16 bit number in the range 0 (coded as 0) to 128 dB (coded as 1280) in steps of 0.1 dB. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 1280
						}
					],
					"unit": "0.1dB"
				},
				"MREFPSDds": {
					"type": "base64",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter SHALL contain the set of breakpoints exchanged in the MREFPSDds fields of the O-PRM message of G.993.2. Base64 encoded of the binary representation defined in Table 12-19/G.993.2 (maximum length is 145 octets, which requires 196 bytes for Base64 encoding). Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "base64",
					"range": [
						{
							"min": 0,
							"max": 145
						}
					]
				},
				"MREFPSDus": {
					"type": "base64",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter SHALL contain the set of breakpoints exchanged in the MREFPSDus fields of the R-PRM message of G.993.2. Base64 encoded of the binary representation defined in Table 12-19/G.993.2 (maximum length is 145 octets, which requires 196 bytes for Base64 encoding). Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "base64",
					"range": [
						{
							"min": 0,
							"max": 145
						}
					]
				},
				"LIMITMASK": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the enabled VDSL2 Limit PSD mask of the selected PSD mask class. Bit mask as specified in ITU-T Recommendation G.997.1. Note: For a VDSL2-capable multimode device operating in a mode other than VDSL2, the value of this parameter SHOULD be set to 0. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt"
				},
				"US0MASK": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the allowed VDSL2 US0 PSD masks for Annex A operation. Bit mask as specified in see ITU-T Recommendation G.997.1. Note: For a VDSL2-capable multimode device operating in a mode other than VDSL2, the value of this parameter SHOULD be set to 0. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt"
				},
				"TRELLISds": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports whether trellis coding is enabled in the downstream direction. A value of 1 indicates that trellis coding is in use, and a value of 0 indicates that the trellis is disabled. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to -1.",
					"datatype": "int"
				},
				"TRELLISus": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports whether trellis coding is enabled in the upstream direction. A value of 1 indicates that trellis coding is in use, and a value of 0 indicates that the trellis is disabled. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to -1.",
					"datatype": "int"
				},
				"ACTSNRMODEds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports whether the OPTIONAL virtual noise mechanism is in use in the downstream direction. A value of 1 indicates the virtual noise mechanism is not in use, and a value of 2 indicates the virtual noise mechanism is in use. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
					"datatype": "unsignedInt"
				},
				"ACTSNRMODEus": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports whether the OPTIONAL virtual noise mechanism is in use in the upstream direction. A value of 1 indicates the virtual noise mechanism is not in use, and a value of 2 indicates the virtual noise mechanism is in use. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
					"datatype": "unsignedInt"
				},
				"VirtualNoisePSDds": {
					"type": "base64",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the virtual noise PSD for the downstream direction. Base64 encoded of the binary representation defined in G.997.1 by the parameter called TXREFVNds (maximum length is 97 octets, which requires 132 bytes for Base64 encoding). See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to <<empty>>.",
					"datatype": "base64",
					"range": [
						{
							"min": 0,
							"max": 97
						}
					]
				},
				"VirtualNoisePSDus": {
					"type": "base64",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the virtual noise PSD for the upstream direction. Base64 encoded of the binary representation defined in G.997.1by the parameter called TXREFVNus (maximum length is 49 octets, which requires 68 bytes for Base64 encoding). See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to <<empty>>.",
					"datatype": "base64",
					"range": [
						{
							"min": 0,
							"max": 49
						}
					]
				},
				"ACTUALCE": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the actual cyclic extension, as the value of m, in use for the connection. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 99.",
					"datatype": "unsignedInt"
				},
				"LineNumber": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Signifies the line pair that the modem is using to connection. <<param>> = 1 is the innermost pair.",
					"datatype": "int",
					"range": [
						{
							"min": 1
						}
					]
				},
				"UpstreamMaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current maximum attainable data rate upstream (expressed in <<units>>). Note: This parameter is related to the G.997.1 parameter ATTNDRus, which is measured in bits/s. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"DownstreamMaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current maximum attainable data rate downstream (expressed in <<units>>). Note: This parameter is related to the G.997.1 parameter ATTNDRds, which is measured in bits/s. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"UpstreamNoiseMargin": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current signal-to-noise ratio margin (expressed in <<units>>) in the upstream direction. Note: In G.997.1, this parameter is called SNRMus. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"DownstreamNoiseMargin": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current signal-to-noise ratio margin (expressed in <<units>>) in the downstream direction. Note: In G.997.1, this parameter is called SNRMds. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"SNRMpbus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the current signal-to-noise ratio margin of each upstream band. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"list": {
						"datatype": "string",
						"maxsize": 24
					}
				},
				"SNRMpbds": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the current signal-to-noise ratio margin of each band. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"list": {
						"datatype": "string",
						"maxsize": 24
					}
				},
				"INMIATOds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Impulse Noise Monitoring (INM) Inter Arrival Time (IAT) Offset, measured in DMT symbols, that the xTU receiver uses to determine in which bin of the IAT histogram the IAT is reported. Note: In G.997.1, this parameter is called INMIATO. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 3,
							"max": 511
						}
					]
				},
				"INMIATSds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Impulse Noise Monitoring (INM) Inter Arrival Time (IAT) Step that the xTU receiver uses to determine in which bin of the IAT histogram the IAT is reported. Note: In G.997.1, this parameter is called INMIATS. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 7
						}
					]
				},
				"INMCCds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Impulse Noise Monitoring (INM) Cluster Continuation value, measured in DMT symbols, that the xTU receiver uses in the cluster indication process. Note: In G.997.1, this parameter is called INMCC. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 64
						}
					]
				},
				"INMINPEQMODEds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Impulse Noise Monitoring (INM) Equivalent Impulse Noise Protection (INP) Mode that the xTU receiver uses in the computation of the Equivalent INP. Note: In G.997.1, this parameter is called INM_INPEQ_MODE. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 3
						}
					]
				},
				"UpstreamAttenuation": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current upstream signal loss (expressed in <<units>>). Doesnt apply to VDSL2 <<bibref|G.993.2>>. Otherwise has the same value as the single element of <<param|TestParams.SATNus>>.",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"DownstreamAttenuation": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current downstream signal loss (expressed in <<units>>). Doesnt apply to VDSL2 <<bibref|G.993.2>>. Otherwise has the same value as the single element of <<param|TestParams.SATNds>>.",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"UpstreamPower": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current output power at the CPEs DSL line (expressed in <<units>>).",
					"datatype": "int",
					"unit": "0.1dBmV"
				},
				"DownstreamPower": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current received power at the CPEs DSL line (expressed in <<units>>).",
					"datatype": "int",
					"unit": "0.1dBmV"
				},
				"XTURVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-R version field as defined in <<bibref|G.997.1|Section 7.4.6>>. It shall contain the xTU-R firmware version and the xTU-R model, encoded in this order and separated by a space character, i.e., (xTU-R firmware version) (xTU-R model).",
					"datatype": "string",
					"range": [
						{
							"max": 16
						}
					]
				},
				"XTURSerial": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-R serial number as defined in <<bibref|G.997.1|Section 7.4.8>>. It shall contain the equipment serial number, the equipment model and the equipment firmware version. All shall be encoded in this order and separated by space characters, i.e., (equipment serial number) (equipment model) (equipment firmware version).",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"XTURVendor": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-R vendor identifier as defined in G.994.1 and T1.413. In the case of G.994.1 this corresponds to the four-octet provider code, which MUST be represented as eight hexadecimal digits. Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, it MUST have the value 00000000. Note: In G.997.1, this parameter is called xTU-R G.994.1 Vendor ID. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 4,
							"max": 4
						}
					]
				},
				"XTURVendorSpecific": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-R vendor-specific information as defined in <<bibref|G.994.1>>. This corresponds to the two-octet vendor-specific information, which MUST be represented as four hexadecimal digits. Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, it MUST have the value 0000. Note: In <<bibref|G.997.1>>, this parameter is called xTU-R G.994.1 Vendor ID. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"XTURCountry": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "T.35 country code of the xTU-R vendor as defined in G.994.1, where the two-octet value defined in G.994.1 MUST be represented as four hexadecimal digits. Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, it MUST have the value 0000. Note: In G.997.1, this parameter is called xTU-R G.994.1 Vendor ID. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"XTURSystemVendor": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-R system vendor identifier as defined in <<bibref|G.997.1|Section 7.4.4>>. This corresponds to the four-octet provider code, which MUST be represented as eight hexadecimal digits as defined in <<bibref|G.994.1>> as Vendor ID.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 4,
							"max": 4
						}
					]
				},
				"XTURSystemVendorSpecific": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-R system vendor-specific information as defined in <<bibref|G.997.1|Section 7.4.4>>. This corresponds to the two-octet vendor-specific information, which MUST be represented as four hexadecimal digits as defined in <<bibref|G.994.1>> as Vendor ID. Note: If the parameter is implemented but no value is available, it MUST have the value 0000.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"XTURSystemCountry": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "T.35 country code of the xTU-R system vendor as defined in <<bibref|G.997.1|Section 7.4.4>>, where the two-octet value defined in <<bibref|G.997.1>> MUST be represented as four hexadecimal digits.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"XTURANSIStd": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-R T1.413 Revision Number as defined in T1.413 Issue 2. When T1.413 modulation is not in use, the parameter value SHOULD be 0.",
					"datatype": "unsignedInt"
				},
				"XTURANSIRev": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-R Vendor Revision Number as defined in T1.413 Issue 2. When T1.413 modulation is not in use, the parameter value SHOULD be 0.",
					"datatype": "unsignedInt"
				},
				"XTUCVersion": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The xTU-C version number is the version number as inserted by the xTU-C in the overhead messages (<<bibref|G.992.3>>, <<bibref|G.992.4>>, <<bibref|G.992.5>> and <<bibref|G.993.2>>). It is for version control and is vendor specific information. It consists of up to 16 binary octets.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 16,
							"max": 16
						}
					]
				},
				"XTUCSerial": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-C serial number as defined in <<bibref|G.997.1|Section 7.4.7>>. This corresponds to the equipment serial number.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"XTUCVendor": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-C vendor identifier as defined in G.994.1 and T1.413. In the case of G.994.1 this corresponds to the four-octet provider code, which MUST be represented as eight hexadecimal digits. Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, it MUST have the value 00000000.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 4,
							"max": 4
						}
					]
				},
				"XTUCVendorSpecific": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-C vendor-specific information as defined in <<bibref|G.997.1|Section 7.4.3>>. This corresponds to the two-octet vendor-specific information, which MUST be represented as four hexadecimal digits as defined in G.994.1 as Vendor ID.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"XTUCCountry": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "T.35 country code of the xTU-C vendor as defined in G.994.1, where the two-octet value defined in G.994.1 MUST be represented as four hexadecimal digits. Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, it MUST have the value 0000.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"XTUCSystemVendor": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-C system vendor identifier as defined in <<bibref|G.997.1|Section 7.4.3>>. This corresponds to the four-octet provider code, which MUST be represented as eight hexadecimal digits as defined in <<bibref|G.994.1>> as Vendor ID..",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 4,
							"max": 4
						}
					]
				},
				"XTUCSystemVendorSpecific": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-C system vendor-specific information as defined in <<bibref|G.997.1|Section 7.4.4>>. This corresponds to the two-octet vendor-specific information, which MUST be represented as four hexadecimal digits as defined in <<bibref|G.994.1>> as Vendor ID.. Note: If the parameter is implemented but no value is available, it MUST have the value 0000.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"XTUCSystemCountry": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "T.35 country code of the xTU-C system vendor as defined in <<bibref|G.997.1|Section 7.4.4>>, where the two-octet value defined in G.997.1 MUST be represented as four hexadecimal digits.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"XTUCANSIStd": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-C T1.413 Revision Number as defined in T1.413 Issue 2. When T1.413 modulation is not in use, the parameter value SHOULD be 0.",
					"datatype": "unsignedInt"
				},
				"XTUCANSIRev": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "xTU-C Vendor Revision Number as defined in T1.413 Issue 2. When T1.413 modulation is not in use, the parameter value SHOULD be 0.",
					"datatype": "unsignedInt"
				},
				"Device.DSL.Line.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"TotalStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|Total>> statistics. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"ShowtimeStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the most recent DSL Showtime - the beginning of the period used for collection of <<object|Showtime>> statistics. Showtime is defined as successful completion of the DSL link establishment process. The Showtime statistics are those collected since the most recent establishment of the DSL link. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LastShowtimeStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the second most recent DSL Showtime-the beginning of the period used for collection of <<object|LastShowtime>> statistics. If the CPE has not retained information about the second most recent Showtime (e.g., on reboot), the start of LastShowtime statistics MAY temporarily coincide with the start of Showtime statistics. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"CurrentDayStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|CurrentDay>> statistics. The CPE MAY align the beginning of each CurrentDay interval with days in the UTC time zone, but is not required to do so. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"QuarterHourStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|QuarterHour>> statistics. The CPE MAY align the beginning of each QuarterHour interval with real-time quarter-hour intervals, but is not required to do so. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					},
					"Device.DSL.Line.{i}.Stats.Total.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL line total statistics. See <<bibref|G.997.1|Chapter 7.2.6>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of errored <<units>> (ES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of severely errored <<units>> (SES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"Device.DSL.Line.{i}.Stats.Showtime.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL line statistics accumulated since the most recent DSL Showtime. See <<bibref|G.997.1|Chapter 7.2.6>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of errored <<units>> since the most recent DSL Showtime (ES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of severely errored <<units>> since the most recent DSL Showtime (SES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"Device.DSL.Line.{i}.Stats.LastShowtime.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL line statistics accumulated since the second most recent DSL Showtime. See <<bibref|G.997.1|Chapter 7.2.6>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of errored <<units>> since the second most recent DSL Showtime (ES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of severely errored <<units>> since the second most recent DSL Showtime (SES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"Device.DSL.Line.{i}.Stats.CurrentDay.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL line statistics accumulated during the current day. See <<bibref|G.997.1|Chapter 7.2.6>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of errored <<units>> since the second most recent DSL Showtime (ES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of severely errored <<units>> since the second most recent DSL Showtime (SES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"Device.DSL.Line.{i}.Stats.QuarterHour.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL line statistics accumulated during the current quarter hour. See <<bibref|G.997.1|Chapter 7.2.6>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of errored <<units>> since the second most recent DSL Showtime (ES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of severely errored <<units>> since the second most recent DSL Showtime (SES-L as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					}
				},
				"Device.DSL.Line.{i}.TestParams.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains the DSL line test parameters that are available during the L0 (i.e., Showtime) state.",
					"access": false,
					"array": false,
					"HLOGGds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|HLOGpsds>>. Valid values are 1, 2, 4, 8, and 16. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"HLOGGus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the upstream direction for <<param|HLOGpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"HLOGpsds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the downstream logarithmic line characteristics per sub-carrier group. The maximum number of elements is 256 for G.992.3, and 512 for G.992.5. For G.993.2, the number of elements will depend on the value of <<param|HLOGGds>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is measured during initialization and is not updated during Showtime.",
						"list": {
							"datatype": "string",
							"maxsize": 2559
						}
					},
					"HLOGpsus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the upstream logarithmic line characteristics per sub-carrier group. The maximum number of elements is 64 for G.992.3 and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|HLOGGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is measured during initialization and is not updated during Showtime.",
						"list": {
							"datatype": "string",
							"maxsize": 2559
						}
					},
					"HLOGMTds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the number of symbols over which <<param|HLOGpsds>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"HLOGMTus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the number of symbols over which <<param|HLOGpsus>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"QLNGds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|QLNpsds>>. Valid values are 1, 2, 4, 8, and 16. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"QLNGus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the upstream direction for <<param|QLNpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"QLNpsds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the downstream quiet line noise per subcarrier group. The maximum number of elements is 256 for G.992.3 and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|QLNGds>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is measured during initialization and is not updated during Showtime.",
						"list": {
							"datatype": "int",
							"maxsize": 2047
						}
					},
					"QLNpsus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the upstream quiet line noise per subcarrier group. The maximum number of elements is 64 for G.992.3 and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|QLNGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is measured during initialization and is not updated during Showtime.",
						"list": {
							"datatype": "string",
							"maxsize": 2047
						}
					},
					"QLNMTds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the number of symbols over which <<param|QLNpsds>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"QLNMTus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the number of symbols over which <<param|QLNpsus>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"SNRGds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|SNRpsds>>. Valid values are 1, 2, 4, 8, and 16. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"SNRGus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the upstream direction for <<param|SNRpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"SNRpsds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the downstream SNR per subcarrier group. The maximum number of elements is 256 for G.992.3, and 512 for G.992.5. For G.993.2, the number of elements will depend on the value of <<param|SNRGds>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is first measured during initialization and is updated during Showtime.",
						"list": {
							"datatype": "int",
							"maxsize": 2047
						}
					},
					"SNRpsus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the upstream SNR per subcarrier group. The maximum number of elements is 64 for G.992.3 and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|SNRGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is first measured during initialization and is updated during Showtime.",
						"list": {
							"datatype": "string",
							"maxsize": 2047
						}
					},
					"SNRMTds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the number of symbols over which <<param|SNRpsds>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"SNRMTus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the number of symbols over which <<param|SNRpsus>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"LATNds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the downstream line attenuation averaged across all sub-carriers in the frequency band, as computed during initialization. Number of elements is dependent on the number of downstream bands but will exceed one only for ITU-T G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 35
						}
					},
					"LATNus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the upstream line attenuation averaged across all sub-carriers in the frequency band, as computed during initialization. Number of elements is dependent on the number of upstream bands but will exceed one only for ITU-T G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 35
						}
					},
					"SATNds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the downstream signal attenuation averaged across all active sub-carriers in the frequency band, as computed during the L0 (i.e., Showtime) state. Number of elements is dependent on the number of downstream bands but will exceed one only for ITU-T G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 35
						}
					},
					"SATNus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the upstream signal attenuation averaged across all active sub-carriers in the frequency band, as computed during the L0 (i.e., Showtime) state. Number of elements is dependent on the number of downstream bands but will exceed one only for ITU-T G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 35
						}
					}
				},
				"Device.DSL.Line.{i}.DataGathering.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object models the DSL data gathering function at the VTU-R. This only applies to VDSL2. Note: see ITU-T Recommendation <<bibref|G.993.2>>.",
					"access": false,
					"array": false,
					"LoggingDepthR": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter is the maximum depth of the entire data gathering event buffer at the VTU-R, in number of <<units>>, where each of the <<units>> consists of 6 bytes indicating a data gathering event as defined in <<bibref|G.993.2>>. Note: This parameter is defined as LOGGING_DEPTH_R in Clause 7.5.3.2 of ITU-T Recommendation <<bibref|G.997.1>>.",
						"datatype": "unsignedInt",
						"unit": "records"
					},
					"ActLoggingDepthReportingR": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter is actual logging depth that is used for reporting the VTU-R event trace buffer over the eoc channel, in number of <<units>>, where each of the <<units>> consists of 6 bytes indicating a data gathering event as defined in <<bibref|G.993.2>>. Note: This parameter is defined as ACT_LOGGING_DEPTH_REPORTING_R in Clause 7.5.3.4 of ITU-T Recommendation <<bibref|G.997.1>>.",
						"datatype": "unsignedInt",
						"unit": "records"
					},
					"EventTraceBufferR": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter identifies the log file of the the data gathering event trace buffer containing the event records that originated at the VTU-R. This indicates the table entry that represents a Vendor Log File that contains the data gathering buffer at the VTU-R in the <<object|###.DeviceInfo.VendorLogFile>> table. This data gathering buffer MAY be retrieved wia an upload RPC of the identified Vendor Log File. Note: This parameter is defined as EVENT_TRACE_BUFFER_R in Clause 7.5.3.6 of ITU-T Recommendation <<bibref|G.997.1>> and Clause 11.5 of ITU-T Recommendation <<bibref|G.993.2>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				}
			},
			"Device.DSL.Channel.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DSL Channel table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models DSL channel(s) on top of physical DSL lines.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"LinkEncapsulationSupported": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items indicate which link encapsulation standards and recommendations are supported by the <<object>> instance.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"G.992.3_Annex_K_ATM",
							"G.992.3_Annex_K_PTM",
							"G.993.2_Annex_K_ATM",
							"G.993.2_Annex_K_PTM",
							"G.994.1"
						]
					}
				},
				"LinkEncapsulationUsed": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the link encapsulation standard that the <<object>> instance is using for the connection. Enumeration of: G.992.3_Annex_K_ATM, G.992.3_Annex_K_PTM, G.993.2_Annex_K_ATM, G.993.2_Annex_K_PTM. When ATM encapsulation is identified then an upper-layer <<object|##.ATM.Link>> interface MUST be used. When PTM encapsulation is identified then an upper-layer <<object|##.PTM.Link>> interface MUST be used.",
					"datatype": "string",
					"enumerations": [
						"G.992.3_Annex_K_ATM",
						"G.992.3_Annex_K_PTM",
						"G.993.2_Annex_K_ATM",
						"G.993.2_Annex_K_PTM"
					]
				},
				"LPATH": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the index of the latency path supporting the bearer channel. Note: See ITU-T Recommendation <<bibref|G.997.1|Section 7.5.2.7>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 3
						}
					]
				},
				"INTLVDEPTH": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the interleaver depth D for the latency path indicated in <<param|LPATH>>. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
					"datatype": "unsignedInt"
				},
				"INTLVBLOCK": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the interleaver block length in use on the latency path indicated in <<param|LPATH>>. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to -1.",
					"datatype": "int"
				},
				"ActualInterleavingDelay": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the actual delay, in <<units>>, of the latency path due to interleaving. Note: In G.997.1, this parameter is called Actual Interleaving Delay. See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				},
				"ACTINP": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the actual impulse noise protection (INP) provided by the latency path indicated in <<param|LPATH>>. The value is the actual INP in the L0 (i.e., Showtime) state. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to -1.",
					"datatype": "int"
				},
				"INPREPORT": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports whether the value reported in ACTINP was computed assuming the receiver does not use erasure decoding. Valid values are 0 (computed per the formula assuming no erasure decoding) and 1 (computed by taking into account erasure decoding capabilities of receiver). Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to <<false>>.",
					"datatype": "boolean"
				},
				"NFEC": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the size, in <<units>>, of the Reed-Solomon codeword in use on the latency path indicated in <<param|LPATH>>. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to -1.",
					"datatype": "int",
					"unit": "octets"
				},
				"RFEC": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the number of redundancy bytes per Reed-Solomon codeword on the latency path indicated in <<param|LPATH>>. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to -1.",
					"datatype": "int"
				},
				"LSYMB": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the number of bits per symbol assigned to the latency path indicated in <<param|LPATH>>. This value does not include overhead due to trellis coding. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to -1.",
					"datatype": "int"
				},
				"UpstreamCurrRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current physical layer aggregate data rate (expressed in <<units>>) of the upstream DSL connection. Note: If the parameter is implemented but no value is available, it MUST have the value 4294967295 (the maximum for its data type).",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"DownstreamCurrRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current physical layer aggregate data rate (expressed in <<units>>) of the downstream DSL connection. Note: If the parameter is implemented but no value is available, it MUST have the value 4294967295 (the maximum for its data type).",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"ACTNDR": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Actual net data rate expressed in <<units>>. Independent whether retransmission is used or not in a given transmit direction: * In L0 state, this parameter reports the net data rate (as specified in [ITU T G.992.3], [ITU T G.992.5] or [ITU T G.993.2]) at which the bearer channel is operating. * In L2 state, the parameter contains the net data rate (as specified in [ITU T G.992.3], [ITU T G.992.5] or [ITU T G.993.2]) in the previous L0 state. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"ACTINPREIN": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Actual impulse noise protection against REIN, expressed in <<units>>. If retransmission is used in a given transmit direction, this parameter reports the actual impulse noise protection (INP) against REIN (under specific conditions detailed in [ITU T G.998.4]) on the bearer channel in the L0 state. In the L2 state, the parameter contains the INP in the previous L0 state. The value is coded in fractions of DMT symbols with a granularity of 0.1 symbols. The range is from 0 to 25.4. A special value of 25.5 indicates an ACTINP_REIN of 25.5 or higher. Note: This parameter is defined as ACTINP_REIN in Clause 7.5.2.9 of ITU-T Recommendation <<bibref|G.997.1>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 255
						}
					],
					"unit": "0.1 DMT symbols"
				},
				"Device.DSL.Channel.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"TotalStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|Total>> statistics. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"ShowtimeStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the most recent DSL Showtime - the beginning of the period used for collection of <<object|Showtime>> statistics. Showtime is defined as successful completion of the DSL link establishment process. The Showtime statistics are those collected since the most recent establishment of the DSL link. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LastShowtimeStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the second most recent DSL Showtime-the beginning of the period used for collection of <<object|LastShowtime>> statistics. If the CPE has not retained information about the second most recent Showtime (e.g., on reboot), the start of LastShowtime statistics MAY temporarily coincide with the start of Showtime statistics. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"CurrentDayStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|CurrentDay>> statistics. The CPE MAY align the beginning of each CurrentDay interval with days in the UTC time zone, but is not required to do so. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"QuarterHourStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|QuarterHour>> statistics. The CPE MAY align the beginning of each QuarterHour interval with real-time quarter-hour intervals, but is not required to do so. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					},
					"Device.DSL.Channel.{i}.Stats.Total.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL channel total statistics <<bibref|G.997.1>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"XTURFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of FEC errors detected (FEC-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of FEC errors detected by the ATU-C (FEC-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of HEC errors detected (HEC-P as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of HEC errors detected by the ATU-C (HEC-PFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of CRC errors detected (CV-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of CRC errors detected by the ATU-C (CV-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						}
					},
					"Device.DSL.Channel.{i}.Stats.Showtime.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL channel statistics accumulated since the most recent DSL Showtime <<bibref|G.997.1>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"XTURFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of FEC errors detected since the most recent DSL Showtime (FEC-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of FEC errors detected by the ATU-C since the most recent DSL Showtime (FEC-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of HEC errors detected since the most recent DSL Showtime (HEC-P as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of HEC errors detected by the ATU-C since the most recent DSL Showtime (HEC-PFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of CRC errors detected since the most recent DSL Showtime (CV-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of CRC errors detected by the ATU-C since the most recent DSL Showtime (CV-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						}
					},
					"Device.DSL.Channel.{i}.Stats.LastShowtime.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL channel statistics accumulated since the second most recent DSL Showtime <<bibref|G.997.1>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"XTURFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of FEC errors detected since the second most recent DSL Showtime (FEC-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of FEC errors detected by the ATU-C since the second most recent DSL Showtime (FEC-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of HEC errors detected since the second most recent DSL Showtime (HEC-P as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of HEC errors detected by the ATU-C since the second most recent DSL Showtime (HEC-PFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of CRC errors detected since the second most recent DSL Showtime (CV-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of CRC errors detected by the ATU-C since the second most recent DSL Showtime (CV-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						}
					},
					"Device.DSL.Channel.{i}.Stats.CurrentDay.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL channel statistics accumulated during the current day <<bibref|G.997.1>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"XTURFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of FEC errors detected since the second most recent DSL Showtime (FEC-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of FEC errors detected by the ATU-C since the second most recent DSL Showtime (FEC-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of HEC errors detected since the second most recent DSL Showtime (HEC-P as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of HEC errors detected by the ATU-C since the second most recent DSL Showtime (HEC-PFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of CRC errors detected since the second most recent DSL Showtime (CV-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of CRC errors detected by the ATU-C since the second most recent DSL Showtime (CV-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						}
					},
					"Device.DSL.Channel.{i}.Stats.QuarterHour.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL channel statistics accumulated during the current quarter hour <<bibref|G.997.1>>. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"XTURFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of FEC errors detected since the second most recent DSL Showtime (FEC-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCFECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of FEC errors detected by the ATU-C since the second most recent DSL Showtime (FEC-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of HEC errors detected since the second most recent DSL Showtime (HEC-P as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCHECErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of HEC errors detected by the ATU-C since the second most recent DSL Showtime (HEC-PFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTURCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of CRC errors detected since the second most recent DSL Showtime (CV-C as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						},
						"XTUCCRCErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of CRC errors detected by the ATU-C since the second most recent DSL Showtime (CV-CFE as defined in ITU-T Rec. <<bibref|G.997.1>>). Note: If the parameter is implemented but no value is available, its value MUST be 4294967295 (the maximum for its data type).",
							"datatype": "unsignedInt"
						}
					}
				}
			},
			"Device.DSL.BondingGroup.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DSL bonding group table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Each instance is a bonding group, and is expected to be stacked above a <<object|#.Channel>> instance or a <<object|##.FAST.Line>> instance for each bonded channel in the group. Many of the parameters within this object, including <<param|LowerLayers>>, are read-only because bonding is not expected to be configured by a Controller. The DSL bonding data model is closely aligned with <<bibref|TR-159>>. Corresponds to <<bibref|TR-159>> oBondingGroup.",
				"uniqueKeys": [
					"Alias",
					"Name",
					"GroupID"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. <<param>> is read-only for this object because bonding is expected to be configured by the CPE, not by the Controller.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"GroupStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the current fault status of the DSL bonding group. Enumeration of: NoPeer, PeerPowerLoss, PeerBondSchemeMismatch, LowRate. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupStatus.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"NoPeer",
							"PeerPowerLoss",
							"PeerBondSchemeMismatch",
							"LowRate"
						]
					}
				},
				"GroupID": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSL bonding group ID. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupID.",
					"datatype": "unsignedInt"
				},
				"BondSchemesSupported": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Supported DSL bonding schemes. Enumeration of: ATM, Ethernet, TDIM. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupBondSchemesSupported.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"ATM",
							"Ethernet",
							"TDIM"
						]
					}
				},
				"BondScheme": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Currently operating bonding scheme. Corresponds to <<bibref|TR-159>> aGroupOperBondScheme.",
					"datatype": "string"
				},
				"GroupCapacity": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSL bonding group capacity, i.e. the maximum number of channels that can be bonded in this group. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupCapacity.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 32
						}
					]
				},
				"RunningTime": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> for which this bonding group has been operationally up. Corresponds to <<bibref|G.998.1|section 11.4.2>> Group Running Time.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"TargetUpRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Desired upstream data rate in <<units>> for this DSL bonding group (zero indicates best effort). Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupTargetUpRate.",
					"datatype": "unsignedInt",
					"unit": "bits per second"
				},
				"TargetDownRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Desired downstream data rate in <<units>> for DSL bonding group (zero indicates best effort). Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupTargetDownRate.",
					"datatype": "unsignedInt",
					"unit": "bits per second"
				},
				"ThreshLowUpRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Threshold upstream data rate in <<units>> for this DSL bonding group. <<param|GroupStatus>> will include <<enum|LowRate|GroupStatus>> whenever the upstream rate is less than this threshold. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupThreshLowUpRate.",
					"datatype": "unsignedInt",
					"unit": "bits per second"
				},
				"ThreshLowDownRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Threshold downstream data rate in <<units>> for this DSL bonding group. <<param|GroupStatus>> will include <<enum|LowRate|GroupStatus>> whenever the downstream rate is less than this threshold. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupThreshLowDownRate.",
					"datatype": "unsignedInt",
					"unit": "bits per second"
				},
				"UpstreamDifferentialDelayTolerance": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream differential delay in <<units>> among member links in a bonding group. Corresponds to <<bibref|G.998.1|section 11.4.1>> Differential Delay Tolerance.",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				},
				"DownstreamDifferentialDelayTolerance": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum downstream differential delay in <<units>> among member links in a bonding group. Corresponds to <<bibref|G.998.1|section 11.4.1>> Differential Delay Tolerance.",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				},
				"BondedChannelNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>> Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupNumChannels.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 32
						}
					]
				},
				"Device.DSL.BondingGroup.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"TotalStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|Total>> statistics. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"CurrentDayStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|CurrentDay>> statistics. The CPE MAY align the beginning of each CurrentDay interval with days in the UTC time zone, but is not required to do so. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"QuarterHourStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DSL-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|QuarterHour>> statistics. The CPE MAY align the beginning of each QuarterHour interval with real-time quarter-hour intervals, but is not required to do so. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					},
					"Device.DSL.BondingGroup.{i}.Stats.Total.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Total statistics for this bonding group. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"FailureReasons": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Indicates the failure conditions that have occurred during the accumulation period. Enumeration of: LowRate, ExcessiveDelay, InsufficientBuffers, Other. Corresponds to <<bibref|G.998.1|section 11.4.3>> Current Group Failure Reason.",
							"list": {
								"datatype": "string",
								"enumerations": [
									"LowRate",
									"ExcessiveDelay",
									"InsufficientBuffers",
									"Other"
								]
							}
						},
						"UpstreamRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved upstream data rate in <<units>> (which might change subject to dynamic link usage conditions). Corresponds to <<bibref|G.998.1|section 11.4.2>> Achieved Aggregate Data Rate.",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"DownstreamRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved downstream data rate in <<units>> (which might change subject to dynamic link usage conditions). Corresponds to <<bibref|G.998.1|section 11.4.2>> Achieved Aggregate Data Rate.",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"UpstreamPacketLoss": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of upstream packets that were lost at aggregation output from a bonding group during the accumulation period. Corresponds to <<bibref|G.998.1|section 11.4.2>> Group Rx Cell Loss Count.",
							"datatype": "unsignedInt"
						},
						"DownstreamPacketLoss": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of downstream packets that were lost at aggregation output from a bonding group during the accumulation period. Corresponds to <<bibref|G.998.1|section 11.4.2>> Group Rx Cell Loss Count.",
							"datatype": "unsignedInt"
						},
						"UpstreamDifferentialDelay": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved upstream differential delay in <<units>> (which might change subject to dynamic link usage conditions).",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"DownstreamDifferentialDelay": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved downstream differential delay in <<units>> (which might change subject to dynamic link usage conditions).",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"FailureCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of times that the group was declared Unavailable during the accumulation period. Corresponds to <<bibref|G.998.1|Section 11.4.3>> Group Failure Count.",
							"datatype": "unsignedInt"
						},
						"ErroredSeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> during which the group was declared Errored during the accumulation period. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupPerf**ES.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> during which the group was declared SeverelyErrored during the accumulation period. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupPerf**SES.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"UnavailableSeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> during which the group was declared Unavailable during the accumulation period. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupPerf**UAS.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"Device.DSL.BondingGroup.{i}.Stats.CurrentDay.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Current day statistics for this bonding group. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"FailureReasons": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Indicates the failure conditions that have occurred during the accumulation period. Enumeration of: LowRate, ExcessiveDelay, InsufficientBuffers, Other. Corresponds to <<bibref|G.998.1|section 11.4.3>> Current Group Failure Reason.",
							"list": {
								"datatype": "string",
								"enumerations": [
									"LowRate",
									"ExcessiveDelay",
									"InsufficientBuffers",
									"Other"
								]
							}
						},
						"UpstreamRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved upstream data rate in <<units>> (which might change subject to dynamic link usage conditions). Corresponds to <<bibref|G.998.1|section 11.4.2>> Achieved Aggregate Data Rate.",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"DownstreamRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved downstream data rate in <<units>> (which might change subject to dynamic link usage conditions). Corresponds to <<bibref|G.998.1|section 11.4.2>> Achieved Aggregate Data Rate.",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"UpstreamPacketLoss": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of upstream packets that were lost at aggregation output from a bonding group during the accumulation period. Corresponds to <<bibref|G.998.1|section 11.4.2>> Group Rx Cell Loss Count.",
							"datatype": "unsignedInt"
						},
						"DownstreamPacketLoss": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of downstream packets that were lost at aggregation output from a bonding group during the accumulation period. Corresponds to <<bibref|G.998.1|section 11.4.2>> Group Rx Cell Loss Count.",
							"datatype": "unsignedInt"
						},
						"UpstreamDifferentialDelay": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved upstream differential delay in <<units>> (which might change subject to dynamic link usage conditions).",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"DownstreamDifferentialDelay": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved downstream differential delay in <<units>> (which might change subject to dynamic link usage conditions).",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"FailureCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of times that the group was declared Unavailable during the accumulation period. Corresponds to <<bibref|G.998.1|Section 11.4.3>> Group Failure Count.",
							"datatype": "unsignedInt"
						},
						"ErroredSeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> during which the group was declared Errored during the accumulation period. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupPerf**ES.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> during which the group was declared SeverelyErrored during the accumulation period. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupPerf**SES.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"UnavailableSeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> during which the group was declared Unavailable during the accumulation period. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupPerf**UAS.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"Device.DSL.BondingGroup.{i}.Stats.QuarterHour.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Current quarter hour statistics for this bonding group. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"FailureReasons": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Indicates the failure conditions that have occurred during the accumulation period. Enumeration of: LowRate, ExcessiveDelay, InsufficientBuffers, Other. Corresponds to <<bibref|G.998.1|section 11.4.3>> Current Group Failure Reason.",
							"list": {
								"datatype": "string",
								"enumerations": [
									"LowRate",
									"ExcessiveDelay",
									"InsufficientBuffers",
									"Other"
								]
							}
						},
						"UpstreamRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved upstream data rate in <<units>> (which might change subject to dynamic link usage conditions). Corresponds to <<bibref|G.998.1|section 11.4.2>> Achieved Aggregate Data Rate.",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"DownstreamRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved downstream data rate in <<units>> (which might change subject to dynamic link usage conditions). Corresponds to <<bibref|G.998.1|section 11.4.2>> Achieved Aggregate Data Rate.",
							"datatype": "unsignedInt",
							"unit": "bits per second"
						},
						"UpstreamPacketLoss": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of upstream packets that were lost at aggregation output from a bonding group during the accumulation period. Corresponds to <<bibref|G.998.1|section 11.4.2>> Group Rx Cell Loss Count.",
							"datatype": "unsignedInt"
						},
						"DownstreamPacketLoss": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of downstream packets that were lost at aggregation output from a bonding group during the accumulation period. Corresponds to <<bibref|G.998.1|section 11.4.2>> Group Rx Cell Loss Count.",
							"datatype": "unsignedInt"
						},
						"UpstreamDifferentialDelay": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved upstream differential delay in <<units>> (which might change subject to dynamic link usage conditions).",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"DownstreamDifferentialDelay": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The achieved downstream differential delay in <<units>> (which might change subject to dynamic link usage conditions).",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"FailureCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of times that the group was declared Unavailable during the accumulation period. Corresponds to <<bibref|G.998.1|Section 11.4.3>> Group Failure Count.",
							"datatype": "unsignedInt"
						},
						"ErroredSeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> during which the group was declared Errored during the accumulation period. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupPerf**ES.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> during which the group was declared SeverelyErrored during the accumulation period. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupPerf**SES.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"UnavailableSeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> during which the group was declared Unavailable during the accumulation period. Corresponds to <<bibref|TR-159>> oBondingGroup.aGroupPerf**UAS.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					}
				},
				"Device.DSL.BondingGroup.{i}.BondedChannel.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSL bonded channel table. Each table entry represents a bonded channel within the bonding group, and is associated with exactly one <<object|##.Channel>> instance or one <<object|###.FAST.Line>> instance. There MUST be an instance of <<object>> for each DSL channel or FAST line that is bonded. When a <<object|##.Channel>> or <<object|###.FAST.Line>> is no longer bonded, then the CPE MUST delete the corresponding <<object>> instance. However, when a bonded <<object|##.Channel>> or <<object|###.FAST.Line>> becomes disabled, the channel remains bonded and so the corresponding <<object>> instance MUST NOT be deleted.",
					"uniqueKeys": [
						"Alias",
						"Channel"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Channel": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>>This is the channel that is being bonded. This is read-only because bonding is expected to be configured by the CPE, not by the Controller.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Per-channel <<bibref|G.998.2>> Ethernet-based bonding parameters.",
						"access": false,
						"array": false,
						"Device.DSL.BondingGroup.{i}.BondedChannel.{i}.Ethernet.Stats.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Per-channel <<bibref|G.998.2>> Ethernet-based bonding statistics. These relate to the <<bibref|G.998.2>> PME (Physical Medium Entity) Aggregation Function (PAF) lower layer (per-channel) interfaces. The CPE MUST reset the Stats parameters either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|###.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|###.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
							"access": false,
							"array": false,
							"UnderflowErrorsSent": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of underflow errors sent, i.e. on the transmit side of the interface.",
								"datatype": "unsignedInt"
							},
							"CRCErrorsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of CRC errors received, i.e. on the receive side of the interface.",
								"datatype": "unsignedInt"
							},
							"AlignmentErrorsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of alignment errors received, i.e. on the receive side of the interface.",
								"datatype": "unsignedInt"
							},
							"ShortPacketsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of short packets received, i.e. on the receive side of the interface.",
								"datatype": "unsignedInt"
							},
							"LongPacketsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of long packets received, i.e. on the receive side of the interface.",
								"datatype": "unsignedInt"
							},
							"OverflowErrorsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of overflow errors received, i.e. on the receive side of the interface.",
								"datatype": "unsignedInt"
							},
							"PauseFramesReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of pause frames received, i.e. on the receive side of the interface.",
								"datatype": "unsignedInt"
							},
							"FramesDropped": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of frames dropped, e.g. because the receive queue is full.",
								"datatype": "unsignedInt"
							}
						}
					}
				},
				"Device.DSL.BondingGroup.{i}.Ethernet.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Ethernet-based bonding parameters <<bibref|G.998.2>>.",
					"access": false,
					"array": false,
					"Device.DSL.BondingGroup.{i}.Ethernet.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<bibref|G.998.2>> Ethernet-based bonding statistics. These relate to the <<bibref|G.998.2>> PME (Physical Medium Entity) Aggregation Function (PAF) and to its upper layer interface. PAF lower layer interface statistics are in the <<object|##.BondedChannel.<i>.Ethernet.Stats>> objects. The CPE MUST reset the Stats parameters either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|##.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|##.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
						"access": false,
						"array": false,
						"PAFErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of PAF errors. Corresponds to <<bibref|TR-159>> oBondETH.aEthRxErrors.",
							"datatype": "unsignedInt"
						},
						"PAFSmallFragments": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of PAF Small Fragment events. Corresponds to <<bibref|TR-159>> oBondETH.aEthRxSmallFragments.",
							"datatype": "unsignedInt"
						},
						"PAFLargeFragments": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of PAF Large Fragment events. Corresponds to <<bibref|TR-159>> oBondETH.aEthRxLargeFragments.",
							"datatype": "unsignedInt"
						},
						"PAFBadFragments": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of PAF Bad Fragment events. Corresponds to <<bibref|TR-159>> oBondETH.aEthRxBadFragments.",
							"datatype": "unsignedInt"
						},
						"PAFLostFragments": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of PAF Lost Fragment events. Corresponds to <<bibref|TR-159>> oBondETH.aEthRxLostFragments.",
							"datatype": "unsignedInt"
						},
						"PAFLateFragments": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of PAF Late Fragment events.",
							"datatype": "unsignedInt"
						},
						"PAFLostStarts": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of PAF Lost Start events. Corresponds to <<bibref|TR-159>> oBondETH.aEthRxLostStarts.",
							"datatype": "unsignedInt"
						},
						"PAFLostEnds": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of PAF Lost End events. Corresponds to <<bibref|TR-159>> oBondETH.aEthRxLostEnds.",
							"datatype": "unsignedInt"
						},
						"PAFOverflows": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of PAF Overflow events. Corresponds to <<bibref|TR-159>> oBondETH.aEthRxOverflows.",
							"datatype": "unsignedInt"
						},
						"PauseFramesSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of pause frames sent, i.e. on the transmit side of the interface.",
							"datatype": "unsignedInt"
						},
						"CRCErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of CRC errors received, i.e. on the receive side of the interface.",
							"datatype": "unsignedInt"
						},
						"AlignmentErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of alignment errors received, i.e. on the receive side of the interface.",
							"datatype": "unsignedInt"
						},
						"ShortPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of short packets received, i.e. on the receive side of the interface.",
							"datatype": "unsignedInt"
						},
						"LongPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of long packets received, i.e. on the receive side of the interface.",
							"datatype": "unsignedInt"
						},
						"OverflowErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of overflow errors received, i.e. on the receive side of the interface.",
							"datatype": "unsignedInt"
						},
						"FramesDropped": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of frames dropped, e.g. because the receive queue is full.",
							"datatype": "unsignedInt"
						}
					}
				}
			},
			"Device.DSL.Diagnostics.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The DSL Diagnostics object.",
				"access": false,
				"array": false,
				"ADSLLineTest()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> This is the interface over which the test is to be performed.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error",
								"Error_Internal",
								"Error_Other"
							]
						},
						"ACTPSDds": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Downstream actual power spectral density. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
							"datatype": "int"
						},
						"ACTPSDus": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Upstream actual power spectral density. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
							"datatype": "int"
						},
						"ACTATPds": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Downstream actual aggregate transmitter power. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
							"datatype": "int"
						},
						"ACTATPus": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Upstream actual aggregate transmitter power. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
							"datatype": "int"
						},
						"HLINSCds": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Downstream linear representation scale. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
							"datatype": "int"
						},
						"HLINSCus": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Scaling used to represent the upstream linear channel characteristics. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
							"datatype": "int"
						},
						"HLINGds": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|HLINpsds>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
							"datatype": "unsignedInt"
						},
						"HLINGus": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|HLINpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
							"datatype": "unsignedInt"
						},
						"HLOGGds": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|HLOGpsds>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
							"datatype": "unsignedInt"
						},
						"HLOGGus": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of sub-carriers per sub-carrier group in the upstream direction for <<param|HLOGpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
							"datatype": "unsignedInt"
						},
						"HLOGpsds": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent downstream logarithmic channel characteristics per sub-carrier group. The maximum number of elements is 256 for G.992.3, and 512 for G.992.5. For G.993.2, the number of elements will depend on the value of <<param|HLOGGds>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is measured during initialization and is not updated during Showtime.",
							"list": {
								"datatype": "string",
								"maxsize": 2559
							}
						},
						"HLOGpsus": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent upstream logarithmic channel characteristics per sub-carrier group. The maximum number of elements is 64 for G.992.3 and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|HLOGGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is measured during initialization and is not updated during Showtime.",
							"list": {
								"datatype": "string",
								"maxsize": 2559
							}
						},
						"HLOGMTds": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the number of symbols over which <<param|HLOGpsds>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
							"datatype": "unsignedInt"
						},
						"HLOGMTus": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the number of symbols over which <<param|HLOGpsus>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
							"datatype": "unsignedInt"
						},
						"LATNpbds": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent downstream line attenuation per usable band, as computed during initialization. Number of elements is dependent on the number of downstream bands but will exceed one only for G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
							"list": {
								"datatype": "string",
								"maxsize": 24
							}
						},
						"LATNpbus": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent upstream line attenuation per usable band, as computed during initialization. Number of elements is dependent on the number of upstream bands but will exceed one only for G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
							"list": {
								"datatype": "string",
								"maxsize": 24
							}
						},
						"SATNds": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent downstream signal attenuation per usable band, as computed during the L0 (i.e., Showtime) state. Number of elements is dependent on the number of downstream bands but will exceed one only for G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
							"list": {
								"datatype": "string",
								"maxsize": 24
							}
						},
						"SATNus": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent upstream signal attenuation per usable band, as computed during the L0 (i.e., Showtime) state. Number of elements is dependent on the number of downstream bands but will exceed one only for G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
							"list": {
								"datatype": "string",
								"maxsize": 24
							}
						},
						"HLINpsds": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent downstream linear channel characteristics per subcarrier group. Maximum number of complex pairs is 256 for G.992.3, and 512 for G.992.5. For G.993.2, the number of pairs will depend on the value of <<param|HLINGds>> but will not exceed 512. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: HLIN is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
							"list": {
								"datatype": "int",
								"maxsize": 61430
							}
						},
						"HLINpsus": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent upstream linear channel characteristics per sub-carrier group. Maximum number of complex pairs is 64 for G.992.3, and G.992.5. For G.993.2, the number of pairs will depend on the value of <<param|HLINGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: HLIN is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
							"list": {
								"datatype": "string",
								"maxsize": 61430
							}
						},
						"QLNGds": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|QLNpsds>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
							"datatype": "unsignedInt"
						},
						"QLNGus": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of sub-carriers per sub-carrier group in the upstream direction for <<param|QLNpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
							"datatype": "unsignedInt"
						},
						"QLNpsds": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent downstream quiet line noise per subcarrier group. Maximum number of elements is 256 for G.992.3, 512 for G.992.5. For G.993.2, the number of elements will depend on the value of <<param|QLNGds>> but will not exceed 512. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: QLN is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
							"list": {
								"datatype": "int",
								"maxsize": 61430
							}
						},
						"QLNpsus": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent upstream quiet line noise per subcarrier group. The maximum number of elements is 64 for G.992.3, and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|QLNGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: QLN is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
							"list": {
								"datatype": "string",
								"maxsize": 61430
							}
						},
						"QLNMTds": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the number of symbols over which <<param|QLNpsds>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
							"datatype": "unsignedInt"
						},
						"QLNMTus": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the number of symbols over which <<param|QLNpsus>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
							"datatype": "unsignedInt"
						},
						"SNRGds": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|SNRpsds>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
							"datatype": "unsignedInt"
						},
						"SNRGus": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of sub-carriers per sub-carrier group in the upstream direction for <<param|SNRpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
							"datatype": "unsignedInt"
						},
						"SNRpsds": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent downstream SNR per subcarrier group. Maximum number of elements is 256 for G.992.3, 512 for G.992.5. For G.993.2, the number of elements will depend on the value of <<param|SNRGds>> but will not exceed 512. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: SNRps is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
							"list": {
								"datatype": "int",
								"maxsize": 61430
							}
						},
						"SNRpsus": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent upstream SNR per subcarrier group. The maximum number of elements is 64 for G.992.3, and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|SNRGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: SNRps is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
							"list": {
								"datatype": "string",
								"maxsize": 61430
							}
						},
						"SNRMTds": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the number of symbols over which <<param|SNRpsds>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
							"datatype": "unsignedInt"
						},
						"SNRMTus": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the number of symbols over which <<param|SNRpsus>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
							"datatype": "unsignedInt"
						},
						"BITSpsds": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent downstream bit allocation per subcarrier group. Maximum number of elements is 256 for G.992.3, 512 for G.992.5. Interpretation of the value is as defined in ITU-T Rec. <<bibref|G.997.1>>.",
							"list": {
								"datatype": "int",
								"maxsize": 61430
							}
						},
						"BITSpsus": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent upstream bit allocation per subcarrier group. Maximum number of elements is 256 for G.992.3, 512 for G.992.5. Interpretation of the value is as defined in ITU-T Rec. <<bibref|G.997.1>>.",
							"list": {
								"datatype": "string",
								"maxsize": 61430
							}
						}
					}
				},
				"SELTUER()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> This is the interface over which the test is to be performed.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"UERMaxMeasurementDuration": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is the SELT UER maximum measurement duration (MMD) measured in <<units>>. This parameter is defined as SELT_UER_MMD_R in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.1.1>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 5,
									"max": 240
								}
							],
							"unit": "seconds"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error"
							]
						},
						"ExtendedBandwidthOperation": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter indicates if the option for extended bandwidth SELT is applied (<<true>>) or not applied (<<false>>). If the option for extended bandwidth SELT is applied to UER, then <<param|UERGroupSize>> has three valid values: 1, 2 and 12. If the option for extended bandwidth SELT is not applied to UER, then <<param|UERGroupSize>> has two valid values: 1 and 2. <<param|UERGroupSize>> is reported if the option for extended bandwidth UER SELT is supported; otherwise, reporting of the group size is optional.",
							"datatype": "boolean"
						},
						"UER": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The Uncalibrated Echo Response (UER) [a(0),b(0)], [a(1),b(1)], ... <<list|with each list item consisting of the following>> Pair of 32-bit signed integers a(i),b(i) with each pair representing a complex component of the uncalibrated echo response (UER); # Real UER component, a(i) # Imaginary UER component, b(i) for values of i starting at i=0. Both values are represented as signed integers. The interpretation of the UER value is as defined in <<bibref|G.996.2|Clause A.2.2.1>>. | Pair of 32-bit signed integers a(i),b(i) with each pair representing a complex component of the uncalibrated echo response (UER); # Real UER component, a(i) # Imaginary UER component, b(i) for values of i starting at i=0. Both values are represented as signed integers. The interpretation of the UER value is as defined in <<bibref|G.996.2|Clause A.2.2.1>>. The value of UER at frequency i*<<param|UERGroupSize>>*Df = (<<param|UERScaleFactor>>/(2^31^))*(a(i)+j*b(i))/(2^31^) where Df = 4.3125 kHz. This parameter is defined as CPE SELT uncalibrated echo response (SELT-UER-R) in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.2.1>>.",
							"list": {
								"datatype": "UERComplex",
								"item": {
									"min": 1,
									"max": 4096
								}
							}
						},
						"UERScaleFactor": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The Uncalibrated Echo Response (UER) scale factor. This parameter is defined as part of the CPE SELT uncalibrated echo response (SELT-UER-R) in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.2.1>>. Note that the scale factor is chosen such that max(abs(a(i)), abs(b(i))) over all i is equal to 2^31^ - 1, which doesnt allow <<param>> to be zero.",
							"datatype": "unsignedInt"
						},
						"UERGroupSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The Uncalibrated Echo Response (UER) group size, UER_G. In units of <<units>>. This parameter is defined as part of the CPE SELT uncalibrated echo response (SELT-UER-R) in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.2.2>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 2
								},
								{
									"min": 12,
									"max": 12
								}
							],
							"unit": "subcarriers"
						},
						"UERVar": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter represents the variance of the <<param|UER>>. List items represent v(i), for values of i starting at i=0. The variance of the uncalibrated echo response for frequency i*<<param|UERGroupSize>>*Df is VAR(i*<<param|UERGroupSize>>*Df) = 3 - v(i)/2 dB where Df = 4.3125 kHz. This parameter is defined as SELT variance of uncalibrated echo response R (SELT UER-VAR-R) in <<bibref|G.996.2|Clause A.2.2.2>>.",
							"list": {
								"datatype": "int",
								"item": {
									"min": 0,
									"max": 4096
								}
							}
						}
					}
				},
				"SELTQLN()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> This is the interface over which the test is to be performed.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"QLNMaxMeasurementDuration": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is the SELT QLN maximum measurement duration (MMD) measured in <<units>>. This parameter is defined as SELT_QLN_MMD_R in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.1.2>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 240
								}
							],
							"unit": "seconds"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error"
							]
						},
						"ExtendedBandwidthOperation": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter indicates if the option for extended bandwidth SELT is applied (<<true>>) or not applied (<<false>>). If the option for extended bandwidth SELT is applied to QLN, then <<param|QLNGroupSize>> has three valid values: 1, 2 and 12. If the option for extended bandwidth SELT is not applied to QLN, then <<param|QLNGroupSize>> has two valid values: 1 and 2. <<param|QLNGroupSize>> is reported if the option for extended bandwidth QLN SELT is supported; otherwise, reporting of the group size is optional.",
							"datatype": "boolean"
						},
						"QLN": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent SELT quiet line noise (QLN) per subcarrier group. Each list element is n(i), with i starting at 0. The value of QLN at frequency i*<<param|QLNGroupSize>>*Df with Df=4.3125 kHz is defined as QLN(i*<<param|QLNGroupSize>>*Df) = -23 - (n(i)/2) dBm/Hz. This data format supports a QLN granularity of 0.5 dB and an dynamic range of -150 to -23 dBm/Hz. Interpretation of the SELT_QLN_R value is defined in <<bibref|G.996.2|Clause A.2.2.3>>.",
							"list": {
								"datatype": "int",
								"maxsize": 61430
							}
						},
						"QLNGroupSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter represents the Quiet Line Noise (QLN) group size. In units of <<units>>. This parameter is defined as part of the SELT_QLN_R in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.2.4>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 2
								},
								{
									"min": 12,
									"max": 12
								}
							],
							"unit": "subcarriers"
						}
					}
				},
				"SELTP()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> This is the interface over which the test is to be performed.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CapacityEstimateEnabling": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Capacity estimate calculation enabling: This parameter is expressed as a boolean and takes the value <<false>> if xDSL performance estimation is not required, <<true>> otherwise. The capacity estimate calculation enabling parameter is defined in <<bibref|G.996.2|Clause B.2.1.1>>.",
							"datatype": "boolean"
						},
						"CapacitySignalPSD": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The capacity estimate signal Power Spectral Density (PSD): <<list|with each list item consisting of the following>> # the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:49152] with Df = 4.3125 kHz frequency spacing, and # the value of the level of the PSD at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz. Both values are represented as unsignedInt. | # the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:49152] with Df = 4.3125 kHz frequency spacing, and # the value of the level of the PSD at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz. Both values are represented as unsignedInt. This capacity estimate signal PSD parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.2.1.2>>.",
							"list": {
								"datatype": "PSDBreakPointIndexAndLevel",
								"item": {
									"min": 1,
									"max": 48
								}
							}
						},
						"CapacityNoisePSD": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The capacity estimate noise Power Spectral Density (PSD): <<list|with each list item consisting of the following>> # the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:49152] with Df = 4.3125 kHz frequency spacing, and # the value of the level of the PSD at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz. Both values are represented as unsignedInt. | # the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:49152] with Df = 4.3125 kHz frequency spacing, and # the value of the level of the PSD at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz. Both values are represented as unsignedInt. This capacity estimate noise PSD parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.2.1.3>>.",
							"list": {
								"datatype": "PSDBreakPointIndexAndLevel",
								"item": {
									"min": 1,
									"max": 48
								}
							}
						},
						"CapacityTargetMargin": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The capacity estimate target noise margin. The range of valid values is 0 to 31 dB, in steps of <<units>>. This capacity estimate target noise margin parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.2.1.4>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 310
								}
							],
							"unit": "0.1 dB"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error"
							]
						},
						"LoopTermination": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Loop termination indicator. Enumeration of: Open, Short, Powered on DSLAM/DPU, Powered on CPE, Unknown. This parameter is defined as LOOP-TERM in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.1>>.",
							"datatype": "string",
							"enumerations": [
								"Open",
								"Short",
								"Powered on DSLAM/DPU",
								"Powered on CPE",
								"Unknown"
							]
						},
						"LoopLength": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is the loop length with units of <<units>>. This parameter is defined as the loop length parameter LOOP_LEN in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.2>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 16383
								}
							],
							"unit": "meters"
						},
						"LoopTopology": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> List items represent paired parameters [LOOP_SEG_LEN, LOOP_SEG_BTAP] representing a concatenation of loop segment types, where LOOP_SEG_LEN represents the length of the segment in meters; and LOOP_SEG_BTAP is a string that identifies the segment type as either in series or bridged tap. The first loop segment in the list shall be the segment connected to the SELT-PMD block, subsequent loop segments in the list shall describe the loop in the direction toward the far-end loop termination. This Loop Topology parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.3>>.",
							"list": {
								"datatype": "string",
								"maxsize": 256
							}
						},
						"AttenuationCharacteristics": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Specifies the list of attenuation characteristics. <<list|with each list item consisting of the following>> # The paired frequency spacing index in the range [0:8191], and # The transfer function log value, i.e. [i, TFlog(i * <<param|TFlogGroupSize>> * Df)], where the reference frequency spacing Df = 4.3125 kHz, the index i valid range is 0 to 8191, and TFlog(i * <<param|TFlogGroupSize>> * Df) spans a range from +6.0 dB down to -96.2 dB with units of 0.1 dB. Both values are represented as unsignedInt. | # The paired frequency spacing index in the range [0:8191], and # The transfer function log value, i.e. [i, TFlog(i * <<param|TFlogGroupSize>> * Df)], where the reference frequency spacing Df = 4.3125 kHz, the index i valid range is 0 to 8191, and TFlog(i * <<param|TFlogGroupSize>> * Df) spans a range from +6.0 dB down to -96.2 dB with units of 0.1 dB. Both values are represented as unsignedInt. TFlog(i * <<param|TFlogGroupSize>> * Df) is represented by an integer k, 0 <= k <= 1022, where TFlog(i * <<param|TFlogGroupSize>> * Df) = 6.0 - k * 0.1. The special value of k of 1023 is used to indicate that no measurement could be done for this subcarrier because the attenuation is out of the range that can be represented. The attenuation characteristics TFlog(f) parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.6>>.",
							"list": {
								"datatype": "SELTPAttenuationCharacteristicsIndexAndTFlog",
								"item": {
									"min": 0,
									"max": 8191
								}
							}
						},
						"TFlogGroupSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter represents the Transfer Function Log (TFlog) group size. In units of <<units>>. This parameter is defined as part of the SELT attenuation characteristics, <<param|AttenuationCharacteristics>>, defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.6>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 2
								},
								{
									"min": 12,
									"max": 12
								}
							],
							"unit": "subcarriers"
						},
						"MissingFilter": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Missing micro-filter or splitter: This parameter is a binary indication of a missing or incorrectly installed splitter or micro-filter at the U-R reference point. A value of true represents a missing splitter. The missing micro-filter or splitter parameter is defined in <<bibref|G.996.2|Clause B.1.1.4>>.",
							"datatype": "boolean"
						},
						"CapacityEstimate": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Capacity Estimate: <<list>> This parameter represents the downstream and/or upstream capacity estimates in <<units>>. If only one value is supplied, then its not specified whether its the downstream value, the upstream value or some combination of the two. If two values are supplied, then the first is the downstream value and the second is the upstream value. The capacity estimate parameters are defined in <<bibref|G.996.2|Clause B.1.1.7>>.",
							"list": {
								"datatype": "unsignedInt",
								"item": {
									"min": 1,
									"max": 2
								},
								"unit": "kbit/s"
							}
						}
					}
				},
				"Device.DSL.Diagnostics.ADSLLineTest.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object is to provide diagnostic information for a CPE with an ADSL2 or ADSL2+ modem WAN interface, but MAY also be used for ADSL.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> This is the interface over which the test is to be performed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ACTPSDds": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Downstream actual power spectral density. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"datatype": "int"
					},
					"ACTPSDus": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Upstream actual power spectral density. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"datatype": "int"
					},
					"ACTATPds": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Downstream actual aggregate transmitter power. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"datatype": "int"
					},
					"ACTATPus": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Upstream actual aggregate transmitter power. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"datatype": "int"
					},
					"HLINSCds": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Downstream linear representation scale. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "int"
					},
					"HLINSCus": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Scaling used to represent the upstream linear channel characteristics. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "int"
					},
					"HLINGds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|HLINpsds>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"HLINGus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|HLINpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"HLOGGds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|HLOGpsds>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"HLOGGus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the upstream direction for <<param|HLOGpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"HLOGpsds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent downstream logarithmic channel characteristics per sub-carrier group. The maximum number of elements is 256 for G.992.3, and 512 for G.992.5. For G.993.2, the number of elements will depend on the value of <<param|HLOGGds>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is measured during initialization and is not updated during Showtime.",
						"list": {
							"datatype": "string",
							"maxsize": 2559
						}
					},
					"HLOGpsus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent upstream logarithmic channel characteristics per sub-carrier group. The maximum number of elements is 64 for G.992.3 and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|HLOGGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None. Note: <<param>> is measured during initialization and is not updated during Showtime.",
						"list": {
							"datatype": "string",
							"maxsize": 2559
						}
					},
					"HLOGMTds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the number of symbols over which <<param|HLOGpsds>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"HLOGMTus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the number of symbols over which <<param|HLOGpsus>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"LATNpbds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent downstream line attenuation per usable band, as computed during initialization. Number of elements is dependent on the number of downstream bands but will exceed one only for G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 24
						}
					},
					"LATNpbus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent upstream line attenuation per usable band, as computed during initialization. Number of elements is dependent on the number of upstream bands but will exceed one only for G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 24
						}
					},
					"SATNds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent downstream signal attenuation per usable band, as computed during the L0 (i.e., Showtime) state. Number of elements is dependent on the number of downstream bands but will exceed one only for G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 24
						}
					},
					"SATNus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent upstream signal attenuation per usable band, as computed during the L0 (i.e., Showtime) state. Number of elements is dependent on the number of downstream bands but will exceed one only for G.993.2. Interpretation of <<param>> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation <<bibref|G.997.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 24
						}
					},
					"HLINpsds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent downstream linear channel characteristics per subcarrier group. Maximum number of complex pairs is 256 for G.992.3, and 512 for G.992.5. For G.993.2, the number of pairs will depend on the value of <<param|HLINGds>> but will not exceed 512. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: HLIN is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
						"list": {
							"datatype": "int",
							"maxsize": 61430
						}
					},
					"HLINpsus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent upstream linear channel characteristics per sub-carrier group. Maximum number of complex pairs is 64 for G.992.3, and G.992.5. For G.993.2, the number of pairs will depend on the value of <<param|HLINGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: HLIN is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
						"list": {
							"datatype": "string",
							"maxsize": 61430
						}
					},
					"QLNGds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|QLNpsds>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"QLNGus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the upstream direction for <<param|QLNpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"QLNpsds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent downstream quiet line noise per subcarrier group. Maximum number of elements is 256 for G.992.3, 512 for G.992.5. For G.993.2, the number of elements will depend on the value of <<param|QLNGds>> but will not exceed 512. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: QLN is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
						"list": {
							"datatype": "int",
							"maxsize": 61430
						}
					},
					"QLNpsus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent upstream quiet line noise per subcarrier group. The maximum number of elements is 64 for G.992.3, and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|QLNGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: QLN is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
						"list": {
							"datatype": "string",
							"maxsize": 61430
						}
					},
					"QLNMTds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the number of symbols over which <<param|QLNpsds>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"QLNMTus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the number of symbols over which <<param|QLNpsus>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"SNRGds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the downstream direction for <<param|SNRpsds>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"SNRGus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of sub-carriers per sub-carrier group in the upstream direction for <<param|SNRpsus>>. Valid values are 1, 2, 4, and 8. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.",
						"datatype": "unsignedInt"
					},
					"SNRpsds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent downstream SNR per subcarrier group. Maximum number of elements is 256 for G.992.3, 512 for G.992.5. For G.993.2, the number of elements will depend on the value of <<param|SNRGds>> but will not exceed 512. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Interpretation of the value is as defined in ITU-T Rec. G.997.1. Note: SNRps is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
						"list": {
							"datatype": "int",
							"maxsize": 61430
						}
					},
					"SNRpsus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent upstream SNR per subcarrier group. The maximum number of elements is 64 for G.992.3, and G.992.5. For G.993.2, the number of elements will depend on the value of <<param|SNRGus>> but will not exceed 512. Interpretation of the values is as defined in ITU-T Rec. G.997.1. Note: SNRps is not applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to None.",
						"list": {
							"datatype": "string",
							"maxsize": 61430
						}
					},
					"SNRMTds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the number of symbols over which <<param|SNRpsds>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"SNRMTus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the number of symbols over which <<param|SNRpsus>> was measured. Note: See ITU-T Recommendation <<bibref|G.997.1>>. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 0.",
						"datatype": "unsignedInt"
					},
					"BITSpsds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent downstream bit allocation per subcarrier group. Maximum number of elements is 256 for G.992.3, 512 for G.992.5. Interpretation of the value is as defined in ITU-T Rec. <<bibref|G.997.1>>.",
						"list": {
							"datatype": "int",
							"maxsize": 61430
						}
					},
					"BITSpsus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent upstream bit allocation per subcarrier group. Maximum number of elements is 256 for G.992.3, 512 for G.992.5. Interpretation of the value is as defined in ITU-T Rec. <<bibref|G.997.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 61430
						}
					}
				},
				"Device.DSL.Diagnostics.SELTUER.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object contains DSL Single Ended Line Test - Physical Medium Dependent (SELT-PMD) Uncalibrated Echo Response (UER) diagnostics parameters. This object is for the CPE, aka the Transmission Unit - Remote end (TU-R). Reference: ITU-T Recommendation <<bibref|G.996.2|Clause A.2, SELT-PMD management entity>>.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> This is the interface over which the test is to be performed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"UERMaxMeasurementDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is the SELT UER maximum measurement duration (MMD) measured in <<units>>. This parameter is defined as SELT_UER_MMD_R in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.1.1>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 5,
								"max": 240
							}
						],
						"unit": "seconds"
					},
					"ExtendedBandwidthOperation": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter indicates if the option for extended bandwidth SELT is applied (<<true>>) or not applied (<<false>>). If the option for extended bandwidth SELT is applied to UER, then <<param|UERGroupSize>> has three valid values: 1, 2 and 12. If the option for extended bandwidth SELT is not applied to UER, then <<param|UERGroupSize>> has two valid values: 1 and 2. <<param|UERGroupSize>> is reported if the option for extended bandwidth UER SELT is supported; otherwise, reporting of the group size is optional.",
						"datatype": "boolean"
					},
					"UER": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The Uncalibrated Echo Response (UER) [a(0),b(0)], [a(1),b(1)], ... <<list|with each list item consisting of the following>> Pair of 32-bit signed integers a(i),b(i) with each pair representing a complex component of the uncalibrated echo response (UER); # Real UER component, a(i) # Imaginary UER component, b(i) for values of i starting at i=0. Both values are represented as signed integers. The interpretation of the UER value is as defined in <<bibref|G.996.2|Clause A.2.2.1>>. | Pair of 32-bit signed integers a(i),b(i) with each pair representing a complex component of the uncalibrated echo response (UER); # Real UER component, a(i) # Imaginary UER component, b(i) for values of i starting at i=0. Both values are represented as signed integers. The interpretation of the UER value is as defined in <<bibref|G.996.2|Clause A.2.2.1>>. The value of UER at frequency i*<<param|UERGroupSize>>*Df = (<<param|UERScaleFactor>>/(2^31^))*(a(i)+j*b(i))/(2^31^) where Df = 4.3125 kHz. This parameter is defined as CPE SELT uncalibrated echo response (SELT-UER-R) in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.2.1>>.",
						"list": {
							"datatype": "UERComplex",
							"item": {
								"min": 1,
								"max": 4096
							}
						}
					},
					"UERScaleFactor": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The Uncalibrated Echo Response (UER) scale factor. This parameter is defined as part of the CPE SELT uncalibrated echo response (SELT-UER-R) in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.2.1>>. Note that the scale factor is chosen such that max(abs(a(i)), abs(b(i))) over all i is equal to 2^31^ - 1, which doesnt allow <<param>> to be zero.",
						"datatype": "unsignedInt"
					},
					"UERGroupSize": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The Uncalibrated Echo Response (UER) group size, UER_G. In units of <<units>>. This parameter is defined as part of the CPE SELT uncalibrated echo response (SELT-UER-R) in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.2.2>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 2
							},
							{
								"min": 12,
								"max": 12
							}
						],
						"unit": "subcarriers"
					},
					"UERVar": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter represents the variance of the <<param|UER>>. List items represent v(i), for values of i starting at i=0. The variance of the uncalibrated echo response for frequency i*<<param|UERGroupSize>>*Df is VAR(i*<<param|UERGroupSize>>*Df) = 3 - v(i)/2 dB where Df = 4.3125 kHz. This parameter is defined as SELT variance of uncalibrated echo response R (SELT UER-VAR-R) in <<bibref|G.996.2|Clause A.2.2.2>>.",
						"list": {
							"datatype": "int",
							"item": {
								"min": 0,
								"max": 4096
							}
						}
					}
				},
				"Device.DSL.Diagnostics.SELTQLN.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object contains DSL Single Ended Line Test - Physical Medium Dependent (SELT-PMD) Quiet Line Noise (QLN) diagnostics parameters. This object is for the CPE, aka the Transmission Unit - Remote end (TU-R). Reference: ITU-T Recommendation <<bibref|G.996.2|Clause A.2, SELT-PMD management entity>>.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> This is the interface over which the test is to be performed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"QLNMaxMeasurementDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is the SELT QLN maximum measurement duration (MMD) measured in <<units>>. This parameter is defined as SELT_QLN_MMD_R in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.1.2>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 240
							}
						],
						"unit": "seconds"
					},
					"ExtendedBandwidthOperation": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter indicates if the option for extended bandwidth SELT is applied (<<true>>) or not applied (<<false>>). If the option for extended bandwidth SELT is applied to QLN, then <<param|QLNGroupSize>> has three valid values: 1, 2 and 12. If the option for extended bandwidth SELT is not applied to QLN, then <<param|QLNGroupSize>> has two valid values: 1 and 2. <<param|QLNGroupSize>> is reported if the option for extended bandwidth QLN SELT is supported; otherwise, reporting of the group size is optional.",
						"datatype": "boolean"
					},
					"QLN": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent SELT quiet line noise (QLN) per subcarrier group. Each list element is n(i), with i starting at 0. The value of QLN at frequency i*<<param|QLNGroupSize>>*Df with Df=4.3125 kHz is defined as QLN(i*<<param|QLNGroupSize>>*Df) = -23 - (n(i)/2) dBm/Hz. This data format supports a QLN granularity of 0.5 dB and an dynamic range of -150 to -23 dBm/Hz. Interpretation of the SELT_QLN_R value is defined in <<bibref|G.996.2|Clause A.2.2.3>>.",
						"list": {
							"datatype": "int",
							"maxsize": 61430
						}
					},
					"QLNGroupSize": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter represents the Quiet Line Noise (QLN) group size. In units of <<units>>. This parameter is defined as part of the SELT_QLN_R in ITU-T Recommendation <<bibref|G.996.2|Clause A.2.2.4>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 2
							},
							{
								"min": 12,
								"max": 12
							}
						],
						"unit": "subcarriers"
					}
				},
				"Device.DSL.Diagnostics.SELTP.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object contains DSL Single-Ended Line Test - Processed (SELT-P) diagnostics parameters. This object is for the CPE, aka the Transmission Unit - Remote end (TU-R). Reference: ITU-T Recommendation <<bibref|G.996.2>>.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> This is the interface over which the test is to be performed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"CapacityEstimateEnabling": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Capacity estimate calculation enabling: This parameter is expressed as a boolean and takes the value <<false>> if xDSL performance estimation is not required, <<true>> otherwise. The capacity estimate calculation enabling parameter is defined in <<bibref|G.996.2|Clause B.2.1.1>>.",
						"datatype": "boolean"
					},
					"CapacitySignalPSD": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The capacity estimate signal Power Spectral Density (PSD): <<list|with each list item consisting of the following>> # the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:49152] with Df = 4.3125 kHz frequency spacing, and # the value of the level of the PSD at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz. Both values are represented as unsignedInt. | # the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:49152] with Df = 4.3125 kHz frequency spacing, and # the value of the level of the PSD at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz. Both values are represented as unsignedInt. This capacity estimate signal PSD parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.2.1.2>>.",
						"list": {
							"datatype": "PSDBreakPointIndexAndLevel",
							"item": {
								"min": 1,
								"max": 48
							}
						}
					},
					"CapacityNoisePSD": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The capacity estimate noise Power Spectral Density (PSD): <<list|with each list item consisting of the following>> # the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:49152] with Df = 4.3125 kHz frequency spacing, and # the value of the level of the PSD at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz. Both values are represented as unsignedInt. | # the Power Spectral Density (PSD) breakpoint sub-carrier index in the range [0:49152] with Df = 4.3125 kHz frequency spacing, and # the value of the level of the PSD at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -200 dBm/Hz. The range of valid values for PSD is -30 to -200 dBm/Hz. Both values are represented as unsignedInt. This capacity estimate noise PSD parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.2.1.3>>.",
						"list": {
							"datatype": "PSDBreakPointIndexAndLevel",
							"item": {
								"min": 1,
								"max": 48
							}
						}
					},
					"CapacityTargetMargin": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The capacity estimate target noise margin. The range of valid values is 0 to 31 dB, in steps of <<units>>. This capacity estimate target noise margin parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.2.1.4>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 310
							}
						],
						"unit": "0.1 dB"
					},
					"LoopTermination": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Loop termination indicator. Enumeration of: Open, Short, Powered on DSLAM/DPU, Powered on CPE, Unknown. This parameter is defined as LOOP-TERM in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.1>>.",
						"datatype": "string",
						"enumerations": [
							"Open",
							"Short",
							"Powered on DSLAM/DPU",
							"Powered on CPE",
							"Unknown"
						]
					},
					"LoopLength": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is the loop length with units of <<units>>. This parameter is defined as the loop length parameter LOOP_LEN in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.2>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 16383
							}
						],
						"unit": "meters"
					},
					"LoopTopology": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items represent paired parameters [LOOP_SEG_LEN, LOOP_SEG_BTAP] representing a concatenation of loop segment types, where LOOP_SEG_LEN represents the length of the segment in meters; and LOOP_SEG_BTAP is a string that identifies the segment type as either in series or bridged tap. The first loop segment in the list shall be the segment connected to the SELT-PMD block, subsequent loop segments in the list shall describe the loop in the direction toward the far-end loop termination. This Loop Topology parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.3>>.",
						"list": {
							"datatype": "string",
							"maxsize": 256
						}
					},
					"AttenuationCharacteristics": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Specifies the list of attenuation characteristics. <<list|with each list item consisting of the following>> # The paired frequency spacing index in the range [0:8191], and # The transfer function log value, i.e. [i, TFlog(i * <<param|TFlogGroupSize>> * Df)], where the reference frequency spacing Df = 4.3125 kHz, the index i valid range is 0 to 8191, and TFlog(i * <<param|TFlogGroupSize>> * Df) spans a range from +6.0 dB down to -96.2 dB with units of 0.1 dB. Both values are represented as unsignedInt. | # The paired frequency spacing index in the range [0:8191], and # The transfer function log value, i.e. [i, TFlog(i * <<param|TFlogGroupSize>> * Df)], where the reference frequency spacing Df = 4.3125 kHz, the index i valid range is 0 to 8191, and TFlog(i * <<param|TFlogGroupSize>> * Df) spans a range from +6.0 dB down to -96.2 dB with units of 0.1 dB. Both values are represented as unsignedInt. TFlog(i * <<param|TFlogGroupSize>> * Df) is represented by an integer k, 0 <= k <= 1022, where TFlog(i * <<param|TFlogGroupSize>> * Df) = 6.0 - k * 0.1. The special value of k of 1023 is used to indicate that no measurement could be done for this subcarrier because the attenuation is out of the range that can be represented. The attenuation characteristics TFlog(f) parameter is defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.6>>.",
						"list": {
							"datatype": "SELTPAttenuationCharacteristicsIndexAndTFlog",
							"item": {
								"min": 0,
								"max": 8191
							}
						}
					},
					"TFlogGroupSize": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter represents the Transfer Function Log (TFlog) group size. In units of <<units>>. This parameter is defined as part of the SELT attenuation characteristics, <<param|AttenuationCharacteristics>>, defined in ITU-T Recommendation <<bibref|G.996.2|Clause B.1.1.6>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 2
							},
							{
								"min": 12,
								"max": 12
							}
						],
						"unit": "subcarriers"
					},
					"MissingFilter": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Missing micro-filter or splitter: This parameter is a binary indication of a missing or incorrectly installed splitter or micro-filter at the U-R reference point. A value of true represents a missing splitter. The missing micro-filter or splitter parameter is defined in <<bibref|G.996.2|Clause B.1.1.4>>.",
						"datatype": "boolean"
					},
					"CapacityEstimate": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Capacity Estimate: <<list>> This parameter represents the downstream and/or upstream capacity estimates in <<units>>. If only one value is supplied, then its not specified whether its the downstream value, the upstream value or some combination of the two. If two values are supplied, then the first is the downstream value and the second is the upstream value. The capacity estimate parameters are defined in <<bibref|G.996.2|Clause B.1.1.7>>.",
						"list": {
							"datatype": "unsignedInt",
							"item": {
								"min": 1,
								"max": 2
							},
							"unit": "kbit/s"
						}
					}
				}
			}
		},
		"Device.FAST.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object models FAST (defined in ITU Recommendation <<bibref|G.9701>>) lines. Each <<object|Line>> models a layer 1 FAST Line interface.",
			"access": false,
			"array": false,
			"LineNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.FAST.Line.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "FAST Line table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models physical FAST lines.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A string identifying the version of the modem firmware currently installed for this interface. This is applicable only when the modem firmware is separable from the overall CPE software.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LinkStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Status of the FAST physical link. Enumeration of: Up, Initializing, EstablishingLink, NoSignal, Disabled, Error. When <<param>> is <<enum|Up>>, <<param|Status>> is expected to be <<enum|Up|Status>>. When <<param>> is <<enum|Initializing>> or <<enum|EstablishingLink>> or <<enum|NoSignal>> or <<enum|Disabled>>, <<param|Status>> is expected to be <<enum|Down|Status>>. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Initializing",
						"EstablishingLink",
						"NoSignal",
						"Disabled",
						"Error"
					]
				},
				"AllowedProfiles": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items indicate which FAST profiles are allowed on the line. Enumeration of: 106a, 212a. Note: In G.997.2, this parameter is called PROFILES. See ITU-T Recommendation <<bibref|G.997.2>>.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"106a",
							"212a"
						]
					}
				},
				"CurrentProfile": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates which FAST profile is currently in use on the line.",
					"datatype": "string"
				},
				"PowerManagementState": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The power management state of the line. Enumeration of: L0, L2.1, L2.2, L3. Note: See ITU-T Recommendation <<bibref|G.9701>>.",
					"datatype": "string",
					"enumerations": [
						"L0",
						"L2.1",
						"L2.2",
						"L3"
					]
				},
				"SuccessFailureCause": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The success failure cause of the initialization. An enumeration of the following integer values: * 0: Successful * 1: Configuration error. Configuration error. This error occurs if the line cannot reach L0 state due to a mismatch of configuration and FTU capabilities. * 2: Configuration not feasible on the line. This error occurs if the line cannot reach the L0 state due to a mismatch of configuration of line and noise characteristics. * 3: Communication problem. This error occurs, for example, due to corrupted messages or bad syntax messages or if no common mode can be selected in the G.994.1 handshaking procedure or due to a timeout. * 4: No far-end FTU detected. This error occurs if the far-end FTU is not powered or not connected or if the line is too long to allow detection of a far-end FTU. * 5: Any other or unknown initialization failure cause. Note: In G.997.2, this parameter is called Initialization success/failure cause. See Clause 7.20.2.1 of ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 5
						}
					]
				},
				"UPBOKLER": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the estimate of the electrical length expressed in <<units>>, as determined by the FTU-R (see clause 7.3.1.4.2.1/<<bibref|G.9701>>) and conveyed in the R-MSG1 initialization message (see clause 12.3.3.2.3/<<bibref|G.9701>>). The value is coded as an unsignedInt in the range 0 (coded as 0) to 128 dB (coded as 1280) in steps of <<units>>. Note: This parameter is defined as UPBOKLE-R in Clause 7.10.4.2 of ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 1280
						}
					],
					"unit": "0.1 dB"
				},
				"LastTransmittedDownstreamSignal": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the downstream signal count of the last transmitted initialization signal in the last full or short initialization performed on the line. The valid values are 0..21. The downstream signal count is defined in clause 12.3.1/<<bibref|G.9701>>. Note: See clause 7.10.2.2 ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 21
						}
					]
				},
				"LastTransmittedUpstreamSignal": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the upstream signal count of the last transmitted initialization signal in the last full or short initialization performed on the line. The valid values are 0..21. The upstream signal count is defined in clause 12.3.1/<<bibref|G.9701>>. Note: See clause 7.10.2.3 ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 21
						}
					]
				},
				"UPBOKLE": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the electrical length expressed in <<units>>, that would have been sent from the FTU-O to the FTU-R if the electrical length was not forced by the DPU-MIB. If the electrical length is not forced by the DPU-MIB, then this object reports the final electrical length, as determined by the FTU-O (see clause 7.3.1.4.2.1/<<bibref|G.9701>>) and conveyed in the O-UPDATE initialization message (see clause 12.3.3.2.4/<<bibref|G.9701>>). Note: See clause 7.10.4.1 in ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 1280
						}
					],
					"unit": "0.1dB"
				},
				"LineNumber": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Signifies the line pair that the modem is using to connection. <<param>> = 1 is the innermost pair.",
					"datatype": "int",
					"range": [
						{
							"min": 1
						}
					]
				},
				"UpstreamMaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the attainable net data rate expressed in <<units>> as defined in clause 11.4.1.1.2/<<bibref|G.9701>>. Note: This parameter is related to the G.997.2 parameter ATTNDRus. See clause 7.11.2.1 ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"DownstreamMaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the attainable net data rate expressed in <<units>> as defined in clause 11.4.1.1.2/<<bibref|G.9701>>. Note: This parameter is related to the G.997.2 parameter ATTNDRds. See clause 7.11.2.1 ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"UpstreamNoiseMargin": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the signal-to-noise ratio margin (as defined in clause 9.8.3.2/<<bibref|G.9701>> and 11.4.1.3/<<bibref|G.9701>>) in the upstream direction. A special value indicates that the signal-to-noise ratio margin is out of the range to be represented. The parameter is expressed in <<units>>. Note: In G.997.2, this parameter is called SNRMus. See ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"DownstreamNoiseMargin": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the signal-to-noise ratio margin (as defined in clause 9.8.3.2/<<bibref|G.9701>> and 11.4.1.3/<<bibref|G.9701>>) in the upstream direction. A special value indicates that the signal-to-noise ratio margin is out of the range to be represented. The parameter is expressed in <<units>>. Note: In G.997.2, this parameter is called SNRMds. See ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"UpstreamAttenuation": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current upstream signal loss (expressed in <<units>>).",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"DownstreamAttenuation": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current downstream signal loss (expressed in <<units>>).",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"UpstreamPower": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current output power at the CPEs FAST line (expressed in <<units>>).",
					"datatype": "int",
					"unit": "0.1dBmV"
				},
				"DownstreamPower": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current received power at the CPEs FAST line (expressed in <<units>>).",
					"datatype": "int",
					"unit": "0.1dBmV"
				},
				"SNRMRMCds": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the signal-to-noise margin for the robust management channel (RMC) in the downstream direction (express in <<units>>). A special value (-512) indicates that the signal-to-noise ratio margin for the RMC is out of the range to be represented. This parameter is defined in clauses 7.10.12.1 of ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"SNRMRMCus": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the signal-to-noise margin for the robust management channel (RMC) in the upstream direction (express in <<units>>). A special value (-512) indicates that the signal-to-noise ratio margin for the RMC is out of the range to be represented. This parameter is defined in clauses 7.10.12.2 of ITU-T Recommendation <<bibref|G.997.2>>.",
					"datatype": "int",
					"unit": "0.1dB"
				},
				"BITSRMCpsds": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items report the bit allocation values on RMC sub-carriers in RMC symbols in the downstream direction. Each pair composes of a sub-carrier index from 0..4095 and an 8 bit allocation value. There are maximum 512 pairs. This parameter is defined in clause 7.10.12.3 of ITU-T Recommendation <<bibref|G.997.2>>.",
					"list": {
						"datatype": "int",
						"maxsize": 4610
					}
				},
				"BITSRMCpsus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items report the bit allocation values on RMC sub-carriers in RMC symbols in the upstream direction. Each pair composes of a sub-carrier index from 0..4095 and an 8 bit allocation value. There are maximum 512 pairs. This parameter is defined in clause 7.10.12.4 of ITU-T Recommendation <<bibref|G.997.2>>.",
					"list": {
						"datatype": "int",
						"maxsize": 4610
					}
				},
				"FEXTCANCELds": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This indicates whether FEXT cancellation in the downstream direction from all the other vectored lines into the line in the vectored group is enabled (TRUE) or disabled (FALSE). This parameter is defined as FEXT_TO_CANCEL_ENABLEds in clause 7.1.7.1 of ITU Recommendation <<bibref|G.997.2>>.",
					"datatype": "boolean"
				},
				"FEXTCANCELus": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This indicates whether FEXT cancellation in the upstream direction from all the other vectored lines into the line in the vectored group is enabled (TRUE) or disabled (FALSE). This parameter is defined as FEXT_TO_CANCEL_ENABLEds in clause 7.1.7.1 of ITU Recommendation <<bibref|G.997.2>>.",
					"datatype": "boolean"
				},
				"ETRds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the expected throughput rate expressed in <<units>> as defined in clause 7.11.1.2 of ITU-T Recommendation <<bibref|G.997.2>>",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"ETRus": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the expected throughput rate expressed in <<units>> as defined in clause 7.11.1.2 of ITU-T Recommendation <<bibref|G.997.2>>",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"ATTETRds": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the attainable expected throughput expressed in <<units>> as defined in clause 7.11.2.2 of ITU-T Recommendation <<bibref|G.997.2>>",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"ATTETRus": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the attainable expected throughput expressed in <<units>> as defined in clause 7.11.2.2 of ITU-T Recommendation <<bibref|G.997.2>>",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"MINEFTR": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter reports the minimum error free throughput value expressed in <<units>> computed from power up as defined in clause 11.4.1.1.3 of ITU-T Recommendation <<bibref|G.9701>>",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"Device.FAST.Line.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"TotalStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "FAST-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|Total>> statistics. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"ShowtimeStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "FAST-specific statistic. The Number of <<units>> since the most recent DSL Showtime - the beginning of the period used for collection of <<object|Showtime>> statistics. Showtime is defined as successful completion of the DSL link establishment process. The Showtime statistics are those collected since the most recent establishment of the DSL link. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LastShowtimeStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "FAST-specific statistic. The Number of <<units>> since the second most recent DSL Showtime-the beginning of the period used for collection of <<object|LastShowtime>> statistics. If the CPE has not retained information about the second most recent Showtime (e.g., on reboot), the start of LastShowtime statistics MAY temporarily coincide with the start of Showtime statistics. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"CurrentDayStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "FAST-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|CurrentDay>> statistics. The CPE MAY align the beginning of each CurrentDay interval with days in the UTC time zone, but is not required to do so. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"QuarterHourStart": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "FAST-specific statistic. The Number of <<units>> since the beginning of the period used for collection of <<object|QuarterHour>> statistics. The CPE MAY align the beginning of each QuarterHour interval with real-time quarter-hour intervals, but is not required to do so. Statistics SHOULD continue to be accumulated across CPE reboots, though this might not always be possible. Note: <<param>> SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					},
					"Device.FAST.Line.{i}.Stats.Total.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains DSL line total statistics. Note: The <<object>> parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of severely errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LOSS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of signal <<units>> (LOSS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LOSS is declared if, during a 1-second interval, there are one or more los defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LORS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of RMC <<units>> (LORS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LORS is declared if, during a 1-second interval, there are one or more lor defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"UAS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of unavailable <<units>> (UAS) as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"RTXUC": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of uncorrected DTU anomalies (rtx_uc). This parameter is defined in clause 7.8.5 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"RTXTX": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of retransmitted DTU anomalies (rtx_tx). This parameter is defined in clause 7.8.6 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessBSW": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful bit swap (BSW) primitives. This parameter is defined as success_BSW in clause 7.7.20 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessSRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful autonomous SRA (seamless rate adaptation) primitives. This parameter is defined as success_SRA in clause 7.7.21 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessFRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful FRA (fast rate adaptation) primitives. This parameter is defined as success_FRA in clause 7.7.22 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessRPA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful RPA (RMC parameter adjustment) primitives. This parameter is defined as success_RPA in clause 7.7.23 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessTIGA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful TIGA (transmitter initiated gain adjustment) primitives. This parameter is defined as success_TIGA in clause 7.7.24 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						}
					},
					"Device.FAST.Line.{i}.Stats.Showtime.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains FAST line statistics since the most recent showtime. Note: The Total parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of severely errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LOSS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of signal <<units>> (LOSS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LOSS is declared if, during a 1-second interval, there are one or more los defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LORS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of RMC <<units>> (LORS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LORS is declared if, during a 1-second interval, there are one or more lor defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"UAS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of unavailable <<units>> (UAS) as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"RTXUC": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of uncorrected DTU anomalies (rtx_uc). This parameter is defined in clause 7.8.5 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"RTXTX": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of retransmitted DTU anomalies (rtx_tx). This parameter is defined in clause 7.8.6 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessBSW": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful bit swap (BSW) primitives. This parameter is defined as success_BSW in clause 7.7.20 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessSRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful autonomous SRA (seamless rate adaptation) primitives. This parameter is defined as success_SRA in clause 7.7.21 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessFRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful FRA (fast rate adaptation) primitives. This parameter is defined as success_FRA in clause 7.7.22 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessRPA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful RPA (RMC parameter adjustment) primitives. This parameter is defined as success_RPA in clause 7.7.23 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessTIGA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful TIGA (transmitter initiated gain adjustment) primitives. This parameter is defined as success_TIGA in clause 7.7.24 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						}
					},
					"Device.FAST.Line.{i}.Stats.LastShowtime.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains FAST line statistics since the second most recent showtime. Note: The Total parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of severely errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LOSS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of signal <<units>> (LOSS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LOSS is declared if, during a 1-second interval, there are one or more los defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LORS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of RMC <<units>> (LORS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LORS is declared if, during a 1-second interval, there are one or more lor defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"UAS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of unavailable <<units>> (UAS) as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"RTXUC": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of uncorrected DTU anomalies (rtx_uc). This parameter is defined in clause 7.8.5 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"RTXTX": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of retransmitted DTU anomalies (rtx_tx). This parameter is defined in clause 7.8.6 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessBSW": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful bit swap (BSW) primitives. This parameter is defined as success_BSW in clause 7.7.20 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessSRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful autonomous SRA (seamless rate adaptation) primitives. This parameter is defined as success_SRA in clause 7.7.21 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessFRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful FRA (fast rate adaptation) primitives. This parameter is defined as success_FRA in clause 7.7.22 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessRPA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful RPA (RMC parameter adjustment) primitives. This parameter is defined as success_RPA in clause 7.7.23 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessTIGA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful TIGA (transmitter initiated gain adjustment) primitives. This parameter is defined as success_TIGA in clause 7.7.24 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						}
					},
					"Device.FAST.Line.{i}.Stats.CurrentDay.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains FAST line statistics accumulated during the current day. Note: The Total parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of severely errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LOSS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of signal <<units>> (LOSS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LOSS is declared if, during a 1-second interval, there are one or more los defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LORS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of RMC <<units>> (LORS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LORS is declared if, during a 1-second interval, there are one or more lor defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"UAS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of unavailable <<units>> (UAS) as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"RTXUC": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of uncorrected DTU anomalies (rtx_uc). This parameter is defined in clause 7.8.5 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"RTXTX": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of retransmitted DTU anomalies (rtx_tx). This parameter is defined in clause 7.8.6 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessBSW": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful bit swap (BSW) primitives. This parameter is defined as success_BSW in clause 7.7.20 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessSRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful autonomous SRA (seamless rate adaptation) primitives. This parameter is defined as success_SRA in clause 7.7.21 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessFRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful FRA (fast rate adaptation) primitives. This parameter is defined as success_FRA in clause 7.7.22 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessRPA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful RPA (RMC parameter adjustment) primitives. This parameter is defined as success_RPA in clause 7.7.23 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessTIGA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful TIGA (transmitter initiated gain adjustment) primitives. This parameter is defined as success_TIGA in clause 7.7.24 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						}
					},
					"Device.FAST.Line.{i}.Stats.QuarterHour.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains FAST line statistics accumulated during the current quarter hour. Note: The Total parameters SHOULD NOT be reset when the interface statistics are reset via an interface disable / enable cycle.",
						"access": false,
						"array": false,
						"ErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>. An errored second (ES) is declared if, during a 1-second interval, there are one or more crc anomalies, or one or more los defects, or one or more lor defects, or one or more lpr primitives.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverelyErroredSecs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of severely errored <<units>> as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LOSS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of signal <<units>> (LOSS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LOSS is declared if, during a 1-second interval, there are one or more los defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"LORS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of loss of RMC <<units>> (LORS) as defined in ITU-T Rec. <<bibref|G.997.2>>. A LORS is declared if, during a 1-second interval, there are one or more lor defects.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"UAS": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Total number of unavailable <<units>> (UAS) as defined in ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"RTXUC": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of uncorrected DTU anomalies (rtx_uc). This parameter is defined in clause 7.8.5 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"RTXTX": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of retransmitted DTU anomalies (rtx_tx). This parameter is defined in clause 7.8.6 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessBSW": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful bit swap (BSW) primitives. This parameter is defined as success_BSW in clause 7.7.20 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessSRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful autonomous SRA (seamless rate adaptation) primitives. This parameter is defined as success_SRA in clause 7.7.21 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessFRA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful FRA (fast rate adaptation) primitives. This parameter is defined as success_FRA in clause 7.7.22 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessRPA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful RPA (RMC parameter adjustment) primitives. This parameter is defined as success_RPA in clause 7.7.23 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						},
						"SuccessTIGA": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter reports a count of the successful TIGA (transmitter initiated gain adjustment) primitives. This parameter is defined as success_TIGA in clause 7.7.24 of ITU-T Rec. <<bibref|G.997.2>>.",
							"datatype": "unsignedInt"
						}
					}
				},
				"Device.FAST.Line.{i}.TestParams.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains the FAST line test parameters that are available during the L0 (i.e., Showtime) state.",
					"access": false,
					"array": false,
					"SNRGds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the number of sub-carriers in any one sub-carrier group used to represent the downstream SNR(f) values. Valid values are 1, 2, 4, and 8. Note: In ITU-T G.9701-2014, the only valid value is G = 1. See clause 7.10.8.2 ITU-T Recommendation <<bibref|G.997.2>>.",
						"datatype": "unsignedInt"
					},
					"SNRGus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the number of sub-carriers in any one sub-carrier group used to represent the upstream SNR(f) values. Valid values are 1, 2, 4, and 8. Note: In ITU-T G.9701-2014, the only valid value is G = 1. See clause 7.10.8.5 ITU-T Recommendation <<bibref|G.997.2>>.",
						"datatype": "unsignedInt"
					},
					"SNRpsds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Reports the downstream SNR(f) values. A special value indicates that no measurement could be done for this sub-carrier group because it is out of the downstream MEDLEY set or its transmit power is zero. The number of elements will depend on the value of SNRGds. Interpretation of the values is as defined in clause 11.4.1.2.2.of ITU-T Rec. <<bibref|G.9701>>. Note: See clause 7.10.8.3 of ITU-T Recommendation <<bibref|G.997.2>>.",
						"list": {
							"datatype": "int",
							"maxsize": 2047
						}
					},
					"SNRpsus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Reports the upstream SNR(f) values. A special value indicates that no measurement could be done for this sub-carrier group because it is out of the downstream MEDLEY set or its transmit power is zero. The number of elements will depend on the value of SNRGds. Interpretation of the values is as defined in clause 11.4.1.2.2.of ITU-T Rec. <<bibref|G.9701>>. Note: See clause 7.10.8.6 of ITU-T Recommendation <<bibref|G.997.2>>.",
						"list": {
							"datatype": "string",
							"maxsize": 2047
						}
					},
					"SNRMTds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the number of symbols used to measure the downstream SNR(f) values. The valid values 0..65535. Note: See clause 7.10.8.1 of ITU-T Recommendation <<bibref|G.997.2>>.",
						"datatype": "unsignedInt"
					},
					"SNRMTus": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the number of symbols used to measure the upstream SNR(f) values. The valid values 0..65535. Note: See clause 7.10.8.4 of ITU-T Recommendation <<bibref|G.997.2>>.",
						"datatype": "unsignedInt"
					},
					"ACTINP": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the actual INP against SHINE as defined in clause 11.4.1.1.7/<<bibref|G.9701>>. A special value indicates an actual INP against SHINE of 2047 symbols or higher. The valid values are 0..2046 and 2047 is the special value. Note: See ITU-T Recommendation <<bibref|G.997.2>>.",
						"datatype": "unsignedInt"
					},
					"NFEC": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the DTU FEC codeword length (expressed in 1 byte unit) as defined in clause 9.3/<<bibref|G.9701>>. The valid range is 32..255. Note: See clause 7.11.4.1 ITU-T Recommendation <<bibref|G.997.2>>.",
						"datatype": "unsignedInt"
					},
					"RFEC": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the DTU FEC codeword redundancy as defined in clause 9.3/<<bibref|G.9701>>. Note: See ITU-T Recommendation <<bibref|G.997.2>>.",
						"datatype": "int"
					},
					"UpstreamCurrRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the current physical layer aggregate data rate (expressed in <<units>>) of the upstream FAST as defined in clause 11.4.1.1.1/<<bibref|G.9701>>. The current physical layer aggregate data rate (expressed in Kbps) of the upstream FAST connection. The valid values are 0..4294967295(0 to 232-1 kbit/s).",
						"datatype": "unsignedInt",
						"unit": "Kbps"
					},
					"DownstreamCurrRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the current physical layer aggregate data rate (expressed in <<units>>) of the upstream FAST as defined in clause 11.4.1.1.1/<<bibref|G.9701>>. The current physical layer aggregate data rate (expressed in Kbps) of the downstream FAST connection. The valid values are 0..4294967295(0 to 232-1 kbit/s).",
						"datatype": "unsignedInt",
						"unit": "Kbps"
					},
					"ACTINPREIN": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reports the actual INP against REIN as defined in clause 11.4.1.1.8/<<bibref|G.9701>>. A special value indicates an actual INP against REIN of 63 symbols or higher. The valid range is 0..62 symbols, and 63 is the special value.",
						"datatype": "unsignedInt"
					}
				}
			}
		},
		"Device.Optical.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object models a generic optical interface. It defines an <<object|Interface>> object that models a layer 1 optical interface that is capable of transporting Ethernet packets. For historical reasons, the data model definition is based on parts of <<bibref|G.988>>. However, it is not intended to model anything specific to IEEE PON or ITU-T PON technologies. Note that this object is not intended to model the optical transceiver either.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Optical.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Optical interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models physical optical interfaces.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the optical interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"MaxBitRate": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>). A value of -1 indicates automatic selection of the maximum bit rate.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "Mbps"
				},
				"SFPReferenceList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Small-form Factor Pluggable (SFP) entries associated with this interface.",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"OpticalSignalLevel": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current measurement of total downstream optical signal level. The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. | The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. Valid values are -65.536 dBm (coded as -65536), to 65.534 dBm (coded as 65534) in 0.002 dB increments. This parameter is based on Optical signal level from <<bibref|G.988|Section 9.2.1>>.",
					"datatype": "Dbm1000"
				},
				"LowerOpticalThreshold": {
					"type": "int",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Optical level that is used to declare the downstream low received optical power alarm. The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. | The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. Valid values are -127.5 dBm (coded as -127500) to 0 dBm (coded as 0) in 0.5 dB increments. The value -127500 indicates the devices internal policy. This parameter is based on Lower optical threshold from <<bibref|G.988|section 9.2.1>>. <<deprecated|2.15|because it is not intended for the device to raise an optical power alarm.>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"datatype": "Dbm1000"
				},
				"UpperOpticalThreshold": {
					"type": "int",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Optical level that is used to declare the downstream high received optical power alarm. The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. | The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. Valid values are -127.5 dBm (coded as -127500) to 0 dBm (coded as 0) in 0.5 dB increments. The value -127500 indicates the devices internal policy. This parameter is based on Upper optical threshold from <<bibref|G.988|section 9.2.1>>. <<deprecated|2.15|because it is not intended for the device to raise an optical power alarm.>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"datatype": "Dbm1000"
				},
				"TransmitOpticalLevel": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current measurement of mean optical launch power. The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. | The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. Valid values are -65.536 dBm (coded as -65536), to 65.534 dBm (coded as 65534) in 0.002 dB increments. This parameter is based on Transmit optical level from <<bibref|G.988|section 9.2.1>>.",
					"datatype": "Dbm1000"
				},
				"LowerTransmitPowerThreshold": {
					"type": "int",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Minimum mean optical launch power that is used to declare the low transmit optical power alarm. The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. | The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. Valid values are -63.5 dBm (coded as -63500) to +63.5 dBm (coded as 63500) in 0.5 dB increments. The value -63500 indicates the devices internal policy. This parameter is based on Lower transmit power threshold from <<bibref|G.988|section 9.2.1>>. <<deprecated|2.15|because it is not intended for the device to raise an optical power alarm.>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"datatype": "Dbm1000"
				},
				"UpperTransmitPowerThreshold": {
					"type": "int",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum mean optical launch power that is used to declare the high transmit optical power alarm. The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. | The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm. Valid values are -63.5 dBm (coded as -63500) to +63.5 dBm (coded as 63500) in 0.5 dB increments. The value -63500 indicates the devices internal policy. This parameter is based on Upper transmit power threshold from <<bibref|G.988|section 9.2.1>>. <<deprecated|2.15|because it is not intended for the device to raise an optical power alarm.>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"datatype": "Dbm1000"
				},
				"Device.Optical.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			}
		},
		"Device.Cellular.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object models cellular interfaces and access points.",
			"access": false,
			"array": false,
			"RoamingEnabled": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables roaming.",
				"datatype": "boolean"
			},
			"RoamingStatus": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Current roaming status.",
				"datatype": "string",
				"enumerations": [
					"Home",
					"Roaming"
				]
			},
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"AccessPointNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Cellular.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Cellular interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Each instance of this object models a cellular modem with a single radio and can reference multiple <<object|.TrustedElements.SIM.>>.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"IMEI": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "International Mobile Station Equipment Identity number, represented as a 15 digit string (digits 0-9).",
					"datatype": "string",
					"range": [
						{
							"min": 15,
							"max": 15
						}
					],
					"pattern": [
						"[0-9]{15,15}"
					]
				},
				"SupportedAccessTechnologies": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Access technologies supported by the interface.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"GPRS",
							"EDGE",
							"UMTS",
							"UMTSHSPA",
							"CDMA2000OneX",
							"CDMA2000HRPD",
							"LTE",
							"NR"
						]
					}
				},
				"PreferredAccessTechnology": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Preferred access technology.",
					"default": "Auto",
					"datatype": "string"
				},
				"CurrentAccessTechnology": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Access technology that is currently in use.",
					"datatype": "string"
				},
				"AvailableNetworks": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "List of available networks.",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					}
				},
				"NetworkRequested": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Name of the network which will be used, or <<empty>> if the network is selected automatically.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"NetworkInUse": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value is <<empty>> if no network is found, or if the network specified in <<param|NetworkRequested>> is not found.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"RSSI": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The received signal strength in <<units>>. The allowed values depend on <<param|CurrentAccessTechnology>>: * For <<enum|GPRS|SupportedAccessTechnologies>>, <<enum|EDGE|SupportedAccessTechnologies>> the range is -111 <<units>> to -49 <<units>> * For <<enum|UMTS|SupportedAccessTechnologies>>, <<enum|UMTSHSPA|SupportedAccessTechnologies>> the range is -117 <<units>> to -54 <<units>> * For <<enum|LTE|SupportedAccessTechnologies>>, <<enum|NR|SupportedAccessTechnologies>> the range is -117 <<units>> to -25 <<units>> Note: An undetectable signal is indicated by the appropriate lower limit, e.g. -117 <<units>> for LTE.",
					"datatype": "int",
					"unit": "dBm"
				},
				"RSRP": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Reference Signal Received Power in <<units>> for <<enum|LTE|SupportedAccessTechnologies>>, <<enum|NR|SupportedAccessTechnologies>> values of <<param|CurrentAccessTechnology>>: * The valid range of RSRP values from worst to best is -140 <<units>> to -44 <<units>> * Set to <<maxval>> if RSRP is not supported by the current access technology",
					"datatype": "int",
					"unit": "dBm"
				},
				"RSRQ": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Reference Signal Received Quality in <<units>> for <<enum|LTE|SupportedAccessTechnologies>>, <<enum|NR|SupportedAccessTechnologies>> values of <<param|CurrentAccessTechnology>>: * RSRQ is calculated using RSSI and RSRP values using RSRQ = (N*RSRP)/RSSI where N is the number of resource blocks (bandwidth). * The valid range of RSRQ values from worst to best is -20 <<units>> to -3 <<units>>. * Set to <<maxval>> if RSRQ is not supported by the current access technology.",
					"datatype": "int",
					"unit": "dBm"
				},
				"UpstreamMaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current maximum attainable data rate upstream (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"DownstreamMaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current maximum attainable data rate downstream (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Kbps"
				},
				"SIMReferenceList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each list item references a SIM with which the interface is associated.",
					"list": {
						"datatype": "string"
					}
				},
				"Device.Cellular.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter64"
					},
					"ErrorsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter64"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.Cellular.Interface.{i}.USIM.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "USIM (Universal Subscriber Identity Module or SIM card) parameters for the interface. <<deprecated|2.19|because moved to <<object|.TrustedElements.SIM>>>>",
					"access": false,
					"array": false,
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current status of the USIM card.",
						"datatype": "string",
						"enumerations": [
							"None",
							"Available",
							"Valid",
							"Blocked",
							"Error"
						]
					},
					"IMSI": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "International Mobile Subscriber Identity represented as a string with either 14 or 15 digits (digits 0-9). The first 3 digits are the mobile country code (MCC), which are followed by the mobile network code (MNC), either 2 digits (European standard) or 3 digits (North American standard), followed by the mobile subscription identification number (MSIN).",
						"datatype": "string",
						"range": [
							{
								"min": 14,
								"max": 15
							}
						],
						"pattern": [
							"[0-9]{14,15}"
						]
					},
					"ICCID": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Integrated Circuit Card Identifier represented as a string of up to 20 digits (digits 0-9). The number is composed of the following parts: * Major industry identifier (MII), 2 fixed digits, 89 for telecommunication purposes. * Country code, 1\u20133 digits, as defined by ITU-T recommendation <<bibref|ITU-E.164>>. * identifier, 1\u20134 digits. * Individual account identification number. Its length is variable, but every number under one IIN will have the same length. * Single check digit calculated from the other digits using the Luhn algorithm. For cards using an ICCID according to <<bibref|ITU-E.118>> the maximum length is 19 Digits, for GSM cards 20 digits.",
						"datatype": "string",
						"range": [
							{
								"min": 6,
								"max": 20
							}
						],
						"pattern": [
							"[0-9]{6,20}"
						]
					},
					"MSISDN": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Mobile Subscriber Integrated Service Digital Network Number, a number uniquely identifying a subscription in a GSM, UMTS, or LTE mobile network. <<bibref|ITU-E.164>>",
						"datatype": "string",
						"range": [
							{
								"min": 14,
								"max": 15
							}
						],
						"pattern": [
							"[0-9]{14,15}"
						]
					},
					"PINCheck": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Controls the PIN verification of the USIM card.",
						"datatype": "string",
						"enumerations": [
							"OnNetworkAccess",
							"Reboot",
							"Off"
						]
					},
					"PIN": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Allows the Controller to change the USIM PIN used for SIM card activation.",
						"datatype": "string",
						"range": [
							{
								"max": 4
							}
						]
					}
				},
				"Device.Cellular.Interface.{i}.SMS.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The object models SMS (Short Message Service) features.",
					"access": true,
					"array": false,
					"StorageNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"MessageNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Cellular.Interface.{i}.SMS.Storage.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represents a SMS storage location. Each instance of this object corresponds to a distinct SMS storage area. Multiple instances of this object may exist, each representing a different storage type (e.g., SM SIM card, ME device memory).",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Location": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the storage location e.g. SM SIM card, ME device memory.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Capacity": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The maximum number of SMS messages in <<object|Device.Cellular.Interface.<i>.SMS.Message>> that can be stored in Storage.",
							"datatype": "unsignedInt"
						},
						"StorageAvailable": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates whether the SMS Storage is available to receive new messages. <<true>> means that there is storage still available; <<false>> means that the storage is full.",
							"datatype": "boolean"
						},
						"AvailableCapacity": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of SMS messages in <<object|Device.Cellular.Interface.<i>.SMS.Message>> that the Storage entity has room to store, which can not exceed <<param|Capacity>>.",
							"datatype": "unsignedInt"
						}
					},
					"Device.Cellular.Interface.{i}.SMS.Incoming.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object models incoming SMS configuration.",
						"access": true,
						"array": false,
						"StorageRef": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the memory path where the messages are stored.",
							"datatype": "string"
						},
						"CapacityLimit": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum number of incoming SMS messages to be stored. If the number of incoming messages in <<object|Device.Cellular.Interface.<i>.SMS.Message>> exceeds CapacityLimit, the oldest incoming messages will be removed automatically to prevent storage overfilling. -1 disables automatic messages removal.",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						}
					},
					"Device.Cellular.Interface.{i}.SMS.Outgoing.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object models outgoing SMS configuration.",
						"access": true,
						"array": false,
						"StorageRef": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the memory path where the messages are stored.",
							"datatype": "string"
						},
						"CapacityLimit": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum number of outgoing SMS messages to be stored. If the number of outgoing messages in <<object|Device.Cellular.Interface.<i>.SMS.Message>> exceeds CapacityLimit, the oldest outgoing messages will be removed automatically to prevent storage overfilling. -1 disables automatic messages removal.",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							]
						}
					},
					"Device.Cellular.Interface.{i}.SMS.Message.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object models individual SMS messages, including both received and sent entries.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Sender": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Phone number of the SMS sender.",
							"datatype": "string"
						},
						"Receiver": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Phone number of the SMS receiver.",
							"datatype": "string"
						},
						"TimeStamp": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the time an incoming SMS was received (when <<param|Status>> is <<enum|Received|Status>>) or when an outgoing SMS was sent (when <<param|Status>> is <<enum|Sent|Status>>).",
							"datatype": "dateTime"
						},
						"Text": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Text of the SMS message.",
							"datatype": "string"
						},
						"StorageRef": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the memory path where the messages are stored.",
							"datatype": "string"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of the message.",
							"datatype": "string",
							"enumerations": [
								"ReceivedRead",
								"Received",
								"Sent",
								"Stored",
								"Unknown"
							]
						},
						"Type": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the type of the message.",
							"datatype": "string",
							"enumerations": [
								"PointToPoint",
								"Broadcast",
								"Acknowledgement"
							]
						}
					}
				}
			},
			"Device.Cellular.AccessPoint.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Cellular Access Point table. Each entry is identified by an <<param|APN>> (Access Point Name) that identifies a gateway between the mobile network and another computer network. Note: Device 2.19 grouped the APN and Interface keys into one combined key.",
				"uniqueKeys": [
					"Alias",
					"APN",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the Access Point.",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"APN": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Access Point Name.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Username used to authenticate the CPE when making a connection to the Access Point.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Password used to authenticate the CPE when making a connection to the Access Point.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Proxy": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Proxy server IP address.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"ProxyPort": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Proxy server port.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reference to the interface with which the access point is associated.",
					"datatype": "string"
				},
				"IPVersion": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the IP protocol version, following the definitions in <<bibref|IANA-ipversionnumbers>>. Valid values are: <<range>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": 4,
							"max": 4
						},
						{
							"min": 6,
							"max": 6
						},
						{
							"min": -1,
							"max": -1
						}
					]
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter specifies the type of APN being used. Common values are default, mms, ims, hipri, ... The specific values supported may vary depending on the network operator. If the APN type is not applicable, this parameter may be <<empty>>.",
					"list": {
						"datatype": "string"
					}
				}
			}
		},
		"Device.TrustedElements.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object models Trusted Elements, specialized components in home gateways that create secure environments for sensitive data, cryptographic keys, and trusted applications. Essential for securing SIM/eSIM data, managing IoT devices, and encrypting network traffic, Trusted Elements protect home networks by preventing unauthorized access and ensuring data integrity.",
			"access": true,
			"array": false,
			"SIMNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.TrustedElements.SIM.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object models SIM (Subscriber Identity Module) parameters for the interface, including support for eSIM (embedded SIM) functionality.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current status of the SIM.",
					"datatype": "string",
					"enumerations": [
						"None",
						"Available",
						"Valid",
						"Blocked",
						"Error"
					]
				},
				"IMSI": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "International Mobile Subscriber Identity represented as a string with either 14 or 15 digits (digits 0-9). The first 3 digits are the mobile country code (MCC), which are followed by the mobile network code (MNC), either 2 digits (European standard) or 3 digits (North American standard), followed by the mobile subscription identification number (MSIN).",
					"datatype": "string",
					"range": [
						{
							"min": 14,
							"max": 15
						}
					],
					"pattern": [
						"[0-9]{14,15}"
					]
				},
				"ICCID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Integrated Circuit Card Identifier represented as a string of up to 20 digits (digits 0-9). The number is composed of the following parts: * Major industry identifier (MII), 2 fixed digits, 89 for telecommunication purposes. * Country code, 1\u20133 digits, as defined by ITU-T recommendation <<bibref|ITU-E.164>>. * identifier, 1\u20134 digits. * Individual account identification number. Its length is variable, but every number under one IIN will have the same length. * Single check digit calculated from the other digits using the Luhn algorithm. For cards using an ICCID according to <<bibref|ITU-E.118>> the maximum length is 19 Digits, for GSM cards 20 digits.",
					"datatype": "string",
					"range": [
						{
							"min": 6,
							"max": 20
						}
					],
					"pattern": [
						"[0-9]{6,20}"
					]
				},
				"MSISDN": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Mobile Subscriber Integrated Service Digital Network Number, a number uniquely identifying a subscription in a GSM, UMTS, or LTE mobile network. <<bibref|ITU-E.164>>",
					"datatype": "string",
					"range": [
						{
							"min": 14,
							"max": 15
						}
					],
					"pattern": [
						"[0-9]{14,15}"
					]
				},
				"SMSC": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The SMSC (SMS Center address) is part of the mobile network providers configuration and is included on the SIM card or in the network provisioning package when the phone is initialized.",
					"datatype": "string"
				},
				"EID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the unique identifier for the eUICC (Embedded Universal Integrated Circuit Card), which is a built-in SIM that can store multiple carrier profiles and be updated remotely.",
					"datatype": "string"
				},
				"ProfileNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ESIMProfileAddStatus": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the operational status of the last network initiated Profile Add attempt for the embedded SIM (eSIM). The ESIM prefix indicates that this parameter is related to eSIM functionality.",
					"datatype": "string"
				},
				"ESIMClassEnabledProfile": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "References the currently activated <<object|Profile.>>.",
					"datatype": "string"
				},
				"ESIMTestMode": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allows the cellular network to enable or disable the Test profile. When set to <<true>>, any currently active profile is disabled, and the <<param|ESIMClassEnabledProfile>> is ignored. When set to <<false>>, the previously active profile is re-enabled.",
					"datatype": "boolean"
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current type of the SIM card.",
					"datatype": "string",
					"enumerations": [
						"None",
						"USIM",
						"eSIM"
					]
				},
				"GID1": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A hexadecimal identifier used to differentiate between different SIM card tariffs or derive APNs. For more details, refer to <<bibref|3GPP-TS.31.102>>.",
					"datatype": "string"
				},
				"Usage": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the usage of the SIM instance.",
					"datatype": "string",
					"enumerations": [
						"UICC",
						"DRM",
						"WWC",
						"CA"
					]
				},
				"PINCheck": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls the PIN verification of the USIM card.",
					"datatype": "string",
					"enumerations": [
						"OnNetworkAccess",
						"Reboot",
						"Off"
					]
				},
				"PIN": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allows the Controller to change the USIM PIN used for SIM card activation.",
					"datatype": "string",
					"range": [
						{
							"max": 4
						}
					]
				},
				"ProtectionScheme": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Protection Scheme Field\u2014This field is a 4-bit value ranging 0\u201315, which identifies the protection scheme used to generate the SUCI. The following values are currently defined: - Null Scheme\u20140x00 - Profile <A>\u20140x1 - Profile <B>\u20140x2 - Other Values (3\u201315)\u2014Reserved for future use",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 15
						}
					]
				},
				"HomeNetworkPublicKeyID": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Home Network Public Key ID Field\u2014This field is an 8-bit value ranging 0\u2013255, which identifies the public key provisioned by the Home Public Land Mobile Network (HPLMN) and used for SUPI protection. When the Null Scheme is used, this field is set to 0.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 255
						}
					]
				},
				"RoutingIndicator": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Routing Indicator Field\u2014This field is a numerical value consisting of 1\u20134 decimal digits. Its assigned by the home network operator and securely provisioned within the SIM/eSIM profile.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 9999
						}
					]
				},
				"Device.TrustedElements.SIM.{i}.Profile.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Profile table for SIM.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the profile name.",
						"datatype": "string"
					},
					"IMSI": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "International Mobile Subscriber Identity represented as a string with either 14 or 15 digits (digits 0-9). The first 3 digits are the mobile country code (MCC), which are followed by the mobile network code (MNC), either 2 digits (European standard) or 3 digits (North American standard), followed by the mobile subscription identification number (MSIN).",
						"datatype": "string",
						"range": [
							{
								"min": 14,
								"max": 15
							}
						],
						"pattern": [
							"[0-9]{14,15}"
						]
					},
					"ICCID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the profile ICCID.",
						"datatype": "string"
					},
					"State": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the profile state.",
						"datatype": "string",
						"enumerations": [
							"Active",
							"Inactive"
						]
					},
					"Class": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the profile class.",
						"datatype": "string",
						"enumerations": [
							"Provisioning",
							"Test",
							"Operational",
							"Unknown"
						]
					},
					"GID1": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Differentiate e.g. different tariffs of SIM card, derive APNs etc. (as ASCII Hex dump)",
						"datatype": "string"
					}
				}
			}
		},
		"Device.ATM.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Asynchronous Transfer Mode (ATM) object that contains the <<object|Link>> interface and <<object|Diagnostics.F5Loopback>> diagnostics.",
			"access": false,
			"array": false,
			"LinkNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.ATM.Link.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "ATM link-layer table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Models an ATM PVC virtual circuit and the ATM Adaption Layer (AAL). An ATM Link entry is typically stacked on top of either a <<object|##.DSL.Channel>> or a <<object|##.DSL.BondingGroup>> object. When an ATM Link interface is used, a lower-layer <<object|##.DSL.Channel>> interface MUST be configured with ATM encapsulation (see <<param|##.DSL.Channel.<i>.LinkEncapsulationUsed>>).",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"LinkType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the type of connection and refers to the complete stack of protocol used for this connection.",
					"datatype": "string",
					"enumerations": [
						"EoA",
						"IPoA",
						"PPPoA",
						"CIP",
						"Unconfigured"
					]
				},
				"AutoConfig": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates if the CPE is currently using some auto configuration mechanisms for this connection. If this variable is <<true>>, all writable variables in this connection instance become read-only. Any attempt to change one of these variables SHOULD fail and an error SHOULD be returned.",
					"datatype": "boolean"
				},
				"DestinationAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Destination address of this link, in the form VPI/VCI (e.g. 8/23 or 0/35).",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					],
					"pattern": [
						"\\d+/\\d+"
					]
				},
				"Encapsulation": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies the connection encapsulation that will be used.",
					"datatype": "string",
					"enumerations": [
						"LLC",
						"VCMUX"
					]
				},
				"FCSPreserved": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This flag tells if a checksum SHOULD be added in the ATM payload. It does not refer to the checksum of one of the ATM cells or AALX packets. In case of LLC or VCMUX encapsulation, this ATM checksum is the FCS field described in <<bibref|RFC2684>>. It is only applicable in the upstream direction.",
					"datatype": "boolean"
				},
				"VCSearchList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Ordered list of VPI/VCI pairs to search if a link using the <<param|DestinationAddress>> cannot be established. In the form VPI1/VCI1, VPI2/VCI2, .... <<pattern>> Example: : 0/35, 8/35, 1/35",
					"list": {
						"datatype": "string",
						"maxsize": 256,
						"pattern": [
							"\\d+/\\d+"
						]
					}
				},
				"AAL": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the ATM Adaptation Layer (AAL) currently in use on the PVC.",
					"datatype": "string",
					"enumerations": [
						"AAL1",
						"AAL2",
						"AAL3",
						"AAL4",
						"AAL5"
					]
				},
				"Device.ATM.Link.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"TransmittedBlocks": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current count of successfully transmitted cells.",
						"datatype": "unsignedInt"
					},
					"ReceivedBlocks": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current count of successfully received cells.",
						"datatype": "unsignedInt"
					},
					"CRCErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Count of the ATM layer cyclic redundancy check (CRC) errors. This refers to CRC errors at the ATM adaptation layer (AAL). The AAL in use is indicated by the <<param|#.AAL>> parameter. The value of the <<param>> parameter MUST be 0 for AAL types that have no CRCs.",
						"datatype": "unsignedInt"
					},
					"HECErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Count of the number of Header Error Check related errors at the ATM layer.",
						"datatype": "unsignedInt"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.ATM.Link.{i}.QoS.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The ATM Link QoS object.",
					"access": false,
					"array": false,
					"QoSClass": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Describes the ATM Quality Of Service (QoS) being used on the VC.",
						"datatype": "string",
						"enumerations": [
							"UBR",
							"CBR",
							"GFR",
							"VBR-nrt",
							"VBR-rt",
							"UBR+",
							"ABR"
						]
					},
					"PeakCellRate": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the upstream peak cell rate in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "cells per second"
					},
					"MaximumBurstSize": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the upstream maximum burst size in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "cells"
					},
					"SustainableCellRate": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the upstream sustainable cell rate, in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "cells per second"
					}
				}
			},
			"Device.ATM.Diagnostics.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The ATM Diagnostics object.",
				"access": false,
				"array": false,
				"F5Loopback()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> This is the interface over which the test is to be performed.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"NumberOfRepetitions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Number of repetitions of the ping test to perform before reporting the results.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						},
						"Timeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Timeout in <<units>> for the ping test.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error",
								"Error_Internal",
								"Error_Other"
							]
						},
						"SuccessCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the number of successful pings (those in which a successful response was received prior to the timeout) in the most recent ping test.",
							"datatype": "unsignedInt"
						},
						"FailureCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the number of failed pings in the most recent ping test.",
							"datatype": "unsignedInt"
						},
						"AverageResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"MinimumResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"MaximumResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						}
					}
				},
				"Device.ATM.Diagnostics.F5Loopback.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object provides access to an ATM-layer F5 OAM loopback test.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> This is the interface over which the test is to be performed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"NumberOfRepetitions": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Number of repetitions of the ping test to perform before reporting the results.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Timeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Timeout in <<units>> for the ping test.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "milliseconds"
					},
					"SuccessCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the number of successful pings (those in which a successful response was received prior to the timeout) in the most recent ping test.",
						"datatype": "unsignedInt"
					},
					"FailureCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the number of failed pings in the most recent ping test.",
						"datatype": "unsignedInt"
					},
					"AverageResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"MinimumResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"MaximumResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					}
				}
			}
		},
		"Device.DOCSIS.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "DOCSIS object. This object models the DOCSIS 3.x cable interface objects.",
			"access": false,
			"array": false,
			"CapabilitiesReq": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This attribute contains the TLV encoding for TLV-5 sent in a REG-REQ. The first byte of this encoding is expected to be 0x05. See <<bibref|CM-SP-MULPIv3.0>>, Modem Capabilities Encoding in the Common Radio Frequency Interface Encodings Annex.",
				"datatype": "TLV8",
				"range": [
					{
						"min": 0,
						"max": 0
					},
					{
						"min": 2,
						"max": 255
					}
				]
			},
			"CapabilitiesRsp": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This attribute contains the TLV encoding for TLV-5 received in a REG-RSP. The first byte of this encoding is expected to be 0x05. See <<bibref|CM-SP-MULPIv3.0>>, Modem Capabilities Encoding in the Common Radio Frequency Interface Encodings Annex.",
				"datatype": "TLV8",
				"range": [
					{
						"min": 0,
						"max": 0
					},
					{
						"min": 2,
						"max": 255
					}
				]
			},
			"DownstreamChannelNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"UpstreamChannelNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"DownstreamNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"UpstreamNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.DOCSIS.Downstream.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DOCSIS Downstream interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models the PHY DOCSIS Downstream interface.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"MaxBitRate": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>). A value of -1 indicates automatic selection of the maximum bit rate.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "Mbps"
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"CurrentBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current upstream and downstream PHY bit rate on this interface (expressed in <<units>>). A value of 0 indicates that the current bit rate is unknown.",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"DownstreamChannelList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Downstream Channels associated with this <<object>> interface.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Device.DOCSIS.Downstream.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.DOCSIS.Upstream.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DOCSIS Upstream interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models the PHY DOCSIS Upstream interface.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"MaxBitRate": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>). A value of -1 indicates automatic selection of the maximum bit rate.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "Mbps"
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"CurrentBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current upstream and downstream PHY bit rate on this interface (expressed in <<units>>). A value of 0 indicates that the current bit rate is unknown.",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"UpstreamChannelList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Upstream Channels associated with this <<object>> interface.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Device.DOCSIS.Upstream.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.DOCSIS.DownstreamChannel.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table describes the attributes of downstream channels (frequency bands). See <<bibref|CM-SP-RFIv2.0|Tables 6-16, and 6-17>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"ID": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Cable Modem Termination System identification of the downstream channel within this particular MAC interface. if the interface is down, the object returns the most current value. If the downstream channel ID is unknown, this object returns a value of 0.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 255
						}
					]
				},
				"Frequency": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The center of the downstream frequency associated with this channel. This object will return the current tuner frequency, measured in <<units>>. See <<bibref|CM-SP-RFIv2.0|Section 6.3.3>>.",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 1000000000
						}
					],
					"unit": "Hz"
				},
				"Width": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The bandwidth in <<units>> of this downstream channel. Most implementations are expected to support a channel width of 6 MHz (North America) and/or 8 MHz (Europe). See <<bibref|CM-SP-RFIv2.0|Table 6-17>>.",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 16000000
						}
					],
					"unit": "Hz"
				},
				"Modulation": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The modulation type associated with this downstream channel. If the interface is down, this object either returns the configured value (from the CMTS), the most current value (from the CM), or the value of <<enum|Unknown>>. See the reference for specifics on the modulation profiles implied by <<enum|QAM64>> and <<enum|QAM256>>. Enumeration of: Unknown, Other, QAM64, QAM256. See <<bibref|CM-SP-RFIv2.0|Table 6-17.>>",
					"datatype": "string",
					"enumerations": [
						"Unknown",
						"Other",
						"QAM64",
						"QAM256"
					]
				},
				"Interleave": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Forward Error Correction (FEC) interleaving used for this downstream channel. The value <<enum|Taps12increment17>> is supported by EuroDOCSIS cable systems only, and the others by DOCSIS cable systems. If the interface is down, this object either returns the configured value (from the CMTS), the most current value (from the CM), or the value of <<enum|Unknown>>. The value of <<enum|Other>> is returned if the interleave is known but not defined in the above list. See the reference for the FEC configuration described by the setting of this object. Enumeration of: Unknown, Other, Taps8Increment16, Taps16Increment8, Taps32Increment4, Taps64Increment2, Taps128Increment1, Taps12increment17. See <<bibref|CM-SP-RFIv2.0|Table 6-15>>.",
					"datatype": "string",
					"enumerations": [
						"Unknown",
						"Other",
						"Taps8Increment16",
						"Taps16Increment8",
						"Taps32Increment4",
						"Taps64Increment2",
						"Taps128Increment1",
						"Taps12increment17"
					]
				},
				"Power": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The received power level. If the interface is down, this object either returns the configured value (from the CMTS), the most current value (from the CM) or the value of 0. See the reference for recommended and required power levels. See <<bibref|CM-SP-RFIv2.0|Tables 6-16, 6-17>>.",
					"datatype": "TenthdBmV"
				},
				"Annex": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value of this object indicates the conformance of the implementation to important regional cable standards. Enumeration of: Unknown, Other, AnnexA, AnnexB, AnnexC. See <<bibref|CM-SP-RFIv2.0|Sections 6.3.1, and H.3.1>>.",
					"datatype": "string",
					"enumerations": [
						"Unknown",
						"Other",
						"AnnexA",
						"AnnexB",
						"AnnexC"
					]
				},
				"Device.DOCSIS.DownstreamChannel.{i}.SignalQuality.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the PHY signal quality of downstream channels.",
					"access": false,
					"array": false,
					"SignalNoise": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Signal/Noise ratio as perceived for this channel. Describes the Signal/Noise of the downstream channel, measured in <<units>>. See <<bibref|CM-SP-RFIv2.0|Tables 4-1 and 4-2>>."
					},
					"Microreflections": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Microreflections, including in-channel response as perceived on this interface, measured in <<units>> (i.e., dBc below the signal level). This object is not assumed to return an absolutely accurate value, but it gives a rough indication of microreflections received on this interface. It is up to the implementer to provide information as accurately as possible. See <<bibref|CM-SP-RFIv2.0|Tables 4-1 and 4-2>>.",
						"datatype": "int",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						],
						"unit": "-dBc"
					},
					"EqualizationData": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Returns the equalization data for the downstream channel. * An equalization value indicating an equalization average for the upstream channel. Those values have vendor-dependent interpretations. * Return a zero-length OCTET STRING to indicate that the value is unknown or if there is no equalization data available or defined. See <<bibref|CM-SP-RFIv2.0|Figure 6-23>>.",
						"datatype": "DocsEqualizerData",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 36,
								"max": 260
							}
						]
					},
					"ExtUnerroreds": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Codewords received on this channel without error. This includes all codewords, whether or not they were part of frames destined for this device. Discontinuities in the value of this counter can occur at reinitialization of the managed system. See <<bibref|CM-SP-RFIv2.0|Sections 6.2.4, and 6.3.6>>.",
						"datatype": "StatsCounter64"
					},
					"ExtCorrecteds": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Codewords received on this channel with correctable errors. This includes all codewords, whether or not they were part of frames destined for this device. Discontinuities in the value of this counter can occur at reinitialization of the managed system. See <<bibref|CM-SP-RFIv2.0|Sections 6.2.4, and 6.3.6>>.",
						"datatype": "StatsCounter64"
					},
					"ExtUncorrectables": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Codewords received on this channel with uncorrectable errors. This includes all codewords, whether or not they were part of frames destined for this device. Discontinuities in the value of this counter can occur at reinitialization of the managed system. See <<bibref|CM-SP-RFIv2.0|Sections 6.2.4, 6.3.6>>.",
						"datatype": "StatsCounter64"
					}
				},
				"Device.DOCSIS.DownstreamChannel.{i}.SignalQualityExt.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the received modulation error ratio of each downstream channel.",
					"access": false,
					"array": false,
					"RxMER": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<param>> provides an in-channel received Modulation Error Ratio (MER), measured in <<units>>. <<param>> is defined as an estimate, provided by the demodulator, of the ratio: (average constellation energy with equally likely symbols) / (average squared magnitude of error vector) <<param>> is measured just prior to FEC (trellis/Reed-Solomon) decoding. <<param>> includes the effects of the HFC channel as well as implementation effects of the modulator and demodulator. Error vector estimation may vary among demodulator implementations. In the case of S-CDMA mode, RxMER is measured on the de-spread signal."
					},
					"RxMerSamples": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<param>> is a statistically significant number of symbols processed to arrive at the RxMER value.",
						"datatype": "unsignedInt"
					},
					"FbeNormalizationCoefficient": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Downstream Adaptive Decision Feedback Equalizer (DFE) is implemented as a Feedforward Equalizer (FFE) and a Feedback Equalizer (FBE). In order to evaluate the composite DFE response it is necessary to normalize the FBE coefficients to 1 and then evaluate the FFT(hffe)/FFT(1,hfbe), where the hfbe coefficients have been normalized to 1 using FbeNormalizationCoefficient. The complex data representing the hffe and hfbe coefficients is contained in the EqualizationData MIB. It is possible to implement the DFE such that the response is evaluated as FFT(hffe)/FFT(1,-hfbe). In this case the FbeNormalizationCoefficient will be reported as a negative number and the response will be evaluated as FFT(hffe)/FFT(1,hfbe).",
						"datatype": "int"
					}
				}
			},
			"Device.DOCSIS.UpstreamChannel.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table describes the attributes of attached upstream channels.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"ID": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The CMTS identification of the upstream channel.",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 255
						}
					]
				},
				"Frequency": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The center of the frequency band associated with this upstream interface. This object returns 0 if the frequency is undefined or unknown. Minimum permitted upstream frequency is 5,000,000 <<units>> for current technology. See <<bibref|CM-SP-RFIv2.0|Table 4-2>>.",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 1000000000
						}
					],
					"unit": "Hz"
				},
				"Width": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The bandwidth in <<units>> of this upstream interface. This object returns 0 if the interface width is undefined or unknown. Minimum permitted interface width is currently 200,000 <<units>>. See <<bibref|CM-SP-RFIv2.0|Table 6-5>>.",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 64000000
						}
					],
					"unit": "Hz"
				},
				"SlotSize": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Applicable to TDMA and ATDMA channel types only. The number of <<units>> ticks in each upstream mini-slot. Returns zero if the value is undefined or unknown or in case of an SCDMA channel. See <<bibref|CM-SP-RFIv2.0|Section 8.1.2.4>>.",
					"datatype": "unsignedInt",
					"unit": "6.25 microsecond"
				},
				"TxTimingOffset": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A measure of the current round trip time obtained from the ranging offset (initial ranging offset + ranging offset adjustments). Used for timing of CM upstream transmissions to ensure synchronized arrivals at the CMTS. Units are one 64th fraction of 6.25 microseconds. See <<bibref|CM-SP-RFIv2.0|Section 6.2.19>>.",
					"datatype": "unsignedInt"
				},
				"RangingBackoffStart": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The initial random backoff window to use when retrying Ranging Requests. Expressed as a power of 2. A value of 16 at the CMTS indicates that a proprietary adaptive retry mechanism is to be used. See <<bibref|CM-SP-RFIv2.0|Sections 8.3.4, and 9.4>>.",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 16
						}
					]
				},
				"RangingBackoffEnd": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The final random backoff window to use when retrying Ranging Requests. Expressed as a power of 2. A value of 16 at the CMTS indicates that a proprietary adaptive retry mechanism is to be used. See <<bibref|CM-SP-RFIv2.0|Section 8.3.4, and 9.4>>.",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 16
						}
					]
				},
				"TxBackoffStart": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The initial random backoff window to use when retrying transmissions. Expressed as a power of 2. A value of 16 at the CMTS indicates that a proprietary adaptive retry mechanism is to be used. See <<bibref|CM-SP-RFIv2.0|Section 8.3.4, and 9.4>>.",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 16
						}
					]
				},
				"TxBackoffEnd": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The final random backoff window to use when retrying transmissions. Expressed as a power of 2. A value of 16 at the CMTS indicates that a proprietary adaptive retry mechanism is to be used. See <<bibref|CM-SP-RFIv2.0|Section 8.3.4, and 9.4>>.",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 16
						}
					]
				},
				"Device.DOCSIS.UpstreamChannel.{i}.Status.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object provides Upstream channel information previously available in the SNMP table docsIfCmStatusTable.",
					"access": false,
					"array": false,
					"TxPower": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute represents the operational CM transmit power for this SC-QAM upstream channel, in <<units>>. In order for this attribute to provide consistent information under all circumstances, a 3.1 CM will report the average total power for the SC-QAM channel the same as was done for DOCSIS 3.0, regardless of whether it is operating with a 3.1 or a 3.0 CMTS. The value that is reported was referred to as Pr in the DOCSIS 3.0 PHY Spec."
					},
					"T3Timeouts": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times counter T3 expired in the CM for this upstream channel. Discontinuities in the value of this counter can occur at re-initialization of the managed system. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"T4Timeouts": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times counter T4 expired in the CM for this upstream channel. Discontinuities in the value of this counter can occur at re-initialization of the managed system. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"RangingAborteds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times the ranging process was aborted by the CMTS. Discontinuities in the value of this counter can occur at re-initialization of the managed system. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"ModulationType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute indicates modulation type status currently used by the CM for this upstream channel. Since this object specifically identifies PHY Layer mode, the shared upstream channel type tdmaAndAtdma is not permitted. See <<bibref|RFC2863>>.",
						"datatype": "DocsisUpstreamType",
						"enumerations": [
							"Unknown",
							"TDMA",
							"ATDMA",
							"SCDMA",
							"TDMAAndATDMA"
						]
					},
					"EqData": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute indicates the pre-equalization data for the specified upstream Channel on this CM after convolution with data indicated in the RNG-RSP. This data is valid when docsIfUpChannelPreEqEnable RFC 4546 is set to <<true>>. See <<bibref|RFC2863>> and <<bibref|RFC4546>>.",
						"datatype": "DocsEqualizerData",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 36,
								"max": 260
							}
						]
					},
					"T3Exceededs": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times for excessive T3 timeouts. Discontinuities in the value of this counter can occur at re-initialization of the managed system. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"IsMuted": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes whether the upstream channel is muted. See <<bibref|CM-SP-MULPIv3.0>>, Media Access Control specification.",
						"datatype": "boolean"
					},
					"RangingStatus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the ranging state of the CM. See <<bibref|CM-SP-MULPIv3.0>>, Media Access Control specification.",
						"datatype": "RangingState",
						"enumerations": [
							"Other",
							"Aborted",
							"RetriesExceeded",
							"Success",
							"Continue",
							"TimeoutT4"
						]
					}
				}
			},
			"Device.DOCSIS.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DOCSIS Layer 2 (MAC) interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models the MAC level DOCSIS interface.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC Address of the interface.",
					"datatype": "string"
				},
				"CMTSAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies the CMTS that is believed to control this MAC domain. This will be the source address from SYNC, MAP, and other MAC-layer messages. If the CMTS is unknown, returns 00-00-00-00-00-00. See <<bibref|CM-SP-RFIv2.0|Section 8.2.2>>.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"Capabilities": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies the capabilities of the MAC implementation at this interface. Note that packet transmission is always supported. Therefore, there is no specific bit required to explicitly indicate this capability.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"ATMCells",
							"Concatenation"
						]
					}
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A string identifying the version of the modem firmware currently installed for this interface. This is applicable only when the modem firmware is separable from the overall CPE software.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"DOCSISVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indication of the DOCSIS capability of the device. See <<bibref|CM-SP-RFIv2.0|Annex G>>.",
					"datatype": "string",
					"enumerations": [
						"DOCSIS10",
						"DOCSIS11",
						"DOCSIS20",
						"DOCSIS30",
						"DOCSIS31"
					]
				},
				"MdCfgIpProvMode": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<param>> specifies how the IP provisioning mode is configured. The CM relies upon the CMTS to facilitate the successful IP address acquisition independently of the MDD. Enumeration of: IPv4Only, IPv6Only, HonorMDD. See <<bibref|CM-SP-MULPIv3.0>>, IP Initialization Parameters TLV Section.",
					"datatype": "string",
					"enumerations": [
						"IPv4Only",
						"IPv6Only",
						"HonorMDD"
					]
				},
				"Device.DOCSIS.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter64"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.DOCSIS.Interface.{i}.ConnectivityStatus.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines attributes of the CM connectivity status. This object provides CM connectivity status information of the CM previously available in the SNMP table docsIfCmStatusTable. See <<bibref|RFC4546>>.",
					"access": false,
					"array": false,
					"Value": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the current CM connectivity state. For the case of IP acquisition related states, this attribute reflects states for the current CM provisioning mode, not the <<enum|Other>> DHCP process associated with dual stack operation. See <<bibref|CM-SP-MULPIv3.0>>, Establishing IP Connectivity.",
						"datatype": "CmRegState",
						"enumerations": [
							"Other",
							"NotReady",
							"NotSynchronized",
							"PhySynchronized",
							"UsParametersAcquired",
							"RangingComplete",
							"DHCPv4Complete",
							"ToDEstablished",
							"SecurityEstablished",
							"ConfigFileDownloadComplete",
							"RegistrationComplete",
							"Operational",
							"AccessDenied",
							"EAEInProgress",
							"DHCPv4InProgress",
							"DHCPv6InProgress",
							"DHCPv6Complete",
							"RegistrationInProgress",
							"BPIInit",
							"ForwardingDisabled",
							"DsTopologyResolutionInProgress",
							"RangingInProgress",
							"RFMuteAll"
						]
					},
					"StatusCode": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the status code for CM as defined in the OSSI Specification. The status code consists of a single character indicating error groups, followed by a two-or three-digit number indicating the status condition, followed by a decimal. An example of a returned value could be T101.0. The zero-length hex string indicates no status code yet registered. See <<bibref|CM-SP-OSSIv3.0>>, Format and Content for Event, Syslog, and SNMP Notification Annex.",
						"datatype": "string",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 5,
								"max": 7
							}
						]
					},
					"Resets": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times the CM reset or initialized this interface. Discontinuities in the value of this counter can occur at re-initialization of the managed system, and at other times as indicated by the value of ifCounterDiscontinuityTime for the CM MAC Domain interface. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"LostSyncs": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times the CM lost synchronization with the downstream channel. Discontinuities in the value of this counter can occur at re-initialization of the managed system, and at other times as indicated by the value of ifCounterDiscontinuityTime for the CM MAC Domain interface. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"InvalidMaps": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times the CM received invalid MAP messages. Discontinuities in the value of this counter can occur at re-initialization of the managed system, and at other times as indicated by the value of ifCounterDiscontinuityTime for the CM MAC Domain interface. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"InvalidUcds": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times the CM received invalid UCD messages. Discontinuities in the value of this counter can occur at re-initialization of the managed system, and at other times as indicated by the value of ifCounterDiscontinuityTime for the CM MAC Domain interface. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"InvalidRangingRsps": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times the CM received invalid ranging response messages. Discontinuities in the value of this counter can occur at re-initialization of the managed system, and at other times as indicated by the value of ifCounterDiscontinuityTime for the CM MAC Domain interface. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"InvalidRegRsps": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times the CM received invalid registration response messages. Discontinuities in the value of this counter can occur at re-initialization of the managed system, and at other times as indicated by the value of ifCounterDiscontinuityTime for the CM MAC Domain interface. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"T1Timeouts": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times counter T1 expired in the CM. Discontinuities in the value of this counter can occur at re-initialization of the managed system, and at other times as indicated by the value of ifCounterDiscontinuityTime for the CM MAC Domain interface. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					},
					"T2Timeouts": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This attribute denotes the number of times counter T2 expired in the CM. Discontinuities in the value of this counter can occur at re-initialization of the managed system, and at other times as indicated by the value of ifCounterDiscontinuityTime for the CM MAC Domain interface. See <<bibref|RFC2863>>.",
						"datatype": "StatsCounter32"
					}
				}
			},
			"Device.DOCSIS.SpectrumAnalysis.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This attribute is used to enable or disable the spectrum analyzer feature. Setting this attribute to <<true>> triggers the CM to initiate measurements for the spectrum analyzer feature based on the other configuration attributes for the feature. By default, the feature is disabled unless explicitly enabled. Note that the feature may be disabled by the system under certain circumstances if the spectrum analyzer would affect critical services. In such a case, the attribute will return <<false>> when read, and will reject sets to <<true>> with an error. Once the feature is enabled, any change to this objects configuration might not be effective until the feature is re-enabled again. See <<bibref|CM-SP-CM-OSSIv3.1>>, Proactive Network Maintenance Information Model.",
					"default": "false",
					"datatype": "boolean"
				},
				"InactivityTimeout": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This attribute controls the length of time (in <<units>>) after the last spectrum analysis measurement before the feature is automatically disabled. If set to a value of 0, the feature will remain enabled until it is explicitly disabled. See <<bibref|CM-SP-CM-OSSIv3.1>>, Proactive Network Maintenance Information Model.",
					"default": "300",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 86400
						}
					],
					"unit": "seconds"
				},
				"FirstSegmentCenterFrequency": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This attribute controls the center frequency (in <<units>>) of the first segment for the spectrum analysis measurement. The frequency bins for this segment lie symmetrically to the left and right of this center frequency. If the number of bins in a segment is odd, the segment center frequency lies directly on the center bin. If the number of bins in a segment is even, the segment center frequency lies halfway between two bins. Changing the value of this attribute may result in changes to the <<object|Result>> table. Note that if this parameter is set to an invalid value, the device may return an error, or may adjust the value of the parameter to the closest valid value. See <<bibref|CM-SP-CM-OSSIv3.1>>, Proactive Network Maintenance Information Model.",
					"default": "93000000",
					"datatype": "unsignedInt",
					"unit": "Hz"
				},
				"LastSegmentCenterFrequency": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This attribute controls the center frequency (in <<units>>) of the last segment of the spectrum analysis measurement. The frequency bins for this segment lie symmetrically to the left and right of this center frequency. If the number of bins in a segment is odd, the segment center frequency lies directly on the center bin. If the number of bins in a segment is even, the segment center frequency lies halfway between two bins. The value of the <<param>> should be equal to the <<param|FirstSegmentCenterFrequency>> plus and integer number of segment spans as determined by the <<param|SegmentFrequencySpan>>. Changing the value of this attribute may result in changes to the <<object|Result>> table. Note that if this parameter is set to an invalid value, the device may return an error, or may adjust the value of the parameter to the closest valid value. See <<bibref|CM-SP-CM-OSSIv3.1>>, Proactive Network Maintenance Information Model.",
					"default": "993000000",
					"datatype": "unsignedInt",
					"unit": "Hz"
				},
				"SegmentFrequencySpan": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This attribute controls the frequency span (in <<units>>) of each segment (instance) of the <<object|Result.<i>>> table. If set to a value of 0, then a default span will be chosen based on the hardware capabilities of the device. Segments are contiguous from the <<param|FirstSegmentCenterFrequency>> to the <<param|LastSegmentCenterFrequency>> and the center frequency for each successive segment is incremented by the <<param>>. The number of segments is (<<param|LastSegmentCenterFrequency>> - <<param|FirstSegmentCenterFrequency>>)/<<param>> + 1. A segment is equivalent to an instance in the <<object|Result>> table. The chosen <<param>> affects the number of entries in <<object|Result>> table. A more granular <<param>> may adversely affect the amount of time needed to query the table entries in addition to possibly increasing the acquisition time. Changing the value of this attribute may result in changes to <<object|Result>> table. Note that if this parameter is set to an invalid value, the device may return an error, or may adjust the value of the parameter to the closest valid value. See <<bibref|CM-SP-CM-OSSIv3.1>>, Proactive Network Maintenance Information Model.",
					"default": "7500000",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1000000,
							"max": 900000000
						}
					],
					"unit": "Hz"
				},
				"NumBinsPerSegment": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter controls the number of bins collected by the measurement performed for each segment (instance) in the <<object|Result>> table. Note that if this parameter is set to an invalid value, the device may return an error, or may adjust the value of the parameter to the closest valid value. See <<bibref|CM-SP-CM-OSSIv3.1>>, Proactive Network Maintenance Information Model.",
					"default": "256",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 2,
							"max": 2048
						}
					]
				},
				"EquivalentNoiseBandwidth": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter allows the user to request an equivalent noise bandwidth (measured in <<units>>) for the resolution bandwidth filter used in the spectrum analysis. This corresponds to the spectral width of the window function used when performing a discrete Fourier transform for the analysis. The window function which corresponds to a value written to this parameter may be obtained by reading the value of <<param|WindowFunction>>. If an unsupported value is requested, the device may return an error, or choose the closest valid value to the one which is requested. If the closest value is chosen, then a subsequent read of this parameter will return the actual value which is in use. See <<bibref|CM-SP-CM-OSSIv3.1>>, Proactive Network Maintenance Information Model.",
					"default": "150",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 50,
							"max": 500
						}
					],
					"unit": "hundredthsbin"
				},
				"WindowFunction": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter controls or indicates the windowing function which will be used when performing the discrete Fourier transform for the analysis. The <<param>> and the Equivalent Noise Bandwidth are related. If a particular <<param>> is selected, then the <<param|EquivalentNoiseBandwidth>> for the function which is in use, will be reported by the <<param|EquivalentNoiseBandwidth>> parameter. Alternatively if an <<param|EquivalentNoiseBandwidth>> value is chosen then if a <<param>> function representing that <<param|EquivalentNoiseBandwidth>> is defined in the CM, that value will be reported in <<param>>, or a value of <<enum|Other>> will be reported. Use of modern windowing functions not yet defined will likely be reported as <<enum|Other>>. <<enum>> Note that all window functions may not be supported by all devices. If an attempt is made to set the object to an unsupported window function, or if writing of the WindowFunction is not supported, an error will be returned. See <<bibref|CM-SP-CM-OSSIv3.1>>, Proactive Network Maintenance Information Model.",
					"datatype": "SpectrumAnalysisWindowFunction",
					"enumerations": [
						"Other",
						"Hann",
						"BlackmanHarris",
						"Rectangular",
						"Hamming",
						"FlatTop",
						"Gaussian",
						"Chebyshev"
					]
				},
				"NumberOfAverages": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter controls the number of averages that will be performed on spectral bins. The average will be computed using the leaky integrator method, where: reported bin value = alpha*accumulated bin values + (1-alpha)*current bin value. Alpha is one minus the reciprocal of the number of averages. For example, if N=25, then alpha = 0.96. A value of 1 indicates no averaging. Re-writing the number of averages will restart the averaging process. If there are no accumulated values, the accumulators are made equal to the first measured bin amplitudes. If an attempt is made to set the parameter to an unsupported number of averages, an error will be returned. See <<bibref|CM-SP-CM-OSSIv3.1>>, Proactive Network Maintenance Information Model.",
					"default": "1",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 1000
						}
					]
				},
				"ResultNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DOCSIS.SpectrumAnalysis.Result.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<section|table>>This table provides a list of spectral analysis measurements as performed across a range of center frequencies. The table is capable of representing a full scan of the spectrum. <<section|row>>Each <<object>> instance represents the spectral analysis around a single center frequency point in the spectrum.",
					"uniqueKeys": [
						"Frequency"
					],
					"access": false,
					"array": true,
					"Frequency": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The center frequency (in <<units>>) of the spectral analysis span which is represented by this instance.",
						"datatype": "int",
						"range": [
							{
								"min": -2147483648,
								"max": 2147483647
							}
						],
						"unit": "Hz"
					},
					"AmplitudeData": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter provides a list of the spectral amplitudes as measured at the center frequency specified by the <<param|Frequency>>. The frequency bins are ordered from lowest to highest frequencies covering the frequency span. Information about the center frequency, frequency span, number of bins and resolution bandwidth are included to provide context to the measurement point.",
						"datatype": "AmplitudeData",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 2,
								"max": 4116
							}
						]
					},
					"TotalSegmentPower": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter provides the total RF power present in the segment with the center frequency equal to the <<param|Frequency>> and the span equal to the <<param|#.SegmentFrequencySpan>>. The value represents the sum of the spectrum power in all of the associated bins. The value is computed by summing power (not dB) values and converting the final sum to <<units>>."
					}
				}
			}
		},
		"Device.PTM.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Packet Transfer Mode (<<bibref|G.993.1|Annex H>>). This object contains the <<object|Link>> interface.",
			"access": false,
			"array": false,
			"LinkNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.PTM.Link.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "PTM link-layer table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Models a layer 2 variable-sized packet interface. A PTM Link entry is typically stacked on top of either a <<object|##.FAST.Line>>, <<object|##.DSL.Channel>>, or a <<object|##.DSL.BondingGroup>> object. When a PTM Link interface is used, a lower-layer <<object|##.DSL.Channel>> interface MUST be configured with PTM encapsulation (see <<param|##.DSL.Channel.<i>.LinkEncapsulationUsed>>).",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC Address of the interface. Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the <<param|##.Ethernet.Link.<i>.MACAddress>> parameter.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"Device.PTM.Link.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			}
		},
		"Device.Ethernet.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Ethernet object. This object models several Ethernet interface objects, each representing a different stack layer, including: <<object|Interface>>, <<object|Link>>, and <<object|VLANTermination>>. <<object|Interface>> is media-specific and models a port, the PHY layer, and the Channel Access Method (CAM) part of the MAC layer. <<object|Link>> is media-independent and models the Logical Link Control (LLC) layer. An outer <<object|VLANTermination>>, when present, is expected to be stacked on top of <<object|Link>> objects to receive and send frames with a configured VLANID.",
			"access": false,
			"array": false,
			"WoLSupported": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates that WoL (Wake on LAN) over Ethernet is supported.",
				"datatype": "boolean"
			},
			"FlowControlSupported": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates that Flow Control over Ethernet is supported, as per <<bibref|802.3-2015>>.",
				"datatype": "boolean"
			},
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"LinkNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"VLANTerminationNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"LAGNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"RMONStatsNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Ethernet.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Ethernet interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models physical Ethernet ports, but in terms of the interface stack it only models the PHY and Connection Access Method of the Ethernet interface MAC. A <<object|#.Link>> is also required to model a full Ethernet device.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"MaxBitRate": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>). A value of -1 indicates automatic selection of the maximum bit rate.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "Mbps"
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The unique manufacturer-assigned Ethernet hardware address of the interface, also referred to as burned-in MAC address. Note: This is not necessarily the same as the MAC address used for higher-level protocols, which is modeled via the <<param|#.Link.<i>.MACAddress>> parameter. Its main purpose is the identification of a specific Ethernet interface; the information can also can be used to perform Wake on LAN.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"SupportedLinkModes": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the supported link modes. MUST be reported in a compliant way as defined in <<bibref|IANAMauMIB|IANAifMauTypeListBits>>. For example, IANAifMauTypeListBits defines the following link mode types: * 16 (100BASE-TX full duplex mode) * 26 (1000BASE-SX full duplex mode) * 30 (1000BASE-T full duplex mode) * 54 (10GBASE-T) * 103 (2.5GBASE-T) * 104 (5GBASE-T)",
					"list": {
						"datatype": "unsignedInt"
					}
				},
				"AdvertisedLinkModes": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Sets the advertised link modes. MUST be set in a compliant way as defined in <<bibref|IANAMauMIB|IANAifMauTypeListBits>>. For example, IANAifMauTypeListBits defines the following link mode types: * 16 (100BASE-TX full duplex mode) * 26 (1000BASE-SX full duplex mode) * 30 (1000BASE-T full duplex mode) * 54 (10GBASE-T) * 103 (2.5GBASE-T) * 104 (5GBASE-T)",
					"list": {
						"datatype": "unsignedInt"
					}
				},
				"LinkPartnerAdvertisedLinkModes": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the link modes advertised by the link partner. MUST be reported in a compliant way as defined in <<bibref|IANAMauMIB|IANAifMauTypeListBits>>. For example, IANAifMauTypeListBits defines the following link mode types: * 16 (100BASE-TX full duplex mode) * 26 (1000BASE-SX full duplex mode) * 30 (1000BASE-T full duplex mode) * 54 (10GBASE-T) * 103 (2.5GBASE-T) * 104 (5GBASE-T)",
					"list": {
						"datatype": "unsignedInt"
					}
				},
				"CurrentBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current upstream and downstream PHY bit rate on this interface (expressed in <<units>>). A value of 0 indicates that the current bit rate is unknown.",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"DuplexMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The duplex mode requested for this connection.",
					"datatype": "string",
					"enumerations": [
						"Half",
						"Full",
						"Auto"
					]
				},
				"CurrentDuplexMode": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The duplex mode currently in use by this connection.",
					"datatype": "string",
					"enumerations": [
						"Unknown",
						"Half",
						"Full"
					]
				},
				"EEECapability": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this physical ethernet port supports Energy Efficient Ethernet as specified in <<bibref|802.3-2012_section6|Section 78>>.",
					"datatype": "boolean"
				},
				"EEEEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether Energy Efficient Ethernet <<bibref|802.3-2012_section6|Section 78>> support is currently enabled. When enabled, this ethernet port will be capable of entering or exiting Low Power Idle (LPI) mode.",
					"datatype": "boolean"
				},
				"EEEStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the active state of Energy Efficient Ethernet <<bibref|802.3-2012_section6|Section 78>>. The <<enum|Disabled>> value indicates that <<param|EEEEnable>> is disabled. The <<enum|Active>> value indicates that <<param|EEEEnable>> is enabled and that EEE support has been negotiated with the link partner. In this state EEE will be used. The <<enum|Inactive>> value indicates that <<param|EEEEnable>> is disabled, or that EEE support has not been negotiated with the link partner, either because the link parter is not EEE capable, or its support for EEE is disabled. The <<enum|Unsupported>> value indicates that this physical interface does not support EEE. In which case <<param|EEECapability>> will be <<false>>.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Active",
						"Inactive",
						"Unsupported"
					]
				},
				"EDPDCapability": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this physical ethernet port supports Energy Detect Power Down (EDPD). Implementations of this feature are vendor specific, Energy Detect Power Down is not part of the 802.3-2015 standard.",
					"datatype": "boolean"
				},
				"EDPDEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether Energy Detect Power Down (EDPD) support is currently enabled. When enabled, depending on the type of hardware, either the transmit power is disabled or the link impulses are sent at a greater interval. Implementations of this feature are vendor specific, Energy Detect Power Down is not part of the 802.3-2015 standard.",
					"datatype": "boolean"
				},
				"EDPDStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the active state of Energy Detect Power Down (EDPD). Implementations of this feature are vendor specific, Energy Detect Power Down is not part of the 802.3-2015 standard.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Unsupported"
					]
				},
				"MDIX": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Configure the Medium Dependent Interface crossover functionality on the interface.",
					"default": "Auto",
					"datatype": "string",
					"enumerations": [
						"Auto",
						"On",
						"Off"
					]
				},
				"CurrentMDIX": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current Medium Dependent Interface crossover setting in use on the interface.",
					"datatype": "string",
					"enumerations": [
						"Unsupported",
						"Unknown",
						"On",
						"Off"
					]
				},
				"SFPReferenceList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Small-form Factor Pluggable (SFP) entries associated with this interface.",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Device.Ethernet.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Collisions": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of collisions on the interface.",
						"datatype": "StatsCounter64"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.Ethernet.Link.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Ethernet link layer table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Table entries model the Logical Link Control (LLC) layer. It is expected that an Ethernet Link interface can be stacked above any lower-layer interface object capable of carrying Ethernet frames.",
				"uniqueKeys": [
					"Alias",
					"Name",
					"MACAddress"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"MTU": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum Transmission Unit for this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC address used for packets sent via this interface. Provides the source MAC address for outgoing traffic and the destination MAC address for incoming traffic.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"PriorityTagging": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables priority tagging on this Ethernet Link. When <<true>>, egress frames leaving this interface will be priority tagged with the frames associated priority value, which will either be derived directly from the ingress frame or else set via <<param|##.QoS.Classification.<i>.EthernetPriorityMark>> or <<param|##.QoS.Classification.<i>.InnerEthernetPriorityMark>>. When <<false>>, egress frames leaving this interface will be untagged. The parameter does not affect reception of ingress frames.",
					"default": "false",
					"datatype": "boolean"
				},
				"FlowControl": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Configures Flow Control on given Ethernet port. When set to <<true>>, it activates the exchange of pause-resume flow control frames.",
					"default": "false",
					"datatype": "boolean"
				},
				"NoARP": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Disables or enables sending of ARP messages on the Ethernet link. If <<true>>, the kernel will not send ARP requests and wont send ARP replies.",
					"default": "false",
					"datatype": "boolean"
				},
				"Device.Ethernet.Link.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"PausePacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of Ethernet pause frames sent on the link.",
						"datatype": "StatsCounter64"
					},
					"PausePacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of Ethernet pause frames received on the link.",
						"datatype": "StatsCounter64"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.Ethernet.VLANTermination.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "VLAN Termination table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). A VLAN Termination entry is typically stacked on top of a <<object|#.Link>> object to receive and send frames with the configured <<param|VLANID>>.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"VLANID": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The VLAN ID for this <<object>> entry (as defined in <<bibref|802.1Q-2011>>). Only ingress frames with this VLAN ID will be passed to higher protocol layers; frames sent from higher protocol layers will be tagged with this VLAN ID.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 4094
						}
					]
				},
				"VLANPriority": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The VLAN Priority for this <<object>> entry, also known as 802.1p Priority, is a 3-bit field used to indicate the priority of network traffic within a VLAN. A value of -1 indicates that the VLAN priority should not be changed for this <<object>>.",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 7
						}
					]
				},
				"TPID": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Tag Protocol Identifier (TPID) assigned to this <<object>>. The TPID is an EtherType value used to identify the frame as a tagged frame. Standard <<bibref|802.1Q-2011|Table 9.1>> TPID values are: *S-TAG 0x88A8 = 34984 *C-TAG 0x8100 = 33024 Non-Standard TPID values are: *S-TAG 0x9100 = 37120",
					"default": "33024",
					"datatype": "unsignedInt"
				},
				"Device.Ethernet.VLANTermination.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.Ethernet.LAG.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Ethernet Link Aggregation Group (LAG) table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Table entries model the Link Aggregation Sub-Layer as defined in <<bibref|802.3-2015>> and <<bibref|802.1AX-2014>>. It is expected that a <<object>> interface can only be stacked above <<object|#.Interface>> interfaces. The CPE can reject creation of additional LAG instances if this would exceed its capabilities.",
				"uniqueKeys": [
					"Alias",
					"Name",
					"MACAddress"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. <<param>> must reference to Device.Ethernet.Interface instances where Link Aggregation Group is configured by the CPE. For example, Device.Ethernet.Interface.1, Device.Ethernet.Interface.2",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "MAC address of the Link Aggregation Interface.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"Device.Ethernet.LAG.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.Ethernet.RMONStats.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Ethernet statistics based on the <<bibref|RFC2819>> RMON-MIB etherStatsTable, with some extensions inspired by <<bibref|G.988|Section 9.3.32>>. Each instance is associated with an interface capable of transporting Ethernet-encapsulated packets, and contains a set of unidirectional Ethernet statistics. The statistics are sampled either on ingress or on egress. This is determined as follows: * If the instance is associated with an egress queue (or queues) via the <<param|Queue>> parameter or by setting <<param|AllQueues>> to <<true>> then data is sampled on egress. In this case <<param|Bytes>> etc measure the data that has been sent on the interface, possibly filtered by <<param|Queue>> or <<param|VLANID>>. * Otherwise data is sampled on ingress. In this case <<param|Bytes>> etc measure the data that has been received on the interface, possibly filtered by <<param|VLANID>>. When sampling on egress, the term received means received by the queuing sub-system. Multiple instances can be associated with a single interface: individual instances can be configured to collect data associated with the entire interface, or with a particular VLAN and/or queue. The CPE MUST reset each instancess Stats parameters whenever the instance is disabled and re-enabled. Whether this reset occurs when the instance becomes operationally disabled (<<param|Status>> = <<enum|Disabled|Status>>) or administratively enabled (<<param|Enable>> = <<true>>) is a local matter to the CPE. This is similar to the behavior of interface statistics, e.g. as specified for <<object|#.Interface.<i>.Stats>>. Furthermore, this instances Stats parameters MUST be reset whenever the referenced interfaces Stats parameters are reset, or when the referenced queue or VLAN is disabled and re-enabled. For enabled table entries, if <<param|Interface>> references an interface that is not capable of transporting Ethernet-encapsulated packets, or if <<param|Queue>> references a queue that is not instantiated on <<param|Interface>>, or if <<param|Queue>> is not a valid reference and <<param|AllQueues>> is <<false>>, the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes unique key parameters that are strong references. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Interface",
					"VLANID",
					"Queue"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this instance.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this instance. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the <<object>> entry as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The interface associated with this instance. <<reference|an interface that is capable of transporting Ethernet-encapsulated packets>> The term capable of transporting Ethernet-encapsulated packets means has an Ethernet header and therefore refers to any interface that is at or below an Ethernet.<<object|#.Link>> instance in the interface stack.",
					"datatype": "string"
				},
				"VLANID": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. The VLAN ID for which statistics are to be collected. A zero value indicates that all packets, whether or not they have a VLAN header, will be considered. A non-zero value indicates that only packets that have the the specified VLAN ID will be considered.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 4094
						}
					]
				},
				"Queue": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. The egress queue with which this instance is associated. Only packets that are sent to the referenced queue will be considered.",
					"datatype": "string"
				},
				"AllQueues": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this instance applies to all queues. If <<true>>, the value of <<param|Queue>> is ignored since all egress queues are indicated.",
					"default": "false",
					"datatype": "boolean"
				},
				"DropEvents": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of events in which packets were dropped due to lack of resources. Note that this number is not necessarily the number of packets dropped; it is just the number of times this condition has been detected. This parameter is based on etherStatsDropEvents from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"Bytes": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> (including those in bad packets) received (excluding framing bits but including FCS bytes). This parameter is based on etherStatsOctets from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "bytes"
				},
				"Packets": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> (including bad packets, broadcast packets, and multicast packets) received. This parameter is based on etherStatsPkts from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "packets"
				},
				"BroadcastPackets": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of good <<units>> received that were directed to the broadcast address. Note that this does not include multicast packets. This parameter is based on etherStatsBroadcastPkts from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "packets"
				},
				"MulticastPackets": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of good <<units>> received that were directed to a multicast address. Note that this number does not include packets directed to the broadcast address. This parameter is based on etherStatsMulticastPkts from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "packets"
				},
				"CRCErroredPackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> received that had a length (excluding framing bits, but including FCS bytes) of between 64 and 1518 bytes, inclusive, but had either a bad Frame Check Sequence (FCS) with an integral number of bytes (FCS Error) or a bad FCS with a non-integral number of bytes (Alignment Error). This parameter is based on etherStatsCRCAlignErrors from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "packets"
				},
				"UndersizePackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> received that were less than 64 bytes long (excluding framing bits, but including FCS bytes) and were otherwise well formed. This parameter is based on etherStatsUndersizePkts from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "packets"
				},
				"OversizePackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> received that were longer than 1518 bytes (excluding framing bits, but including FCS bytes) and were otherwise well formed. This parameter is based on etherStatsOversizePkts from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "packets"
				},
				"Packets64Bytes": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> (including bad packets) received that were 64 bytes in length (excluding framing bits but including FCS bytes). This parameter is based on etherStatsPkts64Octets from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "packets"
				},
				"Packets65to127Bytes": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> (including bad packets) received that were between 65 and 127 bytes in length inclusive (excluding framing bits but including FCS bytes). This parameter is based on etherStatsPkts65to127Octets from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "packets"
				},
				"Packets128to255Bytes": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> (including bad packets) received that were between 128 and 255 bytes in length inclusive (excluding framing bits but including FCS bytes). This parameter is based on etherStatsPkts6128to255Octets from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "packets"
				},
				"Packets256to511Bytes": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> (including bad packets) received that were between 256 and 511 bytes in length inclusive (excluding framing bits but including FCS bytes). This parameter is based on etherStatsPkts256to511Octets from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "packets"
				},
				"Packets512to1023Bytes": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> (including bad packets) received that were between 512 and 1023 bytes in length inclusive (excluding framing bits but including FCS bytes). This parameter is based on etherStatsPkts512to1023Octets from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "packets"
				},
				"Packets1024to1518Bytes": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> (including bad packets) received that were between 1024 and 1518 bytes in length inclusive (excluding framing bits but including FCS bytes). This parameter is based on etherStatsPkts1024to1518Octets from <<bibref|RFC2819>>.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "packets"
				}
			},
			"Device.Ethernet.WoL.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object provides access to the WoL (Wake on LAN) functionality.",
				"access": false,
				"array": false,
				"SendMagicPacket": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, the CPE must send a magic packet over its active Ethernet interfaces.",
					"datatype": "boolean"
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "MAC address target of the magic packet.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The SecureOn password. The parameter value can be empty or, if present, can contain either 4 bytes or 6 bytes.",
					"datatype": "string"
				},
				"SendMagicPacket()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"MACAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "MAC address target of the magic packet.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"Password": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The SecureOn password. The parameter value can be empty or, if present, can contain either 4 bytes or 6 bytes.",
							"datatype": "string"
						}
					}
				}
			}
		},
		"Device.USB.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Universal Serial Bus (<<bibref|USB1.0>>, <<bibref|USB2.0>>, <<bibref|USB3.0>>). This object contains the <<object|Interface>>, <<object|Port>>, and <<object|USBHosts>> objects.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"PortNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.USB.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "USB interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models master and slave USB physical interfaces that support carrying Ethernet frames, e.g. via the USB Communication Device Class.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"MaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC Address of the interface. Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the <<param|##.Ethernet.Link.<i>.MACAddress>> parameter.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"Port": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> This is the USB port associated with this interface object.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Device.USB.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.USB.Port.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "USB Port table. This table models master and slave USB physical ports on the device.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the port.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Standard": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "USB specification version supported by the Port. Example: 1.1",
					"datatype": "string",
					"range": [
						{
							"max": 4
						}
					]
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Type of the USB connection.",
					"datatype": "string",
					"enumerations": [
						"Host",
						"Hub",
						"Device"
					]
				},
				"Receptacle": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Receptacle of the port.",
					"datatype": "string",
					"enumerations": [
						"Standard-A",
						"Standard-B",
						"Powered-B",
						"Micro-AB",
						"Micro-B"
					]
				},
				"Rate": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current speed of the USB connection. Enumeration of: Low, Full, High, Super.",
					"datatype": "string",
					"enumerations": [
						"Low",
						"Full",
						"High",
						"Super"
					]
				},
				"Power": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Power configuration of the USB connection. Enumeration of: Self, Bus, Unknown. Only applies when <<param|Type>> is <<enum|Device|Type>>. In other cases value is <<enum|Unknown>>.",
					"datatype": "string",
					"enumerations": [
						"Self",
						"Bus",
						"Unknown"
					]
				}
			},
			"Device.USB.USBHosts.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object models the CPEs USB Host controllers. See <<bibref|TR-181i2|Appendix XVII>> for Theory of Operation.",
				"access": false,
				"array": false,
				"HostNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.USB.USBHosts.Host.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Table of CPE USB Host controllers.",
					"uniqueKeys": [
						"Name",
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the USB Host controller.",
						"datatype": "boolean"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "User-readable host controller name.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Type of USB Host",
						"datatype": "string",
						"enumerations": [
							"Unknown",
							"OHCI",
							"EHCI",
							"UHCI",
							"xHCI"
						]
					},
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "When set to <<true>>, reset the Host Controller and apply the reset signaling (see <<bibref|USB2.0|Chapter 7.1.7.5>>) to all of the Host Controller Hub downstream ports. The value is not saved in the devices state and setting it to <<false>> has no effect.",
						"datatype": "boolean"
					},
					"PowerManagementEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When set to <<true>>, <<param>> enables the Host Controller to invoke Power Management policy, i.e. controlled Suspend (see <<bibref|USB2.0>>, Chapters 4.3.2, 7.1.7.6, and 11.9). When set to <<false>> <<param>> immediately disables the Host controller Power Management policy.",
						"datatype": "boolean"
					},
					"USBVersion": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "USB specification version with which the controller complies. Example: 1.1",
						"datatype": "string",
						"range": [
							{
								"max": 4
							}
						]
					},
					"DeviceNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					},
					"Device.USB.USBHosts.Host.{i}.Device.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Table of connected USB devices.",
						"uniqueKeys": [
							"DeviceNumber"
						],
						"access": false,
						"array": true,
						"DeviceNumber": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Device number on USB bus.",
							"datatype": "unsignedInt"
						},
						"USBVersion": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "USB specification version with which the device complies. Example: 1.1",
							"datatype": "string",
							"range": [
								{
									"max": 4
								}
							]
						},
						"DeviceClass": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Class Code as assigned by USB-IF. When 0x00, each device specifies its own class code. When 0xFF, the class code is vendor specified.",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 1
								}
							]
						},
						"DeviceSubClass": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Subclass code (assigned by USB-IF).",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 1
								}
							]
						},
						"DeviceVersion": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Device release number.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"DeviceProtocol": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Protocol code (assigned by USB-IF).",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 1
								}
							]
						},
						"ProductID": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Product ID (assigned by manufacturer).",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"VendorID": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Vendor ID (assigned by USB-IF).",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"Manufacturer": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Device Manufacturer string descriptor.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"ProductClass": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Device Product Class string descriptor.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"SerialNumber": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Device SerialNumber string descriptor.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Port": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Hub port on parent device. 0 when no parent.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"USBPort": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<reference>> This is a reference to the USB host device to which this (external) USB device is connected.",
							"datatype": "string"
						},
						"Rate": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Speed of the USB device. Enumeration of: Unknown, Low, Full, High, Super. Internal signaling between the connected USB device and the USB Host Controller provide the information needed to determine the negotiated rate.",
							"datatype": "string",
							"enumerations": [
								"Unknown",
								"Low",
								"Full",
								"High",
								"Super"
							]
						},
						"Parent": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<reference>> This is a reference to the parent USB device (e.g. hub device). This is <<empty>> for a device connected to the Host controller (root hub).",
							"datatype": "string"
						},
						"MaxChildren": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of ports. Only applies for hub device, equal to 0 for other devices.",
							"datatype": "unsignedInt"
						},
						"IsSuspended": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "When <<true>> the associated Device is in a suspended (i.e. low-power) state (see <<bibref|USB2.0|Chapter 11.9>>). When <<false>> the associated Device is in any of the other states specified by the USB 2.0 Device State Machine (see <<bibref|USB2.0|Chapter 9.1.1>>).",
							"datatype": "boolean"
						},
						"IsSelfPowered": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "When <<true>> the associated device is at least partly powered by a local source (see <<bibref|USB2.0|Chapter 9.4.5>>). When <<false>> the associated device draws all the current it needs from the USB bus.",
							"datatype": "boolean"
						},
						"ConfigurationNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Table of device configurations.",
							"uniqueKeys": [
								"ConfigurationNumber"
							],
							"access": false,
							"array": true,
							"ConfigurationNumber": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The identifier for each Device Configuration.",
								"datatype": "unsignedInt"
							},
							"InterfaceNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Table of device interface descriptors.",
								"uniqueKeys": [
									"InterfaceNumber"
								],
								"access": false,
								"array": true,
								"InterfaceNumber": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Number of this interface (from USB interface descriptor).",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"InterfaceClass": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Class Code as assigned by USB-IF. When 0x00, each interface specifies its own class code. When 0xFF, the class code is vendor specified.",
									"datatype": "hexBinary",
									"range": [
										{
											"max": 1
										}
									]
								},
								"InterfaceSubClass": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Subclass code (assigned by USB-IF).",
									"datatype": "hexBinary",
									"range": [
										{
											"max": 1
										}
									]
								},
								"InterfaceProtocol": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Protocol code (assigned by USB-IF).",
									"datatype": "hexBinary",
									"range": [
										{
											"max": 1
										}
									]
								}
							}
						}
					}
				}
			}
		},
		"Device.HPNA.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "HPNA object that contains the <<object|Interface>> and <<object|Diagnostics>> objects. The HPNA (also known as HomePNA) industry standard <<bibref|G.9954>> defines peer to peer communication for home networking over existing coax cables and telephone wiring within the home.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.HPNA.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "HPNA interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Each table entry models the PHY and MAC levels of an HPNA interface <<bibref|G.9954>>.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"MaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC Address of the interface. Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the <<param|##.Ethernet.Link.<i>.MACAddress>> parameter.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This interfaces firmware version.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"NodeID": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Node ID of this interface.",
					"datatype": "unsignedInt"
				},
				"IsMaster": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether this interface is the HPNA network master.",
					"datatype": "boolean"
				},
				"Synced": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether this interface is synchronized with the HPNA network master. If this interface is the HPNA network master, <<param>> MUST be <<true>>.",
					"datatype": "boolean"
				},
				"TotalSyncTime": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Total time in <<units>> (since device reset) that this interface has been up and synchronized to the HPNA network master.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"NetworkUtilization": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current HPNA network utilization (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 1000
						}
					],
					"unit": "0.1%"
				},
				"PossibleConnectionTypes": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items indicate the types of connections possible for this interface. Enumeration of: Phone, Coax.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"Phone",
							"Coax"
						]
					}
				},
				"ConnectionType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Connection type(s) for which the HPNA protocol is active.",
					"list": {
						"datatype": "string"
					}
				},
				"PossibleSpectralModes": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items indicate the spectral modes possible for this interface. Enumeration of: A, B, C, D.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"A",
							"B",
							"C",
							"D"
						]
					}
				},
				"SpectralMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Spectral mode for which the HPNA protocol is active.",
					"datatype": "string"
				},
				"MTU": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum Transmission Unit for this HPNA interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"NoiseMargin": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The desired noise margin for which the local HPNA interface has been configured (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "0.1dB"
				},
				"DefaultNonLARQPER": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The desired packet error rate for which the local HPNA interface has been configured (expressed in 1E-8, e.g. PER of 1.27E-6 will be presented as 127).",
					"datatype": "unsignedInt"
				},
				"LARQEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable the Limited Automatic Repeat Request (LARQ) mechanism.",
					"datatype": "boolean"
				},
				"MinMulticastRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The minimum multicast (and broadcast) rate that can be negotiated on the HPNA network directly accessible via this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"NegMulticastRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The negotiated multicast (and broadcast) rate on the HPNA network directly accessible via this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"MasterSelectionMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Master selection mode. Enumeration of: Automatic, ForceEndpoint, ForceMaster.",
					"datatype": "string",
					"enumerations": [
						"Automatic",
						"ForceEndpoint",
						"ForceMaster"
					]
				},
				"AssociatedDeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>> This is the number of HPNA nodes that are directly accessible via this interface.",
					"datatype": "unsignedInt"
				},
				"Device.HPNA.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.HPNA.Interface.{i}.QoS.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "QoS configuration object.",
					"access": false,
					"array": false,
					"FlowSpecNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Flow specification table. The <<object|####.QoS.Classification>> table is used to classify ingress traffic, where <<param|####.QoS.Classification.<i>.TrafficClass>> is one of the classification result outputs. This TrafficClass value can be used to look up the appropriate <<object>> entry (i.e. the <<object>> entry whose <<param|TrafficClasses>> list contains a matching traffic class). For enabled table entries, if <<param|TrafficClasses>> is <<empty>> then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables the table entry.",
							"default": "false",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Enabled",
								"Error_Misconfigured",
								"Error"
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"TrafficClasses": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> This list identifies the set of traffic classes associated with this flow spec.",
							"default": "[]",
							"list": {
								"datatype": "unsignedInt",
								"maxsize": 256
							}
						},
						"FlowType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Flow type. Enumeration of: CBR, VBR, VBR-NRT, BE.",
							"default": "BE",
							"datatype": "string",
							"enumerations": [
								"CBR",
								"VBR",
								"VBR-NRT",
								"BE"
							]
						},
						"Priority": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Flow queue network priority. Priority 0 is the lowest priority.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 7
								}
							]
						},
						"Latency": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum latency of the flow (expressed in <<units>>). Value 0 means no latency requirements.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 999
								}
							],
							"unit": "milliseconds"
						},
						"Jitter": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum jitter of the flow (expressed in <<units>>). Value 0 means no jitter requirements.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 999
								}
							],
							"unit": "milliseconds"
						},
						"PacketSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Typical packet size. Value 0 means undefined packet size.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0
								}
							]
						},
						"MinRate": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Minimum required rate in Kbps. Value 0 means no MinRate requirements.",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"AvgRate": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Average required rate in Kbps. Value 0 means no AvgRate requirements.",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"MaxRate": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum required rate in Kbps. Value 0 means no MaxRate requirements.",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"PER": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The desired packet error rate (expressed in 1E-8, e.g. PER of 1.27E-6 will be presented as 127). Value 0 means no PER requirements.",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"Timeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Flow inactivity tear down timeout (expressed in <<units>>). Value 0 means unlimited timeout.",
							"default": "0",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						}
					}
				},
				"Device.HPNA.Interface.{i}.AssociatedDevice.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table provides information about other HPNA devices that are directly accessible via this HPNA interface.",
					"uniqueKeys": [
						"MACAddress"
					],
					"access": false,
					"array": true,
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The physical address of this node.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"NodeID": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Node ID of this node.",
						"datatype": "unsignedInt"
					},
					"IsMaster": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether this node is the HPNA network master.",
						"datatype": "boolean"
					},
					"Synced": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether this node is synchronized with the HPNA network master. If this node is the HPNA network master, <<param>> MUST be <<true>>.",
						"datatype": "boolean"
					},
					"TotalSyncTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Total time in <<units>> (since device reset) that this node has been up and synchronized to the HPNA network master.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"MaxBitRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This nodes maximum HPNA PHY bit rate (expressed in <<units>>).",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"PHYDiagnosticsEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enable / disable PHY throughput diagnostics mode on this node. All devices that are enabled will participate in the HPNA network PHY throughput diagnostics process.",
						"datatype": "boolean"
					},
					"Active": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether or not this node is currently present in the HPNA network. The ability to list inactive nodes is OPTIONAL. If the CPE includes inactive nodes in this table, <<param>> MUST be set to <<false>> for each inactive node. The length of time an inactive node remains listed in this table is a local matter to the CPE.",
						"datatype": "boolean"
					}
				}
			},
			"Device.HPNA.Diagnostics.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The HPNA Diagnostics object.",
				"access": false,
				"array": false,
				"PHYThroughput()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> This is the interface over which the test is to be performed.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"NumPacketsInBurst": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Number of test packet in burst to be send during PHY diagnostics test from each HPNA device to other HPNA device in the HPNA network.",
							"datatype": "unsignedInt"
						},
						"BurstInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Test packet burst interval length (expressed in <<units>>).",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"TestPacketPayloadLength": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Payload length in the test packets.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 1480
								}
							]
						},
						"PayloadEncoding": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "HPNA payload encoding in PHY diagnostics. 0 is used for negotiated payload between devices according to line conditions.",
							"datatype": "unsignedInt"
						},
						"PayloadDataGen": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Test packets payload data generator value.",
							"datatype": "unsignedInt"
						},
						"PayloadType": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Test packets payload type. Enumeration of: Pattern, IncrementByte. In Pattern mode the PayloadDataGen value is repeated pattern in the payload. In IncrementByte mode LSByte in PayloadDataGen is used as first payload and next bytes in payload are incremented.",
							"datatype": "string",
							"enumerations": [
								"Pattern",
								"IncrementByte"
							]
						},
						"PriorityLevel": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Priority level of PHY diagnostics packets (0 lowest -7 highest).",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 7
								}
							]
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_FailToEnableCert, Error_CertCmdTimeout, Error_UnknownErr, Error_UnsupportedOpcode, Error_InvalidParam, Error_UnsupportedCmdSegment, Error_UnsupportedDataGen, Error_InvalidSequence, Error_InvalidFrame, Eror_InvalidOpcode. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error",
								"Error_FailToEnableCert",
								"Error_CertCmdTimeout",
								"Error_UnknownErr",
								"Error_UnsupportedOpcode",
								"Error_InvalidParam",
								"Error_UnsupportedCmdSegment",
								"Error_UnsupportedDataGen",
								"Error_InvalidSequence",
								"Error_InvalidFrame",
								"Eror_InvalidOpcode"
							]
						}
					}
				},
				"PerformanceMonitoring()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> This is the interface over which the test is to be performed.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"SampleInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Time in <<units>> between automatic collection of performance monitoring data. A value of zero disables automatic collection of data. The CPE MAY impose a minimum sample interval, in which case an attempt to set a (non-zero) interval that is less than this minimum MUST set the interval to the minimum and MUST NOT be regarded as an error. If SampleInterval is a simple fraction of a day, e.g. 900 (a quarter of an hour) or 3600 (an hour), the CPE MAY choose to align sample intervals with time of day, but is not required to do so.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_SampleIntervalTooSmall. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error",
								"Error_SampleIntervalTooSmall"
							]
						}
					}
				},
				"Device.HPNA.Diagnostics.PHYThroughput.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "HPNA PHY throughput diagnostics configuration and results. When diagnostics are requested, all HPNA nodes for which the <<param|##.Interface.<i>.AssociatedDevice.<i>.PHYDiagnosticsEnable>> parameter is set enter PHY diagnostics mode.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> This is the interface over which the test is to be performed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"NumPacketsInBurst": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Number of test packet in burst to be send during PHY diagnostics test from each HPNA device to other HPNA device in the HPNA network.",
						"datatype": "unsignedInt"
					},
					"BurstInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Test packet burst interval length (expressed in <<units>>).",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"TestPacketPayloadLength": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Payload length in the test packets.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 1480
							}
						]
					},
					"PayloadEncoding": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "HPNA payload encoding in PHY diagnostics. 0 is used for negotiated payload between devices according to line conditions.",
						"datatype": "unsignedInt"
					},
					"PayloadDataGen": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Test packets payload data generator value.",
						"datatype": "unsignedInt"
					},
					"PayloadType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Test packets payload type. Enumeration of: Pattern, IncrementByte. In Pattern mode the PayloadDataGen value is repeated pattern in the payload. In IncrementByte mode LSByte in PayloadDataGen is used as first payload and next bytes in payload are incremented.",
						"datatype": "string",
						"enumerations": [
							"Pattern",
							"IncrementByte"
						]
					},
					"PriorityLevel": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Priority level of PHY diagnostics packets (0 lowest -7 highest).",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 7
							}
						]
					},
					"ResultNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>> This is the number of PHY diagnostics results.",
						"datatype": "unsignedInt"
					},
					"Device.HPNA.Diagnostics.PHYThroughput.Result.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "PHY throughput diagnostics results. Each result object corresponds to unidirectional traffic between two PHY diagnostics-enabled nodes (so there are two such objects for each such pair).",
						"uniqueKeys": [
							"SrcMACAddress",
							"DestMACAddress"
						],
						"access": false,
						"array": true,
						"SrcMACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "HPNA source MAC address.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"DestMACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "HPNA destination MAC address.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"PHYRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "PHY diagnostics HPNA PHY rate (expressed in <<units>>).",
							"datatype": "unsignedInt",
							"unit": "Mbps"
						},
						"BaudRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "PHY Baud rate (expressed in <<units>>).",
							"datatype": "unsignedInt",
							"unit": "Kbaud"
						},
						"SNR": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "PHY diagnostics SNR (expressed in <<units>>).",
							"datatype": "unsignedInt",
							"unit": "0.1dB"
						},
						"PacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Number of received packets in PHY diagnostics mode.",
							"datatype": "unsignedInt"
						},
						"Attenuation": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Measured attenuation (expressed in <<units>>).",
							"datatype": "unsignedInt",
							"unit": "0.1dB"
						}
					}
				},
				"Device.HPNA.Diagnostics.PerformanceMonitoring.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "HPNA performance monitoring configuration and results. Performance monitoring results are sampled from all nodes in the HPNA network. All packet related counters are sampled synchronized at all nodes in the HPNA network in order to derive packet loss calculations in the HPNA network.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> This is the interface over which the test is to be performed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"SampleInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Time in <<units>> between automatic collection of performance monitoring data. A value of zero disables automatic collection of data. The CPE MAY impose a minimum sample interval, in which case an attempt to set a (non-zero) interval that is less than this minimum MUST set the interval to the minimum and MUST NOT be regarded as an error. If SampleInterval is a simple fraction of a day, e.g. 900 (a quarter of an hour) or 3600 (an hour), the CPE MAY choose to align sample intervals with time of day, but is not required to do so.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Per-node HPNA performance monitoring results. When automatic collection is enabled, i.e. <<param|#.SampleInterval>> is non-zero, the current interval is defined by the most recent automatic sample and the most recent subsequent manual sample, if any. When automatic collection is disabled, i.e. SampleInterval is zero, the current interval is defined by the three most recent manual samples. Note: Packets in statistics counters are Ethernet packets.",
						"access": false,
						"array": false,
						"CurrentStart": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Start time for the current interval. When automatic collection is enabled, i.e. SampleInterval is non-zero, the current interval started at the most recent automatic sample. When automatic collection is disabled, i.e. SampleInterval is zero, the current interval started two manual samples ago.",
							"datatype": "dateTime"
						},
						"CurrentEnd": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "End time for the current interval. When automatic collection is enabled, i.e. SampleInterval is non-zero, the current interval ended at the most recent manual sample since the most recent automatic sample. If there has been no such manual sample, the current interval is empty. When automatic collection is disabled, i.e. SampleInterval is zero, the current interval ended at the most recent manual sample.",
							"datatype": "dateTime"
						},
						"NodeNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<numentries>> This is the number of HPNA nodes for which performance monitoring results were collected during the current sample interval.",
							"datatype": "unsignedInt"
						},
						"Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp"
							],
							"description": "Per-node HPNA performance monitoring results during the current sample interval. Each table entry contains the results collected between an HPNA node (as indicated by <<param|MACAddress>>) and the local HPNA interface (as indicated by <<param|##.Interface>>). Note: Packet counters indicate the number of packets received between <<param|#.CurrentStart>> and <<param|#.CurrentEnd>>.",
							"uniqueKeys": [
								"MACAddress"
							],
							"access": false,
							"array": true,
							"MACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The MAC address of the HPNA node.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"BytesSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of bytes sent by host equipment for transmission on the HPNA interface.",
								"datatype": "unsignedLong"
							},
							"BytesReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of received bytes on the HPNA interface destined for the host equipment.",
								"datatype": "unsignedLong"
							},
							"PacketsSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of packets sent by host equipment for transmission on the HPNA interface. Number includes also short error packets and control packets.",
								"datatype": "unsignedLong"
							},
							"PacketsReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of good packets received on the HPNA interface destined for the host equipment.",
								"datatype": "unsignedLong"
							},
							"BroadcastPacketsSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of broadcast packets transmitted on the HPNA interface.",
								"datatype": "unsignedLong"
							},
							"BroadcastPacketsReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of broadcast packets received on the HPNA interface.",
								"datatype": "unsignedLong"
							},
							"MulticastPacketsSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of multicast packets transmitted on the HPNA interface.",
								"datatype": "unsignedLong"
							},
							"MulticastPacketsReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of multicast packets received on the HPNA interface.",
								"datatype": "unsignedLong"
							},
							"PacketsCrcErrored": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of packets received on the HPNA interface with CRC errors.",
								"datatype": "unsignedInt"
							},
							"PacketsCrcErroredHost": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of CRC error packets received on the HPNA interface destined for the host equipment.",
								"datatype": "unsignedInt"
							},
							"PacketsShortErrored": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of packets received on the HPNA interface that are too short to be valid.",
								"datatype": "unsignedInt"
							},
							"PacketsShortErroredHost": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number packets sent by the host equipment that are too short to be valid.",
								"datatype": "unsignedInt"
							},
							"RxPacketsDropped": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of received packets dropped due to lack of resources.",
								"datatype": "unsignedInt"
							},
							"TxPacketsDropped": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number packets sent by the host equipment for transmission on the HPNA interface but dropped due to lack of resources.",
								"datatype": "unsignedInt"
							},
							"ControlRequestLocal": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of HPNA control request packets from local host.",
								"datatype": "unsignedInt"
							},
							"ControlReplyLocal": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of HPNA control reply packets to local host.",
								"datatype": "unsignedInt"
							},
							"ControlRequestRemote": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of HPNA control request packets from remote host.",
								"datatype": "unsignedInt"
							},
							"ControlReplyRemote": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of HPNA control reply packets to remote host.",
								"datatype": "unsignedInt"
							},
							"PacketsSentWire": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of packets transmitted to wire.",
								"datatype": "unsignedLong"
							},
							"BroadcastPacketsSentWire": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of broadcast packets transmitted to wire.",
								"datatype": "unsignedLong"
							},
							"MulticastPacketsSentWire": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of multicast packets transmitted to wire.",
								"datatype": "unsignedLong"
							},
							"PacketsInternalControl": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of HPNA control request packets from internal node.",
								"datatype": "unsignedInt"
							},
							"BroadcastPacketsInternalControl": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of HPNA broadcast control request packets from internal node.",
								"datatype": "unsignedInt"
							},
							"PacketsReceivedQueued": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of received packets queued on host output queues.",
								"datatype": "unsignedInt"
							},
							"PacketsReceivedForwardUnknown": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The number of packets received and forwarded to unknown hosts.",
								"datatype": "unsignedInt"
							},
							"NodeUtilization": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The node utilization (expressed in <<units>>).",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 1000
									}
								],
								"unit": "0.1%"
							}
						}
					},
					"Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Per-channel HPNA performance monitoring results. Note: channels are unidirectional.",
						"access": false,
						"array": false,
						"TimeStamp": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Time at which channel data was last collected.",
							"datatype": "dateTime"
						},
						"ChannelNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<numentries>> This is the number of HPNA channels for which performance monitoring results have been collected.",
							"datatype": "unsignedInt"
						},
						"Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp"
							],
							"description": "Per-channel HPNA performance monitoring results.",
							"uniqueKeys": [
								"HostSrcMACAddress",
								"HostDestMACAddress"
							],
							"access": false,
							"array": true,
							"HostSrcMACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The host source MAC address associated with the channel.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"HostDestMACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The host destination MAC address associated with the channel.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"HPNASrcMACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The HPNA source MAC address associated with the channel.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"HPNADestMACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The HPNA destination MAC address associated with the channel.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"PHYRate": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "Channel PHY rate (expressed in <<units>>).",
								"datatype": "unsignedInt",
								"unit": "Mbps"
							},
							"BaudRate": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "PHY Baud rate (expressed in <<units>>).",
								"datatype": "unsignedInt",
								"unit": "Kbaud"
							},
							"SNR": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "Channel actual SNR measured in receiver side (expressed in <<units>>).",
								"datatype": "unsignedInt",
								"unit": "0.1dB"
							},
							"PacketsSent": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "Number of packets sent in the channel.",
								"datatype": "unsignedInt"
							},
							"PacketsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "Pre-LARQ number of packets received in the channel.",
								"datatype": "unsignedInt"
							},
							"LARQPacketsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "Post-LARQ number of packets received in the channel. Valid only if LARQ is enabled.",
								"datatype": "unsignedInt"
							},
							"FlowSpec": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "<<reference>> Identifies the FlowSpec associated with the channel. This parameter is only used for channels that correspond to egress traffic from the local HPNA interface. <<null>> means that the channel is not associated with any specified flow specification in the QoS object.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					}
				}
			}
		},
		"Device.MoCA.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "MoCA object that contains the <<object|Interface>> table <<bibref|MoCAv1.0>> <<bibref|MoCAv1.1>>.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.MoCA.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "MoCA interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Each table entry models the PHY and MAC levels of a MoCA interface <<bibref|MoCAv1.0>> <<bibref|MoCAv1.1>>.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "true",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"MaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>). This parameter MUST NOT be implemented for MoCA 2.0 because it doesnt map to a MIB object.",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"AccessControlNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"RlapmNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"SapmNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"MeshNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"BridgeNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"MeshScModNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC Address of the interface. Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the <<param|##.Ethernet.Link.<i>.MACAddress>> parameter.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This interfaces firmware version. This parameter is based on mocaIfSoftwareVersion from <<bibref|MOCA11-MIB>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"MaxIngressBW": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum bandwidth of this interface for flows onto the MoCA network. This parameter is based on mocaIfMaxIngressNodeBw from <<bibref|MOCA11-MIB>>.",
					"datatype": "MocaMacRate"
				},
				"MaxEgressBW": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum bandwidth of this interface for flows from the MoCA network. This parameter is based on mocaIfMaxEgressNodeBw from <<bibref|MOCA11-MIB>>.",
					"datatype": "MocaMacRate"
				},
				"HighestVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies the highest MoCA version that this interface supports. This element MUST be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 1.0, where the components mean major.minor revision number. <<pattern>> This parameter is based on mocaIfMocaVersion from <<bibref|MOCA11-MIB>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					],
					"pattern": [
						"\\d+(\\.\\d+)*"
					]
				},
				"CurrentVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies the MoCA version that the MoCA network is currently running. This element MUST be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 1.0, where the components mean major.minor revision number. <<pattern>> This parameter is based on mocaIfNetworkVersion from <<bibref|MOCA11-MIB>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					],
					"pattern": [
						"\\d+(\\.\\d+)*"
					]
				},
				"NetworkCoordinator": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Node ID of the current Network Coordinator (NC) for the MoCA network. This parameter is based on mocaIfNC from <<bibref|MOCA11-MIB>>.",
					"datatype": "MocaNodeID",
					"range": [
						{
							"min": 0,
							"max": 15
						}
					]
				},
				"NodeID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Node ID of this interface. This parameter is based on mocaIfNodeID from <<bibref|MOCA11-MIB>>.",
					"datatype": "MocaNodeID",
					"range": [
						{
							"min": 0,
							"max": 15
						}
					]
				},
				"MaxNodes": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum network node capability supported by the interface. If <<param>> is <<true>> then the interface supports 16 nodes (the maximum for a MoCA 1.1 network). If <<param>> is false then the interface supports 8 nodes (the maximum for a MoCA 1.0 network). This parameter MUST NOT be implemented for MoCA 2.0 because it doesnt map to a MIB object.",
					"datatype": "boolean"
				},
				"NumNodes": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The numbers of 1s in the GCD_BITMASK field reported in Type I Probe Reports. This value corresponds to the number of MoCA Nodes that this MoCA Node communicates to in the MoCA network. This value may be smaller than the number of MoCA Nodes reported by the NC Node. See <<bibref|MoCAv1.1|Section 3.6.3.2>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 16
						}
					]
				},
				"PreferredNC": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether this interface is a preferred Network Coordinator (NC). This parameter is based on mocaIfPreferredNC from <<bibref|MOCA11-MIB>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"BackupNC": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Node ID of the backup Network Coordinator node. This parameter is based on mocaIfBackupNC from <<bibref|MOCA11-MIB>>.",
					"datatype": "MocaNodeID",
					"range": [
						{
							"min": 0,
							"max": 15
						}
					]
				},
				"PrivacyEnabledSetting": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The configured privacy mode. This indicates whether link-layer security is enabled (<<true>>) or disabled (<<false>>) for network admission.",
					"default": "false",
					"datatype": "boolean"
				},
				"PrivacyEnabled": {
					"type": "boolean",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether link-layer security is enabled or disabled. This parameter is based on mocaIfPrivacyEnable from <<bibref|MOCA11-MIB>>. <<deprecated|2.17|because it and <<param|PrivacyEnabledSetting>> are associated with the same underlying MIB object and it is therefore unnecessary. If implemented, it MUST return the same value as <<param|PrivacyEnabledSetting>>>> <<obsoleted|2.19>>",
					"datatype": "boolean"
				},
				"AccessControlEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable MAC address access control on the MoCA interface if this value is <<true>>. Disable MAC address access control on the MoCA interface if this value is <<false>>. Access control applies to subsequent MoCA Node admission.",
					"default": "false",
					"datatype": "boolean"
				},
				"PhyThreshold": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The minimum PHY rate. If transmit PHY rate between all pairs of MoCA Nodes are greater than or equal to this value, and subsequently the transmit PHY rate of one pair of MoCA Nodes is less than this value, send <<param|BelowPhyThresholdTrap>> if <<param|PhyThresholdTrapEnable>> is <<true>>. If transmit PHY rate between one or more pairs of MoCA Nodes are less than this value, and subsequently the transmit PHY rate between all pairs of MoCA Nodes are greater than or equal to this value, send <<param|AbovePhyThresholdTrap>> if <<param|PhyThresholdTrapEnable>> is <<true>>. See <<bibref|MoCAv2.0|Section 3, Unusable Link definition>>.",
					"default": "123",
					"datatype": "MocaPhyRate",
					"range": [
						{
							"min": 0,
							"max": 2048
						}
					]
				},
				"PhyThresholdTrapEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If transmit PHY rate between all pairs of MoCA Nodes are greater than or equal to <<param|PhyThreshold>>, and subsequently the transmit PHY rate of one pair of MoCA Node is less than <<param|PhyThreshold>>, send <<param|BelowPhyThresholdTrap>> if this value is <<true>>, do not send <<param|BelowPhyThresholdTrap>> if this value is <<false>>. If transmit PHY rate between one or more pairs of MoCA Nodes are less than <<param|PhyThreshold>>, and subsequently the transmit PHY rate between all pairs of MoCA Nodes are greater than or equal to <<param|PhyThreshold>>, send <<param|AbovePhyThresholdTrap>> if this value is <<true>>, do not send <<param|AbovePhyThresholdTrap>> if this value is <<false>>. Only one MoCA Node in the MoCA network should set <<param>> to <<true>>. Only one MoCA Node in the MoCA network should set <<param>> to <<true>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"StatusChangeEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<param>> is <<true>> and <<param|Status>> changes, then the trap <<param|StatusChangeTrap>> is sent.",
					"default": "false",
					"datatype": "boolean"
				},
				"NumNodesChangeEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<param>> is <<true>> and <<param|NumNodes>> changes, then the trap <<param|NumNodesChangeTrap>> is sent. Only one MoCA Node in the MoCA network should set <<param>> to <<true>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"TpcTargetRateNper": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Target PHY Rate of the receiving MoCA 2.0 Node in order to optimize the long-term PHY rate and transmit power level between the transmitting and receiving MoCA Nodes when TPC is enabled and PERMODE = NPER.",
					"datatype": "MocaPhyRate",
					"range": [
						{
							"min": 0,
							"max": 2048
						}
					]
				},
				"Band": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Configure the band or sub-band for the MoCA Node to operate in (BND Managed Parameter). See <<bibref|MoCAv2.0|section 15>>.",
					"datatype": "MocaBand",
					"enumerations": [
						"reserved",
						"bandFCBL",
						"bandFSAT",
						"bandE",
						"bandExD",
						"bandDH",
						"bandDL",
						"noBand"
					]
				},
				"LastOperFreqUpdateEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether the LOF is updated when joining a network (LOF_UPDATE_EN Managed Parameter). See <<bibref|MoCAv2.0|section 8.1.1, and Table 17-1>>.",
					"datatype": "boolean"
				},
				"FreqCapabilityMask": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The frequencies that the interface supports. Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter. | Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter.",
					"datatype": "MocaChannelMask",
					"range": [
						{
							"min": 8,
							"max": 8
						}
					]
				},
				"FreqCurrentMaskSetting": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The enabled frequencies that the interface supports for network admission. Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter. | Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter. The configured frequencies might not match the current operational state (<<param|FreqCurrentMask>>), since this setting is only applied during network formation or admission.",
					"datatype": "MocaChannelMask",
					"range": [
						{
							"min": 8,
							"max": 8
						}
					]
				},
				"FreqCurrentMask": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The frequencies that can be used. This is a subset of the <<param|FreqCapabilityMask>> frequencies. Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter. | Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter.",
					"datatype": "MocaChannelMask",
					"range": [
						{
							"min": 8,
							"max": 8
						}
					]
				},
				"CurrentOperFreq": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current Operational Frequency. The RF frequency in Hz to which the MoCA interface is currently tuned. This parameter is only valid when <<param|Status>> is <<enum|Up|Status>>. This parameter is based on mocaIfRFChannel from <<bibref|MOCA11-MIB>>.",
					"datatype": "unsignedInt"
				},
				"LastOperFreq": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Last Operational Frequency. The RF frequency in Hz to which the MoCA interface was tuned when last in the <<enum|Up|Status>> state. This parameter is based on mocaIfLOF from <<bibref|MOCA11-MIB>>. (LOF Managed Parameter) This parameter is writable only for MoCA 2.0.",
					"datatype": "unsignedInt"
				},
				"TpcEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable automatic power control if this value is <<true>>. Use a fixed transmit power level if this value is <<false>>. (TPC_EN Managed Parameter)",
					"default": "true",
					"datatype": "boolean"
				},
				"KeyPassphrase": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "MoCA Password. The value consists of numeric characters (0-9). <<pattern>> This parameter is based on mocaIfPassword from <<bibref|MOCA11-MIB>>.",
					"datatype": "string",
					"range": [
						{
							"min": 12,
							"max": 17
						}
					],
					"pattern": [
						"\\d+"
					]
				},
				"PerMode": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls which transmission PER mode the MoCA Node uses for MPDUs not belonging to PQoS Flows, where a value of 0 indicates NPER and 1 indicates VLPER. By default PER mode is set to 1 in band E, while it is set to 0 for all other bands (PER_MODE Managed Parameter). See <<bibref|MoCAv2.0|section 8.2 and Table 17-2>>.",
					"datatype": "unsignedInt"
				},
				"TurboModeEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether the MoCA Node operates in point-to-point Turbo Mode or not. When set to <<true>> the turbo mode is enabled; when set to <<false>> the turbo mode is disabled (TURBO_MODE_EN Managed Parameter). See <<bibref|MoCAv2.0|section 10 and Table 17-1>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"PolicingEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether policing of PQoS Flows is enabled or disabled. When <<false>> the policy is disabled, and when <<true>> the policy is enabled (POLICING_EN Managed Parameter). See <<bibref|MoCAv2.0|section 8.8 and Table 17-1>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"TlpMin": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The minimum time (in milliseconds) a MoCA Node is required to stay in the Listening Phase of the Network Search (TLP_MIN Managed Parameter). See <<bibref|MoCAv2.0|Table 17-2>>.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"TlpMax": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum time (in milliseconds) a MoCA Node is required to stay in the Listening Phase of the Network Search (TLP_MAX Managed Parameter). Default value of <<param>> depends on the band configuration as follows: * 20 seconds for band E * 35 seconds for band F * 95 seconds for Band ExD * 10 seconds for Band D-Low * 55 seconds for Band D-High See <<bibref|MoCAv2.0|section 8.1>>.",
					"datatype": "unsignedInt"
				},
				"RlapmEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether the RLAPM (Receive Level Added PHY Margin) function is enabled and the MoCA Node needs to apply it, or disabled and the MoCA Node needs to ignore it. RLAPM function is enabled when set to <<true>>. RLAPM function is disabled when set to <<false>>. The RLAPM function allows a Node to add a specific global PHY margin (RLAPM) to all the subcarriers bitloadings at each estimated aggregate receive power level. This RLAPM value is obtained from the RLAPM table <<object|Device.MoCA.Interface.<i>.Rlapm.<i>.>>. See <<bibref|MoCAv2.0|section 7.15 and Table 17-1>>.",
					"datatype": "boolean"
				},
				"RlapmProfileSelect": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls which RLAPM (Receive Level Added PHY Margin) profile is Active. See <<bibref|MoCAv2.0|section 7.15.2 and Table 17-1>>.",
					"datatype": "unsignedInt"
				},
				"SapmEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether the SAPM (Subcarrier Added PHY Margin) function is enabled and the MoCA Node needs to apply it, or disabled and the MoCA Node needs to ignore it. SAPM function is enabled when set to <<true>>. SAPM function is disabled when set to <<false>>. The SAPM function allows a Node to add a prespecified PHY margin to each subcarrier\u2019s bitloading (SAPM value) whenever the aggregate received power levels (ARPLs) are below a pre-specified threshold. This SAPM value is obtained from the SAPM table <<object|Device.MoCA.Interface.<i>.Sapm.<i>.>>. See <<bibref|MoCAv2.0|section 7.15 and Table 17-1>>.",
					"datatype": "boolean"
				},
				"SapmProfileSelect": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls which SAPM (Subcarrier Added PHY Margin) profile is Active. See <<bibref|MoCAv2.0|section 7.15.1 and Table 17-1>>.",
					"datatype": "unsignedInt"
				},
				"PowerStateRequest": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Carries a request to the MoCA Node to transition into a specified Power State (POWER_STATE_REQ Managed Parameter). See <<bibref|MoCAv2.0|section 12>>.",
					"default": "m0Active",
					"datatype": "MocaPowerState",
					"enumerations": [
						"m0Active",
						"m1LowPowerIdle",
						"m2Standby",
						"m3Sleep"
					]
				},
				"SeqNumMr": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Sequence Number used by the MR Transaction (SEQ_NUM_MR Managed Parameter). See <<bibref|MoCAv2.0|section 7.15 and Table 17-1>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"PowerStateTrapEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Used for power state message trap. * When set to <<true>> it allows the MoCA Node to report a trap on each Power State transition. * When set to <<false>> no trap report is generated when the MoCA Node Power State changes. See <<bibref|MoCAv2.0|section 12>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"LmoTrapEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Used for LMO (Link Maintenance Operation) message trap. * When set to <<true>> it allows the MoCA Node to report a trap on transitioning to LMO. * When set to <<false>> no trap report the MoCA Node is not transitioning to LMO. See <<bibref|MoCAv2.0|section 12>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"PrimaryOffset": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The offset in <<units>> of the primary channel relative to the beacon channel (PRIMARY_OFFSET Managed Parameter).",
					"datatype": "int",
					"range": [
						{
							"min": -25,
							"max": 25
						}
					],
					"unit": "MHz"
				},
				"SecondaryOffset": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The offset in <<units>> of the secondary channel relative to the beacon channel (SECONDARY_OFFSET Managed Parameter). A value of 0 indicates that there is no secondary channel.",
					"datatype": "int",
					"range": [
						{
							"min": -125,
							"max": 125
						}
					],
					"unit": "MHz"
				},
				"BeaconPowerDistributed": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The networkwide (see <<param|BeaconPowerMePie>>) value of Beacon transmit power in <<units>> sent by the NC (Network Coordinator) in Beacon Power PIEs (Power Information Elements). A value of 255 indicates that no networkwide PIE is sent. See <<bibref|MoCAv2.5|section 7.1.5 and Table 17-1>>.",
					"datatype": "int",
					"range": [
						{
							"min": -10,
							"max": 7
						},
						{
							"min": 255,
							"max": 255
						}
					],
					"unit": "dBm"
				},
				"BeaconPowerLocal": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value of Beacon transmit power in <<units>> used by the Node when it transmits beacons.",
					"datatype": "int",
					"range": [
						{
							"min": -10,
							"max": 7
						}
					],
					"unit": "dBm"
				},
				"BeaconPowerMePie": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Beacon Power PIE (Power Information Element) that the ME (Management Entity) wants the NC (Network Coordinator) to send to configure the Beacon Transmit Power of the different nodes. See <<bibref|MoCAv2.5|section 7.1.5>>. This parameter specifies if the Beacon transmit power is intended to set the Beacon Power Local (individual type) or the Beacon Power Distributed (networkwide type) of the selected nodes. It is encoded as specified in <<bibref|MOCA25-MIB|section 4.11>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 4,
							"max": 4
						}
					]
				},
				"BeaconPowerMePieSend": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When this parameter is written, instructs the Node (in case of Network Coordinator) to send a set of Beacon Power PIEs (Power Information Element) with the Beacon Power PIE fields set as specified in <<param|BeaconPowerMePie>>. See <<bibref|MoCAv2.5|section 7.1.5>>.",
					"datatype": "boolean"
				},
				"BeaconPowerNetConfig": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether the Node is allowed to configure its Beacon power (both Beacon Power Distributed and Beacon Power Local) according to the Beacon Power PIE (Power Information Element) sent by the NC (Network Coordinator). * When set to true the Node is allowed to configure its Beacon power. * When set to false the Node is not allowed to configure its Beacon power. See <<bibref|MoCAv2.5|section 7.1.5 and Table 17-1>>.",
					"datatype": "boolean"
				},
				"EnhancedPassword": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MoCA Enhanced Password using an ASCII printable character. This value must be 12 to 64 ASCII printable characters with decimal codes in the range 33 to 126 inclusive. Access is only allowed when used with SNMPv3 protocol, but not allowed when used with SNMPv1 or SNMPv2c protocol. If this value changes, this node will drop from the network if <<param|PrivacyEnabledSetting>> is <<true>>. If this managed object is changed, it may not be possible to change this object again via the SNMP protocol. The mechanism to change this object again is out of the scope of this MIB definition draft. See <<bibref|MoCAv2.5|section 11.3.1>>.",
					"datatype": "string",
					"range": [
						{
							"min": 12,
							"max": 64
						},
						{
							"min": 0,
							"max": 0
						}
					]
				},
				"FirstOffset": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The offset of the First Channels center frequency below the center frequency of the Primary Channel. Valid values are -4 to 0. See <<bibref|MoCAv2.5|Table 17-1>>.",
					"datatype": "int",
					"range": [
						{
							"min": -4,
							"max": 0
						}
					]
				},
				"HandoffToLowerVersionEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable handoff to a MoCA 2 or MoCA 1 Node if this value is <<true>>. Disable handoff to a MoCA 2 or MoCA 1 Node if this value is <<false>>. See <<bibref|MoCAv2.5|section 8.11.1 and Table 17-1>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"MgntEntityNetIePayloadRespTimeout": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of Discovery Request transmission opportunities a NN has to wait for a response to a Management Entity Response Network IE before continuing its network search. See <<bibref|MoCAv2.5|section 8.3.3.2 and Table 17-1>>.",
					"default": "1000",
					"datatype": "unsignedInt"
				},
				"MgntEntityNetIePayloadTx": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The payload of the Management Entity Request Network IE (when the Node is trying to join the network), or of the Management Entity Response Network IE (when the Node is the NC). See <<bibref|MoCAv2.5|section 8.3.3 and Table 17-1>>. struct moca25IfMgntEntityNetIePayload < short vendorId; // 2 octets (MoCA Vendor ID) char information[60]; // 60 octets (Up to 60 bytes of vendor specific information) >",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 62
						}
					]
				},
				"MpsPrivacyDown": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether the Node, during its MPS (MoCA Protected Setup) session, is allowed to accept privacy setting of Privacy Disabled from another Node when its own setting is Privacy Enabled. This parameter is valid only when <<param|MpsPrivacyReceive>> is set to <<true>>. See <<bibref|MoCAv2.5|section 8.3.1 and Table 17-1>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"MpsPrivacyReceive": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether the Node, during its MPS (MoCA Protected Setup) session, is allowed to accept privacy settings (Privacy Enabled / Disabled and Network Password and/or Enhanced Network Password) from another Node. See <<bibref|MoCAv2.5|section 8.3.1 and Table 17-1>>.",
					"default": "true",
					"datatype": "boolean"
				},
				"MpsReset": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Resets the MPS (MoCA Protected Setup) state of the Node <<param|MpsState>> to un-Paired and reinitializes MPS local variables and relevant parameters when this parameter is written. See <<bibref|MoCAv2.5|Section 8.3.1 and Table 17-1>>.",
					"datatype": "boolean"
				},
				"MpsTriggered": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Signals the Node in Power State M0 (Active) or M1 (Low Power Idle) that MPS (MoCA Protected Setup) was triggered when this parameter is written. See <<bibref|MoCAv2.5|Section 8.3.1 and Table 17-1>>.",
					"datatype": "boolean"
				},
				"MpsUnpairedTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The minimum time in <<units>> the Node is required to stay in the un-Paired state after it starts network search if the Node creates or joins a network without using MPS (MoCA Protected Setup). See <<bibref|MoCAv2.5|Section 8.3.1 and Table 17-1>>.",
					"default": "300",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"MpsWalkTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The allowed time interval in <<units>> to trigger MPS (MoCA Protected Setup) on two Nodes. See <<bibref|MoCAv2.5|Section 8.3.1 and Table 17-1>>.",
					"default": "120",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 12,
							"max": 1200
						}
					],
					"unit": "seconds"
				},
				"NetworkJoin": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Instructs the NN to join the latest network from which the NN forwarded a Management Entity Response Network IE: Yes if this value is <<true>> and No if this value is <<false>>. See <<bibref|MoCAv2.5|Section 8.3.3 and Table 17-1>>.",
					"datatype": "boolean"
				},
				"NetworkNameAdmissionRule": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls which Admission rule to follow. See <<bibref|MoCAv2.5|Section 8.3.3 and Table 17-1>>.",
					"default": "none",
					"datatype": "string",
					"enumerations": [
						"none",
						"all",
						"name",
						"osp"
					]
				},
				"NetworkNameNcNn": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Network Name the Node is to use for any MoCA network it creates. When <<param|NetworkNameAdmissionRule>> is set to <<enum|name|NetworkNameAdmissionRule>>, this object also indicates to the Node the name of the network to join. See <<bibref|MoCAv2.5|Section 8.3.3 and Table 17-1>>.",
					"datatype": "string"
				},
				"NumChannels": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of 100MHz channels the Node uses when the Node forms the network. See <<bibref|MoCAv2.5|Table 17-1>>.",
					"default": "5",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 5
						}
					]
				},
				"Per25Mode": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls which PER mode the receiver Node uses for calculating the bitloading of MoCA 2.5 Unicast profiles, where a value of 0 indicates NPER and 1 indicates VLPER. See <<bibref|MoCAv2.5|Table 17-1>>.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"PrivacySupported": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether MoCA 2 Enhanced Privacy, MoCA 2.0 privacy, and MoCA 1 privacy are supported when privacy is enabled. See <<bibref|MoCAv2.5|Section 11 and Table 17-1>>.",
					"default": "[moca1Privacy,moca20Privacy,moca2EnhancedPrivacy]",
					"list": {
						"datatype": "MocaPrivacy",
						"enumerations": [
							"mocaReserved5",
							"mocaReserved4",
							"mocaReserved3",
							"mocaReserved2",
							"mocaReserved1",
							"moca2EnhancedPrivacy",
							"moca20Privacy",
							"moca1Privacy"
						]
					}
				},
				"TrafficPermissionEthertype": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The EtherType value of MSDUs that are allowed to transmit/receive to/from a Non-Secured Admitted Node. See <<bibref|MoCAv2.5|Section 11.7 and Table 17-1>>.",
					"default": "888E",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"TrafficPermissionLink": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Up to 15 pairs of <Node ID, SOURCE_NODE_BITMASK> where SOURCE_NODE_BITMASK is the value for SOURCE_NODE_BITMASK for the Node with the given Node ID in an Authorized Link PIE that the ME of the Authorization Server wants to distribute if the Node is the Authorization Server; otherwise, the value of SOURCE_NODE_BITMASK in the last received Authorized Link PIE. See <<bibref|MoCAv2.5|Section 11.7 and Table 17-1>>. struct moca25IfTrafficPermissionLink < long nodeIdVector; // 8 octets; Bit value in the ith bit position indicates NodeID=(i) (LSB=bit0) int numNodes; // 4 octets (Number of Node IDs indicated in the NodeIdVector) struct < short SrcNodeBitmask; // 2 octets (SOURCE_NODE_BITMASK in the latest Authorized Link PIE) >[numNodes]; >;",
					"datatype": "hexBinary"
				},
				"ConnectedNodesChangeTrapEn": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Used to enable <<param|ConnectedNodesChangeTrap>>. * When set to <<true>> it allows the MoCA Node to report a trap on the change of <<param|NumNodes>>. * When set to <<false>> no trap report is generated when <<param|NumNodes>> changes.",
					"default": "false",
					"datatype": "boolean"
				},
				"MgntEntityNetwIePayloadRecTrapEn": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Used to enable <<param|MgntEntityNetwIePayloadRecTrap>>. * When set to <<true>> it allows the MoCA Node to report a trap on reception of a Management Entity Request/Response Network IE. * When set to <<false>> no trap report is generated when a Management Entity Request/Response Network IE is received.",
					"default": "false",
					"datatype": "boolean"
				},
				"MpsTrapEn": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Used to enable the MPS-related traps: <<param|MpsInitScanRecTrap>>, <<param|MpsPairFailTrap>>, and <<param|MpsPrivacyChangedTrap>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"NcPrivSupportedRecTrapEn": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Used to enable <<param|NcPrivacySupportedRecTrap>>. * When set to <<true>> it allows the MoCA Node to report a trap on reception of a new NC_PRIVACY_SUPPORTED value. * When set to <<false>> no trap report is generated when a new NC_PRIVACY_SUPPORTED value is received.",
					"default": "false",
					"datatype": "boolean"
				},
				"NetworkNameRecTrapEn": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Used to enable <<param|NetworkNameRecTrap>>. * When set to <<true>> it allows the MoCA Node to report a trap on reception of a Network Name. * When set to <<false>> no trap report is generated when a Network Name is received.",
					"default": "false",
					"datatype": "boolean"
				},
				"NodeDropTrapEn": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Used to enable <<param|NodeDropAdmFailureTrap>>, <<param|NodeDropNcTrap>>, <<param|NodeDropMpsTriggeredTrap>>, and <<param|NodeDropNcChgTrap>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"TxPowerLimit": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value in dB by which to reduce the transmit power of the node from its maximum transmit power. The transmit power SHALL only be changed when <<param|Status>> is not <<enum|Up|Status>>, which means the interface is not part of a MoCA network. If changed, the parameter may not take effect until the MoCA interface is restarted. This parameter is based on mocaIfTxPowerLimit from <<bibref|MOCA11-MIB>>.",
					"default": "0",
					"datatype": "MocaDB"
				},
				"PowerCntlPhyTarget": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Target PHY rate in Mbps for the power control algorithm. The MoCA interface SHOULD have <<param|Enable>> set to <<false>> for any change in this configuration. If the parameter is modified when <<param|Enable>> is <<true>> then this change might take several minutes to complete. This parameter is based on mocaIfPowerControlTargetRate from <<bibref|MOCA11-MIB>>.",
					"default": "630",
					"datatype": "MocaPhyRate",
					"range": [
						{
							"min": 0,
							"max": 2048
						}
					]
				},
				"BeaconPowerLimit": {
					"type": "string",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value in dB by which to reduce the setting of the transmit power of the Beacon from the maximum transmit power (BEACON_PWR_BACKOFF Managed Parameter). The beacon transmit power SHALL only be changed when <<param|Status>> is not <<enum|Up|Status>>, which means the interface is not part of a MoCA network. If changed, the parameter may not take effect until the MoCA interface is restarted. This parameter is based on mocaIfBeaconPowerLimit from <<bibref|MOCA11-MIB>>. Note that this parameter maps to different MIB objects for MoCA 1.0/1.1 and MoCA 2.0. <<deprecated|2.17|for MoCA 2.5>> <<obsoleted|2.19>>",
					"default": "0",
					"datatype": "MocaDB"
				},
				"NetworkTabooMask": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MoCA taboo channels identified for the home network. Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter. | Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter.",
					"datatype": "MocaChannelMask",
					"range": [
						{
							"min": 8,
							"max": 8
						}
					]
				},
				"NodeTabooMask": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MoCA taboo channels identified for this device. Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter. | Represents one or more MoCA channel RF center frequencies using a hexadecimal encoded 64-bit mask. Bit 63 (the leftmost bit of the leftmost character) is the most significant bit (highest frequency), and bit 0 (the rightmost bit of the rightmost character) is the least significant bit (lowest frequency). Not all bits are valid MoCA channels. Each bit represents 25 MHz of spectrum, but the mapping from bits to frequencies varies with the MoCA version: * MoCA 1.0 and MoCA 1.1: bits 63 through 32 are not used, bit 31 represents 1575 MHz and bit 0 represents 800 MHz * MoCA 2.0 and MoCA 2.5: bit 63 represents 1975 MHz and bit 0 represents 400 MHz For example, a MoCA 1.0 or MoCA 1.1 interface would use 0x000000001FFFC000 to represent 1150 MHz through 1500 MHz. Note that the MoCA version is indicated by the <<param|HighestVersion>> parameter.",
					"datatype": "MocaChannelMask",
					"range": [
						{
							"min": 8,
							"max": 8
						}
					]
				},
				"SupportedBands": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Lists all the supported bands and sub-bands by this device.",
					"datatype": "MocaBand",
					"enumerations": [
						"reserved",
						"bandFCBL",
						"bandFSAT",
						"bandE",
						"bandExD",
						"bandDH",
						"bandDL",
						"noBand"
					]
				},
				"TxBcastRate": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The broadcast PHY transmit rate for this interface. This parameter is based on mocaIfTxGcdRate from <<bibref|MOCA11-MIB>>.",
					"datatype": "MocaPhyRate",
					"range": [
						{
							"min": 0,
							"max": 2048
						}
					]
				},
				"TxBcastPowerReduction": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Transmit Power attenuation relative to the maximum transmit power for broadcast transmissions. This parameter is based on mocaIfTxGcdPowerReduction from <<bibref|MOCA11-MIB>>.",
					"datatype": "MocaDB"
				},
				"QAM256Capable": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether this interface supports the 256 QAM feature. This parameter is based on mocaIfQAM256Capable from <<bibref|MOCA11-MIB>>. This parameter MUST NOT be implemented for MoCA 2.0 because it doesnt map to a MIB object.",
					"datatype": "boolean"
				},
				"PacketAggregationCapability": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The packet aggregation capability supported by the interface. Standard values are 0 (no support), 6 (6 <<units>>) or 10 (10 <<units>>). This parameter is based on mocaIfPacketsAggrCapability from <<bibref|MOCA11-MIB>>. Note that this parameter maps to different MIB objects for MoCA 1.0/1.1 and MoCA 2.0. [XXX1: Need to modify the syntax to unsignedInt because MoCA 2.0 requires a minimum of 20 packets and MoCA 2.5 requires a minimum of 80 packets.]",
					"datatype": "unsignedInt",
					"unit": "packets"
				},
				"AssociatedDeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"PasswordHash": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The 16 LSBs of a SHA1 performed on a 0-extended password (<<param|KeyPassphrase>>) concatenated with the SALT string MocaPasswordHash. This parameter allows to remotely validate the MoCA password configuration without exposing its value. This value must be 4 hexadecimal digits long.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 2
						}
					]
				},
				"AggregationSize": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of bytes in one aggregate which can be received by the MoCA Node.",
					"datatype": "unsignedInt"
				},
				"AeNumber": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum number of allocation elements, excluding the TAUs and the Dummy DAUs, in one MAP the MoCA Node can process.",
					"datatype": "unsignedInt"
				},
				"SupportedIngressPqosFlows": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum number of Ingress PQoS Flows supported by the MoCA Node.",
					"datatype": "unsignedInt"
				},
				"SupportedEgressPqosFlows": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum number of Egress PQoS Flows supported by the MoCA Node.",
					"datatype": "unsignedInt"
				},
				"PowerStateCap": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Power State capabilities of the MoCA Node (e.g., which Power States it can transition to) (POWER_STATE_CAP Managed Parameter). This value can change over time (e.g. when a MoCA 1 Node joins the network).",
					"datatype": "MocaPowerState",
					"enumerations": [
						"m0Active",
						"m1LowPowerIdle",
						"m2Standby",
						"m3Sleep"
					]
				},
				"AvbSupport": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The support of the MoCA Node for the IEEE 802.1 Audio Video Bridge specification. AVB is supported if this value is <<true>>. AVB is not supported if this value is <<false>>.",
					"datatype": "boolean"
				},
				"ResetCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Count of MoCA resets since the interface was enabled for this MoCA Node.",
					"datatype": "StatsCounter32"
				},
				"LinkDownCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of times that this MoCA Node has lost link with the MoCA network since the interface was enabled.",
					"datatype": "StatsCounter32"
				},
				"LmoNodeID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The ID of the MoCA Node currently undergoing LMO (Link Maintenance Operation), i.e. the LMO node.",
					"datatype": "MocaNodeID",
					"range": [
						{
							"min": 0,
							"max": 15
						}
					]
				},
				"NetworkState": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current Link control state in the MoCA network for the MoCA Node. This network state is a MAC parameter determined by the NC (Network Coordinator) and broadcasted in the MAP to the rest of nodes. <<enum|beginNodeAdmissionState>>, <<enum|newNodeTypeOneProbeTxState>>, <<enum|newNodeTypeOneProbeRxState>>, <<enum|newGcdDistributionState>>, <<enum|beginPhyProfileState>>, <<enum|steadyState>> refer to the Node Admission (see <<bibref|MoCAv2.5|Section 8.3>>). The admission process of a new MoCA node depends on the operation mode of the MoCA Network that it is going to join (MoCA 1 mode, MoCA 2.0 mode or Mixed Mode). The Node Admission process is completed when the NC (Network Controller) changes the network state to Steady State (<<enum|steadyState>>) at the end of the Node Admission process. <<enum|typeThreeProbeState>>, <<enum|lmoTypeOneProbeState>>, <<enum|lmoNodeGcdDistributionState>>, <<enum|beginLmoPhyProfileState>>, <<enum|lmoGcdTypeOneProbeLinkState>>, <<enum|steadyState>> refer to the Regular Link Maintenance Operation (see <<bibref|MoCAv2.5|Section 8.9.1>>). <<enum|alternateChannelQuietLineState>>, <<enum|alternateChannelEvmProbeState>>, <<enum|unsolicitedProbeReportState>>, <<enum|beginUnsolicitedPhyProfileState>>, <<enum|rxDeterminedProbeState>>, <<enum|steadyState>> refer to the On-Demand Link Maintenance Operation (see <<bibref|MoCAv2.5|Section 8.9.2>>). <<enum|calibrationState>> refer to the Network Operation after a NC handoff or failover (see <<bibref|MoCAv2.5|Section 8.14>>).",
					"datatype": "string",
					"enumerations": [
						"beginNodeAdmissionState",
						"newNodeTypeOneProbeTxState",
						"newNodeTypeOneProbeRxState",
						"newGcdDistributionState",
						"beginPhyProfileState",
						"steadyState",
						"typeThreeProbeState",
						"lmoTypeOneProbeState",
						"lmoNodeGcdDistributionState",
						"beginLmoPhyProfileState",
						"lmoGcdTypeOneProbeLinkState",
						"alternateChannelQuietLineState",
						"alternateChannelEvmProbeState",
						"unsolicitedProbeReportState",
						"beginUnsolicitedPhyProfileState",
						"rxDeterminedProbeState",
						"calibrationState"
					]
				},
				"PrimaryChannelOffset": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The offset in MHz of the primary channel relative to the beacon channel. The allowed values are -25, 0, and +25.",
					"datatype": "int"
				},
				"SecondaryChannelOffset": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The offset in MHz of the secondary channel relative to the beacon channel. The allowed values are -125 and +125. A value of 0 indicates that there is no secondary channel.",
					"datatype": "int"
				},
				"ResetReason": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the reason for a MoCA link reset or failure to join a network.",
					"datatype": "string",
					"range": [
						{
							"min": 0,
							"max": 80
						}
					]
				},
				"NcVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the MoCA version of the NC. This element MUST be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 1.0, where the components mean major.minor revision number. Possible patterns: * \\d+(\\.\\d+)*",
					"datatype": "string",
					"range": [
						{
							"min": 0,
							"max": 64
						}
					]
				},
				"LinkState": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter is meaningful only after a Link Failure to indicate the state of the network the at the time of the Link failure. Each of the three chars (bytes) is represented as two hexadecimal digits. struct mocaLinkState < char LINK_STATE; // LINK_STATE_II from the Tx/Rx MAP at the // time of the Link Failure char ACF_TYPE; // ACF_TYPE from the Tx/Rx BEACON // at the time of the Link Failure char ADD_ACF_TYPE; // ADDITIONAL_ACF_TYPE from the Tx/Rx // BEACON at the time of the Link Failure >;",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 3,
							"max": 3
						}
					]
				},
				"ConnectedNodesInfo": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the information for each node connected in the network for up to 16 nodes. See <<bibref|MoCAv2.5|Table 17-1>>. struct moca25ConnectedNodesInfo < long nodeIdVector; // 8 octets; Bit value in the ith bit position indicates NodeID=(i) (LSB=bit0) int numNodes; // 4 octets (Number of Node IDs indicated in the NodeIdVector) struct < char guid[8]; // 8 octets (Node GUID MAC Address) char mocaVersion; // 1 octet (MoCA Version) >[numNodes]; >;",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 12,
							"max": 156
						}
					]
				},
				"MgntEntityNetIePayloadRx": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the payload of the latest received Management Entity Request Network IE, or Management Entity Response Network IE. See <<bibref|MoCAv2.5|Table 17-1>>. struct moca25IfMgntEntityNetIePayload < short vendorId; // 2 octets (MoCA Vendor ID) char information[60]; // 60 octets (Up to 60 bytes of vendor specific information) >;",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 2,
							"max": 62
						}
					]
				},
				"Moca25PhyCapable": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicate the MoCA Node supports MoCA 2.5 PHY if the value is <<true>>. Indicate the MoCA Node does not support MoCA 2.5 PHY if this value is <<false>>. See <<bibref|MoCAv2.5|section 8.3.4.1.1>>.",
					"datatype": "boolean"
				},
				"MpsInitScanPayload": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the channel number, NCs (Network Coordinators) MoCA version, Network MPS (MoCA Protected Setup) trigger, and Network MPS parameters (if any) and Network Name of the latest MoCA network found during Initial MPS Scanning. See <<bibref|MoCAv2.5|section 8.3.1.1.1>>. It is encoded as specified in <<bibref|MOCA25-MIB|section 4.6>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 4,
							"max": 4
						}
					]
				},
				"MpsState": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the MPS (MoCA Protected Setup) state of the Node: paired if the value is <<true>> and un-Paired if the value is <<false>>. See <<bibref|MoCAv2.5|section 8.3.1>>.",
					"datatype": "boolean"
				},
				"NetworkNamePayload": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The payload of the latest received Network Name from the NC. See <<bibref|MoCAv2.5|section 8.3.3.2>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 0,
							"max": 32
						}
					]
				},
				"PrivacyNc": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The latest NC_PRIVACY_SUPPORTED value received from the NC. Before any NC_PRIVACY_SUPPORTED is received, reflects the value of <<param|PrivacySupported>>. See <<bibref|MoCAv2.5|Table 17-1>>.",
					"list": {
						"datatype": "MocaPrivacy",
						"enumerations": [
							"mocaReserved5",
							"mocaReserved4",
							"mocaReserved3",
							"mocaReserved2",
							"mocaReserved1",
							"moca2EnhancedPrivacy",
							"moca20Privacy",
							"moca1Privacy"
						]
					}
				},
				"PowerStateResp": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Carries the response of the MoCA Node to a request (through POWER_STATEREQ) to transition into a desired Power State: yes if the value if <<true>> and no if the value is <<false>>. See <<bibref|MoCAv2.5|section 12>>.",
					"datatype": "boolean"
				},
				"PowerStateStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the current Power State of the Node (POWER_STATE_STATUS Managed Parameter).",
					"datatype": "MocaPowerState",
					"enumerations": [
						"m0Active",
						"m1LowPowerIdle",
						"m2Standby",
						"m3Sleep"
					]
				},
				"ConnectedNodesDropReason": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports the GUID(s) of the dropped EN(s) and the reason of node drop for up to 15 nodes. This object is valid only when the Node is the NC. See <<bibref|MoCAv2.5|Table 17-1>>. struct moca25IfConnectedNodesDropReason < int numNodes; // 4 octets (Number of dropped nodes) struct < char guid[8]; // 8 octets (Node GUID MAC Address) char dropReason; // 1 octet (Reason of node drop: // 0x00 Admission Failure // 0x01 Key Response Timeout // 0x02 Heartbeat Transmission Timeout // 0x03 Power State M0 Transition Timeout // 0x04 Disadvantaged Node // 0x05 RR Transmission Timeout) >[numNodes]; >;",
					"datatype": "hexBinary"
				},
				"BelowPhyThresholdTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "If transmit PHY rate between all pairs of MoCA Nodes are greater than or equal to <<param|PhyThreshold>>, and subsequently the transmit PHY rate of one pair of MoCA Nodes drops below <<param|PhyThreshold>>, send this notification if <<param|PhyThresholdTrapEnable>> is <<true>>. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"AbovePhyThresholdTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "If transmit PHY rate between one or more pairs of MoCA Nodes are less than <<param|PhyThreshold>>, and subsequently the transmit PHY rate between all pairs of MoCA Nodes goes above or is equal to <<param|PhyThreshold>>, send this notification if <<param|PhyThresholdTrapEnable>> is <<true>>. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"StatusChangeTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|StatusChangeEnable>> is <<true>> and <<param|Status>> changes value. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"NumNodesChangeTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|NumNodesChangeEnable>> is <<true>> and <<param|NumNodes>> changes value. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"MrRstSuccessTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "An MR Entry Node reports that the network got reset successfully (MRRST_SUCCESS Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"MrRstFailTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "An MR Entry Node reports that the network reset did not complete successfully (MRRST_FAIL Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"MrNetworkSuccessTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "An MR Entry Node reports that the network got reformed successfully following the MR transaction (MRNETWORK_SUCCESS Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"MrNetworkFailTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "An MR Entry Node reports that the MR transaction failed, and the network did not get reformed (MRNETWORK_FAIL Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"PowerStateBcstRecTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "When the MoCA Node is in Power State M1 or M2, indicates that the MoCA Node has received a Broadcast data MSDU, which is available at the data interface (POWER_STATEBCST_REC Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"PowerStateM0NcTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "When a MoCA Node is in Power State M1, indicates that it is going to move to Power State M0 due to the NCs instruction. This parameter is a counter that is incremented whenever the event occurs (POWER_STATEM0_NC Event).",
					"datatype": "unsignedInt"
				},
				"PowerStateNc1xTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "When the MoCA Node is in Power State M1/M2/M3, indicates that MoCA 1 Node is the NC (POWER_STATENC_1X Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"PowerStateNetVerTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "When the MoCA Node is in Power State M2 or M3, indicates that the network MoCA version is changed (POWER_STATENET_VER Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"PowerStateRespTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Carries the response of the MoCA Node to a request (through POWER_STATEREQ) to transition into a desired Power State (POWER_STATERESP Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"PowerStateUcstPenTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "When the MoCA Node is in Power State M2, indicates that a Unicast data MSDU destined to the MoCA Node is pending (POWER_STATEUCST_PEN Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"PowerStateTrnsReqTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "When a MoCA Node is in Power State M1 or M2, requests to transition to Power State M0 (POWER_STATETRNS_REQ Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"PowerStateWupUrTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "When the MoCA Node is in Power State M2, this reports a wakeup request from NC due to unspecified reasons (POWER_STATEWUP_UR Event). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"LmoStatusTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "When <<param|LmoTrapEnable>> is enabled, reports that the MoCA Node is starting LMO (Link Maintenance Operation). This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"LinkFailureTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates a link failure. If the failure was an Admission or LMO failure, <<param|LinkState>> indicates when the link was dropped within the sequence. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"ConnectedNodesChangeTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|ConnectedNodesChangeTrapEn>> is <<true>> and <<param|ConnectedNodesInfo>> changes value. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"MgntEntityNetwIePayloadRecTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|MgntEntityNetwIePayloadRecTrapEn>> is <<true>> and <<param|MgntEntityNetIePayloadRx>> changes value. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"MpsInitScanRecTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|MpsTrapEn>> is <<true>> and <<param|MpsInitScanPayload>> changes value. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"MpsPairFailTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|MpsTrapEn>> is <<true>>, indicates a MPS pairing failure. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"MpsPrivacyChangedTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|MpsTrapEn>> is <<true>>, indicates that the Nodes privacy settings (PRIVACYEN and/or PSWD) have been changed by MPS. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"NcPrivacySupportedRecTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|NcPrivSupportedRecTrapEn>> is <<true>> and <<param|PrivacyNc>> changes value. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"NetworkNameRecTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|NetworkNameRecTrapEn>> is <<true>> and <<param|NetworkNamePayload>> changes value. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"NodeDropAdmFailureTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|NodeDropTrapEn>> is <<true>>, indicates that the Node drops from the network due to admission failure. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"NodeDropNcTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|NodeDropTrapEn>> is <<true>>, indicates that the Node is dropped by the NC as indicated in the NODE_BITMASK and LOW_POWER_NODE_BITMASK. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"NodeDropMpsTriggeredTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|NodeDropTrapEn>> is <<true>>, indicates that MPS is locally triggered when the Node is un-Paired. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"NodeDropNcChgTrap": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "This trap is sent when <<param|NodeDropTrapEn>> is <<true>>>, indicates that there is a NC change when the Node is Non-Secured Admitted Node. This parameter is a counter that is incremented whenever the event occurs.",
					"datatype": "unsignedInt"
				},
				"BelowPhyThresholdTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"LowestPhyRate": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The lowest PHY rate in the MoCA network, of <<param|#.Mesh.<i>.TxRate>>, which is the transmit PHY rate from the MoCA Node specified with <<param|#.Mesh.<i>.TxNodeIndex>>, to the MoCA Node specified with <<param|#.Mesh.<i>.RxNodeIndex>>. If multiple links have the same lowest PHY rate, sends the PHY rate for the link with the lowest <<param|#.Mesh.<i>.TxNodeIndex>>. If multiple links with the same <<param|#.Mesh.<i>.TxNodeIndex>> have the same lowest PHY rate, sends the PHY rate for the link with the lowest <<param|#.Mesh.<i>.RxNodeIndex>>. Network management system should access the table to find if there are additional links below the threshold bandwidth.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 13,
									"max": 13
								}
							]
						}
					}
				},
				"AbovePhyThresholdTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"StatusChangeTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The current value of <<param|#.Status>>.",
							"datatype": "string"
						}
					}
				},
				"NumNodesChangeTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"NumNodes": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The current value of <<param|#.NumNodes>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 16
								}
							]
						}
					}
				},
				"MrRstSuccessTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"MrRstFailTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"MrNetworkSuccessTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"MrNetworkFailTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"PowerStateBcstRecTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"PowerStateM0NcTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"PowerStateNc1xTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"PowerStateNetVerTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"PowerStateRespTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"PowerStateUcstPenTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"PowerStateTrnsReqTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"PowerStateWupUrTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"LmoStatusTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"LinkFailureTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"ConnectedNodesChangeTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"ConnectedNodesInfo": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The current value of <<param|#.ConnectedNodesInfo>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 12,
									"max": 156
								}
							]
						}
					}
				},
				"MgntEntityNetwIePayloadRecTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"MpsInitScanRecTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"MpsInitScanPayload": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The current value of <<param|#.MpsInitScanPayload>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						}
					}
				},
				"MpsPairFailTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"MpsPrivacyChangedTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"NcPrivacySupportedRecTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"PrivacyNc": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The current value of <<param|#.PrivacyNc>>.",
							"datatype": "string"
						}
					}
				},
				"NetworkNameRecTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"NetworkNamePayload": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The current value of <<param|#.NetworkNamePayload>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 0,
									"max": 32
								}
							]
						}
					}
				},
				"NodeDropAdmFailureTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"NodeDropNcTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"NodeDropMpsTriggeredTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"NodeDropNcChgTrap!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"Device.MoCA.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors. This parameter MUST NOT be implemented for MoCA 2.0 because it doesnt map to a MIB object.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol. This parameter MUST NOT be implemented for MoCA 2.0 because it doesnt map to a MIB object.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol. This parameter MUST NOT be implemented for MoCA 2.0 because it doesnt map to a MIB object.",
						"datatype": "StatsCounter32"
					},
					"RxCorrectedErrors": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of received Ethernet packets that have errors and are corrected by this MoCA interface.",
						"datatype": "StatsCounter64"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.MoCA.Interface.{i}.AccessControl.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "MoCA interface MAC access control table. This table contains a list of MAC addresses that are allowed to connect to the MoCA network. In addition to being in this access control list, a MoCA Node must have the proper <<param|#.FreqCurrentMask>>, <<param|#.PrivacyEnabledSetting>>, and <<param|#.KeyPassphrase>> before the MoCA Node can form or join a MoCA network.",
					"uniqueKeys": [
						"MACAddress"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this MAC address to be allowed to connect to the MoCA network.",
						"default": "true",
						"datatype": "boolean"
					},
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<param|#.AccessControlEnable>> is set to <<true>>, MoCA Node with this MAC address is allowed to join the MoCA network. It is not guaranteed that the MoCA Node with this MAC address can form or join a network.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					}
				},
				"Device.MoCA.Interface.{i}.Rlapm.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Interface RLAPM Table supporting the configuration of RLAPM (Receive Level Added PHY Margin) function parameters for the selected profile. The pairs [<<param|GlobalAggrRxPwrLevel>> (GARPLi ), <<param|PhyMargin>> (RLAPMi)] are used to determine the subcarriers bitloadings according <<bibref|MoCAv2.0|section 7.15.2 and Table 17-1>>.",
					"uniqueKeys": [
						"Profile",
						"Frequency",
						"GlobalAggrRxPwrLevel"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this Rlamp entry.",
						"default": "true",
						"datatype": "boolean"
					},
					"Profile": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Profile index used for the RLAPM (Receive Level Added PHY Margin) table.",
						"datatype": "unsignedInt"
					},
					"Frequency": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Frequency (band) index used for the RLAPM (Receive Level Added PHY Margin) table.",
						"datatype": "unsignedInt"
					},
					"GlobalAggrRxPwrLevel": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Global Aggregated Receive Power Level (GARPL). The parameter contains the Ni value, where GARPLi = -Ni dBm.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65
							}
						]
					},
					"PhyMargin": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Receive Level Added Phy Margin (RLAPM). The parameter contains the Ni value, where RLAPMi = 0.5*Ni dB.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 60
							}
						]
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reflects the status of a row in this table.",
						"datatype": "RowStatus",
						"enumerations": [
							"active",
							"notInService",
							"notReady",
							"createAndGo",
							"createAndWait",
							"destroy"
						]
					}
				},
				"Device.MoCA.Interface.{i}.Sapm.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Interface SAPM Table supporting the configuration of SAPM (Subcarrier Added PHY Margin) function parameters for the selected profile. When the aggregate received power level (ARPL) is below the pre-specified threshold <<param|AggrRxPwrLevelThreshold>>, for each subcarrier, its corresponding value on the list <<param|PhyMargin>> will be considered to determine the subcarriers bitloading according <<bibref|MoCAv2.0|section 7.15.2 and Table 17-1>>.",
					"uniqueKeys": [
						"Profile",
						"Frequency"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this Sapm entry.",
						"default": "true",
						"datatype": "boolean"
					},
					"Profile": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Profile index used for the SAPM (Subcarrier Added PHY Margin) table.",
						"datatype": "unsignedInt"
					},
					"Frequency": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Frequency (band) index used for the SAPM (Subcarrier Added PHY Margin) table.",
						"datatype": "unsignedInt"
					},
					"AggrRxPwrLevelThreshold": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Aggregate Received Power Level Threshold (ARPL_THLD). The parameter contains the N value, where ARPL_THLD = -N dBm.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65
							}
						]
					},
					"PhyMargin": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Subcarrier Added PHY Margin (SAPM). List of SAPM values representing the PHY margin the Node is required to add to the bitloading of each of the available subcarriers when the received power level is below ARPL_THLD (<<param|AggrRxPwrLevelThreshold>>). Each value contains the Ni value for a OFDM subcarrier i, where SAPMi = 0.5*Ni dB.",
						"list": {
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 120
								}
							]
						}
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reflects the status of a row in this table.",
						"datatype": "RowStatus",
						"enumerations": [
							"active",
							"notInService",
							"notReady",
							"createAndGo",
							"createAndWait",
							"destroy"
						]
					}
				},
				"Device.MoCA.Interface.{i}.Aca.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This diagnostic test corresponds to the MoCA ACA (Alternate Channel Assessment) operation. When this test is <<enum|Requested|DiagnosticsState>> the managed MoCA Node will initiate a MoCA On Demand LMO (Link Maintenance Operation).",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"NodeID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The Node ID of the MoCA Node to transmit the EVM Probe when the parameter <<param|Type>> = <<enum|evm|Type>>.",
						"datatype": "MocaNodeID",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						]
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The ACA (Alternate Channel Assessment) type is either <<enum|evm>> or <<enum|quiet>>.",
						"datatype": "string",
						"enumerations": [
							"quiet",
							"evm"
						]
					},
					"Channel": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The channel number under assessment, starting from 0 in increments of 25 MHz.",
						"datatype": "unsignedInt"
					},
					"ReportNodeMask": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Specifies the MoCA Nodes that are requested to be part of the channel assessment: Setting bits corresponding to Node IDs of these MoCA Nodes to 1. See <<bibref|MoCAv2.0|Section 6.2.1>>",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 2,
								"max": 2
							}
						]
					},
					"TotalRxPower": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "dBm (-128 to +127 dBm).",
						"datatype": "MocaDBm"
					},
					"PowerProfile": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Binary string array with 1 byte (represented as two hexadecimal digits) for each subcarrier. See <<bibref|MOCA11-MIB|Appendix A>> for the encoding of this object.",
						"datatype": "hexBinary"
					},
					"Aca()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {
							"NodeID": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The Node ID of the MoCA Node to transmit the EVM Probe when the parameter <<param|Type>> = <<enum|evm|Type>>.",
								"datatype": "MocaNodeID"
							},
							"Type": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The ACA (Alternate Channel Assessment) type is either <<enum|evm>> or <<enum|quiet>>.",
								"datatype": "string",
								"enumerations": [
									"quiet",
									"evm"
								]
							},
							"Channel": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The channel number under assessment, starting from 0 in increments of 25 MHz.",
								"datatype": "unsignedInt"
							},
							"ReportNodeMask": {
								"type": "hexBinary",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Specifies the MoCA Nodes that are requested to be part of the channel assessment: Setting bits corresponding to Node IDs of these MoCA Nodes to 1. See <<bibref|MoCAv2.0|Section 6.2.1>>",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 2,
										"max": 2
									}
								]
							}
						},
						"output": {
							"Status": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Status of the ACA operation. If the value of this parameter is anything other than <<enum|success>>, the values of the other output arguments for this operation are indeterminate.",
								"datatype": "string",
								"enumerations": [
									"success",
									"failBADCHANNEL",
									"failNOEVMPROBE",
									"fail",
									"inPROGRESS"
								]
							},
							"TotalRxPower": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "dBm (-128 to +127 dBm).",
								"datatype": "MocaDBm"
							},
							"PowerProfile": {
								"type": "hexBinary",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Binary string array with 1 byte (represented as two hexadecimal digits) for each subcarrier. See <<bibref|MOCA11-MIB|Appendix A>> for the encoding of this object.",
								"datatype": "hexBinary"
							}
						}
					}
				},
				"Device.MoCA.Interface.{i}.Reset.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Used by the managed MoCA Node to initiate MoCA Reset Transaction.",
					"access": false,
					"array": false,
					"NodeMask": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The MoCA Nodes that must respond to the MR transaction L2ME request sent by the NC except for the MR Entry Node (LSB corresponds to Node ID 0x0). See <<bibref|MoCAv2.0|Section 6.2.1>>",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 2,
								"max": 2
							}
						]
					},
					"StartTime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Time in seconds after this parameter is written that a MoCA Node must initiate a MoCA Reset (MR). See <<bibref|MoCAv2.0|Section 7.15>>.",
						"datatype": "unsignedInt"
					},
					"StatusTrapEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Used to enable <<param|#.MrRstSuccessTrap>> and <<param|#.MrRstFailTrap>> that the network reset was completed successfully or failed for MR transaction status trap.",
						"datatype": "boolean"
					},
					"NetworkTrapEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Used to enable <<param|#.MrNetworkSuccessTrap>> and <<param|#.MrNetworkFailTrap>> that the network was reformed or not reformed successfully following the MR transaction.",
						"datatype": "boolean"
					}
				},
				"Device.MoCA.Interface.{i}.QoS.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The QoS object provides information on MoCA parameterized QoS for this interface <<bibref|MoCAv1.1>>.",
					"access": false,
					"array": false,
					"EgressNumFlows": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of QoS flows that this interface has from the MoCA network. This parameter is based on mocaIfEgressNodeNumFlows from <<bibref|MOCA11-MIB>>.",
						"datatype": "unsignedInt"
					},
					"IngressNumFlows": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of QoS flows that this interface has onto the MoCA network. This parameter is based on mocaIfIngressNodeNumFlows from <<bibref|MOCA11-MIB>>.",
						"datatype": "unsignedInt"
					},
					"FlowStatsNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.MoCA.Interface.{i}.QoS.FlowStats.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The flow statistics table provides information on the MoCA parameterized QoS flows this interface has allocated onto the MoCA network.",
						"uniqueKeys": [
							"FlowID"
						],
						"access": false,
						"array": true,
						"FlowID": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The flow ID used to identify a flow in the network. This parameter is based on mocaIfFlowID from <<bibref|MOCA11-MIB>>. Note that the data type has changed from unsignedInt to MACAddress. This is because the original data type was an error and could not have been implemented as specified.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"PacketDA": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The Destination Address (DA) for the packets in this flow. This parameter is based on mocaIfPacketDA from <<bibref|MOCA11-MIB>>.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"MaxRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum required rate in <<units>>. This parameter is based on mocaIfPeakDataRate from <<bibref|MOCA11-MIB>>.",
							"datatype": "unsignedInt",
							"unit": "Kbps"
						},
						"MaxBurstSize": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum burst size. This parameter is based on mocaIfBurstSize from <<bibref|MOCA11-MIB>>.",
							"datatype": "unsignedInt"
						},
						"LeaseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Flow lease time (expressed in <<units>>). A <<param>> of 0 means unlimited lease time. This parameter is based on mocaIfLeaseTime from <<bibref|MOCA11-MIB>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"Tag": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The FLOW_TAG of the PQoS flow identified by <<param|FlowID>> in which this MoCA interface is an Ingress Node for this PQoS flow. The FLOW_TAG carries application specific content of this PQoS flow. See <<bibref|MoCAv2.0|Section 6.3.13.1>>.",
							"datatype": "unsignedInt"
						},
						"LeaseTimeLeft": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Flow lease time remaining (expressed in <<units>>). If <<param|LeaseTime>> is 0 then a <<param>> of 0 means unlimited lease time; otherwise, a <<param>> of 0 means expired. This parameter is based on mocaIfLeaseTimeLeft from <<bibref|MOCA11-MIB>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"FlowPackets": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of packets transmitted for this flow. This parameter is based on mocaIfTxPacketsFlow from <<bibref|MOCA11-MIB>>.",
							"datatype": "StatsCounter32"
						},
						"IngressGuid": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The MAC address of the MoCA Node specified by the INGRESS_NODE_ID parameter of the flow. See <<bibref|MoCAv2.0|Section 6.3.13.1>>.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"EgressGuid": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The MAC address of the MoCA Node specified by the EGRESS_NODE_ID parameter of the flow. See <<bibref|MoCAv2.0|section 6.3.13.1>>.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"MaximumLatency": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The MAXIMUM_LATENCY parameter of the flow in units of milliseconds. A value of 0 indicates no value available. See <<bibref|MoCAv2.0|section 6.3.13.1>>.",
							"datatype": "unsignedInt"
						},
						"ShortTermAvgRatio": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The SHORT_TERM_AVERAGE_RATIO parameter of the flow. See <<bibref|MoCAv2.0|section 6.3.13.1>>.",
							"datatype": "unsignedInt"
						},
						"FlowPer": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The FLOW_PER parameter of this flow, where a value of 0 indicates NPER and 1 indicates VLPER. See <<bibref|MoCAv2.0|section 6.3.13.1>>.",
							"datatype": "unsignedInt"
						},
						"IngressClassify": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The INGRESS_CLASSIFICATION_RULE parameter of the flow. See <<bibref|MoCAv2.0|section 6.3.13.1>>.",
							"datatype": "MocaFlowIngrClassRule",
							"enumerations": [
								"ruleDAVLANtag4or5",
								"ruleDAonly",
								"ruleDAandDSCPnoVLAN",
								"ruleDAandVLANignoreDSCP",
								"ruleDAandVLANorDSCP"
							]
						},
						"VlanTag": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The VLAN_TAG parameter of the flow. See <<bibref|MoCAv2.0|section 6.3.13.1>>.",
							"datatype": "unsignedInt"
						},
						"DscpMoca": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The DSCP_MOCA parameter of the flow. See <<bibref|MoCAv2.0|section 6.3.13.1>>.",
							"datatype": "unsignedInt"
						},
						"Dfid": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The destination flow ID of the flow assigned by the Ingress Node. See <<bibref|MoCAv2.0|section 7.8.1.2>>.",
							"datatype": "unsignedInt"
						}
					}
				},
				"Device.MoCA.Interface.{i}.AssociatedDevice.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains information about other MoCA devices currently associated with this MoCA interface. Entries in this table cannot be created or deleted by the network management system. All entries are created or deleted by the device software.",
					"uniqueKeys": [
						"MACAddress"
					],
					"access": false,
					"array": true,
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The MAC address of the associated devices MoCA interface.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"NodeID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Node ID of this remote device. This parameter is based on mocaNodeIndex from <<bibref|MOCA11-MIB>>.",
						"datatype": "MocaNodeID",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						]
					},
					"PreferredNC": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether this remote device is a preferred Network Coordinator (NC). This parameter is based on mocaNodePreferredNC from <<bibref|MOCA11-MIB>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"HighestVersion": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Identifies the highest MoCA version that this remote device supports. This element MUST be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 1.0, where the components mean major.minor revision number. <<pattern>> This parameter is based on mocaNodeMocaVersion from <<bibref|MOCA11-MIB>>.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						],
						"pattern": [
							"\\d+(\\.\\d+)*"
						]
					},
					"PHYTxRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The PHY transmit rate (in <<units>>) to this remote device. This parameter is based on mocaMeshTxRate from <<bibref|MOCA11-MIB>>. This parameter MUST NOT be implemented for MoCA 2.0 because it doesnt map to a MIB object.",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"PHYRxRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The PHY receive rate (in <<units>>) from this remote device. This parameter MUST NOT be implemented for MoCA 2.0 because it doesnt map to a MIB object.",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"TxPowerControlReduction": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The reduction in transmitter level due to power control. This parameter is based on mocaNodeTxPowerReduction from <<bibref|MOCA11-MIB>>. <<deprecated|2.17|since it is replaced by <<param|Device.MoCA.Interface.<i>.Mesh.<i>.PowerReduction>>. See <<bibref|MOCA20-MIB>>>> <<obsoleted|2.19>>",
						"datatype": "MocaDB"
					},
					"RxPowerLevel": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The power level (in <<units>>) received at the MoCA interface from this remote device. This parameter is based on mocaNodeRxPower from <<bibref|MOCA11-MIB>>. <<deprecated|2.17|since it is replaced by <<param|Device.MoCA.Interface.<i>.Mesh.<i>.Power>>. See <<bibref|MOCA20-MIB>>>> <<obsoleted|2.19>>",
						"datatype": "unsignedInt",
						"unit": "dBm"
					},
					"TxBcastRate": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The broadcast PHY transmit rate from this remote device. This parameter is based on mocaNodeTxGcdRate from <<bibref|MOCA11-MIB>>.",
						"datatype": "MocaPhyRate",
						"range": [
							{
								"min": 0,
								"max": 2048
							}
						]
					},
					"RxBcastPowerLevel": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The power level received at the MoCA interface from this remote device. This parameter is based on mocaNodeRxGcdPower from <<bibref|MOCA11-MIB>>.",
						"datatype": "MocaDBm"
					},
					"TxPackets": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of packets transmitted to this remote device (Note: Includes Broadcast, Multicast and Unicast packets).",
						"datatype": "StatsCounter64"
					},
					"TxDrops": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of Unicast EPDUs received at the ECL, destined to the associated MoCA Node, and not transmitted by this MoCA interface.",
						"datatype": "StatsCounter32"
					},
					"RxPackets": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of packets received from this remote device (Note: Includes Broadcast, Multicast and Unicast packets). This parameter is based on mocaNodeRxPackets from <<bibref|MOCA11-MIB>>.",
						"datatype": "StatsCounter64"
					},
					"RxCorrected": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of Ethernet packets received by this MoCA interface that have errors and are corrected from the MoCA Node identified by <<param|MACAddress>>.",
						"datatype": "StatsCounter64"
					},
					"RxErroredAndMissedPackets": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of errored and missed packets received from this remote device. This parameter is based on mocaNodeRxDrops from <<bibref|MOCA11-MIB>>.",
						"datatype": "StatsCounter32"
					},
					"BondingCapable": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The MoCA Node identified by <<param|MACAddress>> supports Bonding if the value is <<true>>. The MoCA Node identified by <<param|MACAddress>> does not support Bonding if this value is <<false>>.",
						"datatype": "boolean"
					},
					"QAM256Capable": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether this remote device supports the 256 QAM feature. This parameter is based on mocaNodeQAM256Capable from <<bibref|MOCA11-MIB>>. This parameter MUST NOT be implemented for MoCA 2.0 because it doesnt map to a MIB object.",
						"datatype": "boolean"
					},
					"PacketAggregationCapability": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The packet aggregation capability supported by the remote device. Standard values are 0 (no support), 6 (6 <<units>>) or 10 (10 <<units>>). This parameter is based on mocaNodePacketsAggrCapability from <<bibref|MOCA11-MIB>>. Note that this parameter maps to different MIB objects for MoCA 1.0/1.1 and MoCA 2.0. [XXX2: Need to modify the syntax to unsignedInt because MoCA 2.0 requires a minimum of 20 packets and MoCA 2.5 requires a minimum of 80 packets.]",
						"datatype": "unsignedInt",
						"unit": "packets"
					},
					"RxSNR": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The signal to noise level received at this interface from this remote device. This parameter is based on mocaNodeSNR from <<bibref|MOCA11-MIB>>. <<deprecated|2.17|since it is replaced by <<param|Device.MoCA.Interface.<i>.Mesh.<i>.RxSNR>>. See <<bibref|MOCA20-MIB>>>> <<obsoleted|2.19>>",
						"datatype": "MocaDB"
					},
					"Active": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether or not this remote device is currently present in the MoCA network. The ability to list inactive nodes is OPTIONAL. If the CPE includes inactive nodes in this table, <<param>> MUST be set to <<false>> for each inactive node. The length of time an inactive node remains listed in this table is a local matter to the CPE.",
						"datatype": "boolean"
					},
					"SupportedIngressPqosFlows": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of Ingress PQoS Flows supported by this MoCA interface from the MoCA Node identified by <<param|MACAddress>>.",
						"datatype": "unsignedInt"
					},
					"SupportedEgressPqosFlows": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of Egress PQoS Flows supported by this MoCA interface from the MoCA Node identified by <<param|MACAddress>>.",
						"datatype": "unsignedInt"
					},
					"AggregationSize": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The maximum number of bytes that can be aggregated in a MoCA frame that this MoCA Node supports.",
						"datatype": "unsignedInt"
					},
					"AeNumber": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The maximum number of allocation elements, excluding the TAUs and the Dummy DAUs, in one MAP that this MoCA Node supports.",
						"datatype": "unsignedInt"
					},
					"PowerState": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Power State of the MoCA Node identified by the <<param|MACAddress>>.",
						"datatype": "MocaPowerState",
						"enumerations": [
							"m0Active",
							"m1LowPowerIdle",
							"m2Standby",
							"m3Sleep"
						]
					},
					"PowerStateCapability": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Power State capability of the MoCA Node identified by the <<param|MACAddress>>.",
						"datatype": "MocaPowerState",
						"enumerations": [
							"m0Active",
							"m1LowPowerIdle",
							"m2Standby",
							"m3Sleep"
						]
					},
					"PDelay": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Propagation delay measured in units of 10ns between the local MoCA Node and the MoCA Node identified by the <<param|MACAddress>>.",
						"datatype": "int"
					},
					"EnhancedPrivacyCapable": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the MoCA Node identified by <<param|MACAddress>> supports MoCA 2 Enhanced Privacy if the value is <<true>>. Indicates the MoCA Node identified by <<param|MACAddress>> does not support MoCA 2 Enhanced Privacy if this value is <<false>>.",
						"datatype": "boolean"
					},
					"LinkType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the type of link used for unicast data transmissions between the managed MoCA Node and the MoCA Node identified by <<param|MACAddress>>.",
						"datatype": "string",
						"enumerations": [
							"moca1PHY",
							"primary",
							"bonded",
							"m25300MHz",
							"m25400MHz",
							"m25500MHz"
						]
					},
					"Moca25PhyCapable": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the MoCA Node identified by <<param|MACAddress>> supports MoCA 2.5 PHY if the value is <<true>>. Indicates the MoCA Node identified by <<param|MACAddress>> does not support MoCA 2.5 PHY if this value is <<false>>.",
						"datatype": "boolean"
					},
					"RxPwrList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Per channel list of Receive power levels in dBm from the MoCA Node identified by <<param|MACAddress>> to the managed MoCA Node. The power measurement should cover the preamble and/or at least a symbol time. The averaging method employed for this measurement is implementation specific and not specified. It is recommended but not required to utilize the LMO (Link Maintenance Operation) EVM probes for this measurement. The field numValues is a function of <<param|LinkType>>: * MoCA 1 PHY - 1 * Primary - 1 * Bonded - 2 * 300 MHz MoCA 2.5 PHY - 3 * 400 MHz MoCA 2.5 PHY - 4 * 500 MHz MoCA 2.5 PHY - 5 struct moca25NodePowerList < char numValues; // 1 octet (Number of Values to follow) struct < char power; // 1 octet (Rx Power Level in dBm) > [numValues]; >;",
						"datatype": "string",
						"range": [
							{
								"min": 2,
								"max": 6
							}
						]
					},
					"RxSNRList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Per channel list of Average Receive Signal to Noise Ratio (SNR) across all available subcarriers based on the EVM probe from the MoCA Node identified by <<param|MACAddress>> to the managed MoCA Node. The field numValues is a function of <<param|LinkType>>: * MoCA 1 PHY - 1 * Primary - 1 * Bonded - 2 * 300 MHz MoCA 2.5 PHY - 3 * 400 MHz MoCA 2.5 PHY - 4 * 500 MHz MoCA 2.5 PHY - 5 struct moca25NodeRxSNRList < char numValues; // 1 octet (Number of Values to follow) struct < char snr; // 1 octet (Rx SNR in dB) > [numValues]; >;",
						"datatype": "string",
						"range": [
							{
								"min": 2,
								"max": 6
							}
						]
					},
					"TxPwrList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Per channel list of Transmit power levels in dBm from the managed MoCA Node to the MoCA Node identified by <<param|MACAddress>>. The transmit power should be max power for the channel less the Transmit Power Control. The field numValues is a function of <<param|LinkType>>: * MoCA 1 PHY - 1 * Primary - 1 * Bonded - 2 * 300 MHz MoCA 2.5 PHY - 3 * 400 MHz MoCA 2.5 PHY - 4 * 500 MHz MoCA 2.5 PHY - 5 struct moca25NodePowerList < char numValues; // 1 octet (Number of Values to follow) struct < char power; // 1 octet (Tx Power Level in dBm) > [numValues]; >;",
						"datatype": "string",
						"range": [
							{
								"min": 2,
								"max": 6
							}
						]
					},
					"TxPwrReductionList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Per channel list of Transmit Power Control (TPC) back-off in dB used for unicast transmissions from the managed MoCA Node to the MoCA Node identified by <<param|MACAddress>>. <<param>> is identical to the TPC back-off utilized for transmission from the TPC backoff parameter TX_POWER_ADJUSTMENT_100MHZ. The field numValues is a function of <<param|LinkType>>: * MoCA 1 PHY - 1 * Primary - 1 * Bonded - 2 * 300 MHz MoCA 2.5 PHY - 3 * 400 MHz MoCA 2.5 PHY - 4 * 500 MHz MoCA 2.5 PHY - 5 struct moca25NodeTxPwrReductionList < char numValues; // 1 octet (Number of Values to follow) struct < char tpc; // 1 octet (TPC in dB) > [numValues]; >;",
						"datatype": "string",
						"range": [
							{
								"min": 2,
								"max": 6
							}
						]
					},
					"EgressNodeNumFlows": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of PQoS flows in which this MoCA interface is an Egress Node for these PQoS flows.",
						"datatype": "unsignedInt"
					},
					"IngressNodeNumFlows": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of PQoS flows in which this MoCA interface is an Ingress Node for these PQoS flows.",
						"datatype": "unsignedInt"
					}
				},
				"Device.MoCA.Interface.{i}.Mesh.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "MoCA mesh PHY rate table. This table contains the unicast transmit PHY rate between all pairs of MoCA Nodes in the MoCA network. Since <<param|TxRate>> is the transmit PHY rate from <<param|TxNodeIndex>> to <<param|RxNodeIndex>>, this table does not contain any entries with <<param|TxNodeIndex>> equals <<param|RxNodeIndex>>. In addition, a MoCA network can have less than 16 Nodes, hence some values of <<param|TxNodeIndex>> and <<param|RxNodeIndex>> in the range of 0 to 15 may not exist. Entries in this table cannot be created or deleted by the network management system. All entries are created or deleted by the device software.",
					"uniqueKeys": [
						"TxNodeIndex",
						"RxNodeIndex"
					],
					"access": false,
					"array": true,
					"TxNodeIndex": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Node ID of the transmit MoCA Node is used as one of the index to order the mesh PHY rate table.",
						"datatype": "MocaNodeID",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						]
					},
					"RxNodeIndex": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Node ID of the receive MoCA Node is used as one of the index to order the mesh PHY rate table.",
						"datatype": "MocaNodeID",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						]
					},
					"TxRate": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The transmit MoCA 1 PHY rate in Mbps from the MoCA Node identified by <<param|TxNodeIndex>> to the MoCA Node identified by <<param|RxNodeIndex>>.",
						"datatype": "MocaPhyRate",
						"range": [
							{
								"min": 0,
								"max": 2048
							}
						]
					},
					"TxRateNper": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The transmit normal packet error PHY Rate from the MoCA Node identified by <<param|TxNodeIndex>> to the MoCA Node identified by <<param|RxNodeIndex>>.",
						"datatype": "MocaPhyRate",
						"range": [
							{
								"min": 0,
								"max": 2048
							}
						]
					},
					"TxRateVlper": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The transmit very low packet error PHY Rate from the MoCA Node identified by <<param|TxNodeIndex>> to the MoCA Node identified by <<param|RxNodeIndex>>.",
						"datatype": "MocaPhyRate",
						"range": [
							{
								"min": 0,
								"max": 2048
							}
						]
					},
					"LinkType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The type of link which exists from the MoCA Node identified by <<param|TxNodeIndex>> to the MoCA Node identified by <<param|RxNodeIndex>>. Enumeration of: moca1PHY, primary, bonded. This parameter is only used for MoCA 2.0.",
						"datatype": "string",
						"enumerations": [
							"moca1PHY",
							"primary",
							"bonded"
						]
					},
					"Power": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Per channel list of Transmit or Receive power levels in dBm. If the MoCA Node identified by <<param|TxNodeIndex>> is equal to <<param|#.NodeID>>, then indicates the unicast transmit power in dBm from the MoCA Node identified by <<param|TxNodeIndex>> to the MoCA Node identified by <<param|RxNodeIndex>>, else indicates the unicast receive power in dBm from the MoCA Node identified by <<param|TxNodeIndex>> at the MoCA Node identified by <<param|RxNodeIndex>>. For transmit power, the power should be max power for the channel less the Transmit Power Control. For received power, the power measurement should cover the preamble and/or at least a symbol time. The averaging method employed for this measurement is implementation specific and not specified. It is recommended but not required to utilize the LMO (Link Maintenance Operation) EVM probes for this measurement. The field numValues is a function of <<param|LinkType>>: * <<enum|moca1PHY|LinkType>> - 1 * <<enum|primary|LinkType>> - 1 * <<enum|bonded|LinkType>> - 2 struct mocaPower < char numValues; // 1 octet (Number of Values to follow) < char power; // 1 octet (Tx or Rx Power Level in dB) > [numValues]; >; This parameter is only used for MoCA 2.0.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 2,
								"max": 3
							}
						]
					},
					"PowerReduction": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Per channel list of The Transmit Power Control (TPC) back-off in dB. If the MoCA Node identified by <<param|TxNodeIndex>> is equal to <<param|#.NodeID>>, then indicates the TPC in dB utilized to back-off transmission to the MoCA Node identified by <<param|RxNodeIndex>>. Otherwise indicates the TPC in dB that the MoCA Node identified by <<param|TxNodeIndex>> utilized to back-off its transmission. <<param>> is identical to the TPC back-off utilized for transmission and determined from the TPC backoff parameters TPC_BACKOFF_MAJOR and TPC_BACKOFF_MINOR as follows: <<param>> = TPC_BACKOFF_MAJOR * 3 +TPC_BACKOFF_MINOR. The field numValues is a function of <<param|LinkType>>: * <<enum|moca1PHY|LinkType>> - 1 * <<enum|primary|LinkType>> - 1 * <<enum|bonded|LinkType>> - 2 struct mocaPowerReduction < char numValues; // 1 octet (Number of Values to follow) < char tpc; // 1 octet (TPC in dB) > [numValues]; >; This parameter is only used for MoCA 2.0.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 2,
								"max": 3
							}
						]
					},
					"RxSNR": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Per channel list of average received Signal to Noise Ratio (SNR) in dB. If the MoCA Node identified by <<param|RxNodeIndex>> is not equal to <<param|#.NodeID>> or the MoCA Node identified by <<param|TxNodeIndex>> is equal to <<param|#.NodeID>>, then this parameter is not present. Otherwise indicates the average received SNR across all the available carriers based on the EVM probe from the MoCA Node identified by <<param|TxNodeIndex>>. The field numValues is a function of <<param|LinkType>>: * <<enum|moca1PHY|LinkType>> - 1 * <<enum|primary|LinkType>> - 1 * <<enum|bonded|LinkType>> - 2 struct mocaRxSNR < char numValues; // 1 octet (Number of Values to follow) < char rx_snr; // 1 octet (Rx SNR in dB) > [numValues]; >; This parameter is only used for MoCA 2.0.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 2,
								"max": 3
							}
						]
					}
				},
				"Device.MoCA.Interface.{i}.Bridge.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "MoCA bridge Ethernet MAC address table. This table contains an entry for every MoCA Node in the MoCA network. Entries in this table cannot be created or deleted by the network management system. All entries are created or deleted by the device software.",
					"uniqueKeys": [
						"NodeIndex"
					],
					"access": false,
					"array": true,
					"NodeIndex": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Node ID is used as an index to order the MAC entries in the MoCA bridge table.",
						"datatype": "MocaNodeID",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						]
					},
					"MACAddresses": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Ethernet MAC addresses identified by the Node ID.",
						"list": {
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					}
				},
				"Device.MoCA.Interface.{i}.MeshScMod.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "MoCA mesh Subcarrier Modulation table. This table contains the Unicast transmit subcarrier modulation between all pairs of MoCA Nodes in the MoCA network. Since <<param|Mod>> is the subcarrier modulation from <<param|TxNodeIndex>> to <<param|RxNodeIndex>>, this table does not contain any entries with <<param|TxNodeIndex>> equals <<param|RxNodeIndex>>. In addition, a MoCA network can have less than 16 MoCA Nodes, hence some values of <<param|TxNodeIndex>> and <<param|RxNodeIndex>> in the range of 0 to 15 may not exist. The <<param|ChannelIndex>> index is used to differentiate between the primary and secondary channels in a bonded channel network. The primary channel index is always present, the secondary channel index may not always be present. Entries in this table cannot be created or deleted by the network management system. All entries are created or deleted by the device software.",
					"uniqueKeys": [
						"TxNodeIndex",
						"RxNodeIndex",
						"ChannelIndex"
					],
					"access": false,
					"array": true,
					"TxNodeIndex": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Node ID of the transmit MoCA Node is used as one of the index to order the mesh PHY rate table.",
						"datatype": "MocaNodeID",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						]
					},
					"RxNodeIndex": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Node ID of the receive MoCA Node is used as one of the index to order the mesh subcarrier modulation.",
						"datatype": "MocaNodeID",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						]
					},
					"ChannelIndex": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<enum|primary>> or <<enum|secondary>> channel for MoCA 2.0 Node associated with <<param|Nper>> and <<param|Vlper>>. For MoCA 1 Node, the same as the <<enum|primary>> channel associated with <<param|Mod>>. In a bonded MoCA 2.0 network, the <<enum|primary>> and <<enum|secondary>> channels each have their own subcarrier modulation data. <<enum|m25first>>, <<enum|m25second>>, <<enum|m25third>>, <<enum|m25fourth>> or <<enum|m25fifth>> channel for MoCA 2.5 Node associated with <<param|ModM25>>.",
						"datatype": "MocaChannelIndex",
						"enumerations": [
							"primary",
							"secondary",
							"m25first",
							"m25second",
							"m25third",
							"m25fourth",
							"m25fifth"
						]
					},
					"Mod": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "1 Byte Hex array values with no delimiters where each byte indicates the subcarrier modulation of one subcarrier from the MoCA Node identified by <<param|TxNodeIndex>> to the MoCA Node identified by <<param|RxNodeIndex>> for the MoCA 1 Unicast transmission PHY profile.",
						"datatype": "MocaScMod"
					},
					"Nper": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "1 Byte Hex array values with no delimiters where each byte indicates the unicast NPER subcarrier modulation of one subcarrier from the MoCA Node identified by <<param|TxNodeIndex>> to the MoCA Node identified by <<param|RxNodeIndex>> for the associated <<param|ChannelIndex>>.",
						"datatype": "MocaScMod"
					},
					"Vlper": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "1 Byte Hex array values with no delimiters where each byte indicates the unicast VLPER subcarrier modulation of one subcarrier from the MoCA Node identified by <<param|TxNodeIndex>> to the MoCA Node identified by <<param|RxNodeIndex>> for the associated <<param|ChannelIndex>>.",
						"datatype": "MocaScMod"
					},
					"ModM25": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "1 Byte Hex array values with no delimiters where each byte indicates the MoCA 2.5 unicast subcarrier modulation for all subcarriers from the MoCA Node identified by <<param|TxNodeIndex>> to the MoCA Node identified by <<param|RxNodeIndex>> for the associated <<param|ChannelIndex>>. For MoCA 2.5 First Channel, Second Channel, Third Channel, Fourth Channel and Fifth Channel, the total number of subcarriers is 512.",
						"datatype": "MocaScMod"
					}
				}
			}
		},
		"Device.Ghn.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "G.hn object that contains an <<object|Interface>> table for G.hn supported CPE. The ITU-T G.hn specifications <<bibref|G.9960>> and <<bibref|G.9961>> define Physical and MAC Layers for communication between two or more G.hn nodes in the home network over multiple wired media such as power line, phone line and coaxial cable.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Ghn.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "G.hn interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Each table entry models the PHY <<bibref|G.9960>> and MAC <<bibref|G.9961>> layers of a G.hn interface.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"MaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC Address of the interface, denoted as node MAC address or REGID in <<bibref|G.9961>>. Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the <<param|##.Ethernet.Link.<i>.MACAddress>> parameter.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The firmware version of the interface.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ConnectionType": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<deprecated|2.8|because it has been replaced by <<param|MediumType>>>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"datatype": "string",
					"enumerations": [
						"Powerline",
						"Phone",
						"Coax"
					]
				},
				"MaxTransmitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum PHY data rate that the interface is capable of transmitting (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"TargetDomainNames": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Identifies the target domains configured by the user, as described in <<bibref|G.9961|Section 8.6.1>>. When registering or re-registering, the G.hn interface SHOULD try to register to one of these domains in the given order.",
					"list": {
						"datatype": "string",
						"maxsize": 1024,
						"range": [
							{
								"max": 32
							}
						]
					}
				},
				"DomainName": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the domain name to which the interface is currently registered. <<empty>> indicates that the interface is currently not registered.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"DomainNameIdentifier": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Domain Name Identifier, a shortened version of <<param|DomainName>>, denoted as DNI in <<bibref|G.9961|Section 8.6.11.2.1>>.",
					"datatype": "unsignedInt"
				},
				"DomainId": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Domain Identifier of the domain to which the interface is registered, denoted as DOD in <<bibref|G.9961>>.",
					"datatype": "unsignedInt"
				},
				"DeviceId": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Device Identifier assigned by the Domain Master, denoted as DEVICE_ID in <<bibref|G.9961>>. The value 0 indicates that the device is not currently registered.",
					"datatype": "unsignedInt"
				},
				"NodeTypeDMCapable": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this interface has the capability to act as Domain Master in the G.hn domain.",
					"datatype": "boolean"
				},
				"DMRequested": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates a request to force the role of the G.hn interface to Domain Master (DM) for the G.hn domain it is connected to. The selection of the Domain Master follows the procedures described in <<bibref|G.9961|Clause 8.6.6>>.",
					"datatype": "boolean"
				},
				"IsDM": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this G.hn interface is currently the Domain Master (DM) for the G.hn domain it is connected to, as described in <<bibref|G.9961|Clause 8.6>>.",
					"datatype": "boolean"
				},
				"NodeTypeSCCapable": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this interface has the capability to act as Security Controller in the G.hn domain.",
					"datatype": "boolean"
				},
				"SCRequested": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates a request to force the role of the G.hn interface to Security Controller (SC) for the G.hn domain it is connected to. The selection of the Security Controller follows the procedures described in <<bibref|G.9961|Clause 9.2>>.",
					"datatype": "boolean"
				},
				"IsSC": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this G.hn interface is currently the Security Controller (SC) for the G.hn domain it is connected to, as described in <<bibref|G.9961|Clause 9.2>>.",
					"datatype": "boolean"
				},
				"StandardVersions": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The standard versions that the interface supports. The list MUST have an even number of items. The first item of each pair represents an ITU-T G.hn Recommendation while the second element of each pair represents the amendment version of the indicated Recommendation that this interface supports (the value 0 corresponds to the base Recommendation). For example, to indicate support for the G.9960 base document and G.9961 amendment 1, the corresponding list would be G9960,0,G9961,1.",
					"list": {
						"datatype": "string"
					}
				},
				"MaxBandPlan": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The largest bandplan that the interface can support, as defined in <<bibref|G.9961|Clause 8.8.5.5>>.",
					"datatype": "unsignedInt"
				},
				"MediumType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The medium type that the interface currently operates on. Refer to <<bibref|G.9962|Table 7-5>>.",
					"datatype": "string",
					"enumerations": [
						"PowerLineBaseband",
						"PhoneLineBaseband",
						"CoaxBaseband",
						"CoaxRF",
						"PlasticOpticalFiber"
					]
				},
				"TAIFG": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Acknowledgement InterFrame Gap, or TAIFG, as defined in <<bibref|G.9961|Clause 8.4>>. It is represented as multiples of <<units>>.",
					"datatype": "unsignedInt",
					"unit": "1.28 microseconds"
				},
				"NotchedAmateurRadioBands": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A bit map representing usage of international amateur bands (0 = masked, 1 = unmasked). The LSB represents the lowest band (1.8-2.0 MHz), the second LSB represents the second lowest band (3.5-4.0 MHz), and so on. The maximum value for this parameter is 0x03FF, i.e. it is a 10-bit quantity represented in 16 bits and the top 6 bits are always zero. International Radio amateur bands are described in <<bibref|G.9964|Table D-1>> and conveyed by the Domain Master in the Amateur radio band descriptor (see <<bibref|G.9961|Table 8-77>>).",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 2
						}
					]
				},
				"PHYThroughputDiagnosticsEnable": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<nolist>> Comma-separated list of DeviceIDs of nodes that need to enable their PHY throughput diagnostics mode. All devices that are enabled will participate in the G.hn network PHY throughput diagnostics process.",
					"list": {
						"datatype": "unsignedInt"
					}
				},
				"PerformanceMonitoringDiagnosticsEnable": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<nolist>> Comma-separated list of DeviceIDs of nodes that need to enable their Performance Monitoring diagnostics mode on this node. All devices that are enabled will participate in the G.hn network Performance Monitoring diagnostics process.",
					"list": {
						"datatype": "unsignedInt"
					}
				},
				"SMMaskedBandNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"NodeTypeDMConfig": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Requests the interface to become the Domain Master in the G.hn domain. This parameter is valid only if <<param|NodeTypeDMCapable>> is <<true>>. Note that, if more than one node is configured to act as Domain Master, G.hn specifies a protocol to ensure only one device actually becomes DM.",
					"datatype": "boolean"
				},
				"NodeTypeDMStatus": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface is acting as Domain Master (<<true>>) or not (<<false>>). See Note in <<param|NodeTypeDMConfig>> regarding the possibility of more than one node being configured with <<param|NodeTypeDMConfig>> = <<true>>.",
					"datatype": "boolean"
				},
				"NodeTypeSCStatus": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface is acting as Security Controller (<<true>>) or not (<<false>>).",
					"datatype": "boolean"
				},
				"AssociatedDeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"PSM": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the list of PSD shaping mask (PSM) breakpoints to be applied to the G.hn interface. <<list|with each list item consisting of the following>> # The PSM breakpoint sub-carrier index in the range [0:4095], and # the value of the level of the PSM at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -140 dBm/Hz. Both values are represented as unsignedInt. <<bibref|G.9964|Clause 5.2>> defines limits on PSM breakpoint levels. | # The PSM breakpoint sub-carrier index in the range [0:4095], and # the value of the level of the PSM at this sub-carrier expressed in 0.1 dBm/Hz with an offset of -140 dBm/Hz. Both values are represented as unsignedInt. <<bibref|G.9964|Clause 5.2>> defines limits on PSM breakpoint levels. The PSM level is 0.1*(the value of the level of the PSM) - 140 dBm/Hz. For example, a PSM defined by two breakpoints (subcarrier 450, PSM level -80 dBm/Hz) and (subcarrier 1050, PSM level -90 dBm/Hz) is represented by PSM [450,600],[1050,500] .",
					"list": {
						"datatype": "PSMBreakPointIndexAndLevel",
						"item": {
							"min": 2,
							"max": 32
						}
					}
				},
				"Device.Ghn.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface at the different G.hn reference points described in <<bibref|G.9961|Clause 8.1>>. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters. More specifically, this is the total number of MPDU bytes transmitted or retransmitted by the node through a physical medium (i.e., PMI defined in <<bibref|G.9960|Clause 5.2.1>>), which correspond to data LPDUs (i.e., data packets) and framing overhead (e.g., LFH, LPH, LPCS defined in <<bibref|G.9961|Clause 8.1>>). It does not include transmitted bytes contributed by management LPDUs (i.e., management packets). Note: LPDUs in mixed LLC frame blocks are considered data LPDUs.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters. More specifically, this is the total number of MPDU bytes received by the node through a physical medium, which correspond to data LPDUs and framing overhead. It does not include received bytes contributed by management LPDUs. It can include blocks with errors. Note: LPDUs in mixed LLC frame blocks are considered data LPDUs.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface. More specifically, this is the total number of APDUs requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point defined in <<bibref|G.9960|Clause 5.2.1>>) that were transmitted by the node through the physical medium. It does not include transmitted LCDUs.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface. More specifically, this is the total number of APDUs delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) that were received by the node through the physical medium. It does not include received LCDUs.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors. More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point defined in <<bibref|G.9960|Clause 5.2.1>>) but could not be transmitted because of errors (e.g., APDUs containing CRC errors).",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol. More specifically, this is the total number of received APDUs that contained errors preventing them from being delivered to a higher layer (i.e., inbound APDUs at the x1 reference point defined in <<bibref|G.9960|Clause 5.2.1>>). The possible causes of error are: incorrect CRC, incorrect MIC, incorrect MIC size, and incorrect size of packet.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent. More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) and which were addressed to a unicast address at this layer. It includes APDUs that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) but chosen to be discarded even though no errors had been detected to prevent their being transmitted (e.g., buffer overflow).",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space. More specifically, this is the total number of received APDUs that were chosen to be discarded even though no errors had been detected to prevent their being delivered.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent. More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) and which were addressed to a multicast address at this layer. It includes APDUs that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer. More specifically, this is the total number of received APDUs that were delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) and which were addressed to a unicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer. More specifically, this is the total number of received APDUs that were delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) and which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent. More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) and which were addressed to a broadcast address at this layer. It includes APDUs that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer. More specifically, this is the total number of received APDUs that were delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) and which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol. More specifically, this is the total number of APDUs received by the management that were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"MgmtBytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of MPDU bytes transmitted by the node through a physical medium, which correspond to management LPDUs and framing overhead.",
						"datatype": "StatsCounter64"
					},
					"MgmtBytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of MPDU bytes received by the node through a physical medium, which correspond to management LPDUs and framing overhead.",
						"datatype": "StatsCounter64"
					},
					"MgmtPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of LCDUs requested for transmission by a management layer (i.e., outbound LCDUs generated in LLC defined in <<bibref|G.9961|Clause 8.1.3>>) that were transmitted by the node through a physical medium.",
						"datatype": "StatsCounter64"
					},
					"MgmtPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of LCDUs delivered to a management layer (i.e., inbound LCDUs) that were received by the node through a physical medium.",
						"datatype": "StatsCounter64"
					},
					"BlocksSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of LPDUs that were transmitted by the node through a physical medium, regardless of new or retransmitted LPDUs.",
						"datatype": "StatsCounter64"
					},
					"BlocksReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of LPDUs that were received by the node through a physical medium, with or without errors.",
						"datatype": "StatsCounter64"
					},
					"BlocksResent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of LPDUs that were retransmitted.",
						"datatype": "StatsCounter32"
					},
					"BlocksErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received LPDUs that contained errors. Note the following relationships hold: * PacketsSent + ErrorsSent + DiscardPacketsSent = UnicastPacketsSent + MulticastPacketsSent + BroadcastPacketsSent. * PacketsReceived = UnicastPacketsReceived + MulticastPacketsReceived + BroadcastPacketsReceived. * Retransmission rate = BlocksResent / BlocksSent. * Block error rate = BlocksErrorReceived / BlocksReceived.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.Ghn.Interface.{i}.AssociatedDevice.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains information about other G.hn devices connected to this G.hn interface.",
					"uniqueKeys": [
						"MACAddress"
					],
					"access": false,
					"array": true,
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "MAC address of remote G.hn device. This is denoted as REGID in <<bibref|G.9961>>.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"DeviceId": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Device Id (as defined in G.hn) for the remote G.hn device, denoted as DEVICE_ID in <<bibref|G.9961>>.",
						"datatype": "unsignedInt"
					},
					"TxPhyRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The PHY transmit Rate (expressed in <<units>>) to this remote device, denoted as PHY data rate in <<bibref|G.9961>>. Refer to Note 1 of <<bibref|G.9961|Table 8-48>>. To convert from the value in the table, divide by 32K (32768) and round down.",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"RxPhyRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The PHY receive Rate (expressed in <<units>>) from this remote device, denoted as PHY data rate in <<bibref|G.9961>>. Refer to Note 1 of <<bibref|G.9961|Table 8-48>>. To convert from the value in the table, divide by 32K (32768) and round down.",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"Active": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether or not this device is currently present in the G.hn domain. The ability to list inactive nodes is OPTIONAL. If the CPE includes inactive nodes in this table, <<param>> MUST be set to <<false>> for each inactive node. The length of time an inactive node remains listed in this table is a local matter to the CPE. If <<param>> is <<true>>, it indicates that the Status of the remote device is 0, 1, or 2 (see <<bibref|G.9961|Table 7-3>>).",
						"datatype": "boolean"
					}
				},
				"Device.Ghn.Interface.{i}.DMInfo.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object specifies management parameters pertaining to the domain functionality (Domain Master function; see <<bibref|G.9961|Clause 8.6>>). The object exists only on G.hn interfaces that are currently the Domain Master, i.e. for which parameter <<param|#.IsDM>> is <<true>>.",
					"access": false,
					"array": false,
					"DomainName": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This is the domain name to which the interface is currently registered. <<empty>> indicates that the interface is currently not registered.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 32
							}
						]
					},
					"DomainNameIdentifier": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Domain Name Identifier, a shortened version of <<param|DomainName>>, denoted as DNI in <<bibref|G.9961|Section 8.6.11.2.1>>.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 2
							}
						]
					},
					"DomainId": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Domain Identifier of the domain to which the interface is registered, denoted as DOD in <<bibref|G.9961>>.",
						"datatype": "unsignedInt"
					},
					"MACCycleDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The MAC cycle duration, as specified in <<bibref|G.9961|Clause 8.4>>. It is represented as multiples of <<units>>. In the case of power line, writing to this parameter has no effect and it reads back as 0, which is a special value indicating that the MAC cycle is synchronized with 2 AC cycles as defined in <<bibref|G.9961|Clause 8.6.3.1>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 10,
								"max": 200
							}
						],
						"unit": "0.5 msec"
					},
					"SCDeviceId": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The DEVICE_ID of the Security Controller selected by the Domain Master.",
						"datatype": "unsignedInt"
					},
					"SCMACAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The REGID of the Security Controller selected by the Domain Master.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"ReregistrationTimePeriod": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time interval for periodic re-registration, as specified in <<bibref|G.9961|Clause 8.8.5.8>>. It is represented as multiples of <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 5,
								"max": 63
							}
						],
						"unit": "2 seconds"
					},
					"TopologyPeriodicInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time interval that a node sends out the periodic topology update using TM_NodeTopologyChange.ind message, as specified in <<bibref|G.9961|Clause 8.8.5.8.1>>. It is represented as multiples of <<units>>. The special value 0 represents an infinite interval (i.e., no periodic topology update).",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						],
						"unit": "0.1 sec"
					},
					"MinSupportedBandplan": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the value of the minimal bandplan capability for a node that is allowed to register to the domain.",
						"datatype": "unsignedInt"
					},
					"MaxSupportedBandplan": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the value of the minimal bandplan capability for a node that is allowed to register to the domain.",
						"datatype": "unsignedInt"
					}
				},
				"Device.Ghn.Interface.{i}.SCInfo.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object specifies management parameters pertaining to the Security Controller functionality (Security Controller function; see <<bibref|G.9961|Clause 9.2>>). The object exists only on G.hn interfaces that are currently the Security Controller, i.e. for which parameter <<param|#.IsSC>> is <<true>>.",
					"access": false,
					"array": false,
					"ModesSupported": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The security modes that the Security Controller can support. Refer to <<bibref|G.9961|Clause 9.2>>.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"NN",
								"NMK"
							]
						}
					},
					"ModeEnabled": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The security mode in which the Security Controller is operating.",
						"datatype": "string"
					},
					"MICSize": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The selected MIC size used in the domain.",
						"datatype": "string",
						"enumerations": [
							"4-byte MIC",
							"8-byte MIC",
							"16-byte MIC"
						]
					},
					"Location": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates whether the Security Controller is above the L1 reference point. It is set to <<true>> if the Security Controller is above the L1 reference point, and set to <<false>> otherwise.",
						"datatype": "boolean"
					}
				},
				"Device.Ghn.Interface.{i}.SMMaskedBand.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the list of masked bands to be applied to the G.hn interface. This information is conveyed by the Domain Master in the SM descriptor as specified in <<bibref|G.9961|Table 8-77>>. Instances of this object are expected to exist only on G.hn interfaces that are currently the Domain Master, i.e. for which parameter <<param|#.IsDM>> is <<true>>.",
					"uniqueKeys": [
						"BandNumber"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the <<object>>.",
						"datatype": "boolean"
					},
					"BandNumber": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The masked band number.",
						"datatype": "unsignedInt"
					},
					"StartSubCarrier": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Index of the lowest frequency sub-carrier in the band to be masked as specified in <<bibref|G.9961|Table 8-79>>. This parameter is writable only on the interface which acts as the Domain Master.",
						"datatype": "unsignedInt"
					},
					"StopSubCarrier": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Index of the highest frequency sub-carrier in the band to be masked as specified in Table 8-79 in <<bibref|G.9961>>. This parameter is writable only on the interface which acts as the Domain Master.",
						"datatype": "unsignedInt"
					}
				}
			},
			"Device.Ghn.Diagnostics.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The G.hn Diagnostics object.",
				"access": false,
				"array": false,
				"PHYThroughput()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The interface over which the test is to be performed.",
							"datatype": "string"
						},
						"DiagnoseMACAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The MAC address of the originating G.hn interface of the link that is being diagnosed. Note: This MAC address might belong to another node of the domain.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error"
							]
						}
					}
				},
				"PerformanceMonitoring()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The interface over which the test is to be performed.",
							"datatype": "string"
						},
						"DiagnoseMACAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The MAC address of the originating G.hn interface of the link that is being diagnosed. Note: This MAC address might belong to another node of the domain.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"SampleInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Time in <<units>> between automatic collection of performance monitoring data. A value of zero disables automatic collection of data. The node MAY impose a minimum sample interval, in which case an attempt to set a (non-zero) interval that is less than this minimum MUST set the interval to the minimum and MUST NOT be regarded as an error. If SampleInterval is a simple fraction of a day, e.g. 900 (a quarter of an hour) or 3600 (an hour), the device MAY choose to align sample intervals with time of day, but is not required to do so.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SNRGroupLength": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The number of sub-carriers in a group to be used for averaging SNR values when providing SNR information for a channel.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 1
								},
								{
									"min": 2,
									"max": 2
								},
								{
									"min": 4,
									"max": 4
								},
								{
									"min": 8,
									"max": 8
								},
								{
									"min": 16,
									"max": 16
								},
								{
									"min": 32,
									"max": 32
								},
								{
									"min": 64,
									"max": 64
								},
								{
									"min": 128,
									"max": 128
								},
								{
									"min": 256,
									"max": 256
								}
							]
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error"
							]
						}
					}
				},
				"Device.Ghn.Diagnostics.PHYThroughput.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "G.hn PHY throughput diagnostics configuration and results. When diagnostics are requested, all G.hn nodes for which the <<param|##.Interface.<i>.PHYThroughputDiagnosticsEnable>> parameter is set enter PHY diagnostics mode.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					}
				},
				"Device.Ghn.Diagnostics.PerformanceMonitoring.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "G.hn Performance Monitoring diagnostics configuration and results. When diagnostics are requested, all G.hn nodes for which the <<param|##.Interface.<i>.PerformanceMonitoringDiagnosticsEnable>> parameter is set enter PHY diagnostics mode.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The interface over which the test is to be performed.",
						"datatype": "string"
					},
					"DiagnoseMACAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The MAC address of the originating G.hn interface of the link that is being diagnosed. Note: This MAC address might belong to another node of the domain.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"SampleInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Time in <<units>> between automatic collection of performance monitoring data. A value of zero disables automatic collection of data. The node MAY impose a minimum sample interval, in which case an attempt to set a (non-zero) interval that is less than this minimum MUST set the interval to the minimum and MUST NOT be regarded as an error. If SampleInterval is a simple fraction of a day, e.g. 900 (a quarter of an hour) or 3600 (an hour), the device MAY choose to align sample intervals with time of day, but is not required to do so.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"SNRGroupLength": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The number of sub-carriers in a group to be used for averaging SNR values when providing SNR information for a channel.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 1
							},
							{
								"min": 2,
								"max": 2
							},
							{
								"min": 4,
								"max": 4
							},
							{
								"min": 8,
								"max": 8
							},
							{
								"min": 16,
								"max": 16
							},
							{
								"min": 32,
								"max": 32
							},
							{
								"min": 64,
								"max": 64
							},
							{
								"min": 128,
								"max": 128
							},
							{
								"min": 256,
								"max": 256
							}
						]
					},
					"Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Per-node G.hn performance monitoring results. When automatic collection is enabled, i.e. <<param|#.SampleInterval>> is non-zero, the current interval is defined by the most recent automatic sample and the most recent subsequent manual sample, if any. When automatic collection is disabled, i.e. SampleInterval is zero, the current interval is defined by the three most recent manual samples. Note: Packets in statistics counters are Ethernet packets.",
						"access": false,
						"array": false,
						"CurrentStart": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Start time for the current interval. When automatic collection is enabled, i.e. SampleInterval is non-zero, the current interval started at the most recent automatic sample. When automatic collection is disabled, i.e. SampleInterval is zero, the current interval started two manual samples ago.",
							"datatype": "dateTime"
						},
						"CurrentEnd": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "End time for the current interval. When automatic collection is enabled, i.e. SampleInterval is non-zero, the current interval ended at the most recent manual sample since the most recent automatic sample. If there has been no such manual sample, the current interval is empty. When automatic collection is disabled, i.e. SampleInterval is zero, the current interval ended at the most recent manual sample.",
							"datatype": "dateTime"
						},
						"NodeNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<numentries>> This is the number of G.hn nodes for which performance monitoring results were collected during the current sample interval.",
							"datatype": "unsignedInt"
						},
						"Device.Ghn.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp"
							],
							"description": "Per-node G.hn performance monitoring results during the current sample interval. Each table entry contains the results collected between the G.hn nodes with MAC addresses <<param|##.DiagnoseMACAddress>>) and <<param|DestinationMACAddress>>). Note: Packet counters indicate the number of packets received between <<param|#.CurrentStart>> and <<param|#.CurrentEnd>>.",
							"uniqueKeys": [
								"DestinationMACAddress"
							],
							"access": false,
							"array": true,
							"DestinationMACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "MAC address of the destination node of the link being measured.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"BytesSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of MPDU bytes transmitted or retransmitted by the node through a physical medium (i.e., PMI defined in <<bibref|G.9960|Clause 5.2.1>>), which correspond to data LPDUs (i.e., data packets) and framing overhead (e.g., LFH, LPH, LPCS defined in <<bibref|G.9961|Clause 8.1>>). It does not include transmitted bytes contributed by management LPDUs (i.e., management packets). Note: LPDUs in mixed LLC frame blocks are considered data LPDUs.",
								"datatype": "StatsCounter64"
							},
							"BytesReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of MPDU bytes received by the node through a physical medium, which correspond to data LPDUs and framing overhead. It does not include received bytes contributed by management LPDUs. It might include blocks with errors. Note: LPDUs in mixed LLC frame blocks are considered data LPDUs.",
								"datatype": "StatsCounter64"
							},
							"PacketsSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of APDUs requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point defined in <<bibref|G.9960|Clause 5.2.1>>) that were transmitted by the node through the physical medium. It does not include transmitted LCDUs.",
								"datatype": "StatsCounter64"
							},
							"PacketsReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of APDUs delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) that were received by the node through the physical medium. It does not include received LCDUs.",
								"datatype": "StatsCounter64"
							},
							"ErrorsSent": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point defined in <<bibref|G.9960|Clause 5.2.1>>). This parameter represents the total number of LCDUs requested for transmission by a management layer (i.e., outbound LCDUs generated in LLC defined in in <<bibref|G.9961|Clause 8.1.3>>) that were transmitted by the node through a physical medium) but could not be transmitted because of errors (e.g., APDUs containing CRC errors).",
								"datatype": "StatsCounter32"
							},
							"ErrorsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of received APDUs that contained errors preventing them from being delivered to a higher layer (i.e., inbound APDUs at the x1 reference point defined in <<bibref|G.9960|Clause 5.2.1>>). The possible causes of error are: incorrect CRC, incorrect MIC, incorrect MIC size, and incorrect size of packet.",
								"datatype": "StatsCounter32"
							},
							"UnicastPacketsSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) and which were addressed to a unicast address at this layer. It includes APDUs that were discarded or not sent.",
								"datatype": "StatsCounter64"
							},
							"UnicastPacketsReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of received APDUs that were delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) and which were addressed to a unicast address at this layer.",
								"datatype": "StatsCounter64"
							},
							"DiscardPacketsSent": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) but chosen to be discarded even though no errors had been detected to prevent their being transmitted (e.g., buffer overflow).",
								"datatype": "StatsCounter32"
							},
							"DiscardPacketsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of received APDUs that were chosen to be discarded even though no errors had been detected to prevent their being delivered.",
								"datatype": "StatsCounter32"
							},
							"MulticastPacketsSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) and which were addressed to a multicast address at this layer. It includes APDUs that were discarded or not sent.",
								"datatype": "StatsCounter64"
							},
							"MulticastPacketsReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of received APDUs that were delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) and which were addressed to a multicast address at this layer.",
								"datatype": "StatsCounter64"
							},
							"BroadcastPacketsSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) and which were addressed to a broadcast address at this layer. It includes APDUs that were discarded or not sent.",
								"datatype": "StatsCounter64"
							},
							"BroadcastPacketsReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of received APDUs that were delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) and which were addressed to a broadcast address at this layer.",
								"datatype": "StatsCounter64"
							},
							"UnknownProtoPacketsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of APDUs received by the management that were discarded because of an unknown or unsupported protocol.",
								"datatype": "StatsCounter32"
							},
							"MgmtBytesSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of MPDU bytes transmitted by the node through a physical medium, which correspond to management LPDUs and framing overhead.",
								"datatype": "StatsCounter64"
							},
							"MgmtBytesReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of MPDU bytes received by the node through a physical medium, which correspond to management LPDUs and framing overhead.",
								"datatype": "StatsCounter64"
							},
							"MgmtPacketsSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of LCDUs requested for transmission by a management layer (i.e., outbound LCDUs generated in LLC defined in <<bibref|G.9961|Clause 8.1.3>>) that were transmitted by the node through a physical medium.",
								"datatype": "StatsCounter64"
							},
							"MgmtPacketsReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of LCDUs delivered to a management layer (i.e., inbound LCDUs) that were received by the node through a physical medium.",
								"datatype": "StatsCounter64"
							},
							"BlocksSent": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of LPDUs that were transmitted by the node through a physical medium, regardless of new or retransmitted LPDUs.",
								"datatype": "StatsCounter64"
							},
							"BlocksReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of LPDUs that were received by the node through a physical medium, with or without errors.",
								"datatype": "StatsCounter64"
							},
							"BlocksResent": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of LPDUs that were retransmitted.",
								"datatype": "StatsCounter32"
							},
							"BlocksErrorsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The total number of received LPDUs that contained errors. Note the following relationships hold: * PacketsSent + ErrorsSent + DiscardPacketsSent = UnicastPacketsSent + MulticastPacketsSent + BroadcastPacketsSent. * PacketsReceived = UnicastPacketsReceived + MulticastPacketsReceived + BroadcastPacketsReceived. * Retransmission rate = BlocksResent / BlocksSent. * Block error rate = BlocksErrorReceived / BlocksReceived.",
								"datatype": "StatsCounter32"
							}
						}
					},
					"Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Per-channel G.hn performance monitoring results. Note: channels are unidirectional.",
						"access": false,
						"array": false,
						"TimeStamp": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Time at which channel data was last collected.",
							"datatype": "dateTime"
						},
						"ChannelNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.Ghn.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp"
							],
							"description": "Per-channel G.hn performance monitoring results during the current sample interval. Each table entry contains the results collected from the channel between a G.hn interface (as indicated by <<param|##.DiagnoseMACAddress>>) and a G.hn interface indicated by <<param|DestinationMACAddress>>)",
							"uniqueKeys": [
								"DestinationMACAddress"
							],
							"access": false,
							"array": true,
							"DestinationMACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "MAC address of the destination node of the link being measured.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"SNR": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "The result of an SNR test performed over the channel. It is formatted as a comma-separated list of N/M unsigned integers that represents the result of Signal-to-Noise-Ratio measurement (in <<units>>) averaging in groups of M subcarriers. The number N depends on the bandplan used by the node and corresponds to the OFDM control parameter N of each medium as defined in <<bibref|G.9964>>. The number M corresponds to the parameter <<param|##.SNRGroupLength>>.",
								"list": {
									"datatype": "unsignedInt",
									"unit": "0.1 dB"
								}
							}
						}
					}
				}
			}
		},
		"Device.HomePlug.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "HomePlug object that contains the <<object|Interface>> table. The HomePlug industry standard <<bibref|HPAV1.1>> defines peer to peer communication over powerline medium.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.HomePlug.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "HomePlug interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Each table entry models the PHY and MAC levels of a HomePlug interface <<bibref|HPAV1.1>>.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"MaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC Address of the interface. Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the <<param|##.Ethernet.Link.<i>.MACAddress>> parameter.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"LogicalNetwork": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the HomePlug Logical Network.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the HomePlug version of the interface. This element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example: : 1.0 : 1.1",
					"datatype": "string",
					"range": [
						{
							"max": 16
						}
					]
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The firmware version of the interface.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ForceCCo": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Central Coordinator (CCo) selection mode. If <<false>>, CCo selection is automatic. If <<true>>, the local HomePlug interface is forced to be CCo and all other devices in the Logical Network MUST be set to automatic CCo selection. Typically <<param>> is set to automatic CCo selection (<<false>>).",
					"default": "false",
					"datatype": "boolean"
				},
				"NetworkPassword": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The network password of the device. This is a human readable ASCII string that is hashed per the HomePlug specification to generate the Network Membership Key (NMK). Note that care needs to be taken when setting this parameter as it might prohibit communication with other adapters or equipment connected via the powerline network.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"OtherNetworksPresent": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates whether any other HomePlug networks are currently visible via this interface. Examples of valid list items include, but are not limited to: : HomePlugAV : HomePlug1.0 : Other",
					"list": {
						"datatype": "string",
						"maxsize": 64
					}
				},
				"AssociatedDeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.HomePlug.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"MPDUTxAck": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "HomePlug-specific statistic. The Number of MAC Protocol Data Units (MPDUs) Transmitted and Acknowledged.",
						"datatype": "unsignedLong"
					},
					"MPDUTxCol": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "HomePlug-specific statistic. The Number of MAC Protocol Data Units (MPDUs) Transmitted and Collided",
						"datatype": "unsignedLong"
					},
					"MPDUTxFailed": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "HomePlug-specific statistic. The Number of MAC Protocol Data Units (MPDUs) Transmitted and Failed",
						"datatype": "unsignedLong"
					},
					"MPDURxAck": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "HomePlug-specific statistic. The Number of MAC Protocol Data Units (MPDUs) Received and Acknowledged",
						"datatype": "unsignedLong"
					},
					"MPDURxFailed": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "HomePlug-specific statistic. The Number of MAC Protocol Data Units (MPDUs) Received and Failed",
						"datatype": "unsignedLong"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains information about other HomePlug devices connected to this HomePlug interface.",
					"uniqueKeys": [
						"MACAddress"
					],
					"access": false,
					"array": true,
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "MAC address of remote HomePlug device. It is used to uniquely identify and easily correlate with the connected remote HomePlug device.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"TxPhyRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The PHY transmit Rate (expressed in <<units>>) to this remote device.",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"RxPhyRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The PHY receive Rate (expressed in <<units>>) from this remote device.",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"SNRPerTone": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items indicate Signal to Noise Ratio (SNR) per tone from this remote device (expressed in <<units>>).",
						"list": {
							"datatype": "unsignedInt",
							"item": {
								"max": 1155
							},
							"unit": "0.1dB"
						}
					},
					"AvgAttenuation": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Average attenuation from this remote device (expressed in <<units>>).",
						"datatype": "unsignedInt",
						"unit": "0.1dB"
					},
					"EndStationMACs": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items represent MAC addresses of end stations bridged by the remote HomePlug device. For example: 11:22:33:AA:BB:CC, 22:33:44:DD:EE:66",
						"list": {
							"datatype": "MACAddress",
							"item": {
								"max": 16
							},
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					},
					"Active": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether or not this device is currently present in the HomePlug network. The ability to list inactive nodes is OPTIONAL. If the CPE includes inactive nodes in this table, <<param>> MUST be set to <<false>> for each inactive node. The length of time an inactive node remains listed in this table is a local matter to the CPE.",
						"datatype": "boolean"
					}
				}
			}
		},
		"Device.UPA.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Universal Powerline Association <<bibref|UPA-PLC>>. This object contains the <<object|Interface>> and <<object|Diagnostics>> objects.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.UPA.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "UPA interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). Each table entry models the PHY and MAC levels of a UPA interface <<bibref|UPA-PLC>>.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"MaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC Address of the interface. Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the <<param|##.Ethernet.Link.<i>.MACAddress>> parameter.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This interfaces firmware version.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"NodeType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Type of UPA device role. It can be Fixed Access Point (master) or End Point (slave) of the PLC network. Enumeration of: AP, EP.",
					"datatype": "string",
					"enumerations": [
						"AP",
						"EP"
					]
				},
				"LogicalNetwork": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The name (network ID) of the logical PLC network in which the local interface is a member (human readable string).",
					"datatype": "string",
					"range": [
						{
							"max": 20
						}
					]
				},
				"EncryptionMethod": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Encryption Method used by UPA device. Enumeration of: None, DES, 3DES, AES128, AES256.",
					"datatype": "string",
					"range": [
						{
							"max": 6
						}
					],
					"enumerations": [
						"None",
						"DES",
						"3DES",
						"AES128",
						"AES256"
					]
				},
				"EncryptionKey": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Encryption key for secure PLC communications. This a human readable string used by the system to generate the encryption key to encrypt communications in powerline. It takes non extended ASCII characters (i.e. printable 7-bit ASCII character codes 32-126, which includes SPACE but excludes TAB, LF and CR). For example: bvjPekZiYUf9kjNKJASkgJ09adfoP01Fjvgd",
					"datatype": "string",
					"range": [
						{
							"max": 36
						}
					]
				},
				"PowerBackoffEnabled": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Power back-off management feature status in the UPA device. Boolean can be <<true>> for enabled and <<false>> for disabled.",
					"datatype": "boolean"
				},
				"PowerBackoffMechanismActive": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Show if power back-off mechanism is active at that time in the UPA device. Boolean can be <<true>> for active and <<false>> for not active.",
					"datatype": "boolean"
				},
				"EstApplicationThroughput": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The estimated application throughput (expressed in <<units>>), received from the PLC link. This value can be used to indicate link quality.",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"ActiveNotchEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the <<object|ActiveNotch>> table for this interface.",
					"datatype": "boolean"
				},
				"ActiveNotchNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"AssociatedDeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"BridgeForNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.UPA.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.UPA.Interface.{i}.AssociatedDevice.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains information about PLC connections running between this UPA interface and other UPA devices.",
					"uniqueKeys": [
						"MACAddress"
					],
					"access": false,
					"array": true,
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Remote UPA device MAC address.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The PLC port number.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"LogicalNetwork": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The name of the logical PLC network (human readable string). In the case where the associated device belongs to a different powerline network than the UPA interface, the actual network identifier of the neighboring network is not shown in <<param>>. Rather, only a generic string, e.g. Network 1, Network 2, etc is stored here due to security/privacy implications.",
						"datatype": "string",
						"range": [
							{
								"max": 20
							}
						]
					},
					"PhyTxThroughput": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Physical transmission throughput (in <<units>>).",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"PhyRxThroughput": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Physical reception throughput (in <<units>>).",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"RealPhyRxThroughput": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Real Physical reception throughput (in <<units>>).",
						"datatype": "unsignedInt",
						"unit": "Mbps"
					},
					"EstimatedPLR": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Estimated PDU Loss Rate measurement between two devices (i.e. estimated <<units>> of MPDUs that have been received with errors).",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 100
							}
						],
						"unit": "percent"
					},
					"MeanEstimatedAtt": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Mean estimated attenuation (i.e. channel loss between the local interface and the remote device). It is measured in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "dB"
					},
					"SmartRouteIntermediatePLCMAC": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Intermediate UPA adapter MAC address of the device that is acting as a relay to increase coverage in mesh scenarios. This is the MAC address of a third UPA device, with which the UPA interface is doing smart repeating in order to transmit data to the associated <<param|MACAddress>> UPA device. <<param>> will be empty when <<param|DirectRoute>> is <<true>>.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"DirectRoute": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Route status, where <<true>> indicates direct and <<false>> indicates indirect.",
						"datatype": "boolean"
					},
					"Active": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether or not this node is currently present in the UPA network. The ability to list inactive nodes is OPTIONAL. If the CPE includes inactive nodes in this table, <<param>> MUST be set to <<false>> for each inactive node. The length of time an inactive node remains listed in this table is a local matter to the CPE.",
						"datatype": "boolean"
					}
				},
				"Device.UPA.Interface.{i}.ActiveNotch.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains the list of active notches of the UPA interface. A UPA device can have notches in its spectrum, where no power is transmitted in a given part of the spectrum. These notches are typically located in amateur radio bands, to avoid interference. Note: All <<object>> entries can be enabled/disabled as a group using the <<param|#.ActiveNotchEnable>> parameter.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the active notch entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"StartFreq": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The initial frequency (in <<units>>) of a notch enabled in the spectrum of the local interface.",
						"datatype": "unsignedInt",
						"unit": "kHz"
					},
					"StopFreq": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The final frequency (in <<units>>) of a notch enabled in the spectrum of the local interface.",
						"datatype": "unsignedInt",
						"unit": "kHz"
					},
					"Depth": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The depth (in <<units>>) of a notch enabled in the spectrum of the local interface.",
						"datatype": "unsignedInt",
						"unit": "dB"
					}
				},
				"Device.UPA.Interface.{i}.BridgeFor.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents the bridge table of the UPA interface. Each instance is a bridge table entry. It shows the MAC addresses of the remote UPA devices with their associated port number, and the MAC addresses of the end-devices (PCs, STBs, routers, etc) connected to Ethernet port of the powerline adapters with their associated logical port. In this way the system identifies to which UPA device an external device is connected to.",
					"uniqueKeys": [
						"Alias",
						"MACAddress"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "MAC address of the device.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Internal bridge associated port.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					}
				}
			},
			"Device.UPA.Diagnostics.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The UPA Diagnostics object.",
				"access": false,
				"array": false,
				"InterfaceMeasurement()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Type": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the type of port measurement test to be carried out. Enumeration of: SNR, CFR..",
							"datatype": "string",
							"enumerations": [
								"SNR",
								"CFR"
							]
						},
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> This is the local UPA interface from which the test is to be performed.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Port": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "PLC port being measured. This identifies which PLC connection to measure between the local interface (indicated by <<param|Interface>>) and the remote device (implied by <<param>>).",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_InvalidPort. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error",
								"Error_InvalidPort"
							]
						},
						"Measurements": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list>> Result of Signal-to-Noise-Ratio measurement (if <<param|Type>> is <<enum|SNR|Type>>) or Channel Frequency Response measurement (if <<param|Type>> is <<enum|CFR|Type>>). List items indicate measurements per carrier for a PLC port (expressed in <<units>>).",
							"list": {
								"datatype": "unsignedInt",
								"item": {
									"max": 1536
								},
								"unit": "0.1dB"
							}
						},
						"RxGain": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Reception gain of the adapter (expresssed in <<units>>).",
							"datatype": "int",
							"unit": "dB"
						}
					}
				},
				"Device.UPA.Diagnostics.InterfaceMeasurement.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object provides access to either a Signal-to-Noise-Ratio (SNR) Port Measurement test or a Channel Frequency Response (CFR) Port Measurement test. The <<param|Type>> parameter is used to select which type of test to perform. CFR and SNR measurements are done between a two UPA devices (a local interface and a remote device belonging to the same network).",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the type of port measurement test to be carried out. Enumeration of: SNR, CFR..",
						"datatype": "string",
						"enumerations": [
							"SNR",
							"CFR"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> This is the local UPA interface from which the test is to be performed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "PLC port being measured. This identifies which PLC connection to measure between the local interface (indicated by <<param|Interface>>) and the remote device (implied by <<param>>).",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Measurements": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> Result of Signal-to-Noise-Ratio measurement (if <<param|Type>> is <<enum|SNR|Type>>) or Channel Frequency Response measurement (if <<param|Type>> is <<enum|CFR|Type>>). List items indicate measurements per carrier for a PLC port (expressed in <<units>>).",
						"list": {
							"datatype": "unsignedInt",
							"item": {
								"max": 1536
							},
							"unit": "0.1dB"
						}
					},
					"RxGain": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Reception gain of the adapter (expresssed in <<units>>).",
						"datatype": "int",
						"unit": "dB"
					}
				}
			}
		},
		"Device.WiFi.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The WiFi object is based on the IEEE 802.11 specifications (<<bibref|802.11-2020>>). It defines interface objects (<<object|Radio>> and <<object|SSID>>), and application objects (<<object|AccessPoint>> and <<object|EndPoint>>).",
			"access": false,
			"array": false,
			"RadioNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SSIDNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"AccessPointNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"EndPointNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ResetCounter": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This parameter counts the number of WiFi host or driver resets since the last device reset. This parameter is reset to zero after the device resets, and increments with each successive WiFi host or driver reset.",
				"datatype": "StatsCounter32"
			},
			"ResetCause": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Reports the cause for the previous Wi-Fi driver reset.",
				"datatype": "string",
				"enumerations": [
					"HostReinit",
					"SpontaneousInterrupt",
					"LossOfPower"
				]
			},
			"Reset": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "This parameter represents a request to reset or reboot the WiFi sub-system without resetting or rebooting the device.",
				"datatype": "boolean"
			},
			"NeighboringWiFiDiagnostic()": {
				"type": "command",
				"async": true,
				"protocols": [
					"usp"
				],
				"output": {
					"Status": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
						"datatype": "string",
						"enumerations": [
							"Canceled",
							"Complete",
							"Error"
						]
					}
				}
			},
			"Reset()": {
				"type": "command",
				"async": false,
				"protocols": [
					"usp"
				]
			},
			"Device.WiFi.MultiAP.": {
				"type": "object",
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object describes a Wi-Fi network containing 1 or more Access Point devices. This object is related to a Wi-Fi network that contains multiple Access Points (Multi-AP) and utilizes software logic to optimize that Wi-Fi network (typically via steering STAs, also known as Associated Devices, to the best Access Point). This object exposes the view of the Wi-Fi netwtork from the perspective of the Multi-AP Controller. The Wi-Fi Alliance EasyMesh solution is one example of managing a Multi-AP network. This object and all sub-objects have been moved to new objects. <<deprecated|2.15|because it has moved to <<object|##.WiFi.DataElements.Network>> MultiAP objects>> <<obsoleted|2.17>> <<deleted|2.18>>",
				"access": false,
				"array": false,
				"APDeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>> <<deprecated|2.15| because the <<object|APDevice.<i>>> is being deprecated>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"datatype": "unsignedInt"
				},
				"Device.WiFi.MultiAP.SteeringSummaryStats.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The summary of statistics related to Multi-AP Steering for the Wi-Fi network. The counters contained in <<object>> are all reset on reboot. <<deprecated|2.15|because it has moved to <<object|##.DataElements.Network.MultiAPSteeringSummaryStats>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"access": false,
					"array": false,
					"NoCandidateAPFailures": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of times Associated Devices should have been steered but werent because a better candidate AP couldnt be found.",
						"datatype": "StatsCounter64"
					},
					"BlacklistAttempts": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of times a Blacklist steer was attempted.",
						"datatype": "StatsCounter64"
					},
					"BlacklistSuccesses": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of times an attempted Blacklist steer succeeded.",
						"datatype": "StatsCounter64"
					},
					"BlacklistFailures": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of times an attempted Blacklist steer failed.",
						"datatype": "StatsCounter64"
					},
					"BTMAttempts": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of times a BTM (BSS Transition Management; 802.11k) steer was attempted.",
						"datatype": "StatsCounter64"
					},
					"BTMSuccesses": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of times an attempted BTM (BSS Transition Management; 802.11k) steer succeeded.",
						"datatype": "StatsCounter64"
					},
					"BTMFailures": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of times an attempted BTM (BSS Transition Management; 802.11k) steer failed.",
						"datatype": "StatsCounter64"
					},
					"BTMQueryResponses": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of asynchronous BTM (BSS Transition Management; 802.11k) Queries for which a BTM Request was issued.",
						"datatype": "StatsCounter64"
					}
				},
				"Device.WiFi.MultiAP.APDevice.{i}.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each instance of this object represents an individual Access Point device in the Wi-Fi network. <<deprecated|2.15|because <<param|ManufacturerOUI>> and <<param|LastContactTime>> have moved to <<object|##.DataElements.Network.Device.<i>.MultiAPDevice>>, Backhaul parameters have moved to <<object|##.DataElements.Network.Device.<i>.MultiAPDevice.Backhaul>> and <<param|MACAddress>> is duplicated in <<param|##.DataElements.Network.Device.<i>.ID>>. All the rest are deprecated as noted>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"uniqueKeys": [
						"MACAddress"
					],
					"access": false,
					"array": true,
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A unique identifier for this particular device within the Wi-Fi network. <<deprecated|2.15|because it has been replaced by <<param|##.DataElements.Network.Device.<i>.ID>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"Manufacturer": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The manufacturer of the Access Point device (human readable string). <<deprecated|2.15|because this information will be part of Data Elements R2>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "string"
					},
					"ManufacturerOUI": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Organizationally unique identifier of the Access Point device manufacturer. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. <<pattern>> The value MUST be a valid OUI as defined in <<bibref|OUI>>. This value MUST remain fixed over the lifetime of the device, including across firmware updates.",
						"datatype": "string",
						"range": [
							{
								"min": 6,
								"max": 6
							}
						],
						"pattern": [
							"[0-9A-F]{6}"
						]
					},
					"ProductClass": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Identifier of the class of product for which the serial number applies. That is, for a given manufacturer, this parameter is used to identify the product or class of product over which the <<param|SerialNumber>> parameter is unique. This value MUST remain fixed over the lifetime of the device, including across firmware updates. <<deprecated|2.15|because this information will be part of Data Elements R2>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"SerialNumber": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Identifier of the particular Access Point device that is unique for the indicated class of product and manufacturer. This value MUST remain fixed over the lifetime of the device, including across firmware updates. <<deprecated|2.15|because this information will be part of Data Elements R2>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"SoftwareVersion": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A string identifying the software version currently installed in the Access Point device (i.e. version of the overall firmware). To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 3.0.21 where the components mean: Major.Minor.Build. <<deprecated|2.15|because this information will be part of Data Elements R2>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"LastContactTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The last time that the Access Point device was contacted via the Multi-AP control protocol.",
						"datatype": "dateTime"
					},
					"AssocIEEE1905DeviceRef": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<param>> is a reference to the IEEE 1905.1 Network Topology Device. Since IEEE 1905.1 is a common protocol used by Multi-AP Controllers for communications, this parameter allows the MultiAP portion of the data model to reference the associated IEEE 1905.1 portion of the data model.",
						"datatype": "string"
					},
					"BackhaulLinkType": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The medium being used to backhaul this Access Point Device to the Multi-AP Controller. The <<enum|None>> value is reserved for the <<object>> instance that represents the Multi-AP Controller. Enumeration of: None, Wi-Fi, MoCA, Ethernet, G.hn, HPNA, HomePlug, UPA.",
						"datatype": "string",
						"enumerations": [
							"None",
							"Wi-Fi",
							"MoCA",
							"Ethernet",
							"G.hn",
							"HPNA",
							"HomePlug",
							"UPA"
						]
					},
					"BackhaulMACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The MAC Address of the Device on the network that is providing a Backhaul Link for this Access Point Device. <<empty>> is reserved for the <<object>> instance that represents the Multi-AP Controller.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"BackhaulBytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of bytes transmitted across the backhaul medium (as identified by the value of the <<param|BackhaulLinkType>> parameter), including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BackhaulBytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of bytes received across the backhaul medium (as identified by the value of the <<param|BackhaulLinkType>> parameter), including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BackhaulLinkUtilization": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Current utilization (expressed in <<units>>) of the medium (as identified by the value of the <<param|BackhaulLinkType>> parameter) being used to backhaul this Access Point device to the Multi-AP Controller. A value of 0 is used for the <<object>> instance that represents the Access Point on the Multi-AP Controller.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 255
							}
						],
						"unit": "%"
					},
					"BackhaulSignalStrength": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An indicator of radio signal strength of the backhaul link of the Access Point (AP) to the Multi-AP Controller, measured in <<units>>. RCPI threshold is encoded per <<bibref|802.11-2020|Table 9-176>>. The value of this parameter is indeterminate if the value of the <<param|BackhaulLinkType>> parameter is anything other than <<enum|Wi-Fi|BackhaulLinkType>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 255
							}
						],
						"unit": "dBm"
					},
					"RadarDetections": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items represent channels in the non-occupancy list due to radars detected by Dynamic Frequency Selection (DFS) Channel Availability Check (CAC).",
						"list": {
							"datatype": "unsignedInt",
							"maxsize": 1024
						}
					},
					"DFSEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables Dynamic Frequency Selection (DFS). <<deprecated|2.15|because this information will be part of Data Elements R2>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "boolean"
					},
					"RadioNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>> <<deprecated|2.15| because the <<object|Radio.<i>>> is being deprecated>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt"
					},
					"Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.": {
						"type": "object",
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents all of the individual Radios contained within the identified Access Point device known to the controller. <<deprecated|2.15|because <<param|MACAddress>> is duplicated in <<param|###.DataElements.Network.Device.<i>.Radio.<i>.ID>> and <<param|OperatingFrequencyBand>> is replaced with <<param|###.DataElements.Network.Device.<i>.Radio.<i>.CurrentOperatingClassProfile.<i>.Class>>. <<param|Channel>> is duplicated in <<param|###.DataElements.Network.Device.<i>.Radio.<i>.CurrentOperatingClassProfile.<i>.Channel>>. <<param|TransmitPower>> is duplicated in <<param|###.DataElements.Network.Device.<i>.Radio.<i>.CurrentOperatingClassProfile.<i>.TxPower>>. The remaining parameters deprecated as noted>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"uniqueKeys": [
							"MACAddress"
						],
						"access": false,
						"array": true,
						"MACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A unique identifier for this particular Radio within the identified Access Point. <<deprecated|2.15|because it is duplicated in <<param|###.DataElements.Network.Device.<i>.Radio.<i>.ID>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"OperatingFrequencyBand": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the frequency band at which the radio is operating. Enumeration of: 2.4GHz, 5GHz, 6GHz. <<deprecated|2.15|because it is replaced with <<param|###.DataElements.Network.Device.<i>.Radio.<i>.CurrentOperatingClassProfile.<i>.Class>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "string",
							"enumerations": [
								"2.4GHz",
								"5GHz",
								"6GHz"
							]
						},
						"OperatingStandards": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> List items indicate which IEEE 802.11 standard this <<object>> instance is configured for. Enumeration of: a, b, g, n, ac, ax. If <<param|OperatingFrequencyBand>> is set to <<enum|2.4GHz|OperatingFrequencyBand>>, only values <<enum|b>>, <<enum|g>>, <<enum|n>>, <<enum|ax>> are applicable. If <<param|OperatingFrequencyBand>> is set to <<enum|5GHz|OperatingFrequencyBand>>, only values <<enum|a>>, <<enum|n>>, <<enum|ac>>, <<enum|ax>> are applicable. If <<param|OperatingFrequencyBand>> is set to <<enum|6GHz|OperatingFrequencyBand>>, only value <<enum|ax>> is allowed. For example, a value of g,b (or b,g - order is not important) means that the 802.11g standard <<bibref|802.11g-2003>> is used with a backwards-compatible mode for 802.11b <<bibref|802.11b-1999>>. A value of g means that only the 802.11g standard is in use. <<deprecated|2.15|because this information cannot be obtained by EasyMesh>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"list": {
								"datatype": "string",
								"enumerations": [
									"a",
									"b",
									"g",
									"n",
									"ac",
									"ax"
								]
							}
						},
						"Channel": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The current radio channel used by the connection. To request automatic channel selection, set <<param|###.Radio.<i>.AutoChannelEnable>> to <<true>>. Whenever <<param|###.Radio.<i>.AutoChannelEnable>> is <<true>>, the value of the <<param>> parameter MUST be the channel selected by the automatic channel selection procedure. For channels in wide mode (where a channel bandwidth strictly greater than 20 MHz is used), this parameter is used for Primary Channel only. The secondary or extension channel information is available through <<param|ExtensionChannel>>. Note: Valid <<param>> values depend on the <<param|OperatingFrequencyBand>> value specified and the regulatory domain. <<deprecated|2.15|because it is replaced with <<param|###.DataElements.Network.Device.<i>.Radio.<i>.CurrentOperatingClassProfile.<i>.Channel>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 255
								}
							]
						},
						"ExtensionChannel": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The secondary extension channel position, applicable when operating in wide channel mode (i.e. when <<param|CurrentOperatingChannelBandwidth>> is <<enum|40MHz|CurrentOperatingChannelBandwidth>> If not operating in wide channel mode (i.e. when <<param|CurrentOperatingChannelBandwidth>> is something other than <<enum|40MHz|CurrentOperatingChannelBandwidth>>, then the value of <<param>> is <<enum|None>>. Enumeration of: None, AboveControlChannel, BelowControlChannel. <<deprecated|2.15|because this information is not available via EasyMesh>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "string",
							"enumerations": [
								"None",
								"AboveControlChannel",
								"BelowControlChannel"
							]
						},
						"PossibleChannels": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> List items represent possible radio channels for the wireless standard (a, b, g, n, ac, ax) and the regulatory domain. Ranges in the form n-m are permitted. For example, for 802.11b and North America, would be 1-11. <<deprecated|2.15|because it is not available via EasyMesh>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"list": {
								"datatype": "string",
								"maxsize": 1024
							}
						},
						"CurrentOperatingChannelBandwidth": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The channel bandwidth currently in use. Enumeration of: 20MHz, 40MHz, 80MHz, 160MHz. <<deprecated|2.15|because it is not available via EasyMesh>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "string",
							"enumerations": [
								"20MHz",
								"40MHz",
								"80MHz",
								"160MHz"
							]
						},
						"MCS": {
							"type": "int",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The Modulation Coding Scheme index (applicable to 802.11n and 802.11ac specifications only). Values from 0 to 15 MUST be supported (<<bibref|802.11n-2009>>). Values from 0 to 9 MUST be supported for <<bibref|802.11ac-2013>>. <<deprecated|2.15|because this information is not available in EasyMesh>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "int",
							"range": [
								{
									"min": 0,
									"max": 15
								},
								{
									"min": 16,
									"max": 31
								}
							]
						},
						"TransmitPower": {
							"type": "int",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the current transmit power level as a <<units>> of full power. <<deprecated|2.15|because it is duplicated in <<param|###.DataElements.Network.Device.<i>.Radio.<i>.CurrentOperatingClassProfile.<i>.TxPower>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "int",
							"range": [
								{
									"min": -1,
									"max": 100
								}
							],
							"unit": "percentage"
						},
						"TransmitPowerLimit": {
							"type": "int",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the maximum Effective Isotropic Radiated Power (EIRP) per 20 MHz bandwidth representing the nominal transmit power limit for this radio. The field is coded in units of <<units>> relative to 1 mW. <<bibref|EasyMesh|Clause 17.2.15>> <<deprecated|2.15|because it is not available in EasyMesh>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "int",
							"range": [
								{
									"min": -90,
									"max": 36
								}
							],
							"unit": "dBm"
						},
						"APNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>> <<deprecated|2.15| because the <<object|AP.<i>.>> is being deprecated>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "unsignedInt"
						},
						"Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.": {
							"type": "object",
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A single logical Access Point operating on this radio. <<deprecated|2.15|because it has moved to <<object|####.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.MultiAPSteering.>> except <<param|SSID>> and <<param|BSSID>> which are duplicated in <<object|####.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"uniqueKeys": [
								"BSSID"
							],
							"access": false,
							"array": true,
							"BSSID": {
								"type": "string",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The MAC Address of the logical BSS (BSSID).",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"SSID": {
								"type": "string",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The SSID in use for this BSS.",
								"datatype": "string"
							},
							"BlacklistAttempts": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of times a Blacklist steer was attempted for this Access Point. Blacklist steering is the process of forcing a connected STA to move to another Access Point by temporarily blocking its access to the current Access Point.",
								"datatype": "StatsCounter64"
							},
							"BTMAttempts": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of times a BTM (BSS Transition Management; 802.11k) steer was attempted for this Access Point.",
								"datatype": "StatsCounter64"
							},
							"BTMQueryResponses": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of asynchronous BTM (BSS Transition Management; 802.11k) Queries for which a BTM Request was issued by this Access Point.",
								"datatype": "StatsCounter64"
							},
							"AssociatedDeviceNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>> <<deprecated|2.15| because the <<object|AssociatedDevice.<i>.>> is being deprecated>> <<obsoleted|2.17>> <<deleted|2.18>>",
								"datatype": "unsignedInt"
							},
							"Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.AssociatedDevice.{i}.": {
								"type": "object",
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Object describing a single Associated Device (STA). <<deprecated|2.15|because it has moved <<param|AssociationTime>>, <<param|Noise>> into <<object|#####.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.MultiAPSTA.>> and the remaining parameters are duplicated in <<object|#####.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>> except <<param|OperatingStandard>> which was deprecated as noted>> <<obsoleted|2.17>> <<deleted|2.18>>",
								"uniqueKeys": [
									"MACAddress"
								],
								"access": false,
								"array": true,
								"MACAddress": {
									"type": "string",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The MAC address of an associated device.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"OperatingStandard": {
									"type": "string",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The operating standard that this associated device is connected with. Enumeration of: a, b, g, n, ac, ax. <<deprecated|2.15|because this information cannot be obtained by EasyMesh>> <<obsoleted|2.17>> <<deleted|2.18>>",
									"datatype": "string",
									"enumerations": [
										"a",
										"b",
										"g",
										"n",
										"ac",
										"ax"
									]
								},
								"Active": {
									"type": "boolean",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Whether or not this associated device is currently present on the Wi-Fi Access Point device. The ability to list inactive nodes is OPTIONAL. If the Access Point devices includes inactive nodes in this table, <<param>> MUST be set to <<false>> for each inactive node. The length of time an inactive node remains listed in this table is a local matter to the CPE. <<deprecated|2.15|because this information cannot be obtained by EasyMesh>> <<obsoleted|2.17>> <<deleted|2.18>>",
									"datatype": "boolean"
								},
								"AssociationTime": {
									"type": "dateTime",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Date and time in UTC when the device was associated.",
									"datatype": "dateTime"
								},
								"LastDataDownlinkRate": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the access point to the associated device.",
									"datatype": "unsignedInt",
									"unit": "kbps"
								},
								"LastDataUplinkRate": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the associated device to the access point.",
									"datatype": "unsignedInt",
									"unit": "kbps"
								},
								"SignalStrength": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "An indicator of radio signal strength of the uplink from the Associated Device (STA) to the Access Point (AP) measured in <<units>>. RCPI threshold is encoded per <<bibref|802.11-2020|Table 9-176>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									],
									"unit": "dBm"
								},
								"Noise": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "An indicator of the average radio noise plus interference power measured on the uplink from the Associated Device (STA) to the Access Point (AP). Encoded as defined for ANPI in <<bibref|802.11-2020|Section 11.10.9.4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"SteeringHistoryNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>> <<deprecated|2.15| because the <<object|#####.MultiAP.APDevice.<i>.Radio.<i>.AP.<i>.AssociatedDevice.<i>.SteeringHistory.<i>.>> is being deprecated>> <<obsoleted|2.17>> <<deleted|2.18>>",
									"datatype": "unsignedInt"
								},
								"Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.AssociatedDevice.{i}.Stats.": {
									"type": "object",
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Object describing the Statistics for a single Associated Device (STA). <<deprecated|2.15|because it is duplicated in <<object|######.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
									"access": false,
									"array": false,
									"BytesSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of bytes transmitted to the Associated Device.",
										"datatype": "StatsCounter64"
									},
									"BytesReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of bytes received from the Associated Device.",
										"datatype": "StatsCounter64"
									},
									"PacketsSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of packets transmitted to the Associated Device.",
										"datatype": "StatsCounter64"
									},
									"PacketsReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of packets received from the Associated Device.",
										"datatype": "StatsCounter64"
									},
									"ErrorsSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of outbound packets that could not be transmitted because of errors. These might be due to the number of retransmissions exceeding the retry limit, or from other causes.",
										"datatype": "StatsCounter64"
									},
									"ErrorsReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol.",
										"datatype": "StatsCounter64"
									},
									"RetransCount": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of transmitted packets which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two.",
										"datatype": "StatsCounter64"
									}
								},
								"Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.AssociatedDevice.{i}.SteeringSummaryStats.": {
									"type": "object",
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The summary of statistics related to Multi-AP Steering for an individual STA on the Wi-Fi network. The counters contained in <<object>> are all reset on reboot. <<deprecated|2.15|because it has moved to <<object|######.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.MultiAPSTA.SteeringSummaryStats.>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
									"access": false,
									"array": false,
									"NoCandidateAPFailures": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of times this Associated Device should have been steered but wasnt because a better candidate AP couldnt be found.",
										"datatype": "StatsCounter64"
									},
									"BlacklistAttempts": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of times a Blacklist steer was attempted on this Associated Device.",
										"datatype": "StatsCounter64"
									},
									"BlacklistSuccesses": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of times an attempted Blacklist steer succeeded for this Associated Device.",
										"datatype": "StatsCounter64"
									},
									"BlacklistFailures": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of times an attempted Blacklist steer failed for this Associated Device.",
										"datatype": "StatsCounter64"
									},
									"BTMAttempts": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of times a BTM (BSS Transition Management; 802.11k) steer was attempted on this Associated Device.",
										"datatype": "StatsCounter64"
									},
									"BTMSuccesses": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of times an attempted BTM (BSS Transition Management; 802.11k) steer succeeded for this Associated Device.",
										"datatype": "StatsCounter64"
									},
									"BTMFailures": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of times an attempted BTM (BSS Transition Management; 802.11k) steer failed for this Associated Device.",
										"datatype": "StatsCounter64"
									},
									"BTMQueryResponses": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of asynchronous BTM (BSS Transition Management; 802.11k) Queries for which a BTM Request was issued to this Associated Device.",
										"datatype": "StatsCounter64"
									},
									"LastSteerTime": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The number of <<units>> since this Associated Device was last attempted to be steered.",
										"datatype": "unsignedInt",
										"unit": "seconds"
									}
								},
								"Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.AssociatedDevice.{i}.SteeringHistory.{i}.": {
									"type": "object",
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The history of Multi-AP Steering for an individual STA on the Wi-Fi network. The contents of this multi-instance object are reset on reboot. <<deprecated|2.15|because it has moved to <<object|######.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.MultiAPSTA.SteeringHistory.<i>.>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
									"uniqueKeys": [
										"Time",
										"APOrigin",
										"APDestination"
									],
									"access": false,
									"array": true,
									"Time": {
										"type": "dateTime",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The date/time when steering was initiated for the Associated Device.",
										"datatype": "dateTime"
									},
									"APOrigin": {
										"type": "string",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The BSSID of the Access Point that initiated the steering.",
										"datatype": "string"
									},
									"TriggerEvent": {
										"type": "string",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The type of event that caused the steering to be initiaited. Enumeration of: Unknown, Wi-Fi Channel Utilization, Wi-Fi Link Quality, Backhaul Link Utilization. NOTE: This might be Unknown for BTM Query Response steers.",
										"datatype": "string",
										"enumerations": [
											"Unknown",
											"Wi-Fi Channel Utilization",
											"Wi-Fi Link Quality",
											"Backhaul Link Utilization"
										]
									},
									"SteeringApproach": {
										"type": "string",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The type of steering that was attempted. Enumeration of: Blacklist, BTM Request, Async BTM Query.",
										"datatype": "string",
										"enumerations": [
											"Blacklist",
											"BTM Request",
											"Async BTM Query"
										]
									},
									"APDestination": {
										"type": "string",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The BSSID of the destination Access Point of a successful steer. A failed steering attempt will leave this parameter <<empty>>.",
										"datatype": "string"
									},
									"SteeringDuration": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The amount of time in <<units>> required for the steer to complete successfully. A failed steering attempt will leave this parameter 0.",
										"datatype": "unsignedInt",
										"unit": "seconds"
									}
								}
							}
						}
					}
				}
			},
			"Device.WiFi.DataElements.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object represents the Wi-Fi Alliance Data Elements as defined in <<bibref|DataElements>> with extended capabilities in additional objects whose names begin with MultiAP.",
				"access": false,
				"array": false,
				"Device.WiFi.DataElements.Network.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object describes a Wi-Fi network containing 1 or more Access Point (AP) devices.",
					"access": false,
					"array": false,
					"ID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A unique identifier for this particular Wi-Fi network.",
						"datatype": "string"
					},
					"TimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time this group was collected. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
						"datatype": "dateTime"
					},
					"ControllerID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A unique identifier for a Multi-AP controller. It is recommended that this be the same as the IEEE 1905 ALID of the EasyMesh controller.",
						"datatype": "string"
					},
					"DeviceNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"MSCSDisallowedStaList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "List of STAs for which Mirrored Stream Classification Service (MSCS) operation is disallowed.",
						"list": {
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					},
					"SCSDisallowedStaList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "List of STAs for which Stream Classification Service (SCS) operation is disallowed.",
						"list": {
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					},
					"ColocatedAgentID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "AL MAC address of the EasyMesh Agent that is co-located in the same device with the Wi-Fi EasyMesh Controller. Set to null if there is no such collocated agent.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"SteeringMandates": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Count of number of EasyMesh controller-initiated requests for Steering Mandates. <<bibref|EasyMesh|Section 17.2.57, Profile-2 Steering Request TLV, with field Request_Mode set to one>>.",
						"datatype": "StatsCounter64"
					},
					"SteeringOpportunities": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Count of number of EasyMesh controller-initiated requests for Steering Opportunities. <<bibref|EasyMesh|Section 17.2.57, Profile-2 Steering Request TLV, with field Request_Mode set to zero>>.",
						"datatype": "StatsCounter64"
					},
					"SSIDNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"STABlockNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ProvisionedDPPNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"PreferredBackhaulsNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"SetTrafficSeparation()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": ": <<true>>: EasyMesh traffic separation is allowed. : <<false>>: EasyMesh traffic separation is not allowed.",
								"datatype": "boolean"
							}
						},
						"output": {
							"Status": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the type of outcome of the request to allow or disallow EasyMesh traffic separation. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
								"datatype": "string",
								"enumerations": [
									"Success",
									"Error_Invalid_Input",
									"Error_Timeout",
									"Error_Other"
								]
							}
						}
					},
					"SetServicePrioritization()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": ": <<true>>: EasyMesh service prioritization is allowed. : <<false>>: EasyMesh service prioritization is not allowed.",
								"datatype": "boolean"
							},
							"DSCPMap": {
								"type": "hexBinary",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "A hexadecimal string of 64 PCP values (one octet per value) corresponding to the DSCP markings 0x00 to 0x3F, ordered by increasing DSCP value. Each octet is in the range 0x00 - 0x07. This is used to select a PCP value if a Service Prioritization Rule specifies Rule Output: 0x08. If this input is not provided, then the existing <<param|#.Device.<i>.DSCPMap>> applies.",
								"datatype": "hexBinary",
								"range": [
									{
										"max": 64
									}
								]
							}
						},
						"output": {
							"Status": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the type of outcome of the request to allow or disallow EasyMesh service prioritization. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
								"datatype": "string",
								"enumerations": [
									"Success",
									"Error_Invalid_Input",
									"Error_Timeout",
									"Error_Other"
								]
							}
						}
					},
					"SetPreferredBackhauls()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {},
						"output": {
							"Status": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the type of outcome of the request to set preferred backhaul links. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
								"datatype": "string",
								"enumerations": [
									"Success",
									"Error_Invalid_Input",
									"Error_Timeout",
									"Error_Other"
								]
							}
						}
					},
					"SetSSID()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {
							"SSID": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "The SSID for fronthaul use across this Wi-Fi Multi-AP network.",
								"datatype": "string"
							},
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Enable or disable this <<param|SSID>>. Disable stops the use of this <<param|SSID>>, but the object is retained. : <<true>>: this <<param|SSID>> is to be enabled. : <<false>>: this <<param|SSID>> is to be disabled.",
								"datatype": "boolean"
							},
							"AddRemoveChange": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates whether to add, remove or change this <<param|SSID>>. Enumeration of: Add, Remove, Change. Status is to be returned after implementation or failed implementation on all agents/devices/APs in this Multi-AP network. If set to <<enum|Change>>, then all input parameters for this <<param|SSID>> that do not have null values are to be changed.",
								"datatype": "string",
								"enumerations": [
									"Add",
									"Remove",
									"Change"
								]
							},
							"PassPhrase": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The WPA2 Passphrase and/or SAE password for this <<param|SSID>>.",
								"datatype": "string"
							},
							"Band": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The band(s) for which this <<param|SSID>> applies. Enumeration of: All, 2.4, 5, 6, 5_UNII_1, 5_UNII_2, 5_UNII_3, 5_UNII_4, 6_UNII_5, 6_UNII_6, 6_UNII_7, 6_UNII_8. If this input is not provided, then a value of <<enum|All>> applies.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"All",
										"2.4",
										"5",
										"6",
										"5_UNII_1",
										"5_UNII_2",
										"5_UNII_3",
										"5_UNII_4",
										"6_UNII_5",
										"6_UNII_6",
										"6_UNII_7",
										"6_UNII_8"
									]
								}
							},
							"AKMsAllowed": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "<<list>> List items indicate Authentication and Key Management (AKM) suites/security modes allowed on this BSS. Enumeration of: psk, dpp, sae, psk+sae, dpp+sae, dpp+psk+sae, SuiteSelector.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"psk",
										"dpp",
										"sae",
										"psk+sae",
										"dpp+sae",
										"dpp+psk+sae",
										"SuiteSelector"
									]
								}
							},
							"SuiteSelector": {
								"type": "hexBinary",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "AKM suite selector, the AKM suite selector (OUI and type) is encoded as a 4-octet hex-encoded value without internal delimiters, e.g. 506F9A02 <<bibref|802.11-2020|Table 9-151>>. This parameter applies if <<param|AKMsAllowed>> includes value SuiteSelector.",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 4,
										"max": 4
									}
								]
							},
							"AdvertisementEnabled": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates if the SSID is advertised in beacons, or not. : <<true>>: this <<param|SSID>> is to be advertised in beacons. : <<false>>: this <<param|SSID>> is not to be advertised in beacons.",
								"datatype": "boolean"
							},
							"MFPConfig": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Management Frame Protection (MFP) configuration. Enumeration of: Disabled, Optional, Required.",
								"datatype": "string",
								"enumerations": [
									"Disabled",
									"Optional",
									"Required"
								]
							},
							"MobilityDomain": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The IEEE 802.11 mobility domain <<bibref|802.11-2020|Section 9.4.2.46>>.",
								"list": {
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								}
							},
							"HaulType": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the use of this <<param|SSID>>. Enumeration of: Fronthaul, Backhaul.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"Fronthaul",
										"Backhaul"
									]
								}
							},
							"Type": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Human-readable name for this <<object>>. For example <<param>> could be one of Primary, Home, Guest, Public, Private, Children, Video, or Backhaul. This parameter is ignored if it is not provided.",
								"datatype": "string"
							}
						},
						"output": {
							"Status": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the type of outcome of the request to set the SSID. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
								"datatype": "string",
								"enumerations": [
									"Success",
									"Error_Invalid_Input",
									"Error_Timeout",
									"Error_Other"
								]
							}
						}
					},
					"SetMSCSDisallowed()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {
							"MSCSDisallowedStaList": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "List of STAs for which MSCS operation is disallowed.",
								"list": {
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								}
							}
						},
						"output": {
							"Status": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the type of outcome of the request to disallow MSCS service prioritization to particular STA(s) Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
								"datatype": "string",
								"enumerations": [
									"Success",
									"Error_Invalid_Input",
									"Error_Timeout",
									"Error_Other"
								]
							}
						}
					},
					"SetSCSDisallowed()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"input": {
							"SCSDisallowedStaList": {
								"type": "string",
								"read": true,
								"write": true,
								"mandatory": true,
								"protocols": [
									"usp"
								],
								"description": "List of STAs for which SCS operation is disallowed.",
								"list": {
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								}
							}
						},
						"output": {
							"Status": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the type of outcome of the request to disallow SCS service prioritization to particular STA(s). Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
								"datatype": "string",
								"enumerations": [
									"Success",
									"Error_Invalid_Input",
									"Error_Timeout",
									"Error_Other"
								]
							}
						}
					},
					"ControllerBTMSteer!": {
						"type": "event",
						"protocols": [
							"usp"
						],
						"output": {
							"BSSID": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Unique identifier of the source BSS or AP_MLD_MAC_Addr for which the steering BTM report applies.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"STAMAC": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "STA MAC address or STA MLD MAC address for which the steering BTM report applies.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"BTMStatusCode": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the value of the BTM Status Code as reported by the STA in the BTM Response <<bibref|802.11-2020|Table 9-42>>. Enumeration of: Accept, Reject_Unspecified, Reject_Insufficient_Response, Reject_Insufficient_Capacity, Reject_Undesired, Reject_Delay, Reject_STA_List, Reject_No_BSS, Reject_Leaving_ESS.",
								"datatype": "string",
								"enumerations": [
									"Accept",
									"Reject_Unspecified",
									"Reject_Insufficient_Response",
									"Reject_Insufficient_Capacity",
									"Reject_Undesired",
									"Reject_Delay",
									"Reject_STA_List",
									"Reject_No_BSS",
									"Reject_Leaving_ESS"
								]
							}
						}
					},
					"AgentOnboard!": {
						"type": "event",
						"protocols": [
							"usp"
						],
						"output": {
							"DeviceID": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "A unique identifier for this onboarded device within the Wi-Fi network.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"BackhaulSta": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The MAC address of the interface on this onboarded device providing backhaul to this device.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"BackhaulMACAddress": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The MAC address of the interface on the network that is providing the backhaul for this EasyMesh Agent. For Wi-Fi backhaul, this is the BSSID or AP MLD address of the backhaul BSS.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"BackhaulALID": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The IEEE 1905 <<bibref|IEEE1905.1a>> Abstraction-Layer ID (ALID) of the EasyMesh Agent on the network that is providing the backhaul for this EasyMesh Agent.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							}
						}
					},
					"Device.WiFi.DataElements.Network.SSID.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object specifies SSIDs for fronthaul use across all agents in this Wi-Fi Multi-AP network, or on this single-AP. Also specifies the <<param|Band>> for each <<param|SSID>>. The <<param|Alias>> can be used to uniquely refer to this table entry corresponding to a BSS even if the <<param|SSID>> were to change. Note that VLAN IDs (VIDs) can be configured per SSID with <<object|#.Device.<i>.SSIDtoVIDMapping.<i>>>.",
						"uniqueKeys": [
							"Alias"
						],
						"access": false,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"SSID": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The SSID for fronthaul use across this Wi-Fi Multi-AP network.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Band": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The band(s) (GHz) for which this <<param|SSID>> applies. Enumeration of: All, 2.4, 5, 6, 5_UNII_1, 5_UNII_2, 5_UNII_3, 5_UNII_4, 6_UNII_5, 6_UNII_6, 6_UNII_7, 6_UNII_8, Sub_1GHz.",
							"list": {
								"datatype": "string",
								"enumerations": [
									"All",
									"2.4",
									"5",
									"6",
									"5_UNII_1",
									"5_UNII_2",
									"5_UNII_3",
									"5_UNII_4",
									"6_UNII_5",
									"6_UNII_6",
									"6_UNII_7",
									"6_UNII_8",
									"Sub_1GHz"
								]
							}
						},
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable of this <<param|SSID>>. Disable stops the use of this <<param|SSID>>, but the object is retained. : <<true>>: this <<param|SSID>> is enabled. : <<false>>: this <<param|SSID>> is disabled.",
							"datatype": "boolean"
						},
						"AKMsAllowed": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> List items indicate Authentication and Key Management (AKM) suites/security modes allowed on this BSS. Enumeration of: psk, dpp, sae, psk+sae, dpp+sae, dpp+psk+sae, SuiteSelector.",
							"list": {
								"datatype": "string",
								"enumerations": [
									"psk",
									"dpp",
									"sae",
									"psk+sae",
									"dpp+sae",
									"dpp+psk+sae",
									"SuiteSelector"
								]
							}
						},
						"SuiteSelector": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "AKM suite selector, the AKM suite selector (OUI and type) is encoded as a 4-octet hex-encoded value without internal delimiters, e.g. 506F9A02 <<bibref|802.11-2020|Table 9-151>>. This parameter applies if <<param|AKMsAllowed>> includes value SuiteSelector.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						},
						"AdvertisementEnabled": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates if the SSID is advertised in beacons, or not. : <<true>>: this <<param|SSID>> is to be advertised in beacons. : <<false>>: this <<param|SSID>> is not to be advertised in beacons.",
							"datatype": "boolean"
						},
						"MFPConfig": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Management Frame Protection (MFP) configuration. Enumeration of: Disabled, Optional, Required.",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Optional",
								"Required"
							]
						},
						"MobilityDomain": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The IEEE 802.11 mobility domain <<bibref|802.11-2020|Section 9.4.2.46>>.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"HaulType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the use of this <<param|SSID>>. Enumeration of: Fronthaul, Backhaul.",
							"list": {
								"datatype": "string",
								"enumerations": [
									"Fronthaul",
									"Backhaul"
								]
							}
						},
						"Type": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Human-readable description for the BSS referenced by this <<object>>. For example <<param>> could be one of Primary, Home, Guest, Public, Private, Children, Video, Backhaul, Not Children, or Public 2.",
							"datatype": "string"
						}
					},
					"Device.WiFi.DataElements.Network.STABlock.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object indicates stations (STAs) for which client association is blocked. optionally the BSSID(s) the STA is blocked from associating to. In multi-AP cases, this should be implemented by Wi-Fi EasyMesh <<bibref|EasyMesh>> client association control. Stations that are already associated shall be disassociated if <<object|#.STABlock.<i>.Schedule.<i>.>> indicates so.",
						"uniqueKeys": [
							"BlockedSTA"
						],
						"access": true,
						"array": true,
						"BlockedSTA": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "MAC addresses of the STA that is blocked.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"BSSID": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Indicates BSS from which the <<param|BlockedSTA>> is blocked from association and cannot associate to. A null list indicates that all SSIDs are blocked.",
							"list": {
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							}
						},
						"ScheduleNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.WiFi.DataElements.Network.STABlock.{i}.Schedule.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Each instance of this object provides a schedule where client association is blocked for <<param|#.BlockedSTA>> <<bibref|EasyMesh|Section 11.6>>.",
							"uniqueKeys": [
								"Alias"
							],
							"access": true,
							"array": true,
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "_AliasCWMP"
							},
							"Day": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list|the days for which the STA is blocked>> Enumeration of: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.",
								"list": {
									"datatype": "string",
									"enumerations": [
										"Monday",
										"Tuesday",
										"Wednesday",
										"Thursday",
										"Friday",
										"Saturday",
										"Sunday"
									]
								}
							},
							"StartTime": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Start time of the STA block in hh:mm format. [hh] refers to a zero-padded hour between 00 and 23. [mm] refers to a zero-padded minute between 00 and 59. Start time is in local time zone.",
								"datatype": "string",
								"range": [
									{
										"max": 5
									}
								],
								"pattern": [
									"",
									"([01][0-9]|2[0-3]):[0-5][0-9]"
								]
							},
							"Duration": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The duration, in <<units>>, which the STA is blocked. If <<param|StartTime>> is defined, the STA is blocked for the <<param>> period starting from <<param|StartTime>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 1
									}
								],
								"unit": "seconds"
							}
						}
					},
					"Device.WiFi.DataElements.Network.ProvisionedDPP.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This table contains provisioned Device Provisioning Protocol (DPP) Boostrap URIs <<bibref|EasyConnect|Section 5.2.1>> which contain bootstrapping keys available to the Multi-AP controller for trusted third party onboarding of new Multi-AP agents.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"DPPURI": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The boostrapping DPP URI information which contains the enrollee public key to use for DPP onboarding a Multi-AP agent as specified by <<bibref|EasyConnect|Section 5.2.1>>.",
							"datatype": "URI",
							"range": [
								{
									"max": 2048
								}
							]
						}
					},
					"Device.WiFi.DataElements.Network.MultiAPSteeringSummaryStats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The summary of statistics related to Multi-AP Steering for the Wi-Fi network. The counters contained in <<object>> are all reset on reboot.",
						"access": false,
						"array": false,
						"NoCandidateAPFailures": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of times Associated Devices should have been steered but werent because a better candidate AP couldnt be found.",
							"datatype": "StatsCounter64"
						},
						"BlacklistAttempts": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of times a Blacklist steer was attempted.",
							"datatype": "StatsCounter64"
						},
						"BlacklistSuccesses": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of times an attempted Blacklist steer succeeded.",
							"datatype": "StatsCounter64"
						},
						"BlacklistFailures": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of times an attempted Blacklist steer failed.",
							"datatype": "StatsCounter64"
						},
						"BTMAttempts": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of times a BTM (BSS Transition Management; <<bibref|802.11k>>) steer was attempted.",
							"datatype": "StatsCounter64"
						},
						"BTMSuccesses": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of times an attempted BTM (BSS Transition Management; <<bibref|802.11k>>) steer succeeded.",
							"datatype": "StatsCounter64"
						},
						"BTMFailures": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of times an attempted BTM (BSS Transition Management; <<bibref|802.11k>>) steer failed.",
							"datatype": "StatsCounter64"
						},
						"BTMQueryResponses": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of asynchronous BTM (BSS Transition Management; <<bibref|802.11k>>) Queries for which a BTM Request was issued.",
							"datatype": "StatsCounter64"
						}
					},
					"Device.WiFi.DataElements.Network.Device.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each instance of this object represents an individual EasyMesh Agent or single-AP device in the Wi-Fi network.",
						"uniqueKeys": [
							"ID"
						],
						"access": false,
						"array": true,
						"ID": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A unique identifier for this particular device within the Wi-Fi network as defined in <<bibref|DataElements|Section 3.1>>. If this <<object>> is represented in <<object|Device.IEEE1905.AL.NetworkTopology.>>, then this should match an IEEE 1905 AL MAC Address in <<param|Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.<i>.IEEE1905Id>>.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"MultiAPCapabilities": {
							"type": "base64",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The Multi-AP capabilities supported by this device as defined by the APCapability TLV in <<bibref|EasyMesh|Section 17.2.6>>.",
							"datatype": "base64",
							"range": [
								{
									"min": 1,
									"max": 1
								}
							]
						},
						"CollectionInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The interval between the collection of consecutive measurements of the most frequently updated Data Element from this device in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"ReportUnsuccessfulAssociations": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates whether the Multi-AP Agent or the single AP reports unsuccessful association attempts of client Stations (STAs) to the Multi-AP Controller.",
							"datatype": "boolean"
						},
						"MaxReportingRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Maximum rate for reporting unsuccessful association attempts in <<units>>. <<deprecated|2.19|because it was the same as <<param|MaxUnsuccessfulAssociationReportingRate>>.>>",
							"datatype": "unsignedInt",
							"unit": "attempts per minute"
						},
						"APMetricsReportingInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "AP Metrics Reporting Interval. : 0: Do not report AP Metrics periodically; : 1 - 255: AP Metrics reporting interval in <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							],
							"unit": "seconds"
						},
						"AssociatedSTAReportingInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Associated STA Reporting Interval. 0: Do not report associated STA Metrics periodically; 1 - 255: Associated STA Metrics reporting interval in <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							],
							"unit": "seconds"
						},
						"Manufacturer": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Identifier of the manufacturer of the device. If the instance of this <<object>> is the same as <<object|Device.>>, then this parameter is the same as <<param|Device.DeviceInfo.Manufacturer>>.",
							"datatype": "string"
						},
						"SerialNumber": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Identifier of the particular Access Point device that is unique for the indicated model and manufacturer. This value MUST remain fixed over the lifetime of the device, including across firmware updates. If the instance of this <<object>> is the same as <<object|Device.>>, then this parameter is the same as <<param|Device.DeviceInfo.SerialNumber>>.",
							"datatype": "string"
						},
						"ManufacturerModel": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Identifier of the manufacturer model to help the user more easily identify a particular piece of equipment. If the instance of this <<object>> is the same as <<object|Device.>>, then this parameter is the same as <<param|Device.DeviceInfo.ModelName>>.",
							"datatype": "string"
						},
						"SoftwareVersion": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Identifier of the software version currently installed in the Access Point device (i.e. version of the overall firmware). If the instance of this <<object>> is the same as <<object|Device.>>, then this parameter is the same as <<param|Device.DeviceInfo.SoftwareVersion>>.",
							"datatype": "string"
						},
						"ExecutionEnv": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Identifier of the execution environment (operating system) in the device. This parameter can be an entry in the table <<object|####.SoftwareModules.ExecEnv>>. If the instance of this <<object>> is the same as <<object|Device.>>, then this parameter is the same as <<object|Device.SoftwareModules.ExecEnv.<i>.>>.",
							"datatype": "string"
						},
						"DSCPMap": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A hexadecimal string of 64 Priority Code Point (PCP) values (one octet per value) corresponding to the Differentiated Services Code Point (DSCP) markings 0x00 to 0x3F, ordered by increasing DSCP value. Each octet is in the range 0x00 - 0x07. This is used to select a PCP value if a Service Prioritization Rule specifies Rule Output: 0x08",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 64
								}
							]
						},
						"MaxPrioritizationRules": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The maximum total number of service prioritization rules supported by the Agent.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"PrioritizationSupport": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates support for Service Prioritization.",
							"datatype": "boolean"
						},
						"MaxVIDs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Max Total Number of unique VLAN IDs (VIDs) the Multi-AP Agent supports.",
							"datatype": "unsignedInt"
						},
						"APMetricsWiFi6": {
							"type": "boolean",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Associated Wi-Fi6 STA Status Inclusion Policy. : <<true>>: Include Associated Wi-Fi6 STA Status TLV in AP Metrics Response. : <<false>>: Do not include Associated Wi-Fi6 STA Status TLV [3] in AP Metrics Response. <<deprecated|2.16|because it was the same as <<param|Radio.<i>.APMetricsWiFi6>>.>> <<obsoleted|2.18>> <<deleted|2.19>>",
							"datatype": "boolean"
						},
						"CountryCode": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Two-character country code in which the Multi-AP Agent is operating according to <<bibref|ISO3166-1>>. The characters are encoded as UTF-8. If the instance of this <<object|##>> is the same as <<object|Device.WiFi.Radio.<i>.>>, then this parameter is the same as <<param|Device.WiFi.Radio.<i>.RegulatoryDomain>>.",
							"datatype": "string",
							"range": [
								{
									"min": 2,
									"max": 2
								}
							]
						},
						"LocalSteeringDisallowedSTAList": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> The STAs for which local steering is disallowed.",
							"list": {
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							}
						},
						"BTMSteeringDisallowedSTAList": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> The STAs for which BSS Transition Management (BTM) steering is disallowed.",
							"list": {
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							}
						},
						"DFSEnable": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates if Dynamic Frequency Selection (DFS) is enabled or disabled.",
							"datatype": "boolean"
						},
						"ReportIndependentScans": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Channel Scan Reporting Policy, Report Independent Channel Scans : <<true>>: report Independent Channel Scans, : <<false>>: do not report Independent Channel Scans unless explicitly requested in a Channel Scan Request.",
							"datatype": "boolean"
						},
						"AssociatedSTAinAPMetricsWiFi6": {
							"type": "boolean",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "For EasyMesh <<bibref|EasyMesh>>, this is the Associated Wi-Fi6 STA Status Inclusion Policy. : <<true>>: Include Associated Wi-Fi6 STA Status TLV in AP Metrics Response; : <<false>>: Do not include Associated Wi-Fi6 STA Status TLV in AP Metrics Response. <<deprecated|2.16|because it was the same as <<param|Radio.<i>.APMetricsWiFi6>>.>> <<obsoleted|2.18>> <<deleted|2.19>>",
							"datatype": "boolean"
						},
						"MaxUnsuccessfulAssociationReportingRate": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "For EasyMesh <<bibref|EasyMesh>>, this is the maximum rate for reporting unsuccessful association attempts (in attempts per <<units>>).",
							"datatype": "unsignedInt",
							"unit": "minutes"
						},
						"STASteeringState": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates if EasyMesh <<bibref|EasyMesh>> controller-initiated station steering is disallowed or allowed on this device. : <<true>>: EasyMesh controller-initiated station steering disallowed; : <<false>>: EasyMesh controller-initiated station steering allowed.",
							"datatype": "boolean"
						},
						"CoordinatedCACAllowed": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Allow or disallow the use of EasyMesh <<bibref|EasyMesh>> Coordinated Channel Availability Check (CAC) on this device. : <<true>>: allowed; : <<false>>: disallowed.",
							"datatype": "boolean"
						},
						"TrafficSeparationAllowed": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter indicates if EasyMesh traffic separation <<bibref|EasyMesh|Section 19.1>> is allowed or disallowed.",
							"datatype": "boolean"
						},
						"ServicePrioritizationAllowed": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter indicates if EasyMesh service prioritization <<bibref|EasyMesh|Section 20>> is allowed or disallowed.",
							"datatype": "boolean"
						},
						"ControllerOperationMode": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter represents the status of Wi-Fi EasyMesh controller functionality. Enumeration of: NotSupported, SupportedNotEnabled, Running.",
							"datatype": "string",
							"enumerations": [
								"NotSupported",
								"SupportedNotEnabled",
								"Running"
							]
						},
						"BackhaulMACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The MAC address of the interface on the network that is providing the backhaul for this EasyMesh Agent. For Wi-Fi backhaul, this is the BSSID or AP MLD address of the backhaul BSS. Interfaces of EasyMesh Agents that are downstream of this EasyMesh Agent are identified by <<param|BackhaulDown.<i>.BackhaulDownMACAddress>>.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"BackhaulALID": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The IEEE 1905 <<bibref|IEEE1905.1a>> Abstraction-Layer ID (ALID) of the EasyMesh Agent on the network that is providing the backhaul for this EasyMesh Agent. EasyMesh Agents that are downstream of this EasyMesh agent are identified by <<param|BackhaulDown.<i>.BackhaulDownALID>>.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"BackhaulDownMACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Each MAC address is that of a downstream EasyMesh agents backhaul link. <<deprecated|2.19|because it was replaced by <<param|BackhaulDown.<i>.BackhaulDownMACAddress>>.>>",
							"list": {
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							}
						},
						"BackhaulMediaType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Media type of the backhaul link of this EasyMesh Agent. This value can be derived from the neighbors topology response message 1905 device information type TLV Media Type field defined in <<bibref|IEEE1905.1a|Table 6-12>>. Enumeration of: IEEE 802.3u, IEEE 802.3ab, IEEE 802.11b, IEEE 802.11g, IEEE 802.11a, IEEE 802.11n 2.4, IEEE 802.11n 5.0, IEEE 802.11ac, IEEE 802.11ad, IEEE 802.11af, IEEE 802.11ax, IEEE 802.11be, IEEE 1901 Wavelet, IEEE 1901 FFT, MoCAv1.1, Generic PHY, IEEE 802.11ah.",
							"datatype": "string",
							"enumerations": [
								"IEEE 802.3u",
								"IEEE 802.3ab",
								"IEEE 802.11b",
								"IEEE 802.11g",
								"IEEE 802.11a",
								"IEEE 802.11n 2.4",
								"IEEE 802.11n 5.0",
								"IEEE 802.11ac",
								"IEEE 802.11ad",
								"IEEE 802.11af",
								"IEEE 802.11ax",
								"IEEE 802.11be",
								"IEEE 1901 Wavelet",
								"IEEE 1901 FFT",
								"MoCAv1.1",
								"Generic PHY",
								"IEEE 802.11ah"
							]
						},
						"BackhaulPHYRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The Physical Layer (PHY) rate in <<units>> on the backhaul link of this EasyMesh agent.",
							"datatype": "unsignedInt",
							"unit": "Mb/s"
						},
						"TrafficSeparationCapability": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicator of EasyMesh Agent capability to support EasyMesh <<bibref|EasyMesh>> 802.1Q C-TAG Traffic Separation.",
							"datatype": "boolean"
						},
						"EasyConnectCapability": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicator of the device capability to support Wi-Fi Easy Connect onboarding. Indicated in the DPP Onboarding field of the EasyMesh Profile-2 AP Capability TLV <<bibref|EasyMesh>>.",
							"datatype": "boolean"
						},
						"TestCapabilities": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates EasyMesh agent support for running a throughput or latency test. 0 indicates that the EasyMesh Agent or single-AP does not support any throughput test and does not support a latency test. 1 indicates that the EasyMesh Agent or single-AP supports a throughput test but does not support a latency test. 2 indicates that the EasyMesh Agent or single-AP supports a latency test but does not support a throughput test. 3 indicates that the EasyMesh Agent or single-AP supports a throughput test and a latency test.",
							"datatype": "unsignedInt"
						},
						"RadioNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Default8021QNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"SSIDtoVIDMappingNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"CACStatusNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"IEEE1905SecurityNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"SPRuleNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"AnticipatedChannelsNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"AnticipatedChannelUsageNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"MaxNumMLDs": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The maximum number of MLDs that the EasyMesh Agent can support. <<bibref|EasyMesh>> source: Wi-Fi 7 Agent Capabilities TLV.",
							"datatype": "unsignedInt"
						},
						"APMLDMaxLinks": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The maximum number of affiliated APs supported by any APMLD on this EasyMesh Agent. Set to a value between 0 and 14, which is the number of affiliated APs minus 1. The value of 15 is reserved. <<bibref|EasyMesh>> source: Wi-Fi 7 Agent Capabilities TLV.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 15
								}
							]
						},
						"bSTAMLDMaxLinks": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The maximum number of affiliated bSTAs supported by the bSTAMLD on this EasyMesh Agent. Set to a value between 0 and 14, which is the number of affiliated bSTAs minus 1. The value of 15 is reserved. <<bibref|EasyMesh>> source: Wi-Fi 7 Agent Capabilities TLV.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 15
								}
							]
						},
						"TIDLinkMapCapability": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the EasyMesh Agent support for TID to Link mapping. <<bibref|EasyMesh>> source: Wi-Fi 7 Agent Capabilities TLV. Enumeration of: 0, 1, 2.",
							"datatype": "string",
							"enumerations": [
								"0",
								"1",
								"2"
							]
						},
						"APMLDNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"BackhaulDownNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"SetSTASteeringState()": {
							"type": "command",
							"async": true,
							"protocols": [
								"usp"
							],
							"input": {
								"Disallowed": {
									"type": "boolean",
									"read": true,
									"write": true,
									"mandatory": true,
									"protocols": [
										"usp"
									],
									"description": ": <<true>>: EasyMesh controller-initiated station steering disallowed; : <<false>>: EasyMesh controller-initiated station steering allowed.",
									"datatype": "boolean"
								}
							},
							"output": {
								"Status": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates the type of outcome of the request to allow or disallow EasyMesh controller-initiated station steering. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
									"datatype": "string",
									"enumerations": [
										"Success",
										"Error_Invalid_Input",
										"Error_Timeout",
										"Error_Other"
									]
								}
							}
						},
						"SetDFSState()": {
							"type": "command",
							"async": true,
							"protocols": [
								"usp"
							],
							"input": {
								"DFSEnable": {
									"type": "boolean",
									"read": true,
									"write": true,
									"mandatory": true,
									"protocols": [
										"usp"
									],
									"description": ": <<true>>: the use of Dynamic Frequency Selection (DFS) channels is allowed; : <<false>>: the use of Dynamic Frequency Selection (DFS) channels is disallowed;",
									"datatype": "boolean"
								}
							},
							"output": {
								"Status": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates the type of outcome of the request to allow or disallow the use of Dynamic Frequency Selection (DFS) channels. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
									"datatype": "string",
									"enumerations": [
										"Success",
										"Error_Invalid_Input",
										"Error_Timeout",
										"Error_Other"
									]
								}
							}
						},
						"SetAnticipatedChannelPreference()": {
							"type": "command",
							"async": true,
							"protocols": [
								"usp"
							],
							"input": {
								"OpClass": {
									"type": "unsignedInt",
									"read": true,
									"write": true,
									"mandatory": true,
									"protocols": [
										"usp"
									],
									"description": "The Operating Class per <<bibref|802.11ax|Table E-4>>. Note that the operating class identifies the band and channel width.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"ChannelList": {
									"type": "string",
									"read": true,
									"write": true,
									"mandatory": true,
									"protocols": [
										"usp"
									],
									"description": "The channel numbers in this Operating Class.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									}
								}
							},
							"output": {
								"Status": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates the type of outcome of the request to set the anticipated channel preference. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
									"datatype": "string",
									"enumerations": [
										"Success",
										"Error_Invalid_Input",
										"Error_Timeout",
										"Error_Other"
									]
								}
							}
						},
						"InitiateWPSPBC()": {
							"type": "command",
							"async": true,
							"protocols": [
								"usp"
							],
							"output": {
								"Status": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates the response to the request to start Wi-Fi Protected Setup (WPS) Push Button Configuration (PBC). Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
									"datatype": "string",
									"enumerations": [
										"Success",
										"Error_Invalid_Input",
										"Error_Timeout",
										"Error_Other"
									]
								}
							}
						},
						"RefreshAPMetrics()": {
							"type": "command",
							"async": true,
							"protocols": [
								"usp"
							],
							"input": {
								"RUID": {
									"type": "base64",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Radio unique identifier (RUID). Inclusion of this parameter indicates that radio metrics are requested.",
									"datatype": "base64"
								}
							},
							"output": {
								"Status": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates the type of outcome of this command to send an AP Metrics Query Message. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
									"datatype": "string",
									"enumerations": [
										"Success",
										"Error_Invalid_Input",
										"Error_Timeout",
										"Error_Other"
									]
								}
							}
						},
						"BackhaulChange!": {
							"type": "event",
							"protocols": [
								"usp"
							],
							"output": {
								"MACAddress": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "The MAC address of the associated backhaul STA or bSTA MLD operated by the Multi-AP Agent <<bibref|EasyMesh|Section 17.2.33, Backhaul steering response TLV>>.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"TargetBSSID": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "The BSSID of the target BSS or the AP Multi-Link Device (MLD) MAC Address <<bibref|EasyMesh|Section 17.2.33, Backhaul steering response TLV>>.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"ResultCode": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates the value of the Result Code <<bibref|EasyMesh|Section 17.2.33, Backhaul steering response TLV>>. Enumeration of: Success, Failure.",
									"datatype": "string",
									"enumerations": [
										"Success",
										"Failure"
									]
								},
								"ReasonCode": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "Indicates the value of the Reason Code <<bibref|EasyMesh|Section 17.2.36, Error Code TLV>>. Enumeration of: Associated, Not_Associated, Capability_Report_Failure, Reject_Channel, Reject_Weak, Reject_Association.",
									"datatype": "string",
									"enumerations": [
										"Associated",
										"Not_Associated",
										"Capability_Report_Failure",
										"Reject_Channel",
										"Reject_Weak",
										"Reject_Association"
									]
								}
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.Default8021Q.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The default 802.1Q settings for EasyMesh service prioritization <<bibref|EasyMesh>>.",
							"uniqueKeys": [
								"PrimaryVID"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables default 802.1Q settings.",
								"default": "false",
								"datatype": "boolean"
							},
							"PrimaryVID": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The primary 802.1Q C-TAG (VLAN ID).",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 4095
									}
								]
							},
							"DefaultPCP": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The default Priority Code Point (PCP).",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 7
									}
								]
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.SSIDtoVIDMapping.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The Service Set Identifier (SSID) to VLAN ID mapping for EasyMesh traffic separation <<bibref|EasyMesh>>.",
							"uniqueKeys": [
								"SSID"
							],
							"access": false,
							"array": true,
							"SSID": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The SSID.",
								"datatype": "string",
								"range": [
									{
										"max": 64
									}
								]
							},
							"VID": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The VLAN ID (VID).",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 4095
									}
								]
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.CACStatus.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Latest Channel Availability Check (CAC) Status Report from the device.",
							"uniqueKeys": [
								"TimeStamp"
							],
							"access": false,
							"array": true,
							"TimeStamp": {
								"type": "dateTime",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The time this group was collected.",
								"datatype": "dateTime"
							},
							"CACAvailableChannelNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"CACNonOccupancyChannelNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"CACActiveChannelNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"Device.WiFi.DataElements.Network.Device.{i}.CACStatus.{i}.CACAvailableChannel.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object describes available channels identified by Channel Availability Check (CAC).",
								"uniqueKeys": [
									"OpClass",
									"Channel"
								],
								"access": false,
								"array": true,
								"OpClass": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This is the operating class of an available channel, from <<bibref|802.11ax|Table E-4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"Channel": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Single channel number of an available channel in the given operating class.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"Minutes": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<units>> since CAC was completed identifying available channel. Equals zero for non-DFS channels.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 65535
										}
									],
									"unit": "Minutes"
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.CACStatus.{i}.CACNonOccupancyChannel.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object describes channels identified by Channel Availability Check (CAC) that may not be occupied.",
								"uniqueKeys": [
									"OpClass",
									"Channel"
								],
								"access": false,
								"array": true,
								"OpClass": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Operating class of a channel that is in the non-occupancy list, from <<bibref|802.11ax|Table E-4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"Channel": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Single channel number in the operating class on which the radar was detected.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"Seconds": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<units>> remaining in the non-occupancy duration for the channel specified by the operating class and channel pair.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 65535
										}
									],
									"unit": "Seconds"
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.CACStatus.{i}.CACActiveChannel.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object describes channels with ongoing Channel Availability Check (CAC).",
								"uniqueKeys": [
									"OpClass",
									"Channel"
								],
								"access": false,
								"array": true,
								"OpClass": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Operating class of a channel that has ongoing CAC, from <<bibref|802.11ax|Table E-4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"Channel": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Single channel number in the operating class that has an ongoing CAC.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"Countdown": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<units>> remaining to complete the CAC.",
									"datatype": "unsignedInt",
									"unit": "Seconds"
								}
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.SPRule.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object describes a list of service prioritization (SP) rules <<bibref|EasyMesh>>.",
							"uniqueKeys": [
								"ID"
							],
							"access": false,
							"array": true,
							"ID": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Service prioritization rule Identifier.",
								"datatype": "unsignedInt"
							},
							"Precedence": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Rule Precedence - higher number means higher priority.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 254
									}
								]
							},
							"Output": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Rule Output. The value of, or method used to select, the 802.1Q C-TAG Priority Code Point (PCP) output value.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 9
									}
								]
							},
							"AlwaysMatch": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates if the rule always matches.",
								"datatype": "boolean"
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.IEEE1905Security.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object describes the IEEE 1905 security capabilities.",
							"uniqueKeys": [
								"OnboardingProtocol"
							],
							"access": false,
							"array": true,
							"OnboardingProtocol": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Onboarding protocols supported; :0: 1905 Device Provisioning Protocol as defined in the EasyMesh <<bibref|EasyMesh>> 1905 Layer Security Capability TLV.",
								"datatype": "unsignedInt"
							},
							"IntegrityAlgorithm": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Message integrity algorithms supported. : 0: HMAC-SHA256.",
								"datatype": "unsignedInt"
							},
							"EncryptionAlgorithm": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Message encryption algorithms supported. : 0: AES-SIV.",
								"datatype": "unsignedInt"
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.AnticipatedChannels.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object contains a table of Wi-Fi 6 <<bibref|802.11ax>> operating classes, and channels within those operating classes, which have anticipated channel preference. Operating Class contains an enumerated value from <<bibref|802.11ax|Table E-4>>>.",
							"uniqueKeys": [
								"OpClass"
							],
							"access": false,
							"array": true,
							"OpClass": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Operating Class per <<bibref|802.11ax|Table E-4>>. Note that the operating class identifies the band and channel width.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"ChannelList": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> The channel numbers in this Operating Class which have anticipated channel preference.",
								"list": {
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								}
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.AnticipatedChannelUsage.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object reports Wi-Fi 6 <<bibref|802.11ax>> anticipated medium usage on channels (and subsets of those channels) on which the device is operating.",
							"uniqueKeys": [
								"OpClass"
							],
							"access": false,
							"array": true,
							"OpClass": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The operating class per <<bibref|802.11ax|Table E-4>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"Channel": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The channel number in the given operating class of the channel on which the anticipated channel usage is reported.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"ReferenceBSSID": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Reference BSSID. Start Time values in this object are referenced to the Time Sync Function (TSF) timer value indicated in the Timestamp field in Beacon frames transmitted by this BSSID on the channel.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"EntryNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"Device.WiFi.DataElements.Network.Device.{i}.AnticipatedChannelUsage.{i}.Entry.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object reports an entry for anticipated channel usage <<bibref|802.11ax>>.",
								"uniqueKeys": [
									"BurstStartTime"
								],
								"access": false,
								"array": true,
								"BurstStartTime": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Least significant 4 octets of the TSF timer of the Reference BSSID, at the start of the anticipated first burst of channel usage. Note: a burst is a continuous or quasi-continuous period of channel usage. For IEEE 802.11 transmissions, a burst might comprise only one PPDU, or multiple closely spaced PPDUs.",
									"datatype": "hexBinary",
									"range": [
										{
											"min": 4,
											"max": 4
										}
									]
								},
								"BurstLength": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Duration of each burst of channel usage in <<units>>.",
									"datatype": "unsignedInt",
									"unit": "microseconds"
								},
								"Repetitions": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Number of repetitions of the burst of channel usage; : 0 = single burst, : 2^32^-1 = indefinite/unknown.",
									"datatype": "unsignedInt"
								},
								"BurstInterval": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Interval between two successive bursts of channel usage in <<units>>; set to zero if <<param|Repetitions>> is zero.",
									"datatype": "unsignedInt",
									"unit": "microseconds"
								},
								"RUBitmask": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Bitmask of 26-tone Resource Units (RUs) defined in <<bibref|802.11ax|Section 27.3.2.2>>, where the (i-1)th bit position is set to one if the nominal bandwidth of the channel usage corresponding to this entry fully or partially overlaps with the RUi, and is otherwise set to zero.",
									"datatype": "hexBinary",
									"range": [
										{
											"min": 2,
											"max": 10
										}
									]
								},
								"TransmitterIdentifier": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "One of: : MAC address: if the entry corresponds to channel usage by a single client STA associated to the BSS of the Agent; : BSSID: if the entry corresponds to channel usage by multiple or unspecified client STAs associated to the BSS of the Agent; : BSS Color: (first 42-bits are zero) if the channel usage is caused by a source external to the BSSs operated by the Agent and the BSSID cannot be decoded (since frame sent at high MCS) but the BSS Color in the PHY headers could still be identified; : Zero: if the channel usage is caused by a source external to the BSSs operated by the Agent.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"PowerLevel": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates maximum transmit power during each channel usage burst in <<units>>; equal to 255 when unknown or when the entry corresponds to multiple transmitters with different transmit powers",
									"datatype": "int",
									"unit": "dBm"
								},
								"ChannelUsageReason": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The reason for this anticipated channel usage. Enumeration of: TWT_schedule, TSPEC, Scheduler_policy, IEEE_802.11, Non_IEEE_802.11, BSS_non_usage.",
									"datatype": "string",
									"enumerations": [
										"TWT_schedule",
										"TSPEC",
										"Scheduler_policy",
										"IEEE_802.11",
										"Non_IEEE_802.11",
										"BSS_non_usage"
									]
								}
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.BackhaulDown.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object identifies EasyMesh Agents and their interfaces that are downstream of this EasyMesh Agent and have backhaul to this EasyMesh Agent.",
							"uniqueKeys": [
								"BackhaulDownALID"
							],
							"access": false,
							"array": true,
							"BackhaulDownALID": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The IEEE 1905 <<bibref|IEEE1905.1a>> Abstraction-Layer ID (ALID) of the EasyMesh Agent on the network that is downstream of this EasyMesh Agent and has backhaul to this EasyMesh Agent.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"BackhaulDownMACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "MAC address of the EasyMesh Agents interface that is downstream of this EasyMesh Agent and has backhaul to this EasyMesh Agent.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.AFCAvailableSpectrum.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object contains the Available Spectrum Inquiry request and response message defined by <<bibref|EasyMesh|Section 8.2.5>>. This provides information of 6 GHz spectrum availability as determined by an Automated Frequency Coordination (AFC) system <<bibref|AFCSDI>>.",
							"access": false,
							"array": false,
							"AFCAvailableSpectrumInquiryRequest": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "One JSON encoded AvailableSpectrumInquiryRequestMessage object as defined in <<bibref|EasyMesh|Section 8.2.5 and Section 17.2.104 Available Spectrum Inquiry Request TLV>>.",
								"datatype": "string"
							},
							"AFCAvailableSpectrumInquiryResponse": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "One JSON encoded AvailableSpectrumInquiryResponseMessage object as defined in <<bibref|EasyMesh|Section 8.2.5 and Section 17.2.105 Available Spectrum Inquiry Response TLV>>.",
								"datatype": "string"
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents an individual Access Point device.",
							"access": false,
							"array": false,
							"ManufacturerOUI": {
								"type": "string",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Organizationally unique identifier of the Access Point device manufacturer. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. <<pattern>> The value MUST be a valid OUI as defined in <<bibref|OUI>>. This value MUST remain fixed over the lifetime of the device, including across firmware updates. If the instance of this <<object>> is the same as <<object|Device.>>, then this parameter is the same as <<param|Device.DeviceInfo.ManufacturerOUI>>. <<deprecated|2.18|because it was essentially the same as <<param|#.Manufacturer>>.>>",
								"datatype": "string",
								"range": [
									{
										"min": 6,
										"max": 6
									}
								],
								"pattern": [
									"[0-9A-F]{6}"
								]
							},
							"LastContactTime": {
								"type": "dateTime",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The last time that the Access Point device was contacted via the Multi-AP control protocol.",
								"datatype": "dateTime"
							},
							"AssocIEEE1905DeviceRef": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<param>> is a reference to the IEEE 1905.1 Network Topology Device. Since IEEE 1905.1 is a common protocol used by Multi-AP Controllers for communications, this parameter allows the MultiAP portion of the data model to reference the associated IEEE 1905.1 portion of the data model.",
								"datatype": "string"
							},
							"EasyMeshControllerOperationMode": {
								"type": "string",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This parameter represents the status of Wi-Fi CERTIFIED EasyMeshTM controller functionality. Enumeration of: NotSupported, SupportedNotEnabled, Running. <<deprecated|2.18|because it was the same as <<param|#.ControllerOperationMode>>.>>",
								"datatype": "string",
								"enumerations": [
									"NotSupported",
									"SupportedNotEnabled",
									"Running"
								]
							},
							"EasyMeshAgentOperationMode": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This parameter represents the status of Wi-Fi CERTIFIED EasyMeshTM agent functionality. Enumeration of: NotSupported, SupportedNotEnabled, Running.",
								"datatype": "string",
								"enumerations": [
									"NotSupported",
									"SupportedNotEnabled",
									"Running"
								]
							},
							"Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice.Backhaul.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object represents an individual Access Point devices Backhaul and unique aspects in the Wi-Fi network. The endpoints of the backhaul interface are represented by the (Devices ID and interface MAC Address). This object represents the upward view of the backhaul interface. The two endpoints of the backhaul interface are - (<<param|BackhaulDeviceID|deprecated>>, <<param|BackhaulMACAddress|deprecated>>) of the uplinked Backhaul Device - <<param|MACAddress|deprecated>> of this Access Point Device. <<empty>> is reserved for the <<object>> instance that represents the Multi-AP Controller.",
								"access": false,
								"array": false,
								"LinkType": {
									"type": "string",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The medium being used to backhaul this Access Point Device to the Backhaul Access Point Device. The <<enum|None>> value is reserved for the <<object>> instance that represents the Multi-AP Controller. Enumeration of: None, Wi-Fi, MoCA, Ethernet, G.hn, HPNA, HomePlug, UPA. <<deprecated|2.18|because it was essentially the same as <<param|##.BackhaulMediaType>>.>>",
									"datatype": "string",
									"enumerations": [
										"None",
										"Wi-Fi",
										"MoCA",
										"Ethernet",
										"G.hn",
										"HPNA",
										"HomePlug",
										"UPA"
									]
								},
								"BackhaulMACAddress": {
									"type": "string",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The MAC Address at the far end of the backhaul link of the interface on the network that is providing a backhaul for this Access Point Device. This along with <<param|BackhaulDeviceID|deprecated>>, helps to identify the backhaul interface endpoint. <<empty>> is reserved for the <<object>> instance that represents the Multi-AP Controller. <<deprecated|2.18|because it was the same as <<param|##.BackhaulMACAddress>>.>>",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"BackhaulDeviceID": {
									"type": "string",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Devices ID of the Device on the network that is providing a Backhaul Link for this Access Point Device. <<deprecated|2.18|because it was essentially the same as <<param|##.BackhaulALID>>.>>",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"MACAddress": {
									"type": "string",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The MAC Address at the near end of the backhaul link of this Access Point Devices backhaul interface that is connecting via <<param|##.BackhaulMediaType>> to <<param|BackhaulMACAddress>> of the Backhaul Device identified by <<param|BackhaulDeviceID>>. <<deprecated|2.18|because it was the same as <<param|##.Radio.<i>.BackhaulSta.MACAddress>>.>>",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"CurrentOperatingClassProfileNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"SteerWiFiBackhaul()": {
									"type": "command",
									"async": true,
									"protocols": [
										"usp"
									],
									"input": {
										"TargetBSS": {
											"type": "string",
											"read": true,
											"write": true,
											"mandatory": true,
											"protocols": [
												"usp"
											],
											"description": "Basic Service Set Identifier (BSSID) of the target BSS which the associated device(s) is to be associated to.",
											"datatype": "MACAddress",
											"range": [
												{
													"max": 17
												}
											],
											"pattern": [
												"",
												"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
											]
										},
										"Channel": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "The number of the Wi-Fi channel the backhaul BSS is to be associated to. If <<param>> is not specified, then the radio is to determine which channel to use to associate to the requested <<param|TargetBSS>>.",
											"datatype": "unsignedInt"
										},
										"TimeOut": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"mandatory": true,
											"protocols": [
												"usp"
											],
											"description": "The maximum timeout for this backhaul steering to occur in <<units>>.",
											"datatype": "unsignedInt",
											"unit": "milliseconds"
										}
									},
									"output": {
										"Status": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates the response to the Wi-Fi backhaul steering request. Enumeration of: Success, Error_Not_Ready, Error_Timeout, Error_Invalid_Input, Error_Interface_Down, Error_Other.",
											"datatype": "string",
											"enumerations": [
												"Success",
												"Error_Not_Ready",
												"Error_Timeout",
												"Error_Invalid_Input",
												"Error_Interface_Down",
												"Error_Other"
											]
										}
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice.Backhaul.CurrentOperatingClassProfile.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Describes one of the current Operating Classes in use by this Radio. One Opeating Class is indicated for each current Operating Channel Bandwidth. The Channel indicated for the 20 MHz Operating Class is equal to the current primary channel.",
									"uniqueKeys": [
										"Class"
									],
									"access": false,
									"array": true,
									"Class": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The Operating Class per <<bibref|802.11ax|Table E-4>> that this radio is currently operating on.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"Channel": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This Channel number in the Operating Class that this Radio is currently operating on.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"TxPower": {
										"type": "int",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Nominal Transmit Power EIRP that this radio is currently using for the current Channel in the Opeating Class. Represented as 2s complement signed integer in units of decibels relative to 1 mW (<<units>>).",
										"datatype": "int",
										"range": [
											{
												"min": -127,
												"max": 127
											}
										],
										"unit": "dBm"
									},
									"TimeStamp": {
										"type": "dateTime",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The time this group was collected.",
										"datatype": "dateTime"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice.Backhaul.Stats.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object represents the statistics of the backhaul interface view from the current Devices ID",
									"access": false,
									"array": false,
									"BytesSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of bytes transmitted across the backhaul medium (as identified by the value of the <<param|###.BackhaulMediaType>>>> parameter), including framing characters.",
										"datatype": "StatsCounter64"
									},
									"BytesReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of bytes received across the backhaul medium (as identified by the value of the <<param|###.BackhaulMediaType>> parameter), including framing characters.",
										"datatype": "StatsCounter64"
									},
									"PacketsSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of packets transmitted across the backhaul medium (as identified by the value of the <<param|###.BackhaulMediaType>> parameter), including framing characters.",
										"datatype": "StatsCounter64"
									},
									"PacketsReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of packets received across the backhaul medium (as identified by the value of the <<param|###.BackhaulMediaType>> parameter), including framing characters.",
										"datatype": "StatsCounter64"
									},
									"ErrorsSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of outbound packets that could not be transmitted because of errors.",
										"datatype": "StatsCounter64"
									},
									"ErrorsReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol.",
										"datatype": "StatsCounter64"
									},
									"LinkUtilization": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Current utilization (expressed in <<units>>) of the medium (as identified by the value of the <<param|###.BackhaulMediaType>> parameter) being used to backhaul this Access Point device to the Multi-AP Controller. A value of 0 is used for the <<object>> instance that represents the Access Point on the Multi-AP Controller.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 100
											}
										],
										"unit": "%"
									},
									"SignalStrength": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "An indicator of radio signal strength of the backhaul link of the Access Point (AP) to the Multi-AP Controller, measured in <<units>>. RCPI is encoded per <<bibref|802.11-2020|Table 9-176>>. The value of this parameter is indeterminate if the value of the <<param|###.BackhaulMediaType>> parameter is anything other than a type of IEEE 802.11 Wi-Fi.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										],
										"unit": "dBm"
									},
									"LastDataDownlinkRate": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the access point to the associated device.",
										"datatype": "unsignedInt",
										"unit": "kbps"
									},
									"LastDataUplinkRate": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the associated device to the access point.",
										"datatype": "unsignedInt",
										"unit": "kbps"
									},
									"TimeStamp": {
										"type": "dateTime",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The time this group was collected.",
										"datatype": "dateTime"
									}
								}
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents all of the individual Radios contained within the identified Access Point device known to the controller.",
							"uniqueKeys": [
								"ID"
							],
							"access": false,
							"array": true,
							"ID": {
								"type": "base64",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A unique identifier for this particular Radio within the identified Access Point as defined in <<bibref|DataElements|Section 3.1>>.",
								"datatype": "base64",
								"range": [
									{
										"min": 6,
										"max": 6
									}
								]
							},
							"Enabled": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates whether this radio is enabled or disabled. If the instance of this <<object>> is the same as <<object|Device.WiFi.Radio.<i>.>>, then this parameter is the same as <<param|Device.WiFi.Radio.<i>.Enable>>.",
								"datatype": "boolean"
							},
							"Noise": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "An indicator of the average radio noise plus interference power measured for the primary operating channel. Encoded as defined for ANPI in <<bibref|802.11-2020|Section 11.10.9.4>>. If the instance of this <<object>> is the same as <<object|Device.WiFi.Radio.<i>.>>, then this parameter is the same as <<param|Device.WiFi.Radio.<i>.Stats.Noise>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"Utilization": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "(Total Channel Utililzation) The percentage of time (linearly scaled with 255 representing 100%) that the Access Point device sensed the medium was busy, as indicated by either the physical or virtual carier sense (CS) mechanism. This is essentially the amount of time spent transmitting (both successful and failed transmissions), receiving (both local and non-local transmissions), and processing noise <<bibref|802.11-2020|Section 9.4.2.27>>. When more than one channel is in use for the BSS operating on the radio, the <<param>> value is calculated only for the primary channel.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 255
									}
								]
							},
							"Transmit": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "(Transmit Channel Utilization) The percentage of time (linearly scaled with 255 representing 100%) that the radio has spent on sending individually or group addressed transmissions (successful and failed). When more than one channel is in use for the BSS operating on the radio, the <<param>> value is calculated only for the primary channel.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 255
									}
								]
							},
							"ReceiveSelf": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "(Receive Local Channel Utilization) The percentage of time (linearly scaled with 255 representing 100%) that the radio has spent on receiving individually or group addressed local transmissions (i.e. transmissions from any STA associated with any BSS operating on this radio). When more than one channel is in use for the BSS operating on the radio, the <<param>> value is calculated only for the primary channel.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"ReceiveOther": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "(Receive Non-Local Channel Utilization) The percentage of time (linearly scaled with 255 representing 100%) that the radio has spent on receiving individually or group addressed non-local transmissions (i.e. valid IEEE 802.11 PPDUs that are not associated with any BSS operating on this radio). When more than one channel is in use for the BSS operating on the radio, the <<param>> value is calculated only for the primary channel.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 255
									}
								]
							},
							"TrafficSeparationCombinedFronthaul": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates traffic separation on combined fronthaul and Profile-1 backhaul support <<bibref|EasyMesh>>.",
								"datatype": "boolean"
							},
							"TrafficSeparationCombinedBackhaul": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates traffic separation on combined Profile-1 backhaul and Profile-2 backhaul support <<bibref|EasyMesh>>.",
								"datatype": "boolean"
							},
							"SteeringPolicy": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Steering Policy: : 0: Agent Initiated Steering Disallowed; : 1: Agent Initiated Receive Channel Power Indicator (RCPI)-based Steering Mandated; : 2: Agent Initiated RCPI-based Steering Allowed.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 2
									}
								]
							},
							"ChannelUtilizationThreshold": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Channel Utilization Threshold (defined per Basic Service Set (BSS) Load element <<bibref|802.11-2020|Section 9.4.2.27>>.).",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"RCPISteeringThreshold": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "RCPI Steering Threshold (encoded per <<bibref|802.11-2020|Table 9-176>>).",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 220
									}
								]
							},
							"STAReportingRCPIThreshold": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Station (STA) Metrics Reporting RCPI Threshold. : 0: Do not report STA Metrics based on RCPI threshold. : 1 - 220: RCPI threshold (encoded per <<bibref|802.11-2020|Table 9-176>>).",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 220
									}
								]
							},
							"STAReportingRCPIHysteresisMarginOverride": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "STA Metrics Reporting RCPI Hysteresis Margin Override. : 0: Use Agents implementation-specific default RCPI Hysteresis margin; : >0: RCPI hysteresis margin value. This field is coded as an unsigned integer in units of <<units>>.",
								"datatype": "unsignedInt",
								"unit": "decibels (dB)"
							},
							"ChannelUtilizationReportingThreshold": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "AP Metrics Channel Utilization Reporting Threshold. : 0: Do not report AP Metrics based on Channel utilization threshold; : >0: AP Metrics Channel Utilization Reporting Threshold (similar to channel utilization measurement in <<bibref|802.11-2020|Section 9.4.2.27>>).",
								"datatype": "unsignedInt"
							},
							"AssociatedSTATrafficStatsInclusionPolicy": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Associated STA Traffic Stats Inclusion Policy. : <<true>>: Include Associated STA Traffic Stats TLV in AP Metrics Response. : <<false>>: Do not include Associated STA Traffic Stats Type-Length-Value (TLV) in AP Metrics Response;",
								"datatype": "boolean"
							},
							"AssociatedSTALinkMetricsInclusionPolicy": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Associated STA Link Metrics Inclusion Policy. : <<true>>: Include Associated STA Link Metrics TLV in AP Metrics Response. : <<false>>: Do not include Associated STA Link Metrics TLV in AP Metrics Response;",
								"datatype": "boolean"
							},
							"ChipsetVendor": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A string identifying the Wi-Fi chip vendor of this radio in the device.",
								"datatype": "string"
							},
							"APMetricsWiFi6": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Associated Wi-Fi6 STA Status Inclusion Policy. : <<true>>: include Associated Wi-Fi6 STA Status TLV in AP Metrics Response. : <<false>>: do not include Associated Wi-Fi6 STA Status TLV [3] in AP Metrics Response.",
								"datatype": "boolean"
							},
							"MaxBSS": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Maximum number of BSSs supported by this radio. <<bibref|EasyMesh|Section 17.2.7, AP Radio Basic Capabilities TLV>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"CurrentOperatingClassProfileNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"UnassociatedSTANumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"BSSNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"ScanResultNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"DisAllowedOpClassChannelsNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"OpClassPreferenceNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"ChannelScanRequest()": {
								"type": "command",
								"async": true,
								"protocols": [
									"usp"
								],
								"input": {
									"OpClass": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The Operating Class per <<bibref|802.11ax|Table E-4>>. For 2.4GHz and 5GHz bands, only 20MHz Operating Classes are valid. If this input is not provided, then all available opclasses and channels are to be scanned. Note that the operating class identifies the band, and channel width.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"ChannelList": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The channel numbers in this Operating Class for which the request to initiate a channel scan applies.",
										"list": {
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										}
									},
									"ScanType": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "Indicates the type of scan to perform. If this is omitted, or is not supported by the device, then it should be ignored. Enumeration of: Interrupt_Radio, Time_Sliced, Spatial_Stream, Unused_Radio.",
										"datatype": "string",
										"enumerations": [
											"Interrupt_Radio",
											"Time_Sliced",
											"Spatial_Stream",
											"Unused_Radio"
										]
									},
									"DwellTime": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The duration of the time to scan each channel in <<units>>. A value of 50 <<units>> is suggested. If this is omitted, or is not supported by the device, then it should be ignored.",
										"datatype": "unsignedInt",
										"unit": "milliseconds"
									},
									"DFSDwellTime": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The duration of time to scan each Dynamic Frequency Selection (DFS) channel in <<units>>. Note that this is the time to scan the channel, and is not the time to perform DFS. A value of at least one beacon interval, typically 100 <<units>>, is suggested. If this is omitted, or is not supported by the device, then it should be ignored.",
										"datatype": "unsignedInt",
										"unit": "milliseconds"
									},
									"HomeTime": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The time in <<units>> after which the driver has to go back to the original channel before scanning the next channel to avoid disruption. If this is omitted, or is not supported by the device, then it should be ignored.",
										"datatype": "unsignedInt",
										"unit": "milliseconds"
									}
								},
								"output": {
									"Status": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "Indicates the type of outcome of the request to initiate a channel scan. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
										"datatype": "string",
										"enumerations": [
											"Success",
											"Error_Invalid_Input",
											"Error_Timeout",
											"Error_Other"
										]
									}
								}
							},
							"RadioEnable()": {
								"type": "command",
								"async": true,
								"protocols": [
									"usp"
								],
								"input": {
									"Enable": {
										"type": "boolean",
										"read": true,
										"write": true,
										"mandatory": true,
										"protocols": [
											"usp"
										],
										"description": ": <<true>>: this radio is to be enabled. : <<false>>: this radio is to be disabled.",
										"datatype": "boolean"
									}
								},
								"output": {
									"Status": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "Indicates the type of outcome of the request to enable or disable this radio. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
										"datatype": "string",
										"enumerations": [
											"Success",
											"Error_Invalid_Input",
											"Error_Timeout",
											"Error_Other"
										]
									}
								}
							},
							"SetTxPowerLimit()": {
								"type": "command",
								"async": true,
								"protocols": [
									"usp"
								],
								"input": {
									"TransmitPowerLimit": {
										"type": "int",
										"read": true,
										"write": true,
										"mandatory": true,
										"protocols": [
											"usp"
										],
										"description": "This is the upper limit on nominal transmit Equivalent Isotropically Radiated Power (EIRP) that this radio can use for the <<param|OperatingClass>>. In units of decibels relative to 1 mW <<units>>.",
										"datatype": "int",
										"range": [
											{
												"min": -128,
												"max": 127
											}
										],
										"unit": "dBm"
									},
									"OperatingClass": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"mandatory": true,
										"protocols": [
											"usp"
										],
										"description": "The Operating Class per <<bibref|802.11ax|Table E-4>> of the radio. Note that the Operating Class identifies the band and channel width.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									}
								},
								"output": {
									"Status": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "Indicates the type of outcome of the request to set a transmit power limit. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
										"datatype": "string",
										"enumerations": [
											"Success",
											"Error_Invalid_Input",
											"Error_Timeout",
											"Error_Other"
										]
									}
								}
							},
							"SetSpatialReuse()": {
								"type": "command",
								"async": true,
								"protocols": [
									"usp"
								],
								"input": {
									"BSSColor": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The value of the BSS Color subfield of the HEOperations.BSSColorInformation field being transmitted by BSSs operating on this radio. (EasyMesh TLV Field: BSS Color)",
										"datatype": "unsignedInt"
									},
									"HESIGASpatialReuseValue15Allowed": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "Indicates if the Agent is allowed to set HESIGA.SpatialReuse field to value 15 (PSR_AND_NON_SRG_OBSS_PD_PROHIBITED) in HE PPDU transmissions of this radio. (EasyMesh TLV Field: HESIGA_Spatial_reuse_value15_allowed) : <<true>>: allowed; : <<false>>: disallowed.",
										"datatype": "boolean"
									},
									"SRGInformationValid": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "This field indicates whether the SRG Information fields (SRG OBSS PD Min Offset, SRG OBSS PD Max Offset, SRG BSS Color Bitmap and SRG Partial BSSID Bitmap) in this command are valid. (EasyMesh TLV Field: SRG Information Valid) : <<true>>: SRG Information fields valid; : <<false>>: SRG Information fields not valid.",
										"datatype": "boolean"
									},
									"NonSRGOffsetValid": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "This field indicates whether the Non-SRG OBSSPD Max Offset field in this command is valid. (EasyMesh TLV Field: Non-SRG Offset Valid) : <<true>>: Non-SRG Max Offset field valid; : <<false>>: Non-SRG Max Offset field not valid.",
										"datatype": "boolean"
									},
									"PSRDisallowed": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "Indicates if the Agent is disallowed to use Parameterized Spatial Reuse (PSR)-based Spatial Reuse for transmissions by the specified radio. (EasyMesh TLV Field: PSR Disallowed) : <<true>>: PSR disallowed; : <<false>>: PSR allowed.",
										"datatype": "boolean"
									},
									"NonSRGOBSSPDMaxOffset": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The value of dot11NonSRGAPOBSSPDMaxOffset (i.e the Non-SRG OBSSPD Max Offset value being used to control the transmissions of the specified radio). (EasyMesh TLV Field: Non-SRG OBSSPD Max Offset) This field is valid only if <<param|NonSRGOffsetValid>> is <<true>>.",
										"datatype": "unsignedInt"
									},
									"SRGOBSSPDMinOffset": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The value of dot11SRGAPOBSSPDMinOffset (i.e. the SRG OBSSPD Min Offset value being used to control the transmissions of the specified radio). (EasyMesh TLV Field: SRG OBSSPD Min Offset) This field is valid only if <<param|SRGInformationValid>> is <<true>>.",
										"datatype": "unsignedInt"
									},
									"SRGOBSSPDMaxOffset": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The value of dot11SRGAPOBSSPDMaxOffset (i.e. the SRG OBSSPD Max Offset value being used to control the transmissions of the specified radio). (EasyMesh TLV Field: SRG OBSSPD Max Offset) This field is valid only if <<param|SRGInformationValid>> is <<true>>.",
										"datatype": "unsignedInt"
									},
									"SRGBSSColorBitmap": {
										"type": "hexBinary",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The value of dot11SRGAPBSSColorBitmap (i.e. the SRG BSS Color Bitmap being used to control the tranmissions of the specified radio). (EasyMesh TLV Field: SRG BSS Color Bitmap) This field is valid only if <<param|SRGInformationValid>> is <<true>>.",
										"datatype": "hexBinary",
										"range": [
											{
												"min": 8,
												"max": 8
											}
										]
									},
									"SRGPartialBSSIDBitmap": {
										"type": "hexBinary",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "The value of dot11SRGAPBSSIDBitmap (i.e. the SRG Partial BSSID Color Bitmap being used to control the transmissions of the specified radio). (EasyMesh TLV Field: SRG Partial BSSID Bitmap) This field is valid only if <<param|SRGInformationValid>> is <<true>>. Note: See rules in section 26.10.2.3 of [17] regarding the members of an SRG.",
										"datatype": "hexBinary",
										"range": [
											{
												"min": 8,
												"max": 8
											}
										]
									}
								},
								"output": {
									"Status": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "Indicates the type of outcome of the request to set the spatial reuse configuration of this radio. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
										"datatype": "string",
										"enumerations": [
											"Success",
											"Error_Invalid_Input",
											"Error_Timeout",
											"Error_Other"
										]
									}
								}
							},
							"WiFiRestart()": {
								"type": "command",
								"async": true,
								"protocols": [
									"usp"
								],
								"output": {
									"Status": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "Indicates the type of outcome of the request to restart the Wi-Fi subsystem. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
										"datatype": "string",
										"enumerations": [
											"Success",
											"Error_Invalid_Input",
											"Error_Timeout",
											"Error_Other"
										]
									}
								}
							},
							"ChannelSelectionRequest()": {
								"type": "command",
								"async": true,
								"protocols": [
									"usp"
								],
								"input": {},
								"output": {
									"Status": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"usp"
										],
										"description": "Indicates the type of outcome of this command to send an AP Metrics Query Message. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
										"datatype": "string",
										"enumerations": [
											"Success",
											"Error_Invalid_Input",
											"Error_Timeout",
											"Error_Other"
										]
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The list of neighboring Access Points discovered by a Radio organized per Operating Class and Channel tuple.",
								"access": false,
								"array": true,
								"TimeStamp": {
									"type": "dateTime",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The timestamp of the last scan. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
									"datatype": "dateTime"
								},
								"AggregateScanDuration": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total time spent performing the scan of this channel in <<units>>.",
									"datatype": "unsignedInt",
									"unit": "milliseconds"
								},
								"ScanType": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates whether the scan was performed passively (false) or with active probing (true).",
									"datatype": "boolean"
								},
								"OpClassScanNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Operating Class of neighboring Access Points discovered by a Radio during a channel scan.",
									"uniqueKeys": [
										"OperatingClass"
									],
									"access": false,
									"array": true,
									"OperatingClass": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The Operating Class per <<bibref|802.11ax|Table E-4>> of the OpClass and Channel tuple scanned by the Radio. For 2.4GHz and 5GHz bands, only 20MHz Operating Classes are valid. Note that the Operating Class identifies the band and channel width.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"ChannelScanNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The Channel associated with an Operating Class of neighboring Access Points discovered by a Radio during a channel scan.",
										"uniqueKeys": [
											"Channel"
										],
										"access": false,
										"array": true,
										"Channel": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The channel number of the Channel scanned by the Radio given the Operating Class.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"TimeStamp": {
											"type": "dateTime",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The timestamp of the last scan of the channel. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
											"datatype": "dateTime"
										},
										"Utilization": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The current Channel Utilization measured by the Radio on the scanned 20MHz channel, as defined by <<bibref|802.11-2020|Section 9.4.2.27>>.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"Noise": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "An indicator of the average radio noise plus interference power measured for the primary operating channel. Encoded as defined for ANPI in <<bibref|802.11-2020|Section 11.10.9.4>>.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"ScanStatus": {
											"type": "string",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Status code to indicate whether a scan has been performed and if not the reason for failure Enumeration of: 0, 1, 2, 3, 4, 5, 6, 7.",
											"datatype": "string",
											"enumerations": [
												"0",
												"1",
												"2",
												"3",
												"4",
												"5",
												"6",
												"7"
											]
										},
										"NeighborBSSNumberOfEntries": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "<<numentries>>",
											"datatype": "unsignedInt"
										},
										"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}.": {
											"type": "object",
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The neighboring BSS discovered by a Radio during a channel scan. For MLDs, <<param|MLDMACAddress>> identifies the APMLD for which this NeighborBSS.<i>. is an affilated AP, other affiliated APs in this <<object>> have the same value of <<param|MLDMACAddress>>.",
											"uniqueKeys": [
												"BSSID"
											],
											"access": false,
											"array": true,
											"BSSID": {
												"type": "string",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The BSSID indicated by the neighboring BSS.",
												"datatype": "MACAddress",
												"range": [
													{
														"max": 17
													}
												],
												"pattern": [
													"",
													"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
												]
											},
											"SSID": {
												"type": "string",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The SSID indicated by the neighboring BSS.",
												"datatype": "string"
											},
											"SignalStrength": {
												"type": "unsignedInt",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "An indicator of radio signal strength (RSSI) of the Beacon or Probe Response frames of the neighboring BSS as received by the radio measured in <<units>>. (RSSI is encoded per <<bibref|802.11-2020|Table 9-176>>). Reserved: 221 - 255.",
												"datatype": "unsignedInt",
												"range": [
													{
														"max": 255
													}
												],
												"unit": "dBm"
											},
											"ChannelBandwidth": {
												"type": "string",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Indicates the maximum bandwidth at which the neighboring BSS is operating. e.g. 1 or 2 or 4 or 8\u201d or 16 or 20 or 40 or 80 or 80+80 or 160 or 320 MHz.",
												"datatype": "string"
											},
											"ChannelUtilization": {
												"type": "unsignedInt",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The channel utilization reported by the neighboring BSS per the BSS Load element if present in Beacon or Probe Response frames, as defined by <<bibref|802.11-2020|Section 9.4.2.27>>.",
												"datatype": "unsignedInt",
												"range": [
													{
														"max": 255
													}
												]
											},
											"StationCount": {
												"type": "unsignedInt",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The number of Associated Devices (STA) reported by this neighboring BSS per the BSS Load element if present in Beacon or Probe Response frames as defined by <<bibref|802.11-2020|Section 9.4.2.27>>.",
												"datatype": "unsignedInt"
											},
											"MLDMACAddress": {
												"type": "string",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The Multi-Link Device (MLD) MAC address of the Multi-Link Operation (MLO) capable access point this neighboring BSS is affiliated to. Null if the neighboring BSS is not an affiliated AP.",
												"datatype": "MACAddress",
												"range": [
													{
														"max": 17
													}
												],
												"pattern": [
													"",
													"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
												]
											},
											"ReportingBSSID": {
												"type": "string",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The BSSID of the reporting BSSID if different from <<param|BSSID>>. This will be set if the NeigborBSS was discovered through, for example, a Reduced Neighbor Report. EasyMesh <<bibref|EasyMesh>> source: Channel Scan Result TLV.",
												"datatype": "MACAddress",
												"range": [
													{
														"max": 17
													}
												],
												"pattern": [
													"",
													"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
												]
											},
											"MultiBSSID": {
												"type": "boolean",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Indicates if the neighboring BSS is part of a MultiBSSID set and may be a non-transmitted BSSID.",
												"datatype": "boolean"
											},
											"BSSLoadElementPresent": {
												"type": "boolean",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Set to true if the neighbour BSS Beacon/Probe Responses include a BSSLoad Element as defined in <<bibref|802.11-2020|Section 9.4.2.28>>.",
												"datatype": "boolean"
											},
											"BSSColor": {
												"type": "unsignedInt",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Set to the BSS Color from the BSS Color Information field in the BSSs HE Operation element.",
												"datatype": "unsignedInt",
												"range": [
													{
														"max": 63
													}
												]
											}
										}
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BackhaulSta.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Contains the Medium Access Control (MAC) address of the STA on this radio providing Wi-Fi backhaul to this device.",
								"access": false,
								"array": false,
								"MACAddress": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The MAC address of the logical STA sharing the radio for Wi-Fi backhaul.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanCapability.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object describes the channel scan capabilities of a radio.",
								"access": false,
								"array": false,
								"OnBootOnly": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "On boot only flag, Indicates whether the specified radio is capable only of On boot scans.",
									"datatype": "boolean"
								},
								"Impact": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Scan Impact of using this radio to perform a scan. : 1: No impact, : 2: Reduced number of spatial streams, : 3: Time slicing impairment, : 4: Radio unavailable for >= 2 seconds.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 1,
											"max": 4
										}
									]
								},
								"MinimumInterval": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Minimum Scan Interval, the minimum interval in <<units>> between the start of two consecutive channel scans on this radio.",
									"datatype": "unsignedInt",
									"unit": "seconds"
								},
								"OpClassChannelsNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanCapability.OpClassChannels.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Table of the operating classes (selected from <<bibref|802.11ax|Table E-4>>) and channel numbers in each operating class that the radio is capable of scanning.",
									"uniqueKeys": [
										"OpClass"
									],
									"access": false,
									"array": true,
									"OpClass": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The Operating Class per <<bibref|802.11ax|Table E-4>> For 2.4GHz and 5GHz bands, only 20MHz Operating Classes are valid. Note that the operating class identifies the band and channel width.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"ChannelList": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<list>> The channel numbers in this Operating Class which the radio is capable of scanning.",
										"list": {
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										}
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CACCapability.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object describes the Channel Availability Check (CAC) capabilities of a radio.",
								"access": false,
								"array": false,
								"CACMethodNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CACCapability.CACMethod.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "List of Channel Availability Check (CAC) method information for each type of CAC that the radio can perform. Each type is defined by a method and time to complete. For each type, the classes and channels allowed are enumerated.",
									"uniqueKeys": [
										"Method"
									],
									"access": false,
									"array": true,
									"Method": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "CAC method supported; : 0: Continuous CAC, : 1: Continuous with dedicated radio, : 2: Multi-Input Multi-Output (MIMO) dimension reduced, : 3: Time sliced CAC.",
										"datatype": "unsignedInt"
									},
									"NumberOfSeconds": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of <<units>> required to complete this method of CAC.",
										"datatype": "unsignedInt",
										"unit": "seconds"
									},
									"OpClassChannelsNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CACCapability.CACMethod.{i}.OpClassChannels.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Table of the operating classes (selected from <<bibref|802.11ax|Table E-4>>) and channel numbers in each operating class supported for this method of CAC.",
										"uniqueKeys": [
											"OpClass"
										],
										"access": false,
										"array": true,
										"OpClass": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The Operating Class per <<bibref|802.11ax|Table E-4>>. Note that the operating class identifies the band and channel width.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"ChannelList": {
											"type": "string",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "<<list>> The channel numbers in this Operating Class that are supported for this method of CAC.",
											"list": {
												"datatype": "unsignedInt",
												"range": [
													{
														"max": 255
													}
												]
											}
										}
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object represents the capabilities of the radio which may be different from the current operational configuration.",
								"access": false,
								"array": false,
								"HTCapabilities": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Describes the HT capabilities of the radio as defined by the HTCapabilities TLV <<bibref|EasyMesh|Section 17.2.8>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 1,
											"max": 1
										}
									]
								},
								"VHTCapabilities": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Describes the VHT capabilities of the radio as defined by the VHTCapabilities TLV <<bibref|EasyMesh|Section 17.2.9>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 2,
											"max": 6
										}
									]
								},
								"HECapabilities": {
									"type": "base64",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Describes the HE capabilities of the radio as defined by the HECapabilities TLV <<bibref|EasyMesh|Section 17.2.10>>. <<deprecated|2.15|because it is superseded by <<object|WiFi6APRole>> and <<object|WiFi6bSTARole>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
									"datatype": "base64",
									"range": [
										{
											"min": 4,
											"max": 14
										}
									]
								},
								"MSCSCapability": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This parameter indicates support for Mirrored Stream Classification Service (MSCS) and EasyMesh configuration of MSCS <<bibref|EasyMesh|AP Radio Advanced Capabilities TLV>>.",
									"datatype": "boolean"
								},
								"SCSCapability": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This parameter indicates support for Stream Classification Service (SCS) and EasyMesh <<bibref|EasyMesh>> configuration of SCS <<bibref|EasyMesh|AP Radio Advanced Capabilities TLV>>.",
									"datatype": "boolean"
								},
								"QoSMapCapability": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This parameter indicates support for QoS Map <<bibref|EasyMesh|AP Radio Advanced Capabilities TLV>>.",
									"datatype": "boolean"
								},
								"DSCPPolicyCapability": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This parameter indicates support for DSCP Mapping Table TLV based DSCP-to-UP mapping and EasyMesh distribution of QoS Map elements to associated STAs <<bibref|EasyMesh|AP Radio Advanced Capabilities TLV>>.",
									"datatype": "boolean"
								},
								"SCSTrafficDescriptionCapability": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This parameter indicates support for QoS Management Stream Classification Service (SCS) Traffic Description and EasyMesh configuration of and/or extensions to SCS using traffic descriptions <<bibref|EasyMesh|AP Radio Advanced Capabilities TLV>>.",
									"datatype": "boolean"
								},
								"CapableOperatingClassProfileNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"AKMFrontHaulNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"AKMBackhaulNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi6APRole.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Describes the Wi-Fi 6 capabilities for the AP role.",
									"access": false,
									"array": false,
									"HE160": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for High Efficiency (HE) 160 MHz.",
										"datatype": "boolean"
									},
									"HE8080": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for HE 80+80 MHz.",
										"datatype": "boolean"
									},
									"MCSNSS": {
										"type": "base64",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Supported High Efficiency-Modulation and Coding Scheme (HE-MCS) and Number of Spatial Streams (NSS) Set field as defined in <<bibref|802.11ax|Figure 9-788d>> Supported HE-MCS And NSS Set field format. HE-MCS And NSS Set field for 160MHz is present if 160MHz is supported. HE-MCS And NSS Set field for 80+80MHz is present if 80+80MHz is supported.",
										"datatype": "base64",
										"range": [
											{
												"min": 4,
												"max": 12
											}
										]
									},
									"SUBeamformer": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Single-User (SU) Beamformer.",
										"datatype": "boolean"
									},
									"SUBeamformee": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for SU Beamformee.",
										"datatype": "boolean"
									},
									"MUBeamformer": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Multi-User (MU) Beamformer.",
										"datatype": "boolean"
									},
									"Beamformee80orLess": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Beamformee Space-Time Stream (STS) \u2264 80 MHz.",
										"datatype": "boolean"
									},
									"BeamformeeAbove80": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Beamformee STS > 80 MHz.",
										"datatype": "boolean"
									},
									"ULMUMIMO": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Uplink (UL) Multi-User Multiple Input, Multiple Output (MU-MIMO).",
										"datatype": "boolean"
									},
									"ULOFDMA": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for UL Orthogonal Frequency Division Multiplexing (OFDMA).",
										"datatype": "boolean"
									},
									"DLOFDMA": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Downlink (DL) Orthogonal Frequency Division Multiplexing (OFDMA).",
										"datatype": "boolean"
									},
									"MaxDLMUMIMO": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Max number of users supported per DL MU-MIMO Transmitter (TX) in the BSS role.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"MaxULMUMIMO": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Max number of users supported per UL MU-MIMO Receiver (RX) in the BSS role.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"MaxDLOFDMA": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Max number of users supported per Downlink (DL) OFDMA TX in the BSS role.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"MaxULOFDMA": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Max number of users supported per UL OFDMA RX in the BSS role.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"RTS": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Request To Send (RTS).",
										"datatype": "boolean"
									},
									"MURTS": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for MU RTS.",
										"datatype": "boolean"
									},
									"MultiBSSID": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Multi-Basic Service Set Identifier (BSSID).",
										"datatype": "boolean"
									},
									"MUEDCA": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for MU Enhanced distributed channel access (EDCA).",
										"datatype": "boolean"
									},
									"TWTRequestor": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Target Wake Time (TWT) Requestor.",
										"datatype": "boolean"
									},
									"TWTResponder": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for TWT Responder.",
										"datatype": "boolean"
									},
									"SpatialReuse": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for EasyMesh configuration and reporting of BSS Color and Spatial Reuse.",
										"datatype": "boolean"
									},
									"AnticipatedChannelUsage": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Anticipated Channel Usage (ACU) reporting.",
										"datatype": "boolean"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi6bSTARole.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Describes the Wi-Fi 6 capabilities for the backhaul Station (bSTA) role.",
									"access": false,
									"array": false,
									"HE160": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for High Efficiency (HE) 160 MHz.",
										"datatype": "boolean"
									},
									"HE8080": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for HE 80+80 MHz.",
										"datatype": "boolean"
									},
									"MCSNSS": {
										"type": "base64",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Supported High Efficiency-Modulation and Coding Scheme (HE-MCS) and Number of Spatial Streams (NSS) Set field as defined in <<bibref|802.11ax|Figure 9-788d>> Supported HE-MCS And NSS Set field format. HE-MCS And NSS Set field for 160MHz is present if 160MHz is supported. HE-MCS And NSS Set field for 80+80MHz is present if 80+80MHz is supported.",
										"datatype": "base64",
										"range": [
											{
												"min": 4,
												"max": 12
											}
										]
									},
									"SUBeamformer": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Single-User (SU) Beamformer.",
										"datatype": "boolean"
									},
									"SUBeamformee": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for SU Beamformee.",
										"datatype": "boolean"
									},
									"MUBeamformer": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Multi-User (MU) Beamformer.",
										"datatype": "boolean"
									},
									"Beamformee80orLess": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Beamformee Space-Time Stream (STS) \u2264 80 MHz.",
										"datatype": "boolean"
									},
									"BeamformeeAbove80": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Beamformee STS > 80 MHz.",
										"datatype": "boolean"
									},
									"ULMUMIMO": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Uplink (UL) Multi-User Multiple Input, Multiple Output (MU-MIMO).",
										"datatype": "boolean"
									},
									"ULOFDMA": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for UL Orthogonal Frequency Division Multiplexing (OFDMA).",
										"datatype": "boolean"
									},
									"DLOFDMA": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Downlink (DL) Orthogonal Frequency Division Multiplexing (OFDMA).",
										"datatype": "boolean"
									},
									"MaxDLMUMIMO": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Max number of users supported per DL MU-MIMO Transmitter (TX) in the BSS role.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"MaxULMUMIMO": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Max number of users supported per UL MU-MIMO Receiver (RX) in the BSS role.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"MaxDLOFDMA": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Max number of users supported per Downlink (DL) OFDMA TX in the BSS role.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"MaxULOFDMA": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Max number of users supported per UL OFDMA RX in the BSS role.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"RTS": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Request To Send (RTS).",
										"datatype": "boolean"
									},
									"MURTS": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for MU RTS.",
										"datatype": "boolean"
									},
									"MultiBSSID": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Multi-Basic Service Set Identifier (BSSID).",
										"datatype": "boolean"
									},
									"MUEDCA": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for MU Enhanced distributed channel access (EDCA).",
										"datatype": "boolean"
									},
									"TWTRequestor": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Target Wake Time (TWT) Requestor.",
										"datatype": "boolean"
									},
									"TWTResponder": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for TWT Responder.",
										"datatype": "boolean"
									},
									"SpatialReuse": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for EasyMesh configuration and reporting of BSS Color and Spatial Reuse.",
										"datatype": "boolean"
									},
									"AnticipatedChannelUsage": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Anticipated Channel Usage (ACU) reporting.",
										"datatype": "boolean"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7APRole.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object describes the Wi-Fi 7 capabilities for the AP role including Multi-Link Operation (MLO) capabilities. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
									"access": false,
									"array": false,
									"EMLMRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if the Enhanced Multi-Link Multi-Radio (EMLMR) operation is supported.",
										"datatype": "boolean"
									},
									"EMLSRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Enhanced Multi-Link Single-Radio (EMLSR) operation is supported.",
										"datatype": "boolean"
									},
									"STRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Simultaneous Transmit and Receive (STR) operation is supported.",
										"datatype": "boolean"
									},
									"NSTRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Non-Simultaneous Transmit and Receive (NSTR) operation is supported.",
										"datatype": "boolean"
									},
									"TIDLinkMapNegotiation": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Traffic Identifier (TID) to Link Mapping Negotiation is supported.",
										"datatype": "boolean"
									},
									"EMLMRFreqSeparationNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"EMLSRFreqSeparationNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"STRFreqSeparationNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"NSTRFreqSeparationNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7APRole.EMLMRFreqSeparation.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This object describes the required frequency separation from the specified radio <<param|RUID>> for MLO Enhanced Multi-Link Multi-Radio (EMLMR) operation. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
										"uniqueKeys": [
											"RUID"
										],
										"access": false,
										"array": true,
										"RUID": {
											"type": "base64",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The Radio unique identifier (RUID) of another radio to which the specified frequency separation gap applies.",
											"datatype": "base64"
										},
										"FreqSeparation": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Frequency separation to the specified radio for the particular MLO operation mode. A value of 0 indicates that no frequency separation information is provided. Set to a nonzero value to indicate the required frequency gap is (<<param>> - 1) x <<units>>.",
											"datatype": "unsignedInt",
											"unit": "80 MHz"
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7APRole.EMLSRFreqSeparation.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This object describes the required frequency separation from the specified radio <<param|RUID>> for MLO Enhanced Multi-Link Single-Radio (EMLSR) operation. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
										"uniqueKeys": [
											"RUID"
										],
										"access": false,
										"array": true,
										"RUID": {
											"type": "base64",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The Radio unique identifier (RUID) of another radio to which the specified frequency separation gap applies.",
											"datatype": "base64"
										},
										"FreqSeparation": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Frequency separation to the specified radio for the particular MLO operation mode. A value of 0 indicates that no frequency separation information is provided. Set to a nonzero value to indicate the required frequency gap is (<<param>> - 1) x <<units>>.",
											"datatype": "unsignedInt",
											"unit": "80 MHz"
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7APRole.STRFreqSeparation.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This object describes the required frequency separation from the specified radio <<param|RUID>> for MLO Simultaneous Transmit and Receive (STR) operation. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
										"uniqueKeys": [
											"RUID"
										],
										"access": false,
										"array": true,
										"RUID": {
											"type": "base64",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The Radio unique identifier (RUID) of another radio to which the specified frequency separation gap applies.",
											"datatype": "base64"
										},
										"FreqSeparation": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Frequency separation to the specified radio for the particular MLO operation mode. A value of 0 indicates that no frequency separation information is provided. Set to a nonzero value to indicate the required frequency gap is (<<param>> - 1) x <<units>>.",
											"datatype": "unsignedInt",
											"unit": "80 MHz"
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7APRole.NSTRFreqSeparation.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This object describes the required frequency separation from the specified radio <<param|RUID>> for MLO Non-Simultaneous Transmit and Receive (NSTR) operation. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
										"uniqueKeys": [
											"RUID"
										],
										"access": false,
										"array": true,
										"RUID": {
											"type": "base64",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The Radio unique identifier (RUID) of another radio to which the specified frequency separation gap applies.",
											"datatype": "base64"
										},
										"FreqSeparation": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Frequency separation to the specified radio for the particular MLO operation mode. A value of 0 indicates that no frequency separation information is provided. Set to a nonzero value to indicate the required frequency gap is (<<param>> - 1) x <<units>>.",
											"datatype": "unsignedInt",
											"unit": "80 MHz"
										}
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7bSTARole.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object describes the Wi-Fi 7 capabilities for the backhaul Station (bSTA) role including Multi-Link Operation (MLO) capabilities. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
									"access": false,
									"array": false,
									"EMLMRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if the Enhanced Multi-Link Multi-Radio (EMLMR) operation is supported.",
										"datatype": "boolean"
									},
									"EMLSRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Enhanced Multi-Link Single-Radio (EMLSR) operation is supported.",
										"datatype": "boolean"
									},
									"STRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Simultaneous Transmit and Receive (STR) operation is supported.",
										"datatype": "boolean"
									},
									"NSTRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Non-Simultaneous Transmit and Receive (NSTR) operation is supported.",
										"datatype": "boolean"
									},
									"TIDLinkMapNegotiation": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Traffic Identifier (TID) to Link Mapping Negotiation is supported.",
										"datatype": "boolean"
									},
									"EMLMRFreqSeparationNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"EMLSRFreqSeparationNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"STRFreqSeparationNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"NSTRFreqSeparationNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7bSTARole.EMLMRFreqSeparation.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This object describes the required frequency separation from the specified radio <<param|RUID>> for MLO Enhanced Multi-Link Multi-Radio (EMLMR) operation. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
										"uniqueKeys": [
											"RUID"
										],
										"access": false,
										"array": true,
										"RUID": {
											"type": "base64",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The Radio unique identifier (RUID) of another radio to which the specified frequency separation gap applies.",
											"datatype": "base64"
										},
										"FreqSeparation": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Frequency separation to the specified radio for the particular MLO operation mode. A value of 0 indicates that no frequency separation information is provided. Set to a nonzero value to indicate the required frequency gap is (<<param>> - 1) x <<units>>.",
											"datatype": "unsignedInt",
											"unit": "80 MHz"
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7bSTARole.EMLSRFreqSeparation.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This object describes the required frequency separation from the specified radio <<param|RUID>> for MLO Enhanced Multi-Link Single-Radio (EMLSR) operation. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
										"uniqueKeys": [
											"RUID"
										],
										"access": false,
										"array": true,
										"RUID": {
											"type": "base64",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The Radio unique identifier (RUID) of another radio to which the specified frequency separation gap applies.",
											"datatype": "base64"
										},
										"FreqSeparation": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Frequency separation to the specified radio for the particular MLO operation mode. A value of 0 indicates that no frequency separation information is provided. Set to a nonzero value to indicate the required frequency gap is (<<param>> - 1) x <<units>>.",
											"datatype": "unsignedInt",
											"unit": "80 MHz"
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7bSTARole.STRFreqSeparation.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This object describes the required frequency separation from the specified radio <<param|RUID>> for MLO Simultaneous Transmit and Receive (STR) operation. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
										"uniqueKeys": [
											"RUID"
										],
										"access": false,
										"array": true,
										"RUID": {
											"type": "base64",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The Radio unique identifier (RUID) of another radio to which the specified frequency separation gap applies.",
											"datatype": "base64"
										},
										"FreqSeparation": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Frequency separation to the specified radio for the particular MLO operation mode. A value of 0 indicates that no frequency separation information is provided. Set to a nonzero value to indicate the required frequency gap is (<<param>> - 1) x <<units>>.",
											"datatype": "unsignedInt",
											"unit": "80 MHz"
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi7bSTARole.NSTRFreqSeparation.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This object describes the required frequency separation from the specified radio <<param|RUID>> for MLO Non-Simultaneous Transmit and Receive (NSTR) operation. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
										"uniqueKeys": [
											"RUID"
										],
										"access": false,
										"array": true,
										"RUID": {
											"type": "base64",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The Radio unique identifier (RUID) of another radio to which the specified frequency separation gap applies.",
											"datatype": "base64"
										},
										"FreqSeparation": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Frequency separation to the specified radio for the particular MLO operation mode. A value of 0 indicates that no frequency separation information is provided. Set to a nonzero value to indicate the required frequency gap is (<<param>> - 1) x <<units>>.",
											"datatype": "unsignedInt",
											"unit": "80 MHz"
										}
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.AKMFrontHaul.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Authentication and Key Management (AKM) Suite (security mode) capabilities for the fronthaul BSS.",
									"uniqueKeys": [
										"OUI"
									],
									"access": false,
									"array": true,
									"OUI": {
										"type": "base64",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Any Organizationally Unique Identifier (OUI) value specified in <<bibref|802.11-2020|Table 9-151>>).",
										"datatype": "base64"
									},
									"Type": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Any suite type value specified in <<bibref|802.11-2020|Table 9-151>>.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.AKMBackhaul.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Authentication and Key Management (AKM) Suite (security mode) capabilities for the backhaul BSS.",
									"uniqueKeys": [
										"OUI"
									],
									"access": false,
									"array": true,
									"OUI": {
										"type": "base64",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Any Organizationally Unique Identifier (OUI) value specified in <<bibref|802.11-2020|Table 9-151>>).",
										"datatype": "base64"
									},
									"Type": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Any suite type value specified in <<bibref|802.11-2020|Table 9-151>>.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.CapableOperatingClassProfile.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Describes one of the possible Operating Classes supported by this Radio.",
									"uniqueKeys": [
										"Class"
									],
									"access": false,
									"array": true,
									"Class": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The Operating Class per <<bibref|802.11ax|Table E-4>> that this radio is capable of operating on.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"MaxTxPower": {
										"type": "int",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Maximum Transmit Power EIRP that this radio is capable of transmitting in the current regulatory domain for the Operating Class. Represented as 2s complement signed integer in units of decibels relative to 1 mW (<<units>>).",
										"datatype": "int",
										"range": [
											{
												"min": -127,
												"max": 127
											}
										],
										"unit": "dBm"
									},
									"NonOperable": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<list>> The channel numbers which are statically non-operable in the Operating Class (i.e. the Radio is never able to operate on these channels). Other channels from this Operating Class which are not listed here are supported for the Radio.",
										"list": {
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										}
									},
									"NumberOfNonOperChan": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The number of non-operable channels contained in <<param|NonOperable>>.",
										"datatype": "unsignedInt"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.HaLowCapabilities.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object describes the capabilities of the Wi-Fi HaLow radio, most of which can be extracted from the Sub 1 GHz (S1G) capabilities Information Element (IE) in <<bibref|802.11-2020|Section 9.4.2.200.2>>.",
									"access": false,
									"array": false,
									"BW4MHz": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for 4 MHz operation.",
										"datatype": "boolean"
									},
									"BW8MHz": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for 8 MHz operation.",
										"datatype": "boolean"
									},
									"BW16MHz": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for 16 MHz operation.",
										"datatype": "boolean"
									},
									"S1GLong": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for the reception of S1G_LONG Physical layer Protocol Data Units (PPDUs).",
										"datatype": "boolean"
									},
									"BW1MHzShortGI": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for 1 MHz short Guard Interval (GI).",
										"datatype": "boolean"
									},
									"BW2MHzShortGI": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for 2 MHz short GI.",
										"datatype": "boolean"
									},
									"BW4MHzShortGI": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for 4 MHz short GI.",
										"datatype": "boolean"
									},
									"BW8MHzShortGI": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for 8 MHz short GI.",
										"datatype": "boolean"
									},
									"BW16MHzShortGI": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for 16 MHz short GI.",
										"datatype": "boolean"
									},
									"AMSDU": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support of Aggregated MAC Service Data Units (AMSDU).",
										"datatype": "boolean"
									},
									"AMPDU": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support of Aggregated MAC Protocol Data Units (AMPDU).",
										"datatype": "boolean"
									},
									"FlowControl": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Flow Control <<bibref|802.11-2020|Section 10.61>>.",
										"datatype": "boolean"
									},
									"CentralizedAuthenticationControl": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Centralized Authentication Control <<bibref|802.11-2020|Section 11.3.9.2>>.",
										"datatype": "boolean"
									},
									"DistributedAuthenticationControl": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Distributed Authentication Control (DAC) <<bibref|802.11-2020|Section 11.3.9.3>>.",
										"datatype": "boolean"
									},
									"MaxMPDULen": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates the maximum MAC Protocol Data Unit (MPDU) length in octets. Enumeration of: 3895, 7991.",
										"datatype": "string",
										"enumerations": [
											"3895",
											"7991"
										]
									},
									"NonTIMMode": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support of non-Traffic Indication Map (non-TIM) operation <<bibref|802.11-2020|Section 10.48>>.",
										"datatype": "boolean"
									},
									"DynamicAID": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support of Dynamic Association ID (AID) operation <<bibref|802.11-2020|Section 10.20>>.",
										"datatype": "boolean"
									},
									"GroupAID": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support of Group Association ID (AID) <<bibref|802.11-2020|Section 10.55>>.",
										"datatype": "boolean"
									},
									"BATSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for the use of the Block Acknowledgment TWT (BAT) frame in Block Agreements <<bibref|802.11-2020|Section 9.8.4.3>>.",
										"datatype": "boolean"
									},
									"RAWOperation": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Restricted access window (RAW) operation <<bibref|802.11-2020|Section 10.23.5>>.",
										"datatype": "boolean"
									},
									"PageSlicing": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Page Slicing Operation <<bibref|802.11-2020|Section 10.51>>.",
										"datatype": "boolean"
									},
									"PV1Frame": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Protocol Version 1 (PV1) frames <<bibref|802.11-2020|Section 9.8>>.",
										"datatype": "boolean"
									},
									"TxMCSNSS": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Supported Tx S1G-MCS Map subfield and Coding Scheme (S1G-MCS) and Number of Spatial Streams (NSS) Set field as defined in <<bibref|802.11-2020|Figure 9-694>>.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"RxMCSNSS": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Supported Rx S1G-MCS Map subfield and Coding Scheme (S1G-MCS) and Number of Spatial Streams (NSS) Set field as defined in <<bibref|802.11-2020|Figure 9-694>>.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									},
									"SUBeamformer": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Single-User (SU) Beamformer <<bibref|802.11-2020|10.36.5 VHT sounding protocol>>.",
										"datatype": "boolean"
									},
									"SUBeamformee": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Single-User (SU) Beamformee <<bibref|802.11-2020|10.36.5 VHT sounding protocol>>.",
										"datatype": "boolean"
									},
									"MUBeamformer": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Multi-User (MU) Beamformer <<bibref|802.11-2020|10.36.5 VHT sounding protocol>>.",
										"datatype": "boolean"
									},
									"MUBeamformee": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Multi-User (MU) Beamformee <<bibref|802.11-2020|10.36.5 VHT sounding protocol>>.",
										"datatype": "boolean"
									},
									"TravelingPilot": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for or the reception of PPDUs with traveling pilots <<bibref|802.11-2020|10.56 Traveling pilot operation>>.",
										"datatype": "boolean"
									},
									"TWTGrouping": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Target Wake Time (TWT) Grouping <<bibref|802.11-2020|10.47.5 TWT grouping>>.",
										"datatype": "boolean"
									},
									"TWTRequestor": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Target Wake Time (TWT) Requestor <<bibref|802.11-2020|10.47 Target wake time (TWT)>>.",
										"datatype": "boolean"
									},
									"TWTResponder": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates support for Target Wake Time (TWT) TWTResponder <<bibref|802.11-2020|10.47 Target wake time (TWT)>>.",
										"datatype": "boolean"
									},
									"AcceptSensorDevices": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if this Wi-Fi HaLow radio accepts sensor associated devices (STAs).",
										"datatype": "boolean"
									},
									"AcceptNonSensorDevices": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if this Wi-Fi HaLow radio accepts non-sensor associated devices (STAs).",
										"datatype": "boolean"
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Describes one of the current Operating Classes in use by this Radio. One Operating Class is indicated for each current Operating Channel Bandwidth. The Channel indicated for the 20 MHz Operating Class is equal to the current primary channel.",
								"uniqueKeys": [
									"Class"
								],
								"access": false,
								"array": true,
								"Class": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Operating Class per <<bibref|802.11ax|Table E-4>> that this radio is currently operating on.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"Channel": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This Channel number in the Operating Class that this Radio is currently operating on.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"TxPower": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Nominal Transmit Power EIRP that this radio is currently using for the current Channel in the Opeating Class. Represented as 2s complement signed integer in units of decibels relative to 1 mW (<<units>>).",
									"datatype": "int",
									"range": [
										{
											"min": -127,
											"max": 127
										}
									],
									"unit": "dBm"
								},
								"TransmitPowerLimit": {
									"type": "int",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This is the upper limit on nominal transmit Equivalent Isotropically Radiated Power (EIRP) that this radio is allowed to use for the current <<param|Class>>. In units of decibels relative to 1 mW <<units>>.",
									"datatype": "int",
									"range": [
										{
											"min": -128,
											"max": 127
										}
									],
									"unit": "dBm"
								},
								"TimeStamp": {
									"type": "dateTime",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The time this group was collected. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
									"datatype": "dateTime"
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.DisAllowedOpClassChannels.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The operating classes, and list of channels for each operating class, which are not allowed to be used on this radio.",
								"uniqueKeys": [
									"OpClass"
								],
								"access": true,
								"array": true,
								"Enable": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Enables or disables disallowed operating classes and channels.",
									"default": "false",
									"datatype": "boolean"
								},
								"OpClass": {
									"type": "unsignedInt",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Operating Class per <<bibref|802.11ax|Table E-4>>. Note that the operating class identifies the band and channel width.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"ChannelList": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list>> The channel numbers in this Operating Class that are not allowed to be used on this radio.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.OpClassPreference.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Values represent Channel Preference TLV values in the most recent Channel Preference Report message <<bibref|EasyMesh|17.2.13>>. Each entry in this table describes one of the operating classes for which Channel Preference has been reported. A Preference score of 15 must be inferred for all channel/operating classes not present in this table, unless that channel/operating class has been reported as statically non-operable in the most recent AP Radio Basic Capabilities TLV <<bibref|EasyMesh|17.2.7>>.",
								"uniqueKeys": [
									"OpClass",
									"Preference"
								],
								"access": false,
								"array": true,
								"OpClass": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The operating class <<bibref|802.11ax|Table E-4>>. Note that the operating class identifies the band and channel width. Values represent the OpClass field of the Channel Preference TLV in the most recent Channel Preference Report message <<bibref|EasyMesh|17.2.13>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"ChannelList": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The channel numbers in this operating class. <<list>> Values represent the Channel List field of the Channel Preference TLV in the most recent Channel Preference Report message <<bibref|EasyMesh|17.2.13>>.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										]
									}
								},
								"Preference": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The reported preference for this <<param|OpClass>> and <<param|ChannelList>>, as defined in <<bibref|EasyMesh|17.2.13>>. Values represent the Preference field of the Channel Preference TLV in the most recent Channel Preference Report message <<bibref|EasyMesh|17.2.13>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 15
										}
									]
								},
								"ReasonCode": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Reason Code. Indicates the reason for the <<param|Preference>>, as defined in <<bibref|EasyMesh|17.2.13>>. Values represent the Reason_Code field of the Channel Preference TLV in the most recent Channel Preference Report message <<bibref|EasyMesh|17.2.13>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 15
										}
									]
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.SpatialReuse.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The spatial reuse configuration of this radio. Applies only to Wi-Fi 6 <<bibref|802.11ax>> and possibly later generations of radios. Acronyms: Spatial Reuse Group (SRG), Overlapping Basic Service Set (OBSS), Preamble Detection (PD).",
								"access": false,
								"array": false,
								"PartialBSSColor": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The value of the Partial Basic Service Set (BSS) Color subfield of the HEOperations.BSSColorInformation field being transmitted by BSSs operating on this radio. (EasyMesh TLV Field: Partial BSS Color)",
									"datatype": "unsignedInt"
								},
								"BSSColor": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The value of the BSS Color subfield of the HEOperations.BSSColorInformation field being transmitted by BSSs operating on this radio. (EasyMesh TLV Field: BSS Color)",
									"datatype": "unsignedInt"
								},
								"HESIGASpatialReuseValue15Allowed": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if the Agent is allowed to set HESIGA.SpatialReuse field to value 15 (PSR_AND_NON_SRG_OBSS_PD_PROHIBITED) in HE PPDU transmissions of this radio. (EasyMesh TLV Field: HESIGA_Spatial_reuse_value15_allowed) : <<true>>: allowed; : <<false>>: disallowed.",
									"datatype": "boolean"
								},
								"SRGInformationValid": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This field indicates whether the SRG Information fields (SRG OBSS PD Min Offset, SRG OBSS PD Max Offset, SRG BSS Color Bitmap and SRG Partial BSSID Bitmap) in this command are valid. (EasyMesh TLV Field: SRG Information Valid) : <<true>>: SRG Information fields valid; : <<false>>: SRG Information fields not valid.",
									"datatype": "boolean"
								},
								"NonSRGOffsetValid": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This field indicates whether the Non-SRG OBSSPD Max Offset field in this command is valid. (EasyMesh TLV Field: Non-SRG Offset Valid) : <<true>>: Non-SRG Max Offset field valid; : <<false>>: Non-SRG Max Offset field not valid.",
									"datatype": "boolean"
								},
								"PSRDisallowed": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if the Agent is disallowed to use Parameterized Spatial Reuse (PSR)-based Spatial Reuse for transmissions by the specified radio. (EasyMesh TLV Field: PSR Disallowed) : <<true>>: PSR disallowed; : <<false>>: PSR allowed.",
									"datatype": "boolean"
								},
								"NonSRGOBSSPDMaxOffset": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The value of dot11NonSRGAPOBSSPDMaxOffset (i.e the Non-SRG OBSSPD Max Offset value being used to control the transmissions of the specified radio). (EasyMesh TLV Field: Non-SRG OBSSPD Max Offset) This field is valid only if <<param|NonSRGOffsetValid>> is <<true>>.",
									"datatype": "unsignedInt"
								},
								"SRGOBSSPDMinOffset": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The value of dot11SRGAPOBSSPDMinOffset (i.e. the SRG OBSSPD Min Offset value being used to control the transmissions of the specified radio). (EasyMesh TLV Field: SRG OBSSPD Min Offset) This field is valid only if <<param|SRGInformationValid>> is <<true>>.",
									"datatype": "unsignedInt"
								},
								"SRGOBSSPDMaxOffset": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The value of dot11SRGAPOBSSPDMaxOffset (i.e. the SRG OBSSPD Max Offset value being used to control the transmissions of the specified radio). (EasyMesh TLV Field: SRG OBSSPD Max Offset) This field is valid only if <<param|SRGInformationValid>> is <<true>>.",
									"datatype": "unsignedInt"
								},
								"SRGBSSColorBitmap": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The value of dot11SRGAPBSSColorBitmap (i.e. the SRG BSS Color Bitmap being used to control the tranmissions of the specified radio). (EasyMesh TLV Field: SRG BSS Color Bitmap) This field is valid only if <<param|SRGInformationValid>> is <<true>>.",
									"datatype": "hexBinary",
									"range": [
										{
											"min": 8,
											"max": 8
										}
									]
								},
								"SRGPartialBSSIDBitmap": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The value of dot11SRGAPBSSIDBitmap (i.e. the SRG Partial BSSID Color Bitmap being used to control the transmissions of the specified radio). (EasyMesh TLV Field: SRG Partial BSSID Bitmap) This field is valid only if <<param|SRGInformationValid>> is <<true>>. Note: See rules in section 26.10.2.3 of [17] regarding the members of an SRG.",
									"datatype": "hexBinary",
									"range": [
										{
											"min": 8,
											"max": 8
										}
									]
								},
								"NeighborBSSColorInUseBitmap": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Bitmap of BSS colors of Overlapping BSSs (OBSSs) that the High-Efficiency (HE) AP has identified by itself or via the autonomous BSS Color collision reports received from associated non-AP HE STAs.",
									"datatype": "hexBinary",
									"range": [
										{
											"min": 8,
											"max": 8
										}
									]
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A single logical BSS operating on this radio.",
								"uniqueKeys": [
									"BSSID"
								],
								"access": false,
								"array": true,
								"BSSID": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The MAC Address of the logical BSS (BSSID). If the instance of this <<object>> is the same as <<object|Device.WiFi.SSID.<i>.>>, then this parameter is the same as <<param|Device.WiFi.SSID.<i>.BSSID>>.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"SSID": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The SSID in use for this BSS. If the instance of this <<object>> is the same as <<object|Device.WiFi.SSID.<i>.>>, then this parameter is the same as <<param|Device.WiFi.SSID.<i>.SSID>>.",
									"datatype": "string"
								},
								"Enabled": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Whether the BSSID is currently enabled (beaconing frames are being sent) or disabled. If the instance of this <<object>> is the same as <<object|Device.WiFi.SSID.<i>.>>, then this parameter is the same as <<param|Device.WiFi.SSID.<i>.Enable>>.",
									"datatype": "boolean"
								},
								"LastChange": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Time in <<units>> since the last change to the <<param|Enabled>> value. If the instance of this <<object>> is the same as <<object|Device.WiFi.SSID.<i>.>>, then this parameter is the same as <<param|Device.WiFi.SSID.<i>.LastChange>>.",
									"datatype": "unsignedInt",
									"unit": "seconds"
								},
								"TimeStamp": {
									"type": "dateTime",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The time this group was collected. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
									"datatype": "dateTime"
								},
								"UnicastBytesSent": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Access Point (BSS) wide statistics for total unicast bytes transmitted. This counter does not include Multi-Link Device (MLD) traffic through this BSS.",
									"datatype": "StatsCounter64"
								},
								"UnicastBytesReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Access Point (BSS) wide statistics for total unicast bytes received. This counter does not include MLD traffic through this BSS.",
									"datatype": "StatsCounter64"
								},
								"MulticastBytesSent": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Access Point (BSS) wide statistics for total multicast bytes transmitted. This counter does not include MLD traffic through this BSS.",
									"datatype": "StatsCounter64"
								},
								"MulticastBytesReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Access Point (BSS) wide statistics for total multicast bytes received. This counter does not include MLD traffic through this BSS.",
									"datatype": "StatsCounter64"
								},
								"BroadcastBytesSent": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Access Point (BSS) wide statistics for total broadcast bytes transmitted. This counter does not include MLD traffic through this BSS.",
									"datatype": "StatsCounter64"
								},
								"BroadcastBytesReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Access Point (BSS) wide statistics for total broadcast bytes received. This counter does not include MLD traffic through this BSS.",
									"datatype": "StatsCounter64"
								},
								"ByteCounterUnits": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Byte Counter Units. : 1: kibibytes (KiB) : 2: mebibytes (MiB).",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 1,
											"max": 2
										}
									]
								},
								"Profile1bSTAsDisallowed": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Profile-1 Backhaul STA association disallowed. : <<true>>: Backhaul STA association disallowed; : <<false>>: Backhaul STA association allowed.",
									"datatype": "boolean"
								},
								"Profile2bSTAsDisallowed": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Profile-2 Backhaul STA association disallowed. : <<true>>: Profile 2 bSTA disallowed; : <<false>>: Profile 2 bSTA allowed.",
									"datatype": "boolean"
								},
								"AssociationAllowanceStatus": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The status of allowance of new client device associations on this BSS. : 0: No more associations allowed, : 1: Associations allowed.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 1
										}
									]
								},
								"EstServiceParametersBE": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated Service Parameters information field for AC=BE, defined per <<bibref|802.11-2020|Figure 9-637>> and referenced in <<bibref|EasyMesh|Section 17.2.22>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 0,
											"max": 3
										}
									]
								},
								"EstServiceParametersBK": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated Service Parameters information field for AC=BK, defined per <<bibref|802.11-2020|Figure 9-637>> and referenced in <<bibref|EasyMesh|Section 17.2.22>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 0,
											"max": 3
										}
									]
								},
								"EstServiceParametersVI": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated Service Parameters information field for AC=VI, defined per <<bibref|802.11-2020|Figure 9-637>> and referenced in <<bibref|EasyMesh|Section 17.2.22>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 0,
											"max": 3
										}
									]
								},
								"EstServiceParametersVO": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated Service Parameters information field for AC=VO, defined per <<bibref|802.11-2020|Figure 9-637>> and referenced in <<bibref|EasyMesh|Section 17.2.22>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 0,
											"max": 3
										}
									]
								},
								"BackhaulUse": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates that this BSS is in use as a backhaul BSS; : <<true>>: backhaul BSS in use, : <<false>>: backhaul BSS not in use. In <<bibref|EasyMesh>> 0 is in use and 1 is not in use.",
									"datatype": "boolean"
								},
								"FronthaulUse": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates that this BSS is in use as a fronthaul BSS; : <<true>>: fronthaul BSS in use, : <<false>>: fronthaul BSS not in use. In <<bibref|EasyMesh>> 0 is in use and 1 is not in use.",
									"datatype": "boolean"
								},
								"R1disallowed": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Multi-AP Profile-1 [3] (R1) disallowed status. : <<true>>: disallowed, : <<false>>: allowed. In <<bibref|EasyMesh>> 0 is allowed and 1 is disallowed.",
									"datatype": "boolean"
								},
								"R2disallowed": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Multi-AP Profile-2 [3] (R2) disallowed status. : <<true>>: disallowed, : <<false>>: allowed. In <<bibref|EasyMesh>> 0 is allowed and 1 is disallowed.",
									"datatype": "boolean"
								},
								"MultiBSSID": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Multiple BSSID Set; : <<true>>: configured, : <<false>>: not-configured. In <<bibref|EasyMesh>>, 1 is configured and 0 is not-configured.",
									"datatype": "boolean"
								},
								"TransmittedBSSID": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Transmitted BSSID; : <<true>>: transmitted, : <<false>>: non-transmitted. In <<bibref|EasyMesh>>, 1 is transmitted and 0 is non-transmitted.",
									"datatype": "boolean"
								},
								"FronthaulAKMsAllowed": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list>> List items indicate Authentication and Key Management (AKM) suites/security modes allowed at this BSS for fronthaul. Enumeration of: psk, dpp, sae, psk+sae, dpp+sae, dpp+psk+sae, SuiteSelector.",
									"list": {
										"datatype": "string",
										"enumerations": [
											"psk",
											"dpp",
											"sae",
											"psk+sae",
											"dpp+sae",
											"dpp+psk+sae",
											"SuiteSelector"
										]
									}
								},
								"FronthaulSuiteSelector": {
									"type": "hexBinary",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "AKM suite selector, the AKM suite selector (OUI and type) is encoded as a 4-octet hex-encoded value without internal delimiters, e.g. 506F9A02 <<bibref|802.11-2020|Table 9-151>>. This parameter applies if <<param|FronthaulAKMsAllowed>> includes value SuiteSelector.",
									"datatype": "hexBinary",
									"range": [
										{
											"min": 4,
											"max": 4
										}
									]
								},
								"BackhaulAKMsAllowed": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list>> List items indicate Authentication and Key Management (AKM) suites/security modes allowed at this BSS for backhaul. Enumeration of: psk, dpp, sae, psk+sae, dpp+sae, dpp+psk+sae, SuiteSelector.",
									"list": {
										"datatype": "string",
										"enumerations": [
											"psk",
											"dpp",
											"sae",
											"psk+sae",
											"dpp+sae",
											"dpp+psk+sae",
											"SuiteSelector"
										]
									}
								},
								"BackhaulSuiteSelector": {
									"type": "hexBinary",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "AKM suite selector, the AKM suite selector (OUI and type) is encoded as a 4-octet hex-encoded value without internal delimiters, e.g. 506F9A02 <<bibref|802.11-2020|Table 9-151>>. This parameter applies if <<param|BackhaulAKMsAllowed>> includes value SuiteSelector.",
									"datatype": "hexBinary",
									"range": [
										{
											"min": 4,
											"max": 4
										}
									]
								},
								"BasicDataTransmitRates": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list>> The current basic data rates; the set of data rates, in <<units>>, that have to be supported by all stations that desire to join this BSS. The stations have to be able to receive and transmit at each of the data rates listed in <<param>>. Most control packets use a data rate in <<param>>.",
									"list": {
										"datatype": "unsignedInt",
										"unit": "kbps"
									}
								},
								"STANumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"QMDescriptorNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"SetQMDescriptors()": {
									"type": "command",
									"async": true,
									"protocols": [
										"usp"
									],
									"input": {},
									"output": {
										"Status": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates the type of outcome of the request to configure descriptor elements. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
											"datatype": "string",
											"enumerations": [
												"Success",
												"Error_Invalid_Input",
												"Error_Timeout",
												"Error_Other"
											]
										}
									}
								},
								"ThroughputTest()": {
									"type": "command",
									"async": true,
									"protocols": [
										"usp"
									],
									"input": {
										"STAMACAddress": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "MAC address of the STA that the throughput test is to be run to.",
											"datatype": "MACAddress",
											"range": [
												{
													"max": 17
												}
											],
											"pattern": [
												"",
												"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
											]
										},
										"VID": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "The VLAN ID (VID) that the throughput test is to run on.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 4095
												}
											]
										},
										"WMMUP": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Wi-Fi MultiMedia (WMM) User Priority <<bibref|AMB>> that the throughput test is to run on. A value of 8 indicates that the WMM UP is not specified. If WMM is not supported by the BSS and the STA, then this is ignored.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 8
												}
											]
										},
										"TestDuration": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Duration of the throughput test in <<units>>.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 65535
												}
											],
											"unit": "milliseconds"
										},
										"TestDirection": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Direction to run the throughput test. Enumeration of: Downlink, Uplink, Roundtrip.",
											"datatype": "string",
											"enumerations": [
												"Downlink",
												"Uplink",
												"Roundtrip"
											]
										}
									},
									"output": {
										"Status": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates the type of outcome of the throughput test request. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
											"datatype": "string",
											"enumerations": [
												"Success",
												"Error_Invalid_Input",
												"Error_Timeout",
												"Error_Other"
											]
										}
									}
								},
								"LatencyTest()": {
									"type": "command",
									"async": true,
									"protocols": [
										"usp"
									],
									"input": {
										"STAMACAddress": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "MAC address of the STA that the latency test is to be run to.",
											"datatype": "MACAddress",
											"range": [
												{
													"max": 17
												}
											],
											"pattern": [
												"",
												"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
											]
										},
										"VID": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "The VLAN ID (VID) that the latency test is to run on.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 4095
												}
											]
										},
										"WMMUP": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Wi-Fi MultiMedia (WMM) User Priority <<bibref|AMB>> that the latency test is to run on. A value of 8 indicates that the WMM UP is not specified. If WMM is not supported by the BSS and the STA, then this is ignored.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 8
												}
											]
										},
										"NumberOfRepetitions": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Number of echo tests to run in the latency test set. If the value of this field is 0, then this field is ignored.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 65535
												}
											]
										},
										"Timeout": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "If any echo test duration exceeds this time in <<units>>, then the echo test is declared a failure. A value of 0 indicates that no Timeout is specified.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 65535
												}
											],
											"unit": "milliseconds"
										},
										"DataBlockSize": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "The size of each data block, in <<units>>, transmitted in each echo test. A value of 0 indicates that no DataBlockSize is specified.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 65535
												}
											],
											"unit": "bytes"
										}
									},
									"output": {
										"Status": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates the type of outcome of the latency test request. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
											"datatype": "string",
											"enumerations": [
												"Success",
												"Error_Invalid_Input",
												"Error_Timeout",
												"Error_Other"
											]
										}
									}
								},
								"SetEHTOperations()": {
									"type": "command",
									"async": true,
									"protocols": [
										"usp"
									],
									"input": {
										"EHTDefaultPEDuration": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Bit 2 of EHT Operation Parameters field as per <<bibref|802.11be|Figure 9-1001b>>.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 1
												}
											]
										},
										"GroupAddressedBUIndicationLimit": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Bit 3 of EHT Operation Parameters field as per <<bibref|802.11be|Figure 9-1001b>>.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 1
												}
											]
										},
										"GroupAddressedBUIndicationExponent": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Bits 4-5 of EHT Operation Parameters field as per <<bibref|802.11be|Figure 9-1001b>>.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 4
												}
											]
										},
										"BasicEHTMCSAndNssSet": {
											"type": "hexBinary",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "See EHT Operation element Basic EHT-MCS And Nss Set as per <<bibref|802.11be|Figure 9-1001a>>.",
											"datatype": "hexBinary",
											"range": [
												{
													"min": 4,
													"max": 4
												}
											]
										},
										"Control": {
											"type": "hexBinary",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "See EHT Operation Information field as per <<bibref|802.11be|Figure 9-1001c>>.",
											"datatype": "hexBinary",
											"range": [
												{
													"min": 1,
													"max": 1
												}
											]
										},
										"CCFS0": {
											"type": "hexBinary",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "See EHT Operation Information field as per <<bibref|802.11be|Figure 9-1001c>>.",
											"datatype": "hexBinary",
											"range": [
												{
													"min": 1,
													"max": 1
												}
											]
										},
										"CCFS1": {
											"type": "hexBinary",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "See EHT Operation Information field as per <<bibref|802.11be|Figure 9-1001c>>.",
											"datatype": "hexBinary",
											"range": [
												{
													"min": 1,
													"max": 1
												}
											]
										},
										"DisabledSubchannelBitmap": {
											"type": "hexBinary",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Disabled Subchannel Bitmap subfield in EHT Operation Information field as per <<bibref|802.11be|Figure 9-1001c>>. This enables subchannel puncturing.",
											"datatype": "hexBinary",
											"range": [
												{
													"min": 1,
													"max": 1
												}
											]
										}
									},
									"output": {
										"Status": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates the type of outcome of this command to configure Extremely High Throughput (EHT, aka Wi-Fi 7). Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
											"datatype": "string",
											"enumerations": [
												"Success",
												"Error_Invalid_Input",
												"Error_Timeout",
												"Error_Other"
											]
										}
									}
								},
								"SetQoSManagement()": {
									"type": "command",
									"async": true,
									"protocols": [
										"usp"
									],
									"input": {
										"QosMapEnable": {
											"type": "boolean",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates whether QoS Map is enabled on this BSS.",
											"datatype": "boolean"
										},
										"MSCSEnable": {
											"type": "boolean",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates whether Mirrored Stream Classification Service (MSCS) is enabled on this BSS.",
											"datatype": "boolean"
										},
										"SCSEnable": {
											"type": "boolean",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates whether Stream Classification Service (SCS) is enabled on this BSS.",
											"datatype": "boolean"
										},
										"DSCPPolicyEnable": {
											"type": "boolean",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates whether DSCP Policy is enabled on this BSS.",
											"datatype": "boolean"
										},
										"SCSTrafficDescriptionEnable": {
											"type": "boolean",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates whether the extensions to SCS using Traffic Descriptions is enabled on this BSS.",
											"datatype": "boolean"
										}
									},
									"output": {
										"Status": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates the type of outcome of this command to configure the Wi-Fi QoS Management settings of this BSS.Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
											"datatype": "string",
											"enumerations": [
												"Success",
												"Error_Invalid_Input",
												"Error_Timeout",
												"Error_Other"
											]
										}
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.QMDescriptor.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object contains a table of <<param|DescriptorElement>>.",
									"uniqueKeys": [
										"ClientMAC"
									],
									"access": false,
									"array": true,
									"BSSID": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The BSSID of BSS for which this descriptor applies.",
										"datatype": "MACAddress",
										"range": [
											{
												"max": 17
											}
										],
										"pattern": [
											"",
											"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
										]
									},
									"ClientMAC": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "MAC address of STA for which this descriptor applies.",
										"datatype": "MACAddress",
										"range": [
											{
												"max": 17
											}
										],
										"pattern": [
											"",
											"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
										]
									},
									"DescriptorElement": {
										"type": "hexBinary",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The descriptor element. One of: : MSCS descriptor element (as described in <<bibref|802.11-2020|Section 9.4.2.243>>, or : SCS descriptor element (as described in <<bibref|802.11-2020|Section 9.4.2.121>>, or : QoS Management DSCP policy element (as described in <<bibref|802.11-2020|Section 9.4.2.94>> and <<bibref|RFC8325|Section 6.3>>).",
										"datatype": "hexBinary"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.MUConfig.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object provides Multiuser (MU)-specific BSS configuration.",
									"access": true,
									"array": false,
									"DLOFDMAEnable": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Enable downlink (DL) Orthogonal Frequency-Division Multiple Access (OFDMA).",
										"datatype": "boolean"
									},
									"ULOFDMAEnable": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Enable uplink (UL) OFDMA.",
										"datatype": "boolean"
									},
									"DLMUMIMOEnable": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Enable DL Multi-User Multi-Input Multi-Output (MU-MIMO).",
										"datatype": "boolean"
									},
									"ULMUMIMOEnable": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Enable UL MU-MIMO.",
										"datatype": "boolean"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.MUStats.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object provides packet statistics for a Multiuser (MU) BSS.",
									"access": true,
									"array": false,
									"DLTotalPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of Physical-layer Protocol Data Units (PPDUs) transmitted by the Wi-Fi Basic Service Set (BSS).",
										"datatype": "StatsCounter32"
									},
									"DLHEPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of High-Efficiency (HE) PPDUs transmitted by the BSS.",
										"datatype": "StatsCounter32"
									},
									"DLMUPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of Multi-User (MU) PPDUs transmitted by the BSS.",
										"datatype": "StatsCounter32"
									},
									"DLOFDMAPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of Orthogonal Frequency-Division Multiple Access (OFDMA) PPDUs transmitted by the BSS.",
										"datatype": "StatsCounter32"
									},
									"DLMUMIMOPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of Multi-Input Multi-Output (MU-MIMO) PPDUs transmitted by the BSS.",
										"datatype": "StatsCounter32"
									},
									"DLOFDMAMUMIMOPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs transmitted by the BSS with OFDMA and MU-MIMO.",
										"datatype": "StatsCounter32"
									},
									"ULTotalPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Total number of PPDUs received by the BSS.",
										"datatype": "StatsCounter32"
									},
									"ULHEPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of High-Efficiency (HE) PPDUs received by the BSS.",
										"datatype": "StatsCounter32"
									},
									"ULMUPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of MU PPDUs received by the BSS.",
										"datatype": "StatsCounter32"
									},
									"ULOFDMAPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of OFDMA PPDUs received by the BSS.",
										"datatype": "StatsCounter32"
									},
									"ULMUMIMOPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of MU-MIMO PDDUs received by the BSS.",
										"datatype": "StatsCounter32"
									},
									"ULOFDMAMUMIMOPPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs received by the BSS with OFDMA and MU-MIMO.",
										"datatype": "StatsCounter32"
									},
									"DLRU26PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs sent on the downlink using Resource Unit (RU) RU26.",
										"datatype": "StatsCounter32"
									},
									"DLRU52PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs sent on the downlink using RU52.",
										"datatype": "StatsCounter32"
									},
									"DLRU106PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs sent on the downlink using RU106.",
										"datatype": "StatsCounter32"
									},
									"DLRU242PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs sent on the downlink using RU242.",
										"datatype": "StatsCounter32"
									},
									"DLRU484PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs sent on the downlink using RU484.",
										"datatype": "StatsCounter32"
									},
									"DLRU996PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs sent on the downlink using RU996.",
										"datatype": "StatsCounter32"
									},
									"DLRU1992PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs sent on the downlink using RU1992.",
										"datatype": "StatsCounter32"
									},
									"ULRU26PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs received on the uplink using RU26.",
										"datatype": "StatsCounter32"
									},
									"ULRU52PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs received on the uplink using RU52.",
										"datatype": "StatsCounter32"
									},
									"ULRU106PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs received on the uplink using RU106.",
										"datatype": "StatsCounter32"
									},
									"ULRU242PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs received on the uplink using RU242.",
										"datatype": "StatsCounter32"
									},
									"ULRU484PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs received on the uplink using RU484.",
										"datatype": "StatsCounter32"
									},
									"ULRU996PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs received on the uplink using RU996.",
										"datatype": "StatsCounter32"
									},
									"ULRU1992PPDUCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of PPDUs received on the uplink using RU1992.",
										"datatype": "StatsCounter32"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.MultiAPSteering.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "A single logical Access Point operating on this radio.",
									"access": false,
									"array": false,
									"BlacklistAttempts": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of times a Blacklist steer was attempted for this Access Point. Blacklist steering is the process of forcing a connected STA to move to another Access Point by temporarily blocking its access to the current Access Point.",
										"datatype": "StatsCounter64"
									},
									"BTMAttempts": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of times a BTM (BSS Transition Management; <<bibref|802.11-2020|sections 4.3.19.3 and 6.3.57>> steer was attempted for this Access Point.",
										"datatype": "StatsCounter64"
									},
									"BTMQueryResponses": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Number of asynchronous BTM (BSS Transition Management; <<bibref|802.11-2020|sections 4.3.19.3 and 6.3.57>> Queries for which a BTM Request was issued by this Access Point.",
										"datatype": "StatsCounter64"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.ThroughputTestResult.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Object containing the results of the most recent throughput (speed) test from the BSS to a station (STA).",
									"access": false,
									"array": false,
									"TimeStamp": {
										"type": "dateTime",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Timestamp for the throughput test, indicating when the test completed.",
										"datatype": "dateTime"
									},
									"ClientMAC": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "MAC address of the STA that the throughput test ran to.",
										"datatype": "MACAddress",
										"range": [
											{
												"max": 17
											}
										],
										"pattern": [
											"",
											"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
										]
									},
									"VID": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The VLAN ID (VID) that the throughput test ran on. A value of 0 indicates that no VLAN was specified.",
										"datatype": "unsignedInt",
										"range": [
											{
												"min": 0,
												"max": 4095
											}
										]
									},
									"WMMUP": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Wireless MultiMedia (WMM) User Priority (UP) <<bibref|WMM>> that the throughput test was requested to run on. A value of 8 indicates that no UP was specified.",
										"datatype": "unsignedInt",
										"range": [
											{
												"min": 0,
												"max": 8
											}
										]
									},
									"TestDuration": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Duration of the throughput test in <<units>>.",
										"datatype": "unsignedInt",
										"unit": "milliseconds"
									},
									"TestLayer": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The OSI layer that the throughput test ran on.",
										"datatype": "unsignedInt"
									},
									"TestAlgorithm": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The test algorithm that the throughput test used.",
										"datatype": "string"
									},
									"DownlinkSpeed": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Downlink speed found by the throughput test in <<units>>.",
										"datatype": "unsignedInt",
										"unit": "kbps"
									},
									"UplinkSpeed": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Uplink speed found by the throughput test in <<units>>.",
										"datatype": "unsignedInt",
										"unit": "kbps"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.LatencyTestResult.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Object containing the results of the most recent latency test set from the BSS to a station (STA). Each latency test set includes a number of individual echo tests. Each echo test result provides a sample of round-trip times and statistics on all the echo tests in this latency test are reported in this object.",
									"access": false,
									"array": false,
									"TimeStamp": {
										"type": "dateTime",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Timestamp for the latency test, indicating when the last echo in the latency test set was received or timed-out.",
										"datatype": "dateTime"
									},
									"ClientMAC": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "MAC address of the station (STA) or EasyMesh Agent that the latency test ran to.",
										"datatype": "MACAddress",
										"range": [
											{
												"max": 17
											}
										],
										"pattern": [
											"",
											"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
										]
									},
									"VID": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The VLAN ID (VID) that the latency test ran on. A value of 0 indicates that no VLAN was specified.",
										"datatype": "unsignedInt",
										"range": [
											{
												"min": 0,
												"max": 4095
											}
										]
									},
									"WMMUP": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Wireless MultiMedia (WMM) User Priority (UP) <<bibref|WMM>> that the latency test was requested to run on. A value of 8 indicates that no UP was specified.",
										"datatype": "unsignedInt",
										"range": [
											{
												"min": 0,
												"max": 8
											}
										]
									},
									"DataBlockSize": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The size of each data block, in <<units>>, that was transmitted in each echo test. The data block excludes the packet or frame header. A value of 0 indicates that no DataBlockSize was specified.",
										"datatype": "unsignedInt",
										"unit": "bytes"
									},
									"TestLayer": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The OSI layer that the latency test ran on.",
										"datatype": "unsignedInt"
									},
									"TestAlgorithm": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The test algorithm that the latency test used.",
										"datatype": "string"
									},
									"SuccessCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The number of successfully received echo responses. This parameter is an output of the latency test.",
										"datatype": "unsignedInt"
									},
									"LostCount": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The number of lost echoes in the latency test set. This parameter is an output of the latency test.",
										"datatype": "unsignedInt"
									},
									"AverageResponseTime": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The average round-trip time of the results of the latency test set in <<units>>. This average is across successfully received echoes only. This parameter is an output of the latency test.",
										"datatype": "unsignedInt",
										"unit": "milliseconds"
									},
									"MinimumResponseTime": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The minimum round-trip time of the results of the latency test set in <<units>>. This minimum is across successfully received echoes only. This parameter is an output of the latency test.",
										"datatype": "unsignedInt",
										"unit": "milliseconds"
									},
									"MaximumResponseTime": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The maximum round-trip time of the results of the latency test set in <<units>>. This maximum is across successfully received echoes only. This parameter is an output of the latency test.",
										"datatype": "unsignedInt",
										"unit": "milliseconds"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.SetQoSManagementInput.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object records inputs for setting QoS Management <<bibref|EasyMesh|Section 20>>.",
									"access": false,
									"array": false,
									"QosMapEnable": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates whether QoS Map is enabled on this BSS.",
										"datatype": "boolean"
									},
									"MSCSEnable": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates whether Mirrored Stream Classification Service (MSCS) is enabled on this BSS.",
										"datatype": "boolean"
									},
									"SCSEnable": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates whether Stream Classification Service (SCS) is enabled on this BSS.",
										"datatype": "boolean"
									},
									"DSCPPolicyEnable": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates whether DSCP Policy is enabled on this BSS.",
										"datatype": "boolean"
									},
									"SCSTrafficDescriptionEnable": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates whether the extensions to SCS using Traffic Descriptions is enabled on this BSS.",
										"datatype": "boolean"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Object describing a single Associated Device (STA).",
									"uniqueKeys": [
										"MACAddress"
									],
									"access": false,
									"array": true,
									"MACAddress": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The MAC address of an associated device. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.MACAddress>>.",
										"datatype": "MACAddress",
										"range": [
											{
												"max": 17
											}
										],
										"pattern": [
											"",
											"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
										]
									},
									"TimeStamp": {
										"type": "dateTime",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The time this group was collected. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
										"datatype": "dateTime"
									},
									"HTCapabilities": {
										"type": "base64",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Describes the HT capabilities of the Associated Device (STA).",
										"datatype": "base64",
										"range": [
											{
												"min": 1,
												"max": 1
											}
										]
									},
									"VHTCapabilities": {
										"type": "base64",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Describes the VHT capabilities of the Associated Device (STA).",
										"datatype": "base64",
										"range": [
											{
												"min": 2,
												"max": 6
											}
										]
									},
									"HECapabilities": {
										"type": "base64",
										"read": true,
										"write": false,
										"obsolete": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Describes the HE capabilities of the Associated Device (STA). <<deprecated|2.15|because it is superseded by <<object|WiFi6Capabilities>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
										"datatype": "base64",
										"range": [
											{
												"min": 4,
												"max": 14
											}
										]
									},
									"ClientCapabilities": {
										"type": "base64",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The frame body of the most recently received (Re)Association Request frame from this client (STA), as defined in Table 9-34 and Table 9-36 of <<bibref|802.11-2020>> in the order of the underlying referenced standard.",
										"datatype": "base64"
									},
									"LastDataDownlinkRate": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the access point to the associated device. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.LastDataDownlinkRate>>.",
										"datatype": "unsignedInt",
										"unit": "kbps"
									},
									"LastDataUplinkRate": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the associated device to the access point. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.LastDataUplinkRate>>.",
										"datatype": "unsignedInt",
										"unit": "kbps"
									},
									"UtilizationReceive": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The amount of time in <<units>> that the Radio has spent on the Channel receiving data from this Associated Device (STA).",
										"datatype": "unsignedLong",
										"unit": "milliseconds"
									},
									"UtilizationTransmit": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The amount of time in <<units>> that the Radio has spent on the Channel transmitting data to this Associated Device (STA).",
										"datatype": "unsignedLong",
										"unit": "milliseconds"
									},
									"EstMACDataRateDownlink": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Estimate of the MAC layer throughput in <<units>> achievable in the downlink direction if 100% of channel airtime and BSS operating bandwidth were available, as defined in <<bibref|EasyMesh|Section 10.3.1>>.",
										"datatype": "unsignedInt",
										"unit": "Mbps"
									},
									"EstMACDataRateUplink": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Estimate of the MAC layer throughput in <<units>> achievable in the uplink direction if 100% of channel airtime and BSS operating bandwidth were available, as defined in <<bibref|EasyMesh|Section 10.3.1>>.",
										"datatype": "unsignedInt",
										"unit": "Mbps"
									},
									"SignalStrength": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "An indicator of radio signal strength of the uplink from the associated STA to the access point - measured in <<units>>. RCPI is encoded per <<bibref|802.11-2020|Table 9-176>>, and described in <<bibref|EasyMesh|Section 10.3.1>>). Reserved: 221 - 255. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.SignalStrength>>.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										],
										"unit": "dBm"
									},
									"LastConnectTime": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The time in <<units>> since this Associated Device (STA) was associated.",
										"datatype": "unsignedInt",
										"unit": "seconds"
									},
									"BytesSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of bytes transmitted to the Associated Device. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.Stats.BytesSent>>.",
										"datatype": "StatsCounter64"
									},
									"BytesReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of bytes received from the Associated Device. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.Stats.BytesReceived>>.",
										"datatype": "StatsCounter64"
									},
									"PacketsSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of packets transmitted to the Associated Device. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.Stats.PacketsSent>>.",
										"datatype": "StatsCounter64"
									},
									"PacketsReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of packets received from the Associated Device. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.Stats.PacketsReceived>>.",
										"datatype": "StatsCounter64"
									},
									"ErrorsSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of outbound packets that could not be transmitted because of errors. These might be due to the number of retransmissions exceeding the retry limit, or from other causes. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.Stats.ErrorsSent>>.",
										"datatype": "StatsCounter64"
									},
									"ErrorsReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.Stats.ErrorsReceived>>.",
										"datatype": "StatsCounter64"
									},
									"RetransCount": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of transmitted packets which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.Stats.RetransCount>>.",
										"datatype": "StatsCounter64"
									},
									"MeasurementReport": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<list>> Measurement Report element(s) received from the Associated Device (STA) that constitute the latest Beacon report as defined in <<bibref|802.11-2020|Figure 9-230>>.",
										"list": {
											"datatype": "base64"
										}
									},
									"NumberOfMeasureReports": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The number of measurement report elements contained in <<param|MeasurementReport>>.",
										"datatype": "unsignedInt"
									},
									"IPV4Address": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "IPV4 Address assigned to the client.",
										"datatype": "IPv4Address",
										"range": [
											{
												"max": 15
											}
										],
										"pattern": [
											"",
											"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
										]
									},
									"IPV6Address": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "IPV6Address assigned to the client.",
										"datatype": "IPv6Address"
									},
									"Hostname": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Hostname assigned to the client.",
										"datatype": "string"
									},
									"CellularDataPreference": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This is the Cellular Data Preference for a Agile Multiband (AMB) capable STA This specifies the use of the cellular data connection. <<bibref|AMB>> Enumeration of: Excluded, Should not use, Should use.",
										"datatype": "string",
										"enumerations": [
											"Excluded",
											"Should not use",
											"Should use"
										]
									},
									"ReAssociationDelay": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Re-association Delay <<bibref|AMB>>. The time, in <<units>>, after a BTM steer from AP1 to AP2 during which the station cannot go back and re-associate with AP1.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 65535
											}
										],
										"unit": "seconds"
									},
									"SleepMode": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This parameter indicates the current operating sleep mode as recorded by the BSS <<bibref|802.11-2020>>. Enumeration of: Not_Asleep, WNM_Sleep_Mode, TPU_Sleep, TDLS_Peer_Power_Save_Mode_(PSM), AP_PS-Poll, TWT_Sleep, Light_Sleep, Deep_Sleep.",
										"datatype": "string",
										"enumerations": [
											"Not_Asleep",
											"WNM_Sleep_Mode",
											"TPU_Sleep",
											"TDLS_Peer_Power_Save_Mode_(PSM)",
											"AP_PS-Poll",
											"TWT_Sleep",
											"Light_Sleep",
											"Deep_Sleep"
										]
									},
									"SecurityAssociation": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This parameter indicates the current operating security state as defined in <<bibref|802.11-2020|Section 12.6.1.1>>. Enumeration of: PMKSA, PMK-R0, PMK-R1, Mesh_PMKSA, Mesh_TKSA, PTKSA, GTKSA, IGTKSA, Mesh_GTKSA, BIGTKSA, TPKSA, Other.",
										"datatype": "string",
										"enumerations": [
											"PMKSA",
											"PMK-R0",
											"PMK-R1",
											"Mesh_PMKSA",
											"Mesh_TKSA",
											"PTKSA",
											"GTKSA",
											"IGTKSA",
											"Mesh_GTKSA",
											"BIGTKSA",
											"TPKSA",
											"Other"
										]
									},
									"PairwiseAKM": {
										"type": "hexBinary",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Pairwise AKM suite selector selected by the associated device (STA). The Pairwise AKM suite selector (OUI and type) is encoded as a 4-octet hex-encoded value without internal delimiters, e.g. 506F9A02 <<bibref|802.11-2020|Table 9-151>>.",
										"datatype": "hexBinary",
										"range": [
											{
												"min": 4,
												"max": 4
											}
										]
									},
									"PairwiseCipher": {
										"type": "hexBinary",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Pairwise AKM cipher selector selected by the associated device (STA). The Pairwise AKM cipher selector (OUI and type) is encoded as a 4-octet hex-encoded value without internal delimiters, e.g. 506F9A02 <<bibref|802.11-2020|Table 9-149, OUI field>>.",
										"datatype": "hexBinary",
										"range": [
											{
												"min": 4,
												"max": 4
											}
										]
									},
									"RSNCapabilities": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The RSN Capabilities selected by the STA during association <<bibref|802.11-2020|Section 9.4.2.24.4,>>.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 65535
											}
										]
									},
									"TIDQueueSizesNumberOfEntries": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<numentries>>",
										"datatype": "unsignedInt"
									},
									"ClientSteer()": {
										"type": "command",
										"async": true,
										"protocols": [
											"usp"
										],
										"input": {
											"TargetBSSID": {
												"type": "string",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "Basic Service Set Identifier (BSSID) or AP MLD MAC Address of the target BSS which the associated device(s) is to be steered to. Wildcard BSSID is represented by FFFFFFFFFFFF.",
												"datatype": "MACAddress",
												"range": [
													{
														"max": 17
													}
												],
												"pattern": [
													"",
													"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
												]
											},
											"RequestMode": {
												"type": "string",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "The request mode. Enumeration of: Steering_Opportunity, Steering_Mandate.",
												"datatype": "string",
												"enumerations": [
													"Steering_Opportunity",
													"Steering_Mandate"
												]
											},
											"BTMDisassociationImminent": {
												"type": "boolean",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "BTM disassociation imminent.",
												"datatype": "boolean"
											},
											"BTMAbridged": {
												"type": "boolean",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "BTM abridged.",
												"datatype": "boolean"
											},
											"LinkRemovalImminent": {
												"type": "boolean",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "Link removal imminent.",
												"datatype": "boolean"
											},
											"SteeringOpportunityWindow": {
												"type": "unsignedInt",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "Time period in <<units>> (from reception of the Steering Request message) for which the request is valid. If <<param|RequestMode>> is Steering_Mandate, then this is ignored.",
												"datatype": "unsignedInt",
												"unit": "seconds"
											},
											"BTMDisassociationTimer": {
												"type": "unsignedInt",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "Time period in <<units>> of the disassociation timer in the BTM Request.",
												"datatype": "unsignedInt",
												"unit": "TUs"
											},
											"TargetBSSOperatingClass": {
												"type": "unsignedInt",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "The Target BSS Operating Class per <<bibref|802.11ax|Table E-4>>. If the <<param|TargetBSSID>> is set to Wildcard BSSID, then this is ignored.",
												"datatype": "unsignedInt",
												"range": [
													{
														"max": 255
													}
												]
											},
											"TargetBSSChannel": {
												"type": "unsignedInt",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "Target BSS channel number for channel on which the Target BSS is transmitting Beacon frames. If the <<param|TargetBSSID>> is set to Wildcard BSSID, then then this is ignored.",
												"datatype": "unsignedInt",
												"range": [
													{
														"max": 255
													}
												]
											}
										},
										"output": {
											"Status": {
												"type": "string",
												"read": true,
												"write": true,
												"protocols": [
													"usp"
												],
												"description": "Indicates the response to the Wi-Fi backhaul steering request. Enumeration of: Success, Error_Invalid_Input, Error_Timeout, Error_Other.",
												"datatype": "string",
												"enumerations": [
													"Success",
													"Error_Invalid_Input",
													"Error_Timeout",
													"Error_Other"
												]
											}
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The summary of statistics and operations for an individual STA on the Wi-Fi network. The counters contained in <<object>> are all reset on reboot.",
										"access": false,
										"array": false,
										"AssociationTime": {
											"type": "dateTime",
											"read": true,
											"write": false,
											"obsolete": true,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Date and time in UTC when the device was associated. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.AssociationTime>>. <<deprecated|2.18|because it was essentially the same as <<param|#.LastConnectTime>>.>>",
											"datatype": "dateTime"
										},
										"Noise": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"obsolete": true,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "An indicator of the average radio noise plus interference power measured on the uplink from the Associated Device (STA) to the Access Point (AP). Encoded as defined for ANPI in <<bibref|802.11-2020|Section 11.10.9.4>>. If the instance of this <<object>> is the same as <<object|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.>>, then this parameter is the same as <<param|Device.WiFi.AccessPoint.<i>.AssociatedDevice.<i>.Noise>>. <<deprecated|2.18|because it should be the same as <<param|###.Noise>>.>>",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"SteeringHistoryNumberOfEntries": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "<<numentries>>",
											"datatype": "unsignedInt"
										},
										"Disassociate()": {
											"type": "command",
											"async": true,
											"protocols": [
												"usp"
											],
											"input": {
												"DisassociationTimer": {
													"type": "unsignedInt",
													"read": true,
													"write": true,
													"mandatory": true,
													"protocols": [
														"usp"
													],
													"description": "The time for which the associated device is to be disassociated in <<units>>. If set to 0, then the associated device is blocked indefinitely.",
													"datatype": "unsignedInt",
													"unit": "minutes"
												},
												"ReasonCode": {
													"type": "unsignedInt",
													"read": true,
													"write": true,
													"mandatory": true,
													"protocols": [
														"usp"
													],
													"description": "The reason code for the request for the associated device to be disassociated, as defined in <<bibref|802.11-2020|Table 9-49>>.",
													"datatype": "unsignedInt"
												},
												"Silent": {
													"type": "boolean",
													"read": true,
													"write": true,
													"protocols": [
														"usp"
													],
													"description": "An optional input, if true then this is a request for a Silent Disassociate, whereby the AP is to remove the station from its list of associated devices without sending a message to the station. If this input in not provided, then a value of <<false>> is assumed.",
													"datatype": "boolean"
												}
											},
											"output": {
												"Status": {
													"type": "string",
													"read": true,
													"write": true,
													"protocols": [
														"usp"
													],
													"description": "Indicates the response to the request to disassociate an associated device. Enumeration of: Success, Error_Not_Ready, Error_Timeout, Error_Interface_Down, Error_Other.",
													"datatype": "string",
													"enumerations": [
														"Success",
														"Error_Not_Ready",
														"Error_Timeout",
														"Error_Interface_Down",
														"Error_Other"
													]
												}
											}
										},
										"BTMRequest()": {
											"type": "command",
											"async": true,
											"protocols": [
												"usp"
											],
											"input": {
												"DisassociationImminent": {
													"type": "boolean",
													"read": true,
													"write": true,
													"mandatory": true,
													"protocols": [
														"usp"
													],
													"description": "Indicates if the disassociation is imminent, as defined in <<bibref|802.11-2020|Section 9.6.13.9>>.",
													"datatype": "boolean"
												},
												"DisassociationTimer": {
													"type": "unsignedInt",
													"read": true,
													"write": true,
													"mandatory": true,
													"protocols": [
														"usp"
													],
													"description": "The number of <<units>> until the AP sends a disassociation frame to this station. If <<param>>=0 then <<param>> is not used.",
													"datatype": "unsignedInt",
													"unit": "beacon transmission times"
												},
												"BSSTerminationDuration": {
													"type": "unsignedInt",
													"read": true,
													"write": true,
													"mandatory": true,
													"protocols": [
														"usp"
													],
													"description": "The number of <<units>> for which the BSS is not present. If <<param>>=0 or if this input in not provided, then <<param>> is not used.",
													"datatype": "unsignedInt",
													"unit": "minutes"
												},
												"ValidityInterval": {
													"type": "unsignedInt",
													"read": true,
													"write": true,
													"protocols": [
														"usp"
													],
													"description": "The amount of time in <<units>> that the <<command>> is valid for. If <<param>>=0 or if this input in not provided, then <<param>> is not used.",
													"datatype": "unsignedInt",
													"unit": "beacon intervals"
												},
												"SteeringTimer": {
													"type": "unsignedInt",
													"read": true,
													"write": true,
													"protocols": [
														"usp"
													],
													"description": "The amount of time in <<units>> that this associated device is not allowed to return to the original BSS. If <<param>>=0 or if this input in not provided, then <<param>> is not used.",
													"datatype": "unsignedInt",
													"unit": "beacon intervals"
												},
												"TargetBSS": {
													"type": "string",
													"read": true,
													"write": true,
													"mandatory": true,
													"protocols": [
														"usp"
													],
													"description": "BSSID of the target BSS which the associated device(s) is to be associated to.",
													"datatype": "MACAddress",
													"range": [
														{
															"max": 17
														}
													],
													"pattern": [
														"",
														"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
													]
												}
											},
											"output": {
												"Status": {
													"type": "string",
													"read": true,
													"write": true,
													"protocols": [
														"usp"
													],
													"description": "Indicates the response to the BSS Transition Management (BTM) request. Enumeration of: Success, Error_Not_Ready, Error_Invalid_Input, Error_Timeout, Error_Invalid_Mac, Error_Interface_Down, Error_Other.",
													"datatype": "string",
													"enumerations": [
														"Success",
														"Error_Not_Ready",
														"Error_Invalid_Input",
														"Error_Timeout",
														"Error_Invalid_Mac",
														"Error_Interface_Down",
														"Error_Other"
													]
												}
											}
										},
										"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA.SteeringSummaryStats.": {
											"type": "object",
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The summary of statistics related to Multi-AP Steering for this STA on the Wi-Fi network. The counters contained in <<object>> are all reset on reboot.",
											"access": false,
											"array": false,
											"NoCandidateAPFailures": {
												"type": "unsignedLong",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Number of times this Associated Device should have been steered but wasnt because a better candidate AP couldnt be found.",
												"datatype": "StatsCounter64"
											},
											"BlacklistAttempts": {
												"type": "unsignedLong",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Number of times a Blacklist steer was attempted on this Associated Device.",
												"datatype": "StatsCounter64"
											},
											"BlacklistSuccesses": {
												"type": "unsignedLong",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Number of times an attempted Blacklist steer succeeded for this Associated Device.",
												"datatype": "StatsCounter64"
											},
											"BlacklistFailures": {
												"type": "unsignedLong",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Number of times an attempted Blacklist steer failed for this Associated Device.",
												"datatype": "StatsCounter64"
											},
											"BTMAttempts": {
												"type": "unsignedLong",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Number of times a BTM (BSS Transition Management; <<bibref|802.11k>>) steer was attempted on this Associated Device.",
												"datatype": "StatsCounter64"
											},
											"BTMSuccesses": {
												"type": "unsignedLong",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Number of times an attempted BTM (BSS Transition Management; <<bibref|802.11k>>) steer succeeded for this Associated Device.",
												"datatype": "StatsCounter64"
											},
											"BTMFailures": {
												"type": "unsignedLong",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Number of times an attempted BTM (BSS Transition Management; <<bibref|802.11k>>) steer failed for this Associated Device.",
												"datatype": "StatsCounter64"
											},
											"BTMQueryResponses": {
												"type": "unsignedLong",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "Number of asynchronous BTM (BSS Transition Management; <<bibref|802.11k>>) Queries for which a BTM Request was issued to this Associated Device.",
												"datatype": "StatsCounter64"
											},
											"LastSteerTime": {
												"type": "unsignedInt",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The number of <<units>> since this Associated Device was last attempted to be steered.",
												"datatype": "unsignedInt",
												"unit": "seconds"
											}
										},
										"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA.SteeringHistory.{i}.": {
											"type": "object",
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The history of Multi-AP Steering for this STA on the Wi-Fi network. The contents of this multi-instance object are reset on reboot.",
											"uniqueKeys": [
												"Time",
												"APOrigin",
												"APDestination"
											],
											"access": false,
											"array": true,
											"Time": {
												"type": "dateTime",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The date/time when steering was initiated for the Associated Device.",
												"datatype": "dateTime"
											},
											"APOrigin": {
												"type": "string",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The BSSID of the Access Point that initiated the steering.",
												"datatype": "string"
											},
											"TriggerEvent": {
												"type": "string",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The type of event that caused the steering to be initiaited. Enumeration of: Unknown, Wi-Fi Channel Utilization, Wi-Fi Link Quality, Backhaul Link Utilization. NOTE: This might be Unknown for BTM Query Response steers.",
												"datatype": "string",
												"enumerations": [
													"Unknown",
													"Wi-Fi Channel Utilization",
													"Wi-Fi Link Quality",
													"Backhaul Link Utilization"
												]
											},
											"SteeringApproach": {
												"type": "string",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The type of steering that was attempted. Enumeration of: Blacklist, BTM Request, Async BTM Query.",
												"datatype": "string",
												"enumerations": [
													"Blacklist",
													"BTM Request",
													"Async BTM Query"
												]
											},
											"APDestination": {
												"type": "string",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The BSSID of the destination Access Point of a successful steer. A failed steering attempt will leave this parameter <<empty>>.",
												"datatype": "string"
											},
											"SteeringDuration": {
												"type": "unsignedInt",
												"read": true,
												"write": false,
												"protocols": [
													"cwmp",
													"usp"
												],
												"description": "The amount of time in <<units>> required for the steer to complete successfully. A failed steering attempt will leave this parameter 0.",
												"datatype": "unsignedInt",
												"unit": "seconds"
											}
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.WiFi6Capabilities.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Describes the Wi-Fi 6 capabilities of the Associated Device (STA).",
										"access": false,
										"array": false,
										"HE160": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for High Efficiency (HE) 160 MHz.",
											"datatype": "boolean"
										},
										"HE8080": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for HE 80+80 MHz.",
											"datatype": "boolean"
										},
										"MCSNSS": {
											"type": "base64",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Supported High Efficiency-Modulation and Coding Scheme (HE-MCS) and Number of Spatial Streams (NSS) Set field as defined in <<bibref|802.11ax|Figure 9-788d>> Supported HE-MCS And NSS Set field format. HE-MCS And NSS Set field for 160MHz is present if 160MHz is supported. HE-MCS And NSS Set field for 80+80MHz is present if 80+80MHz is supported.",
											"datatype": "base64",
											"range": [
												{
													"min": 4,
													"max": 12
												}
											]
										},
										"SUBeamformer": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Single-User (SU) Beamformer.",
											"datatype": "boolean"
										},
										"SUBeamformee": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for SU Beamformee.",
											"datatype": "boolean"
										},
										"MUBeamformer": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Multi-User (MU) Beamformer.",
											"datatype": "boolean"
										},
										"Beamformee80orLess": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Beamformee Space-Time Stream (STS) \u2264 80 MHz.",
											"datatype": "boolean"
										},
										"BeamformeeAbove80": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Beamformee STS > 80 MHz.",
											"datatype": "boolean"
										},
										"ULMUMIMO": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Uplink (UL) Multi-User Multiple Input, Multiple Output (MU-MIMO).",
											"datatype": "boolean"
										},
										"ULOFDMA": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for UL Orthogonal Frequency Division Multiplexing (OFDMA).",
											"datatype": "boolean"
										},
										"DLOFDMA": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Downlink (DL) Orthogonal Frequency Division Multiplexing (OFDMA).",
											"datatype": "boolean"
										},
										"MaxDLMUMIMO": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Max number of users supported per DL MU-MIMO Transmitter (TX) in the BSS role.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"MaxULMUMIMO": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Max number of users supported per UL MU-MIMO Receiver (RX) in the BSS role.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"MaxDLOFDMA": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Max number of users supported per Downlink (DL) OFDMA TX in the BSS role.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"MaxULOFDMA": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Max number of users supported per UL OFDMA RX in the BSS role.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"RTS": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Request To Send (RTS).",
											"datatype": "boolean"
										},
										"MURTS": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for MU RTS.",
											"datatype": "boolean"
										},
										"MultiBSSID": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Multi-Basic Service Set Identifier (BSSID).",
											"datatype": "boolean"
										},
										"MUEDCA": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for MU Enhanced distributed channel access (EDCA).",
											"datatype": "boolean"
										},
										"TWTRequestor": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Target Wake Time (TWT) Requestor.",
											"datatype": "boolean"
										},
										"TWTResponder": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for TWT Responder.",
											"datatype": "boolean"
										},
										"SpatialReuse": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for EasyMesh configuration and reporting of BSS Color and Spatial Reuse.",
											"datatype": "boolean"
										},
										"AnticipatedChannelUsage": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Anticipated Channel Usage (ACU) reporting.",
											"datatype": "boolean"
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.HaLowCapabilities.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Describes the HaLow capabilities of the Associated Device (STA). most of which can be extracted from the Sub 1 GHz (S1G) capabilities Information Element (IE) in <<bibref|802.11-2020|Section 9.4.2.200.2>>.",
										"access": false,
										"array": false,
										"BW4MHz": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for 4 MHz operation.",
											"datatype": "boolean"
										},
										"BW8MHz": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for 8 MHz operation.",
											"datatype": "boolean"
										},
										"BW16MHz": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for 16 MHz operation.",
											"datatype": "boolean"
										},
										"S1GLong": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for the reception of S1G_LONG Physical layer Protocol Data Units (PPDUs).",
											"datatype": "boolean"
										},
										"BW1MHzShortGI": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for 1 MHz short Guard Interval (GI).",
											"datatype": "boolean"
										},
										"BW2MHzShortGI": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for 2 MHz short GI.",
											"datatype": "boolean"
										},
										"BW4MHzShortGI": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for 4 MHz short GI.",
											"datatype": "boolean"
										},
										"BW8MHzShortGI": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for 8 MHz short GI.",
											"datatype": "boolean"
										},
										"BW16MHzShortGI": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for 16 MHz short GI.",
											"datatype": "boolean"
										},
										"AMSDU": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support of Aggregated MAC Service Data Units (AMSDU).",
											"datatype": "boolean"
										},
										"AMPDU": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support of Aggregated MAC Protocol Data Units (AMPDU).",
											"datatype": "boolean"
										},
										"FlowControl": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Flow Control <<bibref|802.11-2020|Section 10.61>>.",
											"datatype": "boolean"
										},
										"CentralizedAuthenticationControl": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Centralized Authentication Control <<bibref|802.11-2020|Section 11.3.9.2>>.",
											"datatype": "boolean"
										},
										"DistributedAuthenticationControl": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Distributed Authentication Control (DAC) <<bibref|802.11-2020|Section 11.3.9.3>>.",
											"datatype": "boolean"
										},
										"MaxMPDULen": {
											"type": "string",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates the maximum MAC Protocol Data Unit (MPDU) length in octets. Enumeration of: 3895, 7991.",
											"datatype": "string",
											"enumerations": [
												"3895",
												"7991"
											]
										},
										"NonTIMMode": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support of non-Traffic Indication Map (non-TIM) operation <<bibref|802.11-2020|Section 10.48>>.",
											"datatype": "boolean"
										},
										"DynamicAID": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support of Dynamic Association ID (AID) operation <<bibref|802.11-2020|Section 10.20>>.",
											"datatype": "boolean"
										},
										"GroupAID": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support of Group Association ID (AID) <<bibref|802.11-2020|Section 10.55>>.",
											"datatype": "boolean"
										},
										"BATSupport": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for the use of the Block Acknowledgment TWT (BAT) frame in Block Agreements <<bibref|802.11-2020|Section 9.8.4.3>>.",
											"datatype": "boolean"
										},
										"RAWOperation": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Restricted access window (RAW) operation <<bibref|802.11-2020|Section 10.23.5>>.",
											"datatype": "boolean"
										},
										"PageSlicing": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Page Slicing Operation <<bibref|802.11-2020|Section 10.51>>.",
											"datatype": "boolean"
										},
										"PV1Frame": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Protocol Version 1 (PV1) frames <<bibref|802.11-2020|Section 9.8>>.",
											"datatype": "boolean"
										},
										"TxMCSNSS": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Supported Tx S1G-MCS Map subfield and Coding Scheme (S1G-MCS) and Number of Spatial Streams (NSS) Set field as defined in <<bibref|802.11-2020|Figure 9-694>>.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"RxMCSNSS": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Supported Rx S1G-MCS Map subfield and Coding Scheme (S1G-MCS) and Number of Spatial Streams (NSS) Set field as defined in <<bibref|802.11-2020|Figure 9-694>>.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"SUBeamformer": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Single-User (SU) Beamformer <<bibref|802.11-2020|10.36.5 VHT sounding protocol>>.",
											"datatype": "boolean"
										},
										"SUBeamformee": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Single-User (SU) Beamformee <<bibref|802.11-2020|10.36.5 VHT sounding protocol>>.",
											"datatype": "boolean"
										},
										"MUBeamformer": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Multi-User (MU) Beamformer <<bibref|802.11-2020|10.36.5 VHT sounding protocol>>.",
											"datatype": "boolean"
										},
										"MUBeamformee": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Multi-User (MU) Beamformee <<bibref|802.11-2020|10.36.5 VHT sounding protocol>>.",
											"datatype": "boolean"
										},
										"TravelingPilot": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for or the reception of PPDUs with traveling pilots <<bibref|802.11-2020|10.56 Traveling pilot operation>>.",
											"datatype": "boolean"
										},
										"TWTGrouping": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Target Wake Time (TWT) Grouping <<bibref|802.11-2020|10.47.5 TWT grouping>>.",
											"datatype": "boolean"
										},
										"TWTRequestor": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Target Wake Time (TWT) Requestor <<bibref|802.11-2020|10.47 Target wake time (TWT)>>.",
											"datatype": "boolean"
										},
										"TWTResponder": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates support for Target Wake Time (TWT) TWTResponder <<bibref|802.11-2020|10.47 Target wake time (TWT)>>.",
											"datatype": "boolean"
										},
										"IsSensorDevice": {
											"type": "boolean",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Indicates if this is a sensor device. A value of <<false>> indicates this is a non-sensor device.",
											"datatype": "boolean"
										}
									},
									"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.TIDQueueSizes.{i}.": {
										"type": "object",
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Object describing Traffic Identifiers (TIDs), and Queue Size for each TID, for this Associated Device (STA).",
										"uniqueKeys": [
											"TID"
										],
										"access": false,
										"array": true,
										"TID": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "The TID of the corresponding Queue Size field.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										},
										"Size": {
											"type": "unsignedInt",
											"read": true,
											"write": false,
											"protocols": [
												"cwmp",
												"usp"
											],
											"description": "Queue Size for this TID. Its format is defined in Table 9-10-QoS Control field <<bibref|802.11-2020>>.",
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										}
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.MultiAPRadio.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object represents an individual Access Point Radio in the Wi-Fi network.",
								"access": false,
								"array": false,
								"RadarDetections": {
									"type": "string",
									"read": true,
									"write": false,
									"obsolete": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list>> List items represent channels in the non-occupancy list due to radars detected by Dynamic Frequency Selection (DFS) Channel Availability Check (CAC). <<deprecated|2.18|because it was superseded by <<object|##.CACStatus.<i>.>>.>>",
									"list": {
										"datatype": "unsignedInt",
										"maxsize": 1024
									}
								},
								"FullScan()": {
									"type": "command",
									"async": true,
									"protocols": [
										"usp"
									],
									"input": {
										"DwellTime": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"mandatory": true,
											"protocols": [
												"usp"
											],
											"description": "The duration of the time to scan each channel in <<units>>. A value of 50 <<units>> is suggested.",
											"datatype": "unsignedInt",
											"unit": "milliseconds"
										},
										"DFSDwellTime": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"mandatory": true,
											"protocols": [
												"usp"
											],
											"description": "The duration of time to scan each Dynamic Frequency Selection (DFS) channel in <<units>>. A value of at least one beacon interval, typically 100 <<units>>, is suggested.",
											"datatype": "unsignedInt",
											"unit": "milliseconds"
										},
										"HomeTime": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "The time in <<units>> after which the driver has to go back to the original channel before scanning the next channel to avoid disruption. If this is omitted, or is not supported by the device, then it should be ignored.",
											"datatype": "unsignedInt",
											"unit": "milliseconds"
										},
										"SSID": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "The Service Set Identifier (SSID) to scan. If omitted, then all SSIDs are scanned.",
											"datatype": "string"
										}
									},
									"output": {
										"Status": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates the type of outcome of the request to initiate a full band scan. Enumeration of: Success, Error_Not_Ready, Error_Timeout, Error_Invalid_Input, Error_Interface_Down, Error_Other.",
											"datatype": "string",
											"enumerations": [
												"Success",
												"Error_Not_Ready",
												"Error_Timeout",
												"Error_Invalid_Input",
												"Error_Interface_Down",
												"Error_Other"
											]
										}
									}
								},
								"ChannelScan()": {
									"type": "command",
									"async": true,
									"protocols": [
										"usp"
									],
									"input": {
										"DwellTime": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"mandatory": true,
											"protocols": [
												"usp"
											],
											"description": "The duration of the time to scan each channel in <<units>>. A value of 50 <<units>> is suggested.",
											"datatype": "unsignedInt",
											"unit": "milliseconds"
										},
										"DFSDwellTime": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"mandatory": true,
											"protocols": [
												"usp"
											],
											"description": "The duration of time to scan each Dynamic Frequency Selection (DFS) channel in <<units>>. A value of at least one beacon interval, typically 100 <<units>>, is suggested.",
											"datatype": "unsignedInt",
											"unit": "milliseconds"
										},
										"HomeTime": {
											"type": "unsignedInt",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "The time in <<units>> after which the driver has to go back to the original channel before scanning the next channel to avoid disruption. If this is omitted, or is not supported by the device, then it should be ignored.",
											"datatype": "unsignedInt",
											"unit": "milliseconds"
										},
										"SSID": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "The Service Set Identifier (SSID) to scan. If omitted, then all SSIDs are scanned.",
											"datatype": "string"
										}
									},
									"output": {
										"Status": {
											"type": "string",
											"read": true,
											"write": true,
											"protocols": [
												"usp"
											],
											"description": "Indicates the type of outcome of the request to initiate a channel scan. Enumeration of: Success, Error_Not_Ready, Error_Invalid_Input, Error_Timeout, Error_Interface_Down, Error_Other.",
											"datatype": "string",
											"enumerations": [
												"Success",
												"Error_Not_Ready",
												"Error_Invalid_Input",
												"Error_Timeout",
												"Error_Interface_Down",
												"Error_Other"
											]
										}
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.UnassociatedSTA.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Each instance represents a station (STA) that has been discovered by the Radio but is not associated to any of the BSS operating on the Radio.",
								"uniqueKeys": [
									"MACAddress"
								],
								"access": false,
								"array": true,
								"MACAddress": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The MAC address of the Non-AP STA.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"SignalStrength": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "An indicator of radio signal strength (RCPI) of the uplink from the Non-AP STA - measured in <<units>>. RCPI is encoded per <<bibref|802.11-2020|Table 9-176>>, and described in <<bibref|EasyMesh|Section 10.3.2>>. Reserved: 221 - 255.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									],
									"unit": "dBm"
								},
								"OperatingClass": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Operating class on which this unassociated STA was last detected, per <<bibref|802.11ax|Table E-4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								},
								"Channel": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Channel on which this unassociated STA was last detected.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								}
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.WPS.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object contains Wi-Fi Protected Setup (WPS) Push Button Configuration (PBC) configuration and status as specified in <<bibref|WPSv1.0>> or <<bibref|WPS 2.0>>). In EasyMesh <<bibref|EasyMesh>> this object applies to fronthaul only.",
							"access": false,
							"array": false,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables WPS functionality for this EasyMesh agent or single AP.",
								"datatype": "boolean"
							},
							"Status": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates the current status of WPS. If the device goes to <<enum|SetupLocked>> the WPS needs to be disabled and re-enabled to come out of this state.",
								"datatype": "string",
								"enumerations": [
									"Disabled",
									"Error",
									"Unconfigured",
									"Configured",
									"SetupLocked",
									"InProgress"
								]
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Table of Multi-Link Operation (MLO) capable Access Points (APs) on this EasyMesh Agent or Single AP device. <<bibref|EasyMesh>> source: Agent AP MLD Configuration TLV.",
							"uniqueKeys": [
								"MLDMACAddress"
							],
							"access": false,
							"array": true,
							"MLDMACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Multi-Link Device (MLD) MAC Address of the MLO Capable access point (AP). <<bibref|EasyMesh>> Source: Agent AP MLD Configuration TLV.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"TIDLinkMapNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"AffiliatedAPNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"STAMLDNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"LinkToOpClassMapNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.APMLDConfig.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object describes the Wi-Fi 7 Multi-Link Operation (MLO) configuration of the Multi-Link Device (MLD) Access Point (AP), <<bibref|EasyMesh>> source: Agent AP MLD Configuration TLV.",
								"access": false,
								"array": false,
								"EMLMREnabled": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if the Enhanced Multi-Link Multi-Radio (EMLMR) operation is enabled.",
									"datatype": "boolean"
								},
								"EMLSREnabled": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if Enhanced Multi-Link Single-Radio (EMLSR) operation is enabled.",
									"datatype": "boolean"
								},
								"STREnabled": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if Simultaneous Transmit and Receive (STR) operation is enabled.",
									"datatype": "boolean"
								},
								"NSTREnabled": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if Non-Simultaneous Transmit and Receive (NSTR) operation is enabled.",
									"datatype": "boolean"
								},
								"TIDLinkMapNegotiation": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if Traffic Identifier (TID) to Link Mapping Negotiation is enabled. <<bibref|EasyMesh>> source: TID-to-Link Mapping Policy TLV.",
									"datatype": "boolean"
								},
								"TIDToOpClassPolicyNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.APMLDConfig.TIDToOpClassPolicy.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Table of Traffic Identifier (TID) to Operating Class to be used as a policy when configuring TID-to-Link Mapping in the Multi-Link Operation (MLO) capable access point (AP). Each table entry describes the mapping between a particular TID and direction and the required current Operating Class for any link to be used for this TID when constructing a TID-to-Link Map <<bibref|EasyMesh|Section 20.2.8>>.",
									"uniqueKeys": [
										"TID",
										"Direction"
									],
									"access": true,
									"array": true,
									"Enable": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "This parameter indicates whether the TID-to-Link mapping entry is enabled for Multi-Link Operation (MLO) on the access point (AP). When set to true, the mapping between the specified Traffic Identifier (TID), direction, and required Operating Class will be active, and the TID-to-Link mapping policy will be applied during Multi-Link operations. When set to false, the entry will be ignored.",
										"default": "false",
										"datatype": "boolean"
									},
									"TID": {
										"type": "unsignedInt",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The traffic identifier (TID) for this mapping. This <<param>> is a unique key for this table.",
										"datatype": "unsignedInt",
										"range": [
											{
												"min": 0,
												"max": 255
											}
										]
									},
									"OpClass": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<list>> The Operating class of an available channel, from <<bibref|802.11ax|Table E-4>>. The TID can be mapped to any link using a radio with a current operating class within this list.",
										"list": {
											"datatype": "unsignedInt",
											"range": [
												{
													"max": 255
												}
											]
										}
									},
									"Direction": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The direction of the traffic flow from the perspective the APMLD. Enumeration of: Up, Down. This <<param>> is a unique key for this table.",
										"datatype": "string",
										"enumerations": [
											"Up",
											"Down"
										]
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.TIDLinkMap.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Table of Traffic Identifier (TID) to Link Mappings of the Multi-Link Operation (MLO) capable access point (AP). Each table entry describes the mapping between a particular TID and direction and preferred link. <<bibref|EasyMesh>> source: TID-to-Link Mapping Policy TLV.",
								"uniqueKeys": [
									"TID"
								],
								"access": false,
								"array": true,
								"Direction": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The direction of the traffic flow from the perspective of the APMLD. Enumeration of: Up, Down.",
									"datatype": "string",
									"enumerations": [
										"Up",
										"Down"
									]
								},
								"TID": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The traffic identifier (TID) for this mapping.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 255
										}
									]
								},
								"BSSID": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The BSSID of the preferred link (affiliated AP) to use for traffic with matching direction and TID values.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"LinkID": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<list>> The Link ID of the preferred link (affiliated AP) to use for traffic with matching direction and TID values.",
									"list": {
										"datatype": "unsignedInt",
										"range": [
											{
												"min": 0,
												"max": 15
											}
										]
									}
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.LinkToOpClassMap.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object describes the relationship between an Affiliated AP and the Operating Class (OpClass) of the Radio that the Affiliated AP is operating on <<bibref|EasyMesh|Section 20.2.8>>.",
								"uniqueKeys": [
									"LinkID"
								],
								"access": false,
								"array": true,
								"LinkID": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Link ID assigned to one of the affiliated APs of this APMLD. <<bibref|EasyMesh|Section 17.2.96, Agent AP MLD Configuration TLV>>",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 15
										}
									]
								},
								"OpClass": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "One of the current Operating Class per <<bibref|802.11ax|Table E-4>> that the Radio on which the Affiliated AP with the given <<param|LinkID>> is operating on.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 255
										}
									]
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.AffiliatedAP.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Access Points (APs) affiliated to the AP MLD. <<bibref|EasyMesh>> Source: Agent AP MLD Configuration TLV. Counters in this object only include MLD traffic.",
								"uniqueKeys": [
									"BSSID"
								],
								"access": false,
								"array": true,
								"BSSID": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The BSSID of the affiliated AP. This should be set to one of the values of <<param|##.Radio.<i>.BSS.<i>.BSSID>>. <<bibref|EasyMesh>> source: Agent AP MLD Configuration TLV.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"LinkID": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Link ID assigned to this affiliated AP. <<bibref|EasyMesh>> source: Agent AP MLD Configuration TLV.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 15
										}
									]
								},
								"RUID": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Radio unique identifier (RUID) of the Radio that this affiliated AP is operating on. <<bibref|EasyMesh>> source: Agent AP MLD Configuration TLV.",
									"datatype": "base64"
								},
								"DisabledSubChannels": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Disabled Subchannel Bitmap subfield from the EHT Operation element in transmitted Management frames. Null value or not present for stations. <<bibref|EasyMesh>> source: Static Puncturing Configuration TLV.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 65535
										}
									]
								},
								"PacketsSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The number of packets transmitted by the Affiliated AP. Note: this counter counts only MLD traffic through this BSSID, not legacy (non-MLD) traffic. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
									"datatype": "StatsCounter32"
								},
								"PacketsReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The total number of packets received from the affiliated STAs by this Affiliated AP. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
									"datatype": "StatsCounter32"
								},
								"UnicastBytesSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of unicast bytes transmitted to MLD STAs associated with the affiliated AP. <<bibref|EasyMesh>> source: Affiliated AP Metrics TLV.",
									"datatype": "StatsCounter32"
								},
								"UnicastBytesReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of unicast bytes received from MLD STAs associated with the affiliated AP. <<bibref|EasyMesh>> source: Affiliated AP Metrics TLV.",
									"datatype": "StatsCounter32"
								},
								"ErrorsSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The number of packets which could not be transmitted by the Affiliated AP due to errors. This counter counts only MLD traffic through this BSSID, not legacy (non-MLD) traffic. <<bibref|EasyMesh>> source: Affiliated AP Metrics TLV.",
									"datatype": "StatsCounter32"
								},
								"MulticastBytesSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total multicast bytes transmitted to MLD STAs associated with the affiliated AP. <<bibref|EasyMesh>> source: Affiliated AP Metrics TLV.",
									"datatype": "StatsCounter32"
								},
								"MulticastBytesReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total multicast bytes received from MLD STAs associated with the affiliated AP. <<bibref|EasyMesh>> source: Affiliated AP Metrics TLV.",
									"datatype": "StatsCounter32"
								},
								"BroadcastBytesSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total broadcast bytes transmitted to MLD STAs associated with the affiliated AP. <<bibref|EasyMesh>> source: Affiliated AP Metrics TLV.",
									"datatype": "StatsCounter32"
								},
								"BroadcastBytesReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total broadcast bytes received from MLD STAs associated with the affiliated AP. <<bibref|EasyMesh>> source: Affiliated AP Metrics TLV.",
									"datatype": "StatsCounter32"
								},
								"EstServiceParametersBE": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated Service Parameters information field for AC=BE, defined per <<bibref|802.11-2020|Figure 9-637>> and referenced in <<bibref|EasyMesh|Section 17.2.22>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 0,
											"max": 3
										}
									]
								},
								"EstServiceParametersBK": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated Service Parameters information field for AC=BK, defined per <<bibref|802.11-2020|Figure 9-637>> and referenced in <<bibref|EasyMesh|Section 17.2.22>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 0,
											"max": 3
										}
									]
								},
								"EstServiceParametersVI": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated Service Parameters information field for AC=VI, defined per <<bibref|802.11-2020|Figure 9-637>> and referenced in <<bibref|EasyMesh|Section 17.2.22>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 0,
											"max": 3
										}
									]
								},
								"EstServiceParametersVO": {
									"type": "base64",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated Service Parameters information field for AC=VO, defined per <<bibref|802.11-2020|Figure 9-637>> and referenced in <<bibref|EasyMesh|Section 17.2.22>>.",
									"datatype": "base64",
									"range": [
										{
											"min": 0,
											"max": 3
										}
									]
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.STAMLD.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object describes Multi-Link Operation (MLO) capable stations (STAs), also known as client Multilink Devices (MLDs), associated to this MLO capable Access Point. <<bibref|EasyMesh>> source: Associated Clients TLV.",
								"uniqueKeys": [
									"MLDMACAddress"
								],
								"access": false,
								"array": true,
								"MLDMACAddress": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Multi-Link Device (MLD) MAC Address of the client MLD STA. <<bibref|EasyMesh>> source: Associated STA MLD Configuration Report TLV.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"Hostname": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Hostname for the client MLD STA.",
									"datatype": "string"
								},
								"IPv4Address": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The IPv4 address allocated to the MLD MAC Address of this device.",
									"datatype": "IPv4Address",
									"range": [
										{
											"max": 15
										}
									],
									"pattern": [
										"",
										"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
									]
								},
								"IPv6Address": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The IPv6 address allocated to the MLD MAC Address of this device.",
									"datatype": "IPv6Address"
								},
								"IsbSTA": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if the client MLD STA is a backhaul MLD STA (bSTAMLD). This is useful when the same AP MLD has both client MLD and bSTAMLDs associated. <<bibref|EasyMesh>> source: Backhaul STA MLD Configuration TLV.",
									"datatype": "boolean"
								},
								"LastConnectTime": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The time in <<units>> since this client MLD STA was associated.",
									"datatype": "unsignedInt",
									"unit": "seconds"
								},
								"BytesSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The total number of bytes transmitted to the client MLD STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
									"datatype": "StatsCounter32"
								},
								"BytesReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The total number of bytes received from the client MLD STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
									"datatype": "StatsCounter32"
								},
								"PacketsSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The total number of packets transmitted to the client MLD STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
									"datatype": "StatsCounter32"
								},
								"PacketsReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The total number of packets received from the client MLD STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
									"datatype": "StatsCounter32"
								},
								"ErrorsSent": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The number of packets which could not be transmitted to the client MLD STA due to errors. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
									"datatype": "StatsCounter32"
								},
								"ErrorsReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The number of packets which were received with error from the client MLD STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
									"datatype": "StatsCounter32"
								},
								"RetransCount": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The number of packets transmitted with the retry flag sent to the client MLD STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
									"datatype": "StatsCounter32"
								},
								"PairwiseAKM": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Pairwise AKM suite selector selected by the STAMLD. The Pairwise AKM suite selector (OUI and type) is encoded as a 4-octet hex-encoded value without internal delimiters, e.g. 506F9A02 <<bibref|802.11-2020|Table 9-151>>.",
									"datatype": "hexBinary",
									"range": [
										{
											"min": 4,
											"max": 4
										}
									]
								},
								"PairwiseCipher": {
									"type": "hexBinary",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Pairwise AKM cipher selector selected by the STAMLD. The Pairwise AKM cipher selector (OUI and type) is encoded as a 4-octet hex-encoded value without internal delimiters, e.g. 506F9A02 <<bibref|802.11-2020|Table 9-149>>.",
									"datatype": "hexBinary",
									"range": [
										{
											"min": 4,
											"max": 4
										}
									]
								},
								"RSNCapabilities": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The RSN Capabilities selected by the STAMLD during association <<bibref|802.11-2020|Section 9.4.2.24.4>>.",
									"datatype": "unsignedInt",
									"range": [
										{
											"max": 65535
										}
									]
								},
								"STATIDLinkMapNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"AffiliatedSTANumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.STAMLD.{i}.WiFi7Capabilities.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object describes the Wi-Fi 7 capabilities for this STAMLD including Multi-Link Operation (MLO) capabilities. <<bibref|EasyMesh>> Source: Wi-Fi 7 Agent Capabilities TLV.",
									"access": false,
									"array": false,
									"EMLMRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if the Enhanced Multi-Link Multi-Radio (EMLMR) operation is supported by this STAMLD.",
										"datatype": "boolean"
									},
									"EMLSRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Enhanced Multi-Link Single-Radio (EMLSR) operation is supported by this STAMLD.",
										"datatype": "boolean"
									},
									"STRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Simultaneous Transmit and Receive (STR) operation is supported by this STAMLD.",
										"datatype": "boolean"
									},
									"NSTRSupport": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Non-Simultaneous Transmit and Receive (NSTR) operation is supported by this STAMLD.",
										"datatype": "boolean"
									},
									"TIDLinkMapNegotiation": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Traffic Identifier (TID) to Link Mapping Negotiation is supported by this STAMLD.",
										"datatype": "boolean"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.STAMLD.{i}.STAMLDConfig.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object describes the Wi-Fi 7 Multi-Link Operation (MLO) configuration of the Multi-Link Device (MLD) station (STA, also called associated device). Note this may differ from the WiFi7 capabilities of the device. <<bibref|EasyMesh>> source: Associated STA MLD Configuration Report TLV.",
									"access": false,
									"array": false,
									"EMLMREnabled": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if the Enhanced Multi-Link Multi-Radio (EMLMR) operation is enabled.",
										"datatype": "boolean"
									},
									"EMLSREnabled": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Enhanced Multi-Link Single-Radio (EMLSR) operation is enabled.",
										"datatype": "boolean"
									},
									"STREnabled": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Simultaneous Transmit and Receive (STR) operation is enabled.",
										"datatype": "boolean"
									},
									"NSTREnabled": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Non-Simultaneous Transmit and Receive (NSTR) operation is enabled.",
										"datatype": "boolean"
									},
									"TIDLinkMapNegotiation": {
										"type": "boolean",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Indicates if Traffic Identifier (TID) to Link Mapping Negotiation is enabled. <<bibref|EasyMesh>> source: TID-to-Link Mapping Policy TLV.",
										"datatype": "boolean"
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.STAMLD.{i}.STATIDLinkMap.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Table of Traffic Identifier (TID) to Link Mappings of the Multi-Link Operation (MLO) capable station (STA). Each table entry describes the mapping between a particular TID and direction and preferred link. <<bibref|EasyMesh>> source: TID-to-Link Mapping Policy TLV.",
									"uniqueKeys": [
										"TID"
									],
									"access": false,
									"array": true,
									"Direction": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The direction of the traffic flow from the perspective of the APMLD. Enumeration of: Up, Down.",
										"datatype": "string",
										"enumerations": [
											"Up",
											"Down"
										]
									},
									"TID": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The traffic identifier (TID) for this mapping.",
										"datatype": "unsignedInt",
										"range": [
											{
												"min": 0,
												"max": 255
											}
										]
									},
									"BSSID": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The BSSID of the preferred link (affiliated AP) to use for traffic with matching direction and TID values.",
										"datatype": "MACAddress",
										"range": [
											{
												"max": 17
											}
										],
										"pattern": [
											"",
											"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
										]
									},
									"LinkID": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "<<list>> The Link ID of the preferred link (affiliated AP) to use for traffic with matching direction and TID values.",
										"list": {
											"datatype": "unsignedInt",
											"range": [
												{
													"min": 0,
													"max": 15
												}
											]
										}
									}
								},
								"Device.WiFi.DataElements.Network.Device.{i}.APMLD.{i}.STAMLD.{i}.AffiliatedSTA.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "This object describes stations (STAs, also called associated devices) that are affiliated to this Multi-Link Device (MLD) STA. <<bibref|EasyMesh>> source: Associated STA MLD Configuration TLV.",
									"uniqueKeys": [
										"MACAddress"
									],
									"access": false,
									"array": true,
									"MACAddress": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The MAC address of the affiliated STA. <<bibref|EasyMesh>> source: Associated STA MLD Configuration Report TLV.",
										"datatype": "MACAddress",
										"range": [
											{
												"max": 17
											}
										],
										"pattern": [
											"",
											"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
										]
									},
									"BSSID": {
										"type": "string",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The BSSID of the affiliated AP that the affiliated STA is associated to. <<bibref|EasyMesh>> source: Associated STA MLD Configuration Report TLV.",
										"datatype": "MACAddress",
										"range": [
											{
												"max": 17
											}
										],
										"pattern": [
											"",
											"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
										]
									},
									"BytesSent": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of bytes transmitted to the affiliated STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
										"datatype": "StatsCounter32"
									},
									"BytesReceived": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of bytes received from the affiliated STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
										"datatype": "StatsCounter32"
									},
									"PacketsSent": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of packets transmitted to the affiliated STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
										"datatype": "StatsCounter32"
									},
									"PacketsReceived": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The total number of packets received from the affiliated STA. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
										"datatype": "StatsCounter32"
									},
									"ErrorsSent": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The number of packets which could not be transmitted to the affiliated STA due to errors. <<bibref|EasyMesh>> source: Associated STA Traffic Stats TLV.",
										"datatype": "StatsCounter32"
									},
									"SignalStrength": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "An indicator of radio signal strength of the uplink from the affiliated STA to the access point - measured in <<units>>. RCPI is encoded per <<bibref|802.11-2020|Table 9-176>>, and described in <<bibref|EasyMesh|Section 10.3.1>>). Reserved: 221 - 255.",
										"datatype": "unsignedInt",
										"range": [
											{
												"max": 255
											}
										],
										"unit": "dBm"
									},
									"EstMACDataRateDownlink": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Estimate of the MAC layer throughput in <<units>> achievable in the downlink direction if 100% of channel airtime and BSS operating bandwidth were available, as defined in <<bibref|EasyMesh|Section 10.3.1>>.",
										"datatype": "unsignedInt",
										"unit": "Mbps"
									},
									"EstMACDataRateUplink": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "Estimate of the MAC layer throughput in <<units>> achievable in the uplink direction if 100% of channel airtime and BSS operating bandwidth were available, as defined in <<bibref|EasyMesh|Section 10.3.1>>.",
										"datatype": "unsignedInt",
										"unit": "Mbps"
									},
									"LastDataDownlinkRate": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the access point to the affiliated STA.",
										"datatype": "unsignedInt",
										"unit": "kbps"
									},
									"LastDataUplinkRate": {
										"type": "unsignedInt",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the affiliated STA to the access point.",
										"datatype": "unsignedInt",
										"unit": "kbps"
									},
									"UtilizationReceive": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The amount of time in <<units>> that the APMLD Radio has spent on the channel receiving data from the affiliated STA.",
										"datatype": "unsignedLong",
										"unit": "milliseconds"
									},
									"UtilizationTransmit": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "The amount of time in <<units>> that the APMLD Radio has spent on the channel transmitting data to the affiliated STA.",
										"datatype": "unsignedLong",
										"unit": "milliseconds"
									}
								}
							}
						},
						"Device.WiFi.DataElements.Network.Device.{i}.bSTAMLD.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents the Multi-Link Operation (MLO) capable backhaul station (bSTA) operating on this EasyMesh Agent. Only one MLO capable bSTA per EasyMesh Agent is allowed. <<bibref|EasyMesh>> source: Backhaul STA MLD Configuration TLV.",
							"access": false,
							"array": false,
							"MLDMACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Multi-Link Device (MLD) MAC Address of the MLO Capable bSTA. <<bibref|EasyMesh>> Source: Backhaul STA MLD Configuration TLV.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"BSSID": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The MLD MAC address of the upstream APMLD that this bSTAMLD is associated to. <<bibref|EasyMesh>> source: Associated Clients TLV.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"AffiliatedbSTAList": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> backhaul STA MAC addresses affiliated to this bSTAMLD. <<bibref|EasyMesh>> source: Backhaul STA MLD Configuration TLV.",
								"list": {
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								}
							},
							"Device.WiFi.DataElements.Network.Device.{i}.bSTAMLD.bSTAMLDConfig.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object describes the Multi-Link Operation (MLO) configuration of a Multi-Link Device (MLD) backhaul STA (bSTA). <<bibref|EasyMesh>> source: Backhaul STA MLD Configuration TLV.",
								"access": false,
								"array": false,
								"EMLMREnabled": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if the Enhanced Multi-Link Multi-Radio (EMLMR) operation is enabled.",
									"datatype": "boolean"
								},
								"EMLSREnabled": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if Enhanced Multi-Link Single-Radio (EMLSR) operation is enabled.",
									"datatype": "boolean"
								},
								"STREnabled": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if Simultaneous Transmit and Receive (STR) operation is enabled.",
									"datatype": "boolean"
								},
								"NSTREnabled": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if Non-Simultaneous Transmit and Receive (NSTR) operation is enabled.",
									"datatype": "boolean"
								},
								"TIDLinkMapNegotiation": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates if Traffic Identifier (TID) to Link Mapping Negotiation is enabled. <<bibref|EasyMesh>> source: TID-to-Link Mapping Policy TLV.",
									"datatype": "boolean"
								}
							}
						}
					},
					"Device.WiFi.DataElements.Network.PreferredBackhauls.{i}.": {
						"type": "object",
						"protocols": [
							"usp"
						],
						"description": "This object specifies the preferred backhaul links as populated by <<command|#.SetPreferredBackhauls()>>.",
						"uniqueKeys": [
							"bSTAMACAddress"
						],
						"access": false,
						"array": true,
						"BackhaulMACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"usp"
							],
							"description": "The MAC address of the BSS, or APMLD, or similar Ethernet interface, on this preferred backhaul link.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"bSTAMACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"usp"
							],
							"description": "The MAC address of the backhaul Station STA (bSTA), or bSTAMLD, or similar Ethernet interface, on this preferred backhaul link.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					}
				},
				"Device.WiFi.DataElements.AssociationEvent.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains the events generated when a STA associates to a BSS.",
					"access": false,
					"array": false,
					"AssociationEventDataNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>> <<deprecated|2.17|because a corresponding USP event is defined instead>> <<obsoleted|2.19>>",
						"datatype": "unsignedInt"
					},
					"Associated!": {
						"type": "event",
						"protocols": [
							"usp"
						],
						"output": {
							"TimeStamp": {
								"type": "dateTime",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The time this event happened. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
								"datatype": "dateTime"
							},
							"BSSID": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "If a MLD, the MAC Address of the AP MLD, otherwise the MAC Address of the logical BSS (BSSID) which is reporting the Association Event.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"MACAddress": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "If a MLD, the MAC Address of the Client MLD, otherwise the MAC Address of the Associated Device (STA).",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"StatusCode": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The status code sent to the Associated Device (STA) in the Association Response frame as defined by <<bibref|802.11-2020|Table 9-50>>.",
								"datatype": "unsignedInt"
							},
							"HTCapabilities": {
								"type": "base64",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Describes the HT capabilities of the Associated Device (STA).",
								"datatype": "base64",
								"range": [
									{
										"min": 1,
										"max": 1
									}
								]
							},
							"VHTCapabilities": {
								"type": "base64",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Describes the VHT capabilities of the Associated Device (STA).",
								"datatype": "base64",
								"range": [
									{
										"min": 2,
										"max": 6
									}
								]
							},
							"HECapabilities": {
								"type": "base64",
								"read": true,
								"write": true,
								"obsolete": true,
								"protocols": [
									"usp"
								],
								"description": "Describes the HE capabilities of the Associated Device (STA). <<deprecated|2.16|because it is superseded by <<object|WiFi6Capabilities>>.>> <<obsoleted|2.18>> <<deleted|2.19>>",
								"datatype": "base64",
								"range": [
									{
										"min": 4,
										"max": 14
									}
								]
							},
							"ClientCapabilities": {
								"type": "base64",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The frame body of the (Re)Association Request frame received from this client (STA), as defined in Table 9-34 and Table 9-36 of <<bibref|802.11-2020>> in the order of the underlying referenced standard.",
								"datatype": "base64"
							},
							"OpClass": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Operating class in use at the time of this event, from <<bibref|802.11ax|Table E-4>>. May be determined from <<bibref|EasyMesh|Table 17.2.17, Operating Channel Report TLV>> and the Supported Operating Classes element in <<bibref|EasyMesh|Table 17.2.19, Client Capability Report TLV>>. For Multi-Link Operation (MLO) this is the operating class over which association messaging had occurred.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"Channel": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The single channel number of the channel in use at the time of this event. May be determined from <<bibref|EasyMesh|Table 17.2.17, Operating Channel Report TLV>> and the Supported Operating Classes element in <<bibref|EasyMesh|Table 17.2.19, Client Capability Report TLV>>. For Multi-Link Operation (MLO) this is the channel over which association messaging had occurred.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							}
						}
					},
					"Device.WiFi.DataElements.AssociationEvent.AssociationEventData.{i}.": {
						"type": "object",
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The events generated when an Associated Device (STA) associates to a BSS. <<deprecated|2.17|because a corresponding USP event is defined instead>> <<obsoleted|2.19>>",
						"access": false,
						"array": true,
						"TimeStamp": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time this event happened. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
							"datatype": "dateTime"
						},
						"BSSID": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If a MLD, the MAC Address of the AP MLD, otherwise the MAC Address of the logical BSS (BSSID) which is reporting the Association Event.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"MACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If a MLD, the MAC Address of the Client MLD, otherwise the MAC Address of the Associated Device (STA).",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"StatusCode": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The status code sent to the Associated Device (STA) in the Association Response frame as defined by <<bibref|802.11-2020|Table 9-50>>.",
							"datatype": "unsignedInt"
						},
						"HTCapabilities": {
							"type": "base64",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Describes the HT capabilities of the Associated Device (STA).",
							"datatype": "base64",
							"range": [
								{
									"min": 1,
									"max": 1
								}
							]
						},
						"VHTCapabilities": {
							"type": "base64",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Describes the VHT capabilities of the Associated Device (STA).",
							"datatype": "base64",
							"range": [
								{
									"min": 2,
									"max": 6
								}
							]
						},
						"HECapabilities": {
							"type": "base64",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Describes the HE capabilities of the Associated Device (STA). <<deprecated|2.16|because it is superseded by <<object|WiFi6Capabilities>>.>> <<obsoleted|2.18>> <<deleted|2.19>>",
							"datatype": "base64",
							"range": [
								{
									"min": 4,
									"max": 14
								}
							]
						},
						"ClientCapabilities": {
							"type": "base64",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The frame body of the (Re)Association Request frame received from this client (STA), as defined in Table 9-34 and Table 9-36 of <<bibref|802.11-2020>> in the order of the underlying referenced standard.",
							"datatype": "base64"
						},
						"OpClass": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Operating class in use at the time of this event, from <<bibref|802.11ax|Table E-4>>. May be determined from <<bibref|EasyMesh|Table 17.2.17, Operating Channel Report TLV>> and the Supported Operating Classes element in <<bibref|EasyMesh|Table 17.2.19, Client Capability Report TLV>>. For Multi-Link Operation (MLO) this is the operating class over which association messaging had occurred.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"Channel": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The single channel number of the channel in use at the time of this event. May be determined from <<bibref|EasyMesh|Table 17.2.17, Operating Channel Report TLV>> and the Supported Operating Classes element in <<bibref|EasyMesh|Table 17.2.19, Client Capability Report TLV>>. For Multi-Link Operation (MLO) this is the channel over which association messaging had occurred.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"Device.WiFi.DataElements.AssociationEvent.AssociationEventData.{i}.WiFi6Capabilities.": {
							"type": "object",
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Describes the Wi-Fi 6 capabilities of the Associated Device (STA). <<deprecated|2.17|because a corresponding USP event is defined instead>> <<obsoleted|2.19>>",
							"access": false,
							"array": false,
							"HE160": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for High Efficiency (HE) 160 MHz.",
								"datatype": "boolean"
							},
							"HE8080": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for HE 80+80 MHz.",
								"datatype": "boolean"
							},
							"MCSNSS": {
								"type": "base64",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Supported High Efficiency-Modulation and Coding Scheme (HE-MCS) and Number of Spatial Streams (NSS) Set field as defined in <<bibref|802.11ax|Figure 9-788d>> Supported HE-MCS And NSS Set field format. HE-MCS And NSS Set field for 160MHz is present if 160MHz is supported. HE-MCS And NSS Set field for 80+80MHz is present if 80+80MHz is supported.",
								"datatype": "base64",
								"range": [
									{
										"min": 4,
										"max": 12
									}
								]
							},
							"SUBeamformer": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Single-User (SU) Beamformer.",
								"datatype": "boolean"
							},
							"SUBeamformee": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for SU Beamformee.",
								"datatype": "boolean"
							},
							"MUBeamformer": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Multi-User (MU) Beamformer.",
								"datatype": "boolean"
							},
							"Beamformee80orLess": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Beamformee Space-Time Stream (STS) \u2264 80 MHz.",
								"datatype": "boolean"
							},
							"BeamformeeAbove80": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Beamformee STS > 80 MHz.",
								"datatype": "boolean"
							},
							"ULMUMIMO": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Uplink (UL) Multi-User Multiple Input, Multiple Output (MU-MIMO).",
								"datatype": "boolean"
							},
							"ULOFDMA": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for UL Orthogonal Frequency Division Multiplexing (OFDMA).",
								"datatype": "boolean"
							},
							"DLOFDMA": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Downlink (DL) Orthogonal Frequency Division Multiplexing (OFDMA).",
								"datatype": "boolean"
							},
							"MaxDLMUMIMO": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Max number of users supported per DL MU-MIMO Transmitter (TX) in the BSS role.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"MaxULMUMIMO": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Max number of users supported per UL MU-MIMO Receiver (RX) in the BSS role.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"MaxDLOFDMA": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Max number of users supported per Downlink (DL) OFDMA TX in the BSS role.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"MaxULOFDMA": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Max number of users supported per UL OFDMA RX in the BSS role.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"RTS": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Request To Send (RTS).",
								"datatype": "boolean"
							},
							"MURTS": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for MU RTS.",
								"datatype": "boolean"
							},
							"MultiBSSID": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Multi-Basic Service Set Identifier (BSSID).",
								"datatype": "boolean"
							},
							"MUEDCA": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for MU Enhanced distributed channel access (EDCA).",
								"datatype": "boolean"
							},
							"TWTRequestor": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Target Wake Time (TWT) Requestor.",
								"datatype": "boolean"
							},
							"TWTResponder": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for TWT Responder.",
								"datatype": "boolean"
							},
							"SpatialReuse": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for EasyMesh configuration and reporting of BSS Color and Spatial Reuse.",
								"datatype": "boolean"
							},
							"AnticipatedChannelUsage": {
								"type": "boolean",
								"read": true,
								"write": false,
								"obsolete": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates support for Anticipated Channel Usage (ACU) reporting.",
								"datatype": "boolean"
							}
						}
					}
				},
				"Device.WiFi.DataElements.DisassociationEvent.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains the events generated when an Associated Device (STA) disassociates from a BSS.",
					"access": false,
					"array": false,
					"DisassociationEventDataNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>> <<deprecated|2.17|because a corresponding USP event is defined instead>> <<obsoleted|2.19>>",
						"datatype": "unsignedInt"
					},
					"Disassociated!": {
						"type": "event",
						"protocols": [
							"usp"
						],
						"output": {
							"BSSID": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "If a MLD, the MAC Address of the AP MLD, otherwise the MAC Address of the logical BSS (BSSID) which is reporting the Disassociation Event.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"MACAddress": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "If a MLD, the MAC Address of the Client MLD, otherwise the MAC Address of the Associated Device (STA).",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"ReasonCode": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The Reason Code received by the AP from the Associated Device (STA) in the most recent Disassociation or Deauthentication frame or sent by the AP to the Associated Device (STA) in the most recent Disassociation or Deauthentication frame as defined in <<bibref|802.11-2020|Table 9-49>>.",
								"datatype": "unsignedInt"
							},
							"BytesSent": {
								"type": "unsignedLong",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The total number of bytes transmitted to the Associated Device (STA). For Multi-AP Agents that implement Profile-1, the units of this counter are Bytes. Otherwise, the units of this counter are as specified by <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.ByteCounterUnits>>.",
								"datatype": "StatsCounter64"
							},
							"BytesReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The total number of bytes received from the Associated Device (STA). For Multi-AP Agents that implement Profile-1, the units of this counter are Bytes. Otherwise, the units of this counter are as specified by <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.ByteCounterUnits>>.",
								"datatype": "StatsCounter64"
							},
							"PacketsSent": {
								"type": "unsignedLong",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The total number of packets transmitted to the Associated Device (STA).",
								"datatype": "StatsCounter64"
							},
							"PacketsReceived": {
								"type": "unsignedLong",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The total number of packets received from the Associated Device (STA).",
								"datatype": "StatsCounter64"
							},
							"ErrorsSent": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The total number of outbound packets that could not be transmitted to the Associated Device (STA) because of errors. These might be due to the number of retransmissions exceeding the retry limit or from other causes.",
								"datatype": "StatsCounter32"
							},
							"ErrorsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The total number of inbound packets from the Associated Device (STA) that contained errors preventing them from being delivered to a higher-layer protocol.",
								"datatype": "StatsCounter32"
							},
							"RetransCount": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The total number of transmitted packets to the Associated Device (STA) which were retransmissions. N retransmissions of the same packet results in this counter incrementing by N.",
								"datatype": "StatsCounter32"
							},
							"TimeStamp": {
								"type": "dateTime",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The time this event happened. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
								"datatype": "dateTime"
							},
							"LastDataDownlinkRate": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the access point to the Associated Device (STA).",
								"datatype": "unsignedInt",
								"unit": "kbps"
							},
							"LastDataUplinkRate": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the Associated Device (STA) to the access point.",
								"datatype": "unsignedInt",
								"unit": "kbps"
							},
							"UtilizationReceive": {
								"type": "unsignedLong",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The amount of time in <<units>> that the Radio has spent on the Channel receiving data from the Associated Device (STA).",
								"datatype": "unsignedLong",
								"unit": "milliseconds"
							},
							"UtilizationTransmit": {
								"type": "unsignedLong",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The amount of time in <<units>> that the Radio has spent on the Channel transmitting data to the Associated Device (STA).",
								"datatype": "unsignedLong",
								"unit": "milliseconds"
							},
							"EstMACDataRateDownlink": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Estimate of the MAC layer throughput in <<units>> achievable in the downlink direction to the Associated Device (STA) if 100% of channel airtime and BSS operating bandwidth were available, as defined in <<bibref|EasyMesh|Section 10.3.1>>.",
								"datatype": "unsignedInt",
								"unit": "Mbps"
							},
							"EstMACDataRateUplink": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Estimate of the MAC layer throughput in <<units>> achievable in the uplink direction from the Associated Device (STA) if 100% of channel airtime and BSS operating bandwidth were available, as defined in <<bibref|EasyMesh|Section 10.3.1>>.",
								"datatype": "unsignedInt",
								"unit": "Mbps"
							},
							"SignalStrength": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "An indicator of radio signal strength of the uplink from the Associated Device (STA) to the access point - measured in <<units>>. RCPI is encoded per <<bibref|802.11-2020|Table 9-176>>, and described in <<bibref|EasyMesh|Section 10.3.1>>). Reserved: 221 - 255.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								],
								"unit": "dBm"
							},
							"LastConnectTime": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The time in <<units>> since this Associated Device (STA) was associated.",
								"datatype": "unsignedInt",
								"unit": "seconds"
							},
							"Noise": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "An indicator of the average radio noise plus interference power at the access point measured for the primary operating channel to this Associated Device (STA). Encoded as defined for ANPI in <<bibref|802.11-2020|Section 11.10.9.4>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"InitiatedBy": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "This parameter indicates the entity that initiated this Disassociation Event. Enumeration of: STA, EasyMesh_Agent, EasyMesh_Controller, DE_Collector, Unknown.",
								"datatype": "string",
								"enumerations": [
									"STA",
									"EasyMesh_Agent",
									"EasyMesh_Controller",
									"DE_Collector",
									"Unknown"
								]
							},
							"OpClass": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Operating class in use at the time of this event, from <<bibref|802.11ax|Table E-4>>. May be determined from <<bibref|EasyMesh|Table 17.2.17, Operating Channel Report TLV>> and the Supported Operating Classes element in <<bibref|EasyMesh|Table 17.2.19, Client Capability Report TLV>>. For Multi-Link Operation (MLO) this is the operating class over which association messaging had occurred.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"Channel": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The single channel number of the channel in use at the time of this event. May be determined from <<bibref|EasyMesh|Table 17.2.17, Operating Channel Report TLV>> and the Supported Operating Classes element in <<bibref|EasyMesh|Table 17.2.19, Client Capability Report TLV>>. For Multi-Link Operation (MLO) this is the channel over which association messaging had occurred.",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							}
						}
					},
					"Device.WiFi.DataElements.DisassociationEvent.DisassociationEventData.{i}.": {
						"type": "object",
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The events generated when an Associated Device (STA) disassociates from a BSS. <<deprecated|2.17|because a corresponding USP event is defined instead>> <<obsoleted|2.19>>",
						"access": false,
						"array": true,
						"BSSID": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If a MLD, the MAC Address of the AP MLD, otherwise the MAC Address of the logical BSS (BSSID) which is reporting the Disassociation Event.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"MACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If a MLD, the MAC Address of the Client MLD, otherwise the MAC Address of the Associated Device (STA).",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"ReasonCode": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The Reason Code received by the AP from the Associated Device (STA) in the most recent Disassociation or Deauthentication frame or sent by the AP to the Associated Device (STA) in the most recent Disassociation or Deauthentication frame as defined in <<bibref|802.11-2020|Table 9-49>>.",
							"datatype": "unsignedInt"
						},
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of bytes transmitted to the Associated Device (STA). For Multi-AP Agents that implement Profile-1, the units of this counter are Bytes. Otherwise, the units of this counter are as specified by <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.ByteCounterUnits>>.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of bytes received from the Associated Device (STA). For Multi-AP Agents that implement Profile-1, the units of this counter are Bytes. Otherwise, the units of this counter are as specified by <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.ByteCounterUnits>>.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of packets transmitted to the Associated Device (STA).",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of packets received from the Associated Device (STA).",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound packets that could not be transmitted to the Associated Device (STA) because of errors. These might be due to the number of retransmissions exceeding the retry limit or from other causes.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound packets from the Associated Device (STA) that contained errors preventing them from being delivered to a higher-layer protocol.",
							"datatype": "StatsCounter32"
						},
						"RetransCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of transmitted packets to the Associated Device (STA) which were retransmissions. N retransmissions of the same packet results in this counter incrementing by N.",
							"datatype": "StatsCounter32"
						},
						"TimeStamp": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time this event happened. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
							"datatype": "dateTime"
						},
						"LastDataDownlinkRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the access point to the Associated Device (STA).",
							"datatype": "unsignedInt",
							"unit": "kbps"
						},
						"LastDataUplinkRate": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The data transmit rate in <<units>> that was most recently used for transmission of data from the Associated Device (STA) to the access point.",
							"datatype": "unsignedInt",
							"unit": "kbps"
						},
						"UtilizationReceive": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The amount of time in <<units>> that the Radio has spent on the Channel receiving data from the Associated Device (STA).",
							"datatype": "unsignedLong",
							"unit": "milliseconds"
						},
						"UtilizationTransmit": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The amount of time in <<units>> that the Radio has spent on the Channel transmitting data to the Associated Device (STA).",
							"datatype": "unsignedLong",
							"unit": "milliseconds"
						},
						"EstMACDataRateDownlink": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Estimate of the MAC layer throughput in <<units>> achievable in the downlink direction to the Associated Device (STA) if 100% of channel airtime and BSS operating bandwidth were available, as defined in <<bibref|EasyMesh|Section 10.3.1>>.",
							"datatype": "unsignedInt",
							"unit": "Mbps"
						},
						"EstMACDataRateUplink": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Estimate of the MAC layer throughput in <<units>> achievable in the uplink direction from the Associated Device (STA) if 100% of channel airtime and BSS operating bandwidth were available, as defined in <<bibref|EasyMesh|Section 10.3.1>>.",
							"datatype": "unsignedInt",
							"unit": "Mbps"
						},
						"SignalStrength": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "An indicator of radio signal strength of the uplink from the Associated Device (STA) to the access point - measured in <<units>>. RCPI is encoded per <<bibref|802.11-2020|Table 9-176>>, and described in <<bibref|EasyMesh|Section 10.3.1>>). Reserved: 221 - 255.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							],
							"unit": "dBm"
						},
						"LastConnectTime": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time in <<units>> since this Associated Device (STA) was associated.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"Noise": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "An indicator of the average radio noise plus interference power at the access point measured for the primary operating channel to this Associated Device (STA). Encoded as defined for ANPI in <<bibref|802.11-2020|Section 11.10.9.4>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"InitiatedBy": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter indicates the entity that initiated this Disassociation Event. Enumeration of: STA, EasyMesh_Agent, EasyMesh_Controller, DE_Collector, Unknown.",
							"datatype": "string",
							"enumerations": [
								"STA",
								"EasyMesh_Agent",
								"EasyMesh_Controller",
								"DE_Collector",
								"Unknown"
							]
						},
						"OpClass": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Operating class in use at the time of this event, from <<bibref|802.11ax|Table E-4>>. May be determined from <<bibref|EasyMesh|Table 17.2.17, Operating Channel Report TLV>> and the Supported Operating Classes element in <<bibref|EasyMesh|Table 17.2.19, Client Capability Report TLV>>. For Multi-Link Operation (MLO) this is the operating class over which association messaging had occurred.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"Channel": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The single channel number of the channel in use at the time of this event. May be determined from <<bibref|EasyMesh|Table 17.2.17, Operating Channel Report TLV>> and the Supported Operating Classes element in <<bibref|EasyMesh|Table 17.2.19, Client Capability Report TLV>>. For Multi-Link Operation (MLO) this is the channel over which association messaging had occurred.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						}
					}
				},
				"Device.WiFi.DataElements.FailedConnectionEvent.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains the events generated when a Station (STA) fails to connect to a Basic Service Set (BSS).",
					"access": false,
					"array": false,
					"FailedConnectionEventDataNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>> <<deprecated|2.17|because a corresponding USP event is defined instead>> <<obsoleted|2.19>>",
						"datatype": "unsignedInt"
					},
					"FailedConnection!": {
						"type": "event",
						"protocols": [
							"usp"
						],
						"output": {
							"BSSID": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The MAC Address of the logical BSS (BSSID) which is reporting the failed connection event.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"MACAddress": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "MAC Address identifying the associated device (STA) that has attempted to connect.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"StatusCode": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Status Code set to a non-zero value that indicates the reason for association or authentication failure as defined in <<bibref|802.11-2020|Table 9-50>>, or Status Code set to zero and <<param|ReasonCode>> provided.",
								"datatype": "unsignedInt"
							},
							"ReasonCode": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Reason Code indicating the reason the STA was disassociated or deauthenticated as defined in <<bibref|802.11-2020|Table 9-49>>.",
								"datatype": "unsignedInt"
							},
							"TimeStamp": {
								"type": "dateTime",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "The time this event happened. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
								"datatype": "dateTime"
							}
						}
					},
					"Device.WiFi.DataElements.FailedConnectionEvent.FailedConnectionEventData.{i}.": {
						"type": "object",
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object describes the data provided with a failed connection event <<deprecated|2.17|because a corresponding USP event is defined instead>> <<obsoleted|2.19>>",
						"access": false,
						"array": true,
						"BSSID": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The MAC Address of the logical BSS (BSSID) which is reporting the failed connection event.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"MACAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "MAC Address identifying the associated device (STA) that has attempted to connect.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"StatusCode": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Status Code set to a non-zero value that indicates the reason for association or authentication failure as defined in <<bibref|802.11-2020|Table 9-50>>, or Status Code set to zero and <<param|ReasonCode>> provided.",
							"datatype": "unsignedInt"
						},
						"ReasonCode": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Reason Code indicating the reason the STA was disassociated or deauthenticated as defined in <<bibref|802.11-2020|Table 9-49>>.",
							"datatype": "unsignedInt"
						},
						"TimeStamp": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The time this event happened. Formatted with the date-and-time string format as defined in <<bibref|RFC3339|Section 3>>.",
							"datatype": "dateTime"
						}
					}
				}
			},
			"Device.WiFi.Radio.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object models an 802.11 wireless radio on a device (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). If the device can establish more than one connection simultaneously (e.g. a dual radio device), a separate <<object>> instance MUST be used for each physical radio of the device. See <<bibref|TR-181i2|Appendix III.1>> for additional information. Note: A dual-band single-radio device (e.g. an 802.11a/b/g radio) can be configured to operate at 2.4 or 5 GHz frequency bands, but only a single frequency band is used to transmit/receive at a given time. Therefore, a single <<object>> instance is used even for a dual-band radio.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.Enabled>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"MaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces. An interface might have some SSIDs pointing towards the Internet and other SSIDs pointing towards End Devices. This is indicated by the associated <<param|#.SSID.<i>.Upstream>> parameters. This interfaces <<param>> parameter is set to <<true>> if any of the associated SSID.<i>.Upstream parameters are <<true>>, and is set to <<false>> otherwise. This parameter was DEPRECATED in 2.12 (and then OBSOLETED in 2.14) because it couldnt describe all multi-SSID use cases. It has now been restored, and its multi-SSID behavior has been clarified.",
					"datatype": "boolean"
				},
				"SupportedFrequencyBands": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items indicate the frequency bands at which the radio can operate.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"2.4GHz",
							"5GHz",
							"6GHz"
						]
					}
				},
				"OperatingFrequencyBand": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the frequency band at which the radio is operating. If the radio supports multiple bands, and <<param>> is changed, then all parameters whose value is not valid for the new frequency band (e.g. <<param|Channel>>) MUST be set to a valid value (according to some CPE vendor-specific behavior).",
					"datatype": "string"
				},
				"SupportedStandards": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items indicate which IEEE 802.11 standards this <<object>> instance can support simultaneously, in the frequency band specified by <<param|OperatingFrequencyBand>>. Enumeration of: a, b, g, n, ac, ax, be. Each value indicates support for the indicated standard. If <<param|OperatingFrequencyBand>> is set to <<enum|2.4GHz|OperatingFrequencyBand>>, only values <<enum|b>>, <<enum|g>>, <<enum|n>>, <<enum|ax>>, <<enum|be>> are allowed. If <<param|OperatingFrequencyBand>> is set to <<enum|5GHz|OperatingFrequencyBand>>, only values <<enum|a>>, <<enum|n>>, <<enum|ac>>, <<enum|ax>>, <<enum|be>> are allowed. If <<param|OperatingFrequencyBand>> is set to <<enum|6GHz|OperatingFrequencyBand>>, only values <<enum|ax>>, <<enum|be>> are allowed.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"a",
							"b",
							"g",
							"n",
							"ac",
							"ax",
							"be"
						]
					}
				},
				"OperatingStandards": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items indicate which IEEE 802.11 standard this <<object>> instance is configured for. Each value indicates support for the indicated standard. If <<param|OperatingFrequencyBand>> is set to <<enum|2.4GHz|OperatingFrequencyBand>>, only values <<enum|b>>, <<enum|g>>, <<enum|n>>, <<enum|ax>>, <<enum|be>> are allowed. If <<param|OperatingFrequencyBand>> is set to <<enum|5GHz|OperatingFrequencyBand>>, only values <<enum|a>>, <<enum|n>>, <<enum|ac>>, <<enum|ax>>, <<enum|be>> are allowed. If <<param|OperatingFrequencyBand>> is set to <<enum|6GHz|OperatingFrequencyBand>>, only values <<enum|ax>>, <<enum|be>> are allowed. For example, a value of g,b (or b,g - order is not important) means that the 802.11g standard <<bibref|802.11g-2003>> is used with a backwards-compatible mode for 802.11b <<bibref|802.11b-1999>>. A value of g means that only the 802.11g standard can be used.",
					"list": {
						"datatype": "string"
					}
				},
				"PossibleChannels": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items represent possible radio channels for the wireless standard (a, b, g, n, ac, ax, be) and the regulatory domain. Ranges in the form n-m are permitted. For example, for 802.11b and North America, would be 1-11.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"ChannelsInUse": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items represent channels that the radio determines to be currently in use (including any that it is using itself). Ranges in the form n-m are permitted.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Channel": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current radio channel used by the connection. To request automatic channel selection, set <<param|AutoChannelEnable>> to <<true>>. Whenever <<param|AutoChannelEnable>> is <<true>>, the value of the <<param>> parameter MUST be the channel selected by the automatic channel selection procedure. For channels in wide mode (802.11n where a 40MHz channel bandwidth is used), this parameter is used for Primary Channel only. The secondary or extension channel information is available through <<param|ExtensionChannel>>. Note: Valid <<param>> values depend on the <<param|OperatingFrequencyBand>> value specified and the <<param|RegulatoryDomain>>. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.CurrentOperatingClassProfile.<i>.Channel>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 255
						}
					]
				},
				"AutoChannelSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether automatic channel selection is supported by this radio. If <<false>>, then <<param|AutoChannelEnable>> MUST be <<false>>.",
					"datatype": "boolean"
				},
				"AutoChannelEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable automatic channel selection. Set to <<false>> to disable the automatic channel selection procedure, in which case the currently selected channel remains selected. Set to <<true>> to enable the automatic channel selection procedure. This procedure MUST automatically select the channel, and MAY also change it subsequently. <<param>> MUST automatically change to <<false>> whenever the channel is manually selected, i.e. whenever the <<param|Channel>> parameter is written. Whenever <<param>> is <<true>>, the value of the <<param|Channel>> parameter MUST be the channel selected by the automatic channel selection procedure.",
					"datatype": "boolean"
				},
				"AutoChannelRefreshPeriod": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The time period in <<units>> between two consecutive automatic channel selections. A value of 0 means that the automatic channel selection is done only at boot time. This parameter is significant only if <<param|AutoChannelEnable>> is set to <<true>>.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"ChannelLastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the current <<param|Channel>> came into use.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"ChannelLastSelectionReason": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The cause of the last channel selection.",
					"datatype": "string",
					"enumerations": [
						"Manual",
						"Auto_Startup",
						"Auto_User",
						"Auto_Refresh",
						"Auto_Dynamic",
						"Auto_DFS",
						"Unknown"
					]
				},
				"MaxSupportedSSIDs": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum number of SSIDs supported on this radio.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"MaxSupportedAssociations": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum number of associated devices supported.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This radios WiFi firmware version. If the instance of this <<object|##>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.SoftwareVersion>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"SupportedOperatingChannelBandwidths": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> These are the valid writable values for <<param|OperatingChannelBandwidth>>. Each list item is an enumeration of: Enumeration of: 20MHz, 40MHz, 80MHz, 160MHz, 80+80MHz, 320MHz-1, 320MHz-2, Auto.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"20MHz",
							"40MHz",
							"80MHz",
							"160MHz",
							"80+80MHz",
							"320MHz-1",
							"320MHz-2",
							"Auto"
						]
					}
				},
				"OperatingChannelBandwidth": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The preferred channel bandwidth to be used (applicable to 802.11n, 802.11ac, 802.11ax and 802.11be specifications only).",
					"datatype": "string"
				},
				"CurrentOperatingChannelBandwidth": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The channel bandwidth currently in use. Enumeration of: 20MHz, 40MHz, 80MHz, 160MHz, 80+80MHz, 320MHz-1, 320MHz-2.",
					"datatype": "string",
					"enumerations": [
						"20MHz",
						"40MHz",
						"80MHz",
						"160MHz",
						"80+80MHz",
						"320MHz-1",
						"320MHz-2"
					]
				},
				"ExtensionChannel": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The secondary extension channel position (applicable to the 802.11n specification only), applicable when operating in wide channel mode (i.e. when <<param|OperatingChannelBandwidth>> is set to <<enum|40MHz|OperatingChannelBandwidth>> or <<enum|Auto|OperatingChannelBandwidth>>).",
					"datatype": "string",
					"enumerations": [
						"AboveControlChannel",
						"BelowControlChannel",
						"Auto"
					]
				},
				"GuardInterval": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The guard interval value between OFDM symbols.",
					"datatype": "string",
					"enumerations": [
						"400nsec",
						"800nsec",
						"1xLTF_0.8us",
						"1xLTF_1.6us",
						"2xLTF_0.8us",
						"2xLTF_1.6us",
						"4xLTF_0.8us",
						"4xLTF_3.2us",
						"Auto"
					]
				},
				"CenterFrequencySegement0": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When operating in <<enum|80+80MHz|CurrentOperatingChannelBandwidth>>, this parameter determines the Center Frequency Segment 0 for the first 80 MHz channel. See <<bibref|802.11-2016|Section 9.4.2.161>> and Table 9-252. <<deprecated|2.14|due to a typo. Use <<param|CenterFrequencySegment0>> instead>> <<obsoleted|2.16>> <<deleted|2.17>>",
					"datatype": "unsignedInt"
				},
				"CenterFrequencySegement1": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When operating in <<enum|80+80MHz|CurrentOperatingChannelBandwidth>>, this parameter determines the Center Frequency Segment 1 for the second 80 MHz channel. See <<bibref|802.11-2016|Section 9.4.2.161>> and Table 9-252. <<deprecated|2.14|due to a typo. Use <<param|CenterFrequencySegment1>> instead>> <<obsoleted|2.16>> <<deleted|2.17>>",
					"datatype": "unsignedInt"
				},
				"CenterFrequencySegment0": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When operating in <<enum|80+80MHz|CurrentOperatingChannelBandwidth>>, this parameter determines the Center Frequency Segment 0 for the first 80 MHz channel. See <<bibref|802.11-2016|Section 9.4.2.161>> and Table 9-252.",
					"datatype": "unsignedInt"
				},
				"CenterFrequencySegment1": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When operating in <<enum|80+80MHz|CurrentOperatingChannelBandwidth>>, this parameter determines the Center Frequency Segment 1 for the second 80 MHz channel. See <<bibref|802.11-2016|Section 9.4.2.161>> and Table 9-252.",
					"datatype": "unsignedInt"
				},
				"MCS": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Modulation Coding Scheme index (applicable to 802.11n, 802.11ac, 802.11ax and 802.11be specifications only). Values from 0 to 15 MUST be supported for (<<bibref|802.11n-2009>>). Values from 0 to 9 MUST be supported for <<bibref|802.11ac-2013>>. Values from 0 to 11 MUST be supported for <<bibref|802.11ax>>. Values from 0 to 15 MUST be supported for <<bibref|802.11be>>. A value of -1 indicates automatic selection of the MCS index.",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 15
						},
						{
							"min": 16,
							"max": 31
						}
					]
				},
				"TransmitPowerSupported": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items represent supported transmit power levels as <<units>> of full power. For example, 0,25,50,75,100. A -1 item indicates auto mode (automatic decision by CPE). Auto mode allows the Radio to adjust transmit power accordingly. For example, this can be useful for power-save modes such as EU-CoC, where the Radio can adjust power according to activity in the CPE.",
					"list": {
						"datatype": "int",
						"maxsize": 64,
						"range": [
							{
								"min": -1,
								"max": 100
							}
						],
						"unit": "percentage"
					}
				},
				"TransmitPower": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the current transmit power level as a <<units>> of full power. The value MUST be one of the values reported by the <<param|TransmitPowerSupported>> parameter. A value of -1 indicates auto mode (automatic decision by CPE). If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.CurrentOperatingClassProfile.<i>.TxPower>>.",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 100
						}
					],
					"unit": "percentage"
				},
				"IEEE80211hSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether IEEE 802.11h <<bibref|802.11h-2003>> functionality is supported by this radio. The value can be <<true>> only if the 802.11a or the 802.11n@5GHz standard is supported (i.e. <<param|SupportedFrequencyBands>> includes <<enum|5GHz|SupportedFrequencyBands>> and <<param|SupportedStandards>> includes <<enum|a|SupportedStandards>> and/or <<enum|n|SupportedStandards>>).",
					"datatype": "boolean"
				},
				"IEEE80211hEnabled": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether IEEE 802.11h functionality is enabled on this radio. The value can be <<true>> only if the 802.11a or the 802.11n@5GHz standard is supported and enabled (i.e. <<param|OperatingFrequencyBand>> is <<enum|5GHz|OperatingFrequencyBand>> and <<param|OperatingStandards>> includes <<enum|a|OperatingStandards>> and/or <<enum|n|OperatingStandards>>).",
					"datatype": "boolean"
				},
				"RegulatoryDomain": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The 802.11d Regulatory Domain. First two octets are <<bibref|ISO3166-1>> two-character country code. The third octet is either (all environments), O (outside) or I (inside). If the instance of this <<object|##>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.CountryCode>>.",
					"datatype": "string",
					"range": [
						{
							"min": 3,
							"max": 3
						}
					],
					"pattern": [
						"[A-Z][A-Z][ OI]"
					]
				},
				"RetryLimit": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of retransmissions of a short packet i.e. a packet that is no longer than the <<param|RTSThreshold>>. This corresponds to IEEE 802.11 parameter dot11ShortRetryLimit <<bibref|802.11-2012>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 7
						}
					]
				},
				"CCARequest": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A request for the clear channel assessment (CCA) report in the format specified in <<bibref|802.11-2012|Clause 8.4.2.23.3>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 11,
							"max": 11
						}
					]
				},
				"CCAReport": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The clear channel assessment (CCA) report in the format specified in <<bibref|802.11-2012|Clause 8.4.2.24.3>>. When read, the value of this parameter MUST correspond to <<param|CCARequest>>. How this is achieved is a local matter to the CPE. If this parameter is read before a CCARequest has been issued, then its value is <<empty>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 12,
							"max": 12
						}
					]
				},
				"RPIHistogramRequest": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A request for a received power indicator (RPI) histogram in the format specified in <<bibref|802.11-2012|Clause 8.4.2.23.4>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 11,
							"max": 11
						}
					]
				},
				"RPIHistogramReport": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Received power indicator (RPI) histogram report in the format specified in <<bibref|802.11-2012|Clause 8.4.2.24.4>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 19,
							"max": 19
						}
					]
				},
				"FragmentationThreshold": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This specifies the current maximum size, in <<units>>, of the MPDU that can be delivered to the PHY. This parameter is based on dot11FragmentationThreshold from <<bibref|802.11-2012>>.",
					"datatype": "unsignedInt",
					"unit": "octets"
				},
				"RTSThreshold": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This indicates the number of <<units>> in an MPDU, below which an RTS/CTS handshake is not performed. This parameter is based on dot11RTSThreshold from <<bibref|802.11-2012>>.",
					"datatype": "unsignedInt",
					"unit": "octets"
				},
				"LongRetryLimit": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This indicates the maximum number of transmission attempts of a frame, the length of which is greater than <<param|RTSThreshold>>, that will be made before a failure condition is indicated. This parameter is based on dot11LongRetryLimit from <<bibref|802.11-2012>>.",
					"datatype": "unsignedInt"
				},
				"BeaconPeriod": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Time interval between transmitting beacons (expressed in <<units>>). This parameter is based on dot11BeaconPeriod from <<bibref|802.11-2012>>.",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				},
				"DTIMPeriod": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This specifies the number of beacon intervals (measured in <<units>>) that elapse between transmission of Beacon frames containing a TIM element whose DTIM Count field is 0. This parameter is based on dot11DTIMPeriod from <<bibref|802.11-2020>>.",
					"datatype": "unsignedInt",
					"unit": "ms"
				},
				"PacketAggregationEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This determines whether or not packet aggregation (commonly called frame aggregation) is enabled. This applies only to 802.11n.",
					"datatype": "boolean"
				},
				"PreambleType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The type of preamble. Longer preambles (more overhead) are needed by 802.11g to coexist with legacy systems 802.11 and 802.11b.",
					"datatype": "string",
					"enumerations": [
						"short",
						"long",
						"auto"
					]
				},
				"BasicDataTransmitRates": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> The set of data rates, in Mbps, that have to be supported by all stations that desire to join this BSS. The stations have to be able to receive and transmit at each of the data rates listed in <<param>>. For example, a value of 1,2, indicates that stations support 1 Mbps and 2 Mbps. Most control packets use a data rate in <<param>>.",
					"list": {
						"datatype": "string"
					}
				},
				"SupportedDataTransmitRates": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Maximum radio data transmit rates in Mbps for unicast frames (a superset of <<param|BasicDataTransmitRates>>). Given the value of <<param|BasicDataTransmitRates>> from the example above, <<param>> might be 1,2,5.5,11, indicating that unicast frames can additionally be transmitted at 5.5 Mbps and 11 Mbps. <<param>> indicates equipment capability. This radio is capable of supporting these data rates.",
					"list": {
						"datatype": "string"
					}
				},
				"OperationalDataTransmitRates": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Data transmit rates in Mbps for unicast frames at which the radio will permit operation with any associated station (a subset of <<param|SupportedDataTransmitRates>>). Given the values of <<param|BasicDataTransmitRates>> and <<param|SupportedDataTransmitRates>> from the examples above, <<param>> might be 1,2,5.5, indicating that the radio will only permit operation at 1 Mbps, 2 Mbps and 5.5 Mbps, even though it could theoretically operate at 11 Mbps. This radio is limited to allowing operation only at these data rates. Note: Setting <<param>> cant increase the set of possible data rates but could narrow them.",
					"list": {
						"datatype": "string"
					}
				},
				"EnableRRM": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables 802.11k <<bibref|802.11k>> Radio Resource Management (RRM).",
					"datatype": "boolean"
				},
				"ManagementPacketRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The rate of Wi-Fi management frames (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "kbps"
				},
				"RemoteMeasurementRequest()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"TargetBSS": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The BSSID of the remote BSS.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"Timeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The duration after which the request is timed out in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"OperatingClass": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The Operating Class in <<bibref|802.11-2020|Table E-4>> for which the measurement is requested.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"Channel": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The number of the channel for which the measurement is requested.",
							"datatype": "unsignedInt"
						}
					},
					"output": {
						"SignalStrength": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The received signal strength (RSSI) as received by the radio measured in <<units>>. RSSI is encoded as per <<bibref|802.11-2020|Table 9-176>>. Reserved: 221 - 255.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							],
							"unit": "dBm"
						},
						"Noise": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "An indicator of the average radio noise plus interference power as received by the radio. Encoded as defined for ANPI in <<bibref|802.11-2020|Section 11.10.9.4>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the response to the Remote Measurement request. Enumeration of: Success, Error_Not_Ready, Error_Invalid_Input, Error_Timeout, Error_Invalid_Mac, Error_Interface_Down, Error_Other.",
							"datatype": "string",
							"enumerations": [
								"Success",
								"Error_Not_Ready",
								"Error_Invalid_Input",
								"Error_Timeout",
								"Error_Invalid_Mac",
								"Error_Interface_Down",
								"Error_Other"
							]
						}
					}
				},
				"InitiateCCAMeasurement()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Channel": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The number of the Wi-Fi channel the clear channel assessment (CCA) measurement is run on.",
							"datatype": "unsignedInt"
						},
						"Frequency": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Frequency of the channel the clear channel assessment (CCA) measurement is run on.",
							"datatype": "string",
							"enumerations": [
								"2.4GHz",
								"5GHz",
								"6GHz"
							]
						},
						"DwellTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The duration of the CCA measurement in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						}
					},
					"output": {
						"CCAReport": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The clear channel assessment (CCA) report in the format specified in <<bibref|802.11-2020|Section 9.4.2.21.3>>. When read, the value of this parameter MUST correspond to <<param|Channel>>. How this is achieved is a local matter to the CPE.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 12,
									"max": 12
								}
							]
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the response to the request to initiate a Clear Channel Assessment (CCA) measurement. Enumeration of: Success, Error_Not_Implemented, Error_Not_Ready, Error_Invalid_Input, Error_Timeout, Error_Interface_Down, Error_Other.",
							"datatype": "string",
							"enumerations": [
								"Success",
								"Error_Not_Implemented",
								"Error_Not_Ready",
								"Error_Invalid_Input",
								"Error_Timeout",
								"Error_Interface_Down",
								"Error_Other"
							]
						}
					}
				},
				"FullScan()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"DwellTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The duration of the time to scan each channel in <<units>>. A value of 50 <<units>> is suggested.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"DFSDwellTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The duration of time to scan each Dynamic Frequency Selection (DFS) channel in <<units>>. A value of at least one beacon interval, typically 100 <<units>>, is suggested.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"HomeTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The time in <<units>> after which the driver has to go back to the original channel before scanning the next channel to avoid disruption. If this is omitted, or is not supported by the device, then it should be ignored.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"SSID": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The Service Set Identifier (SSID) to scan. If omitted, then all SSIDs are scanned.",
							"datatype": "string"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the type of outcome of the request to initiate a full band scan. Enumeration of: Success, Error_Not_Ready, Error_Timeout, Error_Invalid_Input, Error_Interface_Down, Error_Other.",
							"datatype": "string",
							"enumerations": [
								"Success",
								"Error_Not_Ready",
								"Error_Timeout",
								"Error_Invalid_Input",
								"Error_Interface_Down",
								"Error_Other"
							]
						}
					}
				},
				"ChannelScan()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"DwellTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The duration of the time to scan each channel in <<units>>. A value of 50 <<units>> is suggested.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"DFSDwellTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The duration of time to scan each Dynamic Frequency Selection (DFS) channel in <<units>>. A value of at least one beacon interval, typically 100 <<units>>, is suggested.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"HomeTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The time in <<units>> after which the driver has to go back to the original channel before scanning the next channel to avoid disruption. If this is omitted, or is not supported by the device, then it should be ignored.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"SSID": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The Service Set Identifier (SSID) to scan. If omitted, then all SSIDs are scanned.",
							"datatype": "string"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the type of outcome of the request to initiate a channel scan. Enumeration of: Success, Error_Not_Ready, Error_Invalid_Input, Error_Timeout, Error_Interface_Down, Error_Other.",
							"datatype": "string",
							"enumerations": [
								"Success",
								"Error_Not_Ready",
								"Error_Invalid_Input",
								"Error_Timeout",
								"Error_Interface_Down",
								"Error_Other"
							]
						}
					}
				},
				"Device.WiFi.Radio.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>. Packet counters here count 802.11 WiFi frames. See <<bibref|TR-181i2|Appendix III>> for further details.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"CtsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of Request To Send (RTS) control frames that received a Clear To Send (CTS) response.",
						"datatype": "StatsCounter64"
					},
					"NoCtsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of Request To Send (RTS) control frames that did not receive a Clear To Send (CTS) response.",
						"datatype": "StatsCounter64"
					},
					"FrameHeaderError": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received packets for which the PHY was able to correlate the preamble but not the header.",
						"datatype": "StatsCounter64"
					},
					"GoodPLCPReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received frames with a good Physical Layer Convergence Protocol (PLCP) header.",
						"datatype": "StatsCounter64"
					},
					"DPacketOtherMACReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of Wi-Fi data packets received from other Basic Service Sets (BSSs), with a good Frame Check Sequence (FCS) and not matching the receiver address, meaning that that the frame is received at the MAC layer but is addressed to a different MAC.",
						"datatype": "StatsCounter64"
					},
					"MPacketOtherMACReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of Wi-Fi management packets received from other Basic Service Sets (BSSs), with a good Frame Check Sequence (FCS) and not matching the receiver address, meaning that that the frame is received at the MAC layer but is addressed to a different MAC.",
						"datatype": "StatsCounter64"
					},
					"CPacketOtherMACReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of Wi-Fi control packets received from other Basic Service Sets (BSSs), with a good Frame Check Sequence (FCS) and not matching the receiver address, meaning that that the frame is received at the MAC layer but is addressed to a different MAC.",
						"datatype": "StatsCounter64"
					},
					"CtsOtherMACReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received Clear to Send (CTS) packets not addressed to the MAC address of this receiver.",
						"datatype": "StatsCounter64"
					},
					"RtsOtherMACReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received Request to Send (RTS) frames not addressed to the MAC address of this receiver.",
						"datatype": "StatsCounter64"
					},
					"PLCPErrorCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of packets that were received with a detected Physical Layer Convergence Protocol (PLCP) header error.",
						"datatype": "unsignedInt"
					},
					"FCSErrorCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of packets that were received with a detected FCS error. This parameter is based on dot11FCSErrorCount from <<bibref|802.11-2012|Annex C>>.",
						"datatype": "unsignedInt"
					},
					"InvalidMACCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of packets that were received with a detected invalid MAC header error.",
						"datatype": "unsignedInt"
					},
					"PacketsOtherReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of packets that were received, but which were destined for a MAC address that is not associated with this interface.",
						"datatype": "unsignedInt"
					},
					"Noise": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An indicator of average noise strength received at this radio, measured in <<units>>. This measurement of non-IEEE 802.11 noise power is made by sampling the channel when virtual carrier sense indicates idle and this radio is neither transmitting nor receiving a frame. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.Noise>>.",
						"datatype": "int",
						"unit": "dBm"
					},
					"TotalChannelChangeCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of times that the <<param|#.Channel>> has changed since the <<object|#>> entered its current operating state.",
						"datatype": "unsignedInt"
					},
					"ManualChannelChangeCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of times that the <<param|#.Channel>> has changed due to manual channel selection since the <<object|#>> entered its current operating state.",
						"datatype": "unsignedInt"
					},
					"AutoStartupChannelChangeCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of times that the <<param|#.Channel>> has changed due to automatic channel selection procedure launched at radio startup since the <<object|#>> entered its current operating state.",
						"datatype": "unsignedInt"
					},
					"AutoUserChannelChangeCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of times that the <<param|#.Channel>> has changed due to automatic channel selection procedure triggered by the user (e.g. via a GUI) since the <<object|#>> entered its current operating state.",
						"datatype": "unsignedInt"
					},
					"AutoRefreshChannelChangeCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of times that the <<param|#.Channel>> has changed due to automatic channel selection procedure triggered by the <<param|#.AutoChannelRefreshPeriod>> timer since the <<object|#>> entered its current operating state.",
						"datatype": "unsignedInt"
					},
					"AutoDynamicChannelChangeCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of times that the <<param|#.Channel>> has changed due to automatic channel selection procedure dynamically triggered to adjust to environmental interference since the <<object|#>> entered its current operating state.",
						"datatype": "unsignedInt"
					},
					"AutoDFSChannelChangeCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of times that the <<param|#.Channel>> has changed due to automatic channel selection procedure triggered by DFS <<bibref|ETSIBRAN>> since the <<object|#>> entered its current operating state.",
						"datatype": "unsignedInt"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.WiFi.CCAMeasurementDiagnostic.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This object is to provide diagnostic information on a Clear Channel Assessment (CCA) measurement scan on this radio on the given channel using a specific <<param|DwellTime>>.",
				"access": false,
				"array": false,
				"DiagnosticsState": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
					"datatype": "DiagnosticsState",
					"enumerations": [
						"None",
						"Requested",
						"Canceled",
						"Complete",
						"Error"
					]
				},
				"Channel": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The number of the Wi-Fi channel the clear channel assessment (CCA) measurement is run on.",
					"datatype": "unsignedInt"
				},
				"Frequency": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Frequency of the channel the clear channel assessment (CCA) measurement is run on.",
					"datatype": "string",
					"enumerations": [
						"2.4GHz",
						"5GHz",
						"6GHz"
					]
				},
				"DwellTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The duration of the CCA measurement in <<units>>.",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				},
				"CCAReport": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The clear channel assessment (CCA) report in the format specified in <<bibref|802.11-2020|Section 9.4.2.21.3>>. When read, the value of this parameter MUST correspond to <<param|Channel>>. How this is achieved is a local matter to the CPE.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 12,
							"max": 12
						}
					]
				}
			},
			"Device.WiFi.RemoteMeasurementDiagnostic.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This object is to provide diagnostic information on a Remote Measurement of a Wi-Fi BSS.",
				"access": false,
				"array": false,
				"DiagnosticsState": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
					"datatype": "DiagnosticsState",
					"enumerations": [
						"None",
						"Requested",
						"Canceled",
						"Complete",
						"Error"
					]
				},
				"TargetBSS": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The BSSID of the remote BSS.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"Timeout": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The duration after which the request is timed out in <<units>>.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"OperatingClass": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The Operating Class in <<bibref|802.11-2020|Table E-4>> for which the measurement is requested.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 255
						}
					]
				},
				"Channel": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The number of the channel for which the measurement is requested.",
					"datatype": "unsignedInt"
				},
				"SignalStrength": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The received signal strength (RSSI) as received by the radio measured in <<units>>. RSSI is encoded as per <<bibref|802.11-2020|Table 9-176>>. Reserved: 221 - 255.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 255
						}
					],
					"unit": "dBm"
				},
				"Noise": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "An indicator of the average radio noise plus interference power as received by the radio. Encoded as defined for ANPI in <<bibref|802.11-2020|Section 11.10.9.4>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 255
						}
					]
				}
			},
			"Device.WiFi.NeighboringWiFiDiagnostic.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This object defines access to other WiFi SSIDs that this device is able to receive.",
				"access": false,
				"array": false,
				"DiagnosticsState": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
					"datatype": "DiagnosticsState",
					"enumerations": [
						"None",
						"Requested",
						"Canceled",
						"Complete",
						"Error"
					]
				},
				"ResultNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "Neighboring SSID table. This table models other WiFi SSIDs that this device is able to receive.",
					"uniqueKeys": [
						"BSSID"
					],
					"access": false,
					"array": true,
					"Radio": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The Radio that detected the neighboring WiFi SSID.",
						"datatype": "string"
					},
					"SSID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The current service set identifier in use by the neighboring WiFi SSID. The value MAY be empty for hidden SSIDs.",
						"datatype": "string",
						"range": [
							{
								"max": 32
							}
						]
					},
					"BSSID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The BSSID used for the neighboring WiFi SSID.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"Mode": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The mode the neighboring WiFi radio is operating in.",
						"datatype": "string",
						"enumerations": [
							"AdHoc",
							"Infrastructure"
						]
					},
					"Channel": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The current radio channel used by the neighboring WiFi radio.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 255
							}
						]
					},
					"SignalStrength": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "An indicator of radio signal strength (RSSI) of the neighboring WiFi radio measured in <<units>>, as an average of the last 100 packets received.",
						"datatype": "int",
						"range": [
							{
								"min": -200,
								"max": 0
							}
						],
						"unit": "dBm"
					},
					"SecurityModeEnabled": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The type of encryption the neighboring WiFi SSID advertises. The <<enum|WEP>> value indicates either WEP-64 or WEP-128. The <<enum|WPA>> value is the same as WPA-Personal. The <<enum|WPA2>> value is the same as WPA2-Personal. The <<enum|WPA-WPA2>> value is the same as WPA-WPA2-Personal. The <<enum|WPA3-SAE>> value is the same as WPA3-Personal. The <<enum|WPA2-PSK-WPA3-SAE>> value is the same as WPA3-Personal-Transition.",
						"datatype": "string",
						"enumerations": [
							"None",
							"WEP",
							"WPA",
							"WPA2",
							"WPA-WPA2",
							"WPA-Enterprise",
							"WPA2-Enterprise",
							"WPA-WPA2-Enterprise",
							"WPA3-SAE",
							"WPA2-PSK-WPA3-SAE",
							"WPA3-Enterprise",
							"OWE"
						]
					},
					"EncryptionMode": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The type of encryption the neighboring WiFi SSID advertises. When <<param|SecurityModeEnabled>> is one of <<enum|WPA3-SAE|SecurityModeEnabled>>, <<enum|WPA2-PSK-WPA3-SAE|SecurityModeEnabled>>, or <<enum|WPA3-Enterprise|SecurityModeEnabled>>, <<enum|TKIP>> is not valid, and should not be in the list.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"TKIP",
								"AES"
							]
						}
					},
					"OperatingFrequencyBand": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the frequency band at which the radio this SSID instance is operating.",
						"datatype": "string",
						"enumerations": [
							"2.4GHz",
							"5GHz",
							"6GHz"
						]
					},
					"SupportedStandards": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items indicate which IEEE 802.11 standards this <<object>> instance can support simultaneously, in the frequency band specified by <<param|OperatingFrequencyBand>>. Enumeration of: a, b, g, n, ac, ax, be. Each value indicates support for the indicated standard. If <<param|OperatingFrequencyBand>> is set to <<enum|2.4GHz|OperatingFrequencyBand>>, only values <<enum|b>>, <<enum|g>>, <<enum|n>>, <<enum|ax>>, <<enum|be>> are allowed. If <<param|OperatingFrequencyBand>> is set to <<enum|5GHz|OperatingFrequencyBand>>, only values <<enum|a>>, <<enum|n>>, <<enum|ac>>, <<enum|ax>>, <<enum|be>> are allowed. If <<param|OperatingFrequencyBand>> is set to <<enum|6GHz|OperatingFrequencyBand>>, only values <<enum|ax>>, <<enum|be>> are allowed.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"a",
								"b",
								"g",
								"n",
								"ac",
								"ax",
								"be"
							]
						}
					},
					"OperatingStandards": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> List items indicate which IEEE 802.11 standard that is detected for this <<object>>. Each value indicates support for the indicated standard. If <<param|OperatingFrequencyBand>> is set to <<enum|2.4GHz|##.Radio.<i>.SupportedFrequencyBands>>, only values <<enum|b>>, <<enum|g>>, <<enum|n>>, <<enum|ax>>, <<enum|be>> are allowed. If <<param|OperatingFrequencyBand>> is set to <<enum|5GHz|##.Radio.<i>.SupportedFrequencyBands>>, only values <<enum|a>>, <<enum|n>>, <<enum|ac>>, <<enum|ax>>, <<enum|be>> are allowed. If <<param|OperatingFrequencyBand>> is set to <<enum|6GHz|##.Radio.<i>.SupportedFrequencyBands>>, only value <<enum|ax>>, <<enum|be>> are allowed. For example, a value of g,b (or b,g - order is not important) means that the 802.11g standard <<bibref|802.11g-2003>> is used with a backwards-compatible mode for 802.11b <<bibref|802.11b-1999>>. A value of g means that only the 802.11g standard can be used.",
						"list": {
							"datatype": "string"
						}
					},
					"OperatingChannelBandwidth": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the bandwidth at which the channel is operating.",
						"datatype": "string",
						"enumerations": [
							"20MHz",
							"40MHz",
							"80MHz",
							"160MHz",
							"320MHz-1",
							"320MHz-2",
							"Auto"
						]
					},
					"BeaconPeriod": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Time interval (in <<units>>) between transmitting beacons.",
						"datatype": "unsignedInt",
						"unit": "ms"
					},
					"Noise": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicator of average noise strength (in <<units>>) received from the neighboring WiFi radio.",
						"datatype": "int",
						"range": [
							{
								"min": -200,
								"max": 0
							}
						],
						"unit": "dBm"
					},
					"BasicDataTransferRates": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> Basic data transmit rates (in Mbps) for the SSID. For example, if <<param>> is 1,2, this indicates that the SSID is operating with basic rates of 1 Mbps and 2 Mbps.",
						"list": {
							"datatype": "string",
							"maxsize": 256
						}
					},
					"SupportedDataTransferRates": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> Data transmit rates (in Mbps) for unicast frames at which the SSID will permit a station to connect. For example, if <<param>> is 1,2,5.5, this indicates that the SSID will only permit connections at 1 Mbps, 2 Mbps and 5.5 Mbps.",
						"list": {
							"datatype": "string",
							"maxsize": 256
						}
					},
					"DTIMPeriod": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The number of beacon intervals (measured in <<units>>) that elapse between transmission of Beacon frames containing a TIM element whose DTIM count field is 0. This value is transmitted in the DTIM Period field of beacon frames. <<bibref|802.11-2020>>",
						"datatype": "unsignedInt",
						"unit": "ms"
					}
				}
			},
			"Device.WiFi.SSID.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "WiFi SSID table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>), where table entries model the MAC layer. A WiFi SSID entry is typically stacked on top of a <<object|#.Radio>> object. WiFi SSID is also a multiplexing layer, i.e. more than one <<object>> can be stacked above a single <<object|#.Radio>>.",
				"uniqueKeys": [
					"Alias",
					"Name",
					"BSSID"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.Enabled>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.LastChange>>.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces. See <<param|#.Radio.<i>.Upstream>> for details of how the two Upstream parameters interact.",
					"datatype": "boolean"
				},
				"BSSID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Basic Service Set ID. This is the MAC address of the access point, which can either be local (when this instance models an access point SSID) or remote (when this instance models an end point SSID). If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.BSSID>>.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"MACAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC address of this interface. If this instance models an access point SSID, <<param>> is the same as <<param|BSSID>>. Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the <<param|##.Ethernet.Link.<i>.MACAddress>> parameter.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"SSID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current service set identifier in use by the connection. The SSID is an identifier that is attached to packets sent over the wireless LAN that functions as an ID for joining a particular radio network (BSS). If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.SSID>>.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"MLDUnit": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "MLD-BSS unit number specifying BSS across multiple radios that form a single Multi Link Device. Assigning the same MLD unit groups Basic Service Sets (BSS) across radios. A (default) value of -1 indicates that the interface is not part of any MLD.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": -1
						},
						{
							"min": 0,
							"max": 24
						}
					]
				},
				"ATFEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables Air Time Fairness (ATF).",
					"datatype": "boolean"
				},
				"FlushATFTable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "After this parameter is set to true, the ATF configuration of the interface will be reset.",
					"datatype": "boolean"
				},
				"SetATF": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Configures the ATF setting for all associated devices on an individual SSID. Expressed as <<units>> of airtime, such that no station should exceed this percentage.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 100
						}
					],
					"unit": "percent"
				},
				"Device.WiFi.SSID.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>. Packet counters here count 802.11 WiFi frames. See <<bibref|TR-181i2|Appendix III>> for further details.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors. These can be due to the number of retransmissions exceeding the retry limit, or from other causes.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"RetransCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of transmitted packets which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two.",
						"datatype": "unsignedInt"
					},
					"FailedRetransCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of packets that were not transmitted successfully due to the number of retransmission attempts exceeding an 802.11 retry limit. This parameter is based on dot11FailedCount from <<bibref|802.11-2012>>.",
						"datatype": "unsignedInt"
					},
					"RetryCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of packets that were successfully transmitted after one or more retransmissions. This parameter is based on dot11RetryCount from <<bibref|802.11-2012>>.",
						"datatype": "unsignedInt"
					},
					"MultipleRetryCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of packets that were successfully transmitted after more than one retransmission. This parameter is based on dot11MultipleRetryCount from <<bibref|802.11-2012>>.",
						"datatype": "unsignedInt"
					},
					"ACKFailureCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of expected ACKs that were never received. This parameter is based on dot11ACKFailureCount from <<bibref|802.11-2012>>.",
						"datatype": "unsignedInt"
					},
					"AggregatedPacketCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of aggregated packets that were transmitted. This applies only to 802.11n and 802.11ac.",
						"datatype": "unsignedInt"
					},
					"DiscardPacketsSentBufOverflow": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of discarded packets during transmission caused by transmit buffer overflow.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSentNoAssoc": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of discarded packets due to the station not being associated.",
						"datatype": "StatsCounter64"
					},
					"FragSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of frame-fragments transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"SentNoAck": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of transmitted data packets that did not receive an ACK when expected.",
						"datatype": "StatsCounter64"
					},
					"DupReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received packets whose Sequence Control field indicates it is a duplicate.",
						"datatype": "StatsCounter64"
					},
					"TooLongReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received packets longer than the maximum allowed packet length.",
						"datatype": "StatsCounter64"
					},
					"TooShortReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received packets that did not contain enough bytes for the packet type.",
						"datatype": "StatsCounter64"
					},
					"AckUcastReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of unicast ACKs received, with good Frame Check Sequence (FCS).",
						"datatype": "StatsCounter64"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.WiFi.AccessPoint.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object models an 802.11 connection from the perspective of a wireless access point. Each <<object>> entry is associated with a particular <<object|#.SSID>> interface instance via the <<param|SSIDReference>> parameter. For enabled table entries, if <<param|SSIDReference>> is not a valid reference then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"SSIDReference"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this access point.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the status of this access point. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"SSIDReference": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"SSIDAdvertisementEnabled": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether or not beacons include the SSID name.",
					"datatype": "boolean"
				},
				"RetryLimit": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of retransmission for a packet. This corresponds to IEEE 802.11 parameter dot11ShortRetryLimit. <<deprecated|2.11|because it is really a <<object|#.Radio>> attribute. Use <<param|#.Radio.<i>.RetryLimit>>>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 7
						}
					]
				},
				"WMMCapability": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this access point supports WiFi Multimedia (WMM) Access Categories (AC) <<bibref|WMM>>.",
					"datatype": "boolean"
				},
				"UAPSDCapability": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this access point supports WMM Unscheduled Automatic Power Save Delivery (U-APSD). Note: U-APSD support implies WMM support.",
					"datatype": "boolean"
				},
				"WMMEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether WMM support is currently enabled. When enabled, this is indicated in beacon frames.",
					"datatype": "boolean"
				},
				"UAPSDEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether U-APSD support is currently enabled. When enabled, this is indicated in beacon frames. Note: U-APSD can only be enabled if WMM is also enabled.",
					"datatype": "boolean"
				},
				"AssociatedDeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"MaxAssociatedDevices": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of devices that can simultaneously be connected to the access point. A value of 0 means that there is no specific limit. <<deprecated|2.13|in favor of <<param|MaxAllowedAssociations>>>> <<obsoleted|2.14-2.15>> <<deleted|2.16>>",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"IsolationEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables device isolation. A value of <<true>> means that the devices connected to the Access Point are isolated from all other devices within the home network (as is typically the case for a Wireless Hotspot).",
					"datatype": "boolean"
				},
				"MACAddressControlEnabled": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether or not MAC Address Control is enabled on this <<object|#>>. MAC Address Control limits client devices to those whose hardware addresses match the <<param|AllowedMACAddress>> list.",
					"datatype": "boolean"
				},
				"AllowedMACAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Hardware addresses of client devices that are allowed to associate with this <<object|#>> if <<param|MACAddressControlEnabled>> is <<true>>.",
					"list": {
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					}
				},
				"MaxAllowedAssociations": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum number of associated devices allowed for this SSID. If the number is reached new device connections to this access point will be rejected. If the number is changed to a value less than the actual number of associated devices, new device connections will be rejected until the number of devices is below this number. It is not expected that any connections are dropped. If the parameter <<param|#.Radio.<i>.MaxSupportedAssociations>> exists, the value MUST be less than or equal to the maximum number specified in <<param|#.Radio.<i>.MaxSupportedAssociations>>.",
					"datatype": "unsignedInt"
				},
				"CpeOperationMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reports information about the CPE operation mode (router or bridge/range extender).",
					"default": "Router",
					"datatype": "string",
					"enumerations": [
						"Router",
						"Bridge/Extender"
					]
				},
				"Device.WiFi.AccessPoint.{i}.Security.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains security related parameters that apply to a CPE acting as an Access Point <<bibref|802.11-2007>>.",
					"access": false,
					"array": false,
					"ModesSupported": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates which security modes this <<object|#>> instance is capable of supporting. The <<enum|WPA3-Personal>> value is the same as WPA3-SAE. The <<enum|WPA3-Personal-Transition>> value is the same as WPA2-PSK-WPA3-SAE.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"None",
								"WEP-64",
								"WEP-128",
								"WPA-Personal",
								"WPA2-Personal",
								"WPA3-Personal",
								"WPA-WPA2-Personal",
								"WPA3-Personal-Transition",
								"WPA-Enterprise",
								"WPA2-Enterprise",
								"WPA3-Enterprise",
								"WPA-WPA2-Enterprise",
								"OWE"
							]
						}
					},
					"ModeEnabled": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates which security mode is enabled.",
						"datatype": "string"
					},
					"EncryptionMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The type of encryption in use. When <<param|ModeEnabled>> is one of <<enum|WPA3-Personal|ModesSupported>>, <<enum|WPA3-Personal-Transition|ModesSupported>>, or <<enum|WPA3-Enterprise|ModesSupported>>, <<enum|TKIP>> is not valid, and should not be in the list.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"TKIP",
								"AES"
							]
						}
					},
					"WEPKey": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A WEP key expressed as a hexadecimal string. <<param>> is used only if <<param|ModeEnabled>> is set to <<enum|WEP-64|ModeEnabled>> or <<enum|WEP-128|ModeEnabled>>. A 5 byte <<param>> corresponds to security mode <<enum|WEP-64|ModeEnabled>> and a 13 byte <<param>> corresponds to security mode <<enum|WEP-128|ModeEnabled>>.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 5,
								"max": 5
							},
							{
								"min": 13,
								"max": 13
							}
						]
					},
					"PreSharedKey": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A literal PreSharedKey (PSK) expressed as a hexadecimal string. <<param>> is only used if <<param|ModeEnabled>> is set to <<enum|WPA-Personal|ModeEnabled>> or <<enum|WPA2-Personal|ModeEnabled>> or <<enum|WPA-WPA2-Personal|ModeEnabled>>. If <<param|KeyPassphrase>> is written, then <<param>> is immediately generated. The Controller SHOULD NOT set both the <<param|KeyPassphrase>> and the <<param>> directly (the result of doing this is undefined).",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 32
							}
						]
					},
					"KeyPassphrase": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A passphrase from which the <<param|PreSharedKey>> is to be generated, for <<enum|WPA-Personal|ModeEnabled>> or <<enum|WPA2-Personal|ModeEnabled>> or <<enum|WPA-WPA2-Personal|ModeEnabled>> security modes. If <<param>> is written, then <<param|PreSharedKey>> for WPA2 is immediately generated. The Controller SHOULD NOT set both the <<param>> and the <<param|PreSharedKey>> directly (the result of doing this is undefined). The key is generated as specified by WPA, which uses PBKDF2 from PKCS #5: Password-based Cryptography Specification Version 2.0 (<<bibref|RFC2898>>).",
						"datatype": "string",
						"range": [
							{
								"min": 8,
								"max": 63
							}
						]
					},
					"RekeyingInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interval (expressed in <<units>>) in which the keys are re-generated. This is applicable to WPA, WPA2 and Mixed (WPA-WPA2) modes in Personal or Enterprise mode (i.e. when <<param|ModeEnabled>> is set to a value other than <<enum|None|ModeEnabled>> or <<enum|WEP-64|ModeEnabled>> or <<enum|WEP-128|ModeEnabled>>.",
						"default": "3600",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"SAEPassphrase": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A passphrase for <<enum|WPA3-Personal|ModeEnabled>> or <<enum|WPA3-Personal-Transition|ModeEnabled>> security modes. NOTE: this parameter is for WPA3. WPA2 <<param|PreSharedKey>> is generated from <<param|KeyPassphrase>>.",
						"datatype": "string"
					},
					"RadiusServerIPAddr": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IP Address of the RADIUS server used for WLAN security. <<param>> is only applicable when <<param|ModeEnabled>> is an Enterprise type (i.e. <<enum|WPA-Enterprise|ModeEnabled>>, <<enum|WPA2-Enterprise|ModeEnabled>>, <<enum|WPA3-Enterprise|ModeEnabled>>, or <<enum|WPA-WPA2-Enterprise|ModeEnabled>>).",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"SecondaryRadiusServerIPAddr": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IP Address of a secondary RADIUS server used for WLAN security. <<param>> is only applicable when <<param|ModeEnabled>> is an Enterprise type (i.e. <<enum|WPA-Enterprise|ModeEnabled>>, <<enum|WPA2-Enterprise|ModeEnabled>>, <<enum|WPA3-Enterprise|ModeEnabled>>, or <<enum|WPA-WPA2-Enterprise|ModeEnabled>>). The client can forward requests to the secondary server in the event that the primary server is down or unreachable, or after a number of tries to the primary server fail, or in a round-robin fashion <<bibref|RFC2865>>.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"RadiusServerPort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The port number of the RADIUS server used for WLAN security. <<param>> is only applicable when <<param|ModeEnabled>> is an Enterprise type (i.e. <<enum|WPA-Enterprise|ModeEnabled>>, <<enum|WPA2-Enterprise|ModeEnabled>>, <<enum|WPA3-Enterprise|ModeEnabled>>, or <<enum|WPA-WPA2-Enterprise|ModeEnabled>>).",
						"default": "1812",
						"datatype": "unsignedInt"
					},
					"SecondaryRadiusServerPort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The port number of the secondary RADIUS server used for WLAN security. <<param>> is only applicable when <<param|ModeEnabled>> is an Enterprise type (i.e. <<enum|WPA-Enterprise|ModeEnabled>>, <<enum|WPA2-Enterprise|ModeEnabled>>, <<enum|WPA3-Enterprise|ModeEnabled>>, or <<enum|WPA-WPA2-Enterprise|ModeEnabled>>). If this parameter is not implemented, the secondary RADIUS server will use the same port number as the primary RADIUS server.",
						"default": "1812",
						"datatype": "unsignedInt"
					},
					"RadiusSecret": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The secret used for handshaking with the RADIUS server <<bibref|RFC2865>>.",
						"datatype": "string"
					},
					"SecondaryRadiusSecret": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The secret used for handshaking with the secondary RADIUS server <<bibref|RFC2865>>. If this parameter is not implemented, the secondary RADIUS server will use the same secret as the primary RADIUS server.",
						"datatype": "string"
					},
					"MFPConfig": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Management Frame Protection configuration applicable when <<param|ModeEnabled>> is set to <<enum|WPA2-Personal|ModeEnabled>>, <<enum|WPA2-Enterprise|ModeEnabled>>, <<enum|WPA3-Personal|ModeEnabled>>, or <<enum|WPA3-Enterprise|ModeEnabled>>. When in WPA3 modes, <<param>> MUST be set to <<enum|Required>>.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Optional",
							"Required"
						]
					},
					"SPPAMSDU": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Signaling and Payload Protected for A-MSDU frames.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Capable",
							"Required"
						]
					},
					"TransitionDisableIndication": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Sets the transition disable indication. When this parameter is enabled with <<param|ModeEnabled>> set to a transition mode, such as <<enum|WPA3-Personal-Transition|ModeEnabled>>, stations connected to the AP are not allowed to transition between the security modes allowed by the transition mode. Stations capable of the more secure security mode allowed by the transition, as defined in <<bibref|WPA3v3.0>>, will always communicate to the AP using it.",
						"default": "true",
						"datatype": "boolean"
					},
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "When set to <<true>>, this <<object|#>> instances WiFi security settings are reset to their factory default values. The affected settings include <<param|ModeEnabled>>, <<param|WEPKey>>, <<param|PreSharedKey>>, <<param|KeyPassphrase>>, <<param|SAEPassphrase>>, and <<param|#.WPS.PIN>> (if applicable). If the parameter cannot be set, the CPE MUST reject the request as an invalid parameter value. Possible failure reasons include a lack of default values or if <<param|ModeEnabled>> is an Enterprise type, i.e. <<enum|WPA-Enterprise|ModesSupported>>, <<enum|WPA2-Enterprise|ModesSupported>>, <<enum|WPA3-Enterprise|ModesSupported>>, or <<enum|WPA-WPA2-Enterprise|ModesSupported>>.",
						"datatype": "boolean"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.WiFi.AccessPoint.{i}.Interworking.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains the settings to the interworking element as described in <<bibref|802.11-2020|Section 9.4.2.91>>.",
					"access": true,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the Interworking element is included in the wireless frames for this access point.",
						"datatype": "boolean"
					},
					"AccessNetworkType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Type of access network to be specified in Interworking element as per <<bibref|802.11-2020|Table 9-236 Access Network Type>>.",
						"datatype": "string",
						"enumerations": [
							"PrivateNetwork",
							"PrivateNetworkWithGuestAccess",
							"ChargeablePublicNetwork",
							"FreePublicNetwork",
							"PersonalDeviceNetwork",
							"EmergencyServicesOnlyNetwork",
							"TestOrExperimental",
							"Wildcard"
						]
					},
					"InternetAvailable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates that Internet Access is available at the AP when set to <<true>>. This MUST be set to <<false>> in case of walled-garden environments, where the AP may limit Wi-Fi access to locally available content. See <<bibref|802.11-2020|Section 9.4.2.91>>.",
						"datatype": "boolean"
					},
					"ASRA": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Additional Step Required For Access as specified in the Interworking element of <<bibref|802.11-2020|Figure 9-484>>. Indicates that the network requires a further step for access when set to <<true>>. The Type of access is determined by <<param|#.ANQP.NetworkAuthTypes>>.",
						"datatype": "boolean"
					},
					"VenueGroup": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the venue group as descriped in <<bibref|802.11-2020|Table 9-65-Venue group codes and descriptions>>.",
						"datatype": "string",
						"enumerations": [
							"Unspecified",
							"Assembly",
							"Business",
							"Educational",
							"Factory-Industrial",
							"Institutional",
							"Mercantile",
							"Residential",
							"Storage",
							"Utility-Miscellaneous",
							"Vehicular",
							"Outdoor"
						]
					},
					"VenueType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the Venue Type as described in <<bibref|802.11-2020|Table 9-66 Venue Type assignments>>.",
						"datatype": "string"
					},
					"HESSID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the 6-octet MAC address that identifies the homogeneous ESS as described in <<bibref|802.11-2020|Section 9.4.2.91>>.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"EmergencyServiceReachable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "ESR (emergency services reachable) field of the Interworking element as described in <<bibref|802.11-2020|Section 9.4.2.91>>.",
						"datatype": "boolean"
					},
					"UnauthenticatedEmergencyServiceAvailable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "UESA (unauthenticated emergency service accessible) field of the interworking element as described in <<bibref|802.11-2020|Section 9.4.2.91>>.",
						"datatype": "boolean"
					}
				},
				"Device.WiFi.AccessPoint.{i}.ANQP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains the settings required for configuring the Access Network Query Protocol Information Elements as described in <<bibref|802.11-2020|Section 9.4.5>>.",
					"access": true,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specfies whether ANQP Element is sent as part of the wireless frames.",
						"default": "false",
						"datatype": "boolean"
					},
					"IPv4AddressAvailability": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the IPv4 address availabilty field as described in <<bibref|802.11-2020|Table 9-334-IPv4 Address field values>>.",
						"datatype": "string",
						"enumerations": [
							"NotAvailable",
							"PublicIPv4",
							"PortRestrictedIPv4",
							"SingleNATIPv4",
							"DoubleNATIPv4",
							"PortRestrictSingleNATIPv4",
							"PortRestrictDoubleNATIPv4",
							"Unknown"
						]
					},
					"IPv6AddressAvailability": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the IPv6 Address Type Availability ANQP-element as described in <<bibref|802.11-2020|Table 9-333-IPv6 Address field values>>.",
						"datatype": "string",
						"enumerations": [
							"NotAvailable",
							"Available",
							"Unknown"
						]
					},
					"VenueName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies venue name which can assist a user in selecting the appropriate BSS of which to become a member as described in <<bibref|802.11-2020|Section 9.4.5.4>>.",
						"datatype": "string",
						"range": [
							{
								"max": 252
							}
						]
					},
					"RoamingConsortiumOIs": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the list of Roaming Consortiums whose networks are accessible via this AP as described in <<bibref|802.11-2020|Section 9.4.5.7>>.",
						"list": {
							"datatype": "string"
						}
					},
					"NAIRealms": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the list of network access identifier (NAI) realms corresponding to Subscription Service Provider or other entities whose networks or service are accessible via this AP as described in <<bibref|802.11-2020|Section 9.4.5.10>>.",
						"list": {
							"datatype": "string"
						}
					},
					"Domains": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the list of one or more domain names of the entity operating the IEEE 802.11 access network as described in <<bibref|802.11-2020|Section 9.4.5.15>>.",
						"list": {
							"datatype": "string"
						}
					},
					"AdviceOfCharges": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the list of financial advice of charges related to access as described in <<bibref|802.11-2020|Section 9.4.5.21>>.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"Time-based",
								"Data-volume-based",
								"Time-and-data-volume-based",
								"Unlimited"
							]
						}
					},
					"NetworkAuthTypes": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the list of authentication types required when <<param|#.Interworking.ASRA>> is set to <<true>> as described in <<bibref|802.11-2020|Section 9.4.5.23>>.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"0",
								"1",
								"2",
								"3"
							]
						}
					},
					"Cellular3GPPNetworkInfo": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the Public Land Mobile Network (PLMN) IDs which denote the country code (MCC) and network code (MNC) as described in <<bibref|802.11-2020|Section 9.4.5.11 3GPP Cellular Network ANQP-element>>. Example: : 310410, 310026",
						"list": {
							"datatype": "PLMNId"
						}
					}
				},
				"Device.WiFi.AccessPoint.{i}.Passpoint.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object describes Passpoint/HotSpot 2.0 elements as defined in <<bibref|Passpoint>>.",
					"access": true,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or Disables Hotspot 2.0 indication on the access point.",
						"default": "false",
						"datatype": "boolean"
					},
					"Version": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Passpoint specification version as described in <<bibref|Passpoint|Table 5. Passpoint Specification version number definition>>.",
						"datatype": "string",
						"enumerations": [
							"R1",
							"R2",
							"R3"
						]
					},
					"OperatorFriendlyName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates that operators preferred friendly name used for Online Sign Up purposes to the Passpoint hotspot operator for advertisement as described in <<bibref|Passpoint|Section 4.3>>.",
						"datatype": "string",
						"range": [
							{
								"max": 252
							}
						]
					},
					"DGAFDisable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the state of the Downstream group-addressed forwarding Disable bit in the HS2.0 Indication element as described in <<bibref|Passpoint|Section 5.2>>.",
						"datatype": "boolean"
					},
					"Device.WiFi.AccessPoint.{i}.Passpoint.OSU.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object implements Passpoint Online Sign Up as described in <<bibref|Passpoint|Section 4.3>>.",
						"access": true,
						"array": false,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or Disables Online Sign Up feature on the access point.",
							"default": "false",
							"datatype": "boolean"
						},
						"SSID": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The SSID that the mobile device uses for Online Sign Up with all the Online Sign Up providers listed in <<param|FriendlyNames>>",
							"datatype": "string"
						},
						"Method": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the list of protocols supported by the Online Sign Up provider as described in <<bibref|Passpoint|Table 13-OSU Method values>>.",
							"list": {
								"datatype": "string",
								"enumerations": [
									"Reserved",
									"SOAP_XML_SPP"
								]
							}
						},
						"FriendlyNames": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the list of Online Sign Up Provider names as described in <<bibref|Passpoint|Section 4.8.1.1>>.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 252
									}
								]
							}
						},
						"ServerURIs": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the list of Online Sign Up Server URI as described in <<bibref|Passpoint|Section 4.8.1.2>>.",
							"list": {
								"datatype": "string"
							}
						},
						"ServiceDescriptions": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the list of Online Sign Up service description as described in <<bibref|Passpoint|Section 4.8.1.6>>.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 252
									}
								]
							}
						},
						"ProviderNAIs": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the list of the Network Access Identifiers that is used for Online Sign Up as described in <<bibref|Passpoint|Section 4.13>>.",
							"list": {
								"datatype": "string"
							}
						}
					}
				},
				"Device.WiFi.AccessPoint.{i}.WPS.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters related to Wi-Fi Protected Setup for this access point (as specified in <<bibref|WPSv1.0>> or <<bibref|WPS 2.0>>).",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables WPS functionality for this access point.",
						"default": "true",
						"datatype": "boolean"
					},
					"ConfigMethodsSupported": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "WPS configuration methods supported by the device. Enumeration of: USBFlashDrive, Ethernet, Label, Display, ExternalNFCToken, IntegratedNFCToken, NFCInterface, PushButton, PIN, PhysicalPushButton, PhysicalDisplay, VirtualPushButton, VirtualDisplay. This parameter corresponds directly to the Config Methods attribute of <<bibref|WPS 2.0>>. The <<enum|USBFlashDrive>> and <<enum|Ethernet>> are only applicable in WPS 1.0 and are deprecated in WPS 2.x. The <<enum|PhysicalPushButton>>, <<enum|VirtualPushButton>>, <<enum|PhysicalDisplay>> and <<enum|VirtualDisplay>> are applicable to WPS 2.x only.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"USBFlashDrive",
								"Ethernet",
								"Label",
								"Display",
								"ExternalNFCToken",
								"IntegratedNFCToken",
								"NFCInterface",
								"PushButton",
								"PIN",
								"PhysicalPushButton",
								"PhysicalDisplay",
								"VirtualPushButton",
								"VirtualDisplay"
							]
						}
					},
					"ConfigMethodsEnabled": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates WPS configuration methods enabled on the device.",
						"list": {
							"datatype": "string"
						}
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the current status of WPS. If the device goes to <<enum|SetupLocked>> the WPS needs to be disabled and re-enabled to come out of state.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Error",
							"Unconfigured",
							"Configured",
							"SetupLocked"
						]
					},
					"Version": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Wi-Fi Simple Configuration version supported by the device, a string of the form m.n where m is the major version and n is the minor version. For example, a value of 1.0 denotes WSC 1.0 and a value of 2.0 denotes WSC 2.0.",
						"datatype": "string"
					},
					"PIN": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represents the Device PIN used for PIN based pairing between WPS peers. This PIN is either a four digit number or an eight digit number.",
						"datatype": "string",
						"range": [
							{
								"max": 8
							}
						],
						"pattern": [
							"\\d{4}|\\d{8}"
						]
					},
					"InitiateWPSPBC()": {
						"type": "command",
						"async": true,
						"protocols": [
							"usp"
						],
						"output": {
							"Status": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"usp"
								],
								"description": "Indicates the response to the request to start Wi-Fi Protected Setup (WPS) Push Button Configuration (PBC). Enumeration of: Success, Error_Not_Ready, Error_Timeout, Error_Other.",
								"datatype": "string",
								"enumerations": [
									"Success",
									"Error_Not_Ready",
									"Error_Timeout",
									"Error_Other"
								]
							}
						}
					}
				},
				"Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A table of the devices currently associated with the access point.",
					"uniqueKeys": [
						"MACAddress"
					],
					"access": false,
					"array": true,
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The MAC address of an associated device. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.MACAddress>>.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Associated device type (Laptop, iPhone, Android, etc.).",
						"datatype": "string"
					},
					"SetStaATF": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Configures the Air Time Fairness (ATF) setting of this individual associated device. Expressed as <<units>> of airtime, such that this associated device should not exceed this percentage. Setting this value overrides <<param|##.SSID.<i>.SetATF>> for this associated device.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 100
							}
						],
						"unit": "percent"
					},
					"OperatingStandard": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The operating standard that this associated device is connected with.",
						"datatype": "string",
						"enumerations": [
							"a",
							"b",
							"g",
							"n",
							"ac",
							"ax",
							"be"
						]
					},
					"AuthenticationState": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether an associated device has authenticated (<<true>>) or not (<<false>>).",
						"datatype": "boolean"
					},
					"LastDataDownlinkRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The data transmit rate in <<units>> that was most recently used for transmission from the access point to the associated device. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.LastDataDownlinkRate>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1000
							}
						],
						"unit": "kbps"
					},
					"MaxSupportedDataDownlinkRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum supported data rate on the downlink from the associated device to the access point, measured in <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1000
							}
						],
						"unit": "kbps"
					},
					"LastDataUplinkRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The data transmit rate in <<units>> that was most recently used for transmission from the associated device to the access point. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.LastDataUplinkRate>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1000
							}
						],
						"unit": "kbps"
					},
					"MaxSupportedDataUplinkRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum supported data rate on the uplink from the associated device to the access point, measured in <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1000
							}
						],
						"unit": "kbps"
					},
					"AssociationTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Date and time in UTC when the device was associated If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.LastConnectTime>>.",
						"datatype": "dateTime"
					},
					"SignalStrength": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An indicator of radio signal strength of the uplink from the associated device to the access point, measured in <<units>>, as an average of the last 100 packets received from the device. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.SignalStrength>>.",
						"datatype": "int",
						"range": [
							{
								"min": -200,
								"max": 0
							}
						],
						"unit": "dBm"
					},
					"Noise": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An indicator of radio noise on the uplink from the associated device to the access point, measured in <<units>>, as an average of the last 100 packets received from the device (see ANPI definition in <<bibref|802.11-2012|Clause 10.11.9.4>>) If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.MultiAPSTA.Noise|deprecated>>.",
						"datatype": "int",
						"range": [
							{
								"min": -200,
								"max": 0
							}
						],
						"unit": "dBm"
					},
					"SNR": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An indicator of signal to noise ratio, in <<units>>, on the uplink from the associated device to the access point, measured in <<units>>, as an average of the last 100 packets received from the device.",
						"datatype": "unsignedInt",
						"unit": "dB"
					},
					"Retransmissions": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of <<units>> that had to be re-transmitted, from the last 100 packets sent to the associated device. Multiple re-transmissions of the same packet count as one. If the instance of this <<object>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.RetransCount>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 100
							}
						],
						"unit": "packets"
					},
					"Active": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether or not this node is currently present in the WiFi AccessPoint network. The ability to list inactive nodes is OPTIONAL. If the CPE includes inactive nodes in this table, <<param>> MUST be set to <<false>> for each inactive node. The length of time an inactive node remains listed in this table is a local matter to the CPE.",
						"datatype": "boolean"
					},
					"MaxSupportedBandwidth": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the maximum supported bandwidth for the associated device to the access point.",
						"datatype": "string",
						"enumerations": [
							"20MHz",
							"40MHz",
							"80MHz",
							"160MHz",
							"320MHz",
							"Unknown"
						]
					},
					"Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "These count bytes or packets sent to, or received from, this Associated Device, which is a WiFi station associated to this access point. Packet counters here count 802.11 WiFi frames. The CPE MUST reset these <<object>> parameters (unless otherwise stated in individual object or parameter descriptions) either when the <<param|##.Status>> of the parent <<object|##>> object transitions from <<enum|Disabled|##.Status>> to <<enum|Enabled|##.Status>>, or when it transitions from <<enum|Enabled|##.Status>> to <<enum|Disabled|##.Status>>.",
						"access": false,
						"array": false,
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of bytes transmitted to the Associated Device, including framing characters. If the instance of this <<object|#>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.BytesSent>>.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of bytes received from the Associated Device, including framing characters. If the instance of this <<object|#>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.BytesReceived>>.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of packets transmitted to the Associated Device. If the instance of this <<object|#>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.PacketsSent>>.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of packets received from the Associated Device. If the instance of this <<object|#>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.PacketsReceived>>.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound packets that could not be transmitted because of errors. These might be due to the number of retransmissions exceeding the retry limit, or from other causes. If the instance of this <<object|#>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.ErrorsSent>>.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol. If the instance of this <<object|#>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.ErrorsReceived>>.",
							"datatype": "StatsCounter32"
						},
						"RetransCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of transmitted packets which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two. If the instance of this <<object|#>> is the same as <<object|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.>>, then this parameter is the same as <<param|Device.WiFi.DataElements.Network.Device.<i>.Radio.<i>.BSS.<i>.STA.<i>.RetransCount>>.",
							"datatype": "StatsCounter32"
						},
						"FailedRetransCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of packets that were not transmitted successfully due to the number of retransmission attempts exceeding an 802.11 retry limit. This parameter is based on dot11FailedCount from <<bibref|802.11-2012>>.",
							"datatype": "StatsCounter32"
						},
						"RetryCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of packets that were successfully transmitted after one or more retransmissions. This parameter is based on dot11RetryCount from <<bibref|802.11-2012>>.",
							"datatype": "StatsCounter32"
						},
						"MultipleRetryCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of packets that were successfully transmitted after more than one retransmission. This parameter is based on dot11MultipleRetryCount from <<bibref|802.11-2012>>.",
							"datatype": "StatsCounter32"
						}
					}
				},
				"Device.WiFi.AccessPoint.{i}.AC.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters related to WiFi QoS for different 802.11e access categories (priorities). Access categories are: BE, BK, VI, and VO. These parameters can help control and monitor 802.11e Enhanced distributed channel access (EDCA). The size of this table is fixed, with four entries which are identified by the <<param|AccessCategory>> parameter as follows: * BE (Best Effort) * BK (Background) * VI (Video) * VO (Voice)",
					"uniqueKeys": [
						"AccessCategory",
						"Alias"
					],
					"access": false,
					"array": true,
					"AccessCategory": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This identifies the access category.",
						"datatype": "string",
						"enumerations": [
							"BE",
							"BK",
							"VI",
							"VO"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"AIFSN": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Arbitration Inter Frame Spacing (Number). This is the number of time slots in the arbitration interframe space. <<deprecated|2.15|because it is superseded by the WMM Specification>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 2,
								"max": 15
							}
						]
					},
					"ECWMin": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Exponent of Contention Window (Minimum). This encodes the values of CWMin as an exponent: CWMin = 2^ECWMin^ - 1. For example, if ECWMin is 8, then CWMin is 2^8^ - 1, or 255, (expressed in <<units>>). <<deprecated|2.15|because it is superseded by the WMM Specification>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						],
						"unit": "microseconds"
					},
					"ECWMax": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Exponent of Contention Window (Maximum). This encodes the values of CWMax as an exponent: CWMax = 2^ECWMax^ - 1. For example, if ECWMax is 8, then CWMax is 2^8^ - 1, or 255, (expressed in <<units>>). <<deprecated|2.15|because it is superseded by the WMM Specification>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						],
						"unit": "microseconds"
					},
					"TxOpMax": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum transmit opportunity, in multiples of <<units>>. A TXOP time interval of 0 means it is limited to a single MAC protocol data unit (MPDU). <<deprecated|2.15|because it is superseded by the WMM Specification>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						],
						"unit": "32 microseconds"
					},
					"AckPolicy": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Ack Policy, where False=Do Not Acknowledge and True=Acknowledge",
						"datatype": "boolean"
					},
					"OutQLenHistogramIntervals": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Definition of the histogram intervals for counting the transmit queue length in packets. Each value indicates the maximum value of the interval. For example, 0,1,4,8, defines the five intervals: 0 packets in queue, 1 packet in queue, 2 to 4 packets in queue, 5 to 8 packets in queue, and 9 or more packets in queue. (No value after the last comma means no upper bound.) If this parameter is set to <<empty>>, no <<param|Stats.OutQLenHistogram>> stats will be collected.",
						"list": {
							"datatype": "string"
						}
					},
					"OutQLenHistogramSampleInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time between recording samples of the current transmit queue in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Device.WiFi.AccessPoint.{i}.AC.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains statistics for different 802.11e access categories (priorities). Packet counters here count 802.11 WiFi frames. If there are not separate stats for each access category, (e.g., 802.11e is not used and there is only one queue), then only access category 0 = BE applies (e.g., the statistics for the single queue are in access category 0 = BE). The CPE MUST reset the Access Points Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the Access Point becomes operationally down due to a previous administrative down (i.e. the Access Points Status parameter transitions to a Disabled state) or when the Access Point becomes administratively up (i.e. the Access Points Enable parameter transitions from false to true). Administrative and operational status is discussed in <<bibref|TR-181i2|Section 4.2.2>>.",
						"access": false,
						"array": false,
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted in this access category, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received in this access category, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted in this access category.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received in this access category.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> in this access category that could not be transmitted because of errors. These might be due to the number of retransmissions exceeding the retry limit, or from other causes.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> in this access category that contained errors preventing them from being delivered to a higher-layer protocol.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> in this access category which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> in this access category which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"RetransCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of transmitted <<units>> in this access category which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two.",
							"datatype": "StatsCounter32"
						},
						"OutQLenHistogram": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Histogram of the total length of the transmit queue of this access category in packets (1 packet, 2 packets, etc.) according to the intervals defined by <<param|#.OutQLenHistogramIntervals>>, with samples taken each <<param|#.OutQLenHistogramSampleInterval>>. Example: 12,5,1,0,2,0,0,1.",
							"list": {
								"datatype": "string"
							}
						}
					}
				},
				"Device.WiFi.AccessPoint.{i}.Accounting.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains the parameters related to RADIUS accounting functionality for the access point.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables accounting functionality for the access point.",
						"datatype": "boolean"
					},
					"ServerIPAddr": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IP Address of the RADIUS accounting server.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"SecondaryServerIPAddr": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IP Address of a secondary RADIUS accounting server. The client can forward requests to the secondary server in the event that the primary server is down or unreachable, or after a number of tries to the primary server fail, or in a round-robin fashion. <<bibref|RFC2866>>",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"ServerPort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The port number of the RADIUS server used for accounting. The default port is 1813 as defined in <<bibref|RFC2866>>.",
						"default": "1813",
						"datatype": "unsignedInt"
					},
					"SecondaryServerPort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The port number of the secondary RADIUS server used for accounting. The default port is 1813 as defined in <<bibref|RFC2866>>. If this parameter is not implemented, the secondary RADIUS server will use the same port number as the primary RADIUS server.",
						"default": "1813",
						"datatype": "unsignedInt"
					},
					"Secret": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The secret used for handshaking with the RADIUS accounting server <<bibref|RFC2865>>.",
						"datatype": "string"
					},
					"SecondarySecret": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The secret used for handshaking with the secondary RADIUS accounting server <<bibref|RFC2865>>. If this parameter is not implemented, the secondary RADIUS server will use the same secret as the primary RADIUS server.",
						"datatype": "string"
					},
					"InterimInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the default interim accounting interval in <<units>>, which is used for service accounting when the Acct-Interim-Interval attribute is not configured. <<bibref|RFC2869|Section 2.1>> The value MUST NOT be smaller than 60. The value SHOULD NOT be smaller than 600, and careful consideration should be given to its impact on network traffic <<bibref|RFC2869|Section 5.16>>. A value of 0 means no interim accounting messages are sent.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 60
							}
						],
						"unit": "seconds"
					}
				}
			},
			"Device.WiFi.EndPoint.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object models an 802.11 connection from the perspective of a wireless end point. Each <<object>> entry is associated with a particular <<object|#.SSID>> interface instance via the <<param|SSIDReference>> parameter, and an associated active <<object|Profile>> instance via the <<param|ProfileReference>> parameter. The active profile is responsible for specifying the actual SSID and security settings used by the end point. For enabled table entries, if <<param|SSIDReference>> or <<param|ProfileReference>> is not a valid reference then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"SSIDReference"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this end point.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the status of this end point. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"ProfileReference": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> This is the currently active profile, which specifies the SSID and security settings to be used by the end point.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"SSIDReference": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> <<param>> is determined based on the <<param|Profile.<i>.SSID>> within the associated <<param|ProfileReference>>) endpoint profile. <<param>> MUST be <<empty>> if <<param|ProfileReference>> is <<empty>> (i.e. only when an active profile is assigned can the associated SSID interface be determined).",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ProfileNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.WiFi.EndPoint.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this end point.",
					"access": false,
					"array": false,
					"LastDataDownlinkRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The data transmit rate in <<units>> that was most recently used for transmission from the access point to the end point device.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1000,
								"max": 600000
							}
						],
						"unit": "kbps"
					},
					"LastDataUplinkRate": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The data transmit rate in <<units>> that was most recently used for transmission from the end point to the access point device.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1000,
								"max": 600000
							}
						],
						"unit": "kbps"
					},
					"SignalStrength": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An indicator of radio signal strength of the downlink from the access point to the end point, measured in <<units>>, as an average of the last 100 packets received from the device.",
						"datatype": "int",
						"range": [
							{
								"min": -200,
								"max": 0
							}
						],
						"unit": "dBm"
					},
					"Retransmissions": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of <<units>> that had to be re-transmitted, from the last 100 packets sent to the access point. Multiple re-transmissions of the same packet count as one.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 100
							}
						],
						"unit": "packets"
					}
				},
				"Device.WiFi.EndPoint.{i}.Security.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains security related parameters that apply to a WiFi end point <<bibref|802.11-2007>>.",
					"access": false,
					"array": false,
					"ModesSupported": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates which security modes this <<object|#>> instance is capable of supporting.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"None",
								"WEP-64",
								"WEP-128",
								"WPA-Personal",
								"WPA2-Personal",
								"WPA3-Personal",
								"WPA-WPA2-Personal",
								"WPA3-Personal-Transition",
								"WPA-Enterprise",
								"WPA2-Enterprise",
								"WPA3-Enterprise",
								"WPA-WPA2-Enterprise",
								"OWE"
							]
						}
					}
				},
				"Device.WiFi.EndPoint.{i}.Profile.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "EndPoint Profile table.",
					"uniqueKeys": [
						"Alias",
						"SSID",
						"Location",
						"Priority"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this Profile. When there are multiple WiFi EndPoint Profiles, e.g. each instance supports a different SSID and/or different security configuration, this parameter can be used to control which of the instances are currently enabled.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the status of this Profile. Enumeration of: Active, Available, Error, Disabled. The <<enum|Active>> value is reserved for the instance that is actively connected. The <<enum|Available>> value represents an instance that is not currently active, but is also not disabled or in error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Active",
							"Available",
							"Error",
							"Disabled"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"SSID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The profile identifier in use by the connection. The SSID is an identifier that is attached to packets sent over the wireless LAN that functions as an ID for joining a particular radio network (BSS).",
						"datatype": "string",
						"range": [
							{
								"max": 32
							}
						]
					},
					"Location": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Location of the profile. This value serves as a reminder from the user, describing the location of the profile. For example: Home, Office, Neighbor House, Airport, etc. An empty string is also valid.",
						"datatype": "string"
					},
					"Priority": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The profile Priority defines one of the criteria used by the End Point to automatically select the best AP when several APs with known profiles are simultaneously available for association. In this situation, the End Point has to select the AP with the higher priority in its profile. If there are several APs with the same priority, providing different SSID or the same SSID, then the wireless end point has to select the APs according to other criteria like signal quality, SNR, etc. 0 is the highest priority.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 255
							}
						]
					},
					"Device.WiFi.EndPoint.{i}.Profile.{i}.Security.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains security related parameters that apply to a WiFi End Point profile <<bibref|802.11-2007>>.",
						"access": false,
						"array": false,
						"ModeEnabled": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates which security mode is enabled.",
							"datatype": "string"
						},
						"WEPKey": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A WEP key expressed as a hexadecimal string. <<param>> is used only if <<param|ModeEnabled>> is set to <<enum|WEP-64|ModeEnabled>> or <<enum|WEP-128|ModeEnabled>>. A 5 byte <<param>> corresponds to security mode <<enum|WEP-64|ModeEnabled>> and a 13 byte <<param>> corresponds to security mode <<enum|WEP-128|ModeEnabled>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 5,
									"max": 5
								},
								{
									"min": 13,
									"max": 13
								}
							]
						},
						"PreSharedKey": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A literal PreSharedKey (PSK) expressed as a hexadecimal string. <<param>> is only used if <<param|ModeEnabled>> is set to <<enum|WPA-Personal|ModeEnabled>> or <<enum|WPA2-Personal|ModeEnabled>> or <<enum|WPA-WPA2-Personal|ModeEnabled>>. If <<param|KeyPassphrase>> is written, then <<param>> is immediately generated. The Controller SHOULD NOT set both the <<param|KeyPassphrase>> and the <<param>> directly (the result of doing this is undefined).",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 32
								}
							]
						},
						"KeyPassphrase": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A passphrase from which the <<param|PreSharedKey>> is to be generated, for <<enum|WPA-Personal|ModeEnabled>> or <<enum|WPA2-Personal|ModeEnabled>> or <<enum|WPA-WPA2-Personal|ModeEnabled>> security modes. If <<param>> is written, then <<param|PreSharedKey>> is immediately generated. The Controller SHOULD NOT set both the <<param>> and the <<param|PreSharedKey>> directly (the result of doing this is undefined). The key is generated as specified by WPA, which uses PBKDF2 from PKCS #5: Password-based Cryptography Specification Version 2.0 <<bibref|RFC2898>>.",
							"datatype": "string",
							"range": [
								{
									"min": 8,
									"max": 63
								}
							]
						},
						"SAEPassphrase": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A passphrase for <<enum|WPA3-Personal|ModeEnabled>> or <<enum|WPA3-Personal-Transition|ModeEnabled>> security modes. NOTE: this parameter is for WPA3. WPA2 <<param|PreSharedKey>> is generated from <<param|KeyPassphrase>>.",
							"datatype": "string"
						},
						"MFPConfig": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Management Frame Protection configuration applicable when <<param|ModeEnabled>> is set to <<enum|WPA2-Personal|ModeEnabled>>, <<enum|WPA2-Enterprise|ModeEnabled>>, <<enum|WPA3-Personal|ModeEnabled>>, or <<enum|WPA3-Enterprise|ModeEnabled>>. When in WPA3 modes, <<param>> MUST be set to <<enum|Required>>.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Optional",
								"Required"
							]
						}
					}
				},
				"Device.WiFi.EndPoint.{i}.WPS.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters related to Wi-Fi Protected Setup <<bibref|WPSv1.0>> for this end point.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables WPS functionality for this end point.",
						"default": "true",
						"datatype": "boolean"
					},
					"ConfigMethodsSupported": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "WPS configuration methods supported by the device. Enumeration of: USBFlashDrive, Ethernet, Label, Display, ExternalNFCToken, IntegratedNFCToken, NFCInterface, PushButton, PIN, PhysicalPushButton, PhysicalDisplay, VirtualPushButton, VirtualDisplay. This parameter corresponds directly to the Config Methods attribute of <<bibref|WPS 2.0>>. The <<enum|USBFlashDrive>> and <<enum|Ethernet>> are only applicable in WPS 1.0 and are deprecated in WPS 2.x. The <<enum|PhysicalPushButton>>, <<enum|VirtualPushButton>>, <<enum|PhysicalDisplay>> and <<enum|VirtualDisplay>> are applicable to WPS 2.x only.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"USBFlashDrive",
								"Ethernet",
								"Label",
								"Display",
								"ExternalNFCToken",
								"IntegratedNFCToken",
								"NFCInterface",
								"PushButton",
								"PIN",
								"PhysicalPushButton",
								"PhysicalDisplay",
								"VirtualPushButton",
								"VirtualDisplay"
							]
						}
					},
					"ConfigMethodsEnabled": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates the WPS configuration methods enabled on the device.",
						"list": {
							"datatype": "string"
						}
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the current status of WPS in EndPoint.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Error",
							"Unconfigured",
							"Configured"
						]
					},
					"Version": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Wi-Fi Simple Configuration version supported by the device, a string of the form m.n where m is the major version and n is the minor version. For example, a value of 1.0 denotes WSC 1.0 and a value of 2.0 denotes WSC 2.0.",
						"datatype": "string"
					},
					"PIN": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represents the Device PIN used for PIN based pairing between WPS peers. This PIN is either a four digit number or an eight digit number. Changed in 2.16: The data type was fixed (it was previously defined as an integer that had to have the value 4 or 8).",
						"datatype": "string",
						"range": [
							{
								"max": 8
							}
						],
						"pattern": [
							"\\d{4}|\\d{8}"
						]
					}
				},
				"Device.WiFi.EndPoint.{i}.AC.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters related to WiFi QoS for different 802.11e access categories (priorities). Access categories are: BE, BK, VI, and VO. These parameters can help control and monitor 802.11e Enhanced distributed channel access (EDCA). The size of this table is fixed, with four entries which are identified by the <<param|AccessCategory>> parameter as follows: * BE (Best Effort) * BK (Background) * VI (Video) * VO (Voice)",
					"uniqueKeys": [
						"AccessCategory",
						"Alias"
					],
					"access": false,
					"array": true,
					"AccessCategory": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This identifies the access category.",
						"datatype": "string",
						"enumerations": [
							"BE",
							"BK",
							"VI",
							"VO"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"AIFSN": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Arbitration Inter Frame Spacing (Number). This is the number of time slots in the arbitration interframe space. <<deprecated|2.15|because it is superseded by the WMM Specification>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 2,
								"max": 15
							}
						]
					},
					"ECWMin": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Exponent of Contention Window (Minimum). This encodes the values of CWMin as an exponent: CWMin = 2^ECWMin^ - 1. For example, if ECWMin is 8, then CWMin is 2^8^ - 1, or 255, (expressed in <<units>>). <<deprecated|2.15|because it is superseded by the WMM Specification>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						],
						"unit": "microseconds"
					},
					"ECWMax": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Exponent of Contention Window (Maximum). This encodes the values of CWMax as an exponent: CWMax = 2^ECWMax^ - 1. For example, if ECWMax is 8, then CWMax is 2^8^ - 1, or 255, (expressed in <<units>>). <<deprecated|2.15|because it is superseded by the WMM Specification>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						],
						"unit": "microseconds"
					},
					"TxOpMax": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum transmit opportunity, in multiples of <<units>>. A TXOP time interval of 0 means it is limited to a single MAC protocol data unit (MPDU). <<deprecated|2.15|because it is superseded by the WMM Specification>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						],
						"unit": "32 microseconds"
					},
					"AckPolicy": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Ack Policy, where False=Do Not Acknowledge and True=Acknowledge",
						"datatype": "boolean"
					},
					"OutQLenHistogramIntervals": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Definition of the histogram intervals for counting the transmit queue length in packets. Each value indicates the maximum value of the interval. For example, 0,1,4,8, defines the five intervals: 0 packets in queue, 1 packet in queue, 2 to 4 packets in queue, 5 to 8 packets in queue, and 9 or more packets in queue. (No value after the last comma means no upper bound.) If this parameter is set to an empty string, no <<param|Stats.OutQLenHistogram>> stats will be collected.",
						"list": {
							"datatype": "string"
						}
					},
					"OutQLenHistogramSampleInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time between recording samples of the current transmit queue <<units>>.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Device.WiFi.EndPoint.{i}.AC.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains statistics for different 802.11e access categories (priorities). Packet counters here count 802.11 WiFi frames. If there are not separate stats for each access category, (e.g., 802.11e is not used and there is only one queue), then only access category 0 = BE applies (e.g., the statistics for the single queue are in access category 0 = BE). The CPE MUST reset the EndPoints Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the EndPoint becomes operationally down due to a previous administrative down (i.e. the EndPoints Status parameter transitions to a Disabled state) or when the EndPoint becomes administratively up (i.e. the EndPoints Enable parameter transitions from false to true). Administrative and operational status is discussed in <<bibref|TR-181i2|Section 4.2.2>>.",
						"access": false,
						"array": false,
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted in this access category, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received in this access category, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted in this access category.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received in this access category.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> in this access category that could not be transmitted because of errors. These might be due to the number of retransmissions exceeding the retry limit, or from other causes.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> in this access category that contained errors preventing them from being delivered to a higher-layer protocol.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> in this access category which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> in this access category which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"RetransCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of transmitted <<units>> in this access category which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two.",
							"datatype": "StatsCounter32"
						},
						"OutQLenHistogram": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Histogram of the total length of the transmit queue of this access category in packets (1 packet, 2 packets, etc.) according to the intervals defined by <<param|#.OutQLenHistogramIntervals>>, with samples taken each <<param|#.OutQLenHistogramSampleInterval>>. Example: 12,5,1,0,2,0,0,1",
							"list": {
								"datatype": "string"
							}
						}
					}
				}
			}
		},
		"Device.Thread.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The Thread object is based on the Thread Group specifications: Thread 1.3.0 Specification <<bibref|ThreadSpec>>. It defines interface object (<<object|Radio>> and <<object|MLE>>), and application object (<<object|BorderRouter>>).",
			"access": true,
			"array": false,
			"BorderRouterNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"RadioNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MLENumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"NodeNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Thread.BorderRouter.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The BorderRouter is capable of forwarding between a Thread Network and a non-Thread Network. Each BorderRouter entry is associated with a particular Thread Network (or MLE) instance via the <<param|MLEReference>> parameter.",
				"uniqueKeys": [
					"Alias",
					"BorderAgentID"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this border router.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the status of this border router.",
					"datatype": "string",
					"enumerations": [
						"Started",
						"Stopped",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"BorderAgentID": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Globally unique ID generated by the Thread Border Router.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 16,
							"max": 16
						}
					]
				},
				"MLEReference": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Define the Thread network to which it belongs.",
					"datatype": "string"
				},
				"RoutingRef": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Define the routing and forwarding configuration of the BorderRouter, in order to access the Thread Network it manages. This is the way to manage ::/64 prefix used for global addressing of the mesh network (see Thread Specification <<bibref|ThreadIPv6Addressing>> IPv6 Address Configuration).",
					"datatype": "string"
				},
				"Start()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Stop()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				}
			},
			"Device.Thread.Radio.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object models an 802.15.4 wireless radio (<<bibref|802.15.4-2020>>) on the device (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>).",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"MaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"TransmitPowerSupported": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> List items represent supported transmit power levels as <<units>> of full power. For example, 0,25,50,75,100. A -1 item indicates auto mode (automatic decision by CPE). Auto mode allows the <<object>> to adjust transmit power accordingly. For example, this can be useful for power-save modes such as EU-CoC, where the <<object>> can adjust power according to activity in the CPE.",
					"list": {
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 100
							}
						],
						"unit": "percentage"
					}
				},
				"TransmitPower": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the current transmit power level as a <<units>> of full power. The value MUST be one of the values reported by the <<param|TransmitPowerSupported>> parameter. A value of -1 indicates auto mode (automatic decision by device).",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 100
						}
					],
					"unit": "percentage"
				},
				"HardwareVersion": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This radios Thread hardware version.",
					"datatype": "string"
				},
				"FirmwareVersion": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This radios Thread firmware version.",
					"datatype": "string"
				},
				"Scan()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"output": {}
				},
				"EnergyScan()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"output": {}
				},
				"Device.Thread.Radio.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.Thread.MLE.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object models the Mesh Link Establishment (MLE) (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>) used to establish and configure secure radio link of Thread network.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"SupportedStandards": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The items in the list indicate the supported Thread version. The associated border router can only support one standard at a time.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"1.0",
							"1.1",
							"1.2",
							"1.3",
							"1.4"
						]
					}
				},
				"OperatingStandard": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The operating standard this <<object>> instance is configured for.",
					"datatype": "string"
				},
				"DatasetNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"AssociatedNodeNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"SetActiveDataset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"TLVs": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The TLV encodings for the active <<object|Dataset>> parameters that will be used across an entire Thread network. The active Operational Dataset TLVs encode : * Active Timestamp * Channel * Channel Mask * Extended PAN ID * Mesh-Local Prefix * Network Name * PAN ID * PSKc * Security Policy The encoding in <<param>> for the active Dataset field is defined in the Thread specification (see <<bibref|ThreadSpec>>).",
							"datatype": "hexBinary"
						}
					}
				},
				"SetPendingDataset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"TLVs": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The TLV encodings for the pending Dataset parameters that will be use across an entire Thread network. The pending Operational Dataset TLVs encode : * Pending Timestamp * Channel * Channel Mask * Extended PAN ID * Mesh-Local Prefix * Network Name * PAN ID * PSKc * Security Policy The encoding in <<param>> for the pending Dataset field is defined in the Thread specification (see <<bibref|ThreadSpec>>).",
							"datatype": "hexBinary"
						}
					}
				},
				"GetActiveDataset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"output": {
						"TLVs": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The TLV encodings for the active Dataset parameters that will be use across an entire Thread network. The active Operational Dataset TLVs encode : * Active Timestamp * Channel * Channel Mask * Extended PAN ID * Mesh-Local Prefix * Network Name * PAN ID * PSKc * Security Policy The encoding in <<param>> for the active Dataset field is defined in the Thread specification (see <<bibref|ThreadSpec>>).",
							"datatype": "hexBinary"
						}
					}
				},
				"GetPendingDataset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"output": {
						"TLVs": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The TLV encodings the pending Dataset parameters that will be use across an entire Thread network. The pending Operational Dataset TLVs encode : * Pending Timestamp * Channel * Channel Mask * Delay Timer * Extended PAN ID * Mesh-Local Prefix * Network Name * PAN ID * PSKc * Security Policy The encoding in <<param>> for the pending Dataset field is defined in the Thread specification (see <<bibref|ThreadSpec>>).",
							"datatype": "hexBinary"
						}
					}
				},
				"Device.Thread.MLE.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.Thread.MLE.{i}.LeaderData.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the leader data.",
					"access": true,
					"array": false,
					"DataVersion": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The full Network Data Version the Node currently uses.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"LeaderRouterID": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The 8-bit <<param>> the Node attempts to utilize upon becoming a router or leader on the Thread network.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"PartitionID": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Thread Leader Partition ID for the Thread network to which the Node is joined.",
						"datatype": "unsignedInt"
					},
					"StableDataVersion": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Network Data Version for the stable subset of data the Node currently uses.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Weighting": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Thread Leader weight used when operating in the Leader role.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					}
				},
				"Device.Thread.MLE.{i}.Dataset.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Thread network configuration parameters are managed using an active and one optional pending Operational Dataset objects. The active Operational Dataset includes parameters (defined in the Thread specification, see <<bibref|ThreadSpec>>) that are currently in use across an entire Thread network. The active Operational Dataset contains: * Timestamp * Channel * Channel Mask * Extended PAN ID * Mesh-Local Prefix * Network Name * PAN ID * PSKc * Network key * Security Policy The pending Operational Dataset is used to communicate changes to the active Operational Dataset before they take effect. The pending Operational Dataset contains all the parameters from the Active Operational Dataset, with the addition of: Delay Timer.",
					"uniqueKeys": [
						"Status",
						"Alias"
					],
					"access": true,
					"array": true,
					"Status": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the status of this dataset.",
						"datatype": "string",
						"enumerations": [
							"active",
							"pending"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"TimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<param>> of the dataset, depending status, it represent : * Active Timestamp (timestamp of the current dataset) * Pending Timestamp",
						"datatype": "dateTime"
					},
					"DelayTimer": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An unsigned 32-bit number in milliseconds indicate the Time Remaining when pending Dataset will be activated. This value MUST be 0 for active dataset.",
						"datatype": "unsignedInt"
					},
					"Channel": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IEEE 802.15.4 channel value of the interface defined in <<bibref|ThreadSpec>> (Thread specification only supports the 2450 MHz channels).",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						]
					},
					"NetworkName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The name of the network link to the interface.",
						"datatype": "string"
					},
					"PanID": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IEEE 802.15.4 PAN ID value link to the interface.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 2,
								"max": 2
							}
						]
					},
					"ExtendedPanID": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IEEE 802.15.4 ExtPAN ID value link to the interface.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 8,
								"max": 8
							}
						]
					},
					"MeshLocalPrefix": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicate the mesh-local IPv6 prefix for the Thread network.",
						"datatype": "IPv6Prefix"
					},
					"ChannelMask": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the channels within channel page 0, in the 2.4GHz ISM band. The channels are represented in most significant bit order, with bit value 1 meaning selected, bit value 0 meaning unselected.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 4,
								"max": 4
							}
						]
					},
					"PSKc": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pre-Shared Key Credential for inband commissioning.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 16,
								"max": 16
							}
						]
					},
					"NetworkKey": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Key of the network.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 16,
								"max": 16
							}
						]
					},
					"Device.Thread.MLE.{i}.Dataset.{i}.SecurityPolicy.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<object>> provide an administrator a way to enable or disable certain security related behaviors.",
						"access": true,
						"array": false,
						"RotationTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The rotation time of the security policy.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"Flags": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The flags indicates the current security policies for the Thread partition of the current dataset. The <<param>> is an ordered concatenation of case sensitive characters containing list elements (may be empty).",
							"list": {
								"datatype": "string",
								"enumerations": [
									"o",
									"n",
									"r",
									"c",
									"C",
									"e",
									"p",
									"R"
								]
							}
						}
					}
				},
				"Device.Thread.MLE.{i}.AssociatedNode.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A table of the nodes currently associated to the Thread network defined by this <<object|##.MLE.>> instance. This includes the host nodes.",
					"uniqueKeys": [
						"Alias",
						"ExtendedMAC"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"LastContactTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time in UTC when associated Thread node on the device has received data from remote node.",
						"datatype": "dateTime"
					},
					"ExtendedMAC": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Unique MacID of the node.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 16,
								"max": 16
							}
						]
					},
					"Rloc16": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Rloc of the node.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"RoutingRole": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current state of the Thread node.",
						"datatype": "string",
						"enumerations": [
							"Child",
							"Router",
							"Leader",
							"Unassigned"
						]
					},
					"Mode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Thread Device mode value.",
						"datatype": "string",
						"enumerations": [
							"rx-on-when-idle",
							"Full Thread Device",
							"Full Network Data"
						]
					},
					"RouteNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"NeighborNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"IPv6AddressNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Thread.MLE.{i}.AssociatedNode.{i}.Neighbor.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Entries in this table reference nodes that are immediate neighbors of the associated node instance. This table is empty if the <<param|#.RoutingRole>> is not a <<enum|Router|#.RoutingRole>> or <<enum|Leader|#.RoutingRole>>.",
						"uniqueKeys": [
							"NodeReference"
						],
						"access": true,
						"array": true,
						"NodeReference": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "References the Thread node that is an immediate neighbor of the <<object|##.AssociatedNode>>. By construction the <<param|#.RoutingRole>> of <<object|##.AssociatedNode>> MUST be <<enum|Router|#.RoutingRole>> or <<enum|Leader|#.RoutingRole>>.",
							"datatype": "string"
						},
						"AvgRSSI": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The average Received Signal Strength Indicator (RSSI) is the average measurement of the signal strength received by the parent router node from the neighbor node.",
							"datatype": "unsignedInt"
						}
					},
					"Device.Thread.MLE.{i}.AssociatedNode.{i}.Route.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Entries in this table depend on the associated node routing capabilities defined by the <<param|#.RoutingRole>> and <<param|#.Mode>> according to the Thread Specification (i.e. a child node has an empty <<object>> table). It maintains information for each link to Router neighbor as follows: * the Router ID assigned to that neighbor. * the routing cost. * the incoming link quality metric calculated from the measured link margin for messages received from the neighbor. * the incoming link quality metric reported by the neighbor for messages arriving from this Router.",
						"uniqueKeys": [
							"ID"
						],
						"access": true,
						"array": true,
						"ID": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Router ID of the route table entry.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"PathCost": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The routing cost advertised by the Next Hop to reach <<param|ID>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"LQIn": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Link Quality for messages received from <<param|ID>>, depending on the Link Margin value average of the received relative signal strength.",
							"datatype": "ThreadLinkQuality",
							"range": [
								{
									"min": 0,
									"max": 3
								}
							]
						},
						"LQOut": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Link Quality for messages sent to <<param|ID>>, depending on the Link Margin value average of the sent relative signal strength.",
							"datatype": "ThreadLinkQuality",
							"range": [
								{
									"min": 0,
									"max": 3
								}
							]
						}
					},
					"Device.Thread.MLE.{i}.AssociatedNode.{i}.IPv6Address.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents the list of IPv6 addresses associated with the Thread node.",
						"uniqueKeys": [
							"Alias",
							"IPAddress"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Type": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The IPv6 address may by of one the following types. Enumeration of: * LinkLocal (Address reachable by a single radio transmission with the prefixes fe80::/16). * MeshLocal (Address reachable within the same Thread network with the prefix defined by the Thread network). * Global (Address reachable from outside a Thread network with the prefix provided by the Border Router).",
							"datatype": "string"
						},
						"IPAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Router ID of the route table entry.",
							"datatype": "IPv6Address"
						}
					}
				}
			},
			"Device.Thread.Node.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The table of nodes hosted on the device.",
				"uniqueKeys": [
					"ExtendedMAC"
				],
				"access": true,
				"array": true,
				"ExtendedMAC": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Unique MacID of the node.",
					"datatype": "hexBinary",
					"range": [
						{
							"min": 16,
							"max": 16
						}
					]
				},
				"Connected": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The connectivity status. When <<true>> this <<object>> instance participates to the Thread network referenced by <<param|MLEReference>>.",
					"datatype": "boolean"
				},
				"MLEReference": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Connect the node to the Thread network managed by the Mesh Link Established.",
					"datatype": "string"
				}
			}
		},
		"Device.ZigBee.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Top level object for ZigBee capabilities based on the <<bibref|ZigBee2007>> specification.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ZDONumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.ZigBee.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "ZigBee interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models the ZigBee interface of a ZigBee end device, ZigBee router or ZigBee coordinator.",
				"uniqueKeys": [
					"Alias",
					"Name",
					"ZDOReference"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Upstream": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
					"datatype": "boolean"
				},
				"MaxBitRate": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum upstream and downstream PHY bit rate supported by this interface (expressed in <<units>>).",
					"datatype": "unsignedInt",
					"unit": "Mbps"
				},
				"IEEEAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IEEE address assigned to this interface. A value of FF:FF:FF:FF:FF:FF:FF:FF indicates that this address is unknown. This parameter has the same value as the <<param|#.ZDO.<i>.IEEEAddress>> parameter of the ZDO instance <<param|ZDOReference>> is pointing to.",
					"datatype": "IEEE_EUI64",
					"range": [
						{
							"max": 23
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){7}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"NetworkAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The ZigBee network address assigned to this interface. This parameter has the same value as the <<param|#.ZDO.<i>.NetworkAddress>> parameter of the ZDO instance <<param|ZDOReference>> is pointing to.",
					"datatype": "ZigBeeNetworkAddress",
					"range": [
						{
							"max": 4
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f]){4}"
					]
				},
				"ZDOReference": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The ZigBee Device Object assigned to this interface.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AssociatedDeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.ZigBee.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"UnknownPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received which were discarded because of an unknown or unsupported protocol. <<deprecated|2.19|because its name is a typo of <<param|UnknownProtoPacketsReceived>>>>",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.ZigBee.Interface.{i}.AssociatedDevice.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table provides information about other ZigBee devices that are directly accessible via this interface. <<keys>> It is possible that instances of this object have the same key value when the value of <<param|IEEEAddress>> parameter is FF:FF:FF:FF:FF:FF:FF:FF and the ZigBee Coordinators on two or more separate area networks assign the same value for the <<param|NetworkAddress>>. This is because the ZigBee specification describes only intra-area network topologies <<bibref|ZigBee2007|Section 1.1.4 Network Topology>>. As such if two or more <<object>> instances have the same key value the implementation is undefined.",
					"uniqueKeys": [
						"IEEEAddress",
						"NetworkAddress"
					],
					"access": false,
					"array": true,
					"IEEEAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IEEE address assigned to this device. A value of FF:FF:FF:FF:FF:FF:FF:FF indicates that this address is unknown.",
						"datatype": "IEEE_EUI64",
						"range": [
							{
								"max": 23
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){7}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"NetworkAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The ZigBee network address assigned to this device.",
						"datatype": "ZigBeeNetworkAddress",
						"range": [
							{
								"max": 4
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f]){4}"
						]
					},
					"Active": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether or not this device is currently present in the ZigBee network as defined in <<bibref|ZigBee2007|section 2.4.4.1>>. The ability to list inactive devices is OPTIONAL. If the CPE includes inactive devices in this table, <<param>> MUST be set to <<false>> for each inactive device. The length of time an inactive device remains listed in this table is a local matter to the CPE.",
						"datatype": "boolean"
					},
					"ZDOReference": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The ZigBee Device Object assigned to this interface.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				}
			},
			"Device.ZigBee.ZDO.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "ZigBee Device Object (ZDO) provides management capabilities of the ZigBee Application Support (APS) and Network (NWK) layers of a ZigBee Device as defined in <<bibref|ZigBee2007|section 2.5>>. <<keys>> It is possible that instances of this object have the same key value when the value of <<param|IEEEAddress>> parameter is FF:FF:FF:FF:FF:FF:FF:FF and the ZigBee Coordinators on two or more separate area networks assign the same value for the <<param|NetworkAddress>>. This is because the ZigBee specification describes only intra-area network topologies <<bibref|ZigBee2007|Section 1.1.4 Network Topology>>. As such if two or more <<object>> instances have the same key value the implementation is undefined",
				"uniqueKeys": [
					"IEEEAddress",
					"NetworkAddress",
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"IEEEAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IEEE address assigned to this device. A value of FF:FF:FF:FF:FF:FF:FF:FF indicates that this address is unknown.",
					"datatype": "IEEE_EUI64",
					"range": [
						{
							"max": 23
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){7}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"NetworkAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The ZigBee network address assigned to this device.",
					"datatype": "ZigBeeNetworkAddress",
					"range": [
						{
							"max": 4
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f]){4}"
					]
				},
				"BindingTableNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"GroupNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ApplicationEndpointNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.ZigBee.ZDO.{i}.NodeDescriptor.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object describes the node capabilities of the ZigBee device as defined in <<bibref|ZigBee2007|section 2.3.2.3 Node Descriptor>>.",
					"access": false,
					"array": false,
					"LogicalType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The type of ZigBee device that is extracted from the Logical Type Field as defined in <<bibref|ZigBee2007|Table 2.29>>. Enumeration of: ZC, ZR, ZED.",
						"datatype": "string",
						"enumerations": [
							"ZC",
							"ZR",
							"ZED"
						]
					},
					"ComplexDescriptorSupported": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, specifies that the <<object|#.ComplexDescriptor>> object is supported for this ZigBee device.",
						"datatype": "boolean"
					},
					"UserDescriptorSupported": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, specifies that the <<object|#.UserDescriptor>> object is supported for this ZigBee device.",
						"datatype": "boolean"
					},
					"FrequencyBand": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the frequency bands that are supported by the underlying IEEE 802.15.4 radio utilized by the ZigBee device. <<list>> Enumeration of: 868-868.6, 902-928, 2400-2483.5.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"868-868.6",
								"902-928",
								"2400-2483.5"
							]
						}
					},
					"MACCapability": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the IEEE 802.15.4-2003 MAC sub-layer capabilities for this ZigBee device. <<list>> Enumeration of: AlternatePANCoordinator, FFD, MainsPowerSource, OnWhenIdle, SecureCommunication.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"AlternatePANCoordinator",
								"FFD",
								"MainsPowerSource",
								"OnWhenIdle",
								"SecureCommunication"
							]
						}
					},
					"ManufactureCode": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies a manufacturer code that is allocated by the ZigBee Alliance, relating the manufacturer to the device.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"MaximumBufferSize": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the maximum buffer size, in <<units>>, of the network sub-layer data unit (NSDU) for this ZigBee device.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 128
							}
						],
						"unit": "octets"
					},
					"MaximumIncomingTransferSize": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the maximum size, in <<units>>, of the application sub-layer data unit (ASDU) that can be transferred to this ZigBee device in one single message transfer.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 32768
							}
						],
						"unit": "octets"
					},
					"MaximumOutgoingTransferSize": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the maximum size, in <<units>>, of the application sub-layer data unit (ASDU) that can be transferred from this ZigBee device in one single message transfer.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 32768
							}
						],
						"unit": "octets"
					},
					"ServerMask": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the system server capabilities of this ZigBee device. <<list>> Enumeration of: PrimaryTrustCenter, PrimaryBindingTableCache, BackupBindingTableCache, PrimaryDiscoveryCache, BackupDiscoveryCache, NetworkManager.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"PrimaryTrustCenter",
								"PrimaryBindingTableCache",
								"BackupBindingTableCache",
								"PrimaryDiscoveryCache",
								"BackupDiscoveryCache",
								"NetworkManager"
							]
						}
					},
					"DescriptorCapability": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the descriptor capabilities of this ZigBee device. <<list>> Enumeration of: ExtendedActiveEndpointListAvailable, ExtendedSimpleDescriptorListAvailable.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"ExtendedActiveEndpointListAvailable",
								"ExtendedSimpleDescriptorListAvailable"
							]
						}
					}
				},
				"Device.ZigBee.ZDO.{i}.PowerDescriptor.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object describes the power capabilities of the ZigBee device as defined in <<bibref|ZigBee2007|section 2.3.2.4 Node Power Descriptor>>.",
					"access": false,
					"array": false,
					"CurrentPowerMode": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the current sleep/power-saving mode of the ZigBee device. Enumeration of: Synchronized, Periodic, Manual.",
						"datatype": "string",
						"enumerations": [
							"Synchronized",
							"Periodic",
							"Manual"
						]
					},
					"AvailablePowerSource": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the power sources available on this ZigBee device. <<list>> Enumeration of: Constant, Rechargeable, Disposable.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"Constant",
								"Rechargeable",
								"Disposable"
							]
						}
					},
					"CurrentPowerSource": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current power source field specifies the current power source being utilized by the node. Enumeration of: Constant, Rechargeable, Disposable.",
						"datatype": "string",
						"enumerations": [
							"Constant",
							"Rechargeable",
							"Disposable"
						]
					},
					"CurrentPowerSourceLevel": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the level of charge of the current power source. Enumeration of: Critical, 33, 66, 100.",
						"datatype": "string",
						"enumerations": [
							"Critical",
							"33",
							"66",
							"100"
						]
					}
				},
				"Device.ZigBee.ZDO.{i}.UserDescriptor.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object is an optional descriptor that describes user defined capabilities of the ZigBee device as defined in <<bibref|ZigBee2007|section 2.3.2.7 User Descriptor>>. The <<object>> object contains information that allows the user to identify the device using a user-friendly character string, such as Bedroom TV or Stairs Light.",
					"access": false,
					"array": false,
					"DescriptorAvailable": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, the User Descriptor recorded has been received from the target device.",
						"datatype": "boolean"
					},
					"Description": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the information that allows the user to identify the ZigBee device using a user-friendly character string, such as Bedroom TV or Stairs light.",
						"datatype": "string",
						"range": [
							{
								"max": 16
							}
						]
					}
				},
				"Device.ZigBee.ZDO.{i}.ComplexDescriptor.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object is an optional descriptor that describes extended capabilities of the ZigBee device as defined in <<bibref|ZigBee2007|section 2.3.2.6 Complex Descriptor>>.",
					"access": false,
					"array": false,
					"DescriptorAvailable": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, the Complex Descriptor recorded has been received from the target device.",
						"datatype": "boolean"
					},
					"Language": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the ISO 639-1 language code as defined in <<bibref|ISO639-1>>.",
						"datatype": "string"
					},
					"CharacterSet": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the ISO 646 character set as defined in <<bibref|ISO646-1991>>.",
						"datatype": "string"
					},
					"ManufacturerName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the name of the manufacturer of the ZigBee device.",
						"datatype": "string"
					},
					"ModelName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the name of the manufacturers model of the ZigBee device.",
						"datatype": "string"
					},
					"SerialNumber": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the manufacturers serial number of the ZigBee device.",
						"datatype": "string"
					},
					"DeviceURL": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the <<datatype>> through which more information relating to the ZigBee device can be obtained.",
						"datatype": "URL"
					},
					"Icon": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The icon field contains an octet string which carries the data for an icon that can represent the ZigBee device. The format of the icon MUST be a 32-by-32-pixel PNG image.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"IconURL": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the <<datatype>> through which the icon for the ZigBee device can be obtained.",
						"datatype": "URL"
					}
				},
				"Device.ZigBee.ZDO.{i}.Security.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object provides the configuration capabilities needed to perform the Security Management functionality defined in <<bibref|ZigBee2007|section 4 Security Management>>.",
					"access": false,
					"array": false,
					"TrustCenterAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the IEEE address of a special device trusted by devices within a ZigBee network to distribute keys for the purpose of network and end-to-end application configuration management.",
						"datatype": "IEEE_EUI64",
						"range": [
							{
								"max": 23
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){7}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"SecurityLevel": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies how an outgoing frame is to be secured, how an incoming frame purportedly has been secured; it also indicates whether or not the payload is encrypted and to what extent data authenticity over the frame is provided, as reflected by the length of the message integrity code (MIC). Enumeration of: None, MIC-32, MIC-64, MIC-128, ENC, ENC-MIC-32, ENC-MIC-64, ENC-MIC-128.",
						"datatype": "string",
						"enumerations": [
							"None",
							"MIC-32",
							"MIC-64",
							"MIC-128",
							"ENC",
							"ENC-MIC-32",
							"ENC-MIC-64",
							"ENC-MIC-128"
						]
					},
					"TimeOutPeriod": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The period of time, in <<units>>, that this ZigBee device will wait for an expected security protocol frame.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						],
						"unit": "milliseconds"
					}
				},
				"Device.ZigBee.ZDO.{i}.Network.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object provides the configuration capabilities needed to by a ZigBee Device to operate within a ZigBee Area Network as defined in <<bibref|ZigBee2007|section 2.5.2.4 Network Manager>>.",
					"access": false,
					"array": false,
					"NeighborNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.ZigBee.ZDO.{i}.Network.Neighbor.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<object>> object provides the configuration capabilities needed to by a ZigBee Device to operate within a ZigBee Area Network as defined in <<bibref|ZigBee2007|section 2.5.2.4 Network Manager>>.",
						"uniqueKeys": [
							"Neighbor"
						],
						"access": false,
						"array": true,
						"Neighbor": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Neighbor of this ZigBee device. The value MUST be the path name of a row in the ZigBee.ZDO table. If the referenced row is deleted then this entry MUST be deleted.",
							"datatype": "string"
						},
						"LQI": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The LQI field specified link quality identification (LQI) for neighbor ZigBee device.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"Relationship": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The relationship between the neighbor and this device.Enumeration of: Parent, Child, PrevChild, Sibling, None.",
							"datatype": "string",
							"enumerations": [
								"Parent",
								"Child",
								"PrevChild",
								"Sibling",
								"None"
							]
						},
						"PermitJoin": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "An indication of whether the neighbor device is accepting join requests.Enumeration of: Accepting, NotAccepting, Unknown.",
							"datatype": "string",
							"enumerations": [
								"Accepting",
								"NotAccepting",
								"Unknown"
							]
						},
						"Depth": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The tree depth of the neighbor device. A value of 0x00 indicates that the device is the ZigBee coordinator for the network.",
							"datatype": "unsignedInt"
						}
					}
				},
				"Device.ZigBee.ZDO.{i}.NodeManager.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object describes the configuration capabilities related for remote management of the ZigBee Area Network as defined in <<bibref|ZigBee2007|section 2.5.2.6 Node Manager>>.",
					"access": false,
					"array": false,
					"RoutingTableNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.ZigBee.ZDO.{i}.NodeManager.RoutingTable.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<object>> object describes the route table as defined in <<bibref|ZigBee2007|table 3.51 Routing Table Entry>>.",
						"uniqueKeys": [
							"DestinationAddress"
						],
						"access": false,
						"array": true,
						"DestinationAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The ZigBee network address of this route.",
							"datatype": "string",
							"range": [
								{
									"max": 4
								}
							],
							"pattern": [
								"([0-9A-Fa-f]){4}"
							]
						},
						"NextHopAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the network address of the next hop ZigBee device on the way to the destination ZigBee device.",
							"datatype": "ZigBeeNetworkAddress",
							"range": [
								{
									"max": 4
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f]){4}"
							]
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The status of the route entry. Enumeration of: Active, DiscoveryUnderway, DiscoveryFailed, Inactive, ValidationUnderway.",
							"datatype": "string",
							"enumerations": [
								"Active",
								"DiscoveryUnderway",
								"DiscoveryFailed",
								"Inactive",
								"ValidationUnderway"
							]
						},
						"MemoryConstrained": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A flag indicating whether the device is a memory constrained concentrator.",
							"datatype": "boolean"
						},
						"ManyToOne": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A flag indicating that the destination is a concentrator that issued a many to-one request.",
							"datatype": "boolean"
						},
						"RouteRecordRequired": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A flag indicating that a route record command frame should be sent to the destination prior to the next data packet.",
							"datatype": "boolean"
						}
					}
				},
				"Device.ZigBee.ZDO.{i}.Binding.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object describes the configuration capabilities related to maintaining a ZigBee Devices Binding Table as defined in <<bibref|ZigBee2007|section 2.2.8.2 Binding>>.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the use of this binding on the device.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"SourceEndpoint": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the source endpoint used in this binding entry.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 240
							}
						]
					},
					"SourceAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the source address used in this binding entry.",
						"datatype": "IEEE_EUI64",
						"range": [
							{
								"max": 23
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){7}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"ClusterId": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the cluster identifier used in this binding entry.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"DestinationAddressMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the type of destination address used for this binding entry. Enumeration of: Group, Endpoint.",
						"datatype": "string",
						"enumerations": [
							"Group",
							"Endpoint"
						]
					},
					"DestinationEndpoint": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the destination endpoint for the binding entry. The value of this field is valid when the value of the <<param|DestinationAddressMode>> is <<enum|Endpoint|DestinationAddressMode>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 240
							}
						]
					},
					"IEEEDestinationAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the IEEE destination address for this binding entry. The value of this field is valid when the value of the <<param|DestinationAddressMode>> is <<enum|Endpoint|DestinationAddressMode>>.",
						"datatype": "IEEE_EUI64",
						"range": [
							{
								"max": 23
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){7}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"GroupDestinationAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the group destination address for this binding entry. The value of this field is valid when the value of the <<param|DestinationAddressMode>> is <<enum|Group|DestinationAddressMode>>.",
						"datatype": "ZigBeeNetworkAddress",
						"range": [
							{
								"max": 4
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f]){4}"
						]
					}
				},
				"Device.ZigBee.ZDO.{i}.Group.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object describes the configuration capabilities related to maintaining a ZigBee Devices Group Table as defined in <<bibref|ZigBee2007|section 2.5.2.7 Group Manager>>.",
					"uniqueKeys": [
						"GroupId",
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the use of this group on the device.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"GroupId": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Group Identifier for this object as defined in <<bibref|ZigBee2007|table 2.25 Group Table Entry Format>>.",
						"datatype": "ZigBeeNetworkAddress",
						"range": [
							{
								"max": 4
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f]){4}"
						]
					},
					"EndpointList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The list of application endpoints assigned as a member of this <<object>> object.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				},
				"Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object describes the application endpoint as defined in <<bibref|ZigBee2007|section 2.1.2 Application Framework>>.",
					"uniqueKeys": [
						"EndpointId",
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the use of this application endpoint on the device.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"EndpointId": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Endpoint Identifier for this object as defined in <<bibref|ZigBee2007|section 2.1.2 Application Framework>>. An <<object>> with an <<param>> value of 0 is designated as the device application: This is a special application that is responsible for device operation and contains logic to manage the devices networking and general maintenance features.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 240
							}
						]
					},
					"Device.ZigBee.ZDO.{i}.ApplicationEndpoint.{i}.SimpleDescriptor.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<object>> object contains the attributes of the Simple Descriptor of an application endpoint, as defined in <<bibref|ZigBee2007|section 2.3.2.5 Simple Descriptor>>.",
						"access": false,
						"array": false,
						"ProfileId": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the application profile that is supported on this endpoint. Application profiles are agreements for messages, message formats, andprocessing actions that enable developers to create an interoperable, distributed application employing application entities that reside on separate ZigBee devices. These application profiles enable applications to send commands, request data, and process commands and requests as defined in <<bibref|ZigBee2007|section 2.1.2.1 Application Profiles>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"DeviceId": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Application device identifier, as defined in <<bibref|ZigBee2007|section 2.3.2.5.3 Application Device Identifier Field>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"DeviceVersion": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Application device version, as defined in <<bibref|ZigBee2007|section 2.3.2.5.4 Application Device Version Field>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 15
								}
							]
						},
						"InputClusterList": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Specifies the input cluster identifiers to be matched by the ZigBee coordinator by remote Zigbee devices output cluster list for this <<object>> object.",
							"list": {
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 65535
									}
								]
							}
						},
						"OutputClusterList": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> Specifies the output cluster identifiers to be matched by the ZigBee coordinator by remote Zigbee devices input cluster list for this <<object>> object.",
							"list": {
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 65535
									}
								]
							}
						}
					}
				}
			},
			"Device.ZigBee.Discovery.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object is used for managing the discovery of ZigBee devices within a ZigBee Area Network. ZigBee Devices are discovered via the <<object|#.ZDO>> instance associated with the ZigBee Coordinator of an Area Network.",
				"access": false,
				"array": false,
				"AreaNetworkNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.ZigBee.Discovery.AreaNetwork.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object specifies the ZigBee devices that are discovered by the <<param|Coordinator>>. As the ZigBee specification does not provide a discovery protocol between the CWMP proxy and the ZigBee coordinator, the <<object>> object is provisioned and not discovered.",
					"uniqueKeys": [
						"Alias",
						"Coordinator"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables discovery of the ZigBee devices in this <<object>>.",
						"datatype": "boolean"
					},
					"LastUpdate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time when this <<object>> or its member devices (i.e., the devices with ZDOs listed in <<param|ZDOList>>) were updated due to a discovery operation.",
						"datatype": "dateTime"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the current discovery operation. Enumeration of: Indeterminate, InProgress, Success, Error, Error_Timeout.",
						"datatype": "string",
						"enumerations": [
							"Indeterminate",
							"InProgress",
							"Success",
							"Error",
							"Error_Timeout"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Coordinator": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Fully Qualified Domain Name (FQDN) or IP address of the ZigBee Coordinator. The coordinator MAY be located within the CPE. In this scenario the Controller or CPE MAY use the value of localhost.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ZDOReference": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The ZDO object for this device that is used to discover the ZigBee capabilities of attached devices. <<reference>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ZDOList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The list of ZDO objects discovered in this Area Network by the ZigBee Coordinator. <<reference>>",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				}
			}
		},
		"Device.Bridging.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Layer 2 bridging configuration. Specifies bridges between different layer 2 interfaces. Bridges can be defined to include layer 2 filter criteria to selectively bridge traffic between interfaces. This object can be used to configure both 802.1D <<bibref|802.1D-2004>> and 802.1Q <<bibref|802.1Q-2011>> bridges. Not all 802.1D and 802.1Q features are modeled, and some additional features not present in either 802.1D or 802.1Q are modeled. 802.1Q <<bibref|802.1Q-2011>> bridges incorporate 802.1Q <<bibref|802.1Q-2005>> customer and 802.1ad <<bibref|802.1ad-2005>> provider bridges.",
			"access": false,
			"array": false,
			"MaxBridgeEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the <<object|Bridge>> table.",
				"datatype": "unsignedInt"
			},
			"MaxDBridgeEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of 802.1D <<bibref|802.1D-2004>> entries available in the <<object|Bridge>> table. A positive value for this parameter implies support for 802.1D. There is no guarantee that this many 802.1D Bridges can be configured. For example, the CPE might not be able simultaneously to support both 802.1D and 802.1Q Bridges.",
				"datatype": "unsignedInt"
			},
			"MaxQBridgeEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of 802.1Q <<bibref|802.1Q-2011>> entries available in the <<object|Bridge>> table. A non-zero value for this parameter implies support for 802.1Q. There is no guarantee that this many 802.1Q Bridges can be configured. For example, the CPE might not be able simultaneously to support both 802.1D and 802.1Q Bridges.",
				"datatype": "unsignedInt"
			},
			"MaxVLANEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of 802.1Q <<bibref|802.1Q-2011>> VLANs supported per <<object|Bridge>> table entry.",
				"datatype": "unsignedInt"
			},
			"MaxProviderBridgeEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the <<object|ProviderBridge>> table. A non-zero value for this parameter implies support for 802.1Q Provider Bridges.",
				"datatype": "unsignedInt"
			},
			"ProviderBridgeNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxFilterEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the <<object|Filter>> table.",
				"datatype": "unsignedInt"
			},
			"BridgeNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"FilterNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Bridging.Bridge.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Bridge table.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this <<object>>. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the bridge as assigned by the device.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Standard": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Selects the standard supported by this Bridge table entry.",
					"datatype": "string",
					"enumerations": [
						"802.1D-2004",
						"802.1Q-2005",
						"802.1Q-2011"
					]
				},
				"AgingTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The timeout period in <<units>> for aging out dynamically-learned forwarding information as described in <<bibref|802.1Q-2011|Section 7.9.2>>. The Dynamic Filtering Entries are not modeled. They are part of the bridges internal Forwarding Database.",
					"default": "300",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 10,
							"max": 1000000
						}
					],
					"unit": "seconds"
				},
				"PortNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"VLANNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"VLANPortNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.Bridging.Bridge.{i}.Port.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Bridge Port table, which MUST contain an entry for each bridge port (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). There are two types of bridge ports: management (upward facing) and non-management (downward facing). This is determined by configuring the Boolean <<param|ManagementPort>> parameter. The CPE will automatically configure each management bridge port to appear in the interface stack above all non-management bridge ports that share the same <<object|##.Bridge>> instance.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
						"default": "Down",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Down",
							"Unknown",
							"Dormant",
							"NotPresent",
							"LowerLayerDown",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The textual name of the interface as assigned by the CPE.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"LastChange": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LowerLayers": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. When <<param|ManagementPort>> is set to <<true>> the CPE MUST set <<param>> to reference all non-management bridge ports that are within the same <<object|##.Bridge>> instance (and update <<param>> when subsequent non-management bridge ports are added or deleted on that Bridge). The Controller SHOULD NOT set <<param>> in this case.",
						"default": "[]",
						"list": {
							"datatype": "string",
							"maxsize": 1024
						}
					},
					"ManagementPort": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<true>> then the entry is a management (upward facing) bridge port rather than a non-management (downward facing) bridge port. For a given <<object|##.Bridge>> instance, each management bridge port appears in the interface stack above all non-management bridge ports. The concept of Management Port is discussed in <<bibref|802.1Q-2005|chapter 8>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The type of bridge port as defined in 802.1Q <<bibref|802.1Q-2011|Section 17 IEEE8021BridgePortType>>. Enumeration of: Enumeration of: ProviderNetworkPort, CustomerNetworkPort, CustomerEdgePort, CustomerVLANPort, VLANUnawarePort.",
						"datatype": "string",
						"enumerations": [
							"ProviderNetworkPort",
							"CustomerNetworkPort",
							"CustomerEdgePort",
							"CustomerVLANPort",
							"VLANUnawarePort"
						]
					},
					"DefaultUserPriority": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Bridge Port Default User Priority.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 7
							}
						]
					},
					"PriorityRegeneration": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items represent user priority regeneration values for each ingress user priority on this Bridge Port.",
						"default": "[0,1,2,3,4,5,6,7]",
						"list": {
							"datatype": "unsignedInt",
							"item": {
								"min": 8,
								"max": 8
							},
							"range": [
								{
									"min": 0,
									"max": 7
								}
							]
						}
					},
					"PortState": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Bridge Port state as defined in 802.1D <<bibref|802.1D-2004>> and 802.1Q <<bibref|802.1Q-2011>>.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Blocking",
							"Listening",
							"Learning",
							"Forwarding",
							"Broken"
						]
					},
					"PVID": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "PVID (or Port VID) is the VLAN ID with which an untagged or priority tagged frame that arrives on this port will be associated (i.e. default Port VLAN ID as defined in 802.1Q <<bibref|802.1Q-2011>>). For an 802.1D Bridge <<bibref|802.1D-2004>>, this parameter MUST be ignored.",
						"default": "1",
						"datatype": "int",
						"range": [
							{
								"min": 1,
								"max": 4094
							}
						]
					},
					"TPID": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Tag Protocol Identifier (TPID) assigned to this <<object>>. The TPID is an EtherType value used to identify the frame as a tagged frame. Standard <<bibref|802.1Q-2011|Table 9.1>> TPID values are: *S-TAG 0x88A8 = 34984 *C-TAG 0x8100 = 33024 Non-Standard TPID values are: *S-TAG 0x9100 = 37120",
						"default": "33024",
						"datatype": "unsignedInt"
					},
					"AcceptableFrameTypes": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates which types of frame arriving on this port will be admitted to the bridge (i.e. Bridge Port acceptable frame types as defined in 802.1Q <<bibref|802.1Q-2011>>). Enumeration of: AdmitAll, AdmitOnlyVLANTagged, AdmitOnlyPrioUntagged. For an 802.1D <<bibref|802.1D-2004>> Bridge, the value of this parameter MUST be <<enum|AdmitAll>>.",
						"default": "AdmitAll",
						"datatype": "string",
						"enumerations": [
							"AdmitAll",
							"AdmitOnlyVLANTagged",
							"AdmitOnlyPrioUntagged"
						]
					},
					"IngressFiltering": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables Ingress Filtering as defined in 802.1Q <<bibref|802.1Q-2011>>. If enabled (<<true>>), causes frames arriving on this port to be discarded if the port is not in the VLAN IDs member set (which is configured via the <<object|#.VLANPort>> table). For an 802.1D <<bibref|802.1D-2004>> Bridge, the value of this parameter MUST be <<false>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"ServiceAccessPrioritySelection": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter controls the Service Access Priority selection function as described in <<bibref|802.1Q-2011|section 6.13>>. The parameter is applicable to deployments of <<object|##.Bridge>> instances that are referenced by <<param|###.Bridging.ProviderBridge.<i>.SVLANcomponent>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"ServiceAccessPriorityTranslation": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items represent service access priority translation values for each ingress priority on this <<object>> as described in <<bibref|802.1Q-2011|section 6.13>>. The parameter is applicable to deployments of <<object|##.Bridge>> instances that are referenced by <<param|###.Bridging.ProviderBridge.<i>.SVLANcomponent>>.",
						"default": "[0,1,2,3,4,5,6,7]",
						"list": {
							"datatype": "unsignedInt",
							"item": {
								"min": 8,
								"max": 8
							},
							"range": [
								{
									"min": 0,
									"max": 7
								}
							]
						}
					},
					"PriorityTagging": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables priority tagging on this Bridge Port. When <<true>>, egress frames leaving this interface will be priority tagged with the frames associated priority value, which will either be derived directly from the ingress frame or else set via <<param|###.QoS.Classification.<i>.EthernetPriorityMark>>. When <<false>>, egress frames leaving this interface will be untagged. The parameter does not affect reception of ingress frames. Only applies on bridge ports that are untagged member of one or more VLANs.",
						"default": "false",
						"datatype": "boolean"
					},
					"PathCost": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Port\u2019s contribution, when it is the Root Port, to the Root Path Cost for the Bridge as described in <<bibref|802.1D-2004|Section 17.13.11>>. This parameter apply only when <<param|###.Bridging.Bridge.<i>.STP.Enable>> is <<true>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Priority": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The first four components of the Port\u2019s port priority vector value as described in <<bibref|802.1D-2004|Section 17.19.21>>. This parameter apply only when <<param|###.Bridging.Bridge.<i>.STP.Enable>> is <<true>>.",
						"default": "128",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 240
							}
						]
					},
					"Device.Bridging.Bridge.{i}.Port.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
						"access": true,
						"array": false,
						"Reset": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
							"datatype": "boolean"
						},
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
							"datatype": "StatsCounter32"
						},
						"UnicastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"DiscardPacketsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"MulticastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"UnicastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"MulticastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"UnknownProtoPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
							"datatype": "StatsCounter32"
						},
						"Reset()": {
							"type": "command",
							"async": false,
							"protocols": [
								"usp"
							]
						}
					},
					"Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> provides the management control for the processing of the Priority Code Point (PCP) field for the 802.1Q header as defined in <<bibref|802.1Q-2011|section 6.9.3 Priority Code Point Encoding>>. The object is applicable to deployments of <<object|####.Bridging.ProviderBridge>> where the <<object|###.Bridge>> instance is referenced by <<param|####.Bridging.ProviderBridge.<i>.SVLANcomponent>> or <<param|####.Bridging.ProviderBridge.<i>.CVLANcomponents>> parameters.",
						"access": false,
						"array": false,
						"PCPSelection": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter identifies the row in the <<param|PCPEncoding>> and <<param|PCPDecoding>> parameter lists. The value of 1 points to the 8P0D row in the corresponding parameter lists.",
							"default": "1",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 4
								}
							]
						},
						"UseDEI": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter controls the processing of the drop_eligible field and is described in <<bibref|802.1Q-2011|section 6.9.3>>.",
							"default": "false",
							"datatype": "boolean"
						},
						"RequireDropEncoding": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter controls the processing of the encoding or decoding of the drop_eligible component in the PCP field and is described in <<bibref|802.1Q-2011|section 8.6.7>>.",
							"default": "false",
							"datatype": "boolean"
						},
						"PCPEncoding": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter provides the management control for the processing of the encoding of the Priority Code Point (PCP) field for the 802.1Q header as defined in <<bibref|802.1Q-2011|section 6.9.3 Priority Code Point Encoding>> and <<bibref|802.1Q-2011|Table 6-3>>. The list is an ordered list that contains entries for the following 4 PCP Values: 8P0D,7P1D, 6P2D 5P3D. Each list entry matches the following pattern: <<pattern>> The value of this parameter MUST use square brackets to protect comma separators within nested lists. For example, this corresponds to Table 6-3 (mentioned above): : [7,7,6,6,5,5,4,4,3,3,2,2,1,1,0,0],[7,7,6,6,5,4,5,4,3,3,2,2,1,1,0,0],[7,7,6,6,5,4,5,4,3,2,3,2,1,1,0,0],[7,7,6,6,5,4,5,4,3,2,3,2,1,0,1,0]",
							"list": {
								"datatype": "string",
								"item": {
									"min": 4,
									"max": 4
								},
								"range": [
									{
										"min": 31,
										"max": 31
									}
								],
								"pattern": [
									"([0-7],){15}[0-7]"
								]
							}
						},
						"PCPDecoding": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter provides the management control for the processing of the decoding of the Priority Code Point (PCP) field for the 802.1Q header as defined in <<bibref|802.1Q-2011|section 6.9.3 Priority Code Point Encoding>> and <<bibref|802.1Q-2011|Table 6-4>>. The list is an ordered list that contains entries for the following 4 PCP Values: 8P0D,7P1D, 6P2D 5P3D. Each list entry matches the following pattern: <<pattern>> The value of this parameter MUST use square brackets to protect comma separators within nested lists. For example, this corresponds to Table 6-4 (mentioned above): : [7,0,6,0,5,0,4,0,3,0,2,0,1,0,0,0],[7,0,6,0,4,0,4,1,3,0,2,0,1,0,0,0],[7,0,6,0,4,0,4,1,2,0,2,1,1,0,0,0],[7,0,6,0,4,0,4,1,2,0,2,1,0,0,0,1]",
							"list": {
								"datatype": "string",
								"item": {
									"min": 4,
									"max": 4
								},
								"range": [
									{
										"min": 15,
										"max": 15
									}
								],
								"pattern": [
									"([0-7],[0-1],){7}[0-7],[0-1]"
								]
							}
						}
					}
				},
				"Device.Bridging.Bridge.{i}.STP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "STP (Spanning Tree Algorithm and Protocol) / RSTP (Rapid Spanning Tree Algorithm and Protocol) bridge configuration as defined in <<bibref|802.1D-2004>> and <<bibref|802.1Q-2011>>.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables STP on this bridge",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the STP for this Bridge. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Protocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Protocol to use.",
						"datatype": "string",
						"enumerations": [
							"STP",
							"RSTP"
						]
					},
					"BridgePriority": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Value of the priority part of the Bridge Identifier as described in <<bibref|802.1D-2004|Section 17.18.3 Bridge priority>>.",
						"default": "32768",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 61440
							}
						]
					},
					"HelloTime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interval in <<units>> between periodic transmissions of Configuration Messages by Designated Ports as described in <<bibref|802.1D-2004|Section 17.13.6>>.",
						"default": "200",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 100,
								"max": 1000
							}
						],
						"unit": "centiseconds"
					},
					"MaxAge": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The maximum age in <<units>> of the information transmitted by the Bridge when it is the Root Bridge as described in <<bibref|802.1D-2004|Section 17.13.8>>.",
						"default": "2000",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 600,
								"max": 4000
							}
						],
						"unit": "centiseconds"
					},
					"ForwardingDelay": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The minimum delay in <<units>> a port should be listening before entering Forwarding PortState as defined in <<bibref|802.1D-2004|Section 17.29.2>>.",
						"default": "15",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 4,
								"max": 30
							}
						],
						"unit": "seconds"
					}
				},
				"Device.Bridging.Bridge.{i}.VLAN.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Bridge VLAN table. If this table is supported, if MUST contain an entry for each VLAN known to the Bridge. This table only applies to an 802.1Q <<bibref|802.1Q-2011>> Bridge.",
					"uniqueKeys": [
						"Alias",
						"VLANID"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this VLAN table entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Human-readable name for this VLAN table entry.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"VLANID": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "VLAN ID of the entry.",
						"datatype": "int",
						"range": [
							{
								"min": 1,
								"max": 4094
							}
						]
					}
				},
				"Device.Bridging.Bridge.{i}.VLANPort.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Bridge VLAN egress port and untagged port membership table. This table only applies to an 802.1Q <<bibref|802.1Q-2011>> Bridge. Note: The <<object>> table includes unique key parameters that are strong references. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST disable the offending <<object>> row.",
					"uniqueKeys": [
						"Alias",
						"VLAN",
						"Port"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"VLAN": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> Specifies the VLAN for which port membership is expressed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Port": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> Specifies the bridge port that is member of the VLAN.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Untagged": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables untagged port membership to the VLAN and determines whether egress frames for this VLAN are sent untagged or tagged.",
						"datatype": "boolean"
					}
				}
			},
			"Device.Bridging.Filter.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Filter table containing classification filter entries, each of which expresses a set of classification criterion to classify ingress frames as member of a <<object|#.Bridge>> instance or a <<object|#.Bridge.<i>.VLAN>> instance. Bridge VLAN classification only applies for 802.1Q <<bibref|802.1Q-2011>> Bridges. For enabled table entries, if <<param|Bridge>> or <<param|Interface>> is <<empty>> then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Several of this objects parameters specify DHCP option values. Some cases are version neutral (the parameter can apply to both DHCPv4 and DHCPv6), but in other cases the representation of the option is different for DHCPv4 and DHCPv6, so it is necessary to define separate DHCPv4-specific and DHCPv6-specific parameters. Therefore, an instance of this object that uses DHCP option values as filter criteria will be associated with either DHCPv4 or DHCPv6, as indicated by the <<param|DHCPType>> parameter.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this Filter table entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this Filter table entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition. If the Bridge Port table is supported, but none of its entries correspond to <<param|Interface>>, or if such an entry exists but is disabled, <<param>> MUST NOT indicate <<enum|Enabled>>. If the Bridge VLAN table is supported, but none of its entries correspond to <<param|VLANIDFilter>>, or if such an entry exists but is disabled, <<param>> MUST NOT indicate <<enum|Enabled>>.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Bridge": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|a <<object|#.Bridge>> object in case of a 802.1D bridge or a <<object|#.Bridge.<i>.VLAN>> object in case of a 802.1Q bridge>> Note: either way, this identifies the bridge (because each bridge has a VLAN table). Defines the Bridge or Bridge VLAN to which ingress frames will be classified based upon matches of the classification criteria.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Order": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each ingress frame on the <<param|Interface>>, the highest ordered entry that matches the filter criteria is applied. All lower order entries are ignored.",
					"datatype": "Order",
					"range": [
						{
							"min": 1
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> This MUST relate to the same bridge as does <<param|Bridge>>. Defines the Bridge Port on which ingress frame classification will occur.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"DHCPType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The DHCP protocol associated with the <<object>> instance. Affects only parameters that specify DHCP option values as filter criteria (all such parameter descriptions note this fact). Enumeration of: DHCPv4, DHCPv6. If <<param>> is <<enum|DHCPv4>>, then <<object>> parameters that are DHCPv6-specific are ignored. If <<param>> is <<enum|DHCPv6>>, then <<object>> parameters that are DHCPv4-specific are ignored.",
					"default": "DHCPv4",
					"datatype": "string",
					"enumerations": [
						"DHCPv4",
						"DHCPv6"
					]
				},
				"VLANIDFilter": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. The 802.1Q <<bibref|802.1Q-2011>> VLAN ID. For an 802.1D <<bibref|802.1D-2004>> Bridge, which has no concept of VLANs, the VLAN ID MUST be 0.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 4094
						}
					]
				},
				"EthertypeFilterList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. <<list>> Each list item represents an Ethertype value. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on Ethertype.",
					"default": "[]",
					"list": {
						"datatype": "unsignedInt",
						"maxsize": 256
					}
				},
				"EthertypeFilterExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, on ingress to the interfaces associated with this Filter, the Bridge is defined to admit only those packets that match one of the <<param|EthertypeFilterList>> entries (in either the Ethernet or SNAP Type header). If the <<param|EthertypeFilterList>> is empty, no packets are admitted. If <<true>>, on ingress to the interfaces associated with this Filter, the Bridge is defined to admit all packets except those packets that match one of the <<param|EthertypeFilterList>> entries (in either the Ethernet or SNAP Type header). If the <<param|EthertypeFilterList>> is empty, packets are admitted regardless of Ethertype. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on Ethertype.",
					"default": "true",
					"datatype": "boolean"
				},
				"SourceMACAddressFilterList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. <<list|each representing a MAC Address>> Each list entry MAY optionally specify a bit-mask, where matching of a packets MAC address is only to be done for bit positions set to one in the mask. If no mask is specified, all bits of the MAC Address are to be used for matching. For example, the list might be: 01:02:03:04:05:06, 1:22:33:00:00:00/FF:FF:FF:00:00:00, 88:77:66:55:44:33 Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 512
					}
				},
				"SourceMACAddressFilterExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose source MAC Address matches one of the <<param|SourceMACAddressFilterList>> entries. If the <<param|SourceMACAddressFilterList>> is empty, no packets are admitted. If <<true>>, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose source MAC Address matches one of the <<param|SourceMACAddressFilterList>> entries. If the <<param|SourceMACAddressFilterList>> is empty, packets are admitted regardless of MAC address. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address.",
					"default": "true",
					"datatype": "boolean"
				},
				"DestMACAddressFilterList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. <<list>> Each list item specifies a MAC Address. List items MAY optionally specify a bit-mask after the MAC Address, where matching of a packets MAC address is only to be done for bit positions set to one in the mask. If no mask is specified, all bits of the MAC Address are to be used for matching. For example, the list might be: 01:02:03:04:05:06, 1:22:33:00:00:00/FF:FF:FF:00:00:00, 88:77:66:55:44:33",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 512
					}
				},
				"DestMACAddressFilterExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose destination MAC Address matches one of the <<param|DestMACAddressFilterList>> entries. If the <<param|DestMACAddressFilterList>> is empty, no packets are admitted. If <<true>>, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose destination MAC Address matches one of the <<param|DestMACAddressFilterList>> entries. If the <<param|DestMACAddressFilterList>> is empty, packets are admitted regardless of MAC address.",
					"default": "true",
					"datatype": "boolean"
				},
				"SourceMACFromVendorClassIDFilter": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply. A device is considered matching if its DHCPv4 Vendor Class Identifier (Option 60 as defined in <<bibref|RFC2132>>) in the most recent DHCP lease acquisition or renewal matches the specified value according to the match criterion in <<param|SourceMACFromVendorClassIDMode>>. Case sensitive. This is a normal string, e.g. abc is represented as abc and not 616263 hex. However, if the value includes non-printing characters then such characters have to be represented using XML escapes, e.g. #x0a for line-feed. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address. Note: This parameter is DHCPv4-specific. It only applies when <<param|DHCPType>> is <<enum|DHCPv4|DHCPType>>.",
					"datatype": "string",
					"range": [
						{
							"max": 255
						}
					]
				},
				"SourceMACFromVendorClassIDFilterv6": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply. A device is considered matching if the most recent DHCPv6 Vendor Class Identifier (Option 16 as defined in <<bibref|RFC8415>>) was equal to the specified value. The option value is binary, so an exact match is REQUIRED. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address. Note: This parameter is DHCPv6-specific. It only applies when <<param|DHCPType>> is <<enum|DHCPv6|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SourceMACFromVendorClassIDFilterExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose source MAC Address matches that of a LAN device previously identified as described in <<param|SourceMACFromVendorClassIDFilter>> (for <<enum|DHCPv4|DHCPType>>) or <<param|SourceMACFromVendorClassIDFilterv6>> (for <<enum|DHCPv6|DHCPType>>). If this corresponding filter parameter is <<empty>>, no packets are admitted. If <<true>>, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose source MAC Address matches that of a LAN device previously identified as described in <<param|SourceMACFromVendorClassIDFilter>> (for <<enum|DHCPv4|DHCPType>>) or <<param|SourceMACFromVendorClassIDFilterv6>> (for <<enum|DHCPv6|DHCPType>>). If this corresponding filter parameter is <<empty>>, packets are admitted regardless of MAC address. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address",
					"default": "true",
					"datatype": "boolean"
				},
				"SourceMACFromVendorClassIDMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<param|SourceMACFromVendorClassIDFilter>> pattern match criterion. Enumeration of: Exact, Prefix, Suffix, Substring. For example, if <<param|SourceMACFromVendorClassIDFilter>> is Example then an Option 60 value of Example device will match with this parameter values of <<enum|Prefix>> or <<enum|Substring>>, but not with <<enum|Exact>> or <<enum|Suffix>>. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address.",
					"default": "Exact",
					"datatype": "string",
					"enumerations": [
						"Exact",
						"Prefix",
						"Suffix",
						"Substring"
					]
				},
				"DestMACFromVendorClassIDFilter": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply. A device is considered matching if its DHCPv4 Vendor Class Identifier (Option 60 as defined in <<bibref|RFC2132>>) in the most recent DHCP lease acquisition or renewal matches the specified value according to the match criterion in <<param|DestMACFromVendorClassIDMode>>. Case sensitive. This is a normal string, e.g. abc is represented as abc and not say 616263 hex. However, if the value includes non-printing characters then such characters have to be represented using XML escapes, e.g. #x0a for line-feed. Note: This parameter is DHCPv4-specific. It only applies when <<param|DHCPType>> is <<enum|DHCPv4|DHCPType>>.",
					"datatype": "string",
					"range": [
						{
							"max": 255
						}
					]
				},
				"DestMACFromVendorClassIDFilterv6": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply. A device is considered matching if the most recent DHCPv6 Vendor Class Identifier (Option 16 as defined in <<bibref|RFC8415>>) was equal to the specified value. The option value is binary, so an exact match is REQUIRED. Note: This parameter is DHCPv6-specific. It only applies when <<param|DHCPType>> is <<enum|DHCPv6|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"DestMACFromVendorClassIDFilterExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose destination MAC Address matches that of a LAN device previously identified as described in <<param|DestMACFromVendorClassIDFilter>> (for <<enum|DHCPv4|DHCPType>>) or <<param|DestMACFromVendorClassIDFilterv6>> (for <<enum|DHCPv6|DHCPType>>). If this corresponding filter parameter is <<empty>>, no packets are admitted. If <<true>>, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose destination MAC Address matches that of a LAN device previously identified as described in <<param|DestMACFromVendorClassIDFilter>> (for <<enum|DHCPv4|DHCPType>>) or <<param|DestMACFromVendorClassIDFilterv6>> (for <<enum|DHCPv6|DHCPType>>). If this corresponding filter parameter is <<empty>>, packets are admitted regardless of MAC address.",
					"default": "true",
					"datatype": "boolean"
				},
				"DestMACFromVendorClassIDMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<param|DestMACFromVendorClassIDFilter>> pattern match criterion. Enumeration of: Exact, Prefix, Suffix, Substring. For example, if <<param|DestMACFromVendorClassIDFilter>> is Example then an Option 60 value of Example device will match with <<param>> values of <<enum|Prefix>> or <<enum|Substring>>, but not with <<enum|Exact>> or <<enum|Suffix>>.",
					"default": "Exact",
					"datatype": "string",
					"enumerations": [
						"Exact",
						"Prefix",
						"Suffix",
						"Substring"
					]
				},
				"SourceMACFromClientIDFilter": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply. A device is considered matching if the most recent DHCP Client Identifier (via DHCP lease acquisition or renewal for DHCPv4) was equal to the specified value. The DHCP Client Identifier is Option 61 (as defined in <<bibref|RFC2132>>) for <<enum|DHCPv4|DHCPType>>, or is Option 1 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. The option value is binary, so an exact match is REQUIRED. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>. Note: DHCPv6 Option 1 (Client Identifier) is sometimes referred to as DUID.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SourceMACFromClientIDFilterExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose source MAC Address matches that of a LAN device previously identified as described in <<param|SourceMACFromClientIDFilter>>. If <<param|SourceMACFromClientIDFilter>> is <<empty>>, no packets are admitted. If <<true>>, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose source MAC Address matches that of a LAN device previously identified as described in <<param|SourceMACFromClientIDFilter>>. If the <<param|SourceMACFromClientIDFilter>> is <<empty>>, packets are admitted regardless of MAC address. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address.",
					"default": "true",
					"datatype": "boolean"
				},
				"DestMACFromClientIDFilter": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply. A device is considered matching if the most recent DHCP Client Identifier (via DHCP lease acquisition or renewal for DHCPv4) was equal to the specified value. The DHCP Client Identifier is Option 61 (as defined in <<bibref|RFC2132>>) for <<enum|DHCPv4|DHCPType>>, or is Option 1 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. The option value is binary, so an exact match is REQUIRED. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>. Note: DHCPv6 Option 1 (Client Identifier) is sometimes referred to as DUID.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"DestMACFromClientIDFilterExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose destination MAC Address matches that of a LAN device previously identified as described in <<param|DestMACFromClientIDFilter>>. If <<param|DestMACFromClientIDFilter>> is <<empty>>, no packets are admitted. If <<true>>, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose destination MAC Address matches that of a LAN device previously identified as described in <<param|DestMACFromClientIDFilter>>. If the <<param|DestMACFromClientIDFilter>> is <<empty>>, packets are admitted regardless of MAC address.",
					"default": "true",
					"datatype": "boolean"
				},
				"SourceMACFromUserClassIDFilter": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply. A device is considered matching if the most recent DHCP User Class Identifier (via DHCP lease acquisition or renewal for DHCPv4) was equal to the specified value. The DHCP User Class Identifier is Option 77 (as defined in <<bibref|RFC3004>>) for <<enum|DHCPv4|DHCPType>>, or is Option 15 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. The option value is binary, so an exact match is REQUIRED. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SourceMACFromUserClassIDFilterExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose source MAC Address matches that of a LAN device previously identified as described in <<param|SourceMACFromUserClassIDFilter>>. If <<param|SourceMACFromUserClassIDFilter>> is <<empty>>, no packets are admitted. If <<true>>, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose source MAC Address matches that of a LAN device previously identified as described in <<param|SourceMACFromUserClassIDFilter>>. If the <<param|SourceMACFromUserClassIDFilter>> is <<empty>>, packets are admitted regardless of MAC address. Note that neither 802.1D <<bibref|802.1D-2004>> nor 802.1Q <<bibref|802.1Q-2011>> support classification based on source MAC address.",
					"default": "true",
					"datatype": "boolean"
				},
				"DestMACFromUserClassIDFilter": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more devices via DHCP for which MAC address filtering would subsequently apply. A device is considered matching if the most recent DHCP User Class Identifier (via DHCP lease acquisition or renewal for DHCPv4) was equal to the specified value. The DHCP User Class Identifier is Option 77 (as defined in <<bibref|RFC3004>>) for <<enum|DHCPv4|DHCPType>>, or is Option 15 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. The option value is binary, so an exact match is REQUIRED. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"DestMACFromUserClassIDFilterExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, on ingress to the interfaces associated with this Filter, the Bridge admits only those packets whose destination MAC Address matches that of a LAN device previously identified as described in <<param|DestMACFromUserClassIDFilter>>. If <<param|DestMACFromUserClassIDFilter>> is <<empty>>, no packets are admitted. If <<true>>, on ingress to the interfaces associated with this Filter, the Bridge admits all packets except those packets whose destination MAC Address matches that of a LAN device previously identified as described in <<param|DestMACFromUserClassIDFilter>>. If the <<param|DestMACFromUserClassIDFilter>> is <<empty>>, packets are admitted regardless of MAC address.",
					"default": "true",
					"datatype": "boolean"
				},
				"DestIP": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Destination IP address. <<empty>> indicates this criterion is not used for classification.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"DestMask": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Destination IP address mask, represented as an IP routing prefix using CIDR notation [RFC4632]. The IP address part MUST be <<empty>> (and, if specified, MUST be ignored).",
					"datatype": "IPPrefix",
					"range": [
						{
							"max": 49
						}
					]
				},
				"DestIPExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the (masked) DestIP entry, if specified. If <<true>>, the class includes all packets except those that match the (masked) DestIP entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourceIP": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Source IP address. <<empty>> indicates this criterion is not used for classification.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"SourceMask": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Source IP address mask, represented as an IP routing prefix using CIDR notation [RFC4632]. The IP address part MUST be an empty string (and, if specified, MUST be ignored).",
					"datatype": "IPPrefix",
					"range": [
						{
							"max": 49
						}
					]
				},
				"SourceIPExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the (masked) <<param|SourceIP>> entry, if specified. If <<true>>, the class includes all packets except those that match the (masked) <<param|SourceIP>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"Protocol": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Protocol number. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 255
						}
					]
				},
				"ProtocolExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|Protocol>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|Protocol>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DestPort": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Destination port number. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"DestPortRangeMax": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. If specified, indicates the classification criterion is to include the port range from <<param|DestPort>> through <<param>> (inclusive). If specified, <<param>> MUST be greater than or equal to <<param|DestPort>>. A value of -1 indicates that no port range is specified.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"DestPortExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|DestPort>> entry (or port range), if specified. If <<true>>, the class includes all packets except those that match the <<param|DestPort>> entry (or port range), if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourcePort": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Source port number. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"SourcePortRangeMax": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. If specified, indicates the classification criterion is to include the port range from <<param|SourcePort>> through <<param>> (inclusive). If specified, <<param>> MUST be greater than or equal to SourcePort. A value of -1 indicates that no port range is specified.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"SourcePortExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|SourcePort>> entry (or port range), if specified. If <<true>>, the class includes all packets except those that match the <<param|SourcePort>> entry (or port range), if specified.",
					"default": "false",
					"datatype": "boolean"
				}
			},
			"Device.Bridging.ProviderBridge.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Provider Bridge table. A Provider Bridge is described in <<bibref|802.1Q-2011|section 5.10 Provider Bridge conformance>> as an entity that is comprised of one S-VLAN component and zero or more C-VLAN components. S-VLAN and C-VLAN components are modelled as instances of <<object|#.Bridge>> objects. When <<param|Type>> is configured with value of <<enum|PE|Type>> VLAN tags from the S-VLAN component (outer of 2 VLAN tags) are stacked on top of the VLAN tag from the C-VLAN component (inner of 2 VLAN tags). When <<param|Type>> is configured with value of <<enum|S-VLAN|Type>> only VLAN tags from the S-VLAN component are utilized.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this <<object>>. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. For example when the <<param|Type>> is configured with value of <<enum|PE|Type>> but <<param|CVLANcomponents>> is <<empty>>. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Selects the standard supported by this <<object>> table entry.",
					"datatype": "string",
					"enumerations": [
						"S-VLAN",
						"PE"
					]
				},
				"SVLANcomponent": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|a <<object|#.Bridge>> instance that specifies the S-VLAN component for the <<object>>>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"CVLANcomponents": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|a <<object|#.Bridge>> instance that specifies a C-VLAN component for the <<object>>>>",
					"default": "[]",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				}
			}
		},
		"Device.PPP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Point-to-Point Protocol <<bibref|RFC1661>>. This object contains the <<object|Interface>> table.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SupportedNCPs": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The Network Control Protocols (NCPs) that are supported by the device. Enumeration of: ATCP, IPCP, IPXCP, NBFCP, IPv6CP. Note that <<enum|IPv6CP>> is an IPv6 capability.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"ATCP",
						"IPCP",
						"IPXCP",
						"NBFCP",
						"IPv6CP"
					]
				}
			},
			"Device.PPP.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "PPP interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>).",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Reset": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, the device MUST tear down the existing PPP connection represented by this object and establish a new one. The device MUST initiate the reset after completion of the current CWMP session. The device MAY delay resetting the connection in order to avoid interruption of a user service such as an ongoing voice call. Reset on a disabled interface is a no-op (not an error).",
					"default": "false",
					"datatype": "boolean"
				},
				"ConnectionStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current status of the connection.",
					"datatype": "string",
					"enumerations": [
						"Unconfigured",
						"Connecting",
						"Authenticating",
						"Connected",
						"PendingDisconnect",
						"Disconnecting",
						"Disconnected"
					]
				},
				"LastConnectionError": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The cause of failure for the last connection setup attempt.",
					"datatype": "string",
					"enumerations": [
						"ERROR_NONE",
						"ERROR_ISP_TIME_OUT",
						"ERROR_COMMAND_ABORTED",
						"ERROR_NOT_ENABLED_FOR_INTERNET",
						"ERROR_BAD_PHONE_NUMBER",
						"ERROR_USER_DISCONNECT",
						"ERROR_ISP_DISCONNECT",
						"ERROR_IDLE_DISCONNECT",
						"ERROR_FORCED_DISCONNECT",
						"ERROR_SERVER_OUT_OF_RESOURCES",
						"ERROR_RESTRICTED_LOGON_HOURS",
						"ERROR_ACCOUNT_DISABLED",
						"ERROR_ACCOUNT_EXPIRED",
						"ERROR_PASSWORD_EXPIRED",
						"ERROR_AUTHENTICATION_FAILURE",
						"ERROR_NO_DIALTONE",
						"ERROR_NO_CARRIER",
						"ERROR_NO_ANSWER",
						"ERROR_LINE_BUSY",
						"ERROR_UNSUPPORTED_BITSPERSECOND",
						"ERROR_TOO_MANY_LINE_ERRORS",
						"ERROR_IP_CONFIGURATION",
						"ERROR_UNKNOWN"
					]
				},
				"AutoDisconnectTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The time in <<units>> since the establishment of the connection after which connection termination is automatically initiated by the CPE. This occurs irrespective of whether the connection is being used or not. A value of 0 (zero) indicates that the connection is not to be shut down automatically.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"IdleDisconnectTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The time in <<units>> that if the connection remains idle, the CPE automatically terminates the connection. A value of 0 (zero) indicates that the connection is not to be shut down automatically.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"WarnDisconnectDelay": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Time in <<units>> the <<param|ConnectionStatus>> remains in the <<enum|PendingDisconnect|ConnectionStatus>> state before transitioning to disconnecting state to drop the connection.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Username to be used for authentication.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Password to be used for authentication.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"EncryptionProtocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the PPP encryption protocol.",
					"datatype": "string",
					"enumerations": [
						"None",
						"MPPE"
					]
				},
				"CompressionProtocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the PPP compression protocol.",
					"datatype": "string",
					"enumerations": [
						"None",
						"Van Jacobson",
						"STAC LZS"
					]
				},
				"AuthenticationProtocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the PPP authentication protocol.",
					"datatype": "string",
					"enumerations": [
						"None",
						"PAP",
						"CHAP",
						"MS-CHAP"
					]
				},
				"MaxMRUSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum allowed size of frames sent from the remote peer.",
					"default": "1500",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 64,
							"max": 65535
						}
					]
				},
				"CurrentMRUSize": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current MRU in use over this connection.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 64,
							"max": 65535
						}
					]
				},
				"ConnectionTrigger": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Trigger used to establish the PPP connection. Enumeration of: OnDemand, AlwaysOn, Manual. Note that the reason for a PPP connection becoming disconnected to begin with might be either external to the CPE, such as termination by the BRAS or momentary disconnection of the physical interface, or internal to the CPE, such as use of the <<param|IdleDisconnectTime>> and/or <<param|AutoDisconnectTime>> parameters in this object.",
					"datatype": "string",
					"enumerations": [
						"OnDemand",
						"AlwaysOn",
						"Manual"
					]
				},
				"LCPEcho": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A PPP LCP Echo Request is sent every <<param>> <<units>>. A value 0 means that no LCP Echo Requests are sent. <<bibref|RFC1661|5.8 Echo-Request and Echo-Reply>> describes the relevant LCP Echo frames.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LCPEchoRetry": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Applicable only when <<param|LCPEcho>> is greater than 0. When number of consecutive <<param>> LCP Echo Replies have been missed. The remote peer will be assumed dead and the connection will be terminated.",
					"datatype": "unsignedInt"
				},
				"LCPEchoAdaptive": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When traffic is received during the <<param|LCPEcho>> interval, no LCP Echo-Request is sent until the next <<param|LCPEcho>> interval.",
					"default": "true",
					"datatype": "boolean"
				},
				"IPCPEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables IPCP (<<bibref|RFC1332>>) on this interface. If this parameter is present, <<enum|IPCP|#.SupportedNCPs>> MUST be included in <<param|#.SupportedNCPs>>.",
					"datatype": "boolean"
				},
				"IPv6CPEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables IPv6CP (<<bibref|RFC5072>>) on this interface. If this parameter is present, <<enum|IPv6CP|#.SupportedNCPs>> MUST be included in <<param|#.SupportedNCPs>>.",
					"datatype": "boolean"
				},
				"Reset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.PPP.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.PPP.Interface.{i}.PPPoE.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "PPPoE object that functionally groups PPPoE related parameters. PPPoE is only applicable when the lower layer provides Ethernet frames, e.g. ATM with EoA, PTM, or anything else that supports an Ethernet MAC.",
					"access": false,
					"array": false,
					"SessionID": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represents the PPPoE Session ID.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"ACName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "PPPoE Access Concentrator.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ServiceName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "PPPoE Service Name.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Device.PPP.Interface.{i}.IPCP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IP Control Protocol (IPCP) client object for this PPP interface <<bibref|RFC1332>>. <<object>> only applies to IPv4.",
					"access": false,
					"array": false,
					"LocalIPAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The local IPv4 address for this connection received via IPCP.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"RemoteIPAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The remote IPv4 address for this connection received via IPCP.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"DNSServers": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Items represent DNS Server IPv4 address(es) received via IPCP <<bibref|RFC1877>>.",
						"default": "[]",
						"list": {
							"datatype": "IPv4Address",
							"item": {
								"max": 2
							},
							"range": [
								{
									"max": 15
								}
							],
							"pattern": [
								"",
								"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
							]
						}
					},
					"PassthroughEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the PPP Interface retrieved information is configured on the IP Interface stacked on top of this PPP Interface. If <<true>>, the PPP Interface retrieved information is propagated to the parameters in the referenced <<param|PassthroughDHCPPool>> object, replacing any existing configuration (including MinAddress, MaxAddress, SubnetMask, IPRouters, and DNSServers).",
						"default": "false",
						"datatype": "boolean"
					},
					"PassthroughDHCPPool": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>>When <<param>> is set to <<empty>>, <<param|PassthroughEnable>> MUST be set to <<false>> (i.e. passthrough can not be enabled without a pool reference specified).",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Device.PPP.Interface.{i}.IPv6CP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IPv6 Control Protocol (IPv6CP) client object for this PPP interface <<bibref|RFC5072>>. <<object>> only applies to IPv6.",
					"access": false,
					"array": false,
					"LocalInterfaceIdentifier": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interface identifier for the local end of the PPP link, negotiated using the IPv6CP Interface-Identifier option <<bibref|RFC5072|Section 4.1>>. The identifier is represented as the rightmost 64 bits of an IPv6 address (the leftmost 64 bits MUST be zero and MUST be ignored by the recipient).",
						"datatype": "IPv6Address"
					},
					"RemoteInterfaceIdentifier": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interface identifier for the remote end of the PPP link, negotiated using the IPv6CP Interface-Identifier option <<bibref|RFC5072|Section 4.1>>. The identifier is represented as the rightmost 64 bits of an IPv6 address (the leftmost 64 bits MUST be zero and MUST be ignored by the recipient).",
						"datatype": "IPv6Address"
					}
				},
				"Device.PPP.Interface.{i}.PPPoA.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "PPPoA object that functionally groups PPPoA related parameters. <<deprecated|2.12|because it contains no standard parameters and its existence causes confusion>> <<obsoleted|2.12>> <<deleted|2.15>>",
					"access": false,
					"array": false
				}
			}
		},
		"Device.IP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "IP object that contains the <<object|Interface>>, <<object|ActivePort>>, and <<object|Diagnostics>> objects.",
			"access": false,
			"array": false,
			"IPv4Capable": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates whether the device is IPv4 capable.",
				"datatype": "boolean"
			},
			"IPv4Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables the IPv4 stack, and so the use of IPv4 on the device. This affects only layer 3 and above. When <<false>>, IP interfaces that had been operationally up and passing IPv4 packets will now no longer be able to do so, and will be operationally down (unless also attached to an enabled IPv6 stack).",
				"datatype": "boolean"
			},
			"IPv4Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates the status of the IPv4 stack. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
				"datatype": "string",
				"enumerations": [
					"Disabled",
					"Enabled",
					"Error"
				]
			},
			"IPv6Capable": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates whether the device is IPv6 capable. Note: If <<false>>, it is expected that IPv6-related parameters, enumeration values, etc will not be implemented by the device.",
				"datatype": "boolean"
			},
			"IPv6Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables the IPv6 stack, and so the use of IPv6 on the device. This affects only layer 3 and above. When <<false>>, IP interfaces that had been operationally up and passing IPv6 packets will now no longer be able to do so, and will be operationally down (unless also attached to an enabled IPv4 stack).",
				"datatype": "boolean"
			},
			"IPv6Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates the status of the IPv6 stack. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
				"datatype": "string",
				"enumerations": [
					"Disabled",
					"Enabled",
					"Error"
				]
			},
			"ULAPrefix": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The ULA /48 prefix <<bibref|RFC4193|Section 3>>.",
				"datatype": "IPv6Prefix"
			},
			"ActivePortNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.IP.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "IP interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models the layer 3 IP interface. Each IP interface can be attached to the IPv4 and/or IPv6 stack. The interfaces IP addresses and prefixes are listed in the <<object|IPv4Address>>, <<object|IPv6Address>> and <<object|IPv6Prefix>> tables. Note that support for manipulating <<param|Loopback>> interfaces is OPTIONAL, so the implementation MAY choose not to create (or allow the Controller to create) <<object>> instances of type <<enum|Loopback|Type>>. When the Controller administratively disables the interface, i.e. sets <<param|Enable>> to <<false>>, the interfaces automatically-assigned IP addresses and prefixes MAY be retained. When the Controller administratively enables the interface, i.e. sets <<param|Enable>> to <<true>>, these IP addresses and prefixes MUST be refreshed. Its up to the implementation to decide exactly what this means: it SHOULD take all reasonable steps to refresh everything but if it is unable, for example, to refresh a prefix that still has a significant lifetime, it might well choose to retain rather than discard it. Any <<enum|Tunneled|Type>> IP interface instances instantiated by the CPE MUST NOT have any statistics, writable parameters, IP addresses or IPv6 prefixes. Any read-only parameters, e.g. <<param|Status>>, MUST return the same information as for the corresponding <<enum|Tunnel|Type>> interface. The reason for these rules is that <<enum|Tunneled|Type>> IP interfaces exist only in order to be the targets of references (within the data model) and do not model any concepts over and above those already modeled by the <<enum|Tunnel|Type>> IP interfaces. Note that <<enum|Tunnel|Type>> and <<enum|Tunneled|Type>> IP interfaces are part of a legacy mechanism that is only used for <<object|##.IPv6rd>>, <<object|##.DSLite>> and <<object|##.IPsec>> tunnels and MUST NOT be used in any other context. For all other tunneling mechanisms <<enum|Normal|Type>> IP interfaces are stacked above technology-specific Tunnel Interfaces, e.g. above <<object|##.GRE.Tunnel.<i>.Interface>> or <<object|##.MAP.Domain.<i>.Interface>> objects.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface (regardless of <<param|IPv4Enable>> and <<param|IPv6Enable>>). This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"IPv4Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If set to <<true>>, attaches this interface to the IPv4 stack. If set to <<false>>, detaches this interface from the IPv4 stack. Once detached from the IPv4 stack, the interface will now no longer be able to pass IPv4 packets, and will be operationally down (unless also attached to an enabled IPv6 stack). For an IPv4 capable device, if <<param>> is not present this interface SHOULD be permanently attached to the IPv4 stack. Note that <<param>> is independent of <<param|Enable>>, and that to administratively enable an interface for IPv4 it is necessary for both <<param|Enable>> and <<param>> to be <<true>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. <<param>> MUST be <<empty>> and read-only when <<param|Type>> is <<enum|Loopback|Type>>, <<enum|Tunnel|Type>>, or <<enum|Tunneled|Type>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Router": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> The Router instance that is associated with this IP Interface entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Reset": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, the device MUST tear down the existing IP connection represented by this object and establish a new one. The device MUST initiate the reset after completion of the current CWMP session. The device MAY delay resetting the connection in order to avoid interruption of a user service such as an ongoing voice call. Reset on a disabled interface is a no-op (not an error).",
					"default": "false",
					"datatype": "boolean"
				},
				"IPv6Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If set to <<true>>, attaches this interface to the IPv6 stack. If set to <<false>>, detaches this interface from the IPv6 stack. Once detached from the IPv6 stack, the interface will now no longer be able to pass IPv6 packets, and will be operationally down (unless also attached to an enabled IPv4 stack). For an IPv6 capable device, if <<param>> is not present this interface SHOULD be permanently attached to the IPv6 stack. Note that <<param>> is independent of <<param|Enable>>, and that to administratively enable an interface for IPv6 it is necessary for both <<param|Enable>> and <<param>> to be <<true>>.",
					"datatype": "boolean"
				},
				"ULAEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls whether or not ULAs <<bibref|RFC4193>> are generated and used on this interface.",
					"default": "false",
					"datatype": "boolean"
				},
				"MaxMTUSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum transmission unit (MTU); the largest allowed size of an IP packet (including IP headers, but excluding lower layer headers such as Ethernet, PPP, or PPPoE headers) that is allowed to be transmitted by or through this device.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 64,
							"max": 65535
						}
					]
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IP interface type. Enumeration of: Normal, Loopback, Tunnel, Tunneled. For <<enum|Loopback>>, <<enum|Tunnel>>, and <<enum|Tunneled>> IP interface objects, the <<param|LowerLayers>> parameter MUST be <<empty>>.",
					"default": "Normal",
					"datatype": "string",
					"enumerations": [
						"Normal",
						"Loopback",
						"Tunnel",
						"Tunneled"
					]
				},
				"Loopback": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When set to <<true>>, the IP interface becomes a loopback interface and the CPE MUST set <<param|Type>> to <<enum|Loopback|Type>>. In this case, the CPE MUST also set <<param|LowerLayers>> to <<empty>> and fail subsequent attempts at setting <<param|LowerLayers>> until the interface is no longer a loopback. Support for manipulating loopback interfaces is OPTIONAL.",
					"default": "false",
					"datatype": "boolean"
				},
				"IPv4AddressNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"IPv6AddressNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"IPv6PrefixNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"AutoIPEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<true>>, enables auto-IP on the interface <<bibref|RFC3927>>. This mechanism is only used with IPv4. When auto-IP is enabled on an interface, an <<object|IPv4Address>> object will dynamically be created and configured with auto-IP parameter values. The exact conditions under which an auto-IP address is created (e.g. always when enabled or only in absence of dynamic IP addressing) is implementation specific.",
					"default": "false",
					"datatype": "boolean"
				},
				"TWAMPReflectorNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Reset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.IP.Interface.{i}.IPv4Address.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IPv4 address table. Entries are auto-created and auto-deleted as IP addresses are added and deleted via DHCP, auto-IP, 3GPP-NAS (3GPP Non Access Stratum), or IPCP. Static entries are created and configured by the Controller.",
					"uniqueKeys": [
						"Alias",
						"IPAddress",
						"SubnetMask"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this IPv4 address.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this <<object>> table entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. This parameter can only be modified if <<param|AddressingType>> is <<enum|Static|AddressingType>>.",
						"datatype": "_AliasCWMP"
					},
					"IPAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv4 address. This parameter can only be modified if the <<param|AddressingType>> is <<enum|Static|AddressingType>>.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"SubnetMask": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Subnet mask. This parameter can only be modified if the <<param|AddressingType>> is <<enum|Static|AddressingType>>.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"AddressingType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Addressing method used to assign the IP address. Enumeration of: DHCP, IKEv2, AutoIP, IPCP, Static, 3GPP-NAS.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"DHCP",
							"IKEv2",
							"AutoIP",
							"IPCP",
							"Static",
							"3GPP-NAS"
						]
					}
				},
				"Device.IP.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent. Note that IPv6 does not define broadcast addresses, so IPv6 <<units>> will never cause this counter to increment.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer. Note that IPv6 does not define broadcast addresses, so IPv6 <<units>> will never cause this counter to increment.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.IP.Interface.{i}.TWAMPReflector.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters associated with the configuration that permits this interface to be used as Two-Way Active Measurement Protocol (TWAMP) reflector as defined in <<bibref|TR-390>>.",
					"uniqueKeys": [
						"Alias",
						"Port"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the TWAMP reflector.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the TWAMP reflector.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Active",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The port used to listen for the TWAMP test packets.",
						"default": "862",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"MaximumTTL": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The maximum TTL of a received packet that this TWAMP reflector will reflect to the TWAMP controller.",
						"default": "1",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 255
							}
						]
					},
					"IPAllowedList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items represent source IP addresses and subnets from which test packets MUST always be received. <<empty>> list will allow test packets to be received from any source IP address. Each entry in the list MUST be either an IP address, or an IP prefix specified using Classless Inter-Domain Routing (CIDR) notation <<bibref|RFC4632>>. An IP prefix is specified as an IP address followed (with no intervening white space) by /n, where n (the prefix size) is an integer in the range 0-32 (for IPv4) or 0-128 (for IPv6) that indicates the number of (leftmost) 1 bits of the prefix. IPv4 example: * 1.2.3.4 specifies a single IPv4 address, and 1.2.3.4/24 specifies a class C subnet with subnet mask 255.255.255.0. * 1.2.0.0/22 represents the 1024 IPv4 addresses from 1.2.0.0 to 1.2.3.255. IPv6 example: * fec0::220:edff:fe6a:f76 specifies a single IPv6 address. * 2001:edff:fe6a:f76::/64 represents the IPv6 addresses from 2001:edff:fe6a:f76:0:0:0:0 to 2001:edff:fe6a:f76:ffff:ffff:ffff:ffff.",
						"list": {
							"datatype": "string",
							"maxsize": 255
						}
					},
					"PortAllowedList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items represent source port ranges from which test packets MUST always be received. <<empty>> list will allow test packets to be received from any source port. Each entry in the list MUST be either a port number or a range of port numbers separated by a hyphen (-). For example, an entry with the value: 2-40 accepts test packets from any allowed source IP addresses with a source port between 2 and 40 inclusive. An entry of 3 accepts test packets from allow source IP addresses with a port of 3.",
						"list": {
							"datatype": "string",
							"maxsize": 255
						}
					}
				},
				"Device.IP.Interface.{i}.IPv6Address.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains the IP interfaces IPv6 unicast addresses. There MUST be an entry for each such address, including anycast addresses. There are several ways in which entries can be added to and deleted from this table, including: * Automatically via SLAAC <<bibref|RFC4862>>, which covers generation of link-local addresses (for all types of device) and global addresses (for non-router devices). * Automatically via DHCPv6 <<bibref|RFC8415>>, which covers generation of any type of address (subject to the configured DHCP server policy). * Manually via a GUI or some other local management interface. * Manually via factory default configuration. * By the Controller. This table MUST NOT include entries for the Subnet-Router anycast address <<bibref|RFC4291|Section 2.6.1>>. Such entries would be identical to others but with a zero interface identifier, and would add no value. A loopback interface will always have address ::1 <<bibref|RFC4291|Section 2.5.3>> and MAY also have link-local address fe80::1. This object is based on ipAddressTable from <<bibref|RFC4293>>.",
					"uniqueKeys": [
						"Alias",
						"IPAddress"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this <<object>> table entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"IPAddressStatus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of <<param|IPAddress>>, indicating whether it can be used for communication. See also <<param|PreferredLifetime>> and <<param|ValidLifetime>>. Enumeration of: Preferred, Deprecated, Invalid, Inaccessible, Unknown, Tentative, Duplicate, Optimistic. This parameter is based on ipAddressStatus and ipAddressStatusTC from <<bibref|RFC4293>>.",
						"default": "Invalid",
						"datatype": "string",
						"enumerations": [
							"Preferred",
							"Deprecated",
							"Invalid",
							"Inaccessible",
							"Unknown",
							"Tentative",
							"Duplicate",
							"Optimistic"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
						"datatype": "_AliasCWMP"
					},
					"IPAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv6 address. This parameter can only be modified if the <<param|Origin>> is <<enum|Static|Origin>>. This parameter is based on ipAddressAddr from <<bibref|RFC4293>>.",
						"datatype": "IPv6Address"
					},
					"Origin": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Mechanism via which the IP address was assigned. Enumeration of: AutoConfigured, DHCPv6, IKEv2, MAP, WellKnown, 3GPP-NAS, Static. This parameter is based on ipOrigin from <<bibref|RFC4293>>.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"AutoConfigured",
							"DHCPv6",
							"IKEv2",
							"MAP",
							"WellKnown",
							"3GPP-NAS",
							"Static"
						]
					},
					"Prefix": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv6 address prefix. Some addresses, e.g. addresses assigned via the DHCPv6 IA_NA option, are not associated with a prefix, and some <<enum|WellKnown|#.IPv6Prefix.<i>.Origin>> prefixes might not be modeled. In both of these cases <<param>> will be <<null>>. This parameter can only be modified if the <<param|Origin>> is <<enum|Static|Origin>>. This parameter is based on ipAddressPrefix from <<bibref|RFC4293>>.",
						"datatype": "string"
					},
					"PreferredLifetime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which this address will cease to be preferred (i.e. will become deprecated), or <<null>> if not known. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z. This parameter can only be modified if the <<param|Origin>> is <<enum|Static|Origin>>.",
						"default": "9999-12-31T23:59:59Z",
						"datatype": "dateTime"
					},
					"ValidLifetime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which this address will cease to be valid (i.e. will become invalid), or <<null>> if unknown. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z. This parameter can only be modified if the <<param|Origin>> is <<enum|Static|Origin>>.",
						"default": "9999-12-31T23:59:59Z",
						"datatype": "dateTime"
					},
					"Anycast": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates whether this is an anycast address <<bibref|RFC4291|Section 2.6>>. Anycast addresses are syntactically identical to unicast addresses and so need to be configured explicitly. This parameter can only be modified if the <<param|Origin>> is <<enum|Static|Origin>>. This parameter is based on ipAddressType from <<bibref|RFC4293>>.",
						"default": "false",
						"datatype": "boolean"
					}
				},
				"Device.IP.Interface.{i}.IPv6Prefix.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains the interfaces IPv6 prefixes. There MUST be an entry for each such prefix, not only for prefixes learned from router advertisements. There are several ways in which entries can be added to and deleted from this table, including: * Automatically via <<bibref|RFC4861>> Router Advertisements. See also <<object|###.RouterAdvertisement>>. * Automatically via DHCPv6 <<bibref|RFC8415>> prefix delegation <<bibref|RFC8415>>. See also <<object|###.DHCPv6.Client>>. * Automatically via internal CPE logic, e.g. creation of child prefixes derived from a parent prefix. * Manually via a GUI or some other local management interface. * Manually via factory default configuration. * By the Controller. The CPE MAY choose not to create <<object>> entries for <<enum|WellKnown|Origin>> prefixes or for the ULA /48 prefix <<bibref|RFC4193>>. If an <<object>> entry exists for the ULA /48 prefix, it MUST be on a downstream interface (i.e. an interface for which the physical layer interface object has Upstream = <<false>>). This object is based on ipAddressPrefixTable from <<bibref|RFC4293>>.",
					"uniqueKeys": [
						"Alias",
						"Prefix"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this <<object>> table entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					},
					"PrefixStatus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of <<param|Prefix>>, indicating whether it can be used for communication. See also <<param|PreferredLifetime>> and <<param|ValidLifetime>>. Enumeration of: Preferred, Deprecated, Invalid, Inaccessible, Unknown. This parameter is based on ipAddressStatus and ipAddressStatusTC from <<bibref|RFC4293>>.",
						"default": "Invalid",
						"datatype": "string",
						"enumerations": [
							"Preferred",
							"Deprecated",
							"Invalid",
							"Inaccessible",
							"Unknown"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
						"datatype": "_AliasCWMP"
					},
					"Prefix": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv6 address prefix. This parameter can only be modified if the <<param|Origin>> is <<enum|Static|Origin>>. This parameter is based on ipAddressPrefixPrefix from <<bibref|RFC4293>>.",
						"datatype": "IPv6Prefix"
					},
					"Origin": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Mechanism via which the prefix was assigned or most recently updated. Enumeration of: AutoConfigured, PrefixDelegation, RouterAdvertisement, WellKnown, Static, Child. Note that: * <<enum|PrefixDelegation>> and <<enum|RouterAdvertisement>> prefixes can exist only on upstream interfaces (i.e. interfaces for which the physical layer interface object has Upstream = <<true>>), * <<enum|AutoConfigured>> and <<enum|WellKnown>> prefixes can exist on any interface, and * <<enum|Static>> and <<enum|Child>> prefixes can exist only on downstream interfaces (i.e. interfaces for which the physical layer interface object has Upstream = <<false>>). Also note that a <<enum|Child>> prefixs <<param|ParentPrefix>> will always be an <<enum|AutoConfigured>>, <<enum|PrefixDelegation>>, or <<enum|RouterAdvertisement>> prefix. This parameter is based on ipAddressOrigin from <<bibref|RFC4293>>.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"AutoConfigured",
							"PrefixDelegation",
							"RouterAdvertisement",
							"WellKnown",
							"Static",
							"Child"
						]
					},
					"StaticType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Static prefix sub-type. For a <<enum|Static|Origin>> prefix, this can be set to <<enum|PrefixDelegation>> or <<enum|Child>>, thereby creating an unconfigured prefix of the specified type that will be populated in preference to creating a new instance. This allows the Controller to pre-create prefix slots with known path names that can be referenced from elsewhere in the data model before they have been populated. Enumeration of: Static, Inapplicable, PrefixDelegation, Child. This mechanism works as follows: * When this parameter is set to <<enum|PrefixDelegation>> or <<enum|Child>>, the instance becomes a prefix slot of the specified type. * Such an instance can be administratively enabled (<<param|Enable>> = <<true>>) but will remain operationally disabled (<<param|Status>> = <<enum|Disabled|Status>>) until it has been populated. * When a new prefix of of type T is needed, the CPE will look for a matching unpopulated instance, i.e. an instance with (<<param|Origin>>,<<param>>,<<param|Prefix>>) = (<<enum|Static|Origin>>,T,). If the CPE finds at least one such instance it will choose one and populate it. If already administratively enabled it will immediately become operationally enabled. If the CPE finds no such instances, it will create and populate a new instance with (<<param|Origin>>,<<param>>) = (T,T). If the CPE finds more than one such instance, the algorithm via which it chooses which instance to populate is implementation-specific. * When a prefix that was populated via this mechanism becomes invalid, the CPE will reset <<param|Prefix>> to <<empty>>. This does not affect the value of the <<param|Enable>> parameter. The prefix <<param>> can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"Static",
							"Inapplicable",
							"PrefixDelegation",
							"Child"
						]
					},
					"ParentPrefix": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the parent prefix from which this prefix was derived. The parent prefix is relevant only for <<enum|Child|Origin>> prefixes and for <<enum|Static|Origin>> <<enum|Child|StaticType>> prefixes (both of which will always be on downstream interfaces), i.e. for <<param|Origin>>=<<enum|Child|Origin>> and for (<<param|Origin>>,<<param|StaticType>>) = (<<enum|Static|Origin>>,<<enum|Child|StaticType>>) prefixes. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>> (which makes sense only for a prefix whose <<param|StaticType>> is already or will be changed to <<enum|Child|StaticType>>).",
						"datatype": "string"
					},
					"ChildPrefixBits": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A prefix that specifies the length of <<enum|Static|Origin>> <<enum|Child|StaticType>> prefixes and how they are derived from their <<param|ParentPrefix>>. It will be used if and only if it is not <<empty>> and is longer than the parent prefix (if it is not used, derivation of such prefixes is implementation-specific). Any bits to the right of the parent prefix are set to the bits in this prefix. For example, for a parent prefix of fedc::/56, if this parameter had the value 123:4567:89ab:cdef::/64, the child /64 would be fedc:0:0:ef::/64. For a parent prefix of fedc::/60, the child /64 would be fedc:0:0:f::/64. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
						"datatype": "IPv6Prefix"
					},
					"OnLink": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "On-link flag <<bibref|RFC4861|Section 4.6.2>> as received (in the RA) for RouterAdvertisement. Indicates whether this prefix can be used for on-link determination. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>. This parameter is based on ipAddressPrefixOnLinkFlag from <<bibref|RFC4293>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"Autonomous": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Autonomous address configuration flag <<bibref|RFC4861|Section 4.6.2>> as received (in the RA) for RouterAdvertisement. Indicates whether this prefix can be used for generating global addresses as specified by SLAAC <<bibref|RFC4862>>. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>. This parameter is based on ipAddressPrefixAutonomousFlag from <<bibref|RFC4293>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"PreferredLifetime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter is based on ipAddressPrefixAdvPreferredLifetime from <<bibref|RFC4293>>. The time at which this prefix will cease to be preferred (i.e. will become deprecated), or <<null>> if not known. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
						"default": "9999-12-31T23:59:59Z",
						"datatype": "dateTime"
					},
					"ValidLifetime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter is based on ipAddressPrefixAdvValidLifetime from <<bibref|RFC4293>>. The time at which this prefix will cease to be valid (i.e. will become invalid), or <<null>> if not known. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z. This parameter can only be modified if <<param|Origin>> is <<enum|Static|Origin>>.",
						"default": "9999-12-31T23:59:59Z",
						"datatype": "dateTime"
					}
				}
			},
			"Device.IP.ActivePort.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table lists the ports on which TCP connections are listening or established.",
				"uniqueKeys": [
					"LocalIPAddress",
					"LocalPort",
					"RemoteIPAddress",
					"RemotePort"
				],
				"access": false,
				"array": true,
				"LocalIPAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Connection local IP address.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"LocalPort": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Connection local port.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"RemoteIPAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The remote IP address of the source of inbound packets. This will be <<null>> for listening connections (only connections in <<enum|ESTABLISHED|Status>> state have remote addresses).",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"RemotePort": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The remote port of the source of inbound packets. This will be <<null>> for listening connections (only connections in <<enum|ESTABLISHED|Status>> state have remote addresses).",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current operational status of the connection. Enumeration of: LISTEN, ESTABLISHED.",
					"datatype": "string",
					"enumerations": [
						"LISTEN",
						"ESTABLISHED"
					]
				}
			},
			"Device.IP.Diagnostics.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The IP Diagnostics object.",
				"access": false,
				"array": false,
				"IPv4PingSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that Ping over IPv4 is supported.",
					"datatype": "boolean"
				},
				"IPv6PingSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that Ping over IPv6 is supported.",
					"datatype": "boolean"
				},
				"IPv4TraceRouteSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that TraceRoute over IPv4 is supported.",
					"datatype": "boolean"
				},
				"IPv6TraceRouteSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that TraceRoute over IPv6 is supported.",
					"datatype": "boolean"
				},
				"IPv4DownloadDiagnosticsSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that Download Diagnostics over IPv4 is supported.",
					"datatype": "boolean"
				},
				"IPv6DownloadDiagnosticsSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that Download Diagnostics over IPv6 is supported.",
					"datatype": "boolean"
				},
				"IPv4UploadDiagnosticsSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that Upload Diagnostics over IPv4 is supported.",
					"datatype": "boolean"
				},
				"IPv6UploadDiagnosticsSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that Upload Diagnostics over IPv6 is supported.",
					"datatype": "boolean"
				},
				"IPv4UDPEchoDiagnosticsSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that UDPEcho Diagnostics over IPv4 is supported.",
					"datatype": "boolean"
				},
				"IPv6UDPEchoDiagnosticsSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that UDPEcho Diagnostics over IPv6 is supported.",
					"datatype": "boolean"
				},
				"IPLayerCapacitySupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that IP Layer Capacity measurement is supported.",
					"datatype": "boolean"
				},
				"IPv4ServerSelectionDiagnosticsSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that ServerSelection Diagnostics over IPv4 is supported.",
					"datatype": "boolean"
				},
				"IPv6ServerSelectionDiagnosticsSupported": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that ServerSelection Diagnostics over IPv6 is supported.",
					"datatype": "boolean"
				},
				"IPPing()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> The layer 2 or layer 3 interface over which the test is to be performed. Example: Device.IP.Interface.1, Device.Bridge.1.Port.2 <<template|INTERFACE-ROUTING>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ProtocolVersion": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the IP protocol to be used.",
							"datatype": "string",
							"enumerations": [
								"Any",
								"IPv4",
								"IPv6"
							]
						},
						"Host": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Host name or address of the host to ping. In the case where <<param>> is specified by name, and the name resolves to more than one address, it is up to the device implementation to choose which address to use.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"NumberOfRepetitions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Number of repetitions of the ping test to perform before reporting the results.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						},
						"Timeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Timeout in <<units>> for the ping test.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"DataBlockSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Size of the data block in bytes to be sent for each ping.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"DSCP": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "DiffServ codepoint to be used for the test packets. By default the CPE SHOULD set this value to zero.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_CannotResolveHostName, Error_NoRouteToHost, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error",
								"Error_CannotResolveHostName",
								"Error_NoRouteToHost",
								"Error_Internal",
								"Error_Other"
							]
						},
						"IPAddressUsed": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates which IP address was used to send the Ping request.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"SuccessCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the number of successful pings (those in which a successful response was received prior to the timeout) in the most recent ping test.",
							"datatype": "unsignedInt"
						},
						"FailureCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the number of failed pings in the most recent ping test.",
							"datatype": "unsignedInt"
						},
						"AverageResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"MinimumResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"MaximumResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"AverageResponseTimeDetailed": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"MinimumResponseTimeDetailed": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"MaximumResponseTimeDetailed": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						}
					}
				},
				"TraceRoute()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> The layer 2 or layer 3 interface over which the test is to be performed. Example: Device.IP.Interface.1, Device.Bridge.1.Port.2 <<template|INTERFACE-ROUTING>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ProtocolVersion": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the IP protocol to be used.",
							"datatype": "string",
							"enumerations": [
								"Any",
								"IPv4",
								"IPv6"
							]
						},
						"Host": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Host name or address of the host to find a route to. In the case where <<param>> is specified by name, and the name resolves to more than one address, it is up to the device implementation to choose which address to use.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"NumberOfTries": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of tries per hop. Set prior to running Diagnostic. By default, the CPE SHOULD set this value to 3.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 3
								}
							]
						},
						"Timeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Timeout in <<units>> for each hop of the trace route test. By default the CPE SHOULD set this value to 5000.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"DataBlockSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Size of the data block in bytes to be sent for each trace route. By default, the CPE SHOULD set this value to 38.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"DSCP": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "DiffServ codepoint to be used for the test packets. By default the CPE SHOULD set this value to 0.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						},
						"MaxHopCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The maximum number of hop used in outgoing probe packets (max TTL). By default the CPE SHOULD set this value to 30.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 64
								}
							]
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Canceled, Complete, Error, Error_CannotResolveHostName, Error_NoRouteToHost, Error_MaxHopCountExceeded, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Canceled",
								"Complete",
								"Error",
								"Error_CannotResolveHostName",
								"Error_NoRouteToHost",
								"Error_MaxHopCountExceeded",
								"Error_Internal",
								"Error_Other"
							]
						},
						"IPAddressUsed": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates which IP address was used for TraceRoute.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"ResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the response time in <<units>> the most recent trace route test. If a route could not be determined, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						}
					}
				},
				"DownloadTransports": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Supported DownloadDiagnostics transport protocols for a CPE device.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"HTTP",
							"FTP"
						]
					}
				},
				"DownloadDiagnosticMaxConnections": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Indicates the maximum number of connections that are supported by Download Diagnostics.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"DownloadDiagnosticsMaxIncrementalResult": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The maximum number of instances in <<object|DownloadDiagnostics().IncrementalResult>> that the implementation will return.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"DownloadDiagnostics()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"DownloadURL": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The <<datatype>> for the CPE to perform the download on. This parameter MUST be in the form of a valid HTTP <<bibref|RFC2616>> or FTP <<bibref|RFC959>> URL. * When using FTP transport, FTP binary transfer MUST be used. * When using HTTP transport, persistent connections MUST be used and pipelining MUST NOT be used. * When using HTTP transport the HTTP Authentication MUST NOT be used. Note: For time based tests (<<param|TimeBasedTestDuration>> > 0) the Controller MAY add a hint to duration of the test to the URL. See <<bibref|TR-143|Section 4.3>> for more details.",
							"datatype": "URL",
							"range": [
								{
									"max": 2048
								}
							]
						},
						"DSCP": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The DiffServ code point for marking packets transmitted in the test. The default value SHOULD be zero.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						},
						"EthernetPriority": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Ethernet priority code for marking packets transmitted in the test (if applicable). The default value SHOULD be zero.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 7
								}
							]
						},
						"TimeBasedTestDuration": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Controls time based testing <<bibref|TR-143|Section 4.3>>. When <<param>> > 0, <<param>> is the duration in <<units>> of a time based test. If <<param>> is 0, the test is not based on time, but on the size of the file to be downloaded. The default value SHOULD be 0.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 999
								}
							],
							"unit": "seconds"
						},
						"TimeBasedTestMeasurementInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The measurement interval duration in <<units>> for objects in <<object|IncrementalResult>> for a time based FTP/HTTP download test (when <<param|TimeBasedTestDuration>> > 0). The default value SHOULD be 0, which implies <<object|IncrementalResult>> collection is disabled. For example if <<param|TimeBasedTestDuration>> is 90 <<units>> and <<param>> is 10 <<units>>, there will be 9 results in <<object|IncrementalResult>>, each with a 10 <<units>> duration.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 999
								}
							],
							"unit": "seconds"
						},
						"TimeBasedTestMeasurementOffset": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This <<param>> works in conjunction with <<param|TimeBasedTestMeasurementInterval>> to allow the interval measurement to start a number of <<units>> after <<param|BOMTime>>. The test measurement interval in <<object|IncrementalResult>> starts at time <<param|BOMTime>> + <<param>> to allow for slow start window removal of file transfers. This <<param>> is in <<units>>. The default value SHOULD be 0.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							],
							"unit": "seconds"
						},
						"ProtocolVersion": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the IP protocol version to be used. The default value SHOULD be <<enum|Any>>.",
							"datatype": "string",
							"enumerations": [
								"Any",
								"IPv4",
								"IPv6"
							]
						},
						"NumberOfConnections": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The number of connections to be used in the test. The default value SHOULD be 1. <<param>> MUST NOT be set to a value greater than <<param|#.DownloadDiagnosticMaxConnections>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						},
						"EnablePerConnectionResults": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The results must be returned in the <<object|PerConnectionResult>> table for every connection when set to <<true>>. The default value SHOULD be <<false>>.",
							"datatype": "boolean"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Complete, Error_CannotResolveHostName, Error_NoRouteToHost, Error_InitConnectionFailed, Error_NoResponse, Error_TransferFailed, Error_PasswordRequestFailed, Error_LoginFailed, Error_NoTransferMode, Error_NoPASV, Error_IncorrectSize, Error_Timeout, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Complete",
								"Error_CannotResolveHostName",
								"Error_NoRouteToHost",
								"Error_InitConnectionFailed",
								"Error_NoResponse",
								"Error_TransferFailed",
								"Error_PasswordRequestFailed",
								"Error_LoginFailed",
								"Error_NoTransferMode",
								"Error_NoPASV",
								"Error_IncorrectSize",
								"Error_Timeout",
								"Error_Internal",
								"Error_Other"
							]
						},
						"IPAddressUsed": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates which IP address was used to send the request.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"ROMTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the client sends the GET command. * For FTP this is the time at which the client sends the RTRV command. If multiple connections are used, then <<param>> is set to the earliest <<param>> across all connections.",
							"datatype": "dateTime"
						},
						"BOMTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Begin of transmission time in UTC, which MUST be specified to microsecond precision For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the first data packet is received. * For FTP this is the time at which the client receives the first data packet on the data connection. If multiple connections are used, then <<param>> is set to the earliest <<param>> across all connections.",
							"datatype": "dateTime"
						},
						"EOMTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "End of transmission in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the last data packet is received. * For FTP this is the time at which the client receives the last packet on the data connection. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
							"datatype": "dateTime"
						},
						"TestBytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The number of <<units>> received during the FTP/HTTP transaction including FTP/HTTP headers, between <<param|BOMTime>> and <<param|EOMTime>> across all connections.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The total number of <<units>> (at the IP layer) received on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The total number of <<units>> (at the IP layer) sent on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"TestBytesReceivedUnderFullLoading": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The number of <<units>> of the test file received between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> across all connections.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesReceivedUnderFullLoading": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The total number of <<units>> (at the IP layer) received in between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|Interface>> object at the latest <<param|PerConnectionResult.<i>.BOMTime>> and at the earliest <<param|PerConnectionResult.<i>.EOMTime>> and subtracting.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesSentUnderFullLoading": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The total number of <<units>> (at the IP layer) sent between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|Interface>> object at the latest <<param|PerConnectionResult.<i>.BOMTime>> and at the earliest <<param|PerConnectionResult.<i>.EOMTime>> and subtracting.",
							"datatype": "StatsCounter64"
						},
						"PeriodOfFullLoading": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The period of time in <<units>> between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> of the test.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"TCPOpenRequestTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP socket open (SYN) was sent for the HTTP connection. * For FTP this is the time at which the TCP socket open (SYN) was sent for the data connection. Note: Interval of 1 microsecond SHOULD be supported. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
							"datatype": "dateTime"
						},
						"TCPOpenResponseTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Response time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP ACK to the socket opening the HTTP connection was received. * For FTP this is the time at which the TCP ACK to the socket opening the data connection was received. Note: Interval of 1 microsecond SHOULD be supported. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
							"datatype": "dateTime"
						}
					}
				},
				"UploadTransports": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Supported UploadDiagnostics transport protocols for a CPE device.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"HTTP",
							"FTP"
						]
					}
				},
				"UploadDiagnosticsMaxConnections": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Indicates the maximum number of connections that are supported by Upload Diagnostics.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"UploadDiagnosticsMaxIncrementalResult": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The maximum number of instances in <<object|UploadDiagnostics().IncrementalResult>> that the implementation will return.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"UploadDiagnostics()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"UploadURL": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The <<datatype>> for the CPE to Upload to. This parameter MUST be in the form of a valid HTTP <<bibref|RFC2616>> or FTP <<bibref|RFC959>> URL. * When using FTP transport, FTP binary transfer MUST be used. * When using HTTP transport, persistent connections MUST be used and pipelining MUST NOT be used. * When using HTTP transport the HTTP Authentication MUST NOT be used.",
							"datatype": "URL",
							"range": [
								{
									"max": 2048
								}
							]
						},
						"DSCP": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "DiffServ code point for marking packets transmitted in the test. The default value SHOULD be zero.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						},
						"EthernetPriority": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Ethernet priority code for marking packets transmitted in the test (if applicable). The default value SHOULD be zero.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 7
								}
							]
						},
						"TestFileLength": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The size of the file <<units>> to be uploaded to the server. The CPE MUST insure the appropriate number of bytes are sent.",
							"datatype": "unsignedLong",
							"unit": "bytes"
						},
						"TimeBasedTestDuration": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Controls time based testing <<bibref|TR-143|Section 4.3>>. When <<param>> > 0, <<param>> is the duration in <<units>> of a time based test. If <<param>> is 0, the test is not based on time, but on the size of the file to be uploaded. The default value SHOULD be 0.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 999
								}
							],
							"unit": "seconds"
						},
						"TimeBasedTestMeasurementInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The measurement interval duration in <<units>> for objects in <<object|IncrementalResult>> for a time based FTP/HTTP upload test (when <<param|TimeBasedTestDuration>> > 0). The default value SHOULD be 0, which implies <<object|IncrementalResult>> collection is disabled. For example if <<param|TimeBasedTestDuration>> is 90 <<units>> and <<param>> is 10 <<units>>, there will be 9 results in <<object|IncrementalResult>>, each with a 10 <<units>> duration.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 999
								}
							],
							"unit": "seconds"
						},
						"TimeBasedTestMeasurementOffset": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This <<param>> works in conjunction with <<param|TimeBasedTestMeasurementInterval>> and allows the interval measurement to start a number of <<units>> after <<param|BOMTime>>. The test measurement interval in <<object|IncrementalResult>> starts at time <<param|BOMTime>> + <<param>> to allow for slow start window removal of file transfers. This <<param>> is in <<units>>. The default value SHOULD be 0.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							],
							"unit": "seconds"
						},
						"ProtocolVersion": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the IP protocol version to be used. The default value SHOULD be <<enum|Any>>.",
							"datatype": "string",
							"enumerations": [
								"Any",
								"IPv4",
								"IPv6"
							]
						},
						"NumberOfConnections": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The number of connections to be used in the test. The default value SHOULD be 1. <<param>> MUST NOT be set to a value greater than <<param|#.UploadDiagnosticsMaxConnections>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						},
						"EnablePerConnectionResults": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The results must be returned in the <<object|PerConnectionResult>> table for every connection when set to <<true>>. The default value SHOULD be <<false>>.",
							"datatype": "boolean"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Complete, Error_CannotResolveHostName, Error_NoRouteToHost, Error_InitConnectionFailed, Error_NoResponse, Error_PasswordRequestFailed, Error_LoginFailed, Error_NoTransferMode, Error_NoPASV, Error_NoCWD, Error_NoSTOR, Error_NoTransferComplete, Error_Timeout, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Complete",
								"Error_CannotResolveHostName",
								"Error_NoRouteToHost",
								"Error_InitConnectionFailed",
								"Error_NoResponse",
								"Error_PasswordRequestFailed",
								"Error_LoginFailed",
								"Error_NoTransferMode",
								"Error_NoPASV",
								"Error_NoCWD",
								"Error_NoSTOR",
								"Error_NoTransferComplete",
								"Error_Timeout",
								"Error_Internal",
								"Error_Other"
							]
						},
						"IPAddressUsed": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates which IP address was used to send the request.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"ROMTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the client sends the GET command. * For FTP this is the time at which the client sends the RTRV command. If multiple connections are used, then <<param>> is set to the earliest <<param>> across all connections.",
							"datatype": "dateTime"
						},
						"BOMTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Begin of transmission time in UTC, which MUST be specified to microsecond precision For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the first data packet is received. * For FTP this is the time at which the client receives the first data packet on the data connection. If multiple connections are used, then <<param>> is set to the earliest <<param>> across all connections.",
							"datatype": "dateTime"
						},
						"EOMTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "End of transmission in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the last data packet is received. * For FTP this is the time at which the client receives the last packet on the data connection. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
							"datatype": "dateTime"
						},
						"TestBytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The number of <<units>> of the test file sent during the FTP/HTTP transaction including FTP/HTTP headers, between <<param|BOMTime>> and <<param|EOMTime>> across all connections.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The total number of <<units>> (at the IP layer) received on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The total number of <<units>> (at the IP layer) sent on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"TestBytesSentUnderFullLoading": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The number of <<units>> of the test file sent between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> across all connections.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesReceivedUnderFullLoading": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The total number of <<units>> (at the IP layer) received between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> across all connections in the test. This MAY be calculated by sampling Stats.BytesReceived on the <<param|Interface>> object at the latest <<param|PerConnectionResult.<i>.BOMTime>> and at the earliest <<param|PerConnectionResult.<i>.EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesSentUnderFullLoading": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The total number of <<units>> (at the IP layer) sent between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> across all connections in the test. This MAY be calculated by sampling Stats.BytesSent on the <<param|Interface>> object at the latest <<param|PerConnectionResult.<i>.BOMTime>> and at the earliest <<param|PerConnectionResult.<i>.EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"PeriodOfFullLoading": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The period of time in <<units>> between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> of the test.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"TCPOpenRequestTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP socket open (SYN) was sent for the HTTP connection. * For FTP this is the time at which the TCP socket open (SYN) was sent for the data connection. Note: Interval of 1 microsecond SHOULD be supported. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
							"datatype": "dateTime"
						},
						"TCPOpenResponseTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Response time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP ACK to the socket opening the HTTP connection was received. * For FTP this is the time at which the TCP ACK to the socket opening the data connection was received. Note: Interval of 1 microsecond SHOULD be supported. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
							"datatype": "dateTime"
						}
					}
				},
				"UDPEchoDiagnosticsMaxResults": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The maximum number of rows in <<object|UDPEchoDiagnostics().IndividualPacketResult>> that the CPE will store. If a test would create more rows than <<param>> only the first <<param>> rows are present in <<object|UDPEchoDiagnostics().IndividualPacketResult>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"UDPEchoDiagnostics()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Host": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Host name or address of the host to perform tests to.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Port": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Port on the host to perform tests to.",
							"default": "7",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"NumberOfRepetitions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of repetitions of the test to perform before reporting the results. The default value SHOULD be 1.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						},
						"Timeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Timeout in <<units>> for the test. That is, the amount of time to wait for the return of a packet that was sent to the <<param|Host>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						},
						"DataBlockSize": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Size of the data block in <<units>> to be sent for each packet. The default value SHOULD be 24.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							],
							"unit": "bytes"
						},
						"DSCP": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "DiffServ codepoint to be used for the test packets. The default value SHOULD be zero.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						},
						"InterTransmissionTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The time in <<units>> between the <<param|NumberOfRepetitions>> of packets sent during a given test. The default value SHOULD be 1000.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							],
							"unit": "milliseconds"
						},
						"ProtocolVersion": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the IP protocol version to be used. The default value SHOULD be <<enum|Any>>.",
							"datatype": "string",
							"enumerations": [
								"Any",
								"IPv4",
								"IPv6"
							]
						},
						"EnableIndividualPacketResults": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The results must be returned in the <<object|IndividualPacketResult>> table for every repetition of the test when set to <<true>>. The default value SHOULD be <<false>>.",
							"datatype": "boolean"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Complete, Error_CannotResolveHostName, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Complete",
								"Error_CannotResolveHostName",
								"Error_Internal",
								"Error_Other"
							]
						},
						"IPAddressUsed": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates which IP address was used to send the request.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"SuccessCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the number of successful packets (those in which a successful response was received prior to the timeout) in the most recent test.",
							"datatype": "unsignedInt"
						},
						"FailureCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the number of failed packets (those in which a successful response was not received prior to the timeout) in the most recent test.",
							"datatype": "unsignedInt"
						},
						"AverageResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"MinimumResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"MaximumResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent test. If there were no successful responses, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						}
					}
				},
				"IPLayerMaxConnections": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Indicates the maximum number of connections that are supported for an IP-Layer Capacity test.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"IPLayerMaxIncrementalResult": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The maximum number of instances in <<object|IPLayerCapacity().IncrementalResult>> that the implementation will return.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"IPLayerCapSupportedSoftwareVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Indicates the installed version of the test software. The software version string will be implementation-dependent, and SHOULD identify both the implementation and the version (e.g., UDPST-7.2.1).",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"IPLayerCapSupportedControlProtocolVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Indicates the control protocol version supported by the test software. Refer to <<bibref|TR-471>> for more information.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"IPLayerCapSupportedMetrics": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Indicates the test metrics from <<bibref|TR-471|Section 5.2>> that are supported by the device. Note that <<bibref|TR-471>> mandates support for and use of IPLR and Sampled RTT.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"IPLR",
							"Sampled_RTT",
							"IPDV",
							"IPRR",
							"RIPR"
						]
					}
				},
				"IPLayerCapacityAuthCodeNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"IPLayerCapacity()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Role": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates whether the device will act as Sender or Receiver of test packets.",
							"datatype": "string",
							"enumerations": [
								"Receiver",
								"Sender"
							]
						},
						"Host": {
							"type": "string",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "The Fully Qualified Domain Name (FQDN) or IP address of the Test Endpoint to perform the UDP Capacity tests with. <<deprecated|2.17|because it is superseded by <<param|ServerList>> with multi-flow and server capability. Refer to <<bibref|TR-471>> for details>> <<obsoleted|2.19>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ServerList": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "A list of servers intended as testing partners for the client. The client works through the server list attempting individual test flows in a round-robin sequence. One flow is attempted to each server and all flows are required for testing, unless the optional <<param|FlowCount>> and <<param|MaximumFlows>> parameters are specified. The list contains each server\u2019s Fully Qualified Domain Name or IP address and listening port in the format server:port.",
							"list": {
								"datatype": "string",
								"item": {
									"max": 100
								},
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"Port": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "Port on the Test Endpoint host. <<deprecated|2.17|because it is superseded by <<param|ServerList>> with multi-flow and server capability. Refer to <<bibref|TR-471>> for details>> <<obsoleted|2.19>>",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"JumboFramesPermitted": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If <<true>>, jumbo frames are allowed above 1 Gbps. The default value SHOULD be <<true>>.",
							"datatype": "boolean"
						},
						"MTU": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The MTU to be used for this test. Common MTU settings are 1500, 1250 and 9000.",
							"default": "1500",
							"datatype": "unsignedInt"
						},
						"LocalInterfaceRateIncluded": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "When set to <<true>>, the client is invoked with the option which uses the bytes statistics on the interface along with the test traffic to determine the maximum IP layer capacity. When set to <<false>>, only test traffic is used to calculate IP layer capacity metrics.",
							"default": "true",
							"datatype": "boolean"
						},
						"AuthenticationEnabled": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If <<true>>, client uses authentication for the test. If <<false>>, the client does not use authentication. Refer to <<template|IPLAYERCAPACITY>> for description on how the input arguments are provided to enable authentication for the test.",
							"default": "false",
							"datatype": "boolean"
						},
						"AuthenticationCode": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The authentication code or key to use when the client connects to the server. Refer to <<template|IPLAYERCAPACITY>> for description on how the input arguments are provided to enable authentication for the test.",
							"datatype": "string"
						},
						"AuthenticationAlias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The reference to <<object|IPLayerCapacityAuthCode>> table by Alias. Refer to <<template|IPLAYERCAPACITY>> for description on how the input arguments are provided to enable authentication for the test.",
							"datatype": "string"
						},
						"AuthenticationKeyFileLocation": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The key file location the client uses to derive the <<param|AuthenticationCode>> and <<param|AuthenticationAlias>> to be used for authentication. Refer to <<template|IPLAYERCAPACITY>> for description on how the input arguments are provided to enable authentication for the test.",
							"datatype": "string"
						},
						"NumberOfConnections": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "The number of connections to be used in the test. The default value SHOULD be 1. <<param>> MUST NOT be set to a value greater than <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerMaxConnections>>. <<deprecated|2.17|because it is superseded by <<param|ServerList>> with multi-flow and server capability and related parameters. Refer to <<bibref|TR-471>> for details>> <<obsoleted|2.19>>",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						},
						"FlowCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Optional Number of flows required for a test. The default SHOULD be 0 (a magic number that indicates the parameter is not used). <<param>> MUST NOT be set to a value greater than <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerMaxConnections>>.",
							"datatype": "unsignedInt"
						},
						"MaximumFlows": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Optional number of flows to attempt. MaximumFlows must be greater than the size of ServerList or FlowCount. The default SHOULD be 0 (a magic number that indicates the parameter is not used). <<param>> MUST NOT be set to a value greater than <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerMaxConnections>>.",
							"datatype": "unsignedInt"
						},
						"EthernetPriority": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Ethernet priority code for marking packets transmitted in the test (if applicable). The default value SHOULD be zero.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 7
								}
							]
						},
						"DSCP": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The DiffServ code point for marking packets transmitted in the test. The default value SHOULD be zero.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 63
								}
							]
						},
						"ProtocolVersion": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the IP protocol version to be used. The default value SHOULD be <<enum|Any>>.",
							"datatype": "string",
							"enumerations": [
								"Any",
								"IPv4",
								"IPv6"
							]
						},
						"UDPPayloadMin": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Minimum reference size of UDP payload in <<units>>. No default. The implementation will algorithmically determine a value if none is configured. The value SHOULD be set to a value that avoids fragmentation (i.e., using path MTU discovery).",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 35,
									"max": 8972
								}
							],
							"unit": "octets"
						},
						"UDPPayloadMax": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Maximum reference size of UDP payload in <<units>>. No default. The implementation will algorithmically determine a value if none is configured. The value SHOULD be set to the largest value that avoids fragmentation (i.e., using path MTU discovery). If <<param|JumboFramesPermitted>> is <<false>>, the maximum value MUST be 1472 octets. If <<param|JumboFramesPermitted>> is <<true>>, this value can be as large as 8972 octets. <<param>> MUST be greater than or equal to <<param|UDPPayloadMin>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 35,
									"max": 8972
								}
							],
							"unit": "octets"
						},
						"UDPPayloadContent": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "UDP Payload Content Type, If there is payload compression in the path and tests intend to characterize a possible advantage due to compression, then payload content SHOULD be supplied by a pseudo-random sequence generator, by using part of a compressed file, or by other means. Payload may also contain the test protocol PDUs. The default value SHOULD be <<enum|zeroes>>.",
							"datatype": "string",
							"enumerations": [
								"zeroes",
								"ones",
								"alternates0and1",
								"random"
							]
						},
						"PortMin": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Starting value for range of Dynamic Ports supported for test traffic and status feedback messages. <<param>> MUST be less than or equal to <<param|PortMax>>, if specified. If <<param>> and <<param|PortMax>> are not specified, the full range of Ports in the Dynamic Ports range (49152-65535) that have been specifically set aside by IANA MAY be used.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 49152,
									"max": 65535
								}
							]
						},
						"PortMax": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the upper bound of the supported Dynamic Port range, where <<param|PortMin>> indicates the starting port number. <<param>> MUST be greater than or equal to <<param|PortMin>>, if specified. If <<param|PortMin>> and <<param>> are not specified, the full range of Ports in the Dynamic Ports range (49152-65535) that have been specifically set aside by IANA MAY be used.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 49152,
									"max": 65535
								}
							]
						},
						"PortOptionalMin": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Starting value for range of User Ports supported for test traffic and status feedback messages. A value of zero (0) indicates no User Ports are used for test traffic or status feedback messages.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 0
								},
								{
									"min": 1024,
									"max": 49151
								}
							]
						},
						"PortOptionalMax": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the upper bound of the supported User Port range, where <<param|PortOptionalMin>> indicates the starting port number. <<param>> MUST be greater than or equal to <<param|PortOptionalMin>>. A value of zero (0) indicates no User Ports are used for test traffic or status feedback messages.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 0
								},
								{
									"min": 1024,
									"max": 49151
								}
							]
						},
						"TestType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the type of IP-Layer Capacity test being run. The default value SHOULD be <<enum|Search>>.",
							"datatype": "string",
							"enumerations": [
								"Search",
								"Fixed"
							]
						},
						"IPDVEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Enables one-way IPDV (IP Packet Delay Variation) metric for load rate adjustment algorithm. When <<true>> (enabled), one-way delay variation is used, otherwise round-trip delay variation is used. The default value SHOULD be <<false>>.",
							"datatype": "boolean"
						},
						"IPRREnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Enables IPRR (IP packet Reordering Ratio) metric. The default value SHOULD be <<false>>.",
							"datatype": "boolean"
						},
						"RIPREnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Enables RIPRR (Replicated IP Packet Ratio) metric. The default value SHOULD be <<false>>.",
							"datatype": "boolean"
						},
						"PreambleDuration": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Duration of the preamble testing, when traffic is being sent and/or received but the test clock has not been started. This is done to ensure all network elements in the path are awake. The default value SHOULD be 2 <<units>>. Value specified in <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 5
								}
							],
							"unit": "seconds"
						},
						"MaximumTestBandwidth": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The rate limiting or admission control bandwidth to be configured on the client for the test. A value of 0 indicates the client does not use rate limiting or admission control. The value is expressed in <<units>>.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 32767
								}
							],
							"unit": "Mbps"
						},
						"StartSendingRate": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The Sending Rate for a <<enum|Fixed|TestType>> test or the initial Sending Rate value for a <<enum|Search|TestType>> test. Value specified in <<units>>. The default value SHOULD be 500 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 500,
									"max": 40000000
								}
							],
							"unit": "kbps"
						},
						"StartSendingRateIndex": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The configurable initial Sending Rate index (to a row of the sending rate table) for a <<enum|Fixed|TestType>> or <<enum|Search|TestType>> test. <<param>> overrides <<param|StartSendingRate>> if both parameters are present. See Annex A of <<bibref|TR-471>> for details. The default value SHOULD be 0.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 11108
								}
							]
						},
						"NumberTestSubIntervals": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of intermediate measurement reporting intervals. The value MUST NOT be greater than <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerMaxIncrementalResult>>. The default value SHOULD be 10.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 100
								}
							]
						},
						"NumberFirstModeTestSubIntervals": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "When the value >= 1, bimodal test mode is requested and the value represents the number of sub-intervals to be included in the first capacity test mode. The remaining sub-intervals of <<param|NumberTestSubIntervals>> are for the second capacity test mode. Value = 0 indicates that bimodal testing is disabled. The value MUST NOT be greater than <<param|NumberTestSubIntervals>>. The default value SHOULD be 0.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 100
								}
							]
						},
						"TestSubInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Duration of intermediate measurement reporting intervals. <<param>> * <<param|NumberTestSubIntervals>> MUST result in an integer value in seconds, in the range 5 seconds <= <<param>> * <<param|NumberTestSubIntervals>> <= 60 seconds. The default value SHOULD be 1000 <<units>>. Value specified in <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 100,
									"max": 6000
								}
							],
							"unit": "milliseconds"
						},
						"StatusFeedbackInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Period of status feedback message (receiver of offered load returns messages to the sender with results of measured metrics). Value specified in <<units>>. The default value SHOULD be 50 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 5,
									"max": 250
								}
							],
							"unit": "milliseconds"
						},
						"TimeoutNoTraffic": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "Timeout value. Value specified in <<units>>. The default value SHOULD be 5 <<units>>. <<deprecated|2.15|because it is superseded by <<param|TimeoutNoTestTraffic>> due to new precision requirement. Refer to <<bibref|TR-471>> for details>> <<obsoleted|2.17>> <<deleted|2.18>>",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 5,
									"max": 30
								}
							],
							"unit": "seconds"
						},
						"TimeoutNoTestTraffic": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Timeout value. If no test traffic packets are received for <<param>> <<units>>, test will timeout. Value specified in <<units>>. The default value SHOULD be 1000 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 500,
									"max": 1000
								}
							],
							"unit": "milliseconds"
						},
						"TimeoutNoStatusMessage": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Timeout value. If no status message packets are received for <<param>> <<units>>, test will timeout. Value specified in <<units>>. The default value SHOULD be 1000 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 500,
									"max": 1000
								}
							],
							"unit": "milliseconds"
						},
						"Tmax": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Maximum waiting time for packets to arrive. Value specified in <<units>>. The default value SHOULD be 1000 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 50,
									"max": 3000
								}
							],
							"unit": "milliseconds"
						},
						"TmaxRTT": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Maximum Round Trip Time waiting time for packets to arrive. Value specified in <<units>>. The default value SHOULD be 3000 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 50,
									"max": 3000
								}
							],
							"unit": "milliseconds"
						},
						"TimestampResolution": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the requested precision of timestamp values. The test implementation will determine the actual precision to use based on the implemented resolution capabilities of the protocols used and this requested value. If the implemented resolution capabilities of the <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerCapSupportedMetrics>> protocols being used are able to provide the requested resolution, this resolution SHOULD be provided. Value specified in <<units>>. The default value SHOULD be 1 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 1000
								}
							],
							"unit": "microseconds"
						},
						"SeqErrThresh": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. Threshold for Loss or Reordering or Replication impairments measured (events where received packet sequence number did not increase by one). The default value SHOULD be 10.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 100
								}
							]
						},
						"ReordDupIgnoreEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. When <<true>> (enabled) only Loss counts toward received packet sequence number errors, and Reordering and Duplication impairments are ignored. When <<false>> (disabled), Loss, Reordering and Duplication are all counted as sequence number errors. The default value SHOULD be <<true>> (enabled).",
							"datatype": "boolean"
						},
						"LowerThresh": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. The lower threshold on the range of Round Trip Time (RTT) variation. Value specified in <<units>>. The default value SHOULD be 30 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 5,
									"max": 250
								}
							],
							"unit": "milliseconds"
						},
						"UpperThresh": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. The upper threshold on the range of Round Trip Time (RTT) variation. Value specified in <<units>>. The default value SHOULD be 90 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 5,
									"max": 250
								}
							],
							"unit": "milliseconds"
						},
						"RetryThresh": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The initial number of retries before activating \u201cfast\u201d sending rate increase mode. Different paths through the flow chart increase the sending rate, either fast or slow, or decrease the rate, etc. The algorithm doubles the threshold each time on subsequent activations. See Annex B of <<bibref|TR-471>> for details. The default value SHOULD be 5.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 3000
								}
							]
						},
						"HighSpeedDelta": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. The number of rows to move in a single adjustment when initially increasing offered load (to ramp up quickly). The default value SHOULD be 10.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 2
								}
							]
						},
						"RateAdjAlgorithm": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Configurable choice of Load Rate Adjustment Algorithm. Refer to <<bibref|TR-471>> for details.",
							"datatype": "string",
							"enumerations": [
								"B",
								"C"
							]
						},
						"SlowAdjThresh": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. Threshold on the measured number of consecutive status reports indicating loss and/or delay variation above <<param|UpperThresh>> (SlowAdjCount). The default value SHOULD be 3.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 2
								}
							]
						},
						"HSpeedThresh": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. Threshold for transition between low and high sending rate step sizes (such as 1Mbps and 100 Mbps). If <<param|JumboFramesPermitted>> is <<true>> this may result in use of jumbo frames. The default value SHOULD be 1 <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "Gbps"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Complete, Error_CannotResolveHostName, Error_NoRouteToHost, Error_InitConnectionFailed, Error_NoResponse, Error_PasswordRequestFailed, Error_LoginFailed, Error_RejectedByRemote, Error_IncorrectSize, Error_Timeout, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Complete",
								"Error_CannotResolveHostName",
								"Error_NoRouteToHost",
								"Error_InitConnectionFailed",
								"Error_NoResponse",
								"Error_PasswordRequestFailed",
								"Error_LoginFailed",
								"Error_RejectedByRemote",
								"Error_IncorrectSize",
								"Error_Timeout",
								"Error_Internal",
								"Error_Other"
							]
						},
						"StatusCode": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Status code of the test returned by the client, if applicable.",
							"datatype": "unsignedInt"
						},
						"StatusMessage": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Status message of the test returned by the client, if applicable.",
							"datatype": "string"
						},
						"BOMTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Beginning of transmission send/receive time in UTC, which MUST be specified to <<param|TimestampResolution>> precision. If multiple connections are used, then <<param>> is set to the earliest value across all connections. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						},
						"EOMTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "End of transmission in UTC, which MUST be specified to <<param|TimestampResolution>> precision. If multiple connections are used, then <<param>> is set to the latest value across all connections. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						},
						"TmaxUsed": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Configured value of <<param|Tmax>> used in the test. This value is expressed in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"TestInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Duration of the test (either downlink or uplink). This value is expected to equal <<param|TestSubInterval>> * <<param|NumberTestSubIntervals>>. This value is expressed in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"MaxIPLayerCapacity": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The maximum IP-Layer Capacity metric from among all <<param|IncrementalResult.<i>.IPLayerCapacity>> values measured between <<param|BOMTime>> and <<param|EOMTime>> across all connections for this test. This is calculated according to <<bibref|TR-471>> Equation 1. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"TimeOfMax": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Time in UTC of end of the sub-interval when <<param|MaxIPLayerCapacity>> was measured. If the value of <<param|MaxIPLayerCapacity>> occurred in multiple sub-intervals, this MUST be the earliest of these sub-intervals. Value MUST be specified to <<param|TimestampResolution>> precision. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						},
						"MaxETHCapacityNoFCS": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Results of measurements using the Maximum IP-Layer Capacity metric, according to <<bibref|TR-471>> Equation 1, and calculations to estimate the capacity at Layer 2 with Preamble and Inter-frame gap, but no ETH Frame Check Sequence. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"MaxETHCapacityWithFCS": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Results of measurements using the Maximum IP-Layer Capacity metric, according to <<bibref|TR-471>> Equation 1, and calculations to estimate the capacity at Layer 2 with ETH Frame Check Sequence. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"MaxETHCapacityWithFCSVLAN": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Results of measurements using the Maximum IP-Layer Capacity metric, according to <<bibref|TR-471>> Equation 1, and calculations to estimate the capacity at Layer 2 with ETH Frame Check Sequence and VLAN tag. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"LossRatioAtMax": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Ratio of lost packets to total packets during sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"RTTRangeAtMax": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The range of Round Trip Time (RTT) during sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"PDVRangeAtMax": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The range of Packet Delay Variation (PDV) during sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"MinOnewayDelayAtMax": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The minimum one-way delay during the sub-interval of <<param|MaxIPLayerCapacity>>. The minimum one-way delay is calculated at the conclusion of the test and SHALL be calculated using the conditional distribution of all packets with a finite one-way delay value (undefined delays are excluded). This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"ReorderedRatioAtMax": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Ratio of reordered packets to total packets during the sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"ReplicatedRatioAtMax": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Ratio of replicated packets to total packets during the sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"RTTMinAtMax": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The value of minimum Round Trip Time (RTT) during the sub interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"RTTMaxAtMax": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The value of maximum Round Trip Time (RTT) during the sub interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"InterfaceEthMbpsAtMax": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The number of bits observed on the Interface during an IP-Layer Capacity test for time interval of duration <<param|TestSubInterval>> ending at <<param|IncrementalResult.<i>.TimeOfSubInterval>> corresponding to the <<param|MaxIPLayerCapacity>>, divided by the duration of <<param|TestSubInterval>>. Result is expressed in Mbps with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>. This is primarily a diagnostic measurement. Measurement direction follows the <<param|Role>>.",
							"datatype": "decimal"
						},
						"IPLayerCapacitySummary": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The IP-Layer Capacity metric from among all <<param|IncrementalResult.<i>.IPLayerCapacity>> values measured between <<param|BOMTime>> and <<param|EOMTime>> across all connections for this test. This is calculated according to <<bibref|TR-471>> Equation 1. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"LossRatioSummary": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Ratio of lost packets to total packets during the complete <<param|TestInterval>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"RTTRangeSummary": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The range of measured Round Trip Time (RTT) during the complete <<param|TestInterval>>. This value is expressed in <<units>>, as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"PDVRangeSummary": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The range of Packet Delay Variation (PDV) during the complete <<param|TestInterval>>. This value is expressed in <<units>>, as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"MinOnewayDelaySummary": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The minimum one-way delay during the complete <<param|TestInterval>>. This value is expressed in <<units>>, as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"MinRTTSummary": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The minimum RTT during the complete <<param|TestInterval>>. This value is expressed in <<units>>, as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"ReorderedRatioSummary": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Ratio of reordered packets to total packets during the complete <<param|TestInterval>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"ReplicatedRatioSummary": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Ratio of replicated packets to total packets during the complete <<param|TestInterval>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"InterfaceEthMbpsSummary": {
							"type": "decimal",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The number of bits observed on the <<param|Interface>> during an IP-Layer Capacity test for the entire time interval of duration <<param|TestInterval>>, divided by the duration of <<param|TestInterval>>. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>. This is primarily a diagnostic measurement. Measurement direction follows the <<param|Role>>.",
							"datatype": "decimal"
						},
						"TmaxRTTUsed": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Configured value of <<param|TmaxRTT>> used in the test. This value is expressed in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"TimestampResolutionUsed": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the timestamp resolution of reported results. This is a function of the measurement protocol, and it is usually determined once the protocol chosen. Value specified in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"ActiveFlows": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of flows set-up and used for a test.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0
								}
							]
						}
					}
				},
				"ServerSelectionDiagnostics()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference|the IP-layer interface over which the test is to be performed>> Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ProtocolVersion": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the IP protocol version to be used.",
							"default": "Any",
							"datatype": "string",
							"enumerations": [
								"Any",
								"IPv4",
								"IPv6"
							]
						},
						"Protocol": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The protocol over which the test is to be performed.",
							"datatype": "string",
							"enumerations": [
								"ICMP",
								"UDP Echo"
							]
						},
						"HostList": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Each entry is a Host name or address of a host to ping.",
							"list": {
								"datatype": "string",
								"item": {
									"max": 10
								},
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"NumberOfRepetitions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Number of repetitions of the ping test to perform for each <<param|HostList>> entry before reporting the results.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							]
						},
						"Timeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Timeout in <<units>> for each iteration of the ping test where the total number of iterations is the value of <<param|NumberOfRepetitions>> times the number of entities in the <<param|HostList>> Parameter.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "milliseconds"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Complete, Error_CannotResolveHostName, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Complete",
								"Error_CannotResolveHostName",
								"Error_Internal",
								"Error_Other"
							]
						},
						"FastestHost": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the Host (one of the items within the <<param|HostList>> Parameter) with the smallest average response time.",
							"datatype": "string"
						},
						"MinimumResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent ping test for the Host identified in <<param|FastestHost>>. Success is defined by the underlying protocol used. If there were no successful responses across all Hosts, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"AverageResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent ping test for the Host identified in <<param|FastestHost>>. Success is defined by the underlying protocol used. If there were no successful responses across all Hosts, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"MaximumResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent ping test for the Host identified in <<param|FastestHost>>. Success is defined by the underlying protocol used. If there were no successful responses across all Hosts, this value MUST be zero.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"IPAddressUsed": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates which IP address was used to send the request to the host identified in <<param|FastestHost>>.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						}
					}
				},
				"Device.IP.Diagnostics.IPPing.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object provides access to an IP-layer ping test.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> The layer 2 or layer 3 interface over which the test is to be performed. Example: Device.IP.Interface.1, Device.Bridge.1.Port.2 <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ProtocolVersion": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the IP protocol to be used.",
						"datatype": "string",
						"enumerations": [
							"Any",
							"IPv4",
							"IPv6"
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Host name or address of the host to ping. In the case where <<param>> is specified by name, and the name resolves to more than one address, it is up to the device implementation to choose which address to use.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"NumberOfRepetitions": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Number of repetitions of the ping test to perform before reporting the results.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Timeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Timeout in <<units>> for the ping test.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "milliseconds"
					},
					"DataBlockSize": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Size of the data block in bytes to be sent for each ping.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"DSCP": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "DiffServ codepoint to be used for the test packets. By default the CPE SHOULD set this value to zero.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 63
							}
						]
					},
					"IPAddressUsed": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates which IP address was used to send the Ping request. The parameter is only valid if the <<param|DiagnosticsState>> is <<enum|Complete|DiagnosticsState>>.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"SuccessCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the number of successful pings (those in which a successful response was received prior to the timeout) in the most recent ping test.",
						"datatype": "unsignedInt"
					},
					"FailureCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the number of failed pings in the most recent ping test.",
						"datatype": "unsignedInt"
					},
					"AverageResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"MinimumResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"MaximumResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"AverageResponseTimeDetailed": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"MinimumResponseTimeDetailed": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"MaximumResponseTimeDetailed": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					}
				},
				"Device.IP.Diagnostics.TraceRoute.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object defines access to an IP-layer trace-route test for the specified IP interface.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> The layer 2 or layer 3 interface over which the test is to be performed. Example: Device.IP.Interface.1, Device.Bridge.1.Port.2 <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ProtocolVersion": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the IP protocol to be used.",
						"datatype": "string",
						"enumerations": [
							"Any",
							"IPv4",
							"IPv6"
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Host name or address of the host to find a route to. In the case where <<param>> is specified by name, and the name resolves to more than one address, it is up to the device implementation to choose which address to use.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"NumberOfTries": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Number of tries per hop. Set prior to running Diagnostic. By default, the CPE SHOULD set this value to 3.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 3
							}
						]
					},
					"Timeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Timeout in <<units>> for each hop of the trace route test. By default the CPE SHOULD set this value to 5000.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "milliseconds"
					},
					"DataBlockSize": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Size of the data block in bytes to be sent for each trace route. By default, the CPE SHOULD set this value to 38.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"DSCP": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "DiffServ codepoint to be used for the test packets. By default the CPE SHOULD set this value to 0.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 63
							}
						]
					},
					"MaxHopCount": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The maximum number of hop used in outgoing probe packets (max TTL). By default the CPE SHOULD set this value to 30.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 64
							}
						]
					},
					"RouteHopsNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"IPAddressUsed": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates which IP address was used for TraceRoute. The parameter is only valid if the <<param|DiagnosticsState>> is <<enum|Complete|DiagnosticsState>>.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"ResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the response time in <<units>> the most recent trace route test. If a route could not be determined, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Contains the array of hop results returned. If a route could not be determined, this array will be empty",
						"access": false,
						"array": true,
						"Host": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Result parameter indicating the Host Name if DNS is able to resolve or IP Address of a hop along the discovered route.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"HostAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "If this parameter is not <<empty>> it will contain the last IP address of the host returned for this hop and the <<param|Host>> will contain the Host Name returned from the reverse DNS query.",
							"datatype": "string"
						},
						"ErrorCode": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Contains the error code returned for this hop. This code is directly from the ICMP CODE field.",
							"datatype": "unsignedInt"
						},
						"RTTimes": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<list>> Each list item contains one or more round trip times in <<units>> (one for each repetition) for this hop. A list item of 0 indicates that the corresponding response was not received. Round trip times of less than 1 <<units>> MUST be rounded up to 1. The number of list entries is determined by the value of <<param|#.NumberOfTries>>.",
							"list": {
								"datatype": "unsignedInt",
								"item": {
									"min": 1,
									"max": 3
								},
								"unit": "milliseconds"
							}
						}
					}
				},
				"Device.IP.Diagnostics.DownloadDiagnostics.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object defines the diagnostics configuration for a HTTP and FTP DownloadDiagnostics Test. Files received in the DownloadDiagnostics do not require file storage on the CPE device.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"DownloadURL": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The <<datatype>> for the CPE to perform the download on. This parameter MUST be in the form of a valid HTTP <<bibref|RFC2616>> or FTP <<bibref|RFC959>> URL. * When using FTP transport, FTP binary transfer MUST be used. * When using HTTP transport, persistent connections MUST be used and pipelining MUST NOT be used. * When using HTTP transport the HTTP Authentication MUST NOT be used. Note: For time based tests (<<param|TimeBasedTestDuration>> > 0) the Controller MAY add a hint to duration of the test to the URL. See <<bibref|TR-143|Section 4.3>> for more details.",
						"datatype": "URL"
					},
					"DownloadTransports": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Supported DownloadDiagnostics transport protocols for a CPE device.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"HTTP",
								"FTP"
							]
						}
					},
					"DSCP": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The DiffServ code point for marking packets transmitted in the test. The default value SHOULD be zero.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 63
							}
						]
					},
					"EthernetPriority": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Ethernet priority code for marking packets transmitted in the test (if applicable). The default value SHOULD be zero.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 7
							}
						]
					},
					"TimeBasedTestDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Controls time based testing <<bibref|TR-143|Section 4.3>>. When <<param>> > 0, <<param>> is the duration in <<units>> of a time based test. If <<param>> is 0, the test is not based on time, but on the size of the file to be downloaded. The default value SHOULD be 0.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 999
							}
						],
						"unit": "seconds"
					},
					"TimeBasedTestMeasurementInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The measurement interval duration in <<units>> for objects in <<object|IncrementalResult>> for a time based FTP/HTTP download test (when <<param|TimeBasedTestDuration>> > 0). The default value SHOULD be 0, which implies <<object|IncrementalResult>> collection is disabled. For example if <<param|TimeBasedTestDuration>> is 90 <<units>> and <<param>> is 10 <<units>>, there will be 9 results in <<object|IncrementalResult>>, each with a 10 <<units>> duration.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 999
							}
						],
						"unit": "seconds"
					},
					"TimeBasedTestMeasurementOffset": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This <<param>> works in conjunction with <<param|TimeBasedTestMeasurementInterval>> to allow the interval measurement to start a number of <<units>> after <<param|BOMTime>>. The test measurement interval in <<object|IncrementalResult>> starts at time <<param|BOMTime>> + <<param>> to allow for slow start window removal of file transfers. This <<param>> is in <<units>>. The default value SHOULD be 0.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						],
						"unit": "seconds"
					},
					"ProtocolVersion": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the IP protocol version to be used. The default value SHOULD be <<enum|Any>>.",
						"datatype": "string",
						"enumerations": [
							"Any",
							"IPv4",
							"IPv6"
						]
					},
					"NumberOfConnections": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The number of connections to be used in the test. The default value SHOULD be 1. <<param>> MUST NOT be set to a value greater than <<param|DownloadDiagnosticMaxConnections>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"IPAddressUsed": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates which IP address was used to send the request.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"DownloadDiagnosticMaxConnections": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the maximum number of connections that are supported by Download Diagnostics.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"DownloadDiagnosticsMaxIncrementalResult": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The maximum number of rows in <<object|IncrementalResult>> that the CPE will store.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"ROMTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the client sends the GET command. * For FTP this is the time at which the client sends the RTRV command. If multiple connections are used, then <<param>> is set to the earliest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"BOMTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Begin of transmission time in UTC, which MUST be specified to microsecond precision For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the first data packet is received. * For FTP this is the time at which the client receives the first data packet on the data connection. If multiple connections are used, then <<param>> is set to the earliest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"EOMTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "End of transmission in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the last data packet is received. * For FTP this is the time at which the client receives the last packet on the data connection. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"TestBytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The number of <<units>> received during the FTP/HTTP transaction including FTP/HTTP headers, between <<param|BOMTime>> and <<param|EOMTime>> across all connections.",
						"datatype": "StatsCounter64"
					},
					"TotalBytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The total number of <<units>> (at the IP layer) received on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
						"datatype": "StatsCounter64"
					},
					"TotalBytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The total number of <<units>> (at the IP layer) sent on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
						"datatype": "StatsCounter64"
					},
					"TestBytesReceivedUnderFullLoading": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The number of <<units>> of the test file received between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> across all connections.",
						"datatype": "StatsCounter64"
					},
					"TotalBytesReceivedUnderFullLoading": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The total number of <<units>> (at the IP layer) received in between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|Interface>> object at the latest <<param|PerConnectionResult.<i>.BOMTime>> and at the earliest <<param|PerConnectionResult.<i>.EOMTime>> and subtracting.",
						"datatype": "StatsCounter64"
					},
					"TotalBytesSentUnderFullLoading": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The total number of <<units>> (at the IP layer) sent between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|Interface>> object at the latest <<param|PerConnectionResult.<i>.BOMTime>> and at the earliest <<param|PerConnectionResult.<i>.EOMTime>> and subtracting.",
						"datatype": "StatsCounter64"
					},
					"PeriodOfFullLoading": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The period of time in <<units>> between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> of the test.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"TCPOpenRequestTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP socket open (SYN) was sent for the HTTP connection. * For FTP this is the time at which the TCP socket open (SYN) was sent for the data connection. Note: Interval of 1 microsecond SHOULD be supported. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"TCPOpenResponseTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Response time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP ACK to the socket opening the HTTP connection was received. * For FTP this is the time at which the TCP ACK to the socket opening the data connection was received. Note: Interval of 1 microsecond SHOULD be supported. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"PerConnectionResultNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"EnablePerConnectionResults": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The results must be returned in the <<object|PerConnectionResult>> table for every connection when set to <<true>>. The default value SHOULD be <<false>>.",
						"datatype": "boolean"
					},
					"IncrementalResultNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Results for individual connections. This table is only populated when <<param|#.EnablePerConnectionResults>> is <<true>>. A new object is created for each connection specified in <<param|#.NumberOfConnections>>. Instance numbers MUST start at 1 and sequentially increment as new instances are created. All instances are removed when <<param|#.DiagnosticsState>> is set to <<enum|Requested|#.DiagnosticsState>> or <<enum|None|#.DiagnosticsState>>.",
						"access": false,
						"array": true,
						"ROMTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the client sends the GET command. * For FTP this is the time at which the client sends the RTRV command.",
							"datatype": "dateTime"
						},
						"BOMTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Begin of transmission time in UTC, which MUST be specified to microsecond precision For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the first data packet is received. * For FTP this is the time at which the client receives the first data packet on the data connection.",
							"datatype": "dateTime"
						},
						"EOMTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "End of transmission in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the last data packet is received. * For FTP this is the time at which the client receives the last packet on the data connection.",
							"datatype": "dateTime"
						},
						"TestBytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The number of <<units>> of the test file received during the FTP/HTTP transaction including FTP/HTTP headers, between <<param|BOMTime>> and <<param|EOMTime>>.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The total number of <<units>> (at the IP layer) received on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|#.Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The total number of <<units>> (at the IP layer) sent on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|#.Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting.",
							"datatype": "StatsCounter64"
						},
						"TCPOpenRequestTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP socket open (SYN) was sent for the HTTP connection. * For FTP this is the time at which the TCP socket open (SYN) was sent for the data connection.",
							"datatype": "dateTime"
						},
						"TCPOpenResponseTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Response time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP ACK to the socket opening the HTTP connection was received. * For FTP this is the time at which the TCP ACK to the socket opening the data connection was received.",
							"datatype": "dateTime"
						}
					},
					"Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Results for time segmented tests (tests where <<param|#.TimeBasedTestDuration>> > 0 and <<param|#.TimeBasedTestMeasurementInterval>> > 0). This data is totaled across all connections in the test. A new object is created every <<param|#.TimeBasedTestMeasurementInterval>> after that interval has completed. Instance numbers MUST start at 1 and sequentially increment as new instances are created. All instances are removed when <<param|#.DiagnosticsState>> is set to <<enum|Requested|#.DiagnosticsState>> or <<enum|None|#.DiagnosticsState>>.",
						"access": false,
						"array": true,
						"TestBytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Change in the value of <<param|#.TestBytesReceivedUnderFullLoading>> between <<param|StartTime>> and <<param|EndTime>>, measured in <<units>>.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The total number of <<units>> (at the IP layer) received on the Interface between <<param|StartTime>> and <<param|EndTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|#.Interface>> object at <<param|StartTime>> and at <<param|EndTime>> and subtracting. If <<param|#.Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The total number of <<units>> (at the IP layer) sent on the Interface between <<param|StartTime>> and <<param|EndTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|#.Interface>> object at <<param|StartTime>> and at <<param|EndTime>> and subtracting. If <<param|#.Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"StartTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The start time of this interval which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						},
						"EndTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The end time of this interval which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						}
					}
				},
				"Device.IP.Diagnostics.UDPEchoConfig.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object allows the CPE to be configured to perform the UDP Echo Service defined in <<bibref|RFC862>> and UDP Echo Plus Service defined in <<bibref|TR-143|Appendix A.1>>.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "MUST be enabled to receive UDP echo. When enabled from a disabled state all related timestamps, statistics and UDP Echo Plus counters are cleared.",
						"datatype": "boolean"
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|IP-layer interface over which the CPE MUST listen and receive UDP echo requests on>> The value of this parameter MUST be either a valid interface or <<empty>>. An attempt to set this parameter to a different value MUST be rejected as an invalid parameter value. If <<empty>> is specified, the CPE MUST listen and receive UDP echo requests on all interfaces. Note: Interfaces behind a NAT MAY require port forwarding rules configured in the Gateway to enable receiving the UDP packets.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"SourceIPAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Source IP address of the UDP echo packet. The CPE MUST only respond to a UDP echo from this source IP address.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"UDPPort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The UDP port on which the UDP server MUST listen and respond to UDP echo requests.",
						"datatype": "unsignedInt"
					},
					"EchoPlusEnabled": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<true>> the CPE will perform necessary packet processing for UDP Echo Plus packets.",
						"datatype": "boolean"
					},
					"EchoPlusSupported": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<true>> if UDP Echo Plus is supported.",
						"datatype": "boolean"
					},
					"PacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Incremented upon each valid UDP echo packet received.",
						"datatype": "unsignedInt"
					},
					"PacketsResponded": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Incremented for each UDP echo response sent.",
						"datatype": "unsignedInt"
					},
					"BytesReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of UDP received bytes including payload and UDP header after the UDPEchoConfig is enabled.",
						"datatype": "unsignedInt"
					},
					"BytesResponded": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of UDP responded bytes, including payload and UDP header sent after the UDPEchoConfig is enabled.",
						"datatype": "unsignedInt"
					},
					"TimeFirstPacketReceived": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456, The time that the server receives the first UDP echo packet after the UDPEchoConfig is enabled.",
						"datatype": "dateTime"
					},
					"TimeLastPacketReceived": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456 The time that the server receives the most recent UDP echo packet.",
						"datatype": "dateTime"
					}
				},
				"Device.IP.Diagnostics.UploadDiagnostics.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object defines the diagnostics configuration for a HTTP or FTP UploadDiagnostics test. Files sent by the UploadDiagnostics do not require file storage on the CPE device, and MAY be an arbitrary stream of bytes.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"UploadURL": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The <<datatype>> for the CPE to Upload to. This parameter MUST be in the form of a valid HTTP <<bibref|RFC2616>> or FTP <<bibref|RFC959>> URL. * When using FTP transport, FTP binary transfer MUST be used. * When using HTTP transport, persistent connections MUST be used and pipelining MUST NOT be used. * When using HTTP transport the HTTP Authentication MUST NOT be used.",
						"datatype": "URL"
					},
					"UploadTransports": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Supported UploadDiagnostics transport protocols for a CPE device.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"HTTP",
								"FTP"
							]
						}
					},
					"DSCP": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "DiffServ code point for marking packets transmitted in the test. The default value SHOULD be zero.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 63
							}
						]
					},
					"EthernetPriority": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Ethernet priority code for marking packets transmitted in the test (if applicable). The default value SHOULD be zero.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 7
							}
						]
					},
					"TestFileLength": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The size of the file <<units>> to be uploaded to the server. The CPE MUST insure the appropriate number of bytes are sent.",
						"datatype": "unsignedLong",
						"unit": "bytes"
					},
					"TimeBasedTestDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Controls time based testing <<bibref|TR-143|Section 4.3>>. When <<param>> > 0, <<param>> is the duration in <<units>> of a time based test. If <<param>> is 0, the test is not based on time, but on the size of the file to be uploaded. The default value SHOULD be 0.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 999
							}
						],
						"unit": "seconds"
					},
					"TimeBasedTestMeasurementInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The measurement interval duration in <<units>> for objects in <<object|IncrementalResult>> for a time based FTP/HTTP upload test (when <<param|TimeBasedTestDuration>> > 0). The default value SHOULD be 0, which implies <<object|IncrementalResult>> collection is disabled. For example if <<param|TimeBasedTestDuration>> is 90 <<units>> and <<param>> is 10 <<units>>, there will be 9 results in <<object|IncrementalResult>>, each with a 10 <<units>> duration.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 999
							}
						],
						"unit": "seconds"
					},
					"TimeBasedTestMeasurementOffset": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This <<param>> works in conjunction with <<param|TimeBasedTestMeasurementInterval>> and allows the interval measurement to start a number of <<units>> after <<param|BOMTime>>. The test measurement interval in <<object|IncrementalResult>> starts at time <<param|BOMTime>> + <<param>> to allow for slow start window removal of file transfers. This <<param>> is in <<units>>. The default value SHOULD be 0.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						],
						"unit": "seconds"
					},
					"ProtocolVersion": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the IP protocol version to be used. The default value SHOULD be <<enum|Any>>.",
						"datatype": "string",
						"enumerations": [
							"Any",
							"IPv4",
							"IPv6"
						]
					},
					"NumberOfConnections": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The number of connections to be used in the test. The default value SHOULD be 1. <<param>> MUST NOT be set to a value greater than <<param|UploadDiagnosticsMaxConnections>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"IPAddressUsed": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates which IP address was used to send the request.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"UploadDiagnosticsMaxConnections": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the maximum number of connections that are supported by Upload Diagnostics.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"UploadDiagnosticsMaxIncrementalResult": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The maximum number of rows in <<object|IncrementalResult>> that the CPE will store.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"ROMTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the client sends the GET command. * For FTP this is the time at which the client sends the RTRV command. If multiple connections are used, then <<param>> is set to the earliest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"BOMTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Begin of transmission time in UTC, which MUST be specified to microsecond precision For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the first data packet is received. * For FTP this is the time at which the client receives the first data packet on the data connection. If multiple connections are used, then <<param>> is set to the earliest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"EOMTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "End of transmission in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the last data packet is received. * For FTP this is the time at which the client receives the last packet on the data connection. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"TestBytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The number of <<units>> of the test file sent during the FTP/HTTP transaction including FTP/HTTP headers, between <<param|BOMTime>> and <<param|EOMTime>> across all connections.",
						"datatype": "StatsCounter64"
					},
					"TotalBytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The total number of <<units>> (at the IP layer) received on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
						"datatype": "StatsCounter64"
					},
					"TotalBytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The total number of <<units>> (at the IP layer) sent on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
						"datatype": "StatsCounter64"
					},
					"TestBytesSentUnderFullLoading": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The number of <<units>> of the test file sent between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> across all connections.",
						"datatype": "StatsCounter64"
					},
					"TotalBytesReceivedUnderFullLoading": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The total number of <<units>> (at the IP layer) received between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> across all connections in the test. This MAY be calculated by sampling Stats.BytesReceived on the <<param|Interface>> object at the latest <<param|PerConnectionResult.<i>.BOMTime>> and at the earliest <<param|PerConnectionResult.<i>.EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
						"datatype": "StatsCounter64"
					},
					"TotalBytesSentUnderFullLoading": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The total number of <<units>> (at the IP layer) sent between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> across all connections in the test. This MAY be calculated by sampling Stats.BytesSent on the <<param|Interface>> object at the latest <<param|PerConnectionResult.<i>.BOMTime>> and at the earliest <<param|PerConnectionResult.<i>.EOMTime>> and subtracting. If <<param|Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
						"datatype": "StatsCounter64"
					},
					"PeriodOfFullLoading": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The period of time in <<units>> between the latest <<param|PerConnectionResult.<i>.BOMTime>> and the earliest <<param|PerConnectionResult.<i>.EOMTime>> of the test.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"TCPOpenRequestTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP socket open (SYN) was sent for the HTTP connection. * For FTP this is the time at which the TCP socket open (SYN) was sent for the data connection. Note: Interval of 1 microsecond SHOULD be supported. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"TCPOpenResponseTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Response time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP ACK to the socket opening the HTTP connection was received. * For FTP this is the time at which the TCP ACK to the socket opening the data connection was received. Note: Interval of 1 microsecond SHOULD be supported. If multiple connections are used, then <<param>> is set to the latest <<param>> across all connections.",
						"datatype": "dateTime"
					},
					"PerConnectionResultNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"EnablePerConnectionResults": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The results must be returned in the <<object|PerConnectionResult>> table for every connection when set to <<true>>. The default value SHOULD be <<false>>.",
						"datatype": "boolean"
					},
					"IncrementalResultNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.IP.Diagnostics.UploadDiagnostics.PerConnectionResult.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Results for individual connections. This table is only populated when <<param|#.EnablePerConnectionResults>> is <<true>>. A new object is created for each connection specified in <<param|#.NumberOfConnections>>. Instance numbers MUST start at 1 and sequentially increment as new instances are created. All instances are removed when <<param|#.DiagnosticsState>> is set to <<enum|Requested|#.DiagnosticsState>> or <<enum|None|#.DiagnosticsState>>.",
						"access": false,
						"array": true,
						"ROMTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the client sends the GET command. * For FTP this is the time at which the client sends the RTRV command.",
							"datatype": "dateTime"
						},
						"BOMTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Begin of transmission time in UTC, which MUST be specified to microsecond precision For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the first data packet is received. * For FTP this is the time at which the client receives the first data packet on the data connection.",
							"datatype": "dateTime"
						},
						"EOMTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "End of transmission in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the last data packet is received. * For FTP this is the time at which the client receives the last packet on the data connection.",
							"datatype": "dateTime"
						},
						"TestBytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The number of <<units>> of the test file sent during the FTP/HTTP transaction including FTP/HTTP headers, between <<param|BOMTime>> and <<param|EOMTime>>.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The total number of <<units>> (at the IP layer) received on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|#.Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|#.Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The total number of <<units>> (at the IP layer) sent on the Interface between <<param|BOMTime>> and <<param|EOMTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|#.Interface>> object at <<param|BOMTime>> and at <<param|EOMTime>> and subtracting. If <<param|#.Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"TCPOpenRequestTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP socket open (SYN) was sent for the HTTP connection. * For FTP this is the time at which the TCP socket open (SYN) was sent for the data connection.",
							"datatype": "dateTime"
						},
						"TCPOpenResponseTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Response time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z * For HTTP this is the time at which the TCP ACK to the socket opening the HTTP connection was received. * For FTP this is the time at which the TCP ACK to the socket opening the data connection was received.",
							"datatype": "dateTime"
						}
					},
					"Device.IP.Diagnostics.UploadDiagnostics.IncrementalResult.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Results for time segmented tests (tests where <<param|#.TimeBasedTestDuration>> > 0 and <<param|#.TimeBasedTestMeasurementInterval>> > 0). This data is totaled across all connections in the test. A new object is created every <<param|#.TimeBasedTestMeasurementInterval>> after that interval has completed. Instance numbers MUST start at 1 and sequentially increment as new instances are created. All instances are removed when <<param|#.DiagnosticsState>> is set to <<enum|Requested|#.DiagnosticsState>> or <<enum|None|#.DiagnosticsState>>.",
						"access": false,
						"array": true,
						"TestBytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Change in the value of <<param|#.TestBytesSent>> between <<param|StartTime>> and <<param|EndTime>>, measured in <<units>>.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The total number of <<units>> (at the IP layer) received on the Interface between <<param|StartTime>> and <<param|EndTime>>. This MAY be calculated by sampling Stats.BytesReceived on the <<param|#.Interface>> object at <<param|StartTime>> and at <<param|EndTime>> and subtracting. If <<param|#.Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"TotalBytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The total number of <<units>> (at the IP layer) sent on the Interface between <<param|StartTime>> and <<param|EndTime>>. This MAY be calculated by sampling Stats.BytesSent on the <<param|#.Interface>> object at <<param|StartTime>> and at <<param|EndTime>> and subtracting. If <<param|#.Interface>> is <<empty>>, this parameter cannot be determined and SHOULD be 0.",
							"datatype": "StatsCounter64"
						},
						"StartTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The start time of this interval which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						},
						"EndTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The end time of this interval which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						}
					}
				},
				"Device.IP.Diagnostics.UDPEchoDiagnostics.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object defines the diagnostics configuration for a UDP Echo test <<bibref|TR-143|Appendix A.1>> defined in <<bibref|RFC862>> or a UDP Echo Plus test defined in <<bibref|TR-143|Appendix A.1>>.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Host name or address of the host to perform tests to.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Port on the host to perform tests to.",
						"default": "7",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"NumberOfRepetitions": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Number of repetitions of the test to perform before reporting the results. The default value SHOULD be 1.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Timeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Timeout in <<units>> for the test. That is, the amount of time to wait for the return of a packet that was sent to the <<param|Host>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "milliseconds"
					},
					"DataBlockSize": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Size of the data block in <<units>> to be sent for each packet. The default value SHOULD be 24.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						],
						"unit": "bytes"
					},
					"DSCP": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "DiffServ codepoint to be used for the test packets. The default value SHOULD be zero.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 63
							}
						]
					},
					"InterTransmissionTime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The time in <<units>> between the <<param|NumberOfRepetitions>> of packets sent during a given test. The default value SHOULD be 1000.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						],
						"unit": "milliseconds"
					},
					"ProtocolVersion": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the IP protocol version to be used. The default value SHOULD be <<enum|Any>>.",
						"datatype": "string",
						"enumerations": [
							"Any",
							"IPv4",
							"IPv6"
						]
					},
					"IPAddressUsed": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates which IP address was used to send the request.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"SuccessCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the number of successful packets (those in which a successful response was received prior to the timeout) in the most recent test.",
						"datatype": "unsignedInt"
					},
					"FailureCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the number of failed packets (those in which a successful response was not received prior to the timeout) in the most recent test.",
						"datatype": "unsignedInt"
					},
					"AverageResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"MinimumResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"MaximumResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent test. If there were no successful responses, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"EnableIndividualPacketResults": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The results must be returned in the <<object|IndividualPacketResult>> table for every repetition of the test when set to <<true>>. The default value SHOULD be <<false>>.",
						"datatype": "boolean"
					},
					"IndividualPacketResultNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"UDPEchoDiagnosticsMaxResults": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The maximum number of rows in <<object|IndividualPacketResult>> that the CPE will store. If a test would create more rows than <<param>> only the first <<param>> rows are present in <<object|IndividualPacketResult>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "This object provides the results from individual UDPEchoPlus test packets collected during a test if <<param|#.EnableIndividualPacketResults>> is set to true. When <<param|#.DiagnosticsState>> is set to <<enum|Complete|#.DiagnosticsState>> it should contain <<param|#.NumberOfRepetitions>> objects. Instance numbers MUST start at 1 and sequentially increment as new instances are created. The instance number should match the TestIterationNumber field of the request and response packet. All instances are removed when <<param|#.DiagnosticsState>> is set to <<enum|Requested|#.DiagnosticsState>> or <<enum|None|#.DiagnosticsState>>.",
						"access": false,
						"array": true,
						"PacketSuccess": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Indicates that the response to this UDP Echo Plus packet sent was received by the client. When this value is <<true>>, then all the remaining parameters in this instance are valid. Otherwise only the values originally set by the CPE client (e.g. <<param|PacketSendTime>> and <<param|TestGenSN>>) MAY be set to valid values.",
							"datatype": "boolean"
						},
						"PacketSendTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Time the client sent this UDP Echo Plus packet in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						},
						"PacketReceiveTime": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Time the client receives the response packet in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z If this response is never received, <<param>> SHOULD be set to the Unknown Time value as specified in <<bibref|TR-106|Section 3.2.2>>.",
							"datatype": "dateTime"
						},
						"TestGenSN": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The TestGenSN field in the UDPEcho Plus packet <<bibref|TR-143|Section A.1.4>> sent by the CPE client.",
							"datatype": "unsignedInt"
						},
						"TestRespSN": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The TestRespSN field in the response packet <<bibref|TR-143|Section A.1.4>> from the UDP Echo Plus server (i.e. <<param|#.Host>>) for this Echo Plus packet sent by the CPE client. If <<param|PacketSuccess>> is <<false>>, <<param>> SHOULD be 0.",
							"datatype": "unsignedInt"
						},
						"TestRespRcvTimeStamp": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The TestRespRcvTimeStamp field in the response packet <<bibref|TR-143|Section A.1.4>> from the UDP Echo Plus server (i.e. <<param|#.Host>>) to record the reception time in <<units>> of this UDP Echo Plus packet sent from the CPE client. If <<param|PacketSuccess>> is <<false>>, <<param>> SHOULD be 0.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"TestRespReplyTimeStamp": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The TestRespReplyTimeStamp field in the response packet <<bibref|TR-143|Section A.1.4>> from the UDP Echo Plus server (i.e. <<param|#.Host>>) to record the server reply time in <<units>> of this UDP Echo Plus packet sent from the CPE client. That is, the time that the server returned the UDP Echo Plus packet. If <<param|PacketSuccess>> is <<false>>, <<param>> SHOULD be 0.",
							"datatype": "unsignedInt",
							"unit": "microseconds"
						},
						"TestRespReplyFailureCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The count value that was set by the UDP Echo Plus server (i.e. <<param|#.Host>>) to record the number of dropped echo response packets by the server. This count is incremented if a valid echo request packet is received at a UDP EchoPlus server but for some reason cannot be responded to (e.g. due to local buffer overflow, CPU utilization, etc...). If <<param|PacketSuccess>> is <<false>>, <<param>> SHOULD be 0.",
							"datatype": "unsignedInt"
						}
					}
				},
				"Device.IP.Diagnostics.IPLayerCapacityMetrics.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object defines the diagnostics configuration for a IP Layer Capacity test. IP Layer Capacity measurement is specified in <<bibref|TR-471>>. Files received in the IP Layer Capacity test do not require file storage on the CPE device. If <<param|AuthenticationEnabled>> is set to <<true>>, one of the following combinations of <<param|AuthenticationCode>>, <<param|AuthenticationAlias>> and <<param|AuthenticationKeyFileLocation>> MUST be met. Otherwise, the client returns an error. If only <<param|AuthenticationCode>> is provided, the client uses the value directly as the key. If both <<param|AuthenticationCode>> and <<param|AuthenticationAlias>> are provided but <<param|AuthenticationKeyFileLocation>> is not provided, the client uses the <<param|AuthenticationCode>> as the key and the <<param|AuthenticationAlias>> as key ID. The <<object|IPLayerCapacityAuthCode>> table is ignored. If only <<param|AuthenticationAlias>> is provided, the client uses the <<object|IPLayerCapacityAuthCode>> table to derive the <<param|IPLayerCapacityAuthCode.<i>.Alias>> to use as key ID, and the <<param|IPLayerCapacityAuthCode.<i>.AuthenticationKey>> as the key. If both <<param|AuthenticationAlias>> and <<param|AuthenticationKeyFileLocation>> are provided, but <<param|AuthenticationCode>> is not provided, the client uses the <<param|AuthenticationAlias>> as key ID along with <<param|AuthenticationKeyFileLocation>> as file location. The <<object|IPLayerCapacityAuthCode>> table is ignored. If only <<param|AuthenticationAlias>> is provided, and the <<object|IPLayerCapacityAuthCode>> does not contain the <<param|AuthenticationAlias>>, the client returns an error. If only <<param|AuthenticationKeyFileLocation>> is provided, the file specified MUST contain a single entry. Otherwise, the client returns an error.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"IPLayerMaxConnections": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the maximum number of connections that are supported for an IP-Layer Capacity test.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"IPLayerMaxIncrementalResult": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The maximum number of rows in <<object|IncrementalResult>> that the device will store.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"IPLayerCapSupportedSoftwareVersion": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the installed version of the test software. The software version string will be implementation-dependent, and SHOULD identify both the implementation and the version (e.g., UDPST-7.2.1).",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"IPLayerCapSupportedControlProtocolVersion": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the control protocol version supported by the test software. Refer to <<bibref|TR-471>> for more information.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"IPLayerCapSupportedMetrics": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the test metrics from <<bibref|TR-471|Section 5.2>> that are supported by the device. Note that <<bibref|TR-471>> mandates support for and use of IPLR and Sampled RTT.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"IPLR",
								"Sampled_RTT",
								"IPDV",
								"IPRR",
								"RIPR"
							]
						}
					},
					"IPLayerCapacityAuthCodeNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Role": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates whether the device will act as Sender or Receiver of test packets.",
						"datatype": "string",
						"enumerations": [
							"Receiver",
							"Sender"
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "The Fully Qualified Domain Name (FQDN) or IP address of the Test Endpoint to perform the UDP Capacity tests with. <<deprecated|2.17|because it is superseded by <<param|ServerList>> with multi-flow and server capability. Refer to <<bibref|TR-471>> for details>> <<obsoleted|2.19>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ServerList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A list of servers intended as testing partners for the client. The client works through the server list attempting individual test flows in a round-robin sequence. One flow is attempted to each server and all flows are required for testing, unless the optional <<param|FlowCount>> and <<param|MaximumFlows>> parameters are specified. The list contains each server\u2019s Fully Qualified Domain Name or IP address and listening port in the format server:port.",
						"list": {
							"datatype": "string",
							"item": {
								"max": 100
							},
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "Port on the Test Endpoint host. <<deprecated|2.17|because it is superseded by <<param|ServerList>> with multi-flow and server capability. Refer to <<bibref|TR-471>> for details>> <<obsoleted|2.19>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"JumboFramesPermitted": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "If <<true>>, jumbo frames are allowed above 1 Gbps. The default value SHOULD be <<true>>.",
						"datatype": "boolean"
					},
					"MTU": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The MTU to be used for this test. Common MTU settings are 1500, 1250 and 9000.",
						"default": "1500",
						"datatype": "unsignedInt"
					},
					"LocalInterfaceRateIncluded": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "When set to <<true>>, the client is invoked with the option which uses the bytes statistics on the interface along with the test traffic to determine the maximum IP layer capacity. When set to <<false>>, only test traffic is used to calculate IP layer capacity metrics.",
						"default": "true",
						"datatype": "boolean"
					},
					"AuthenticationEnabled": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "If <<true>>, client uses authentication for the test. If <<false>>, the client does not use authentication. Refer to <<template|IPLAYERCAPACITY>> for description on how the input arguments are provided to enable authentication for the test.",
						"default": "false",
						"datatype": "boolean"
					},
					"AuthenticationCode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The authentication code or key to use when the client connects to the server. Refer to <<template|IPLAYERCAPACITY>> for description on how the input arguments are provided to enable authentication for the test.",
						"datatype": "string"
					},
					"AuthenticationAlias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The reference to <<object|IPLayerCapacityAuthCode>> table by Alias. Refer to <<template|IPLAYERCAPACITY>> for description on how the input arguments are provided to enable authentication for the test.",
						"datatype": "string"
					},
					"AuthenticationKeyFileLocation": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The key file location the client uses to derive the <<param|AuthenticationCode>> and <<param|AuthenticationAlias>> to be used for authentication. Refer to <<template|IPLAYERCAPACITY>> for description on how the input arguments are provided to enable authentication for the test.",
						"datatype": "string"
					},
					"NumberOfConnections": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "The number of connections to be used in the test. The default value SHOULD be 1. <<param>> MUST NOT be set to a value greater than <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerMaxConnections>>. <<deprecated|2.17|because it is superseded by <<param|ServerList>> with multi-flow and server capability and related parameters. Refer to <<bibref|TR-471>> for details>> <<obsoleted|2.19>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"FlowCount": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Optional Number of flows required for a test. The default SHOULD be 0 (a magic number that indicates the parameter is not used). <<param>> MUST NOT be set to a value greater than <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerMaxConnections>>.",
						"datatype": "unsignedInt"
					},
					"MaximumFlows": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Optional number of flows to attempt. MaximumFlows must be greater than the size of ServerList or FlowCount. The default SHOULD be 0 (a magic number that indicates the parameter is not used). <<param>> MUST NOT be set to a value greater than <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerMaxConnections>>.",
						"datatype": "unsignedInt"
					},
					"EthernetPriority": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Ethernet priority code for marking packets transmitted in the test (if applicable). The default value SHOULD be zero.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 7
							}
						]
					},
					"DSCP": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The DiffServ code point for marking packets transmitted in the test. The default value SHOULD be zero.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 63
							}
						]
					},
					"ProtocolVersion": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the IP protocol version to be used. The default value SHOULD be <<enum|Any>>.",
						"datatype": "string",
						"enumerations": [
							"Any",
							"IPv4",
							"IPv6"
						]
					},
					"UDPPayloadMin": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Minimum reference size of UDP payload in <<units>>. No default. The implementation will algorithmically determine a value if none is configured. The value SHOULD be set to a value that avoids fragmentation (i.e., using path MTU discovery).",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 35,
								"max": 8972
							}
						],
						"unit": "octets"
					},
					"UDPPayloadMax": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Maximum reference size of UDP payload in <<units>>. No default. The implementation will algorithmically determine a value if none is configured. The value SHOULD be set to the largest value that avoids fragmentation (i.e., using path MTU discovery). If <<param|JumboFramesPermitted>> is <<false>>, the maximum value MUST be 1472 octets. If <<param|JumboFramesPermitted>> is <<true>>, this value can be as large as 8972 octets. <<param>> MUST be greater than or equal to <<param|UDPPayloadMin>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 35,
								"max": 8972
							}
						],
						"unit": "octets"
					},
					"UDPPayloadContent": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "UDP Payload Content Type, If there is payload compression in the path and tests intend to characterize a possible advantage due to compression, then payload content SHOULD be supplied by a pseudo-random sequence generator, by using part of a compressed file, or by other means. Payload may also contain the test protocol PDUs. The default value SHOULD be <<enum|zeroes>>.",
						"datatype": "string",
						"enumerations": [
							"zeroes",
							"ones",
							"alternates0and1",
							"random"
						]
					},
					"PortMin": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Starting value for range of Dynamic Ports supported for test traffic and status feedback messages. <<param>> MUST be less than or equal to <<param|PortMax>>, if specified. If <<param>> and <<param|PortMax>> are not specified, the full range of Ports in the Dynamic Ports range (49152-65535) that have been specifically set aside by IANA MAY be used.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 49152,
								"max": 65535
							}
						]
					},
					"PortMax": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the upper bound of the supported Dynamic Port range, where <<param|PortMin>> indicates the starting port number. <<param>> MUST be greater than or equal to <<param|PortMin>>, if specified. If <<param|PortMin>> and <<param>> are not specified, the full range of Ports in the Dynamic Ports range (49152-65535) that have been specifically set aside by IANA MAY be used.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 49152,
								"max": 65535
							}
						]
					},
					"PortOptionalMin": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Starting value for range of User Ports supported for test traffic and status feedback messages. A value of zero (0) indicates no User Ports are used for test traffic or status feedback messages.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 1024,
								"max": 49151
							}
						]
					},
					"PortOptionalMax": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the upper bound of the supported User Port range, where <<param|PortOptionalMin>> indicates the starting port number. <<param>> MUST be greater than or equal to <<param|PortOptionalMin>>. A value of zero (0) indicates no User Ports are used for test traffic or status feedback messages.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 1024,
								"max": 49151
							}
						]
					},
					"TestType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the type of IP-Layer Capacity test being run. The default value SHOULD be <<enum|Search>>.",
						"datatype": "string",
						"enumerations": [
							"Search",
							"Fixed"
						]
					},
					"IPDVEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Enables one-way IPDV (IP Packet Delay Variation) metric for load rate adjustment algorithm. When <<true>> (enabled), one-way delay variation is used, otherwise round-trip delay variation is used. The default value SHOULD be <<false>>.",
						"datatype": "boolean"
					},
					"IPRREnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Enables IPRR (IP packet Reordering Ratio) metric. The default value SHOULD be <<false>>.",
						"datatype": "boolean"
					},
					"RIPREnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Enables RIPRR (Replicated IP Packet Ratio) metric. The default value SHOULD be <<false>>.",
						"datatype": "boolean"
					},
					"PreambleDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Duration of the preamble testing, when traffic is being sent and/or received but the test clock has not been started. This is done to ensure all network elements in the path are awake. The default value SHOULD be 2 <<units>>. Value specified in <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 5
							}
						],
						"unit": "seconds"
					},
					"MaximumTestBandwidth": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The rate limiting or admission control bandwidth to be configured on the client for the test. A value of 0 indicates the client does not use rate limiting or admission control. The value is expressed in <<units>>.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 32767
							}
						],
						"unit": "Mbps"
					},
					"StartSendingRate": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The Sending Rate for a <<enum|Fixed|TestType>> test or the initial Sending Rate value for a <<enum|Search|TestType>> test. Value specified in <<units>>. The default value SHOULD be 500 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 500,
								"max": 40000000
							}
						],
						"unit": "kbps"
					},
					"StartSendingRateIndex": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The configurable initial Sending Rate index (to a row of the sending rate table) for a <<enum|Fixed|TestType>> or <<enum|Search|TestType>> test. <<param>> overrides <<param|StartSendingRate>> if both parameters are present. See Annex A of <<bibref|TR-471>> for details. The default value SHOULD be 0.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 11108
							}
						]
					},
					"NumberTestSubIntervals": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Number of intermediate measurement reporting intervals. The value MUST NOT be greater than <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerMaxIncrementalResult>>. The default value SHOULD be 10.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 100
							}
						]
					},
					"NumberFirstModeTestSubIntervals": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "When the value >= 1, bimodal test mode is requested and the value represents the number of sub-intervals to be included in the first capacity test mode. The remaining sub-intervals of <<param|NumberTestSubIntervals>> are for the second capacity test mode. Value = 0 indicates that bimodal testing is disabled. The value MUST NOT be greater than <<param|NumberTestSubIntervals>>. The default value SHOULD be 0.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 100
							}
						]
					},
					"TestSubInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Duration of intermediate measurement reporting intervals. <<param>> * <<param|NumberTestSubIntervals>> MUST result in an integer value in seconds, in the range 5 seconds <= <<param>> * <<param|NumberTestSubIntervals>> <= 60 seconds. The default value SHOULD be 1000 <<units>>. Value specified in <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 100,
								"max": 6000
							}
						],
						"unit": "milliseconds"
					},
					"StatusFeedbackInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Period of status feedback message (receiver of offered load returns messages to the sender with results of measured metrics). Value specified in <<units>>. The default value SHOULD be 50 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 5,
								"max": 250
							}
						],
						"unit": "milliseconds"
					},
					"TimeoutNoTraffic": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "Timeout value. Value specified in <<units>>. The default value SHOULD be 5 <<units>>. <<deprecated|2.15|because it is superseded by <<param|TimeoutNoTestTraffic>> due to new precision requirement. Refer to <<bibref|TR-471>> for details>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 5,
								"max": 30
							}
						],
						"unit": "seconds"
					},
					"TimeoutNoTestTraffic": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Timeout value. If no test traffic packets are received for <<param>> <<units>>, test will timeout. Value specified in <<units>>. The default value SHOULD be 1000 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 500,
								"max": 1000
							}
						],
						"unit": "milliseconds"
					},
					"TimeoutNoStatusMessage": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Timeout value. If no status message packets are received for <<param>> <<units>>, test will timeout. Value specified in <<units>>. The default value SHOULD be 1000 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 500,
								"max": 1000
							}
						],
						"unit": "milliseconds"
					},
					"Tmax": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Maximum waiting time for packets to arrive. Value specified in <<units>>. The default value SHOULD be 1000 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 50,
								"max": 3000
							}
						],
						"unit": "milliseconds"
					},
					"TmaxRTT": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Maximum Round Trip Time waiting time for packets to arrive. Value specified in <<units>>. The default value SHOULD be 3000 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 50,
								"max": 3000
							}
						],
						"unit": "milliseconds"
					},
					"TimestampResolution": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the requested precision of timestamp values. The test implementation will determine the actual precision to use based on the implemented resolution capabilities of the protocols used and this requested value. If the implemented resolution capabilities of the <<param|<<template|IP-DIAGNOSTICS-PARENT>>IPLayerCapSupportedMetrics>> protocols being used are able to provide the requested resolution, this resolution SHOULD be provided. Value specified in <<units>>. The default value SHOULD be 1 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 1000
							}
						],
						"unit": "microseconds"
					},
					"SeqErrThresh": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. Threshold for Loss or Reordering or Replication impairments measured (events where received packet sequence number did not increase by one). The default value SHOULD be 10.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 100
							}
						]
					},
					"ReordDupIgnoreEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. When <<true>> (enabled) only Loss counts toward received packet sequence number errors, and Reordering and Duplication impairments are ignored. When <<false>> (disabled), Loss, Reordering and Duplication are all counted as sequence number errors. The default value SHOULD be <<true>> (enabled).",
						"datatype": "boolean"
					},
					"LowerThresh": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. The lower threshold on the range of Round Trip Time (RTT) variation. Value specified in <<units>>. The default value SHOULD be 30 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 5,
								"max": 250
							}
						],
						"unit": "milliseconds"
					},
					"UpperThresh": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. The upper threshold on the range of Round Trip Time (RTT) variation. Value specified in <<units>>. The default value SHOULD be 90 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 5,
								"max": 250
							}
						],
						"unit": "milliseconds"
					},
					"RetryThresh": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The initial number of retries before activating \u201cfast\u201d sending rate increase mode. Different paths through the flow chart increase the sending rate, either fast or slow, or decrease the rate, etc. The algorithm doubles the threshold each time on subsequent activations. See Annex B of <<bibref|TR-471>> for details. The default value SHOULD be 5.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 3000
							}
						]
					},
					"HighSpeedDelta": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. The number of rows to move in a single adjustment when initially increasing offered load (to ramp up quickly). The default value SHOULD be 10.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 2
							}
						]
					},
					"RateAdjAlgorithm": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Configurable choice of Load Rate Adjustment Algorithm. Refer to <<bibref|TR-471>> for details.",
						"datatype": "string",
						"enumerations": [
							"B",
							"C"
						]
					},
					"SlowAdjThresh": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. Threshold on the measured number of consecutive status reports indicating loss and/or delay variation above <<param|UpperThresh>> (SlowAdjCount). The default value SHOULD be 3.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 2
							}
						]
					},
					"HSpeedThresh": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter is only meaningful if <<param|TestType>> is <<enum|Search|TestType>>. Threshold for transition between low and high sending rate step sizes (such as 1Mbps and 100 Mbps). If <<param|JumboFramesPermitted>> is <<true>> this may result in use of jumbo frames. The default value SHOULD be 1 <<units>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "Gbps"
					},
					"StatusCode": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Status code of the test returned by the client, if applicable.",
						"datatype": "unsignedInt"
					},
					"IncrementalResultNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ModalResultNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"StatusMessage": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Status message of the test returned by the client, if applicable.",
						"datatype": "string"
					},
					"BOMTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Beginning of transmission send/receive time in UTC, which MUST be specified to <<param|TimestampResolution>> precision. If multiple connections are used, then <<param>> is set to the earliest value across all connections. For example: 2008-04-09T15:01:05.123456Z",
						"datatype": "dateTime"
					},
					"EOMTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "End of transmission in UTC, which MUST be specified to <<param|TimestampResolution>> precision. If multiple connections are used, then <<param>> is set to the latest value across all connections. For example: 2008-04-09T15:01:05.123456Z",
						"datatype": "dateTime"
					},
					"TmaxUsed": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Configured value of <<param|Tmax>> used in the test. This value is expressed in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"TestInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Duration of the test (either downlink or uplink). This value is expected to equal <<param|TestSubInterval>> * <<param|NumberTestSubIntervals>>. This value is expressed in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"MaxIPLayerCapacity": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The maximum IP-Layer Capacity metric from among all <<param|IncrementalResult.<i>.IPLayerCapacity>> values measured between <<param|BOMTime>> and <<param|EOMTime>> across all connections for this test. This is calculated according to <<bibref|TR-471>> Equation 1. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
						"datatype": "decimal"
					},
					"TimeOfMax": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Time in UTC of end of the sub-interval when <<param|MaxIPLayerCapacity>> was measured. If the value of <<param|MaxIPLayerCapacity>> occurred in multiple sub-intervals, this MUST be the earliest of these sub-intervals. Value MUST be specified to <<param|TimestampResolution>> precision. For example: 2008-04-09T15:01:05.123456Z",
						"datatype": "dateTime"
					},
					"MaxETHCapacityNoFCS": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Results of measurements using the Maximum IP-Layer Capacity metric, according to <<bibref|TR-471>> Equation 1, and calculations to estimate the capacity at Layer 2 with Preamble and Inter-frame gap, but no ETH Frame Check Sequence. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
						"datatype": "decimal"
					},
					"MaxETHCapacityWithFCS": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Results of measurements using the Maximum IP-Layer Capacity metric, according to <<bibref|TR-471>> Equation 1, and calculations to estimate the capacity at Layer 2 with ETH Frame Check Sequence. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
						"datatype": "decimal"
					},
					"MaxETHCapacityWithFCSVLAN": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Results of measurements using the Maximum IP-Layer Capacity metric, according to <<bibref|TR-471>> Equation 1, and calculations to estimate the capacity at Layer 2 with ETH Frame Check Sequence and VLAN tag. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
						"datatype": "decimal"
					},
					"LossRatioAtMax": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Ratio of lost packets to total packets during sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"RTTRangeAtMax": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The range of Round Trip Time (RTT) during sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"PDVRangeAtMax": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The range of Packet Delay Variation (PDV) during sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"MinOnewayDelayAtMax": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The minimum one-way delay during the sub-interval of <<param|MaxIPLayerCapacity>>. The minimum one-way delay is calculated at the conclusion of the test and SHALL be calculated using the conditional distribution of all packets with a finite one-way delay value (undefined delays are excluded). This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"ReorderedRatioAtMax": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Ratio of reordered packets to total packets during the sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"ReplicatedRatioAtMax": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Ratio of replicated packets to total packets during the sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"RTTMinAtMax": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The value of minimum Round Trip Time (RTT) during the sub interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"RTTMaxAtMax": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The value of maximum Round Trip Time (RTT) during the sub interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"InterfaceEthMbpsAtMax": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The number of bits observed on the Interface during an IP-Layer Capacity test for time interval of duration <<param|TestSubInterval>> ending at <<param|IncrementalResult.<i>.TimeOfSubInterval>> corresponding to the <<param|MaxIPLayerCapacity>>, divided by the duration of <<param|TestSubInterval>>. Result is expressed in Mbps with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>. This is primarily a diagnostic measurement. Measurement direction follows the <<param|Role>>.",
						"datatype": "decimal"
					},
					"IPLayerCapacitySummary": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The IP-Layer Capacity metric from among all <<param|IncrementalResult.<i>.IPLayerCapacity>> values measured between <<param|BOMTime>> and <<param|EOMTime>> across all connections for this test. This is calculated according to <<bibref|TR-471>> Equation 1. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
						"datatype": "decimal"
					},
					"LossRatioSummary": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Ratio of lost packets to total packets during the complete <<param|TestInterval>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"RTTRangeSummary": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The range of measured Round Trip Time (RTT) during the complete <<param|TestInterval>>. This value is expressed in <<units>>, as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"PDVRangeSummary": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The range of Packet Delay Variation (PDV) during the complete <<param|TestInterval>>. This value is expressed in <<units>>, as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"MinOnewayDelaySummary": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The minimum one-way delay during the complete <<param|TestInterval>>. This value is expressed in <<units>>, as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"MinRTTSummary": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The minimum RTT during the complete <<param|TestInterval>>. This value is expressed in <<units>>, as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"ReorderedRatioSummary": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Ratio of reordered packets to total packets during the complete <<param|TestInterval>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"ReplicatedRatioSummary": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Ratio of replicated packets to total packets during the complete <<param|TestInterval>>. This value is expressed as a decimal to 9 decimal digits.",
						"datatype": "decimal"
					},
					"InterfaceEthMbpsSummary": {
						"type": "decimal",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The number of bits observed on the <<param|Interface>> during an IP-Layer Capacity test for the entire time interval of duration <<param|TestInterval>>, divided by the duration of <<param|TestInterval>>. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>. This is primarily a diagnostic measurement. Measurement direction follows the <<param|Role>>.",
						"datatype": "decimal"
					},
					"TmaxRTTUsed": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Configured value of <<param|TmaxRTT>> used in the test. This value is expressed in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"TimestampResolutionUsed": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the timestamp resolution of reported results. This is a function of the measurement protocol, and it is usually determined once the protocol chosen. Value specified in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"ActiveFlows": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of flows set-up and used for a test.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0
							}
						]
					},
					"Device.IP.Diagnostics.IPLayerCapacityMetrics.IPLayerCapacityAuthCode.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Authentication Code table containing list of keys to be used by the client when connecting to the server.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"AuthenticationKey": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "A passphrase that is used by the client to authenticate with the server.",
							"datatype": "string"
						}
					},
					"Device.IP.Diagnostics.IPLayerCapacityMetrics.ModalResult.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Modal test results. Only returned when bimodal test mode is enabled (<<param|#.NumberFirstModeTestSubIntervals>> >=1). If returned, it MUST contain 1 or more entries, with instance number 1 corresponding to the second mode and instance number 2 corresponding to the third mode. Results for the Maximum in each mode/instance are calculated based on <<object|#.IncrementalResult.<i>.>> data within the boundary of its corresponding mode.",
						"access": false,
						"array": true,
						"MaxIPLayerCapacity": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The maximum IP-Layer Capacity metric from among all <<param|#.IncrementalResult.<i>.IPLayerCapacity>> values within corresponding mode across all connections for this test. This is calculated according to <<bibref|TR-471>> Equation 1. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"TimeOfMax": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Time in UTC of end of the sub-interval when <<param|MaxIPLayerCapacity>> was measured. If the value of <<param|MaxIPLayerCapacity>> occurred in multiple sub-intervals, this MUST be the earliest of these sub-intervals. Value MUST be specified to <<param|#.TimestampResolution>> precision. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						},
						"MaxETHCapacityNoFCS": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Results of measurements using the Maximum IP-Layer Capacity metric, according to <<bibref|TR-471>> Equation 1, and calculations to estimate the capacity at Layer 2 with Preamble and Inter-frame gap, but no ETH Frame Check Sequence. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"MaxETHCapacityWithFCS": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Results of measurements using the Maximum IP-Layer Capacity metric, according to <<bibref|TR-471>> Equation 1, and calculations to estimate the capacity at Layer 2 with ETH Frame Check Sequence. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"MaxETHCapacityWithFCSVLAN": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Results of measurements using the Maximum IP-Layer Capacity metric, according to <<bibref|TR-471>> Equation 1, and calculations to estimate the capacity at Layer 2 with ETH Frame Check Sequence and VLAN tag. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"LossRatioAtMax": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Ratio of lost packets to total packets during sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"RTTRangeAtMax": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The range of Round Trip Time (RTT) during sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"PDVRangeAtMax": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The range of Packet Delay Variation (PDV) during sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"MinOnewayDelayAtMax": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The minimum one-way delay during the sub-interval of <<param|MaxIPLayerCapacity>>. The minimum one-way delay is calculated at the conclusion of the test and SHALL be calculated using the conditional distribution of all packets with a finite one-way delay value (undefined delays are excluded). This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"ReorderedRatioAtMax": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Ratio of reordered packets to total packets during the sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"ReplicatedRatioAtMax": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Ratio of replicated packets to total packets during the sub-interval of <<param|MaxIPLayerCapacity>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"InterfaceEthMbpsAtMax": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The number of bits observed on the <<param|#.Interface>> during an IP-Layer Capacity test for time interval of duration <<param|#.TestSubInterval>> ending at <<param|#.IncrementalResult.<i>.TimeOfSubInterval>> corresponding to the <<param|MaxIPLayerCapacity>>, divided by the duration of <<param|#.TestSubInterval>>. Result is expressed in Mbps with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>. This is primarily a diagnostic measurement. Measurement direction follows the <<param|#.Role>>.",
							"datatype": "decimal"
						}
					},
					"Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Results for time segmented tests (tests where <<param|#.NumberTestSubIntervals>> > 1). This data is calculated across all connections in the test. A new object is created every <<param|#.TestSubInterval>> after that interval has completed. Instance numbers MUST start at 1 and sequentially increment as new instances are created. All instances are removed when new test is started or results are otherwise cleared.",
						"access": false,
						"array": true,
						"IPLayerCapacity": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Results of measurements using the maximum IP-Layer Capacity metric calculation for a single interval from <<bibref|TR-471>> Equation 1, for time interval of duration <<param|#.TestSubInterval>> ending at <<param|TimeOfSubInterval>> across all connections for this test. Result is expressed in <<units>> with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>.",
							"datatype": "decimal"
						},
						"TimeOfSubInterval": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Time in UTC of end of sub-interval when <<param|IPLayerCapacity>> was measured. Value MUST be specified to <<param|#.TimestampResolution>> precision. For example: 2008-04-09T15:01:05.123456Z",
							"datatype": "dateTime"
						},
						"LossRatio": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Ratio of lost packets to total packets, for time interval of duration <<param|#.TestSubInterval>> ending at <<param|TimeOfSubInterval>> across all connections for this test. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"RTTRange": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The range of Round Trip Time (RTT), for time interval of duration <<param|#.TestSubInterval>> ending at <<param|TimeOfSubInterval>> across all connections for this test. See <<bibref|TR-471>> for description of how value is calculated. This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"PDVRange": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The range of Packet Delay Variation (PDV), for time interval of duration <<param|#.TestSubInterval>> ending at <<param|TimeOfSubInterval>> across all connections for this test. See <<bibref|TR-471>> for description of how value is calculated. This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"MinOnewayDelay": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The minimum one-way delay, for time interval of duration <<param|#.TestSubInterval>> ending at <<param|TimeOfSubInterval>> across all connections for this test. The minimum one-way delay is calculated at the conclusion of the test and SHALL be calculated using the conditional distribution of all packets with a finite one-way delay value (undefined delays are excluded). This value is expressed in <<units>>. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"ReorderedRatio": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Ratio of reordered packets to total packets, for time interval of duration <<param|#.TestSubInterval>> ending at <<param|TimeOfSubInterval>> across all connections for this test. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"ReplicatedRatio": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Ratio of replicated packets to total packets, for time interval of duration <<param|#.TestSubInterval>> ending at <<param|TimeOfSubInterval>> across all connections for this test. This value is expressed as a decimal to 9 decimal digits.",
							"datatype": "decimal"
						},
						"InterfaceEthMbps": {
							"type": "decimal",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The number of bits observed on the <<param|#.Interface>> during an IP-Layer Capacity test for time interval of duration <<param|#.TestSubInterval>> ending at <<param|TimeOfSubInterval>>, divided by the duration of <<param|#.TestSubInterval>>. Result is expressed in Mbps with 2 digits beyond the decimal. 10^6^ bits/second = 1 <<units>>. This is primarily a diagnostic measurement. Measurement direction follows the <<param|#.Role>>.",
							"datatype": "decimal"
						}
					}
				},
				"Device.IP.Diagnostics.ServerSelectionDiagnostics.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object provides access to a diagnostics test that performs either an ICMP Ping or UDP Echo ping against multiple hosts determining which one has the smallest average response time. There MUST be a ping response to the transmitted ping, or timeout, before the next ping is sent out.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference|the IP-layer interface over which the test is to be performed>> Example: Device.IP.Interface.1 <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ProtocolVersion": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the IP protocol version to be used.",
						"default": "Any",
						"datatype": "string",
						"enumerations": [
							"Any",
							"IPv4",
							"IPv6"
						]
					},
					"Protocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The protocol over which the test is to be performed.",
						"datatype": "string",
						"enumerations": [
							"ICMP",
							"UDP Echo"
						]
					},
					"HostList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Each entry is a Host name or address of a host to ping.",
						"list": {
							"datatype": "string",
							"item": {
								"max": 10
							},
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"NumberOfRepetitions": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Number of repetitions of the ping test to perform for each <<param|HostList>> entry before reporting the results.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Timeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Timeout in <<units>> for each iteration of the ping test where the total number of iterations is the value of <<param|NumberOfRepetitions>> times the number of entities in the <<param|HostList>> Parameter.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "milliseconds"
					},
					"FastestHost": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the Host (one of the items within the <<param|HostList>> Parameter) with the smallest average response time.",
						"datatype": "string"
					},
					"MinimumResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the minimum response time in <<units>> over all repetitions with successful responses of the most recent ping test for the Host identified in <<param|FastestHost>>. Success is defined by the underlying protocol used. If there were no successful responses across all Hosts, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"AverageResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the average response time in <<units>> over all repetitions with successful responses of the most recent ping test for the Host identified in <<param|FastestHost>>. Success is defined by the underlying protocol used. If there were no successful responses across all Hosts, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"MaximumResponseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Result parameter indicating the maximum response time in <<units>> over all repetitions with successful responses of the most recent ping test for the Host identified in <<param|FastestHost>>. Success is defined by the underlying protocol used. If there were no successful responses across all Hosts, this value MUST be zero.",
						"datatype": "unsignedInt",
						"unit": "microseconds"
					},
					"IPAddressUsed": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates which IP address was used to send the request to the host identified in <<param|FastestHost>>.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					}
				},
				"Device.IP.Diagnostics.IPLayerCapacityAuthCode.{i}.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "Authentication Code table containing list of keys to be used by the client when connecting to the server.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
						"datatype": "_AliasUSP"
					},
					"AuthenticationKey": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A passphrase that is used by the client to authenticate with the server.",
						"datatype": "string"
					}
				}
			}
		},
		"Device.LLDP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains Link Layer Discovery Protocol (LLDP) <<bibref|802.1AB-2009>> related objects and parameters.",
			"access": false,
			"array": false,
			"Device.LLDP.Discovery.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object is used for managing the discovery of LLDP devices. The CPE MAY, but need not, retain some or all of the information in this object across reboot.",
				"access": false,
				"array": false,
				"DeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.LLDP.Discovery.Device.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains information about discovered LLDP devices.",
					"uniqueKeys": [
						"ChassisIDSubtype",
						"ChassisID"
					],
					"access": false,
					"array": true,
					"Interface": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|the interface via which the LLDP device was discovered>>",
						"datatype": "string"
					},
					"ChassisIDSubtype": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The chassis identifier subtype, which is included in the value of the LLDPDUs Chassis ID TLV (TLV Type = 1). The following subtype values are defined: * 0 (Reserved) * 1 (Chassis component) * 2 (Interface alias) * 3 (Port component) * 4 (MAC address) * 5 (Network address) * 6 (Interface name) * 7 (Locally assigned) * 8-255 (Reserved) Note: It is assumed that this integer might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. In this case, the Chassis ID is set to the representative MAC address (chassis ID subtype = 4) for HTIP-Ethernet Bridge.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 255
							}
						]
					},
					"ChassisID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The chassis identifier, which is included in the value of the LLDPDUs Chassis ID TLV (TLV Type = 1). Note: It is assumed that this string might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. In this case, the Chassis ID is set to the representative MAC address. If LLDPDUs are sent and received from two or more LLDP agents of the same HTIP-Ethernet Bridge, this value is same in all LLDPDUs.",
						"datatype": "string",
						"range": [
							{
								"min": 1,
								"max": 255
							}
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>>Indicates the full path names of all Host table entries, whether active or inactive, that correspond to this device. When the entries are added to or removed from the Host tables, the value of this parameter MUST be updated accordingly.",
						"list": {
							"datatype": "string",
							"maxsize": 1024,
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"PortNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.LLDP.Discovery.Device.{i}.Port.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This table contains information about ports on discovered LLDP devices.",
						"uniqueKeys": [
							"PortIDSubtype",
							"PortID"
						],
						"access": false,
						"array": true,
						"PortIDSubtype": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The port identifier subtype, which is included in the value of the LLDPDUs Port ID TLV (TLV Type = 2). The following subtype values are defined: * 0 (Reserved) * 1 (Interface alias) * 2 (Port component) * 3 (MAC address) * 4 (Network address) * 5 (Interface name) * 6 (Agent circuit ID) * 7 (Locally assigned) * 8-255 (Reserved)",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 255
								}
							]
						},
						"PortID": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The port identifier, which is included in the value of the LLDPDUs Port ID TLV (TLV Type = 2).",
							"datatype": "string",
							"range": [
								{
									"min": 1,
									"max": 255
								}
							]
						},
						"TTL": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The LLDPDU lifetime (in <<units>>), which is the value of the latest TimeToLive TLV (TLV Type = 3). If this value is 0, it means that the LLDP agent or the MAC service function of the port is stopped.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							],
							"unit": "seconds"
						},
						"PortDescription": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The port description, which is the value of the latest Port Description TLV (TLV Type = 4), or <<empty>> if no Port Description TLV has been received. Note: It is assumed that this string might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. In this case, the parameter value is likely to be one of the names defined in <<bibref|JJ-300.00|Appendix A (List of Interface Standard Names)>>.",
							"datatype": "string",
							"range": [
								{
									"max": 255
								}
							]
						},
						"MACAddressList": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The devices MAC addresses, which are included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127), or <<empty>> if no list of MAC addresses has been received. The parameter is relevant when there is a LLDP device which has a MAC copy function and has two or more MAC addresses. Note: It is assumed that it might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. In this case, the <<bibref|OUI>> in the third octet is E0271A (TTC-OUI) and the organizationally defined subtype in the sixth octet is 3 (MAC Address List).",
							"list": {
								"datatype": "MACAddress",
								"item": {
									"max": 255
								},
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							}
						},
						"LastUpdate": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The date and time at which the last LLDPDU was received for this (<<object|#>>,<<object>>).",
							"datatype": "dateTime"
						},
						"Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The ports link information, which is included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127). Note: It is assumed that this object might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. In this case, the <<bibref|OUI>> in the third octet is E0271A (TTC-OUI) and the organizationally defined subtype in the sixth octet is 2 (Link Information).",
							"access": false,
							"array": false,
							"InterfaceType": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The ports interface type, or 0 if no interface type has been received. Note: It is assumed that it might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. In this case, its an IANA interface type <<bibref|IANAifType>>. For example, IANAifType defines the following interface types for wired line (UTP cable), wireless line, power line, and coaxial cable: * 6 (Wired line) * 71 (Wireless) * 174 (PLC) * 236 (Coaxial cable)",
								"datatype": "unsignedInt"
							},
							"MACForwardingTable": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The ports MAC forwarding table, or the value is <<empty>> if no forwarding table was supplied.",
								"list": {
									"datatype": "MACAddress",
									"item": {
										"max": 255
									},
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								}
							}
						}
					},
					"Device.LLDP.Discovery.Device.{i}.DeviceInformation.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The device information, which is included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127). Note: It is assumed that this object might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. In this case, this table contains the Organizationally Specific TLV (TLV Type = 127) of LLDPDU, in which the <<bibref|OUI>> in the third octet is E0271A (TTC-OUI) and the organizationally defined subtype in the sixth octet is 1 (Device Information).",
						"access": false,
						"array": false,
						"DeviceCategory": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Each list item indicates a device category (e.g.AV_TV and AV_Recorder), or the value is <<empty>> if no device categories were provided. Note: It is assumed that this list might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. Standard HTIP device categories are defined in <<bibref|JJ-300.01>>. In this case, the maximum length of the list is 127 and of each item is 31, and any non-HTIP device categories SHOULD NOT conflict with standard HTIP device categories.",
							"list": {
								"datatype": "string"
							}
						},
						"ManufacturerOUI": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The manufacturer OUI, which is included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127), or <<empty>> if no manufacturer OUI was provided. <<pattern>>",
							"datatype": "string",
							"range": [
								{
									"min": 0,
									"max": 6
								}
							],
							"pattern": [
								"",
								"[0-9A-F]{6}"
							]
						},
						"ModelName": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The model name, which is included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127), or <<empty>> if no model name was provided. Note: It is assumed that this string might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>.",
							"datatype": "string",
							"range": [
								{
									"max": 31
								}
							]
						},
						"ModelNumber": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The model number, which is included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127), or <<empty>> if no model number was provided. Note: It is assumed that this string might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>.",
							"datatype": "string",
							"range": [
								{
									"max": 31
								}
							]
						},
						"VendorSpecificNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.LLDP.Discovery.Device.{i}.DeviceInformation.VendorSpecific.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The vendor-specific device information, which is included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127). <<keys>> Note: It is assumed that this object might be used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. In this case, this table contains the Organizationally Specific TLV (TLV Type = 127) of LLDPDU, in which the <<bibref|OUI>> in the third octet is E0271A (TTC-OUI), the organizationally defined subtype in the sixth octet is 1 (Device Information), and the device information ID in the seventh octet is 255 (Vendor-specific extension field).",
							"uniqueKeys": [
								"OrganizationCode",
								"InformationType"
							],
							"access": false,
							"array": true,
							"OrganizationCode": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The vendor-specific organization code, which is included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127).",
								"datatype": "string",
								"range": [
									{
										"min": 6,
										"max": 6
									}
								],
								"pattern": [
									"[0-9A-F]{6}"
								]
							},
							"InformationType": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The vendor-specific device information type, which is included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127).",
								"datatype": "unsignedInt",
								"range": [
									{
										"max": 255
									}
								]
							},
							"Information": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The vendor-specific device information, which is included in the value of the LLDPDUs Organizationally Specific TLV (TLV Type = 127).",
								"datatype": "string",
								"range": [
									{
										"max": 248
									}
								]
							}
						}
					}
				}
			}
		},
		"Device.IPsec.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "IPsec <<bibref|RFC4301>> object that supports the configuration of Encapsulating Security Payload (ESP) <<bibref|RFC4303>> and Authentication Header (AH) <<bibref|RFC4302>> in tunnel mode <<bibref|RFC4301|Section 3.2>>. Use of IKEv2 <<bibref|RFC5996>> is assumed. The IPsec object does not currently support static configuration of tunnels and child Security Associations (SAs). See the IPsec Theory of Operation <<bibref|TR-181i2|Appendix IX>> for a description of the working of this IPsec data model.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables IPsec.",
				"datatype": "boolean"
			},
			"Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "IPsec status. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
				"datatype": "string",
				"enumerations": [
					"Disabled",
					"Enabled",
					"Error"
				]
			},
			"AHSupported": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates whether or not Authentication Header (AH) <<bibref|RFC4302>> is supported.",
				"datatype": "boolean"
			},
			"IKEv2SupportedEncryptionAlgorithms": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Supported IKEv2 encryption algorithms <<bibref|IKEv2-params|Transform Type 1>>. Enumeration of: DES, 3DES, RC5, IDEA, CAST, BLOWFISH, 3IDEA, AES-CBC, AES-CTR, AES-CCM-8, AES-CCM-12, AES-CCM-16, AES-GCM-8, AES-GCM-12, AES-GCM-16, CAMELLIA-CBC. Note that these are the names from the above reference, transformed as follows: * Leading ENCR_ (when present) discarded because they are all encryption algorithms so its not needed. * Underscores changed to hyphens to preserve names used in existing data models (and because of inconsistent conventions). * Phrases collapsed where unambiguous, e.g. with a(n) NN octet ICV -> -NN. As additional algorithms are added to the above reference, this data model will be extended according to the above conventions.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"DES",
						"3DES",
						"RC5",
						"IDEA",
						"CAST",
						"BLOWFISH",
						"3IDEA",
						"AES-CBC",
						"AES-CTR",
						"AES-CCM-8",
						"AES-CCM-12",
						"AES-CCM-16",
						"AES-GCM-8",
						"AES-GCM-12",
						"AES-GCM-16",
						"CAMELLIA-CBC"
					]
				}
			},
			"ESPSupportedEncryptionAlgorithms": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Supported ESP encryption algorithms <<bibref|IKEv2-params|Transform Type 1>> <<bibref|RFC4835|Section 3.1.1>>. Enumeration of: NULL, DES-IV64, DES, 3DES, RC5, IDEA, CAST, BLOWFISH, 3IDEA, DES-IV32, AES-CBC, AES-CTR, AES-CCM-8, AES-CCM-12, AES-CCM-16, AES-GCM-8, AES-GCM-12, AES-GCM-16, NULL-AUTH-AES-GMAC, CAMELLIA-CBC, CAMELLIA-CTR, CAMELLIA-CCM-8, CAMELLIA-CCM-12, CAMELLIA-CCM-16. Note that these are the names from the above reference, transformed as follows: * Leading ENCR_ (when present) discarded because they are all encryption algorithms so its not needed. * Underscores changed to hyphens to preserve names used in existing data models (and because of inconsistent conventions). * Phrases collapsed where unambiguous, e.g. with a(n) NN octet ICV -> -NN. * Some algorithms with apparently rather specialised application are omitted, e.g. ENCR_NULL_AUTH_AES_GMAC. As additional algorithms are added to the above reference, this data model will be extended according to the above conventions.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"NULL",
						"DES-IV64",
						"DES",
						"3DES",
						"RC5",
						"IDEA",
						"CAST",
						"BLOWFISH",
						"3IDEA",
						"DES-IV32",
						"AES-CBC",
						"AES-CTR",
						"AES-CCM-8",
						"AES-CCM-12",
						"AES-CCM-16",
						"AES-GCM-8",
						"AES-GCM-12",
						"AES-GCM-16",
						"NULL-AUTH-AES-GMAC",
						"CAMELLIA-CBC",
						"CAMELLIA-CTR",
						"CAMELLIA-CCM-8",
						"CAMELLIA-CCM-12",
						"CAMELLIA-CCM-16"
					]
				}
			},
			"IKEv2SupportedPseudoRandomFunctions": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Supported IKEv2 pseudo-random functions <<bibref|IKEv2-params|Transform Type 2>>. Enumeration of: HMAC-MD5, HMAC-SHA1, HMAC-TIGER, AES-128-XCBC, HMAC-SHA2-256, HMAC-SHA2-384, HMAC-SHA2-512, AES-128-CMAC. Note that these are the names from the above reference, transformed as follows: * Leading PRF_ (when present) discarded because they all pseudo-random functions so its not needed. * Underscores changed to hyphens to preserve names used in existing data models. * Hyphen inserted after AES (or other acronym) when immediately followed by a key length. As additional functions are added to the above reference, this data model will be extended according to the above conventions.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"HMAC-MD5",
						"HMAC-SHA1",
						"HMAC-TIGER",
						"AES-128-XCBC",
						"HMAC-SHA2-256",
						"HMAC-SHA2-384",
						"HMAC-SHA2-512",
						"AES-128-CMAC"
					]
				}
			},
			"SupportedIntegrityAlgorithms": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Supported integrity algorithms <<bibref|IKEv2-params|Transform Type 3>>. Enumeration of: NONE, HMAC-MD5-96, HMAC-SHA1-96, DES-MAC, KPDK-MD5, AES-XCBC-96, HMAC-MD5-128, HMAC-SHA1-160, AES-CMAC-96, AES-128-GMAC, AES-192-GMAC, AES-256-GMAC, HMAC-SHA2-256-128, HMAC-SHA2-256-192, HMAC-SHA2-256-256. Note that these are the names from the above reference, transformed as follows: * Leading AUTH_ (when present) discarded because they all authentication (integrity) algorithms so its not needed. * Underscores changed to hyphens to preserve names used in existing data models. As additional algorithms are added to the above reference, this data model will be extended according to the above conventions.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"NONE",
						"HMAC-MD5-96",
						"HMAC-SHA1-96",
						"DES-MAC",
						"KPDK-MD5",
						"AES-XCBC-96",
						"HMAC-MD5-128",
						"HMAC-SHA1-160",
						"AES-CMAC-96",
						"AES-128-GMAC",
						"AES-192-GMAC",
						"AES-256-GMAC",
						"HMAC-SHA2-256-128",
						"HMAC-SHA2-256-192",
						"HMAC-SHA2-256-256"
					]
				}
			},
			"SupportedDiffieHellmanGroupTransforms": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Supported Diffie-Hellman group transforms <<bibref|IKEv2-params|Transform Type 4>>. Enumeration of: NONE, MODP-768, MODP-1024, MODP-1536, MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192, ECP-256, ECP-384, ECP-521, MODP-1024-PRIME-160, MODP-2048-PRIME-224, MODP-2048-PRIME-256, ECP-192, ECP-224. Note that these are the names from the above reference, transformed as follows: * Name (other than NONE) always starts with the type of group, currently MODP or ECP (implies ECP random). * This is followed by -NN, where NN is the group length in bits. * this is followed by -PRIME-NN for groups with prime order subgroups, where NN is the subgroup length in bits. As additional algorithms are added to the above reference, this data model will be extended according to the above conventions.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"NONE",
						"MODP-768",
						"MODP-1024",
						"MODP-1536",
						"MODP-2048",
						"MODP-3072",
						"MODP-4096",
						"MODP-6144",
						"MODP-8192",
						"ECP-256",
						"ECP-384",
						"ECP-521",
						"MODP-1024-PRIME-160",
						"MODP-2048-PRIME-224",
						"MODP-2048-PRIME-256",
						"ECP-192",
						"ECP-224"
					]
				}
			},
			"MaxFilterEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries in the <<object|Filter>> table. A value of 0 means no specific limit.",
				"datatype": "unsignedInt"
			},
			"MaxProfileEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries in the <<object|Profile>> table. A value of 0 means no specific limit.",
				"datatype": "unsignedInt"
			},
			"FilterNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ProfileNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"TunnelNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"IKEv2SANumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.IPsec.Stats.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Global IPsec statistics. These statistics include all IPsec traffic, i.e. all IKEv2 negotiation, IKEv2 SAs and child SAs. The CPE MUST reset global IPsec Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when IPsec is disabled (<<param|#.Enable>> is set to <<false>>) or when IPsec is enabled (<<param|#.Enable>> is set to <<true>>).",
				"access": false,
				"array": false,
				"NegotiationFailures": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of times an IPsec negotiation failure has occurred.",
					"datatype": "StatsCounter32"
				},
				"BytesSent": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> sent by IPsec.",
					"datatype": "StatsCounter64"
				},
				"BytesReceived": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> received by IPsec.",
					"datatype": "StatsCounter64"
				},
				"PacketsSent": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> sent by IPsec.",
					"datatype": "StatsCounter64"
				},
				"PacketsReceived": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> received by IPsec.",
					"datatype": "StatsCounter64"
				},
				"ErrorsSent": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> discarded by IPsec due to any error. This can include packets dropped due to a lack of transmit buffers.",
					"datatype": "StatsCounter32"
				},
				"UnknownSPIErrors": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> discarded by IPsec due to an unknown SPI (Security Parameter Index).",
					"datatype": "StatsCounter32"
				},
				"DecryptionErrors": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> discarded by IPsec due to ESP decryption errors.",
					"datatype": "StatsCounter32"
				},
				"IntegrityErrors": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> discarded by IPsec due to integrity errors.",
					"datatype": "StatsCounter32"
				},
				"ReplayErrors": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> discarded by IPsec due to replay errors.",
					"datatype": "StatsCounter32"
				},
				"PolicyErrors": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> discarded by IPsec due to policy errors.",
					"datatype": "StatsCounter32"
				},
				"OtherReceiveErrors": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The total number of <<units>> discarded by IPsec due to errors other than unknown SPI, decryption, integrity, replay or policy errors. This can include packets dropped due to a lack of receive buffers.",
					"datatype": "StatsCounter32"
				}
			},
			"Device.IPsec.Filter.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Filter table that represents the IPsec Security Policy Database (SPD) <<bibref|RFC4301|Section 4.4.1>> selection criteria. Each (ordered) entry defines a set of selection criteria and references a <<object|#.Profile>> table entry that specifies how matching packets will be processed. SPD filtering is performed for all packets that might need to cross the IPsec boundary <<bibref|RFC4301|Section 3.1>>. Given that IPsec operates at the IP level, this means that SPD filtering conceptually occurs after bridging and before routing. For enabled table entries, if <<param|Interface>> is not a valid reference and <<param|AllInterfaces>> is <<false>>, then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this IPsec Filter table entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this IPsec Filter table entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Order": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each packet, the highest ordered entry that matches the filter criteria is applied. All lower order entries are ignored.",
					"datatype": "Order",
					"range": [
						{
							"min": 1
						}
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. <<reference>> This specifies the ingress interface associated with the entry. It MAY be a layer 1, 2 or 3 interface. However, the types of interfaces for which filters can be instantiated is a local matter to the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AllInterfaces": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. This specifies that all ingress interfaces are associated with the entry. If <<true>>, the value of <<param|Interface>> is ignored since all ingress interfaces are indicated.",
					"default": "false",
					"datatype": "boolean"
				},
				"DestIP": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. Destination IP address. <<empty>> indicates this criterion is not used, i.e. is ANY.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"DestMask": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. Destination IP address mask. If not <<empty>>, only the indicated network portion of the <<param|DestIP>> address is to be used for selection. <<empty>> indicates that the full <<param|DestIP>> address is to be used for selection.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"DestIPExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the rule matches only those packets that match the (masked) <<param|DestIP>> entry, if specified. If <<true>>, the rule matches all packets except those that match the (masked) <<param|DestIP>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourceIP": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. Source IP address. <<empty>> indicates this criterion is not used, i.e. is ANY.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"SourceMask": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. Source IP address mask. If not <<empty>>, only the indicated network portion of the <<param|SourceIP>> address is to be used for selection. <<empty>> indicates that the full <<param|SourceIP>> address is to be used for selection.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"SourceIPExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the rule matches only those packets that match the (masked) <<param|SourceIP>> entry, if specified. If <<true>>, the rule matches all packets except those that match the (masked) <<param|SourceIP>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"Protocol": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. Protocol number. A value of -1 indicates this criterion is not used, i.e. is ANY. Note that <<bibref|RFC4301>> refers to this as the Next Layer Protocol. It is obtained from the IPv4 Protocol or the IPv6 Next Header fields.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 255
						}
					]
				},
				"ProtocolExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the rule matches only those packets that match <<param|Protocol>>, if specified. If <<true>>, the rule matches all packets except those that match <<param|Protocol>>, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DestPort": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. Destination port number. A value of -1 indicates this criterion is not used, i.e. is ANY. The value of this parameter is ignored for protocols that do not use ports, e.g. ICMP (1).",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"DestPortRangeMax": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. If specified, indicates a destination port address range from <<param|DestPort>> through <<param>> (inclusive), in which case <<param>> MUST be greater than or equal to <<param|DestPort>>. A value of -1 indicates that no destination port range is specified.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"DestPortExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the rule matches only those packets that match <<param|DestPort>> (or port range), if specified. If <<true>>, the rule matches all packets except those that match <<param|DestPort>> (or port range), if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourcePort": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. Source port number. A value of -1 indicates this criterion is not used, i.e. is ANY. The value of this parameter is ignored for protocols that do not use ports, e.g. ICMP (1).",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"SourcePortRangeMax": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SPD selection criterion. If specified, indicates a source port address range from <<param|SourcePort>> through <<param>> (inclusive), in which case <<param>> MUST be greater than or equal to <<param|SourcePort>>. A value of -1 indicates that no source port range is specified.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"SourcePortExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the rule matches only those packets that match <<param|SourcePort>> (or port range), if specified. If <<true>>, the rule matches all packets except those that match <<param|SourcePort>> (or port range), if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"ProcessingChoice": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates how packets that match this rule will be processed <<bibref|RFC4301|Section 4.4.1>>.",
					"default": "Bypass",
					"datatype": "string",
					"enumerations": [
						"Discard",
						"Bypass",
						"Protect"
					]
				},
				"Profile": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The profile that defines the IPsec treatment for matching packets. <<reference>> If <<param|ProcessingChoice>> is <<enum|Protect|ProcessingChoice>>, <<param>> MUST NOT be <<empty>>. In this case, if it ever becomes <<empty>>, e.g. because the referenced profile is deleted, this IPsec Filter table entry is invalid and <<param|Status>> MUST be set to <<enum|Error_Misconfigured|Status>>. If <<param|ProcessingChoice>> is not <<enum|Protect|ProcessingChoice>>, <<param>> is ignored. Any changes to the referenced profile will have an immediate effect on any established IPsec tunnels. Such changes will often force IKEv2 sessions and child SAs to be re-established.",
					"datatype": "string"
				}
			},
			"Device.IPsec.Profile.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Profile table that represents the IPsec Security Policy Database (SPD) <<bibref|RFC4301|Section 4.4.1>> processing info. Each entry defines the IPsec treatment for packets that match the <<object|#.Filter>> entries that reference the entry.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"MaxChildSAs": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls the maximum number of child Security Association (SA) pairs that can be negotiated by a single IKEv2 session. If a new child SA pair is needed, but the current IKEv2 session already has <<param>> child SA pairs, an additional IKEv2 session (and therefore an additional IPsec tunnel) will be established. A value of 0 means no specific limit. Note that support for more than one child SA pair per IKEv2 session is OPTIONAL <<bibref|RFC5996|Section 1.3>>.",
					"datatype": "unsignedInt"
				},
				"RemoteEndpoints": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The host name or IP address of the remote IPsec tunnel endpoint. If more than one name/address is supplied, they will be tried in turn, i.e. they are in decreasing order of precedence.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 4
						},
						"range": [
							{
								"max": 64
							}
						]
					}
				},
				"ForwardingPolicy": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the forwarding policy associated with traffic that is associated with this profile. The forwarding policy can be referenced by entries in the <<object|##.Routing.Router.<i>.IPv4Forwarding>> and <<object|##.Routing.Router.<i>.IPv6Forwarding>> tables, and therefore allows SPD selection criteria to influence the forwarding decision.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The child security protocol. This is not to be confused with <<object|#.Filter>>.<<param|#.Filter.<i>.Protocol>>, which is an SPD selector that can select packets that already have AH or ESP headers. <<object>>.<<param>> selects whether AH or ESP will be used when encapsulating a packet.",
					"default": "ESP",
					"datatype": "string",
					"enumerations": [
						"AH",
						"ESP"
					]
				},
				"IKEv2AuthenticationMethod": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IKEv2 CPE authentication method <<bibref|RFC5996|Section 2.15>>. <<reference|an enabled row in the <<object|##.Security.Certificate>> table or in another table that contains appropriate CPE credentials>> If <<empty>>, or the referenced row is disabled or deleted, the CPE chooses the authentication method based on local policy.",
					"datatype": "string"
				},
				"IKEv2AllowedEncryptionAlgorithms": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allowed IKEv2 encryption algorithms.",
					"list": {
						"datatype": "string"
					}
				},
				"ESPAllowedEncryptionAlgorithms": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allowed ESP encryption algorithms.",
					"list": {
						"datatype": "string"
					}
				},
				"IKEv2AllowedPseudoRandomFunctions": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allowed IKEv2 pseudo-random functions.",
					"list": {
						"datatype": "string"
					}
				},
				"IKEv2AllowedIntegrityAlgorithms": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allowed IKEv2 integrity algorithms.",
					"list": {
						"datatype": "string"
					}
				},
				"AHAllowedIntegrityAlgorithms": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allowed AH integrity algorithms <<bibref|IKEv2-params|Transform Type 3>> <<bibref|RFC4835|Section 3.2>>.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				},
				"ESPAllowedIntegrityAlgorithms": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allowed ESP integrity algorithms <<bibref|IKEv2-params|Transform Type 3>> <<bibref|RFC4835|Section 3.1.1>>.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				},
				"IKEv2AllowedDiffieHellmanGroupTransforms": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allowed IKEv2 Diffie-Hellman group transforms.",
					"list": {
						"datatype": "string"
					}
				},
				"IKEv2DeadPeerDetectionTimeout": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IKEv2 Dead Peer Detection (DPD) timeout in <<units>>. <<bibref|RFC5996|section 2.4>>",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"IKEv2NATTKeepaliveTimeout": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IKEv2 NAT traversal (NAT-T) keepalive timeout in <<units>>. <<bibref|RFC3948|Section 4>>",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"AntiReplayWindowSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The size of the AH or ESP Anti-Replay Window. <<bibref|RFC4302|Section B.2>> <<bibref|RFC4303|Section A2>> A value of 0 means that Sequence Number Verification is disabled.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"DoNotFragment": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Controls the value of the Do Not Fragment (DF) bit. <<bibref|RFC4301|Section 8.1>>",
					"datatype": "string",
					"enumerations": [
						"Set",
						"Clear",
						"Copy"
					]
				},
				"DSCPMarkPolicy": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSCP with which to mark the outer IP header for traffic that is associated with this IPsec channel. A value of -1 indicates copy from the incoming packet. A value of -2 indicates automatic marking of DSCP. De-tunneled packets are never re-marked. Automatic DSCP marking behavior is a local matter to the CPE, possibly influenced by other Broadband Forum standards that it supports.",
					"datatype": "int",
					"range": [
						{
							"min": -2,
							"max": 63
						}
					]
				},
				"IKEv2SATrafficLimit": {
					"type": "unsignedLong",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IKEv2 SA lifetime in <<units>>, or zero if there is no traffic constraint on its expiration. If both <<param>> and <<param|IKEv2SATimeLimit>> are non-zero, the IKEv2 SA is deleted when the first limit is reached.",
					"datatype": "unsignedLong",
					"unit": "bytes"
				},
				"IKEv2SATimeLimit": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IKEv2 SA lifetime in <<units>>, or zero if there is no time constraint on its expiration. If both <<param>> and <<param|IKEv2SATrafficLimit>> are non-zero, the IKEv2 SA is deleted when the first limit is reached.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"IKEv2SAExpiryAction": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Action to take when an IKEv2 SA expires, whether as a result of hitting a traffic limit or a time limit.",
					"datatype": "string",
					"enumerations": [
						"Renegotiate",
						"Delete"
					]
				},
				"ChildSATrafficLimit": {
					"type": "unsignedLong",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Child SA lifetime in <<units>>, or zero if there is no traffic constraint on its expiration. If both <<param>> and <<param|ChildSATimeLimit>> are non-zero, the child SA is deleted when the first limit is reached.",
					"datatype": "unsignedLong",
					"unit": "bytes"
				},
				"ChildSATimeLimit": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Child SA lifetime in <<units>>, or zero if there is no time constraint on its expiration. If both <<param>> and <<param|ChildSATrafficLimit>> are non-zero, the child SA is deleted when the first limit is reached.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"ChildSAExpiryAction": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Action to take when a Child SA expires, whether as a result of hitting a traffic limit or a time limit.",
					"datatype": "string",
					"enumerations": [
						"Renegotiate",
						"Delete"
					]
				},
				"SentCPAttrNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.IPsec.Profile.{i}.SentCPAttr.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each instance of this object represents an IKEv2 Configuration Payload (CP) <<bibref|RFC5996|Section 3.15>> Attribute that MUST, if enabled, be sent in IKEv2 CP CFG_REQUEST messages. All such Attributes MUST be listed.",
					"uniqueKeys": [
						"Alias",
						"Type"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Type": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "CP Attribute Type as described in <<bibref|RFC5996|Section 3.15.1>> and defined in <<bibref|IKEv2-params|IKEv2 Configuration Payload Attribute Types>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 32767
							}
						]
					},
					"Value": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A hexbinary encoded CP Attribute Value as described in <<bibref|RFC5996|Section 3.15.1>> and defined in <<bibref|IKEv2-params|IKEv2 Configuration Payload Attribute Types>>.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 65535
							}
						]
					}
				}
			},
			"Device.IPsec.Tunnel.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Represents an IPsec tunnel, i.e. a virtual IP interface that models an IPsec tunnel entry point and exit point. A <<object>> instance always references (and has the same lifetime as) a (<<enum|Tunnel|##.IP.Interface.<i>.Type>>,<<enum|Tunneled|##.IP.Interface.<i>.Type>>) <<object|##.IP.Interface>> pair. The <<object>> instance models the IPsec-specific concepts, the <<enum|Tunnel|##.IP.Interface.<i>.Type>> <<object|##.IP.Interface>> instance models the generic concepts, and the <<enum|Tunneled|##.IP.Interface.<i>.Type>> <<object|##.IP.Interface>> instance exists only so it can be referenced by forwarding or filter rules. <<object>> instances are automatically created (as needed) when <<object|#.Filter>> instances are enabled and disabled. Each instances <<param|Filters>> parameter references the <<object|#.Filter>> instances that require the <<object>> instance to exist. If this list ever becomes <<empty>>, e.g. because all the referenced <<object|#.Filter>> instances have been disabled or deleted, the CPE MAY choose not to delete the <<object>> instance (and its associated (<<enum|Tunnel|##.IP.Interface.<i>.Type>>,<<enum|Tunneled|##.IP.Interface.<i>.Type>>) <<object|##.IP.Interface>> pair). This can be desirable, because <<object|##.QoS.Classification>>, <<object|##.Routing.Router.<i>.IPv4Forwarding>>, <<object|##.Routing.Router.<i>.IPv6Forwarding>> etc instances might be referencing the <<object|##.IP.Interface>> instances.",
				"uniqueKeys": [
					"Alias",
					"TunnelInterface",
					"TunneledInterface"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"TunnelInterface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The corresponding auto-created <<enum|Tunnel|##.IP.Interface.<i>.Type>> <<object|##.IP.Interface>> instance. <<reference||delete>>",
					"datatype": "string"
				},
				"TunneledInterface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The corresponding auto-created <<enum|Tunneled|##.IP.Interface.<i>.Type>> <<object|##.IP.Interface>> instance. <<reference||delete>>",
					"datatype": "string"
				},
				"Filters": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object|#.Filter>> instances that require this <<object>> instance to exist. <<reference>>",
					"list": {
						"datatype": "string"
					}
				},
				"Device.IPsec.Tunnel.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Statistics for this IPsec tunnel, i.e. all traffic that has passed through the tunnel, including IKEv2 negotiation, IKEv2 SA and ChildSA traffic. The CPE MUST reset the tunnels Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the tunnel becomes operationally down due to a previous administrative down (i.e. its associated <<param|###.IP.Interface.<i>.Status>> parameter transitions to a down state after the tunnel has been disabled) or when the tunnel becomes administratively up (i.e. its associated <<param|###.IP.Interface.<i>.Enable>> parameter transition from <<false>> to <<true>>). Note that this object does not include generic statistics that are available in the associated <<object|###.IP.Interface.<i>.Stats>> object.",
					"access": false,
					"array": false,
					"DecryptionErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> discarded due to ESP decryption errors.",
						"datatype": "StatsCounter32"
					},
					"IntegrityErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> discarded due to integrity errors.",
						"datatype": "StatsCounter32"
					},
					"ReplayErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> discarded due to replay errors.",
						"datatype": "StatsCounter32"
					},
					"PolicyErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> discarded due to policy errors.",
						"datatype": "StatsCounter32"
					},
					"OtherReceiveErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> discarded due to errors other than decryption, integrity, replay or policy errors. This can include packets dropped due to a lack of receive buffers.",
						"datatype": "StatsCounter32"
					}
				}
			},
			"Device.IPsec.IKEv2SA.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Represents an IKEv2 Security Association (SA), corresponding to an IKEv2 session. Instances are automatically created and deleted as IKEv2 SAs are created and deleted.",
				"uniqueKeys": [
					"Tunnel",
					"Alias"
				],
				"access": false,
				"array": true,
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the IKEv2 SA.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Tunnel": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The associated <<object|#.Tunnel>> instance. <<reference>> Note that <<param>> is a unique key, i.e only one <<object>> instance is associated with a given <<object|#.Tunnel>> instance. During rekeying <<bibref|RFC5996|Section 2.8>>, a new IKEv2 SA is created and inherits the existing IKEv2 SAs child SAs, then the old IKEv2 SA is deleted. From the management point of view the new and old IKEv2 SAs are the same SA and MUST be modeled using the same <<object>> instance.",
					"datatype": "string"
				},
				"LocalAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The local IP address that this IKEv2 SA was negotiated with. This is assigned via IKEv2 and will also be available via the associated <<object|#.Tunnel>>s <<param|#.Tunnel.<i>.TunnelInterface>> <<object|##.IP.Interface.<i>.IPv4Address>> or <<object|##.IP.Interface.<i>.IPv6Address>> table (as appropriate).",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"RemoteAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP address of the peer that this IKEv2 SA was negotiated with. This will be the IP address of one of the security gateways configured via <<param|#.Profile.<i>.RemoteEndpoints>>.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"EncryptionAlgorithm": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The encryption algorithm applied to traffic carried by this IKEv2 SA. This will be one of the <<param|#.Profile.<i>.IKEv2AllowedEncryptionAlgorithms>> from the <<object|#.Profile>> instance via which this IKEv2 SA was created.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"EncryptionKeyLength": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The length of the encryption key in <<units>> used for the algorithm specified in the <<param|EncryptionAlgorithm>> parameter. The value is 0 if the key length is implicit in the specified algorithm or there is no encryption applied.",
					"datatype": "unsignedInt",
					"unit": "bits"
				},
				"PseudoRandomFunction": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The pseudo-random function used by this IKEv2 SA. This will be one of the <<param|#.Profile.<i>.IKEv2AllowedPseudoRandomFunctions>> from the <<object|#.Profile>> instance via which this IKEv2 SA was created.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"IntegrityAlgorithm": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The integrity algorithm applied to the traffic carried by this IKEv2 SA. This will be one of the <<param|#.Profile.<i>.IKEv2AllowedIntegrityAlgorithms>> from the <<object|#.Profile>> instance via which this IKEv2 SA was created.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"DiffieHellmanGroupTransform": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Diffie-Hellman Group used by this IKEv2 SA. This will be one of the <<param|#.Profile.<i>.IKEv2AllowedDiffieHellmanGroupTransforms>> from the <<object|#.Profile>> instance via which this IKEv2 SA was created.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"CreationTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When this IKEv2 SA was set up.",
					"datatype": "dateTime"
				},
				"NATDetected": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether NAT traversal is supported by the device and, if so, whether a NAT was detected.",
					"datatype": "string",
					"enumerations": [
						"None",
						"Local",
						"Remote",
						"Unsupported"
					]
				},
				"ReceivedCPAttrNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ChildSANumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.IPsec.IKEv2SA.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Statistics for this IKEv2 Security Association (SA). The CPE MUST reset the IKEv2 SAs Stats parameters (unless otherwise stated in individual object or parameter descriptions) whenever the associated <<param|#.Tunnel>> instances Stats parameters are reset.",
					"access": false,
					"array": false,
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> handled in the outbound direction by the IKEv2 SA.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> handled in the inbound direction by the IKEv2 SA.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> handled in the outbound direction by the IKEv2 SA.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> handled in the inbound direction by the IKEv2 SA.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> from this IKEv2 SA discarded for any reason. This can include <<units>> dropped due to a lack of transmit buffer space. Note that this refers to IKE protocol <<units>>, and not to <<units>> carried by other SAs.",
						"datatype": "StatsCounter32"
					},
					"DecryptionErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> to this IKEv2 SA discarded due to decryption errors. Note that this refers to IKEv2 protocol <<units>>, and not to <units>> carried by other SAs.",
						"datatype": "StatsCounter32"
					},
					"IntegrityErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> to this IKEv2 SA discarded due to integrity errors. Note that this refers to IKEv2 protocol <<units>>, and not to <<units>> carried by other SAs.",
						"datatype": "StatsCounter32"
					},
					"OtherReceiveErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> to this IKEv2 SA discarded for reasons other than decryption or integrity errors. This can include <<units>> dropped due to a lack of receive buffer space. Note that this refers to IKEv2 protocol <<units>>, and not to <<units>> carried by other SAs.",
						"datatype": "StatsCounter32"
					}
				},
				"Device.IPsec.IKEv2SA.{i}.ReceivedCPAttr.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is a transitory table that lists all the IKEv2 Configuration Payload (CP) <<bibref|RFC5996|Section 3.15>> Attributes that have been received via CFG_REPLY messages. Table entries are automatically created to correspond with received Attributes. However, it is a local matter to the CPE when to delete old table entries. If the same Attribute is received multiple times, it is up to the CPE to decide which entries to include (i.e. whether the same Attribute will be present multiple times). In order to allow for the same Attribute to be present multiple times within the table, this table has no unique key defined.",
					"access": true,
					"array": true,
					"Type": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "CP Attribute Type as described in <<bibref|RFC5996|Section 3.15.1>> and defined in <<bibref|IKEv2-params|IKEv2 Configuration Payload Attribute Types>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 32767
							}
						]
					},
					"Value": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A hexbinary encoded CP Attribute Value as described in <<bibref|RFC5996|Section 3.15.1>> and defined in <<bibref|IKEv2-params|IKEv2 Configuration Payload Attribute Types>>.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 65535
							}
						]
					}
				},
				"Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents a child Security Association (SA) pair, i.e. an inbound child SA and an outbound child SA.",
					"uniqueKeys": [
						"InboundSPI",
						"OutboundSPI",
						"Alias"
					],
					"access": false,
					"array": true,
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the child SA pair.",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Down",
							"Unknown",
							"Dormant",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"InboundSPI": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The inbound child SAs Security Parameter Index (SPI).",
						"datatype": "unsignedInt"
					},
					"OutboundSPI": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The outbound child SAs Security Parameter Index (SPI).",
						"datatype": "unsignedInt"
					},
					"CreationTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time when the child SA was created.",
						"datatype": "dateTime"
					},
					"Device.IPsec.IKEv2SA.{i}.ChildSA.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Statistics for this child Security Association (SA). The CPE MUST reset the child SAs Stats parameters (unless otherwise stated in individual object or parameter descriptions) whenever the parent <<object|#>> instances Stats parameters are reset.",
						"access": false,
						"array": false,
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> handled by the outbound child SA.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> handled by the inbound child SA.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> handled by the outbound child SA.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> handled by the inbound child SA.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> discarded by the outbound child SA due to any error. This can include compression errors or errors due to a lack of transmit buffers.",
							"datatype": "StatsCounter32"
						},
						"DecryptionErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> discarded by the inbound child SA due to decryption errors.",
							"datatype": "StatsCounter32"
						},
						"IntegrityErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> discarded by the inbound child SA due to integrity errors.",
							"datatype": "StatsCounter32"
						},
						"ReplayErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> discarded by the inbound child SA due to replay errors.",
							"datatype": "StatsCounter32"
						},
						"PolicyErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> discarded by the inbound child SA due to policy errors.",
							"datatype": "StatsCounter32"
						},
						"OtherReceiveErrors": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The number of <<units>> discarded by the inbound child SA due to errors other than decryption, integrity, replay or policy errors. This can include decompression errors or errors due to a lack of receive buffers.",
							"datatype": "StatsCounter32"
						}
					}
				}
			}
		},
		"Device.GRE.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains parameters associated with the Generic Routing Encapsulation (GRE) Tunnel (<<bibref|RFC2784>>) with Key and Sequence Number extensions (<<bibref|RFC2890>>). This object also provides a means to treat packets that are encapsulated within a GRE Tunnel by using a set of <<object|Filter>> objects to determine the treatment of the packet.",
			"access": false,
			"array": false,
			"TunnelNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"FilterNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.GRE.Tunnel.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "GRE Tunnel table, models the GRE Tunnel instance and represents the entry point and exit point of the tunnel in relation to the WAN interface. A <<object>> object has one or more <<object|Interface>> objects that further define the sessions or flows within the tunnel.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the tunnel.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the tunnel.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"RemoteEndpoints": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Fully Qualified Domain Name (FQDN) or IP address of the remote GRE tunnel endpoint. If more than one name/address is supplied, they will be tried in turn, i.e. they are in decreasing order of precedence.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 4
						},
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"KeepAlivePolicy": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The mechanism used to keep the tunnel from timing out at the <<param|ConnectedRemoteEndpoint>>.",
					"default": "None",
					"datatype": "string",
					"enumerations": [
						"ICMP",
						"None"
					]
				},
				"KeepAliveTimeout": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The tunnel keepalive timeout in <<units>>.",
					"default": "10",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"KeepAliveThreshold": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of KeepAlive messages unacknowledged by the <<param|ConnectedRemoteEndpoint>> before the <<object>> is perceived failed.",
					"default": "3",
					"datatype": "unsignedInt"
				},
				"DeliveryHeaderProtocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The protocol used for the delivery header.",
					"datatype": "string",
					"enumerations": [
						"IPv4",
						"IPv6"
					]
				},
				"DefaultDSCPMark": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the specified entries in the <<object|#.Filter>> table do not match this <<object>> object or an instance of the <<object|Interface>> object for this <<object>> object, then the value of this parameter is applied to the delivery header of the packets in this <<object>>.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"ConnectedRemoteEndpoint": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Fully Qualified Domain Name (FQDN) name or IP address of the connected remote GRE tunnel endpoint.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"InterfaceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.GRE.Tunnel.{i}.Interface.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "GRE Interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). The <<object>> object models the GRE Header as defined in <<bibref|RFC2784>> and extensions to the GRE Header as defined in <<bibref|RFC2890>>. The <<object>> object provides a way to discriminate how sessions or flows are encapsulated within the GRE Tunnel. In addition the <<object>> object represents the entry point and exit point of the tunnel in relation to the LAN interface. Unless the Key Identifier of <<bibref|RFC2890>> is supported there is only one instance of this <<object>> object per tunnel.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
						"default": "Down",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Down",
							"Unknown",
							"Dormant",
							"NotPresent",
							"LowerLayerDown",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The textual name of the interface as assigned by the CPE.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"LastChange": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LowerLayers": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
						"default": "[]",
						"list": {
							"datatype": "string",
							"maxsize": 1024
						}
					},
					"ProtocolIdOverride": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Protocol ID assigned to this <<object>>. The Protocol Id is the EtherType value used to identify the encapsulated payload. When set to <<null>> the CPE determines the Protocol Id.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"UseChecksum": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, includes the Checksum field in the GRE header as defined in <<bibref|RFC2784>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"KeyIdentifierGenerationPolicy": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The method used to generate the Key Identifier extension as defined in.<<bibref|RFC2890>>.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Provisioned",
							"CPE_Generated"
						]
					},
					"KeyIdentifier": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When the value of <<param|KeyIdentifierGenerationPolicy>> is <<enum|Provisioned|KeyIdentifierGenerationPolicy>> this <<param>> parameter is used to identify an individual traffic flow within a GRE tunnel, as defined in <<bibref|RFC2890>>.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"UseSequenceNumber": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, includes the SequenceNumber field in the GRE header as defined in <<bibref|RFC2890>>",
						"default": "false",
						"datatype": "boolean"
					},
					"Device.GRE.Tunnel.{i}.Interface.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
						"access": true,
						"array": false,
						"Reset": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
							"datatype": "boolean"
						},
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> that could not be transmitted because of errors. This can include packets dropped due to a lack of transmit buffers.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
							"datatype": "StatsCounter32"
						},
						"UnicastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"DiscardPacketsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"MulticastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"UnicastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"MulticastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"UnknownProtoPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
							"datatype": "StatsCounter32"
						},
						"DiscardChecksumReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received by the tunnel interface that are discarded because of Checksum errors.",
							"datatype": "StatsCounter32"
						},
						"DiscardSequenceNumberReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received by the tunnel interface that are discarded because of Sequence Number errors.",
							"datatype": "StatsCounter32"
						},
						"Reset()": {
							"type": "command",
							"async": false,
							"protocols": [
								"usp"
							]
						}
					}
				},
				"Device.GRE.Tunnel.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Statistics for this GRE tunnel, i.e. all traffic that has passed through the tunnel. The device MUST reset the tunnels Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the tunnel becomes operationally down due to a previous administrative down (i.e., Status parameter transitions to a disabled state after the tunnel has been disabled) or when the tunnel becomes administratively up (i.e. the Enable parameter transitioned from <<false>> to <<true>>).",
					"access": false,
					"array": false,
					"KeepAliveSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of KeepAlive <<units>> sent out the tunnel.",
						"datatype": "StatsCounter32"
					},
					"KeepAliveReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of KeepAlive <<units>> received by the tunnel.",
						"datatype": "StatsCounter32"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> sent by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> sent by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> discarded by the tunnel due to any error. This can include packets dropped due to a lack of transmit buffers.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received by the tunnel that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					}
				}
			},
			"Device.GRE.Filter.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "GRE Filter table. Entries in this table are applied against the packets that are to be encapsulated within the GRE Tunnel based on the following conditions: * If the value of the <<param|AllInterfaces>> is <<true>>, then this entry will be applied to all <<object|#.Tunnel>> and <<object|#.Tunnel.<i>.Interface>> instances. * If the value of <<param|AllInterfaces>> is <<false>> and the value of <<param|Interface>> parameter is a reference to a row in the <<object|#.Tunnel>> table then this entry is applied to all <<object|#.Tunnel.<i>.Interface>> instances of the <<object|#.Tunnel>> reference. * If the value of <<param|AllInterfaces>> is <<false>> and the value of <<param|Interface>> parameter is a reference to a row in the <<object|#.Tunnel.<i>.Interface>> table then this entry is applied to the <<object|#.Tunnel.<i>.Interface>> reference. * If no entries are matched for the packet, then the default treatment (e.g., <<param|#.Tunnel.<i>.DefaultDSCPMark>>) is applied to the packet. For enabled table entries, if <<param|Interface>> is not a valid reference and <<param|AllInterfaces>> is <<false>>, then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this filter.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this filter. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Order": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each packet, the highest ordered entry that matches the filter criteria is applied. All lower order entries are ignored.",
					"datatype": "Order",
					"range": [
						{
							"min": 1
						}
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. <<reference>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AllInterfaces": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. This specifies that all ingress GRE tunnel interfaces are associated with the entry. If <<true>>, the value of <<param|Interface>> is ignored since all ingress GRE tunnel interfaces are indicated.",
					"default": "false",
					"datatype": "boolean"
				},
				"VLANIDCheck": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. Current outer Ethernet VLAN ID as defined in 802.1Q. A value of -1 indicates this criterion is not used for filtering.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"VLANIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the filter includes only those packets that match the <<param|VLANIDCheck>> entry, if specified. If <<true>>, the filter includes all packets except those that match the <<param|VLANIDCheck>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DSCPMarkPolicy": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSCP with which to mark the outer IP header for traffic that is associated with the interface criterion. Automatic DSCP marking behavior is a local matter to the device, possibly influenced by other Broadband Forum standards that it supports. * A value of -1 indicates copy from the upstream packet. * A value of -2 indicates automatic marking of DSCP.",
					"datatype": "int",
					"range": [
						{
							"min": -2,
							"max": 63
						}
					]
				}
			}
		},
		"Device.L2TPv3.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains parameters associated with the configuration and monitoring of stateless tunnels using the Layer Two Tunneling Protocol version 3 (L2TPv3) (<<bibref|RFC3931>>). This object also provides a means to treat packets that are encapsulated within a L2TPv3 Tunnel by using a set of <<object|Filter>> objects to determine the treatment of the packet.",
			"access": false,
			"array": false,
			"TunnelNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"FilterNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.L2TPv3.Tunnel.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "L2TPv3 Tunnel table, models the L2TPv3 Tunnel instance and represents the entry point and exit point of the tunnel in relation to the WAN interface. A <<object>> object has one or more <<object|Interface>> objects that further define the sessions or flows within the tunnel.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the tunnel.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the tunnel.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"RemoteEndpoints": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Fully Qualified Domain Name (FQDN) or IP address of the remote L2TPv3 tunnel endpoint. If more than one name/address is supplied, they will be tried in turn, i.e. they are in decreasing order of precedence.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 4
						},
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"KeepAlivePolicy": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The mechanism used to keep the tunnel from timing out at the <<param|ConnectedRemoteEndpoint>>.",
					"default": "None",
					"datatype": "string",
					"enumerations": [
						"ICMP",
						"None"
					]
				},
				"KeepAliveTimeout": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The tunnel keepalive timeout in <<units>>.",
					"default": "10",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"KeepAliveThreshold": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of KeepAlive messages unacknowledged by the <<param|ConnectedRemoteEndpoint>> before the <<object>> is perceived failed.",
					"default": "3",
					"datatype": "unsignedInt"
				},
				"DeliveryHeaderProtocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The protocol used for the delivery header.",
					"datatype": "string",
					"enumerations": [
						"IPv4",
						"IPv6"
					]
				},
				"DefaultDSCPMark": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the specified entries in the <<object|#.Filter>> table do not match this <<object>> object or an instance of the <<object|Interface>> object for this <<object>> object, then the value of this parameter is applied to the delivery header of the packets in this <<object>>.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"TunnelEncapsulation": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The protocol that this <<object>> will be encapsulated",
					"default": "IP",
					"datatype": "string",
					"enumerations": [
						"IP",
						"UDP"
					]
				},
				"ConnectedRemoteEndpoint": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Fully Qualified Domain Name (FQDN) name or IP address of the connected remote L2TPv3 tunnel endpoint.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"InterfaceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.L2TPv3.Tunnel.{i}.Interface.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "L2TPv3 Interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). The <<object>> object models the L2TPv3 Header as defined in <<bibref|RFC3931>> and the transport of L2 frames across over L2TPv3 as defined in <<bibref|RFC4719>>. The <<object>> object provides a way to discriminate how sessions or flows are encapsulated within the L2TPv3 Tunnel. In addition the <<object>> object represents the entry point and exit point of the tunnel in relation to the LAN interface.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
						"default": "Down",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Down",
							"Unknown",
							"Dormant",
							"NotPresent",
							"LowerLayerDown",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The textual name of the interface as assigned by the CPE.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"LastChange": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LowerLayers": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
						"default": "[]",
						"list": {
							"datatype": "string",
							"maxsize": 1024
						}
					},
					"SessionID": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The unique Session ID to be used in the L2TPv3 header of the tunnel. A Session ID with a value of -1 indicates that he CPE is to generate the session ids for this <<object>> instance.",
						"default": "1",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": -1
							},
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"CookiePolicy": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The policy that defines how the Cookie is handled in this <<object>> instance.",
						"default": "Configured",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Configured",
							"Generated"
						]
					},
					"Cookie": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Cookie transmitted in the L2TPv3 header. The default is to set the Cookie to the devices MAC address that is encoded in the low order 6 bytes.",
						"datatype": "unsignedLong"
					},
					"Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
						"access": true,
						"array": false,
						"Reset": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
							"datatype": "boolean"
						},
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> that could not be transmitted because of errors. This can include packets dropped due to a lack of transmit buffers.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
							"datatype": "StatsCounter32"
						},
						"UnicastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"DiscardPacketsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"MulticastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"UnicastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"MulticastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"UnknownProtoPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
							"datatype": "StatsCounter32"
						},
						"DiscardChecksumReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received by the tunnel interface that are discarded because of Checksum errors.",
							"datatype": "StatsCounter32"
						},
						"DiscardSequenceNumberReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received by the tunnel interface that are discarded because of Sequence Number errors.",
							"datatype": "StatsCounter32"
						},
						"Reset()": {
							"type": "command",
							"async": false,
							"protocols": [
								"usp"
							]
						}
					}
				},
				"Device.L2TPv3.Tunnel.{i}.UDP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This <<object>> provides the parameters when the value of the <<param|##.Tunnel.<i>.TunnelEncapsulation>> parameter is <<enum|UDP|##.Tunnel.<i>.TunnelEncapsulation>>.",
					"access": false,
					"array": false,
					"SourcePort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The source (local) port used to transmit PDUs. A value of 0 indicates that the port selection is performed by the device.",
						"default": "1701",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"RemotePort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The remote port used to by the remote endpoint to transmit PDUs.",
						"default": "1701",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"EnableChecksum": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables checksum processing.",
						"default": "false",
						"datatype": "boolean"
					}
				},
				"Device.L2TPv3.Tunnel.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Statistics for this L2TPv3 tunnel, i.e. all traffic that has passed through the tunnel. The device MUST reset the tunnels Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the tunnel becomes operationally down due to a previous administrative down (i.e., Status parameter transitions to a disabled state after the tunnel has been disabled) or when the tunnel becomes administratively up (i.e. the Enable parameter transitioned from <<false>> to <<true>>).",
					"access": false,
					"array": false,
					"KeepAliveSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of KeepAlive <<units>> sent out the tunnel.",
						"datatype": "StatsCounter32"
					},
					"KeepAliveReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of KeepAlive <<units>> received by the tunnel.",
						"datatype": "StatsCounter32"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> sent by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> sent by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> discarded by the tunnel due to any error. This can include packets dropped due to a lack of transmit buffers.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received by the tunnel that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					}
				}
			},
			"Device.L2TPv3.Filter.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "L2TPv3 Filter table. Entries in this table are applied against the packets that are to be encapsulated within the L2TPv3 Tunnel based on the following conditions: * If the value of the <<param|AllInterfaces>> is <<true>>, then this entry will be applied to all <<object|#.Tunnel>> and <<object|#.Tunnel.<i>.Interface>> instances. * If the value of <<param|AllInterfaces>> is <<false>> and the value of <<param|Interface>> parameter is a reference to a row in the <<object|#.Tunnel>> table then this entry is applied to all <<object|#.Tunnel.<i>.Interface>> instances of the <<object|#.Tunnel>> reference. * If the value of <<param|AllInterfaces>> is <<false>> and the value of <<param|Interface>> parameter is a reference to a row in the <<object|#.Tunnel.<i>.Interface>> table then this entry is applied to the <<object|#.Tunnel.<i>.Interface>> reference. * If no entries are matched for the packet, then the default treatment (e.g., <<param|#.Tunnel.<i>.DefaultDSCPMark>>) is applied to the packet. For enabled table entries, if <<param|Interface>> is not a valid reference and <<param|AllInterfaces>> is <<false>>, then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this filter.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this filter. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Order": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each packet, the highest ordered entry that matches the filter criteria is applied. All lower order entries are ignored.",
					"datatype": "Order",
					"range": [
						{
							"min": 1
						}
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. <<reference>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AllInterfaces": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. This specifies that all ingress L2TPv3 tunnel interfaces are associated with the entry. If <<true>>, the value of <<param|Interface>> is ignored since all ingress L2TPv3 tunnel interfaces are indicated.",
					"default": "false",
					"datatype": "boolean"
				},
				"VLANIDCheck": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. Current outer Ethernet VLAN ID as defined in 802.1Q. A value of -1 indicates this criterion is not used for filtering.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"VLANIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the filter includes only those packets that match the <<param|VLANIDCheck>> entry, if specified. If <<true>>, the filter includes all packets except those that match the <<param|VLANIDCheck>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DSCPMarkPolicy": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSCP with which to mark the outer IP header for traffic that is associated with the interface criterion. Automatic DSCP marking behavior is a local matter to the device, possibly influenced by other Broadband Forum standards that it supports. * A value of -1 indicates copy from the upstream packet. * A value of -2 indicates automatic marking of DSCP.",
					"datatype": "int",
					"range": [
						{
							"min": -2,
							"max": 63
						}
					]
				}
			}
		},
		"Device.VXLAN.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains parameters associated with the configuration and monitoring of stateless tunnels using the Virtual eXtensible Local Area Network (VXLAN) (<<bibref|RFC7348>>). This object also provides a means to treat packets that are encapsulated within a VXLAN Tunnel by using a set of <<object|Filter>> objects to determine the treatment of the packet.",
			"access": false,
			"array": false,
			"TunnelNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"FilterNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.VXLAN.Tunnel.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "VXLAN Tunnel table, models the VXLAN Tunnel instance and represents the entry point and exit point of the tunnel in relation to the WAN interface. A <<object>> object has one or more <<object|Interface>> objects that further define the sessions or flows within the tunnel.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the tunnel.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the tunnel.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"RemoteEndpoints": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Fully Qualified Domain Name (FQDN) or IP address of the remote VXLAN tunnel endpoint. If more than one name/address is supplied, they will be tried in turn, i.e. they are in decreasing order of precedence.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 4
						},
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"KeepAlivePolicy": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The mechanism used to keep the tunnel from timing out at the <<param|ConnectedRemoteEndpoint>>.",
					"default": "None",
					"datatype": "string",
					"enumerations": [
						"ICMP",
						"None"
					]
				},
				"KeepAliveTimeout": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The tunnel keepalive timeout in <<units>>.",
					"default": "10",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"KeepAliveThreshold": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of KeepAlive messages unacknowledged by the <<param|ConnectedRemoteEndpoint>> before the <<object>> is perceived failed.",
					"default": "3",
					"datatype": "unsignedInt"
				},
				"DeliveryHeaderProtocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The protocol used for the delivery header.",
					"datatype": "string",
					"enumerations": [
						"IPv4",
						"IPv6"
					]
				},
				"DefaultDSCPMark": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the specified entries in the <<object|#.Filter>> table do not match this <<object>> object or an instance of the <<object|Interface>> object for this <<object>> object, then the value of this parameter is applied to the delivery header of the packets in this <<object>>.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"ConnectedRemoteEndpoint": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Fully Qualified Domain Name (FQDN) name or IP address of the connected remote VXLAN tunnel endpoint.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"InterfaceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"SourcePort": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The source (local) port used to transmit PDUs. A value of 0 indicates that the port selection is performed by the device. In such case, it is recommended that the UDP source port number be calculated using a hash of fields from the inner packet and that it is in the dynamic/private port range 49152-65535.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"RemotePort": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The remote port used to by the remote endpoint to transmit PDUs. The well-known port allocated by IANA is 4789, but it should be configurable.",
					"default": "4789",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"Device.VXLAN.Tunnel.{i}.Interface.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "VXLAN Interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). The <<object>> object models the VXLAN Header as defined in <<bibref|RFC7348>> for the transport of L2 frames across over VXLAN. The <<object>> object provides a way to discriminate how multiple LAN segments are encapsulated within the VXLAN Tunnel. In addition the <<object>> object represents the entry point and exit point of the tunnel in relation to the LAN interface.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
						"default": "Down",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Down",
							"Unknown",
							"Dormant",
							"NotPresent",
							"LowerLayerDown",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The textual name of the interface as assigned by the CPE.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"LastChange": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LowerLayers": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
						"default": "[]",
						"list": {
							"datatype": "string",
							"maxsize": 1024
						}
					},
					"VNI": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The unique Virtual Network Identifier (VNI) to be used in the VXLAN header of the tunnel. A VNI with a value of -1 indicates that the CPE is to generate the VNI for this <<object>> instance.",
						"default": "1",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": -1
							},
							{
								"min": 0,
								"max": 16777215
							}
						]
					},
					"Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
						"access": true,
						"array": false,
						"Reset": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
							"datatype": "boolean"
						},
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> that could not be transmitted because of errors. This can include packets dropped due to a lack of transmit buffers.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
							"datatype": "StatsCounter32"
						},
						"UnicastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"DiscardPacketsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"MulticastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"UnicastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"MulticastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"UnknownProtoPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
							"datatype": "StatsCounter32"
						},
						"DiscardChecksumReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received by the tunnel interface that are discarded because of Checksum errors.",
							"datatype": "StatsCounter32"
						},
						"DiscardSequenceNumberReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received by the tunnel interface that are discarded because of Sequence Number errors.",
							"datatype": "StatsCounter32"
						},
						"Reset()": {
							"type": "command",
							"async": false,
							"protocols": [
								"usp"
							]
						}
					}
				},
				"Device.VXLAN.Tunnel.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Statistics for this VXLAN tunnel, i.e. all traffic that has passed through the tunnel. The device MUST reset the tunnels Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the tunnel becomes operationally down due to a previous administrative down (i.e., Status parameter transitions to a disabled state after the tunnel has been disabled) or when the tunnel becomes administratively up (i.e. the Enable parameter transitioned from <<false>> to <<true>>).",
					"access": false,
					"array": false,
					"KeepAliveSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of KeepAlive <<units>> sent out the tunnel.",
						"datatype": "StatsCounter32"
					},
					"KeepAliveReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of KeepAlive <<units>> received by the tunnel.",
						"datatype": "StatsCounter32"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> sent by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> sent by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received by the tunnel.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> discarded by the tunnel due to any error. This can include packets dropped due to a lack of transmit buffers.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received by the tunnel that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					}
				}
			},
			"Device.VXLAN.Filter.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "VXLAN Filter table. Entries in this table are applied against the packets that are to be encapsulated within the VXLAN Tunnel based on the following conditions: * If the value of the <<param|AllInterfaces>> is <<true>>, then this entry will be applied to all <<object|#.Tunnel>> and <<object|#.Tunnel.<i>.Interface>> instances. * If the value of <<param|AllInterfaces>> is <<false>> and the value of <<param|Interface>> parameter is a reference to a row in the <<object|#.Tunnel>> table then this entry is applied to all <<object|#.Tunnel.<i>.Interface>> instances of the <<object|#.Tunnel>> reference. * If the value of <<param|AllInterfaces>> is <<false>> and the value of <<param|Interface>> parameter is a reference to a row in the <<object|#.Tunnel.<i>.Interface>> table then this entry is applied to the <<object|#.Tunnel.<i>.Interface>> reference. * If no entries are matched for the packet, then the default treatment (e.g., <<param|#.Tunnel.<i>.DefaultDSCPMark>>) is applied to the packet. For enabled table entries, if <<param|Interface>> is not a valid reference and <<param|AllInterfaces>> is <<false>>, then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this filter.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this filter. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Order": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each packet, the highest ordered entry that matches the filter criteria is applied. All lower order entries are ignored.",
					"datatype": "Order",
					"range": [
						{
							"min": 1
						}
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. <<reference>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AllInterfaces": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. This specifies that all ingress VXLAN tunnel interfaces are associated with the entry. If <<true>>, the value of <<param|Interface>> is ignored since all ingress VXLAN tunnel interfaces are indicated.",
					"default": "false",
					"datatype": "boolean"
				},
				"VLANIDCheck": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Filter criterion. Current outer Ethernet VLAN ID as defined in 802.1Q. A value of -1 indicates this criterion is not used for filtering.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"VLANIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the filter includes only those packets that match the <<param|VLANIDCheck>> entry, if specified. If <<true>>, the filter includes all packets except those that match the <<param|VLANIDCheck>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DSCPMarkPolicy": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSCP with which to mark the outer IP header for traffic that is associated with the interface criterion. Automatic DSCP marking behavior is a local matter to the device, possibly influenced by other Broadband Forum standards that it supports. * A value of -1 indicates copy from the upstream packet. * A value of -2 indicates automatic marking of DSCP.",
					"datatype": "int",
					"range": [
						{
							"min": -2,
							"max": 63
						}
					]
				}
			}
		},
		"Device.MAP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The Mapping of Address and Port (MAP) object <<bibref|RFC7597>> <<bibref|RFC7599>> <<bibref|RFC7598>>. This object applies only to gateway devices that support IPv4 on the LAN side, include a <<object|#.NAT>>, and typically have only IPv6 connectivity on the WAN side. See the MAP Theory of Operation <<bibref|TR-181i2|Appendix XV>> for a description of the working of this MAP data model.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables MAP.",
				"datatype": "boolean"
			},
			"DomainNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.MAP.Domain.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "MAP domain settings <<bibref|RFC7597>> <<bibref|RFC7599>>. Each instance models a MAP domain. MAP supports two transport modes, both of which use NAPT44 (modified to use a restricted port range): * MAP-E (<<param|TransportMode>> = <<enum|Encapsulation|TransportMode>>) uses an IPv4-in-IPv6 tunnel. * MAP-T (<<param|TransportMode>> = <<enum|Translation|TransportMode>>) uses stateless NAT64. Note: There is an n:1 relationship between a MAP domain and the associated <<param|WANInterface>>, i.e. in theory multiple MAP domains can be associated with a single WAN IP interface (each domain would have its own End-user IPv6 prefix and MAP IPv6 address). Note: The <<object>> table includes unique key parameters that are strong references. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"WANInterface",
					"IPv6Prefix"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the MAP domain.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the MAP domain. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"TransportMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The transport mode to use. Corresponds to the <<bibref|RFC7598>> S46_CONT_MAPE and S46_CONT_MAPT container options.",
					"default": "Translation",
					"datatype": "string",
					"enumerations": [
						"Encapsulation",
						"Translation"
					]
				},
				"WANInterface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP interface with which this MAP domain is associated. This will always be a NAT-ted upstream (WAN) interface. The End-user IPv6 prefix <<param|IPv6Prefix>> is one of this IP interfaces prefixes. The MAP IPv6 address is derived from the End-user IPv6 prefix and is one of this IP interfaces IP addresses, with an <<param|##.IP.Interface.<i>.IPv6Address.<i>.Origin>> of <<enum|MAP|##.IP.Interface.<i>.IPv6Address.<i>.Origin>>.",
					"datatype": "string"
				},
				"IPv6Prefix": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAP domains End-user IPv6 prefix. This MUST reference one of <<param|WANInterface>>s prefixes. If the Controller configures this prefix directly, the CPE MUST use the Controller-configured prefix. Otherwise, the CPE MUST select one of <<param|WANInterface>>s prefixes; the selected prefix will typically have <<param|##.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> = <<enum|PrefixDelegation|##.IP.Interface.<i>.IPv6Prefix.<i>.Origin>>.",
					"datatype": "string"
				},
				"BRIPv6Prefix": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAP Border Relay (BR) address or prefix. * For MAP-E this is the BR address and therefore MUST be a /128 <<bibref|RFC7597>>. Note this address can be an IPv6 anycast address. This address corresponds to the <<bibref|RFC7598>> OPTION_S46_BR (Border Relay) option. * For MAP-T this is the BR prefix <<bibref|RFC7599>>. This address prefix corresponds to the <<bibref|RFC7598>> OPTION_S46_DMR (Default Mapping Rule) option. Note: There will be a corresponding <<object|##.Routing.Router.<i>.IPv4Forwarding>> default rule.",
					"datatype": "IPv6Prefix"
				},
				"DSCPMarkPolicy": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSCP with which to mark the outer IP header for traffic that is associated with this MAP domain. Downstream packets are never re-marked. Automatic DSCP marking behavior is a local matter to the device, possibly influenced by other Broadband Forum standards that it supports. * A value of -1 indicates copy from the incoming packet. * A value of -2 indicates automatic marking of DSCP.",
					"datatype": "int",
					"range": [
						{
							"min": -2,
							"max": 63
						}
					]
				},
				"PSIDOffset": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Port-set ID (PSID) offset in <<units>>. The number of Port-sets is 2^<<param>>^. Corresponds to the <<bibref|RFC7598>> S46_PORTPARAMS (Port Parameters) options offset field. <<deprecated|2.12|because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <<object|Rule.<i>.>> object>> <<obsoleted|2.14-2.17>> <<deleted|2.18>>",
					"default": "6",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 15
						}
					],
					"unit": "bits"
				},
				"PSIDLength": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The length in <<units>> of the Port-set id (PSID) configured in the <<param|PSID>> parameter. Corresponds to the <<bibref|RFC7598>> S46_PORTPARAMS (Port Parameters) options PSID-len field. <<deprecated|2.12|because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <<object|Rule.<i>.>> object>> <<obsoleted|2.14-2.17>> <<deleted|2.18>>",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 16
						}
					],
					"unit": "bits"
				},
				"PSID": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Port-set ID (PSID) to use in preference to the value extracted from the Embedded Address (EA) bits. Only the high order <<param|PSIDLength>> bits of the <<param>> value are used, so the parameter is ignored when <<param|PSIDLength>> is zero. Corresponds to the <<bibref|RFC7598>> S46_PORTPARAMS (Port Parameters) options PSID field. <<deprecated|2.12|because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <<object|Rule.<i>.>> object>> <<obsoleted|2.14-2.17>> <<deleted|2.18>>",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"IncludeSystemPorts": {
					"type": "boolean",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether to include low-numbered (system) ports in the Port-sets. Normally ports in the range [0:2^(16-<<param|PSIDOffset|deleted>>)^-1] are excluded, e.g. for the default <<param|PSIDOffset|deleted>> value of 6, ports [0:1023] are not included in the Port-sets. This parameter is related to <<bibref|RFC7597>>s N, which is defined as the number of ports (e.g., 1024) excluded from the lower end of the range. The parameter is relevant only when <<param|PSIDOffset|deleted>> is 0; <<false>> corresponds to N=1024 and <<true>> corresponds to N=0. <<deprecated|2.15|because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <<object|Rule.<i>.>> object>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"default": "false",
					"datatype": "boolean"
				},
				"RuleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.MAP.Domain.{i}.Interface.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "MAP interface (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This models the LAN side MAP domain interface.",
					"access": true,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
						"default": "Down",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Down",
							"Unknown",
							"Dormant",
							"NotPresent",
							"LowerLayerDown",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. <<deprecated|2.18|because <<object|#>> already has an Alias parameter.>>",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The textual name of the interface as assigned by the CPE.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"LastChange": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LowerLayers": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since this interface object is a MAP domain interface, it is expected that <<param>> will not be used.",
						"default": "[]",
						"list": {
							"datatype": "string",
							"maxsize": 1024
						}
					},
					"Device.MAP.Domain.{i}.Interface.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
						"access": true,
						"array": false,
						"Reset": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
							"datatype": "boolean"
						},
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
							"datatype": "StatsCounter32"
						},
						"UnicastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"DiscardPacketsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"MulticastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"UnicastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"MulticastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent. Note that IPv6 does not define broadcast addresses, so IPv6 <<units>> will never cause this counter to increment.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer. Note that IPv6 does not define broadcast addresses, so IPv6 <<units>> will never cause this counter to increment.",
							"datatype": "StatsCounter64"
						},
						"UnknownProtoPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
							"datatype": "StatsCounter32"
						},
						"Reset()": {
							"type": "command",
							"async": false,
							"protocols": [
								"usp"
							]
						}
					}
				},
				"Device.MAP.Domain.{i}.Rule.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAP domains Mapping Rules <<bibref|RFC7597>>. The rule with the longest match between its <<param|IPv6Prefix>> and the end-user <<param|#.IPv6Prefix>> is the Basic Mapping Rule (BMR). Any of the rules (including the BMR) can be a Forwarding Mapping Rule.",
					"uniqueKeys": [
						"Alias",
						"IPv6Prefix",
						"IPv4Prefix"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enable or disable this <<object>> instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this <<object>> instance. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Origin": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The mechanism via which the <<object>> was created. If the CPE supports MAP configuration via both DHCPv6 and CWMP, it is up to the implementation to determine how the two mechanisms will interact.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"DHCPv6",
							"Static"
						]
					},
					"IPv6Prefix": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Rule IPv6 prefix. The Rule IPv6 prefix is a leading part of the end-user <<param|#.IPv6Prefix>>, i.e. its length MUST be less than or equal to the length of the end-user IPv6Prefix, and it MUST match the end-user IPv6Prefix. Corresponds to the <<bibref|RFC7598>> S46_RULE options ipv6-prefix field.",
						"default": "/0",
						"datatype": "IPv6Prefix"
					},
					"IPv4Prefix": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Rule IPv4 prefix. Corresponds to the <<bibref|RFC7598>> S46_RULE options ipv4-prefix field.",
						"default": "/0",
						"datatype": "IPv4Prefix",
						"range": [
							{
								"max": 18
							}
						],
						"pattern": [
							"",
							"/(3[0-2]|[012]?[0-9])",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])/(3[0-2]|[012]?[0-9])"
						]
					},
					"EABitsLength": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The length in <<units>> of the Embedded Address (EA) bits in the end-user <<param|#.IPv6Prefix>>. Corresponds to the <<bibref|RFC7598>> S46_RULE options ea-len field.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 48
							}
						],
						"unit": "bits"
					},
					"IsFMR": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates whether this rule is a Forwarding Mapping Rule (FMR), i.e. can be used for forwarding. Corresponds to the <<bibref|RFC7598>> S46_RULE options flags fields F-Flag.",
						"default": "false",
						"datatype": "boolean"
					},
					"PSIDOffset": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port-set ID (PSID) offset in <<units>>. The number of Port-sets is 2^<<param>>^. Corresponds to the <<bibref|RFC7598>> S46_PORTPARAMS (Port Parameters) options offset field.",
						"default": "6",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 15
							}
						],
						"unit": "bits"
					},
					"PSIDLength": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The length in <<units>> of the Port-set id (PSID) configured in the <<param|PSID>> parameter. Corresponds to the <<bibref|RFC7598>> S46_PORTPARAMS (Port Parameters) options PSID-len field.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 16
							}
						],
						"unit": "bits"
					},
					"PSID": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port-set ID (PSID) to use in preference to the value extracted from the Embedded Address (EA) bits. Only the high order <<param|PSIDLength>> bits of the <<param>> value are used, so the parameter is ignored when <<param|PSIDLength>> is zero. Corresponds to the <<bibref|RFC7598>> S46_PORTPARAMS (Port Parameters) options PSID field.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"IncludeSystemPorts": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether to include low-numbered (system) ports in the Port-sets. Normally ports in the range [0:2^(16-<<param|PSIDOffset>>)^-1] are excluded, e.g. for the default <<param|PSIDOffset>> value of 6, ports [0:1023] are not included in the Port-sets. This parameter is related to <<bibref|RFC7597>>s N, which is defined as the number of ports (e.g., 1024) excluded from the lower end of the range. The parameter is relevant only when <<param|PSIDOffset>> is 0; <<false>> corresponds to N=1024 and <<true>> corresponds to N=0.",
						"default": "false",
						"datatype": "boolean"
					}
				}
			}
		},
		"Device.CaptivePortal.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains parameters relating to the captive portal configuration on the CPE. The captive portal configuration defines the CPEs upstream HTTP (port 80) traffic redirect behavior. When the captive portal is disabled, upstream HTTP (port 80) traffic MUST be permitted to all destinations. When the captive portal is enabled, upstream HTTP (port 80) traffic MUST be permitted only to destinations listed in the <<param|AllowedList>>; traffic to all other destinations MUST be redirected to the <<param|URL>>.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables the captive portal.",
				"datatype": "boolean"
			},
			"Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates the status of the captive portal. Enumeration of: Disabled, Enabled, Error_URLEmpty, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
				"datatype": "string",
				"enumerations": [
					"Disabled",
					"Enabled",
					"Error_URLEmpty",
					"Error"
				]
			},
			"AllowedList": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<list>> List items represent Fully Qualified Domain Names (FQDNs) or IP addresses to which HTTP (port 80) traffic MUST always be permitted, regardless of whether the captive portal is enabled. Each entry in the list MUST be either an FQDN, IP address, or an IP prefix specified using Classless Inter-Domain Routing (CIDR) notation <<bibref|RFC4632>>. An IP prefix is specified as an IP address followed (with no intervening white space) by /n, where n (the prefix size) is an integer in the range 0-32 (for IPv4) or 0-128 (for IPv6) that indicates the number of (leftmost) 1 bits of the prefix. IPv4 example: * 1.2.3.4 specifies a single IPv4 address, and 1.2.3.4/24 specifies a class C subnet with subnet mask 255.255.255.0. * 1.2.0.0/22 represents the 1024 IPv4 addresses from 1.2.0.0 to 1.2.3.255. IPv6 example: * fec0::220:edff:fe6a:f76 specifies a single IPv6 address. * 2001:edff:fe6a:f76::/64 represents the IPv6 addresses from 2001:edff:fe6a:f76:0:0:0:0 to 2001:edff:fe6a:f76:ffff:ffff:ffff:ffff.",
				"list": {
					"datatype": "string",
					"item": {
						"max": 10000
					}
				}
			},
			"URL": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Captive portal <<datatype>> to which upstream HTTP (port 80) traffic to destinations not listed in the <<param|AllowedList>> will be redirected. The captive portal URL MUST be an HTTP (not HTTPS) URL. The CPE MUST permit the captive portal URL to be set to <<empty>>, which has the effect of disabling the captive portal (if <<param|Enable>> is <<true>> and the captive portal URL is <<empty>>, <<param|Status>> MUST be <<enum|Error_URLEmpty|Status>>).",
				"datatype": "URL"
			}
		},
		"Device.Routing.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Routing object that contains the <<object|Router>> table, the received router advertisement information <<object|RouteInformation>>, <<object|Babel>>, and <<object|RIP>> protocol objects.",
			"access": false,
			"array": false,
			"RouterNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Routing.Router.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object allows the handling of the routing and forwarding configuration of the device.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this Router entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this Router entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"IPv4ForwardingNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"IPv6ForwardingNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.Routing.Router.{i}.IPv4Forwarding.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Layer 3 IPv4 forwarding table. In addition to statically configured routes, this table MUST include dynamic routes learned through layer 3 routing protocols, including RIP (i.e. RIP version 2), OSPF, DHCPv4, 3GPP-NAS (3GPP Non Access Stratum) and IPCP. The CPE MAY reject attempts to delete or modify a dynamic route entry. For each incoming packet, the layer 3 forwarding decision is conceptually made as follows: * Only enabled table entries with a matching <<param|ForwardingPolicy>> are considered, i.e. those that either do not specify a <<param|ForwardingPolicy>>, or else specify a <<param|ForwardingPolicy>> that matches that of the incoming packet. * Next, table entries that also have a matching destination address/mask are considered, and the matching entry with the longest prefix is applied to the packet (i.e. the entry with the most specific network). An unspecified destination address is a wild-card and always matches, but with a prefix length of zero. For enabled table entries, if <<param|Interface>> is not a valid reference to an IPv4-capable interface (that is attached to the IPv4 stack), then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST disable the offending <<object>> row.",
					"uniqueKeys": [
						"Alias",
						"DestIPAddress",
						"DestSubnetMask",
						"ForwardingPolicy",
						"GatewayIPAddress",
						"Interface",
						"ForwardingMetric"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the forwarding entry. On creation, an entry is disabled by default.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the status of the forwarding entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the forwarding entry type. Based on <<bibref|RFC8349>>",
						"default": "Normal",
						"datatype": "string",
						"enumerations": [
							"Normal",
							"Receive",
							"Blackhole",
							"Unreachable",
							"Prohibit"
						]
					},
					"StaticRoute": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<true>>, this route is a Static route.",
						"default": "true",
						"datatype": "boolean"
					},
					"DestIPAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Destination IPv4 address. <<empty>> indicates no destination address is specified. A Forwarding table entry for which <<param>> and <<param|DestSubnetMask>> are both <<empty>> is a default route.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"DestSubnetMask": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Destination subnet mask. <<empty>> indicates no destination subnet mask is specified. If a destination subnet mask is specified, the <<param>> is ANDed with the destination address before comparing with the <<param|DestIPAddress>>. Otherwise, the full destination address is used as is. A Forwarding table entry for which <<param|DestIPAddress>> and <<param>> are both <<empty>> is a default route.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"ForwardingPolicy": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Identifier of a set of classes or flows that have the corresponding <<param>> value as defined in the <<object|###.QoS>> object. A value of -1 indicates no <<param>> is specified. If specified, this forwarding entry is to apply only to traffic associated with the specified classes and flows.",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"GatewayIPAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv4 address of the gateway. Only one of <<param>> and Interface SHOULD be configured for a route. If both are configured, <<param>> and <<param|Interface>> MUST be consistent with each other.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> Specifies the egress layer 3 interface associated with this entry. Example: Device.IP.Interface.1. Only one of <<param|GatewayIPAddress>> and <<param>> SHOULD be configured for a route. If both are configured, <<param|GatewayIPAddress>> and <<param>> MUST be consistent with each other. For a route that was configured by setting <<param|GatewayIPAddress>> but not <<param>>, read access to <<param>> MUST return the full hierarchical parameter name for the routes egress interface.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Origin": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Protocol via which the IPv4 forwarding rule was learned. Enumeration of: DHCPv4, OSPF, IPCP, RIP, 3GPP-NAS, Static.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"DHCPv4",
							"OSPF",
							"IPCP",
							"RIP",
							"3GPP-NAS",
							"Static"
						]
					},
					"ForwardingMetric": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Forwarding metric. A value of -1 indicates this metric is not used.",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					}
				},
				"Device.Routing.Router.{i}.IPv6Forwarding.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Layer 3 IPv6 forwarding table. In addition to statically configured routes, this table MUST include dynamic routes learned through layer 3 routing protocols, including RIPng, OSPF, DHCPv6, 3GPP-NAS, and RA. The CPE MAY reject attempts to delete or modify a dynamic route entry. For each incoming packet, the layer 3 forwarding decision is conceptually made as follows: * Only enabled table entries with a matching <<param|ForwardingPolicy>> are considered, i.e. those that either do not specify a <<param|ForwardingPolicy>>, or else specify a <<param|ForwardingPolicy>> that matches that of the incoming packet. * Next, table entries that also have a matching destination prefix are considered, and the matching entry with the longest prefix length is applied to the packet (i.e. the entry with the most specific network). An unspecified destination address is a wild-card and always matches, but with a prefix length of zero. For enabled table entries, if <<param|Interface>> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. This object is based on inetCidrRouteTable from <<bibref|RFC4292>>.",
					"uniqueKeys": [
						"Alias",
						"DestIPPrefix",
						"ForwardingPolicy",
						"NextHop",
						"Interface",
						"ForwardingMetric"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the status of the forwarding entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the forwarding entry type. Based on <<bibref|RFC8349>>",
						"default": "Normal",
						"datatype": "string",
						"enumerations": [
							"Normal",
							"Receive",
							"Blackhole",
							"Unreachable",
							"Prohibit"
						]
					},
					"DestIPPrefix": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Destination IPv6 prefix. <<empty>> indicates that it matches all destination prefixes (i.e. equivalent to ::/0). All bits to the right of the prefix MUST be zero, e.g. 2001:edff:fe6a:f76::/64. Routes with a 128-bit prefix length (/128) are host routes for a specific IPv6 destination, e.g. 2001:db8:28:2:713e:a426:d167:37ab/128.",
						"datatype": "IPv6Prefix"
					},
					"ForwardingPolicy": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Identifier of a set of classes or flows that have the corresponding <<param>> value as defined in the <<object|###.QoS>> object. A value of -1 indicates no <<param>> is specified. If specified, this forwarding entry is to apply only to traffic associated with the specified classes and flows.",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"NextHop": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv6 address of the next hop. Only one of <<param>> and <<param|Interface>> SHOULD be configured for a route. <<empty>> indicates no <<param>> is specified. If both are configured, <<param>> and <<param|Interface>> MUST be consistent with each other.",
						"datatype": "IPv6Address"
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> Specifies the egress layer 3 interface associated with this entry. Example: Device.IP.Interface.1. Only one of <<param|NextHop>> and <<param>> SHOULD be configured for a route. <<empty>> indicates no <<param>> is specified. If both are configured, <<param|NextHop>> and <<param>> MUST be consistent with each other. For a route that was configured by setting <<param|NextHop>> but not <<param>>, read access to <<param>> MUST return the full hierarchical parameter name for the routes egress interface.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Origin": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Protocol via which the IPv6 forwarding rule was learned. Enumeration of: DHCPv6, OSPF, RA, RIPng, 3GPP-NAS, Static.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"DHCPv6",
							"OSPF",
							"RA",
							"RIPng",
							"3GPP-NAS",
							"Static"
						]
					},
					"ForwardingMetric": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Forwarding metric. A value of -1 indicates this metric is not used.",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						]
					},
					"ExpirationTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which the route will expire, or <<null>> if not known. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z. <<param>> is provided by an underlying dynamic routing protocol, e.g. by an <<bibref|RFC4191>> route information option.",
						"default": "9999-12-31T23:59:59Z",
						"datatype": "dateTime"
					}
				}
			},
			"Device.Routing.RIP.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Routing Information Protocol (RIP) object.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables RIP on the device.",
					"datatype": "boolean"
				},
				"SupportedModes": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The supported RIP protocol modes. Enumeration of: Send, Receive, Both.",
					"datatype": "string",
					"enumerations": [
						"Send",
						"Receive",
						"Both"
					]
				},
				"InterfaceSettingNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.Routing.RIP.InterfaceSetting.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IP Interface RIP configuration table. For enabled table entries, if <<param|Interface>> is not a valid reference then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row. Note: This object only applies to RIP2; i.e. version 2 of the RIP protocol is used to accept or send over the specified <<param|Interface>>.",
					"uniqueKeys": [
						"Alias",
						"Interface"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> This is the IP interface associated with this <<object>> entry.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"AcceptRA": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When set to <<true>>, RIP route advertisements received over <<param|Interface>> are accepted. When set to <<false>>, RIP route advertisements received over <<param|Interface>> are rejected.",
						"datatype": "boolean"
					},
					"SendRA": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When set to <<true>>, RIP route advertisements are to be sent over <<param|Interface>>. When set to <<false>>, no RIP route advertisements will be sent over <<param|Interface>>.",
						"datatype": "boolean"
					}
				}
			},
			"Device.Routing.RouteInformation.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Received Router Advertisement (RA) route information <<bibref|RFC4191>>.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables receiving route information from the RA.",
					"datatype": "boolean"
				},
				"InterfaceSettingNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.Routing.RouteInformation.InterfaceSetting.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IP Interface RA route information table. Contains received RA route information <<bibref|RFC4191>>. As such, the data in this table cannot be modified.",
					"uniqueKeys": [
						"Interface"
					],
					"access": false,
					"array": true,
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this entry. Enumeration of: ForwardingEntryCreated, NoForwardingEntry, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"datatype": "string",
						"enumerations": [
							"ForwardingEntryCreated",
							"NoForwardingEntry",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> This is the IP interface associated with this <<object>> entry.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"SourceRouter": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv6 Address of the router that sent the RA that included this route info.",
						"datatype": "IPv6Address"
					},
					"PreferredRouteFlag": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Flag included in a specific Route Information Option within an RA message (Prf flag), as defined in <<bibref|RFC4191|Section 2.3>>. Enumeration of: High, Medium, Low. Note that this is not the Prf flag included in the base RA message. Also see <<bibref|RFC4191|Section 2.1>> which discusses how this flag is encoded on the wire.",
						"datatype": "string",
						"enumerations": [
							"High",
							"Medium",
							"Low"
						]
					},
					"Prefix": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv6 address prefix, as received in an instance of the Route Information Option of a RA message.",
						"datatype": "IPv6Prefix"
					},
					"ManagedAddressConfiguration": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When set, it indicates that addresses are available via Dynamic Host Configuration Protocol [DHCPv6]. If the <<param>> is set, the <<param|OtherConfiguration>> is redundant and can be ignored because DHCPv6 will return all available configuration information (see <<bibref|RFC4861|Section 4.2>>).",
						"datatype": "boolean"
					},
					"OtherConfiguration": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When set, it indicates that other configuration information is available via DHCPv6. Examples of such information are DNS-related information or information on other servers within the network (see <<bibref|RFC4861|Section 4.2>>).",
						"datatype": "boolean"
					},
					"RouteLifetime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which <<param|Prefix>> will cease to be usable for use as a forwarding entry, or <<null>> if not known. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z. <<param>> is received in an instance of the Route Information Option of a RA message.",
						"datatype": "dateTime"
					},
					"ReachableTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time, in <<units>>, that a node assumes a neighbor is reachable after having received a reachability confirmation. Used by the Neighbor Unreachability Detection algorithm <<bibref|RFC4861|see Section 7.3>>. A value of zero means unspecified (by this router) (see <<bibref|RFC4861|Section 4.2>>).",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 3600000
							}
						],
						"unit": "milliseconds"
					},
					"RetransTimer": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time, in <<units>>, between retransmitted Neighbor Solicitation messages. Used by address resolution and the Neighbor Unreachability Detection algorithm <<bibref|RFC4861|Sections 7.2 and 7.3>>. A value of zero means unspecified (by this router) (see <<bibref|RFC4861|Section 4.2>>).",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"HomeAgent": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Home Agent (H) bit is set in a Router Advertisement to indicate that the router sending this Router Advertisement is also functioning as a Mobile IPv6 home agent on this link. (see <<bibref|RFC3775|Section 7.1>> and <<bibref|RFC4861|Section 4.2>>)",
						"datatype": "boolean"
					},
					"OptionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Routing.RouteInformation.InterfaceSetting.{i}.Option.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object specifies the received options in a Router Advertisement (RA) message <<bibref|RFC4861|Section 4.6>>. This includes support for receiving DNS information in the RA message as described in <<bibref|RFC6106>>.",
						"uniqueKeys": [
							"Alias",
							"Tag"
						],
						"access": false,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Tag": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Option tag (type) <<bibref|RFC4861|Section 4.6>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"Value": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A hexbinary encoded option value <<bibref|RFC4861|Section 4.6>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						}
					}
				}
			},
			"Device.Routing.Babel.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object provides parameters for configuration, troubleshooting, and monitoring of the Babel routing protocol <<bibref|RFC8966>>. This data model is based on the Babel information model defined in <<bibref|RFC9046>>.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables Babel on the device.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the device to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"ImplementationVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The name and version of this implementation of the Babel protocol. This is not the same as the version of the Babel protocol that has been implemented. The method of naming and identifying implementation versions will be specific to the implementation.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"SelfRouterID": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The router-id used by this instance of the Babel protocol to identify itself. <<bibref|RFC8966>> describes this as an arbitrary string of 8 octets.",
					"datatype": "hexBinary"
				},
				"SelfSeqno": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current sequence number included in route updates for routes originated by this node.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SupportedMetricCompAlgorithms": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Supported cost computation algorithms.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"2-out-of-3",
							"ETX"
						]
					}
				},
				"SupportedSecurityMechanisms": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Supported security mechanisms.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"MAC",
							"DTLS"
						]
					}
				},
				"SupportedMACAlgorithms": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Supported MAC computation algorithms.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"HMAC-SHA256",
							"BLAKE2s-128"
						]
					}
				},
				"SupportedDTLSCertTypes": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Supported DTLS certificate types.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"X.509",
							"RawPublicKey"
						]
					}
				},
				"StatsEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables collection of statistics on all <<object|InterfaceSetting.>> instances. Statistics are provided in <<object|InterfaceSetting.<i>.Stats.>>. When enabled, existing statistics values are not cleared and will be incremented as new packets are counted.",
					"datatype": "boolean"
				},
				"InterfaceSettingNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"RouteNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"MACKeySetNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"DTLSCertSetNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"StatsReset": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, all Babel statistics counters are reset to zero. Statistics are provided in <<object|InterfaceSetting.<i>.Stats.>>.",
					"datatype": "boolean"
				},
				"StatsReset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.Routing.Babel.Constants.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents the constants used by the Babel protocol.",
					"access": false,
					"array": false,
					"UDPPort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The UDP port number used by the Babel implementation to send and receive Babel packets. The UDP port number assigned by IANA is 6696.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"MulticastGroup": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The multicast group for sending and listening to multicast announcements on IPv6. The multicast group assigned by IANA is ff02::1:6.",
						"datatype": "IPv6Address"
					}
				},
				"Device.Routing.Babel.InterfaceSetting.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object provides parameters related to the interfaces the Babel protocol is operating over and can act as a routing protocol for.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables Babel on this interface.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the device to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"InterfaceReference": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<object|###.IP.Interface>> object instance this Babel implementation is running over. The referenced interface object MUST have <<param|###.IP.Interface.<i>.IPv6Enable>> set to true.",
						"datatype": "string"
					},
					"InterfaceMetricAlgorithm": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the metric computation algorithm used on this interface, from among the supported metric computation algorithms listed in <<param|#.SupportedMetricCompAlgorithms>>.",
						"datatype": "string"
					},
					"SplitHorizonEnabled": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the use of split horizon optimization when calculating metrics on this interface. Split horizon optimization is described in <<bibref|RFC8966|Section 3.7.4>>.",
						"datatype": "boolean"
					},
					"McastHelloSeqno": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current sequence number in use for multicast Hellos sent on this interface.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"McastHelloInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current interval (time in <<units>>) used for multicast Hellos sent on this interface.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						],
						"unit": "centiseconds"
					},
					"UpdateInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current interval (time in <<units>>) used for all updates (multicast or unicast) sent on this interface.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						],
						"unit": "centiseconds"
					},
					"MACEnabled": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the MAC security mechanism.",
						"datatype": "boolean"
					},
					"InterfaceMACKeySets": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object|#.MACKeySet.>> instances that apply to this <<object>> instance. When an <<object>> is created, all <<object|#.MACKeySet.>> instances with <<param|#.MACKeySet.<i>.DefaultApply>> of <<true>> will be included in this list.",
						"list": {
							"datatype": "string"
						}
					},
					"MACVerify": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A Boolean flag indicating whether MACs in incoming Babel packets are required to be present and are verified. If this parameter is <<true>>, incoming packets are required to have a valid MAC.",
						"datatype": "boolean"
					},
					"DTLSEnabled": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the DTLS security mechanism.",
						"datatype": "boolean"
					},
					"InterfaceDTLSCertSets": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object|#.DTLSCertSet.>> instances that apply to this <<object>> instance. When an <<object>> is created, all <<object|#.DTLSCertSet.>> instances with <<param|#.DTLSCertSet.<i>.DefaultApply>> of <<true>> will be included in this list.",
						"list": {
							"datatype": "string"
						}
					},
					"CachedInfoEnabled": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A Boolean flag indicating whether the cached_info extension is included in ClientHello and ServerHello packets (see <<bibref|RFC8968|Appendix A>>. The extension is included if <<true>>.",
						"datatype": "boolean"
					},
					"DTLSCertPrefer": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Supported certificate types (from <<param|#.SupportedDTLSCertTypes>>), listed in order of preference. This list is used to populate the server_certificate_type extension in a ClientHello (see <<bibref|RFC8968|Appendix A>>). Values that are present with a non-empty <<param|#.DTLSCertSet.<i>.DTLSCert.<i>.CertPrivateKey>> in at least one instance of <<object|#.DTLSCertSet.<i>.DTLSCert.>> included in a <<object|#.DTLSCertSet.>> instance referenced by <<param|InterfaceDTLSCertSets>> will be used to populate the client_certificate_type extension in a Client Hello.",
						"datatype": "string"
					},
					"PacketLogEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the logging of Babel packets into the <<param|PacketLog>> on this interface.",
						"datatype": "boolean"
					},
					"PacketLog": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A reference to a <<object|###.DeviceInfo.VendorLogFile>> instance that contains a timestamped log of packets received and sent on <<param|#.Constants.UDPPort>> on this interface. The <<bibref|LIBPCAP>> file format with .pcap file extension SHOULD be supported for packet log files. Logging is enabled/disabled by <<param|PacketLogEnable>>.",
						"datatype": "string"
					},
					"NeighborNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Routing.Babel.InterfaceSetting.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object provides statistics parameters for this interface.",
						"access": false,
						"array": false,
						"SentMcastHello": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A count of the number of multicast Hello packets sent on this interface.",
							"datatype": "StatsCounter64"
						},
						"SentMcastUpdate": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A count of the number of multicast update packets sent on this interface.",
							"datatype": "StatsCounter64"
						},
						"SentUcastHello": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A count of the number of unicast Hello packets sent on this interface.",
							"datatype": "StatsCounter64"
						},
						"SentUcastUpdate": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A count of the number of unicast update packets sent on this interface.",
							"datatype": "StatsCounter64"
						},
						"SentIHU": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A count of the number of IHU (I Heard You) packets sent on this interface.",
							"datatype": "StatsCounter64"
						},
						"ReceivedPackets": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A count of the number of Babel packets received on this interface.",
							"datatype": "StatsCounter64"
						}
					},
					"Device.Routing.Babel.InterfaceSetting.{i}.Neighbor.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object provides parameters related to neighbor devices that Babel packets are received from and sent to.",
						"uniqueKeys": [
							"NeighborAddress"
						],
						"access": false,
						"array": true,
						"NeighborAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "IP address the neighbor sends packets from.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"HelloMCastHistory": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The multicast Hello history of whether or not the multicast Hello packets prior to <<param|ExpectedMCastHelloSeqno>> were received. This is a binary sequence where the most recently received Hello is expressed as a 1 placed in the left-most bit, with prior bits shifted right (and 0 bits placed between prior Hello bits and the most recent Hello bit for any not-received Hellos). This value is displayed using hex digits. See <<bibref|RFC8966|Section A.1>>.",
							"datatype": "hexBinary"
						},
						"HelloUCastHistory": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The unicast Hello history of whether or not the unicast Hello packets prior to <<param|ExpectedUCastHelloSeqno>> were received. This is a binary sequence where the most recently received Hello is expressed as a 1 placed in the left-most bit, with prior bits shifted right (and 0 bits placed between prior Hello bitss and the most recent Hello bit for any not-received Hellos). This value is displayed using hex digits. See <<bibref|RFC8966|Section A.1>>.",
							"datatype": "hexBinary"
						},
						"TXCost": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Transmission cost value from the last IHU (I Heard You) packet received from this neighbor, or maximum value (as defined in <<bibref|RFC8966|Section 3.4.2>>) to indicate the IHU hold timer for this neighbor has expired.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"ExpectedMCastHelloSeqno": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Expected multicast Hello sequence number of next Hello to be received from this neighbor. If multicast Hello packets are not expected, or processing of multicast packets is not enabled, this MUST be -1. Note <<bibref|RFC9046>> specifies a 16-bit unsigned integer with NULL value to represent no processed or expected multicast Hello packets.",
							"datatype": "int",
							"range": [
								{
									"min": -1,
									"max": 65535
								}
							]
						},
						"ExpectedUCastHelloSeqno": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Expected unicast Hello sequence number of next Hello to be received from this neighbor. If unicast Hello packets are not expected, or processing of unicast packets is not enabled, this MUST be -1.",
							"datatype": "int",
							"range": [
								{
									"min": -1,
									"max": 65535
								}
							]
						},
						"UnicastHelloSeqno": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The current sequence number in use for unicast Hellos sent to this neighbor. If unicast Hello packets are not being sent, this MUST be -1.",
							"datatype": "int",
							"range": [
								{
									"min": -1,
									"max": 65535
								}
							]
						},
						"UnicastHelloInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The current interval in <<units>> used for unicast Hellos sent to this neighbor.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							],
							"unit": "centiseconds"
						},
						"RXCost": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Reception cost calculated for this neighbor. This value is usually derived from the Hello history, which may be combined with other data, such as statistics maintained by the link layer. The <<param>> is sent to a neighbor in each IHU (I Heard You) packet. See <<bibref|RFC8966|Section 3.4.3>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"Cost": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Link cost is computed from the values maintained by a Babel implementation in its neighbor table as defined in <<bibref|RFC8966|Section3.2.4>>: the statistics kept about the reception of Hellos and the transmission cost computed from received IHU packets. See <<bibref|RFC8966|Section 3.4.3>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 65535
								}
							]
						}
					}
				},
				"Device.Routing.Babel.Route.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object provides parameters for routes received from neighbors and internal routes.",
					"uniqueKeys": [
						"RoutePrefix",
						"SourceRouterID"
					],
					"access": false,
					"array": true,
					"RoutePrefix": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IP prefix for which this route is advertised.",
						"datatype": "IPPrefix",
						"range": [
							{
								"max": 49
							}
						]
					},
					"SourceRouterID": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Router-id of the router that originated this route.",
						"datatype": "hexBinary"
					},
					"Neighbor": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Reference to the <<object|#.InterfaceSetting.<i>.Neighbor>> entry for the neighbor that advertised this route.",
						"datatype": "string"
					},
					"ReceivedMetric": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The metric with which this route was advertised by the neighbor, or maximum value (as defined in <<bibref|RFC8966>>) to indicate the route was recently retracted and is temporarily unreachable (see <<bibref|RFC8966|Section 3.5.5>>). This metric will be -1 if the route was not received from a neighbor but was generated through other means. At least one of <<param>> and <<param|CalculatedMetric>> MUST have a value other than -1. Having both be other than -1 is expected for a route that is received and subsequently advertised.",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 65535
							}
						]
					},
					"CalculatedMetric": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A calculated metric for this route. How the metric is calculated is implementation-specific. Maximum value (as defined in <<bibref|RFC8966>>) indicates the route was recently retracted and is temporarily unreachable (<<bibref|RFC8966|Section 3.5.5>>). At least one of <<param|ReceivedMetric>> and <<param>> MUST have a value other than -1. Having both be other than -1 is expected for a route that is received and subsequently advertised.",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 65535
							}
						]
					},
					"RouteSeqno": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The sequence number with which this route was advertised.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"NextHop": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The next-hop address of this route. This will be empty if this route has no next-hop address.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"RouteFeasible": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A Boolean flag indicating whether this route is feasible, as defined in <<bibref|RFC8966|Section 3.5.1>>.",
						"datatype": "boolean"
					},
					"RouteSelected": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A Boolean flag indicating whether this route is selected (i.e., whether it is currently being used for forwarding and is being advertised).",
						"datatype": "boolean"
					}
				},
				"Device.Routing.Babel.MACKeySet.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object provides parameters related to use of the HMAC security mechanism <<bibref|RFC8967>> to sign and verify Babel packets.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"DefaultApply": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A Boolean flag indicating whether this <<object>> instance is to be applied to all new <<object|#.InterfaceSetting.>> instances. If <<true>>, this <<object>> instance applies to all new <<object|#.InterfaceSetting.>> instances at the time they are created and a reference to this <<object>> is included in the <<param|#.InterfaceSetting.<i>.InterfaceMACKeySets>> parameter. If <<false>>, this <<object>> is not applied to new <<object|#.InterfaceSetting.>> instances when they are created.",
						"datatype": "boolean"
					},
					"MACKeyNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Routing.Babel.MACKeySet.{i}.MACKey.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object provides the MAC keys used to calculate MACs for verification and sending by the <<object|#.>> instance.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"KeyUseSend": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates whether this <<param|KeyValue>> is used to compute a MAC and include that MAC in the sent Babel packet. A MAC for sent packets is computed using this key if the value is <<true>>. If the value is <<false>>, this key is not used to compute a MAC to include in sent Babel packets.",
							"datatype": "boolean"
						},
						"KeyUseVerify": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates whether the <<param|KeyValue>> is used to verify incoming Babel packets. Incoming packets are verified using this key if <<true>>. If <<false>> no MAC is computed from <<param|KeyValue>> for comparing with the MAC in an incoming Babel packet.",
							"datatype": "boolean"
						},
						"KeyValue": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The value of the MAC key. This value is immutable, once written. This value is of a length suitable for the associated <<param|MACKeyAlgorithm>>. If the algorithm is based on the HMAC construction <<bibref|RFC2104>>, the length MUST be between 0 and an upper limit that is at least the size of the output length (where HMAC-SHA256 output length is 32 octets as described in <<bibref|RFC4868>>). Longer lengths MAY be supported but are not necessary if the management system has the ability to generate a suitably random value (e.g., by randomly generating a value or by using a key derivation technique as recommended in <<bibref|RFC8967|Security Considerations>>). If the algorithm is BLAKE2s-128, the length MUST be between 0 and 32 bytes inclusive, as specified in <<bibref|RFC7693>>. Note: This parameter was changed to readWrite in the Device 2.19 version.",
							"datatype": "hexBinary"
						},
						"MACKeyAlgorithm": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The name of the MAC algorithm used with this key. The value MUST be the same as one of the enumerations listed in the <<param|##.SupportedMACAlgorithms>> parameter.",
							"datatype": "string"
						},
						"MACTestState": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "This parameter allows the MAC key and MAC algorithm to be tested to see if they produce an expected outcome. The command calculates a MAC for <<param|InputString>> using the <<param|KeyValue>> and the algorithm indicated by <<param|MACKeyAlgorithm>> and compares that to the value of <<param|InputMAC>>. If the values match, the output <<param|Match>> is <<true>>. Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
							"datatype": "DiagnosticsState",
							"enumerations": [
								"None",
								"Requested",
								"Canceled",
								"Complete",
								"Error"
							]
						},
						"InputString": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Setting <<param|MACTestState>> to <<enum|Requested|MACTestState>> calculates a MAC of <<param>> using the <<param|KeyValue>> and the algorithm indicated by <<param|MACKeyAlgorithm>>.",
							"datatype": "hexBinary"
						},
						"InputMAC": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Whenever a MAC is calculated from <<param|InputString>> that MAC is then compared to <<param>>.",
							"datatype": "hexBinary"
						},
						"Match": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<param>> is <<true>> if the calculated MAC and <<param|InputMAC>> are the same.",
							"datatype": "boolean"
						},
						"MACTest()": {
							"type": "command",
							"async": false,
							"protocols": [
								"usp"
							],
							"input": {
								"InputString": {
									"type": "hexBinary",
									"read": true,
									"write": true,
									"mandatory": true,
									"protocols": [
										"usp"
									],
									"description": "The command calculates a MAC of <<param>> using the <<param|#.KeyValue>> and <<param|#.MACKeyAlgorithm>>.",
									"datatype": "hexBinary"
								},
								"InputMAC": {
									"type": "hexBinary",
									"read": true,
									"write": true,
									"mandatory": true,
									"protocols": [
										"usp"
									],
									"description": "The command compares the calculated MAC to <<param>>.",
									"datatype": "hexBinary"
								}
							},
							"output": {
								"Match": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"usp"
									],
									"description": "<<param>> is <<true>> if the calculated MAC and <<param|InputMAC>> are the same.",
									"datatype": "boolean"
								}
							}
						}
					}
				},
				"Device.Routing.Babel.DTLSCertSet.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object provides parameters related to use of the DTLS security mechanism <<bibref|RFC8968>> to encrypt Babel packets.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"DefaultApply": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A Boolean flag indicating whether this <<object>> instance is to be applied to all new <<object|#.InterfaceSetting.>> instances. If <<true>>, this <<object>> instance applies to all new <<object|#.InterfaceSetting.>> instances at the time they are created and a reference to this <<object>> is included in the <<param|#.InterfaceSetting.<i>.InterfaceDTLSCertSets>> parameter. If <<false>>, this <<object>> is not applied to new <<object|#.InterfaceSetting.>> instances when they are created.",
						"datatype": "boolean"
					},
					"DTLSCertNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.Routing.Babel.DTLSCertSet.{i}.DTLSCert.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object provides the certificates used for verification and signing by the <<object|#.>> instance with DTLS.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"CertValue": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The DTLS certificate in PEM format <<bibref|RFC7468>>. This value is immutable, once written. Note: This parameter was changed to readWrite in the Device 2.19 version.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"CertType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The certificate type of <<param|CertValue>> (from among the supported types in <<param|##.SupportedDTLSCertTypes>>). This value is immutable, once written.",
							"datatype": "string"
						},
						"CertPrivateKey": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The private key of the certificate. <<param>> is only given a value if the certificate belongs to this device. If <<param>> is non-empty, this certificate can be supplied during DTLS handshaking. This value is immutable, once written. Note: This parameter was changed to readWrite in the Device 2.19 version.",
							"datatype": "hexBinary"
						}
					}
				}
			}
		},
		"Device.NeighborDiscovery.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The Neighbor Discovery Protocol (NDP) object <<bibref|RFC4861>>. This object applies only to IPv6. It contains an <<object|InterfaceSetting>> table that defines the NDP configuration for individual IP interfaces.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables Neighbor Discovery.",
				"datatype": "boolean"
			},
			"InterfaceSettingNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.NeighborDiscovery.InterfaceSetting.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Per-interface Neighbor Discovery Protocol (NDP) configuration <<bibref|RFC4861>>. For enabled table entries, if <<param|Interface>> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the IP interface associated with this <<object>> entry.",
					"datatype": "string"
				},
				"DADTransmits": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of consecutive Neighbor Solicitation messages sent while performing Duplicate Address Detection on a tentative address (see<<bibref|RFC4862|5.1>>). A value of zero indicates that Duplicate Address Detection is not performed on tentative addresses. A value of one indicates a single transmission with no follow-up retransmissions. If the value is greater than 1, <<param|RetransTimer>> defines the delay between consecutive messages.",
					"default": "1",
					"datatype": "unsignedInt"
				},
				"RetransTimer": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Retransmission interval in <<units>>, as defined in <<bibref|RFC4861>>. For auto-configuration purposes, <<param>> specifies the delay between consecutive Neighbor Solicitation transmissions performed during Duplicate Address Detection (DAD) <<bibref|RFC4862|Section 5.4>>, as well as the time a node waits after sending the last Neighbor Solicitation before ending the DAD process.",
					"default": "1000",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "milliseconds"
				},
				"RtrSolicitationInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Retransmission interval in <<units>>, as defined in <<bibref|RFC4861|6.3.7>>. For auto-configuration purposes, <<param>> specifies the delay between consecutive Router Solicitation transmissions.",
					"default": "4000",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 4000
						}
					],
					"unit": "milliseconds"
				},
				"MaxRtrSolicitations": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum Number of Router Solicitation Transmission messages, as defined in <<bibref|RFC4861>>. For auto-configuration purposes <<param>> specifies the Maximum Number of Router Solicitation Transmission messages to help the host to conclude that there are no routers on the link.",
					"default": "3",
					"datatype": "unsignedInt"
				},
				"NUDEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables Neighbor Unreachability Detection (NUD) <<bibref|RFC4861|Section 7>>.",
					"datatype": "boolean"
				},
				"RSEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables Router Solicitation (RS) on <<param|Interface>> <<bibref|RFC4861|Section 4.1>>.",
					"datatype": "boolean"
				}
			}
		},
		"Device.RouterAdvertisement.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The Router Advertisement (RA) object <<bibref|RFC4861>>. This object applies only to IPv6. It contains an <<object|InterfaceSetting>> table that defines the RA configuration for individual IP interfaces. Information received via router advertisement messages is automatically propagated to the relevant <<object|#.IP.Interface>> sub-objects, e.g. to the <<object|#.IP.Interface.<i>.IPv6Address>> and <<object|#.IP.Interface.<i>.IPv6Prefix>> tables.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables Router Advertisement.",
				"datatype": "boolean"
			},
			"InterfaceSettingNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.RouterAdvertisement.InterfaceSetting.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Per-interface Router Advertisement (RA) configuration <<bibref|RFC4861>>. Table entries are created for use in sending Router Advertisements. For enabled table entries, if <<param|Interface>> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> entry. Defines the value of the IsRouter and AdvSendAdvertisements flags from <<bibref|RFC4861|Section 4.2>>",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the IP interface associated with this <<object>> entry.",
					"datatype": "string"
				},
				"RDNSSMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes which IPv6 address information MUST be specified in the RDNSS option field specified in <<bibref|RFC8106|5.1. Recursive DNS Server Option>>.",
					"default": "Static",
					"datatype": "string",
					"enumerations": [
						"Static",
						"LLA",
						"GUA",
						"LLA_GUA"
					]
				},
				"RDNSS": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The RDNSS parameter contains one or more IPv6 addresses of RDNSSes as described in <<bibref|RFC8106|5.1. Recursive DNS Server Option>>. When <<param|RDNSSMode>> is not <<enum|Static|RDNSSMode>>, this parameter will contain the list of IPv6 addresses, automatically filled in by the system, that needs to be advertised. <<empty>> means that no RDNSS information is being advertised.",
					"default": "[]",
					"list": {
						"datatype": "IPv6Address"
					}
				},
				"DNSSL": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The DNSSL parameter contains one or more domain names of DNS suffixes as described in <<bibref|RFC8106|5.2. DNS Search List Option>>. <<empty>> means that no DNSSL information is being advertised.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				},
				"ManualPrefixes": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference>> Manually-configured prefixes that will be sent in Router Advertisement messages. Each referenced prefix MUST have a <<param|##.IP.Interface.<i>.IPv6Prefix.<i>.StaticType>> of <<enum|Static|##.IP.Interface.<i>.IPv6Prefix.<i>.StaticType>> or <<enum|Child|##.IP.Interface.<i>.IPv6Prefix.<i>.StaticType>>. Router Advertisement messages MUST include Prefix Information Options <<bibref|RFC4861>> for all Valid (<<param|##.IP.Interface.<i>.IPv6Prefix.<i>.ValidLifetime>> is infinite or in the future) prefixes in this list. Prefixes MUST be associated with the interface instance referenced by <<param|Interface>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"item": {
							"max": 8
						}
					}
				},
				"Prefixes": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference>> All prefixes that will be included in Router Advertisement (RA) messages sent out this interface. This list can include: * Prefixes from <<param|ManualPrefixes>> that are included in RA messages. * Prefixes with <<param|##.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> = <<enum|Child|##.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> or <<enum|AutoConfigured|##.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> associated with the interface instance referenced by <<param|Interface>>.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 8
						}
					}
				},
				"MaxRtrAdvInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum time allowed between sending unsolicited multicast Router Advertisements from the interface, in <<units>> (see <<bibref|RFC4861|Section 4.2>>).",
					"default": "600",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 4,
							"max": 1800
						}
					],
					"unit": "seconds"
				},
				"MinRtrAdvInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The minimum time allowed between sending unsolicited multicast Router Advertisements from the interface, in <<units>> (see <<bibref|RFC4861|Section 4.2>>). The value MUST be no greater than 3/4 * <<param|MaxRtrAdvInterval>>. Note: The 1350 maximum was derived from the RFC, based on 3/4 times the maximum value of <<param|MaxRtrAdvInterval>>. Similarly, the 200 default was derived from the RFC, based on 1/3 times the default value of <<param|MaxRtrAdvInterval>>.",
					"default": "200",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 3,
							"max": 1350
						}
					],
					"unit": "seconds"
				},
				"AdvDefaultLifetime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in the Router Lifetime field of Router Advertisement messages on this interface, in <<units>> (see <<bibref|RFC4861|Section 4.2>>). The value can be zero or between <<param|MaxRtrAdvInterval>> and 9000 <<units>>, but these limits can be overridden by specific documents that describe how IPv6 operates over different link layers. A value of zero indicates that the router is not to be used as a default router. Note: The 1800 default was derived from the RFC, based on 3 times the default value of <<param|MaxRtrAdvInterval>>.",
					"default": "1800",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 65535
						}
					],
					"unit": "seconds"
				},
				"AdvManagedFlag": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in the Managed address configuration (M) flag field of Router Advertisement messages on this interface (see <<bibref|RFC4861|Section 4.2>>, and <<bibref|RFC4862>>).",
					"default": "false",
					"datatype": "boolean"
				},
				"AdvOtherConfigFlag": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in the Other configuration (O) flag field of Router Advertisement messages on this interface (see <<bibref|RFC4861|Section 4.2>>, and <<bibref|RFC4862>>).",
					"default": "false",
					"datatype": "boolean"
				},
				"AdvMobileAgentFlag": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in the Home agent (H) flag field of Router Advertisement messages on this interface (see <<bibref|RFC3775|Section 7.1>>).",
					"default": "false",
					"datatype": "boolean"
				},
				"AdvPreferredRouterFlag": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in the Default Router Preference (Prf) field of Router Advertisement messages on this interface, as defined in <<bibref|RFC4191|Section 2.2>>. Enumeration of: High, Medium, Low. Also see <<bibref|RFC4191|Section 2.1>> which discusses how this flag is encoded on the wire.",
					"default": "Medium",
					"datatype": "string",
					"enumerations": [
						"High",
						"Medium",
						"Low"
					]
				},
				"AdvNDProxyFlag": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in the Proxy (P) flag field of Router Advertisement messages on this interface (see <<bibref|RFC4389|Section 4.1.3.3>>).",
					"default": "false",
					"datatype": "boolean"
				},
				"AdvLinkMTU": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in MTU options of Router Advertisement messages on this interface. A value of zero indicates that no MTU options are included (see <<bibref|RFC4861|Section 4.6.4>>).",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"AdvReachableTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in the Reachable Time field of Router Advertisement messages on this interface, in <<units>> (see <<bibref|RFC4861|Section 4.2>>). The value zero means unspecified (by the router).",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 3600000
						}
					],
					"unit": "milliseconds"
				},
				"AdvRetransTimer": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in the Retrans Timer field of Router Advertisement messages on this interface, in <<units>> (see <<bibref|RFC4861|Section 4.2>>). The value zero means unspecified (by the router).",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				},
				"AdvCurHopLimit": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value placed in the Cur Hop Limit field of Router Advertisement messages on this interface (see <<bibref|RFC4861|Section 4.2>>). The value zero means unspecified (by the router). Note: The default can be overridden with the value specified in <<bibref|RFC3232>> that was in effect at the time of implementation.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 255
						}
					]
				},
				"AdvRDNSSLifetime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Lifetime field in RDNSS specifies the maximum duration, in <<units>>, during which the provided RDNSS addresses can be used for name resolution relative to the time the packet is received. By default, the value of Lifetime is recommended to be at least 3 times the MaxRtrAdvInterval. The MaxRtrAdvInterval is defined in <<bibref|RFC4861>> and refers to the maximum interval between Router Advertisement (RA) messages. When the Lifetime value is set to all one bits (0xffffffff), it indicates an infinite duration. The Lifetime value of zero signifies that the RDNSS addresses must not be used anymore, as specified in <<bibref|RFC8106|5.1. Recursive DNS Server Option>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 4294967295
						}
					],
					"unit": "seconds"
				},
				"AdvDNSSLLifetime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Lifetime field in DNSSL specifies the maximum duration, in <<units>>, during which the provided DNSSL domain names can be used for name resolution relative to the time the packet is received. By default, the value of Lifetime is recommended to be at least 3 times the MaxRtrAdvInterval. The MaxRtrAdvInterval is defined in <<bibref|RFC4861>> and refers to the maximum interval between Router Advertisement (RA) messages. When the Lifetime value is set to all one bits (0xffffffff), it indicates an infinite duration. The Lifetime value of zero signifies that the DNSSL domain names must not be used anymore, as specified in <<bibref|RFC8106|5.2. DNS Search List Option>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 4294967295
						}
					],
					"unit": "seconds"
				},
				"OptionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object specifies the options in a Router Advertisement (RA) message <<bibref|RFC4861|Section 4.6>>. <<object>> entries are created for use in sending Router Advertisements (enabled options MUST be included in RA messages sent). This includes support for sending DNS information in the RA message as described in <<bibref|RFC6106>>. This table is intended only for options that are not modeled elsewhere. For example, it is not appropriate for the MTU option (which is modeled via <<param|#.AdvLinkMTU>>).",
					"uniqueKeys": [
						"Alias",
						"Tag"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Tag": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Option tag (type) <<bibref|RFC4861|Section 4.6>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Value": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A hexbinary encoded option value <<bibref|RFC4861|Section 4.6>>.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					}
				}
			}
		},
		"Device.IPv6rd.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Settings allowing a CPE to derive and route IPv6 Rapid Deployment (6rd) delegated prefixes as specified in <<bibref|RFC5969>>. The 6rd mechanism is intended to be implemented only on what <<bibref|RFC5969>> refers to as Customer Edge Routers, i.e. on gateway devices, that support IPv6 on the LAN side and only have IPv4 connectivity on the WAN side. See the 6rd Theory of Operation <<bibref|TR-181i2|Appendix VI>> for a description of the working of this 6rd data model.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables IPv6rd.",
				"datatype": "boolean"
			},
			"InterfaceSettingNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.IPv6rd.InterfaceSetting.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "6rd <<bibref|RFC5969>> settings. A 6rd delegated prefix is expected to be of maximum length 64 bits, and is the concatenation of the following two items: * Service provider IPv6 prefix: specified via the <<param|SPIPv6Prefix>> parameter * IPv4 address suffix: the IPv4 address with the first <<param|IPv4MaskLength>> bits removed This object definition is derived from <<bibref|RFC5969>> with some minor nomenclature changes.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable this <<object>> instance.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"BorderRelayIPv4Addresses": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "List items are the IPv4 addresses (possibly anycast) of the 6rd Relay(s).",
					"list": {
						"datatype": "IPv4Address",
						"item": {
							"max": 4
						},
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					}
				},
				"AllTrafficToBorderRelay": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<true>>, the destination address for all 6rd traffic will be set (IPv4 destination address) to one of the <<param|BorderRelayIPv4Addresses>>. If <<false>>, traffic whose destination address begins with the same prefix as <<param|SPIPv6Prefix>> will be sent directly to the destination IPv4 address of the endpoint, which is in the same 6rd domain. See 6rd Theory of Operation for further explanation <<bibref|TR-181i2|Appendix VI>>.",
					"datatype": "boolean"
				},
				"SPIPv6Prefix": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Service Providers 6rd IPv6 prefix for this deployment and this 6rd RG.",
					"datatype": "IPv6Prefix"
				},
				"IPv4MaskLength": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of high-order <<units>> that are identical across all IPv4 addresses within a given 6rd domain. This number of <<units>> MUST be removed from the start of the IPv4 address when generating the 6rd delegated prefix. For example, if this value is 8, only the final 24 <<units>> of the subscriber IPv4 prefix will be used when creating the IPv6 delegated prefix, determining the destination IPv4 encapsulation address, etc. If the value is 0, then the whole 32 <<units>> of the IPv4 address are used in the encoding.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 32
						}
					],
					"unit": "bits"
				},
				"AddressSource": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Points to the IPv4 address that is the source of the IPv4 address embedded in the IPv6 6rd prefix, and used as the source encapsulating IPv4 address. If the value is <<empty>> or this parameter is not present, the device will use internal logic to determine which IPv4 source address to use.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"TunnelInterface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> This is an IP interface of Type <<enum|Tunnel|##.IP.Interface.<i>.Type>> that is logically the tunnel entry point for upstream IPv6 traffic and is also logically the tunnel exit point for downstream IPv6 traffic (i.e. the entry point for non-tunneled upstream IPv6 traffic to enter a tunnel and become tunneled, or conversely, the exit point for downstream IPv6 traffic leaving a tunnel after being un-tunneled). IPv6 traffic that enters <<param>> from the LAN is expected to continue on through <<param|TunneledInterface>>, and traffic from the WAN is expected to come from <<param|TunneledInterface>> into <<param>>. <<param>> is a logical interface that can allow for classification, marking (of IPv6 headers), and policing of IPv6 traffic that will be going over a 6rd tunnel. These functions are modeled in the <<object|##.QoS>> object. <<param>> can be used also to represent the 6rd virtual interface defined in <<bibref|RFC5969>>. Note: In 6rd, IPv6 packets arriving over one or more device LAN IP interfaces are logically fed into this <<param>>. Likewise, 6rd traffic from the WAN gets logically sent from this <<param>> to LAN IP interfaces.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"TunneledInterface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> This is an IP interface of Type <<enum|Tunneled|##.IP.Interface.<i>.Type>> that provides information about the IPv4 headers used to encapsulate the IPv6 packets. Encapsulated IPv6 traffic that enters <<param>> from the WAN is expected to continue on through <<param|TunnelInterface>>, and traffic from the LAN is expected to come from <<param|TunnelInterface>> into <<param>>. <<param>> is a logical interface that can allow for classification, marking (of IPv4 headers and VLAN tags), and policing of IPv4 packets that encapsulate IPv6 packets in 6rd traffic. These functions are modeled in the <<object|##.QoS>> object. Note: In 6rd, <<param>> traffic originating from the LAN logically feeds into a WAN-side IPv4 capable IP interface that the IPv6 6rd tunnel goes over. 6rd traffic that enters over this IPv4 WAN interface gets logically sent to this <<param>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			}
		},
		"Device.DSLite.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Settings allowing a CPE to configure and route IPv6 Dual-Stack Lite (DSLite) as specified in <<bibref|DSLite>>. The DS-Lite mechanism is intended to be implemented only on gateway devices that support IPv4 on the LAN side and only have IPv6 connectivity on the WAN side. See the Dual-Stack Lite Theory of Operation <<bibref|TR-181i2|Appendix VII>> for a description of the working of this DS-Lite data model.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables DSLite.",
				"datatype": "boolean"
			},
			"InterfaceSettingNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.DSLite.InterfaceSetting.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DSLite <<bibref|DSLite>> settings.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable this <<object>> instance.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"EndpointAssignmentPrecedence": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the preferred method to be used in assigning values to <<param|EndpointName>> when both static and dynamic values are available. See <<param|EndpointName>> for further clarification.",
					"default": "DHCPv6",
					"datatype": "string",
					"enumerations": [
						"DHCPv6",
						"Static"
					]
				},
				"EndpointAddressTypePrecedence": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the preferred method to be used to assign the address of the DS-Lite Endpoint when both <<param|EndpointName>> and <<param|EndpointAddress>> values are available and the <<enum|Static|EndpointAssignmentPrecedence>> method is used. See <<param|EndpointName>> and <<param|EndpointAddress>> for further clarification.",
					"datatype": "string",
					"enumerations": [
						"FQDN",
						"IPv6Address"
					]
				},
				"EndpointAddressInUse": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the address currently in use for the tunnel concentrator (remote endpoint). It is derived from the values of the <<param|EndpointAssignmentPrecedence>>, <<param|EndpointAddressTypePrecedence>>, <<param|EndpointName>> and <<param|EndpointAddress>> parameters. It is <<empty>> if no endpoint address is currently known.",
					"datatype": "IPv6Address"
				},
				"EndpointName": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Fully Qualified Domain Name (FQDN) of the tunnel concentrator (remote endpoint). This parameter is based on OPTION_DS_LITE_NAME from <<bibref|DSLite-options|Section 4>> and can be assigned statically (e.g. present in the factory default configuration or set by the Controller) or can be updated dynamically (via DHCPv6). If both statically and dynamically assigned, then <<param|EndpointAssignmentPrecedence>> indicates whether it is the static configuration or the DHCPv6 configuration that is actually applied to <<param>>. Note: <<param>> is only writable when <<param|EndpointAssignmentPrecedence>> is <<enum|Static|EndpointAssignmentPrecedence>>; otherwise, <<param>> is automatically configured via the DHCPv6 received option.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"EndpointAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The address of the tunnel concentrator (remote endpoint). This parameter can only be assigned statically (e.g. present in the factory default configuration or set by the Controller).",
					"datatype": "IPv6Address"
				},
				"Origin": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Method used to assign <<param|EndpointAddressInUse>>.",
					"datatype": "string",
					"enumerations": [
						"DHCPv6",
						"Static"
					]
				},
				"TunnelInterface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> This is an IP interface of Type <<enum|Tunnel|##.IP.Interface.<i>.Type>> that is logically the tunnel entry point for upstream IPv4 traffic and is also logically the tunnel exit point for downstream IPv4 traffic (i.e. the entry point for non-tunneled upstream IPv4 traffic to enter a tunnel and become tunneled, or conversely, the exit point for downstream IPv4 traffic leaving a tunnel after being un-tunneled). IPv4 traffic that enters <<param>> is expected to continue on through <<param|TunneledInterface>> from the LAN, and traffic from the WAN is expected to come from TunneledInterface into TunnelInterface. TunnelInterface is a logical interface that can allow for classification, marking (of IPv4 headers), and policing of IPv4 traffic that will be going over a DS-Lite tunnel. These functions are modeled in the Device.QoS object. Note: In DS-Lite, IPv4 packets arriving over one or more device LAN IP interfaces are logically fed into this <<param>>. Likewise, DS-Lite traffic from the WAN gets logically sent from this <<param>> to LAN IP interfaces.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"TunneledInterface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> This is an IP interface of Type <<enum|Tunneled|##.IP.Interface.<i>.Type>> that provides information about the IPv6 headers used to encapsulate the IPv4 packets. Encapsulated IPv4 traffic that enters <<param>> from the WAN is expected to continue on through <<param|TunnelInterface>>, and traffic from the LAN is expected to come from <<param|TunnelInterface>> into <<param>>. <<param>> is a logical interface that can allow for classification, marking (of IPv6 headers and VLAN tags), and policing of IPv6 packets that encapsulate IPv4 packets in DS-Lite traffic. These functions are modeled in the <<object|##.QoS>> object. Note: In DS-Lite, <<param>> traffic originating from the LAN logically feeds into a WAN-side IPv6 capable IP interface that the DSLite IPv4-in-IPv6 tunnel goes over. DS-Lite traffic that enters over this IPv6 WAN interface gets logically sent to this <<param>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			}
		},
		"Device.QoS.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Queue management configuration object.",
			"access": false,
			"array": false,
			"MaxClassificationEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the Classification table.",
				"datatype": "unsignedInt"
			},
			"ClassificationNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxAppEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the <<object|App>> table.",
				"datatype": "unsignedInt"
			},
			"AppNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxFlowEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the <<object|Flow>> table.",
				"datatype": "unsignedInt"
			},
			"FlowNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxPolicerEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the <<object|Policer>> table.",
				"datatype": "unsignedInt"
			},
			"PolicerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxQueueEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the <<object|Queue>> table.",
				"datatype": "unsignedInt"
			},
			"QueueNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"QueueStatsNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxShaperEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the <<object|Shaper>> table.",
				"datatype": "unsignedInt"
			},
			"ShaperNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxSchedulerEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries available in the <<object|Scheduler>> table.",
				"datatype": "unsignedInt"
			},
			"SchedulerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"DefaultForwardingPolicy": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Identifier of the forwarding policy associated with traffic not associated with any specified classifier.",
				"datatype": "unsignedInt"
			},
			"DefaultTrafficClass": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Identifier of the traffic class associated with traffic not associated with any specified classifier.",
				"datatype": "unsignedInt"
			},
			"DefaultPolicer": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference>> Indicates the Policer table entry for traffic not associated with any specified classifier. <<empty>> indicates a null policer.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"DefaultQueue": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference>> Indicates the Queue table entry for traffic not associated with any specified classifier. Note: The interpretation of <<empty>> value is implementation specific.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"DefaultDSCPMark": {
				"type": "int",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DSCP to mark traffic not associated with any specified classifier. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of DSCP based upon the EthernetPriority value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
				"datatype": "int",
				"range": [
					{
						"min": -2
					}
				]
			},
			"DefaultEthernetPriorityMark": {
				"type": "int",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Ethernet priority code (as defined in <<bibref|802.1Q-2011>>) to mark traffic not associated with any specified classifier. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
				"datatype": "int",
				"range": [
					{
						"min": -2
					}
				]
			},
			"DefaultInnerEthernetPriorityMark": {
				"type": "int",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Ethernet priority code (as defined in <<bibref|802.1Q-2011>>) to mark traffic of the inner VLAN Tag as defined in 802.1Q, when the PDU is not associated with any specified classifier. This parameter is only applicable when the PDU has 2 VLAN Tags. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
				"datatype": "int",
				"range": [
					{
						"min": -2
					}
				]
			},
			"AvailableAppList": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<list>> List items represent URNs, each indicating a protocol supported for use as a ProtocolIdentifier in the App table. This list MAY include any of the URNs defined in <<bibref|TR-181i2|Annex A>> as well as other URNs defined elsewhere.",
				"list": {
					"datatype": "string",
					"maxsize": 1024
				}
			},
			"Device.QoS.Classification.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Classification table. For enabled table entries, if <<param|Interface>> is not a valid reference and <<param|AllInterfaces>> is <<false>>, then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Several of this objects parameters specify DHCP option values. Some cases are version neutral (the parameter can apply to both DHCPv4 and DHCPv6), but in other cases the representation of the option is different for DHCPv4 and DHCPv6, so it is necessary to define separate DHCPv4-specific and DHCPv6-specific parameters. Therefore, an instance of this object that uses DHCP option values as classification criteria will be associated with either DHCPv4 or DHCPv6, as indicated by the <<param|DHCPType>> parameter.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this classifier.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this classifier. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Order": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each packet, the highest ordered entry that matches the classification criteria is applied. All lower order entries are ignored.",
					"datatype": "Order",
					"range": [
						{
							"min": 1
						}
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"DHCPType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The DHCP protocol associated with the <<object>> instance. Affects only parameters that specify DHCP option values as classification criteria (all such parameter descriptions note this fact). Enumeration of: DHCPv4, DHCPv6. If <<param>> is <<enum|DHCPv4>>, then <<object>> parameters that are DHCPv6-specific are ignored. If <<param>> is <<enum|DHCPv6>>, then <<object>> parameters that are DHCPv4-specific are ignored.",
					"default": "DHCPv4",
					"datatype": "string",
					"enumerations": [
						"DHCPv4",
						"DHCPv6"
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. <<reference>> This specifies the ingress interface associated with the entry. It MAY be a layer 1, 2 or 3 interface, however, the types of interfaces for which Classifications can be instantiated is a local matter to the CPE. Note that this parameter is permitted to reference Tunnel instances in order to classify upstream packets that have just been encapsulated (such packets are conceptually similar to locally-generated traffic). For example, this parameter might reference a <<object|##.GRE.Tunnel>> or a <<object|##.MAP.Domain>> instance.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AllInterfaces": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. This specifies that all ingress interfaces are associated with the entry. If <<true>>, the value of <<param|Interface>> is ignored since all ingress interfaces are indicated.",
					"default": "false",
					"datatype": "boolean"
				},
				"IPVersion": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Specifies the IP protocol version, following the definitions in <<bibref|IANA-ipversionnumbers>>. Valid values are: <<range>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": 4,
							"max": 4
						},
						{
							"min": 6,
							"max": 6
						},
						{
							"min": -1,
							"max": -1
						}
					]
				},
				"DestIP": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Destination IP address. <<empty>> indicates this criterion is not used for classification.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"DestMask": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Destination IP address mask, represented as an IP routing prefix using CIDR notation [RFC4632]. The IP address part MUST be <<empty>> (and, if specified, MUST be ignored).",
					"datatype": "IPPrefix",
					"range": [
						{
							"max": 49
						}
					]
				},
				"DestIPExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the (masked) DestIP entry, if specified. If <<true>>, the class includes all packets except those that match the (masked) DestIP entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourceIP": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Source IP address. <<empty>> indicates this criterion is not used for classification.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"SourceMask": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Source IP address mask, represented as an IP routing prefix using CIDR notation [RFC4632]. The IP address part MUST be <<empty>> (and, if specified, MUST be ignored).",
					"datatype": "IPPrefix",
					"range": [
						{
							"max": 49
						}
					]
				},
				"SourceIPExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the (masked) <<param|SourceIP>> entry, if specified. If <<true>>, the class includes all packets except those that match the (masked) <<param|SourceIP>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"Protocol": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Protocol number. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 255
						}
					]
				},
				"ProtocolExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|Protocol>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|Protocol>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DestPort": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Destination port number. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"DestPortRangeMax": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. If specified, indicates the classification criterion is to include the port range from <<param|DestPort>> through <<param>> (inclusive). If specified, <<param>> MUST be greater than or equal to <<param|DestPort>>. A value of -1 indicates that no port range is specified.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"DestPortExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|DestPort>> entry (or port range), if specified. If <<true>>, the class includes all packets except those that match the <<param|DestPort>> entry (or port range), if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourcePort": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Source port number. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"SourcePortRangeMax": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. If specified, indicates the classification criterion is to include the port range from <<param|SourcePort>> through <<param>> (inclusive). If specified, <<param>> MUST be greater than or equal to SourcePort. A value of -1 indicates that no port range is specified.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"SourcePortExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|SourcePort>> entry (or port range), if specified. If <<true>>, the class includes all packets except those that match the <<param|SourcePort>> entry (or port range), if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourceMACAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Source MAC Address. <<empty>> indicates this criterion is not used for classification.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"SourceMACMask": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Bit-mask for the MAC address, where matching of a packets MAC address with the <<param|SourceMACAddress>> is only to be done for bit positions set to one in the mask. A mask of FF:FF:FF:FF:FF:FF or <<empty>> indicates all bits of the <<param|SourceMACAddress>> are to be used for classification.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"SourceMACExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the (masked) <<param|SourceMACAddress>> entry, if specified. If <<true>>, the class includes all packets except those that match the (masked) <<param|SourceMACAddress>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DestMACAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Destination MAC Address. <<empty>> indicates this criterion is not used for classification. The use of destination MAC address as a classification criterion is primarily useful only for bridged traffic.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"DestMACMask": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Bit-mask for the MAC address, where matching of a packets MAC address with the <<param|DestMACAddress>> is only to be done for bit positions set to one in the mask. A mask of FF:FF:FF:FF:FF:FF or <<empty>> indicates all bits of the <<param|DestMACAddress>> are to be used for classification.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"DestMACExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the (masked) <<param|DestMACAddress>> entry, if specified. If <<true>>, the class includes all packets except those that match the (masked) <<param|DestMACAddress>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"Ethertype": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Ethertype as indicated in either the Ethernet or SNAP Type header. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"EthertypeExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|Ethertype>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|Ethertype>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SSAP": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. SSAP element in the LLC header. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"SSAPExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|SSAP>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|SSAP>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DSAP": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. DSAP element in the LLC header. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"DSAPExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|DSAP>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|DSAP>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"LLCControl": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Control element in the LLC header. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"LLCControlExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|LLCControl>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|LLCControl>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SNAPOUI": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. OUI element in the SNAP header. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"SNAPOUIExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|SNAPOUI>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|SNAPOUI>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourceVendorClassID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Used to identify one or more LAN devices, value of the DHCPv4 Vendor Class Identifier (Option 60) as defined in <<bibref|RFC2132>>, matched according to the criterion in <<param|SourceVendorClassIDMode>>. Case sensitive. This is a normal string, e.g. abc is represented as abc and not say 616263 hex. However, if the value includes non-printing characters then such characters have to be represented using XML escapes, e.g. #x0a for line-feed. <<empty>> indicates this criterion is not used for classification. Note: This parameter is DHCPv4-specific. It only applies when <<param|DHCPType>> is <<enum|DHCPv4|DHCPType>>.",
					"datatype": "string",
					"range": [
						{
							"max": 255
						}
					]
				},
				"SourceVendorClassIDv6": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCPv6 Vendor Class Identifier (Option 16) as defined in <<bibref|RFC8415>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used for classification. Note: This parameter is DHCPv6-specific. It only applies when <<param|DHCPType>> is <<enum|DHCPv6|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SourceVendorClassIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets sourced from LAN devices that match the <<param|SourceVendorClassID>> entry (for <<enum|DHCPv4|DHCPType>>) or the <<param|SourceVendorClassIDv6>> entry (for <<enum|DHCPv6|DHCPType>>), if specified. If <<true>>, the class includes all packets except those sourced from LAN devices that match the <<param|SourceVendorClassID>> entry (for <<enum|DHCPv4|DHCPType>>) or the <<param|SourceVendorClassIDv6>> entry (for <<enum|DHCPv6|DHCPType>>), if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourceVendorClassIDMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SourceVendorClassID pattern match criterion. Enumeration of: Exact, Prefix, Suffix, Substring. For example, if <<param|SourceVendorClassID>> is Example then an Option 60 value of Example device will match with <<param>> values of <<enum|Prefix>> or <<enum|Substring>>, but not with <<enum|Exact>> or <<enum|Suffix>>.",
					"default": "Exact",
					"datatype": "string",
					"enumerations": [
						"Exact",
						"Prefix",
						"Suffix",
						"Substring"
					]
				},
				"DestVendorClassID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Used to identify one or more LAN devices, value of the DHCPv4 Vendor Class Identifier (Option 60) as defined in <<bibref|RFC2132>>, matched according to the criterion in <<param|DestVendorClassIDMode>>. Case sensitive. This is a normal string, e.g. abc is represented as abc and not say 616263 hex. However, if the value includes non-printing characters then such characters have to be represented using XML escapes, e.g. #x0a for line-feed. <<empty>> indicates this criterion is not used for classification. Note: This parameter is DHCPv4-specific. It only applies when <<param|DHCPType>> is <<enum|DHCPv4|DHCPType>>.",
					"datatype": "string",
					"range": [
						{
							"max": 255
						}
					]
				},
				"DestVendorClassIDv6": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCPv6 Vendor Class Identifier (Option 16) as defined in <<bibref|RFC8415>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used for classification. Note: This parameter is DHCPv6-specific. It only applies when <<param|DHCPType>> is <<enum|DHCPv6|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"DestVendorClassIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets destined for LAN devices that match the <<param|DestVendorClassID>> entry (for <<enum|DHCPv4|DHCPType>>) or the <<param|DestVendorClassIDv6>> entry (for <<enum|DHCPv6|DHCPType>>), if specified. If <<true>>, the class includes all packets except those destined for LAN devices that match the <<param|DestVendorClassID>> entry (for <<enum|DHCPv4|DHCPType>>) or the <<param|DestVendorClassIDv6>> entry (for <<enum|DHCPv6|DHCPType>>), if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DestVendorClassIDMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<param|DestVendorClassID>> pattern match criterion. Enumeration of: Exact, Prefix, Suffix, Substring. For example, if <<param|DestVendorClassID>> is Example then an Option 60 value of Example device will match with <<param>> values of <<enum|Prefix>> or <<enum|Substring>>, but not with <<enum|Exact>> or <<enum|Suffix>>.",
					"default": "Exact",
					"datatype": "string",
					"enumerations": [
						"Exact",
						"Prefix",
						"Suffix",
						"Substring"
					]
				},
				"SourceClientID": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP Client Identifier. The DHCP Client Identifier is Option 61 (as defined in <<bibref|RFC2132>>) for <<enum|DHCPv4|DHCPType>>, or is Option 1 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used for classification. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>. Note: DHCPv6 Option 1 (Client Identifier) is sometimes referred to as DUID.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SourceClientIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets sourced from LAN devices that match the <<param|SourceClientID>> entry, if specified. If <<true>>, the class includes all packets except those sourced from LAN devices that match the <<param|SourceClientID>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DestClientID": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP Client Identifier. The DHCP Client Identifier is Option 61 (as defined in <<bibref|RFC2132>>) for <<enum|DHCPv4|DHCPType>>, or is Option 1 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used for classification. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>. Note: DHCPv6 Option 1 (Client Identifier) is sometimes referred to as DUID.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"DestClientIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets destined for LAN devices that match the <<param|DestClientID>> entry, if specified. If <<true>>, the class includes all packets except those destined for LAN devices that match the <<param|DestClientID>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourceUserClassID": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP User Class Identifier. The DHCP User Class Identifier is Option 77 (as defined in <<bibref|RFC3004>>) for <<enum|DHCPv4|DHCPType>>, or is Option 15 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used for classification. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SourceUserClassIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets sourced from LAN devices that match the <<param|SourceUserClassID>> entry, if specified. If <<true>>, the class includes all packets except those sourced from LAN devices that match the <<param|SourceUserClassID>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DestUserClassID": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP User Class Identifier. The DHCP User Class Identifier is Option 77 (as defined in <<bibref|RFC3004>>) for <<enum|DHCPv4|DHCPType>>, or is Option 15 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used for classification. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"DestUserClassIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets destined for LAN devices that match the <<param|DestUserClassID>> entry, if specified. If <<true>>, the class includes all packets except those destined for LAN devices that match the <<param|DestUserClassID>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourceVendorSpecificInfo": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP Vendor-specific Information, matched according to the criteria in <<param|SourceVendorSpecificInfoEnterprise>> and <<param|SourceVendorSpecificInfoSubOption>>. The DHCP Vendor-specific Information is Option 125 (as defined in <<bibref|RFC3925>>) for <<enum|DHCPv4|DHCPType>>, or is Option 17 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. <<empty>> indicates this criterion is not used for classification. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SourceVendorSpecificInfoExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets sourced from LAN devices that match the <<param|SourceVendorSpecificInfo>> entry, if specified. If <<true>>, the class includes all packets except those sourced from LAN devices that match the <<param|SourceVendorSpecificInfo>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"SourceVendorSpecificInfoEnterprise": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<param|SourceVendorSpecificInfo>> Enterprise Number as defined in <<bibref|RFC3925>>. The default value (0) is assigned to IANA and will probably need to be replaced with an appropriate enterprise number.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"SourceVendorSpecificInfoSubOption": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<param|SourceVendorSpecificInfo>> Sub Option Code as defined in <<bibref|RFC3925>>.",
					"default": "0",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 255
						}
					]
				},
				"DestVendorSpecificInfo": {
					"type": "hexBinary",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP Vendor-specific Information, matched according to the criteria in <<param|DestVendorSpecificInfoEnterprise>> and <<param|DestVendorSpecificInfoSubOption>>. The DHCP Vendor-specific Information is Option 125 (as defined in <<bibref|RFC3925>>) for <<enum|DHCPv4|DHCPType>>, or is Option 17 (as defined in <<bibref|RFC8415>>) for <<enum|DHCPv6|DHCPType>>. <<empty>> indicates this criterion is not used for classification. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. Note: This parameter is DHCP version neutral. The specific DHCP version in use with this parameter is indicated by <<param|DHCPType>>.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"DestVendorSpecificInfoExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets destined for LAN devices that match the <<param|DestVendorSpecificInfo>> entry, if specified. If <<true>>, the class includes all packets except those destined for LAN devices that match the <<param|DestVendorSpecificInfo>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DestVendorSpecificInfoEnterprise": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<param|DestVendorSpecificInfo>> Enterprise Number as defined in <<bibref|RFC3925>>. The default value (0) is assigned to IANA and will probably need to be replaced with an appropriate enterprise number.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"DestVendorSpecificInfoSubOption": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<param|DestVendorSpecificInfo>> Sub Option Code as defined in <<bibref|RFC3925>>.",
					"default": "0",
					"datatype": "int",
					"range": [
						{
							"min": 0,
							"max": 255
						}
					]
				},
				"TCPACK": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. If <<false>>, this criterion is not used for classification. If <<true>>, this criterion matches with all TCP segments that have the ACK control bit set.",
					"default": "false",
					"datatype": "boolean"
				},
				"TCPACKExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|TCPACK>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|TCPACK>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"IPLengthMin": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Minimum IP Packet Length (including header) in <<units>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"IPLengthMax": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Maximum IP Packet Length (including header) in <<units>>. A value of zero indicates that no maximum is specified (an umlimited maximum length).",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"IPLengthExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets whose length (including header) falls within the inclusive range <<param|IPLengthMin>> through <<param|IPLengthMax>>. A value of zero for both <<param|IPLengthMin>> and <<param|IPLengthMax>> allows any length packet. An equal non-zero value of <<param|IPLengthMin>> and <<param|IPLengthMax>> allows only a packet with the exact length specified. If <<true>>, the class includes all packets except those whose length (including header) falls within the inclusive range <<param|IPLengthMin>> through <<param|IPLengthMax>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"DSCPCheck": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. DiffServ codepoint (defined in <<bibref|RFC2474>>). If set to a Class Selector Codepoint (defined in <<bibref|RFC2474>>), all DSCP values that match the first 3 bits will be considered a valid match. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 63
						}
					]
				},
				"DSCPExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|DSCPCheck>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|DSCPCheck>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"DSCPMark": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification result. DSCP to mark traffic with that falls into this classification entry. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of DSCP based upon the EthernetPriority value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -2
						}
					]
				},
				"EthernetPriorityCheck": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Current Ethernet priority of a VLAN Tag as defined in <<bibref|802.1Q-2011>> or Ethernet Priority field as defined in 802.1D. If more than 1 VLAN tag is present, then this parameter represents the outer VLAN Tag. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"EthernetPriorityExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|EthernetPriorityCheck>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|EthernetPriorityCheck>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"EthernetPriorityMark": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification result. Ethernet priority code (as defined in <<bibref|802.1Q-2011>>) to mark traffic with that falls into this classification entry associated with the <<param|EthernetPriorityCheck>>. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -2
						}
					]
				},
				"InnerEthernetPriorityCheck": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Current Ethernet priority of the inner VLAN Tag as defined in 802.1Q. This parameter is only applicable when the PDU has 2 VLAN Tags. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"InnerEthernetPriorityExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|InnerEthernetPriorityCheck>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|InnerEthernetPriorityCheck>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"InnerEthernetPriorityMark": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification result. Ethernet priority code to mark traffic with that falls into this classification entry associated with the <<param|InnerEthernetPriorityCheck>>. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -2
						}
					]
				},
				"EthernetDEICheck": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Current Ethernet Drop eligible Indication (DEI) of the VLAN tag as defined in 802.1Q. If 2 VLAN Tags are present, then this parameter represents the outer VLAN tag. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"EthernetDEIExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|EthernetDEICheck>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|EthernetDEICheck>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"VLANIDCheck": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Current Ethernet VLAN ID as defined in 802.1Q. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"VLANIDExclude": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the class includes only those packets that match the <<param|VLANIDCheck>> entry, if specified. If <<true>>, the class includes all packets except those that match the <<param|VLANIDCheck>> entry, if specified.",
					"default": "false",
					"datatype": "boolean"
				},
				"OutOfBandInfo": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification criterion. Allows traffic to be distinguished based on out-of-band information such as physical port or application ID. Primarily intended for, but not restricted to, locally sourced traffic. If specified, this entry applies to traffic with matching out-of-band information. A value of -1 indicates this criterion is not used for classification.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"ForwardingPolicy": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification result. Identifier of the forwarding policy associated with traffic that falls in this classification.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"TrafficClass": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification result. Identifier of the traffic class associated with traffic that falls in this classification. If specified, at least one <<object|#.Queue>> table entry MUST include this traffic class in its <<param|#.Queue.<i>.TrafficClasses>> parameter (which is a comma-separated list). A value of -1 indicates a null traffic class. <<param>> and <<param|App>> are mutually exclusive and one of the two MUST be specified. If <<param>> is <<null>>, <<param|App>> MUST be specified, and vice versa.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"Policer": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification result. <<reference>> Indicates the Policer table entry for traffic that falls in this classification. <<empty>> indicates a null policer. <<param>> MAY optionally be specified in conjunction with <<param|TrafficClass>>. <<param>> and <<param|App>> are mutually exclusive.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"App": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Classification result. <<reference>> Indicates the App table entry for traffic that falls in this classification. <<empty>> indicates a null App. <<param|TrafficClass>> and <<param>> are mutually exclusive and one of the two MUST be specified. If <<param|TrafficClass>> is null, <<param>> MUST be specified, and vice versa.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"Device.QoS.App.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Application table.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this App table entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this App table entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"ProtocolIdentifier": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "URN identifying the protocol associated with the given application. A set of defined URNs is given in <<bibref|TR-181i2|Annex A>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable name associated with this entry in the App table.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"DefaultForwardingPolicy": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the forwarding policy associated with traffic associated with this App table entry, but not associated with any specified flow.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"DefaultTrafficClass": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the traffic class associated with traffic associated with this App table entry, but not associated with any specified flow.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"DefaultPolicer": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Indicates the Policer table entry for traffic associated with this <<object>> table entry, but not associated with any specified flow. <<empty>> indicates a null policer.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"DefaultDSCPMark": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSCP to mark traffic associated with this App table entry, but not associated with any specified flow. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of DSCP based upon the EthernetPriority value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -2
						}
					]
				},
				"DefaultEthernetPriorityMark": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Ethernet priority code (as defined in <<bibref|802.1Q-2011>>) to mark traffic associated with this App table entry, but not associated with any specified flow. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -2
						}
					]
				},
				"DefaultInnerEthernetPriorityMark": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Ethernet priority code (as defined in <<bibref|802.1Q-2011>>) to mark the inner VLAN Tags as defined in 802.1Q with this <<object>> table entry where the packet is not associated with any specified flow. This parameter is only applicable when the PDU has 2 VLAN Tags. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
					"datatype": "int",
					"range": [
						{
							"min": -2
						}
					]
				}
			},
			"Device.QoS.Flow.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Flow table.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this Flow table entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this Flow table entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "URN identifying the type of flow to be associated with the specified policer. A set of defined URNs is given in <<bibref|TR-181i2|Annex A>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"TypeParameters": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each entry is a name-value pair representing additional criteria to identify the flow type. The use and interpretation is specific to the particular FlowType URN.Encoded using the x-www-form-urlencoded content type defined in <<bibref|HTML4.01>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable name associated with this entry in the Flow table.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"App": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Indicates the App table entry associated with this flow. <<empty>> indicates the flow table is not associated with any App table entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ForwardingPolicy": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the forwarding policy associated with this flow.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"TrafficClass": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the traffic class associated with this flow.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"Policer": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Indicates the Policer table entry for traffic that falls in this flow. <<empty>> indicates a null policer.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"DSCPMark": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DSCP to mark traffic with that falls into this flow. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of DSCP based upon the EthernetPriority value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -2
						}
					]
				},
				"EthernetPriorityMark": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Ethernet priority code (as defined in <<bibref|802.1Q-2011>>) to mark traffic with that falls into this flow. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -2
						}
					]
				},
				"InnerEthernetPriorityMark": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Ethernet priority code (as defined in <<bibref|802.1Q-2011>>) to mark the inner VLAN Tags with for traffic that falls into this flow. A value of -1 indicates no change from the incoming packet. A value of -2 indicates automatic marking of EthernetPriority based upon the DSCP value of the incoming packet as defined in <<bibref|TR-181i2|Annex A>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -2
						}
					]
				}
			},
			"Device.QoS.Policer.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Policer table.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this policer.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this policer. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"CommittedRate": {
					"type": "unsignedLong",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Committed rate allowed for this policer in <<units>>. Note: To be able to support higher bit rates, this parameter was changed to unsignedLong in the Device:2.18 version.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "bits per second"
				},
				"CommittedBurstSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Committed Burstsize in <<units>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"ExcessBurstSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Excess Burstsize in <<units>>. Applied for a <<enum|SingleRateThreeColor|MeterType>> meter.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"PeakRate": {
					"type": "unsignedLong",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Peak rate allowed for this Meter in <<units>>. Applied for <<enum|TwoRateThreeColor|MeterType>> meters. Note: To be able to support higher bit rates, this parameter was changed to unsignedLong in the Device:2.18 version.",
					"default": "0",
					"datatype": "unsignedLong",
					"unit": "bits per second"
				},
				"PeakBurstSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Peak Burstsize in <<units>>. Applied for <<enum|TwoRateThreeColor|MeterType>> meters.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"MeterType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies the method of traffic measurement to be used for this policer. <<enum|SimpleTokenBucket>> makes use of <<param|CommittedRate>> and <<param|CommittedBurstSize>>. <<enum|SingleRateThreeColor>> makes use of <<param|CommittedRate>>, <<param|CommittedBurstSize>>, and <<param|ExcessBurstSize>> as defined in <<bibref|RFC2697>>. <<enum|TwoRateThreeColor>> makes use of <<param|CommittedRate>>, <<param|CommittedBurstSize>>, <<param|PeakRate>>, and <<param|PeakBurstSize>> as defined in <<bibref|RFC2698>>.",
					"default": "SimpleTokenBucket",
					"datatype": "string"
				},
				"PossibleMeterTypes": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates supported meter types.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"SimpleTokenBucket",
							"SingleRateThreeColor",
							"TwoRateThreeColor"
						]
					}
				},
				"ConformingAction": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Instructions for how to handle traffic that is conforming. <<pattern>> <<pattern|Null>> corresponds with no action. <DSCP Value> is an unsigned integer that corresponds with a mark action overwriting the traffics DSCP with the configured DSCP. <:Ethernet Priority> is a colon (:) followed by an unsigned integer (no white space). It corresponds with a mark action overwriting the traffics Ethernet Priority with the configured Ethernet Priority. <DSCP Value:Ethernet Priority> is an unsigned integer followed by a colon (:) and a second unsigned integer (no white space). It corresponds with a mark action overwriting the traffics DSCP and Ethernet Priority with the configured values. For example, 24 specifies a DSCP value of 24, :3 specifies an Ethernet Priority of 3, and 24:3 specifies both.",
					"default": "Null",
					"datatype": "string",
					"pattern": [
						"Null",
						"Drop",
						"[0-9]|[1-5][0-9]|6[0-3]",
						":[0-7]",
						"([0-9]|[1-5][0-9]|6[0-3]):[0-7]"
					]
				},
				"PartialConformingAction": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Instructions for how to handle traffic that is partially conforming (colored yellow). <<pattern>> <<pattern|Null>> corresponds with no action. <DSCP Value> is an unsigned integer that corresponds with a mark action overwriting the traffics DSCP with the configured DSCP.Only applies for three-color meters. <:Ethernet Priority> is a colon (:) followed by an unsigned integer (no white space). It corresponds with a mark action overwriting the traffics Ethernet Priority with the configured Ethernet Priority. <DSCP Value:Ethernet Priority> is an unsigned integer followed by a colon (:) and a second unsigned integer (no white space). It corresponds with a mark action overwriting the traffics DSCP and Ethernet Priority with the configured values. For example, 24 specifies a DSCP value of 24, :3 specifies an Ethernet Priority of 3, and 24:3 specifies both.",
					"default": "Drop",
					"datatype": "string",
					"pattern": [
						"Null",
						"Drop",
						"[0-9]|[1-5][0-9]|6[0-3]",
						":[0-7]",
						"([0-9]|[1-5][0-9]|6[0-3]):[0-7]"
					]
				},
				"NonConformingAction": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Instructions for how to handle traffic that is non-conforming. <<pattern>> <<pattern|Null>> corresponds with no action. <DSCP Value> is an unsigned integer that corresponds with a mark action overwriting the traffics DSCP with the configured DSCP. <:Ethernet Priority> is a colon (:) followed by an unsigned integer (no white space). It corresponds with a mark action overwriting the traffics Ethernet Priority with the configured Ethernet Priority. <DSCP Value:Ethernet Priority> is an unsigned integer followed by a colon (:) and a second unsigned integer (no white space). It corresponds with a mark action overwriting the traffics DSCP and Ethernet Priority with the configured values. For example, 24 specifies a DSCP value of 24, :3 specifies an Ethernet Priority of 3, and 24:3 specifies both.",
					"default": "Drop",
					"datatype": "string",
					"pattern": [
						"Null",
						"Drop",
						"[0-9]|[1-5][0-9]|6[0-3]",
						":[0-7]",
						"([0-9]|[1-5][0-9]|6[0-3]):[0-7]"
					]
				},
				"TotalCountedPackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Total number of Packets counted by this policer, regardless of meter action.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"TotalCountedBytes": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Total number of Bytes counted by this policer, regardless of meter action.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"ConformingCountedPackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of conforming Packets counted by this policer, regardless of meter action.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"ConformingCountedBytes": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of conforming Bytes counted by this policer, regardless of meter action.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"PartiallyConformingCountedPackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of partially conforming Packets counted by this policer, regardless of meter action.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"PartiallyConformingCountedBytes": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of partially conforming Bytes counted by this policer, regardless of meter action.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"NonConformingCountedPackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of non-conforming Packets counted by this policer, regardless of meter action.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"NonConformingCountedBytes": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of non-conforming Bytes counted by this policer, regardless of meter action.",
					"default": "0",
					"datatype": "unsignedInt"
				}
			},
			"Device.QoS.Queue.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Queue table. Each entry is associated with a set of traffic classes, which are specified via the <<param|TrafficClasses>> parameter, and is configured with weight, precedence, drop algorithm, scheduler algorithm etc as appropriate for the traffic classes. An entry can be associated either with all egress interfaces (in which case an actual queue will be instantiated on each egress interface on which traffic of that traffic class can be generated) or else with a single specified egress interface. For enabled table entries, if <<param|Interface>> is not a valid reference and <<param|AllInterfaces>> is <<false>>, then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this queue.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this queue. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Children": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Each reference can be associated with another <<object|##.QoS.Queue.<i>>>, <<object|##.QoS.Shaper.<i>>>, <<object|##.QoS.Scheduler.<i>>> instance object. The references in this parameter are used to build a hierarchy.",
					"list": {
						"datatype": "string"
					}
				},
				"TrafficClasses": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Each list item identifies the set of traffic classes associated with this queue. Traffic is sent to this queue if a <<object|#.Classification>>, <<object|#.App>> or <<object|#.Flow>> table entry specifies a traffic class, e.g. via the <<param|#.Classification.<i>.TrafficClass>> parameter. If more than one queue on a given egress interface is associated with a given traffic class, the implementation will choose which queue to send traffic of this class to.",
					"default": "[]",
					"list": {
						"datatype": "unsignedInt",
						"maxsize": 256
					}
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Specifies the egress interface for which the specified queue MUST exist. This MAY be a layer 1, 2 or 3 interface, however, the types of interfaces for which Queues can be instantiated is a local matter to the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AllInterfaces": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates that the specified queue MUST exist for all egress interfaces (i.e. this queue entry is to apply to all egress interfaces). If <<true>>, the value of <<param|Interface>> is ignored since all egress interfaces are indicated.",
					"default": "false",
					"datatype": "boolean"
				},
				"HardwareAssisted": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether all the queues corresponding to this table entry are hardware assisted. If any of the queues corresponding to this table entry are not hardware assisted, the parameter value MUST be <<false>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"BufferLength": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of <<units>> in the buffer. Queue buffer size for all egress interfaces for which this queue exists. If the buffer size is not the same for all such egress interfaces, this parameter MUST be 0.",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"Weight": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Weight of this queue in case of <<enum|WFQ|SchedulerAlgorithm>> or <<enum|WRR|SchedulerAlgorithm>>, but only used for queues of equal precedence.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"Precedence": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Precedence of this queue relative to others. Lower numbers imply greater precedence.",
					"default": "1",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"REDThreshold": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Random Early Detection threshold, used only when <<param|DropAlgorithm>> is <<enum|RED|DropAlgorithm>>. This is the minimum threshold (min_th) and is measured as a percentage of the queue size. If the value is set to zero, the CPE MUST choose a sensible value, e.g. 5 (but the value MUST still read back as zero). In this version of the data model, there is no way to set the maximum threshold (max_th). The CPE MUST choose a sensible value, e.g. three times the minimum threshold. In this version of the data model, there is no way to set the RED weight (w_q). The CPE MUST choose a sensible value, e.g. 0.002.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 100
						}
					]
				},
				"REDPercentage": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Random Early Detection percentage, used only when <<param|DropAlgorithm>> is <<enum|RED|DropAlgorithm>>. This is the maximum value of the packet marking probability (max_p). If the value is set to zero, the CPE MUST choose a sensible value, e.g. 10 (but the value MUST still read back as zero). In this version of the data model, there is no way to set the RED weight (w_q). The CPE MUST choose a sensible value, e.g. 0.002.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 100
						}
					]
				},
				"DropAlgorithm": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Dropping algorithm used for this queue if congested.",
					"default": "DT",
					"datatype": "string",
					"enumerations": [
						"RED",
						"DT",
						"WRED",
						"BLUE"
					]
				},
				"SchedulerAlgorithm": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Scheduling Algorithm used by scheduler.",
					"default": "SP",
					"datatype": "string",
					"enumerations": [
						"WFQ",
						"WRR",
						"SP"
					]
				},
				"ShapingRate": {
					"type": "long",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Rate to shape this queues traffic to. For leaky bucket (constant rate shaping), this is the constant rate. For token bucket (variable rate shaping), this is the average rate. If <= 100, in percent of the rate of the highest rate-constrained layer over which the packet will travel on egress. If > 100, in bits per second. A value of -1 indicates no shaping. For example, for packets destined for a WAN DSL interface, if the egress will be on a PPP or IP link with a specified ShapingRate, the percentage is calculated relative to this rate. Otherwise, if the ATM layer is rate-constrained, then the rate is calculated relative to this rate. Otherwise, the rate is calculated relative to the physical-layer DSL rate. Note: To be able to support higher bit rates, this parameter was changed to unsignedLong in the Device:2.18 version.",
					"default": "-1",
					"datatype": "long",
					"range": [
						{
							"min": -1
						}
					]
				},
				"CurrentShapingRate": {
					"type": "long",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the Queue is active, the CurrentShapingRate must reflect the actual configured ShapingRate, in <<units>> per second. -1 means no rate due to do Queue not active. Note: To be able to support higher bit rates, this parameter was changed to unsignedLong in the Device:2.18 version.",
					"default": "-1",
					"datatype": "long",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "bits per second"
				},
				"AssuredRate": {
					"type": "long",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Minimum rate to shape this queues traffic to. If <= 100, in percent of the rate of the highest rate-constrained layer over which the packet will travel on egress. If > 100, in bits per second. A value of -1 indicates no shaping. Note: To be able to support higher bit rates, this parameter was changed to unsignedLong in the Device:2.18 version.",
					"default": "-1",
					"datatype": "long",
					"range": [
						{
							"min": -1
						}
					]
				},
				"CurrentAssuredRate": {
					"type": "long",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the Queue is active, the CurrentAssuredRate must reflect the actual configured AssuredRate, in bits per second. -1 means no rate due to do Queue not active. Note: To be able to support higher bit rates, this parameter was changed to unsignedLong in the Device:2.18 version.",
					"default": "-1",
					"datatype": "long",
					"range": [
						{
							"min": -1
						}
					]
				},
				"ShapingBurstSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Burst size in <<units>>. For both leaky bucket (constant rate shaping) and token bucket (variable rate shaping) this is the bucket size and is therefore the maximum burst size.",
					"datatype": "unsignedInt",
					"unit": "bytes"
				}
			},
			"Device.QoS.QueueStats.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Queue statistics table. This table is managed by the Controller, which will create entries only for those <Queue, Interface> combinations for which statistics are to be collected. Note: The <<object>> table includes unique key parameters that are strong references. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Queue",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this object.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this object.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Queue": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Indicates Queue entry with which this object is associated.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Specifies the egress interface for which this object contains statistics. This MAY be a layer 1, 2 or 3 interface, however, the types of interfaces for which QueueStats can be instantiated is a local matter to the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"OutputPackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of packets output through the queue.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"OutputBytes": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of <<units>> output through the queue.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"DroppedPackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of packets dropped by the queue.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"DroppedBytes": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of <<units>> dropped by the queue.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "bytes"
				},
				"QueueOccupancyPackets": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Queue occupancy in packets (gives a measure of queue latency).",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"QueueOccupancyPercentage": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Queue occupancy measured as a <<units>>, i.e. 100 * queue occupancy in bytes / queue size in bytes (gives a measure of queue usage).",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 100
						}
					],
					"unit": "percent"
				}
			},
			"Device.QoS.Shaper.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Shaper table. Used to shape the queue(s) associated with <<param|Interface>>. In case of a single queue for that interface, determines the egress rate of the queue. In case of multiple queues for that interface (possibly with per queue shaping rates), determines the aggregate egress rate on that interface. For enabled table entries, if <<param|Interface>> is not a valid reference then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this shaper.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this shaper. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Children": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Each reference can be associated with another <<object|##.QoS.Queue.<i>>>, <<object|##.QoS.Shaper.<i>>>, <<object|##.QoS.Scheduler.<i>>> instance object. The references in this parameter are used to build a hierarchy.",
					"list": {
						"datatype": "string"
					}
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>>The interface object associated with this Shaper entry. It MAY be a layer 1, 2 or 3 interface, however, the types of interfaces for which Shapers can be instantiated is a local matter to the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ShapingRate": {
					"type": "long",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Rate to shape the associated interface connections egress traffic to. For leaky bucket (constant rate shaping), this is the constant rate. For token bucket (variable rate shaping), this is the average rate. If <= 100, in percent of the rate of the highest rate-constrained layer over which the packet will travel on egress. If > 100, in bits per second. A value of -1 indicates no shaping. For example, for packets destined for a WAN DSL interface, if the ATM layer is rate-constrained, then the rate is calculated relative to this rate. Otherwise, the rate is calculated relative to the physical-layer DSL rate. Note: To be able to support higher bit rates, this parameter was changed to unsignedLong in the Device:2.18 version.",
					"default": "-1",
					"datatype": "long",
					"range": [
						{
							"min": -1
						}
					]
				},
				"ShapingBurstSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Burst size in <<units>>. For both leaky bucket (constant rate shaping) and token bucket (variable rate shaping) this is the bucket size and is therefore the maximum burst size.",
					"datatype": "unsignedInt",
					"unit": "bytes"
				}
			},
			"Device.QoS.Scheduler.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Scheduler table. Each entry is used to model a scheduler object.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this scheduler.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this scheduler. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Children": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Each reference can be associated with another <<object|##.QoS.Queue.<i>>>, <<object|##.QoS.Shaper.<i>>>, <<object|##.QoS.Scheduler.<i>>> instance object. The references in this parameter are used to build a hierarchy.",
					"list": {
						"datatype": "string"
					}
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Specifies the egress interface for which the specified queue MUST exist. This MAY be a layer 1, 2 or 3 interface, however, the types of interfaces for which Queues can be instantiated is a local matter to the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"SchedulerAlgorithm": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Scheduling Algorithm used by scheduler.",
					"default": "SP",
					"datatype": "string",
					"enumerations": [
						"WFQ",
						"WRR",
						"SP"
					]
				},
				"ShapingRate": {
					"type": "long",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Rate to shape this schedulers traffic to. For leaky bucket (constant rate shaping), this is the constant rate. For token bucket (variable rate shaping), this is the average rate. If <= 100, in percent of the rate of the highest rate-constrained layer over which the packet will travel on egress. If > 100, in bits per second. A value of -1 indicates no shaping. Note: To be able to support higher bit rates, this parameter was changed to unsignedLong in the Device:2.18 version.",
					"default": "-1",
					"datatype": "long",
					"range": [
						{
							"min": -1
						}
					]
				},
				"AssuredRate": {
					"type": "long",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Minimum guaranteed rate to shape this schedulers traffic to. Must be > 0 and < ShapingRate, for a valid rate. A value of -1 indicates the ShapingRates value is not used. Note: To be able to support higher bit rates, this parameter was changed to unsignedLong in the Device:2.18 version.",
					"default": "-1",
					"datatype": "long",
					"range": [
						{
							"min": -1
						}
					]
				},
				"DefaultQueue": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value MUST be the Path Name for a <<object|##.QoS.Queue.<i>>> instance. If the referenced object is deleted, the parameter value MUST be set to an empty string.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			}
		},
		"Device.LANConfigSecurity.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains generic device configuration information.",
			"access": false,
			"array": false,
			"ConfigPassword": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "A password to allow LAN access to protected auto-configuration services. If the CPE supports TR-064 (LAN-side DSL CPE Configuration Protocol), this parameter is to be used as the dslf-config password (as defined in TR-064). If the CPE has a user interface with password protection enabled, this parameter is also to be used as the user password for password-protected operations. However, this parameter MUST NOT be used to set the user password if the parameter <<param|#.UserInterface.PasswordUserSelectable>> is <<true>>.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			}
		},
		"Device.Hosts.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object provides information about each of the hosts on the LAN, including those whose IP address was allocated by the CPE using DHCP as well as hosts with statically allocated IP addresses. It can also include non-IP hosts.",
			"access": false,
			"array": false,
			"HostNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"AccessControlNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Hosts.Host.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Host table.",
				"uniqueKeys": [
					"PhysAddress"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. <<deprecated|2.11|because <<object>> is a transient object>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"datatype": "_AliasCWMP"
				},
				"PhysAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Unique physical identifier of the host. For many layer 2 technologies this is typically a MAC address.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"IPAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current IP Address of the host. <<empty>> if no address is available. If more than one IP address for this host is known, the CPE will choose a primary address. All known IP addresses can be listed in the <<object|IPv4Address>> and <<object|IPv6Address>> tables.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"AddressSource": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the IP address of the host was allocated by the CPE using DHCP, was assigned to the host statically, or was assigned using automatic IP address allocation. Enumeration of: DHCP, Static, AutoIP, None. <<deprecated|2.11|because only <<enum|None>> and <<enum|DHCP>> made sense (the CPE doesnt know whether the address is <<enum|Static>> or <<enum|AutoIP>>). The <<enum|DHCP>> case is now handled via the <<param|DHCPClient>> reference>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"datatype": "string",
					"enumerations": [
						"DHCP",
						"Static",
						"AutoIP",
						"None"
					]
				},
				"DHCPClient": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Each list item is the DHCPv4 or DHCPv6 servers client entry that corresponds to the host.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 2
						}
					}
				},
				"LeaseTimeRemaining": {
					"type": "int",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DHCP lease time remaining in <<units>>. A value of -1 indicates an infinite lease. The value MUST be 0 (zero) if the <<param|AddressSource>> is not <<enum|DHCP|AddressSource>>. <<deprecated|2.11|because DHCP lease/lifetime information can be accessed via the <<param|DHCPClient>> reference>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "seconds"
				},
				"AssociatedDevice": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<noreference>>The value MUST be the path name of the AssociatedDevice (or equivalent) table row that models the host, or <<null>> if either there is no such table or the host isnt directly connected to this device (e.g. the host is connected to a Wi-Fi Access Point). For example: Device.WiFi.AccessPoint.1.AssociatedDevice.2",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Layer1Interface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<noreference>>The value MUST be the path name of a row in a layer 1 interface table. If either the layer 1 interface isnt known or the host isnt directly connected to this device (e.g. the host is connected to a Wi-Fi Access Point), then <<param>> will be <<null>>. For example: Device.Ethernet.Interface.2",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Layer3Interface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> If either the layer 3 interface isnt known or the host isnt directly connected to this device (e.g. the host is connected to a Wi-Fi Access Point), then <<param>> will be <<null>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"InterfaceType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Type of physical interface through which this host is connected.",
					"datatype": "string",
					"enumerations": [
						"Ethernet",
						"G.hn",
						"HPNA",
						"HomePlug",
						"MoCA",
						"UPA",
						"Wi-Fi",
						"Other"
					]
				},
				"VendorClassID": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Vendor Class Identifier DHCP option (Option 60) of the host. This is a normal string, e.g. abc is represented as abc and not say 616263 hex. However, if the value includes non-printing characters then such characters have to be represented using XML escapes, e.g. #x0a for line-feed. It MAY be defined when <<param|AddressSource>> is <<enum|DHCP|AddressSource>>. <<empty>> indicates this option is not used. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. <<deprecated|2.11|because host-supplied DHCP options can be accessed via the <<param|DHCPClient>> reference>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"datatype": "string",
					"range": [
						{
							"max": 255
						}
					]
				},
				"ClientID": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A hexbinary string, Client Identifier DHCP option (Option 61) for the specific IP connection of the client. The option value is binary, so an exact match is REQUIRED. It MAY be defined when <<param|AddressSource>> is <<enum|DHCP|AddressSource>>. <<empty>> indicates this option is not used. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. <<deprecated|2.11|because host-supplied DHCP options can be accessed via the <<param|DHCPClient>> reference>> <<obsoleted|2.14>> <<deleted|2.15>>",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"UserClassID": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A hexbinary string, User Class Identifier DHCP option (Option 77) of the host. It MAY be defined when <<param|AddressSource|deleted>> is <<enum|DHCP|AddressSource>>. <<empty>> indicates this option is not used. Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535. <<deprecated|2.11|because host-supplied DHCP options can be accessed via the <<param|DHCPClient>> reference>> <<obsoleted|2.15>> <<deleted|2.16>>",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"HostName": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The devices host name or <<empty>> if unknown.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Active": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether or not the host is currently present on the LAN. The method of presence detection is a local matter to the CPE. The ability to list inactive hosts is OPTIONAL. If the CPE includes inactive hosts in this table, <<param>> MUST be set to <<false>> for each inactive host. The length of time an inactive host remains listed in this table is a local matter to the CPE. Entries in Device.Hosts.Host SHOULD NOT be removed when they become inactive if there are <<object|WANStats>> statistics collected for the entry in the past seven days.",
					"datatype": "boolean"
				},
				"ActiveLastChange": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The datetime when <<param|Active>> last changed from <<true>> to <<false>> or from <<false>> to <<true>>. The initial detection of a host SHOULD be treated as a transition from <<false>> to <<true>>, showing the datetime when the host was first detected. The ability to list inactive hosts is OPTIONAL. The length of time an inactive host remains listed in this table is a local matter to the CPE. Entries in Device.Hosts.Host SHOULD NOT be removed when they become inactive if there are <<object|WANStats>> statistics collected for the entry in the past seven days.",
					"datatype": "dateTime"
				},
				"IPv4AddressNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"IPv6AddressNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.Hosts.Host.{i}.IPv4Address.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The hosts known IPv4 addresses. This includes any addresses assigned via DHCP, which can also be accessed via the <<param|#.DHCPClient>> reference.",
					"uniqueKeys": [
						"IPAddress"
					],
					"access": false,
					"array": true,
					"IPAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv4 address.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					}
				},
				"Device.Hosts.Host.{i}.IPv6Address.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The hosts known IPv6 addresses. This includes any addresses assigned via DHCP, which can also be accessed via the <<param|#.DHCPClient>> reference.",
					"uniqueKeys": [
						"IPAddress"
					],
					"access": false,
					"array": true,
					"IPAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv6 address.",
						"datatype": "IPv6Address"
					}
				},
				"Device.Hosts.Host.{i}.WANStats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "These count bytes or packets at the IP layer sent to the WAN, or received from the WAN.",
					"access": false,
					"array": false,
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of bytes transmitted to the WAN from the Host device at the IP layer.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of bytes received from the WAN and sent to the Host device at the IP layer.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of IP packets transmitted to the WAN from the Host device.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of IP packets received from the WAN and sent to the Host device.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound IP packets to the WAN from the Host device that could not be transmitted because of errors. These may be due to the number of retransmissions exceeding the retry limit, or from other causes.",
						"datatype": "StatsCounter32"
					},
					"RetransCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of transmitted IP packets to the WAN from the Host device which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound IP packets which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					}
				}
			},
			"Device.Hosts.AccessControl.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Every instance of this object provides access control for a LAN device. Access is allowed if no instance of <<object>> is defined for a device. If access is not allowed, then the LAN device cannot access the broadband network.",
				"uniqueKeys": [
					"Alias",
					"PhysAddress"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Origin": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the owner of the <<object>> instance. Note: This parameter was changed to writeOnceReadOnly in the Device:2.18 version. Note: This parameter was reverted back to readOnly in the Device 2.19 version.",
					"default": "Controller",
					"datatype": "string",
					"enumerations": [
						"User",
						"System",
						"Controller"
					]
				},
				"PhysAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Unique physical identifier of the device. For many layer 2 technologies this is typically a MAC address.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"PhysAddressMask": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Mask to be applied on <<param|PhysAddress>>. When set to FF:FF:FF:FF:FF:FF the access control rule is applicable to a single host. Other possible values FF:FF:FF:00:00:00 to apply access control to a specific OUI. When <<empty>> is set, no mask will be applied and the <<param|PhysAddress>> MUST be used as is.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"HostName": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Any user defined name for the device.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"AccessPolicy": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allows or denies access for a device. If <<param>> is set to Allow, device access is allowed based on the <<object|.Schedules.Schedule>> objects referenced by the <<param|ScheduleRef>> parameter. Access is enabled if there is no <<object|.Schedules.Schedule>> object referenced by the <<param|ScheduleRef>> parameter. If <<param>> is set to Deny, <<object|.Schedules.Schedule>> objects referenced by the <<param|ScheduleRef>> parameter are ignored and no access is allowed for the device.",
					"default": "Allow",
					"datatype": "string",
					"enumerations": [
						"Allow",
						"Deny"
					]
				},
				"ScheduleRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each reference provides a schedule where time based access can be enabled. When <<param>> is <<empty>> the <<object>> is not scheduled, and the <<param|Enable>> defines the operational state.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				},
				"ScheduleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<deprecated|2.18|in favor of <<object|.Schedules.>>>> <<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.Hosts.AccessControl.{i}.Schedule.{i}.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<deprecated|2.18|in favor of <<object|.Schedules.>>>> Each instance of this object provides a schedule where access is enabled.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Day": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list|the days for which access is enabled>> Enumeration of: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"Monday",
								"Tuesday",
								"Wednesday",
								"Thursday",
								"Friday",
								"Saturday",
								"Sunday"
							]
						}
					},
					"StartTime": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Start time of the enable schedule in hh:mm format. [hh] refers to a zero-padded hour between 00 and 23. [mm] refers to a zero-padded minute between 00 and 59. Start time is in local time zone.",
						"datatype": "string",
						"range": [
							{
								"max": 5
							}
						],
						"pattern": [
							"",
							"([01][0-9]|2[0-3]):[0-5][0-9]"
						]
					},
					"Duration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The duration, in <<units>>, which the access is enabled. If the <<param|StartTime>> is not defined, duration is the total time access is allowed during a calendar day. If a <<param|StartTime>> is defined, access is allowed for the <<param>> period starting from <<param|StartTime>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "seconds"
					}
				}
			}
		},
		"Device.DNS.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Properties for Domain Name Service (DNS).",
			"access": false,
			"array": false,
			"SupportedRecordTypes": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The DNS record types that are supported by the device. Enumeration of: A, AAAA, SRV, PTR.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"A",
						"AAAA",
						"SRV",
						"PTR"
					]
				}
			},
			"ZoneNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.DNS.Zone.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object specifies Zone file configuration of the DNS server.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the DNS zone.",
					"datatype": "boolean"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Domain name that is associated with the zone.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"Origin": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The mechanism via which the Zone was created. Note: This parameter was changed to writeOnceReadOnly in the Device:2.18 version. Note: This parameter was reverted back to readOnly in the Device 2.19 version.",
					"default": "System",
					"datatype": "string",
					"enumerations": [
						"User",
						"System",
						"Controller"
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the Layer 3 interface on which the zone should be available. Example: Device.IP.Interface.1 or Device.Logical.Interface.1.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"HostNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DNS.Zone.{i}.Host.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object specifies the resource records (RR) of the DNS zone.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the entry in the zone file.",
						"datatype": "boolean"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "List of hostnames that are associated with the <<object>>.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 128
								}
							]
						}
					},
					"Origin": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the owner of the <<object>> instance. Note: This parameter was changed to writeOnceReadOnly in the Device:2.18 version. Note: This parameter was reverted back to readOnly in the Device 2.19 version.",
						"default": "System",
						"datatype": "string",
						"enumerations": [
							"User",
							"System",
							"Controller"
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Host table entries associated with the device.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"LastUpdate": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time in UTC when the entry was last changed.",
						"datatype": "dateTime"
					}
				}
			},
			"Device.DNS.Client.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Client properties for Domain Name Service (DNS). The DNS client resolves FQDN on behalf of device internal (client) applications.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the DNS client.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of the DNS client. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"ServerNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DNS.Client.Server.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains the DNS Server IP address to be used by the DNS Client (it does not model a DNS Server). Entries are either automatically created as result of DHCP (v4 or v6), IPCP, 3GPP-NAS (3GPP Non Access Stratum), or RA received DNS server information, or are statically configured by the Controller.",
					"uniqueKeys": [
						"DNSServer",
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"DNSServer": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DNS server IP address. Note: <<param>> is only writable when <<param|Type>> is <<enum|Static|Type>>; otherwise, <<param>> is automatically configured as result of DHCP, IPCP, 3GPP-NAS, or RA received DNS server information.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> This parameter specifies the IP interface over which the DNS query is sent. <<template|INTERFACE-ROUTING>> Note: <<param>> is only writable when <<param|Type>> is <<enum|Static|Type>>; otherwise, <<param>> is automatically configured as result of DHCP, IPCP, 3GPP-NAS, or RA received DNS server information.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Method used to assign the <<param|DNSServer>> address. Enumeration of: DHCP, DHCPv4, DHCPv6, RouterAdvertisement, IPCP, 3GPP-NAS, Static. Table entries that are automatically created as result of DHCP, IPCP, 3GPP-NAS, or RA received DNS server information will have <<param>> set to <<enum|DHCPv4>>, <<enum|DHCPv6>>, <<enum|IPCP>>, <<enum|3GPP-NAS>> or <<enum|RouterAdvertisement>>, as the case may be. Manually created table entries will have their <<param>> set to <<enum|Static>>.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"DHCP",
							"DHCPv4",
							"DHCPv6",
							"RouterAdvertisement",
							"IPCP",
							"3GPP-NAS",
							"Static"
						]
					}
				}
			},
			"Device.DNS.Relay.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DNS Relay object. The DNS proxy (or relay) function allows the forwarding of local network DNS queries to local or external DNS server(s) <<bibref|RFC5625>>.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the DNS Relay function.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of the DNS relay. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"ConfigNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ForwardNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DNS.Relay.Config.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object is used to specify the cache configuration for each Forwarding relay.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Forwarders": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the list of the DNS forwarders to be used.",
						"default": "[]",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> Specifies the IP interface over which the DNS query is received. This is usually the LAN interface. <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"CacheSize": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the size of cache in kilobytes. When 0 is specified, no DNS results will be cached.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"CacheMinTTL": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the minimum TTL amount of time, in <<units>>, that an entry MUST be kept in the cache regardless of what has been specified by the domain owner. When 0 is specified, then the TTL chosen by the domain owner will be applied.",
						"default": "0",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"CacheMaxTTL": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the maximum TTL amount of time, in <<units>>, than an entry MUST be kept in the cache regardless of what has been specified by the domain owner. When 0 is specified, then the TTL chosen by the domain owner will be applied.",
						"default": "86400",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"FlushCache()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.DNS.Relay.Forwarding.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DNS Server forwarding policy to be used by the DNS Relay. Entries are either automatically created as result of DHCP (v4 or v6), IPCP, 3GPP-NAS (3GPP Non Access Stratum) or RA received DNS server information, or are statically configured by the Controller. Note: Management of re-directing queries to the device embedded DNS server is not defined in this version of the specification.",
					"uniqueKeys": [
						"DNSServer",
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"DNSServer": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DNS server IP address. Note: <<param>> is only writable when <<param|Type>> is <<enum|Static|Type>>; otherwise, <<param>> is automatically configured as result of DHCP, IPCP, 3GPP-NAS or RA received DNS server information.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> Specifies the IP interface over which the DNS query is sent. <<template|INTERFACE-ROUTING>> Note: <<param>> is only writable when <<param|Type>> is <<enum|Static|Type>>; otherwise, <<param>> is automatically configured as result of DHCP, IPCP, 3GPP-NAS or RA received DNS server information.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Method used to assign the <<param|DNSServer>> address. Enumeration of: DHCP, DHCPv4, DHCPv6, RouterAdvertisement, IPCP, 3GPP-NAS, Static. Table entries that are automatically created as result of DHCP, IPCP, 3GPP-NAS, or RA received DNS server information will have <<param>> set to <<enum|DHCPv4>>, <<enum|DHCPv6>>, <<enum|IPCP>>, <<enum|3GPP-NAS>>, or <<enum|RouterAdvertisement>>, as the case may be. Manually created table entries will have their <<param>> set to <<enum|Static>>.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"DHCP",
							"DHCPv4",
							"DHCPv6",
							"RouterAdvertisement",
							"IPCP",
							"3GPP-NAS",
							"Static"
						]
					}
				}
			},
			"Device.DNS.Diagnostics.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The DNS Diagnostics object containing the <<object|NSLookupDiagnostics>> test.",
				"access": false,
				"array": false,
				"NSLookupDiagnostics()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Interface": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference>> The layer 3 interface over which the test is to be performed. Example: Device.IP.Interface.1. <<template|INTERFACE-ROUTING>>",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"HostName": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Specifies the Host Name that NS Lookup is to look for. The current domain name MUST be used unless the name is a fully qualified name.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"DNSServer": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Specifies the DNS Server name or IP address that NS Lookup is to use for the lookup. The name of this server will be resolved using the default DNS server unless an IP address is provided. If <<empty>> is specified, the devices default DNS server will be used.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Timeout": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Timeout in <<units>> that indicates that a request has failed.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						},
						"NumberOfRepetitions": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The number of times the device SHOULD repeat the execution of the NSLookup using the same input parameters. If the diagnostics test fails the CPE MAY terminate the test without completing the full number of repetitions. Each repetition will use a Result instance to hold the NSLookup result data.",
							"datatype": "unsignedInt"
						}
					},
					"output": {
						"Status": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the availability of diagnostics data. Enumeration of: Complete, Error_DNSServerNotResolved, Error_Internal, Error_Other. If the value of this parameter is anything other than <<enum|Complete>>, the values of the other results parameters for this test are indeterminate.",
							"datatype": "string",
							"enumerations": [
								"Complete",
								"Error_DNSServerNotResolved",
								"Error_Internal",
								"Error_Other"
							]
						},
						"SuccessCount": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Number of successfully executed repetitions.",
							"datatype": "unsignedInt"
						}
					}
				},
				"Device.DNS.Diagnostics.NSLookupDiagnostics.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object defines access to an IP-layer NS Lookup test for the specified IP interface. When initiated, the NS Lookup test will contact <<param|DNSServer>> and look up <<param|HostName>> <<param|NumberOfRepetitions>> times. There will be a <<object|Result>> instance for each time the device performs a DNS lookup, which is determined by the value of <<param|NumberOfRepetitions>>. Any previous <<object|Result>> instances are removed when a new test is initiated.",
					"access": false,
					"array": false,
					"DiagnosticsState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
						"datatype": "DiagnosticsState",
						"enumerations": [
							"None",
							"Requested",
							"Canceled",
							"Complete",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>> The layer 3 interface over which the test is to be performed. Example: Device.IP.Interface.1. <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"HostName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Specifies the Host Name that NS Lookup is to look for. The current domain name MUST be used unless the name is a fully qualified name.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"DNSServer": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Specifies the DNS Server name or IP address that NS Lookup is to use for the lookup. The name of this server will be resolved using the default DNS server unless an IP address is provided. If <<empty>> is specified, the devices default DNS server will be used.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Timeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Timeout in <<units>> that indicates that a request has failed.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"NumberOfRepetitions": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The number of times the device SHOULD repeat the execution of the NSLookup using the same input parameters. If the diagnostics test fails the CPE MAY terminate the test without completing the full number of repetitions. Each repetition will use a Result instance to hold the NSLookup result data.",
						"datatype": "unsignedInt"
					},
					"ResultNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>> Total number of Result entries from the most recent invocation of the test.",
						"datatype": "unsignedInt"
					},
					"SuccessCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Number of successfully executed repetitions.",
						"datatype": "unsignedInt"
					},
					"Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Results from the most recent invocation of the test, one instance per repetition.",
						"access": false,
						"array": true,
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Result Parameter to represent whether the NS Lookup was successful or not. Errors for individual Result instances do not get bubbled up to <<param|#.DiagnosticsState>>. A failure on a specific attempt does not mean that the overall test failed, but a failure on all attempts means that <<param|#.DiagnosticsState>> SHOULD be <<enum|Error_Other|#.DiagnosticsState>>.",
							"datatype": "string",
							"enumerations": [
								"Success",
								"Error_DNSServerNotAvailable",
								"Error_HostNameNotResolved",
								"Error_Timeout",
								"Error_Other"
							]
						},
						"AnswerType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Result parameter to represent whether the answer is Authoritative or not.",
							"datatype": "string",
							"enumerations": [
								"None",
								"Authoritative",
								"NonAuthoritative"
							]
						},
						"HostNameReturned": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Result parameter to represent the fully qualified name for the Host Name in the calling parameter (e.g. HostName.DomainName); if no response was provided, then this parameter is <<empty>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"IPAddresses": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<list>> Indicates the IP Address results returned by the NS Lookup; if no response was provided, then this parameter is <<empty>>.",
							"list": {
								"datatype": "IPAddress",
								"item": {
									"max": 10
								},
								"range": [
									{
										"max": 45
									}
								]
							}
						},
						"DNSServerIP": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Result parameter to represent the actual DNS Server IP address that the NS Lookup used.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"ResponseTime": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "Response time (for the first response packet) in <<units>>, or 0 if no response was received.",
							"datatype": "unsignedInt",
							"unit": "milliseconds"
						}
					}
				}
			},
			"Device.DNS.SD.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains the DNS Service Discovery <<bibref|DNS-SD>> object and parameters necessary to discover services and their associated devices. Upon reboot the the contents of the service table are repopulated. When the DNS-SD service is disabled, the contents of the service table is implementation specific.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The parameter, when <<true>>, enables the discovery of DNS-SD services hosted by other devices.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of the DNS service discovery.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"AdvertiseNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ServiceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"AdvertisedInterfaces": {
					"type": "string",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|the <<object|##.IP.Interface>> object instance from which DNS-SD services are advertised>> If this parameter is not supported by an implementation then DNS-SD services are advertised on all LAN interfaces. <<deprecated|2.17|in favor of <<param|Advertise.<i>.Interface>>>> <<obsoleted|2.19>>",
					"list": {
						"datatype": "string"
					}
				},
				"Device.DNS.SD.Advertise.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> table contains DNS-SD services that MUST be advertised. DNS.SD service information is provided in DNS RR SRV records <<bibref|RFC2782>>. The Service Instance Name <<bibref|DNS-SD|Section 4.1 Structured Instance Names>> further specifies information about the service name (RFC2782 Service field) and domain name (RFC2782 Name field) in the form: Service Instance Name = [InstanceName] . [Service] . [Domain] [Service] = _[ApplicationProtocol] . _[TransportProtocol] RFC2782 Service field will always be equal to [InstanceName]. [Service] RFC2782 Name field will always be equal to [Domain] For example, an SSH service might have: *<<param|InstanceName>> = Secure Shell (SSH)) *<<param|ApplicationProtocol>> = ssh *<<param|TransportProtocol>> = TCP *<<param|Port>> = 22",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the advertisement of the DNS-SD service.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the advertised <<object>>.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> The layer 3 interface on which the DNS-SD service MUST be advertised. Example: Device.IP.Interface.1 or Device.Logical.Interface.1. <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"InstanceName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Human-readable instance name <<bibref|DNS-SD|Section 4.1.1 Instance Names>> (i.e. The [<<param>>] portion of the Service Instance Name). Note: This parameter was promoted to readWrite in the Device:2.18 version.",
						"datatype": "string",
						"range": [
							{
								"max": 63
							}
						]
					},
					"ApplicationProtocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Application Protocol, without the leading underscore, associated with the service (e.g., daap) as defined by the DNS-SD service <<bibref|DNS-SD|Section 7 Application Protocol Names>>. Note: This parameter was promoted to readWrite in the Device:2.18 version.",
						"datatype": "string",
						"range": [
							{
								"max": 15
							}
						]
					},
					"TransportProtocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Transport Protocol associated with the service as defined by the DNS-SD service <<bibref|DNS-SD|Section 4.1.2 Service Names>>. Note: This parameter was promoted to readWrite in the Device:2.18 version.",
						"datatype": "string",
						"enumerations": [
							"TCP",
							"UDP"
						]
					},
					"Domain": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value to be entered into the Name field of the DNS SRV record <<bibref|RFC2782>> which represents the fully qualified domain name (FQDN) associated with the service as defined by the DNS-SD service <<bibref|DNS-SD|Section 4.1.3 Domain Names>>. Note: This parameter was promoted to readWrite in the Device:2.18 version.",
						"default": "local",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value to be entered into the Port field of the DNS SRV record <<bibref|RFC2782>> that is used to contact the service. Note: This parameter was promoted to readWrite in the Device:2.18 version.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"TextRecordNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.DNS.SD.Advertise.{i}.TextRecord.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object maintains an instance of a (key/value pairs) of the service. The information is to be provided in the DNS TXT records <<bibref|RFC1035>> of the advertised service. When multiple instances of the <<object>> table have the same value for the <<param|Key>> parameter, the implementation is CPE specific. Note: This object was promoted to readWrite in the Device:2.18 version.",
						"access": true,
						"array": true,
						"Key": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The key that identifies the text record",
							"datatype": "string",
							"range": [
								{
									"max": 255
								}
							]
						},
						"Value": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The value of the text record.",
							"datatype": "string",
							"range": [
								{
									"max": 255
								}
							]
						}
					}
				},
				"Device.DNS.SD.Service.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> table contains discovered DNS-SD services. DNS.SD service information is provided in DNS RR SRV records <<bibref|RFC2782>>. The Service Instance Name <<bibref|DNS-SD|Section 4.1 Structured Instance Names>> further specifies information about the service name (RFC2782 Service field) and domain name (RFC2782 Name field) in the form: Service Instance Name = [InstanceName] . [Service] . [Domain] [Service] = _[ApplicationProtocol] . _[TransportProtocol] RFC2782 Service field will always be equal to [InstanceName]. [Service] RFC2782 Name field will always be equal to [Domain] For example, an SSH service might have: *<<param|InstanceName>> = Secure Shell (SSH)) *<<param|ApplicationProtocol>> = ssh *<<param|TransportProtocol>> = TCP *<<param|Domain>> = example.com *<<param|Port>> = 22 *<<param|Target>> = ssh.example.com.",
					"uniqueKeys": [
						"InstanceName",
						"ApplicationProtocol",
						"TransportProtocol",
						"Domain"
					],
					"access": false,
					"array": true,
					"InstanceName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Human-readable instance name <<bibref|DNS-SD|Section 4.1.1 Instance Names>> (i.e. The [<<param>>] portion of the Service Instance Name).",
						"datatype": "string",
						"range": [
							{
								"max": 63
							}
						]
					},
					"ApplicationProtocol": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Application Protocol, without the leading underscore, associated with the service (e.g., daap) as defined by the DNS-SD service <<bibref|DNS-SD|Section 7 Application Protocol Names>>.",
						"datatype": "string",
						"range": [
							{
								"max": 15
							}
						]
					},
					"TransportProtocol": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Transport Protocol associated with the service as defined by the DNS-SD service <<bibref|DNS-SD|Section 4.1.2 Service Names>>.",
						"datatype": "string",
						"enumerations": [
							"TCP",
							"UDP"
						]
					},
					"Domain": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value extracted from the Name field of the DNS SRV record <<bibref|RFC2782>> which represents the fully qualified domain name (FQDN) associated with the service as defined by the DNS-SD service <<bibref|DNS-SD|Section 4.1.3 Domain Names>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value extracted from the Port field of the DNS SRV record <<bibref|RFC2782>> that is used to contact the service.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"Target": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The fully qualified domain name (FQDN) with the trailing dot . of the target host implementing the service as in the DNS SRV record <<bibref|RFC2782>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the discovered <<object>> at <<param|LastUpdate>> time. Enumeration of: LeaseActive, GoodbyeReceived, LeaseExpired. The ability to instantiate an inactive <<object>> is OPTIONAL. The time an inactive <<object>> remains listed in this table is a local matter to the device.",
						"datatype": "string",
						"enumerations": [
							"LeaseActive",
							"GoodbyeReceived",
							"LeaseExpired"
						]
					},
					"LastUpdate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time at which the last advertisement for this <<object>> was received.",
						"datatype": "dateTime"
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Includes all Host table entries, active or inactive, that correspond to this discovered DNS.SD service.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"TimeToLive": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value extracted from the TTL field of the DNS SRV record <<bibref|RFC2782>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 2147483647
							}
						]
					},
					"Priority": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value extracted from the Priority field of the DNS SRV record <<bibref|RFC2782>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"Weight": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A server selection mechanism. The value extracted from the Weight field of the DNS SRV record <<bibref|RFC2782>> that specifies the relative weight for entries with the same <<param|Priority>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"TextRecordNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.DNS.SD.Service.{i}.TextRecord.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object maintains an instance of a (key/value pairs) of the service. The information is extracted from DNS TXT records <<bibref|RFC1035>> of the discovered service. When multiple instances of the <<object>> table have the same value for the <<param|Key>> parameter, the implementation is CPE specific.",
						"access": false,
						"array": true,
						"Key": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The key that identifies the text record",
							"datatype": "string",
							"range": [
								{
									"max": 255
								}
							]
						},
						"Value": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The value of the text record.",
							"datatype": "string",
							"range": [
								{
									"max": 255
								}
							]
						}
					}
				}
			}
		},
		"Device.NAT.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Properties for Network Address Translation (NAT). The entire <<object>> object only applies to IPv4.",
			"access": false,
			"array": false,
			"InterfaceSettingNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"PortMappingNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxNumberOfPortMappings": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of port mappings that can exist at any given time. If the value of this parameter is 0, then it means that the device doesnt have a limit to the number of port mappings that can exist.",
				"datatype": "unsignedInt"
			},
			"PortTriggerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxNumberOfPortTriggers": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of port triggers that can exist at any given time. If the value of this parameter is 0, then it means that the device doesnt have a limit to the number of port mappings that can exist.",
				"datatype": "unsignedInt"
			},
			"Device.NAT.InterfaceSetting.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "NAT settings for an associated IP Interface on which NAT is enabled. For enabled table entries, if <<param|Interface>> is not a valid reference then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the <<object>> entry, indicating if NAT is enabled for the referenced IP Interface instance. On creation, an <<object>> entry is disabled by default.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Enabled_NATForcedDisabled, Enabled_PortMappingDisabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Enabled_NATForcedDisabled",
						"Enabled_PortMappingDisabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> The associated outgoing IP interface on which NAT is to be enabled.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"SourceNetwork": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each list item MUST be the Path name of a <<object|.IP.Interface.<i>.IPv4Address.>> table or of one of its rows. If the referenced object is deleted, the corresponding item MUST be removed from the list. Specifies the source IPv4 network(s) that MUST be translated for all outgoing traffic associated with the <<param|Interface>> (e.g. Device.IP.Interface.2.IPv4Address. (table) or Device.IP.Interface.2.IPv4Address.1. (row)). The <<param|.IP.Interface.<i>.IPv4Address.<i>.IPAddress>> and <<param|.IP.Interface.<i>.IPv4Address.<i>.SubnetMask>> are used to construct an additional filter rule that specifies which address range needs to be translated.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"TCPTranslationTimeout": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Determines the timeout, in <<units>>, of NAT translations for TCP sessions. It is the time after which a NAT entry is removed from the NAT table if there is no activity. A value of -1 represents an infinite duration.",
					"default": "300",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "seconds"
				},
				"UDPTranslationTimeout": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Determines the timeout, in <<units>>, of NAT translations for UDP bindings. It is the time after which a NAT entry is removed from the NAT table if there is no activity. A value of -1 represents an infinite duration.",
					"default": "30",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "seconds"
				}
			},
			"Device.NAT.PortMapping.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Port mapping table. This table MUST contain all NAT port mappings associated with this connection, including static and dynamic port mappings programmatically created via local control protocol, such as UPnP. This table MUST NOT contain dynamic NAT binding entries associated with the normal operation of NAT. If the CPE hosts a firewall, it is assumed that it will appropriately configure the firewall for the port mapping. For enabled table entries, if <<param|InternalClient>> is <<empty>>, or if <<param|Interface>> is not a valid reference and <<param|AllInterfaces>> is <<false>>, then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Alias",
					"RemoteHost",
					"ExternalPort",
					"Protocol"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the port mapping instance. On creation, an entry is disabled by default.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Inactive, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Inactive",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Origin": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the Origin of the <<object>> instance. Note: This parameter was changed to writeOnceReadOnly in the Device:2.18 version. Note: This parameter was reverted back to readOnly in the Device 2.19 version.",
					"default": "Controller",
					"datatype": "string",
					"enumerations": [
						"User",
						"System",
						"UPnP",
						"Controller"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. Note: There is no guarantee that the <<param>> value on automatically-created <<object>> instances will be retained. This is because automatically-created <<object>> instances can be transitory.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Specifies the IP interface to which this port mapping applies.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AllInterfaces": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether this port mapping applies to all IP interfaces that support port mappings. If <<true>>, the value of <<param|Interface>> is ignored since all supported IP interfaces are indicated.",
					"default": "false",
					"datatype": "boolean"
				},
				"LeaseDuration": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Determines the time to live, in <<units>>, of a port mapping lease, where time to live means the number of <<units>> before the port mapping expires. A value of 0 means the port mapping is static. Support for dynamic (non-static) port mappings is OPTIONAL. That is, the only value for <<param>> that MUST be supported is 0. For a dynamic (non-static) port mapping, when this parameter is read, the value is the same as when the <<object>> was created. Note: the Device:2.19 version of the data model moved the dynamic countdown behavior, when reading the <<param>>, to the <<param|RemainingLeaseTime>>.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"RemainingLeaseTime": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "For a dynamic (non-static) port mapping, when this parameter is read, the value represents the time (in <<units>>) remaining on the port mapping lease. That is, for a dynamic port mapping, the value counts down toward 0. When a dynamic port mapping lease expires, the device MUST automatically terminate that port mapping, and MUST automatically delete the corresponding <<object>> table entry. For a static port mapping, this parameter is irrelevant and should return 0.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"RemoteHost": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter is the IP address of the source of inbound packets. <<empty>> indicates a wildcard, i.e. any IP address (this will be <<empty>> in most cases). CPE are REQUIRED only to support <<empty>>. When <<param>> is <<empty>>, all traffic sent to the <<param|ExternalPort>> on the WAN interface of the gateway is forwarded to the <<object|##.IP.Interface>> associated with the <<param|InternalClient>> on the <<param|InternalPort>>. When <<param>> is specified as one external IP address, the NAT will only forward inbound packets from this <<param>> to the <<param|InternalClient>>, all other packets will be dropped. If a CPE supports non-empty values for <<param>>, it MAY additionally support the ability to have more than one port mapping with the same <<param|ExternalPort>> and <<param|Protocol>>, but with differing values of <<param>>. When wildcard values are used for <<param>> and/or <<param|ExternalPort>>, the following precedence order applies (with the highest precedence listed first): # Explicit <<param>>, explicit <<param|ExternalPort>> # Explicit <<param>>, zero <<param|ExternalPort>> # Empty <<param>>, explicit <<param|ExternalPort>> # Empty <<param>>, zero <<param|ExternalPort>> If an incoming packet matches the criteria associated with more than one entry in this table, the CPE MUST apply the port mapping associated with the highest precedence entry.",
					"datatype": "string"
				},
				"ExternalPort": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The external port (or the first port of a range of external ports) that the NAT gateway would listen on for traffic to a corresponding <<param|InternalPort>>. Inbound packets to this external port on the WAN interface SHOULD be forwarded to the <<object|##.IP.Interface>> associated with the <<param|InternalClient>> on the <<param|InternalPort>>. A value of zero (<<null>>) represents a wildcard, i.e. any port number. If this value is <<null>>, traffic on all external ports (that are not otherwise mapped) will be forwarded to <<param|InternalClient>>, and the value(s) of <<param|InternalPort>> on <<param|InternalClient>> are ignored. When wildcard values are used for <<param|RemoteHost>> and/or <<param>>, the following precedence order applies (with the highest precedence listed first): # Explicit <<param|RemoteHost>>, explicit <<param>> # Explicit <<param|RemoteHost>>, zero <<param>> # Empty <<param|RemoteHost>>, explicit <<param>> # Empty <<param|RemoteHost>>, zero <<param>> If an incoming packet matches the criteria associated with more than one entry in this table, the CPE MUST apply the port mapping associated with the highest precedence entry.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"ExternalPortEndRange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the last port of the external port range that starts with <<param|ExternalPort>>. If an external port range is specified, then the behavior described for <<param|ExternalPort>> applies to all ports within the range. A value of zero (0) indicates that no external port range is specified, i.e. that the range consists only of <<param|ExternalPort>>. If <<param|ExternalPort>> is zero (wildcard), the value of this parameter MUST be ignored. If specified, the value of this parameter MUST be greater than or equal to the value of <<param|ExternalPort>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"InternalPort": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The port on <<param|InternalClient>> that the gateway SHOULD forward traffic to. When <<param|ExternalPortEndRange>> is utilized, this range will also be applied accordingly, starting from the <<param>> number. Example: ExternalPort=3000 and ExternalPortEndRange=3010 with InternalPort=5000 means the ports are mapped as follows: * External port 3000 maps to internal port 5000 * External port 3001 maps to internal port 5001 * External port 3002 maps to internal port 5002 * ... * External port 3010 maps to internal port 5010",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The protocol of the port mapping. Enumeration of: TCP, UDP.",
					"datatype": "string",
					"enumerations": [
						"TCP",
						"UDP"
					]
				},
				"InternalClient": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP address or DNS host name of an internal client (on the LAN). Support for an IP address is mandatory. If <<param>> is specified as an IP address and the LAN devices IP address subsequently changes, the port mapping MUST remain associated with the original IP address. Support for DNS host names is OPTIONAL. If <<param>> is specified as a DNS host name and the LAN devices IP address subsequently changes, the port mapping MUST remain associated with this LAN device. In this case, it is the responsibility of the CPE to maintain the name-to-address mapping in the event of IP address changes. This can be accomplished, for example, by assigning the DNS host name via use of DHCP option 12 (Host Name) or option 81 (FQDN). Note that the Controller can learn the host name associated with a given LAN device via the <<object|##.Hosts.Host>> table. Read access to this parameter MUST always return the exact value that was last set by the Controller. For example, if the internal client is set to a DNS host name, it MUST read back as a DNS host name and not as an IP address. It MUST be possible to set the <<param>> to the broadcast IP address 255.255.255.255 for UDP mappings. This is to enable multiple NAT clients to use the same well-known port simultaneously.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "User-readable description of this port mapping.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ScheduleRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each reference provides a schedule where time based access can be enabled. When <<param>> is <<empty>> the <<object>> is not scheduled, and the <<param|Enable>> defines the operational state.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				},
				"Log": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable logging, in a <<object|.DeviceInfo.VendorLogFile>>, of packets matching this <<object>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"LogRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the logging rules for this <<object>> entry. The <<param|Log>> parameter MUST be set to <<true>> for this setting to take effect. When <<param|Log>> is <<true>> and <<param>> is <<empty>> or contains an invalid reference, the system MUST treat the configuration as an error and set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				}
			},
			"Device.NAT.PortTrigger.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewall PortTrigger table.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the Port Trigger",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this <<object>> entry.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Inactive",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Origin": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the owner of the <<object>> instance. Note: This parameter was changed to writeOnceReadOnly in the Device:2.18 version. Note: This parameter was reverted back to readOnly in the Device 2.19 version.",
					"default": "Controller",
					"datatype": "string",
					"enumerations": [
						"User",
						"System",
						"Controller"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable description associated with this <<object>> entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the incoming L3 interface to which this port trigger applies. Typically this will be the LAN interface.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Trigger Port, the port number which is used to start the port trigger rule.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"PortEndRange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the last port of the port range that starts with <<param|Port>> which is used to start the port trigger rule. A value of zero (0) indicates that no port range is specified, i.e. that the range consists only of <<param|Port>>. If <<param|Port>> is zero, the value of this parameter MUST be ignored. If specified, the value of this parameter MUST be greater than or equal to the value of <<param|Port>>.",
					"default": "0",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"AutoDisableDuration": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Number of <<units>> the port trigger MUST be active. When the <<param>> is expired new connections are no longer allowed, active connections SHOULD not be terminated.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"ActivationDate": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates when the port trigger was enabled. When the port trigger is no longer active. Note: This parameter was demoted to readOnly in the Device:2.18 version.",
					"default": "0001-01-01T00:00:00Z",
					"datatype": "dateTime"
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The protocol of the trigger port.",
					"datatype": "string",
					"enumerations": [
						"TCP",
						"UDP"
					]
				},
				"ScheduleRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each reference provides a schedule where time based access can be enabled. When <<param>> is <<empty>> the <<object>> is not scheduled, and the <<param|Enable>> defines the operational state.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				},
				"Log": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable logging, in a <<object|.DeviceInfo.VendorLogFile>>, of packets matching this <<object>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"LogRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the logging rules for this <<object>> entry. The <<param|Log>> parameter MUST be set to <<true>> for this setting to take effect. When <<param|Log>> is <<true>> and <<param>> is <<empty>> or contains an invalid reference, the system MUST treat the configuration as an error and set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				},
				"RuleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.NAT.PortTrigger.{i}.Rule.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Firewall PortTrigger Rule table.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port (or the first port of a range of ports) which needs to be opened when the Trigger conditions are met.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"PortEndRange": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the last port of the port range that starts with <<param|Port>> which needs to be opened when the Trigger conditions are met. A value of zero (0) indicates that no port range is specified, i.e. that the range consists only of <<param|Port>>. If <<param|Port>> is zero, the value of this parameter MUST be ignored. If specified, the value of this parameter MUST be greater than or equal to the value of <<param|Port>>.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Protocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The protocol of the to be forwarded port.",
						"datatype": "string",
						"enumerations": [
							"TCP",
							"UDP"
						]
					}
				}
			}
		},
		"Device.PCP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Properties for Port Control Protocol (PCP) <<bibref|RFC6887>>. See the PCP Theory of Operation <<bibref|TR-181i2|Appendix XIV>> for a description of the working of this PCP data model.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables the PCP stack. If the stack is disabled then the status of any enabled <<object|Client>> entries will change to <<enum|StackDisabled|Client.<i>.Status>>.",
				"datatype": "boolean"
			},
			"SupportedVersions": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<list>> Each list item denotes a PCP version supported by the PCP Client. Currently known versions are 0, 1 and 2. This parameter is based on Version from <<bibref|RFC6887>>.",
				"list": {
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				}
			},
			"PreferredVersion": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This is the version to be used in the first exchange with a new PCP Server. The factory default MUST be the highest supported version, as described in <<bibref|RFC6887|Section 9>>.",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 0,
						"max": 65535
					}
				]
			},
			"OptionList": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<list>> The list of the PCP Options supported by the PCP Client.",
				"list": {
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 254
						}
					]
				}
			},
			"ClientNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.PCP.Client.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Client properties for Port Control Protocol (PCP). The PCP Client interacts with a PCP Server as defined in <<bibref|RFC6887>> for internal device applications or LAN device applications via Interworking functions.",
				"uniqueKeys": [
					"Alias",
					"WANInterface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the PCP Client.",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"WANInterface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|the interface stack instance representing the WAN interface this client operates on>> See <<object|##.InterfaceStack>>",
					"datatype": "string"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of the PCP Client. Enumeration of: Disabled, Enabled, StackDisabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"StackDisabled",
						"Error"
					]
				},
				"MAPEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the MAP OpCode.",
					"datatype": "boolean"
				},
				"PEEREnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the PEER OpCode.",
					"datatype": "boolean"
				},
				"ANNOUNCEEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the ANNOUNCE OpCode. When <<false>> the PCP Client does not support unsolicited ANNOUNCE messages.",
					"datatype": "boolean"
				},
				"THIRDPARTYEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the THIRD_PARTY Option.",
					"datatype": "boolean"
				},
				"THIRDPARTYStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether THIRD_PARTY Option is enabled or not. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"FILTEREnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the FILTER option.",
					"datatype": "boolean"
				},
				"ServerNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.PCP.Client.{i}.PCPProxy.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Properties for the Port Control Protocol (PCP) Proxy, as specified in <<bibref|PCPProxy>>.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the PCP Proxy for this PCP Client.",
						"datatype": "boolean"
					},
					"HighestVersion": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A string identifying the highest version of PCP that the proxy supports. This parameter is based on Version from <<bibref|RFC6887>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the PCP Proxy for this PCP Client. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					}
				},
				"Device.PCP.Client.{i}.UPnPIWF.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Properties for the interworking function between UPnP IGD (Internet Gateway Device) and PCP, as specified in <<bibref|RFC6970>>.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the UPnP IGD-PCP Interworking Function for this PCP Client.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the UPnP IGD-PCP Interworking Function for this PCP Client. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error"
						]
					}
				},
				"Device.PCP.Client.{i}.Server.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains the PCP Servers to be used by the PCP Client. Entries are either statically configured or automatically created via DHCP options OPTION_V4_PCP_SERVER and OPTION_V6_PCP_SERVER, as per <<bibref|RFC7291>>. Each OPTION_V4_PCP_SERVER or OPTION_V6_PCP_SERVER option corresponds to a <<object>> instance. If an option returns multiple addresses then that <<object>> instance has multiple addresses.",
					"uniqueKeys": [
						"Alias",
						"ServerNameOrAddress"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this PCP Server.",
						"default": "true",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the PCP Server. Enumeration of: Disabled, Enabled, Connecting, Error_Timeout, Error_HostNameNotResolved, Error_NetworkFailure, Error_NotAuthorized, Error_Unsupported, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Connecting",
							"Error_Timeout",
							"Error_HostNameNotResolved",
							"Error_NetworkFailure",
							"Error_NotAuthorized",
							"Error_Unsupported",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Origin": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Method used to assign <<param|ServerNameOrAddress>> and create this table entry. Enumeration of: DHCPv4, DHCPv6, Static. Note: In the <<enum|DHCPv4>> and <<enum|DHCPv6>> cases, if more than one IP address is received <<param|ServerNameOrAddress>> will be the first address and <<param|AdditionalServerAddresses>> will be the remaining addresses.",
						"default": "Static",
						"datatype": "string",
						"enumerations": [
							"DHCPv4",
							"DHCPv6",
							"Static"
						]
					},
					"ServerNameOrAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The FQDN or IP address of the PCP Server, assigned as described under <<param|Origin>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ServerAddressInUse": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IP address currently in use for the PCP Server, derived from the value of <<param|ServerNameOrAddress>>. <<empty>> indicates that no PCP Server address is currently known.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"AdditionalServerAddresses": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "PCP Server addresses in addition to <<param|ServerNameOrAddress>>. This can be non-empty only if <<param|Origin>> is <<enum|DHCPv4|Origin>> or <<enum|DHCPv6|Origin>> and if more than one PCP Server address was received.",
						"list": {
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						}
					},
					"ExternalIPAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The external IP address of the PCP-controlled device hosting this server.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"CurrentVersion": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This is the version of PCP resulting from client-server Version Negotiation. This parameter is based on Version from <<bibref|RFC6887>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"MaximumFilters": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the maximum number of inbound filters allowed to be associated with a mapping entry on this server.",
						"datatype": "unsignedInt"
					},
					"PortQuota": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the maximum number of ports allocated to this PCP Client on this server. A value of 0 means that there is no limitation.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"PreferredLifetime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the preferred lifetime (in <<units>>) to be used for mappings with this server when no preference is selected by an application/user.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Capabilities": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the capabilities supported by the PCP Server. Enumeration of: NAT44, StatelessNAT64, StatefulNAT64, A+PPortRangeRouter, SupportsPORTSETOption, IPv4Firewall, IPv6Firewall, NPTv6, DSCPReMarkingFunction, FLOWDATAAwareFunction, ILNPTranslator.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"NAT44",
								"StatelessNAT64",
								"StatefulNAT64",
								"A+PPortRangeRouter",
								"SupportsPORTSETOption",
								"IPv4Firewall",
								"IPv6Firewall",
								"NPTv6",
								"DSCPReMarkingFunction",
								"FLOWDATAAwareFunction",
								"ILNPTranslator"
							]
						}
					},
					"InboundMappingNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"OutboundMappingNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Inbound Mapping table. This table contains all Inbound Mappings requested by this PCP Client on this PCP Server. Such a mapping is created by a PCP request with OpCode MAP, as described in <<bibref|RFC6887|Section 11>>. These requests can be issued from internal device applications, from static configuration or from other LAN device applications via interworking functions such as UPnP IGD or PCP proxies. The <<param|Origin>> parameter indicates which mechanism requested the mapping. For non-<<enum|Static|Origin>> mappings (here Static refers to the mechanism that created the mapping, not to the <<param|Lifetime>>), the Controller MAY modify the <<param|Enable>> parameter but MUST NOT modify any other parameters in the mapping or its sub-objects.",
						"uniqueKeys": [
							"Alias",
							"InternalPort",
							"ProtocolNumber",
							"ThirdPartyAddress"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this <<object>> instance.",
							"default": "false",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_PCPErrorCodeReceived, Error. The <<enum|Error_PCPErrorCodeReceived>> value indicates that the PCP Client received an error code from the PCP Server. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Enabled",
								"Error_PCPErrorCodeReceived",
								"Error"
							]
						},
						"ErrorCode": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Provides the PCP error code when <<param|Status>> is <<enum|Error_PCPErrorCodeReceived|Status>>. Error code values are defined in <<bibref|RFC6887|Section 7.4>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 255
								}
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Origin": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Mechanism via which the mapping was requested. Enumeration of: Internal, UPnP_IWF, PCP_Proxy, Static.",
							"datatype": "string",
							"enumerations": [
								"Internal",
								"UPnP_IWF",
								"PCP_Proxy",
								"Static"
							]
						},
						"Lifetime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines the time to live, in <<units>>, of this Inbound Mapping lease, i.e. the remaining time before this port mapping expires. A value of 0 means that the port mapping is permanent (referred to as a static mapping in <<bibref|RFC6887>>). When a dynamic Inbound Mapping lease expires, the CPE MUST automatically delete the corresponding <<object>> table entry.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SuggestedExternalIPAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external IPv4 or IPv6 Address that the PCP-controlled device will listen on for incoming packets to be forwarded to the PCP Client. This is useful for refreshing an Inbound Mapping, especially after the PCP Server loses state. If the PCP client does not know the external address, or does not have a preference, it MUST use <<empty>>.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"SuggestedExternalPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external port (or the first port of a range of external ports) that the PCP-controlled device will listen on for incoming packets. Those inbound packets will be forwarded to <<param|InternalPort>>. If the PCP client does not know the external port, or does not have a preference, it MUST use 0. This is useful for refreshing an Inbound Mapping, especially after the PCP Server loses state. If the PCP Client does not know the external port, or does not have a preference, it MUST use 0.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"SuggestedExternalPortEndRange": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the last port of the external port range that starts with <<param|SuggestedExternalPort>>. If an external port range is specified, then the behavior described for <<param|SuggestedExternalPort>> applies to all ports within the range. A value of zero (0) indicates that no external port range is specified, i.e. that the range consists only of <<param|SuggestedExternalPort>>. If <<param|SuggestedExternalPort>> is zero (wildcard), the value of <<param>> MUST be ignored. If specified, the value of this parameter MUST be zero or be greater than or equal to the value of <<param|SuggestedExternalPort>>.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"InternalPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The port on this PCP Clients <<param|##.WANInterface>> that the PCP-controlled device forwards incoming packets to.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"ProtocolNumber": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The protocol number of the <<object>>. Values are taken from <<bibref|IANA-protocolnumbers>>. The value -1 means all protocols.",
							"datatype": "int",
							"range": [
								{
									"min": -1,
									"max": 255
								}
							]
						},
						"ThirdPartyAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Under certain conditions, the PCP Client can create a PCP mapping on behalf of another device, by using the THIRD_PARTY option, as specified in <<bibref|RFC6887|Section 7.3>>. In that case, <<param>> is the IP address of the device for which the PCP operation is requested. For non-third-party mappings, <<param>> SHOULD be <<empty>>.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"Description": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "User-readable description of this <<object>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"AssignedExternalIPAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external IPAddress returned by the PCP Server. The IP address that the PCP-controlled device is listening on for incoming packets to a corresponding PCP Client.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"AssignedExternalPort": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external port returned by the PCP Server. The external port (or the first port of a range of external ports) that the PCP-controlled device is listening on for incoming packets to a corresponding <<param|InternalPort>>. Inbound packets to this external port on the External interface of the PCP-controlled device is forwarded to the on the <<param|InternalPort>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"AssignedExternalPortEndRange": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the last port of the external port range that starts with <<param|AssignedExternalPort>>. If an external port range is specified, then the behavior described for <<param|AssignedExternalPort>> applies to all ports within the range. A value of zero (0) indicates that no external port range is specified, i.e. that the range consists only of <<param|AssignedExternalPort>>.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"FilterNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.PCP.Client.{i}.Server.{i}.InboundMapping.{i}.Filter.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Filter table. This table contains all Filters restricting this Inbound Mapping, as defined in <<bibref|RFC6887|>>.",
							"uniqueKeys": [
								"Alias"
							],
							"access": true,
							"array": true,
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "_AliasCWMP"
							},
							"RemoteHostIPAddress": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Permitted remote peer IP address for this filter.",
								"datatype": "IPAddress",
								"range": [
									{
										"max": 45
									}
								]
							},
							"PrefixLength": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates how many bits of <<param|RemoteHostIPAddress>> are relevant for this filter.",
								"default": "128",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 1,
										"max": 128
									}
								]
							},
							"RemotePort": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Permitted remote peer port number for this filter. The value 0 indicates all ports.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							},
							"RemotePortEndRange": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates the last port of the remote port range that starts with <<param|RemotePort>>. If an external port range is specified, then the behavior described for <<param|RemotePort>> applies to all ports within the range. A value of zero (0) indicates that no remote port range is specified, i.e. that the range consists only of <<param|RemotePort>>. Note: This parameter was promoted to readWrite in the Device:2.18 version.",
								"default": "0",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							}
						}
					},
					"Device.PCP.Client.{i}.Server.{i}.OutboundMapping.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Outbound Mapping table. This table contains all Outbound Mappings requested by this PCP Client on this PCP Server. Such a mapping is created by a PCP request with OpCode PEER, as described in <<bibref|RFC6887|Section 12>>. These requests can be issued from internal device applications, from static configuration or from other LAN device applications via interworking functions such as UPnP IGD or PCP proxies. The <<param|Origin>> parameter indicates which mechanism requested the mapping. For non-<<enum|Static|Origin>> mappings (here Static refers to the mechanism that created the mapping, not to the <<param|Lifetime>>), the Controller MAY modify the <<param|Enable>> parameter but MUST NOT modify any other parameters in the mapping or its sub-objects.",
						"uniqueKeys": [
							"Alias",
							"InternalPort",
							"ProtocolNumber",
							"ThirdPartyAddress",
							"RemoteHostIPAddress",
							"RemotePort"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this <<object>> instance.",
							"default": "false",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_PCPErrorCodeReceived, Error. The <<enum|Error_PCPErrorCodeReceived>> value indicates that the PCP Client received an error code from the PCP Server. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
							"default": "Disabled",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Enabled",
								"Error_PCPErrorCodeReceived",
								"Error"
							]
						},
						"ErrorCode": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Provides the PCP Error code when <<param|Status>> is <<enum|Error_PCPErrorCodeReceived|Status>>. Error code values are defined in <<bibref|RFC6887|Section 7.4>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 255
								}
							]
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Origin": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Mechanism via which the mapping was requested. Enumeration of: Internal, UPnP_IWF, PCP_Proxy, Static.",
							"datatype": "string",
							"enumerations": [
								"Internal",
								"UPnP_IWF",
								"PCP_Proxy",
								"Static"
							]
						},
						"Lifetime": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines the time to live, in <<units>>, of this Outbound Mapping lease, i.e. the remaining time before this port mapping expires. A value of 0 means that the port mapping is permanent (referred to as a static mapping in <<bibref|RFC6887>>). When a dynamic Outbound Mapping lease expires, the CPE MUST automatically delete the corresponding <<object>> table entry.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SuggestedExternalIPAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external IPv4 or IPv6 Address that the PCP-controlled device will use to send outgoing packets covered by this mapping. This is useful for refreshing a mapping, especially after the PCP Server has lost state. If the PCP Client does not know the external address, or does not have a preference, it MUST use <<empty>>.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"SuggestedExternalPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external port that the PCP-controlled device will use to send outgoing packets covered by this mapping. This is useful for refreshing a mapping, especially after the PCP Server has lost state. If the PCP Client does not know the external port, or does not have a preference, it MUST use 0.",
							"default": "0",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"RemoteHostIPAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The remote peers IP address, as seen from the PCP Client, for this Outbound Mapping.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"InternalPort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The port on PCP Client WAN Interface that the PCP-controlled device SHOULD listen to for this mapping.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"RemotePort": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The remote peers port, as seen from the PCP Client, for this Outbound Mapping.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"ProtocolNumber": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The protocol number of the <<object>>. Values are taken from the <<bibref|IANA-protocolnumbers>>. The value -1 means all protocols.",
							"datatype": "int",
							"range": [
								{
									"min": -1,
									"max": 255
								}
							]
						},
						"ThirdPartyAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Under certain conditions, the PCP Client can create a PCP mapping on behalf of another device, by using the THIRD_PARTY option, as specified in <<bibref|RFC6887|Section 7.3>>. In that case, <<param>> is the IP address of the device for which the PCP operation is requested. For non-third-party mappings, <<param>> SHOULD be <<empty>>.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"Description": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "User-readable description of this <<object>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"AssignedExternalIPAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external IP address returned by the PCP Server. The IP address that the PCP-controlled device uses to send outgoing packets corresponding to this mapping.",
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						},
						"AssignedExternalPort": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The external port returned by the PCP Server. The port that the PCP-controlled device uses to send outgoing packets corresponding to this mapping.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						}
					}
				}
			}
		},
		"Device.DHCPv4.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The Dynamic Host Configuration Protocol (DHCP) IPv4 object <<bibref|RFC2131>>. This entire object applies to IPv4 only. It contains the <<object|Client>>, <<object|Server>>, and <<object|Relay>> objects.",
			"access": false,
			"array": false,
			"ClientNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.DHCPv4.Client.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains DHCP client settings for an associated IP Interface indicated by <<param|Interface>>. For enabled table entries, if <<param|Interface>> is not a valid reference then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the DHCP Client entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> The IP Interface associated with the Client entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this table entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"DHCPStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The DHCP Client status as defined in <<bibref|RFC2131>>. Enumeration of: Init, Selecting, Requesting, Rebinding, Bound, Renewing. Note: This value is only relevant when the DHCP Client is operationally enabled (i.e. when <<param|Status>> is <<enum|Enabled|Status>>).",
					"datatype": "string",
					"enumerations": [
						"Init",
						"Selecting",
						"Requesting",
						"Rebinding",
						"Bound",
						"Renewing"
					]
				},
				"Renew": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, the DHCP client will renew its DHCP lease.",
					"default": "false",
					"datatype": "boolean"
				},
				"IPAddress": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IPv4 Address option received from the DHCP Server. <<empty>> when <<param|Status>> is not equal to <<enum|Bound|DHCPStatus>>.",
					"datatype": "IPv4Address",
					"range": [
						{
							"max": 15
						}
					],
					"pattern": [
						"",
						"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
					]
				},
				"SubnetMask": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Subnet mask option received from the DHCP Server. <<empty>> when <<param|Status>> is not equal to <<enum|Bound|DHCPStatus>>. Value is information received via DHCP Option 1.",
					"datatype": "IPv4Address",
					"range": [
						{
							"max": 15
						}
					],
					"pattern": [
						"",
						"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
					]
				},
				"IPRouters": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Items represent IP Router IPv4 Address(es) received from the DHCP server. <<empty>> when <<param|Status>> is not equal to <<enum|Bound|DHCPStatus>>. Value is information received via DHCP Options 3, 33 or 121.",
					"default": "[]",
					"list": {
						"datatype": "IPv4Address",
						"maxsize": 256,
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					}
				},
				"DNSServers": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Items represent DNS Server IPv4 Address(es) received from the DHCP server. <<empty>> when <<param|Status>> is not equal to <<enum|Bound|DHCPStatus>>. Value is information received via DHCP Option 6.",
					"default": "[]",
					"list": {
						"datatype": "IPv4Address",
						"maxsize": 256,
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					}
				},
				"LeaseTimeRemaining": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DHCP lease time remaining in <<units>>. A value of -1 indicates an infinite lease.",
					"default": "0",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "seconds"
				},
				"DHCPServer": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IPv4 address of the current DHCP server.",
					"datatype": "IPv4Address",
					"range": [
						{
							"max": 15
						}
					],
					"pattern": [
						"",
						"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
					]
				},
				"PassthroughEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<false>>, the DHCP Client retrieved IP address information is configured on the referenced <<param|Interface>> object. If <<true>>, the DHCP Client retrieved information is propagated to the parameters in the referenced <<param|PassthroughDHCPPool>> object, replacing any existing configuration (including MinAddress, MaxAddress, SubnetMask, IPRouters, and DNSServers).",
					"default": "false",
					"datatype": "boolean"
				},
				"PassthroughDHCPPool": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>>When <<param>> is set to <<empty>>, <<param|PassthroughEnable>> MUST be set to <<false>> (i.e. passthrough can not be enabled without a pool reference specified).",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AuthenticationProtocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the authentication mechanism to be used.",
					"default": "None",
					"datatype": "string",
					"enumerations": [
						"None",
						"ConfigurationToken",
						"DelayedAuthentication"
					]
				},
				"DSCPMark": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Diffserv code point to be used for outgoing DHCP messages.",
					"default": "48",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 63
						}
					]
				},
				"SentOptionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ReqOptionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Renew()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.DHCPv4.Client.{i}.SentOption.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each instance of this object represents a DHCP option that MUST, if enabled, be sent in DHCP client requests. All sent DHCP options MUST be listed.",
					"uniqueKeys": [
						"Alias",
						"Tag"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this SentOption table entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Tag": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Option tag as defined in <<bibref|RFC2132>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 254
							}
						]
					},
					"Value": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A hexbinary encoded option value.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						]
					}
				},
				"Device.DHCPv4.Client.{i}.ReqOption.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each instance of this object represents a DHCP option that MUST, if enabled, be requested in DHCP client requests. All requested DHCP options MUST be listed.",
					"uniqueKeys": [
						"Alias",
						"Tag"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this ReqOption table entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Order": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). This indicates the position of the option in the DHCP client request.",
						"datatype": "Order",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Tag": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Option tag as defined in <<bibref|RFC2132>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 254
							}
						]
					},
					"Value": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A hexbinary encoded, most recently received DHCP option value. If no option value has been received, then the value MUST represent <<empty>>. Received DHCP option values MAY, but need not, persist across CPE reboots.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						]
					}
				},
				"Device.DHCPv4.Client.{i}.Retransmission.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object enables the configurion of the DHCPv4 retransmission behavior according to the guidelines described in <<bibref|RFC2131|Chapter 4.1>>.",
					"access": false,
					"array": false,
					"DiscoverInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial delay, expressed in <<units>>, before initiating the first DCHCPDISCOVER message.",
						"default": "4",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"DiscoverMaxTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum duration, expressed in <<units>>, between two DHCPDISCOVER message retransmission. According to <<bibref|RFC2131|Chapter 4.1>>, the recommended value for this parameter is 64 <<units>>.",
						"default": "64",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"DiscoverMaxDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum duration, expressed in <<units>>, during which the DHCPv4 client is permitted to retransmit DHCPDISCOVER message A value of 0 indicates that no specific maximum duration is set.",
						"default": "0",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RequestInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial delay, expressed in <<units>>, before initiating the first DHCPREQUEST message.",
						"default": "4",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RequestMaxTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum duration, expressed in <<units>>, between two DHCPREQUEST message retransmission. According to <<bibref|RFC2131|Chapter 4.1>>, the recommended value for this parameter is 64 <<units>>.",
						"default": "64",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RequestMaxDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum duration, expressed in <<units>>, during which the DHCPv4 client is permitted to retransmit DHCPREQUEST message. A value of 0 indicates that no specific maximum duration is set.",
						"default": "0",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"TimeoutRandomize": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Randomization factor for the retransmission timeout, in <<units>>, as defined in <<bibref|RFC2131|4.1 Constructing and sending DHCP messages>>. E.g. a timeout of 2000ms with a randomization of 1000 will end up between 1000 and 3000 ms.",
						"default": "1000",
						"datatype": "int",
						"unit": "ms"
					}
				},
				"Device.DHCPv4.Client.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provide statistis for the embedded DHCP Client.",
					"access": false,
					"array": false,
					"Discover": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPDISCOVER messages sent by the client, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Offer": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPOFFER messages received by the client, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Request": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPREQUEST messages sent by the client, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Decline": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPDECLINE messages sent by the client, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Release": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPRELEASE messages sent by the client, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Inform": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPINFORM messages sent by the client, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"ACK": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPACK messages received by the client, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"NACK": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPNACK messages received by the client, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"ForceRenew": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPFORCERNEW messages received by the client, as defined in <<bibref|RFC3203|DHCP reconfigure extension>>.",
						"datatype": "StatsCounter64"
					},
					"DiscardedPackets": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCP packets discarded by the client. Packets can be discarded due to illegal message format and content, incorrect received bytes, etc.",
						"datatype": "StatsCounter64"
					},
					"TransmitFailure": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCP messages that failed to transmit.",
						"datatype": "StatsCounter64"
					},
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.DHCPv4.Server.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DHCP server configuration.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the DHCP server.",
					"datatype": "boolean"
				},
				"PoolNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DHCPv4.Server.Pool.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DHCP conditional serving pool table. Each instance of this object defines a DHCP conditional serving pool. Client requests are associated with pools based on criteria such as source interface, supplied DHCP options, and MAC address. Overlapping pool ranges MUST be supported. For enabled table entries, if <<param|Interface>> is not a valid reference, or <<param|MinAddress>>, <<param|MaxAddress>>, or <<param|SubnetMask>> is not a valid value, then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"uniqueKeys": [
						"Alias",
						"Order"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the Pool entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Order": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each DHCP request, the highest ordered entry that matches the association criteria is applied. All lower order entries are ignored.",
						"datatype": "Order",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> The IP Interface associated with the Pool entry.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"VendorClassID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. Used to identify one or more LAN devices, value of the DHCP Vendor Class Identifier (Option 60) as defined in <<bibref|RFC2132>>, matched according to the criterion in <<param|VendorClassIDMode>>. Case sensitive. This is a normal string, e.g. abc is represented as abc and not say 616263 hex. However, if the value includes non-printing characters then such characters have to be represented using XML escapes, e.g. #x0a for line-feed. <<empty>> indicates this criterion is not used for conditional serving.",
						"datatype": "string",
						"range": [
							{
								"max": 255
							}
						]
					},
					"VendorClassIDExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the <<param|VendorClassID>> entry, if specified. If <<true>>, matching packets are those that do not match the <<param|VendorClassID>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"VendorClassIDMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<param|VendorClassID>> pattern match criterion. Enumeration of: Exact, Prefix, Suffix, Substring. For example, if <<param|VendorClassID>> is Example then an Option 60 value of Example device will match with <<param>> values of <<enum|Prefix>> or <<enum|Substring>>, but not with <<enum|Exact>> or <<enum|Suffix>>.",
						"default": "Exact",
						"datatype": "string",
						"enumerations": [
							"Exact",
							"Prefix",
							"Suffix",
							"Substring"
						]
					},
					"ClientID": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP Client Identifier (Option 61) as defined in <<bibref|RFC2132>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used for conditional serving.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 255
							}
						]
					},
					"ClientIDExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the <<param|ClientID>> entry, if specified. If <<true>>, matching packets are those that do not match the <<param|ClientID>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"UserClassID": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP User Class Identifier (Option 77) as defined in <<bibref|RFC3004>>. <<empty>> indicates this criterion is not used for conditional serving.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 255
							}
						]
					},
					"UserClassIDExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the <<param|UserClassID>> entry, if specified. If <<true>>, matching packets are those that do not match the <<param|UserClassID>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"Chaddr": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. Hardware address (MAC address) of the physical interface of the DHCP client. <<empty>> indicates this criterion is not used for conditional serving.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"ChaddrMask": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Bit-mask for the MAC address, where matching of a packets MAC address with the <<param|Chaddr>> is only to be done for bit positions set to one in the mask. A mask of FF:FF:FF:FF:FF:FF or <<empty>> indicates all bits of the <<param|Chaddr>> are to be used for conditional serving classification.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"ChaddrExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the (masked) <<param|Chaddr>> entry, if specified. If <<true>>, matching packets are those that do not match the (masked) <<param|Chaddr>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"AllowedDevices": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. Determines which devices are allowed, Enumeration of: All, Known, Unknown.",
						"datatype": "string",
						"enumerations": [
							"All",
							"Known",
							"Unknown"
						]
					},
					"MinAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies first IPv4 address in the pool to be assigned by the DHCP server on the LAN interface. The parameter value can be overwritten by dynamic values retrieved via a DHCP client with <<param|##.Client.<i>.PassthroughEnable>> or a PPP interface with <<param|###.PPP.Interface.<i>.IPCP.PassthroughEnable>> equal to <<true>>.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"MaxAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies last IPv4 address in the pool to be assigned by the DHCP server on the LAN interface. The parameter value can be overwritten by dynamic values retrieved via a DHCP client with <<param|##.Client.<i>.PassthroughEnable>> or a PPP interface with <<param|###.PPP.Interface.<i>.IPCP.PassthroughEnable>> equal to <<true>>.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"ReservedAddresses": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items represent addresses marked reserved from the address allocation pool.",
						"default": "[]",
						"list": {
							"datatype": "IPv4Address",
							"item": {
								"max": 32
							},
							"range": [
								{
									"max": 15
								}
							],
							"pattern": [
								"",
								"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
							]
						}
					},
					"SubnetMask": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the clients network subnet mask. The parameter value can be overwritten by dynamic values retrieved via a DHCP client with <<param|##.Client.<i>.PassthroughEnable>> or a PPP interface with <<param|###.PPP.Interface.<i>.IPCP.PassthroughEnable>> equal to <<true>>.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"DNSServers": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items represent DNS servers offered to DHCP clients. Support for more than three DNS Servers is OPTIONAL. The parameter value can be overwritten by dynamic values retrieved via a DHCP client with <<param|##.Client.<i>.PassthroughEnable>> or a PPP interface with <<param|###.PPP.Interface.<i>.IPCP.PassthroughEnable>> equal to <<true>>.",
						"list": {
							"datatype": "IPv4Address",
							"item": {
								"max": 4
							},
							"range": [
								{
									"max": 15
								}
							],
							"pattern": [
								"",
								"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
							]
						}
					},
					"DomainName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Sets the domain name to provide to clients on the LAN interface.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"IPRouters": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> List items represent addresses of routers on this subnet. Also known as default gateway. Support for more than one Router address is OPTIONAL. The parameter value can be overwritten by dynamic values retrieved via a DHCP client with <<param|##.Client.<i>.PassthroughEnable>> or a PPP interface with <<param|###.PPP.Interface.<i>.IPCP.PassthroughEnable>> equal to <<true>>.",
						"list": {
							"datatype": "IPv4Address",
							"item": {
								"max": 4
							},
							"range": [
								{
									"max": 15
								}
							],
							"pattern": [
								"",
								"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
							]
						}
					},
					"WINSServers": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represent the WINS servers offered to DHCP clients.",
						"default": "[]",
						"list": {
							"datatype": "IPv4Address",
							"range": [
								{
									"max": 15
								}
							],
							"pattern": [
								"",
								"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
							]
						}
					},
					"LeaseTime": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the lease time in <<units>> of client assigned addresses. A value of -1 indicates an infinite lease.",
						"default": "86400",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						],
						"unit": "seconds"
					},
					"DSCPMark": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Diffserv code point to be used for outgoing DHCP messages.",
						"default": "48",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 63
							}
						]
					},
					"StaticAddressNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"OptionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ClientNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DHCP static address table. Entries in this table correspond to what <<bibref|RFC2131>> calls manual allocation, where a clients IP address is assigned by the network administrator, and DHCP is used simply to convey the assigned address to the client. Each instance of this object specifies a hardware address (MAC address) and an IP address within the pool. When serving from this pool, this IP address MUST, if available, be assigned to the DHCP client with this hardware address, and MUST NOT be assigned to any other client. Note that it is possible that an IP address in this table is present in one or more of the other conditional serving pools, in which case it is possible that such an address will be assigned to a different client.",
						"uniqueKeys": [
							"Alias",
							"Chaddr"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables the StaticAddress table entry. Disabling an entry does not return the IP address to the pool.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Chaddr": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Hardware address (MAC address) of the physical interface of the DHCP client.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"Yiaddr": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "IPv4 address to be assigned by the DHCP server to the DHCP client with the specified hardware address (MAC address).",
							"datatype": "IPv4Address",
							"range": [
								{
									"max": 15
								}
							],
							"pattern": [
								"",
								"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
							]
						}
					},
					"Device.DHCPv4.Server.Pool.{i}.Option.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object specifies the DHCP options that MUST, if enabled, be returned to clients whose DHCP requests are associated with this pool.",
						"uniqueKeys": [
							"Alias",
							"Tag"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this Option table entry.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Tag": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Option tag as defined in <<bibref|RFC2132>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 254
								}
							]
						},
						"Value": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A hexbinary encoded option value.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						}
					},
					"Device.DHCPv4.Server.Pool.{i}.Client.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DHCPv4 client table. This table lists details of DHCPv4 clients that matched the filter criteria of this <<object|#>> entry.",
						"uniqueKeys": [
							"Alias",
							"Chaddr"
						],
						"access": false,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. Note: There is no guarantee that the <<param>> value on automatically-created <<object>> instances will be retained. This is because automatically-created <<object>> instances can be transitory.",
							"datatype": "_AliasCWMP"
						},
						"Chaddr": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "MAC address of the DHCPv4 client.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"Active": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Whether or not the DHCPv4 client is currently present on the LAN. The method of presence detection is a local matter to the CPE. The ability to list inactive DHCPv4 clients is OPTIONAL. If the CPE includes inactive DHCPv4 clients in this table, <<param>> MUST be set to <<false>> for each inactive DHCPv4 client. The length of time an inactive DHCPv4 client remains listed in this table is a local matter to the CPE.",
							"datatype": "boolean"
						},
						"IPv4AddressNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"OptionNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "IPv4 addresses assigned to this client.",
							"uniqueKeys": [
								"IPAddress"
							],
							"access": false,
							"array": true,
							"IPAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "IPv4 address.",
								"datatype": "IPv4Address",
								"range": [
									{
										"max": 15
									}
								],
								"pattern": [
									"",
									"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
								]
							},
							"LeaseTimeRemaining": {
								"type": "dateTime",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The time at which the DHCP lease will expire or <<null>> if not known. For an infinite lease, the parameter value MUST be 9999-12-31T23:59:59Z.",
								"datatype": "dateTime"
							}
						},
						"Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "DHCPv4 options supplied by this client, e.g. VendorClassID (Option 60), ClientID (option 61) or UserClassID (Option 77).",
							"access": false,
							"array": true,
							"Tag": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Option tag as defined in <<bibref|RFC2132>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 255
									}
								]
							},
							"Value": {
								"type": "hexBinary",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A hexbinary encoded option value.",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 0,
										"max": 255
									}
								]
							}
						}
					}
				},
				"Device.DHCPv4.Server.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provide statistics for the embedded DHCP Server.",
					"access": false,
					"array": false,
					"Discover": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPDISCOVER messages received by the server, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Offer": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPOFFER messages sent by the server, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Request": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPREQUEST messages received by the server, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"ACK": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPACK messages sent by the server, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"NACK": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPNACK messages sent by the server, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Decline": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPDECLINE messages received by the server, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Release": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPRELEASE messages received by the server, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"Inform": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPINFORM messages received by the server, as defined in <<bibref|RFC2132|DHCP Message Type>>.",
						"datatype": "StatsCounter64"
					},
					"ForceRenew": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCPFORCERNEW messages sent by the server, as defined in <<bibref|RFC3203|DHCP reconfigure extension>>.",
						"datatype": "StatsCounter64"
					},
					"DiscardedPackets": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCP packets discarded by the server. Packets can be discarded due to illegal message format and content, incorrect received bytes, etc.",
						"datatype": "StatsCounter64"
					},
					"TransmitFailure": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCP messages that failed to transmit.",
						"datatype": "StatsCounter64"
					},
					"RelayOptionDropped": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCP messages with dropped relay options.",
						"datatype": "StatsCounter64"
					},
					"SecondServerDetected": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of times a second DHCP server was detected.",
						"datatype": "StatsCounter64"
					},
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.DHCPv4.Relay.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DHCP Relay Agent (conditional relaying).",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the DHCP Relay Agent function.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of the DHCP relay. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"ForwardingNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DHCPv4.Relay.Forwarding.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DHCP Relay Agent Forwarding table. For enabled table entries, if <<param|Interface>> is not a valid reference then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the Forwarding entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Order": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each DHCP request, the highest ordered entry that matches the association criteria is applied. All lower order entries are ignored.",
						"datatype": "Order",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> The IP Interface associated with the Forwarding entry.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"VendorClassID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. Used to identify one or more LAN devices, value of the DHCP Vendor Class Identifier (Option 60) as defined in <<bibref|RFC2132>>, matched according to the criterion in <<param|VendorClassIDMode>>. Case sensitive. This is a normal string, e.g. abc is represented as abc and not say 616263 hex. However, if the value includes non-printing characters then such characters have to be represented using XML escapes, e.g. #x0a for line-feed. <<empty>> indicates this criterion is not used as a relay classification criterion.",
						"datatype": "string",
						"range": [
							{
								"max": 255
							}
						]
					},
					"VendorClassIDExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the <<param|VendorClassID>> entry, if specified. If <<true>>, matching packets are those that do not match the <<param|VendorClassID>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"VendorClassIDMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<param|VendorClassID>> pattern match criterion. Enumeration of: Exact, Prefix, Suffix, Substring. For example, if <<param|VendorClassID>> is Example then an Option 60 value of Example device will match with <<param>> values of <<enum|Prefix>> or <<enum|Substring>>, but not with <<enum|Exact>> or <<enum|Suffix>>.",
						"default": "Exact",
						"datatype": "string",
						"enumerations": [
							"Exact",
							"Prefix",
							"Suffix",
							"Substring"
						]
					},
					"ClientID": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP Client Identifier (Option 61) as defined in <<bibref|RFC2132>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used as a relay classification criterion.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 255
							}
						]
					},
					"ClientIDExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the <<param|ClientID>> entry, if specified. If <<true>>, matching packets are those that do not match the <<param|ClientID>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"UserClassID": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCP User Class Identifier (Option 77) as defined in <<bibref|RFC3004>>. <<empty>> indicates this criterion is not used as a relay classification criterion.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 255
							}
						]
					},
					"UserClassIDExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the <<param|UserClassID>> entry, if specified. If <<true>>, matching packets are those that do not match the <<param|UserClassID>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"Chaddr": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. Hardware address (MAC address) of the physical interface of the DHCP client. <<empty>> indicates this criterion is not used as a relay classification criterion.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"ChaddrMask": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Bit-mask for the MAC address, where matching of a packets MAC address with the <<param|Chaddr>> is only to be done for bit positions set to one in the mask. A mask of FF:FF:FF:FF:FF:FF or <<empty>> indicates all bits of the <<param|Chaddr>> are to be used for relay classification.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"ChaddrExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the (masked) <<param|Chaddr>> entry, if specified. If <<true>>, matching packets are those that do not match the (masked) <<param|Chaddr>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"LocallyServed": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<true>>, incoming DHCP requests will be forwarded to the CPE DHCP Server. If <<false>>, incoming DHCP requests will be forwarded to the <<param|DHCPServerIPAddress>> configured for this forwarding entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"DHCPServerIPAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IPv4 address of the DHCP server, where the request has to be sent to when there is a conditional match with this forwarding entry and <<param|LocallyServed>> is <<false>>. If <<param|LocallyServed>> is <<false>> and this parameter is not configured, then the DHCP request is dropped.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					}
				}
			}
		},
		"Device.DHCPv6.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The Dynamic Host Configuration Protocol (DHCP) IPv6 object <<bibref|RFC8415>>. This entire object applies to IPv6 only. It contains the <<object|Client>> and <<object|Server>> objects.",
			"access": false,
			"array": false,
			"ClientNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.DHCPv6.Client.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains DHCPv6 client settings for an associated IP Interface indicated by <<param|Interface>>. For enabled table entries, if <<param|Interface>> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> The IP Interface associated with the <<object>> entry. This will reference an IPv6-capable interface (that is attached to the IPv6 stack), otherwise the table entry will be inoperable.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this table entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"DUID": {
					"type": "hexBinary",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The clients DHCP Unique Identifier (DUID) <<bibref|RFC8415|Section 11>>. <<param>> is set by the CPE.",
					"datatype": "hexBinary",
					"range": [
						{
							"max": 130
						}
					]
				},
				"RequestAddresses": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables inclusion of the Identity Association (IA) for Non-Temporary Address option OPTION_IA_NA(3) <<bibref|RFC8415|Section 21.4>> in Solicit messages.",
					"default": "true",
					"datatype": "boolean"
				},
				"RequestPrefixes": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables inclusion of the Identity Association (IA) for Prefix Delegation option OPTION_IA_PD(25) <<bibref|RFC8415|Section 21.22>> in Solicit messages. Note that this is only appropriate for an upstream interface on a requesting router, e.g. for an RG WAN interface.",
					"default": "false",
					"datatype": "boolean"
				},
				"RapidCommit": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables inclusion of the Rapid Commit option OPTION_RAPID_COMMIT(14) <<bibref|RFC8415|Section 21.14>> in Solicit messages.",
					"default": "false",
					"datatype": "boolean"
				},
				"Renew": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, the <<object>> will renew its DHCPv6-supplied information (i.e. the CPE will do a renew or information request as needed, updating both stateful and stateless parameter values discovered by this Client instance).",
					"default": "false",
					"datatype": "boolean"
				},
				"SuggestedT1": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "T1 value, in <<units>>, that the client SHOULD use when sending IA options, e.g. OPTION_IA_NA <<bibref|RFC8415|Section 21.4>> and OPTION_IA_PD <<bibref|RFC8415|Section 10>>. A value of -1 indicates that no T1 value is specified.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "seconds"
				},
				"SuggestedT2": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "T2 value, in <<units>>, that the client SHOULD use when sending IA options, e.g. OPTION_IA_NA <<bibref|RFC8415|Section 21.4>> and OPTION_IA_PD <<bibref|RFC8415|Section 21.22>>. A value of -1 indicates that no T2 value is specified.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "seconds"
				},
				"SupportedOptions": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> The options that the client is able to process in server responses. This list MUST include both top-level and encapsulated options, e.g. if the client is able to process OPTION_IA_NA (3) with an encapsulated OPTION_IAADDR (5), the list would be expected to include both 3 and 5.",
					"list": {
						"datatype": "unsignedInt"
					}
				},
				"RequestedOptions": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> An ordered list of the top-level options (i.e. not encapsulated options) that the client will explicitly request from the server. This parameter is intended only for options that are not necessary for the basic operation of the protocol, and are not modeled elsewhere. For example, it is appropriate for OPTION_DNS_SERVERS <<bibref|RFC3646>> but is not appropriate for OPTION_SERVERID (which is part of the protocol), OPTION_IA_NA (which is modeled via <<param|RequestAddresses>>) or OPTION_IA_PD (which is modeled via <<param|RequestPrefixes>>). However, the CPE MUST NOT reject an attempt to set this parameter to a value that includes options that it regards as inappropriate; instead, it MUST accept the requested options and handle them as best it can. Loosely speaking, these are the options that the client will include in OPTION_ORO <<bibref|RFC8415>> but the client is free to decide (in accordance with <<bibref|RFC8415>>) in which messages to request which option, whether also to request additional options, whether not to request inappropriate options, and in which order to request any options that are also in <<param|SupportedOptions>>.",
					"list": {
						"datatype": "unsignedInt"
					}
				},
				"AuthenticationProtocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the authentication protocol to be used, as explained in <<bibref|RFC8415|Chapter 20.2 Summary of DHCP Authentication>>.",
					"default": "None",
					"datatype": "string",
					"enumerations": [
						"None",
						"ConfigurationToken",
						"DelayedAuthentication",
						"ReconfigureKeyAuthentication"
					]
				},
				"DSCPMark": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Diffserv code point to be used for outgoing DHCP messages.",
					"default": "48",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 63
						}
					]
				},
				"ServerNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"SentOptionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ReceivedOptionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Renew()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.DHCPv6.Client.{i}.Server.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is a transitory table that lists the discovered DHCPv6 servers (it does not model a local DHCP server). Table entries are automatically created to correspond with these servers. However, it is a local matter to the CPE when to delete old table entries.",
					"uniqueKeys": [
						"SourceAddress"
					],
					"access": false,
					"array": true,
					"SourceAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IP address from which the message most recently received from this server was sent.",
						"datatype": "IPv6Address"
					},
					"DUID": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The servers DHCP Unique Identifier (DUID) <<bibref|RFC8415|Section 11>> as received via OPTION_SERVERID.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 130
							}
						]
					},
					"InformationRefreshTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The OPTION_INFORMATION_REFRESH_TIME value <<bibref|RFC4242>> that was most recently received from this server, converted to the dateTime at which the associated information will expire. If no such option has been received, the parameter value MUST be the Unknown Time <<null>>. If the information will never expire, the parameter value MUST be infinite time 9999-12-31T23:59:59Z.",
						"datatype": "dateTime"
					}
				},
				"Device.DHCPv6.Client.{i}.SentOption.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The top-level options and option values (including any encapsulated options) that the client will send to the server. This table is intended only for options that are not part of the basic operation of the protocol, and whose values are simple, do not often change and are not modeled elsewhere. For example, it is appropriate for OPTION_USER_CLASS (whose value is a list of user classes) but is not appropriate for OPTION_RECONF_MSG (which is part of the protocol), OPTION_IA_NA (which is modeled via <<param|#.RequestAddresses>>) or OPTION_RAPID_COMMIT (which is modeled via <<param|#.RapidCommit>>).",
					"uniqueKeys": [
						"Alias",
						"Tag"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Tag": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Option tag (code) <<bibref|RFC8415|Section 21.1>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Value": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A hexbinary encoded option data <<bibref|RFC8415|Section 21.1>>. Note: The length of the option data is option-len octets, as specified in <<bibref|RFC8415|Section 21.1>>.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					}
				},
				"Device.DHCPv6.Client.{i}.ReceivedOption.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is a transitory table that lists all the options received from all servers. Table entries are automatically created to correspond with received options. However, it is a local matter to the CPE when to delete old table entries. If the same option is received multiple times, whether from one or more servers, it is up to the CPE to decide which entries to include (i.e. whether the same option will be present multiple times). In order to allow for the same option to be present multiple times within the table, this table has no unique key defined.",
					"access": false,
					"array": true,
					"Tag": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Option tag (code) <<bibref|RFC8415|Section 21.1>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Value": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A hexbinary encoded option data <<bibref|RFC8415|Section 21.1>>.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Server": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> This is the server that sent the option to the client. Each <<object>> entry MUST have an associated server.",
						"datatype": "string"
					}
				},
				"Device.DHCPv6.Client.{i}.Retransmission.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object enables the configurion of the DHCPv6 retransmission behavior according to the guidelines described in <<bibref|RFC8415|Section 7.6>>.",
					"access": false,
					"array": false,
					"SolicitMaxDelay": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum delay of first Solicit, expressed in <<units>>.",
						"default": "1",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"SolicitInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial solicit, expressed in <<units>>.",
						"default": "1",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"SolicitMaxTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum solicit timeout value, expressed in <<units>>.",
						"default": "3600",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RequestInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial request timeout, expressed in <<units>>.",
						"default": "1",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RequestMaxTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum request timeout, expressed in <<units>>.",
						"default": "30",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RequestMaxRetry": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum request retry attempts.",
						"default": "10",
						"datatype": "unsignedInt"
					},
					"ConfirmMaxDelay": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum delay of first confirm, expressed in <<units>>.",
						"default": "1",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"ConfirmInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial confirm timeout, expressed in <<units>>.",
						"default": "1",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"ConfirmMaxTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum confirm timeout, expressed in <<units>>.",
						"default": "4",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"ConfirmMaxDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum confirm duration, expressed in <<units>>.",
						"default": "10",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RenewInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial renew timeout, expressed in <<units>>.",
						"default": "10",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RenewMaxTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum renew timeout value, expressed in <<units>>.",
						"default": "600",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RebindInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial rebind timeout, expressed in <<units>>.",
						"default": "10",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RebindMaxTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum rebind timeout value, expressed in <<units>>.",
						"default": "600",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"InformationRequestMaxDelay": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum delay of first information-request, expressed in <<units>>.",
						"default": "1",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"InformationRequestInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial information-request timeout, expressed in <<units>>.",
						"default": "1",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"InformationRequestMaxTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum information-request timeout, expressed in <<units>>.",
						"default": "3600",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"ReleaseInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial Release timeout, expressed in <<units>>.",
						"default": "1",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"ReleaseMaxAttempts": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum release retry attempts.",
						"default": "4",
						"datatype": "unsignedInt"
					},
					"DeclineInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial Decline timeout, expressed in <<units>>.",
						"default": "1",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"DeclineMaxAttempts": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum decline retry attempts.",
						"default": "4",
						"datatype": "unsignedInt"
					},
					"ReconfigureInitialTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Initial reconfigure timeout, expressed in <<units>>.",
						"default": "2",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"ReconfigureMaxAttempts": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum reconfigure attempts.",
						"default": "8",
						"datatype": "unsignedInt"
					},
					"HopCountLimit": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum hop count in a relay-forward message.",
						"default": "32",
						"datatype": "unsignedInt"
					},
					"InformationRefreshTime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Default information refresh time, expressed in <<units>>.",
						"default": "86400",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"MinInformationRefreshTime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Minimum information refresh time, expressed in <<units>>.",
						"default": "600",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"MaxWaitTime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum required time to wait for a response, expressed in <<units>>.",
						"default": "60",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"TimeoutRandomize": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Randomization factor for the retransmission timeout, in <<units>>, as defined in <<bibref|RFC8415|15 Reliability of Client-Initiated Message Exchanges>>. E.g. a timeout of 1000ms with a randomization of 100 will end up between 900 and 1100 ms.",
						"default": "100",
						"datatype": "int",
						"unit": "ms"
					}
				},
				"Device.DHCPv6.Client.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provide statistics for the embedded DHCPv6 Client.",
					"access": false,
					"array": false,
					"Solicit": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of SOLICIT messages sent by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Advertise": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of ADVERTISE messages received by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Request": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of REQUEST messages sent by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Confirm": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of CONFIRM messages sent by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Renew": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of RENEW messages sent by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Rebind": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of REBIND messages sent by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Reply": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of REPLY messages received by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Release": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of RELEASE packets sent by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Decline": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DECLINE messages sent by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Reconfigure": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of RECONFIGURE messages received by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"InformationRequest": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of INFORMATION-REQUEST messages sent by the client, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"DiscardedPackets": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCP packets discarded by the client. Packets can be discarded due to illegal message format and content, incorrect received bytes, etc.",
						"datatype": "StatsCounter64"
					},
					"TransmitFailure": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCP messages that failed to transmit.",
						"datatype": "StatsCounter64"
					},
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.DHCPv6.Server.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DHCPv6 server configuration.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the DHCPv6 server function.",
					"datatype": "boolean"
				},
				"PoolNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DHCPv6.Server.Pool.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "DHCPv6 server pool table. Each instance of this object defines a DHCPv6 server pool. Client requests are associated with pools based on criteria such as source interface, supplied DHCPv6 options, and source address. Overlapping pool ranges MUST be supported. For enabled table entries, if <<param|Interface>> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack) then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"uniqueKeys": [
						"Alias",
						"Order"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Order": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each DHCPv6 request, the highest ordered entry that matches the association criteria is applied. All lower order entries are ignored.",
						"datatype": "Order",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> The IP Interface associated with the <<object>> entry.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"DUID": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCPv6 Client Identifier (Option 1) <<bibref|RFC8415|Section 21.2>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used. Note: DHCPv6 Option 1 (DUID) is sometimes referred to as Client Identifier.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 130
							}
						]
					},
					"DUIDExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the <<param|DUID>> entry, if specified. If <<true>>, matching packets are those that do not match the <<param|DUID>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"VendorClassID": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCPv6 Vendor Class Identifier (Option 16) <<bibref|RFC8415|Section 21.16>>. The option value is binary, so an exact match is REQUIRED. <<empty>> indicates this criterion is not used.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"VendorClassIDExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the <<param|VendorClassID>> entry, if specified. If <<true>>, matching packets are those that do not match the <<param|VendorClassID>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"UserClassID": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. A hexbinary string used to identify one or more LAN devices, value of the DHCPv6 User Class Identifier (Option 15) <<bibref|RFC8415|Section 21.15>>. <<empty>> indicates this criterion is not used.",
						"datatype": "hexBinary",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"UserClassIDExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the <<param|UserClassID>> entry, if specified. If <<true>>, matching packets are those that do not match the <<param|UserClassID>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"SourceAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Pool association criterion. Source address (link-layer address) of DHCPv6 messages sent from the DHCPv6 client. This criterion is only likely to be useful if this is a link-layer address. <<empty>> indicates this criterion is not used for serving.",
						"datatype": "IPv6Address"
					},
					"SourceAddressMask": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Bit-mask for the source address, where matching of a packets source address with the <<param|SourceAddress>> is only to be done for bit positions set to one in the mask. A mask of <<empty>> indicates all bits of the <<param|SourceAddress>> are to be used.",
						"datatype": "IPv6Address"
					},
					"SourceAddressExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, matching packets are those that match the (masked) <<param|SourceAddress>> entry, if specified. If <<true>>, matching packets are those that do not match the (masked) <<param|SourceAddress>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					},
					"IANAEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables IANA offers.",
						"datatype": "boolean"
					},
					"IANAManualPrefixes": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference>> Manually-configured prefixes from which IA_NA addresses will be assigned. Each referenced prefix MUST have a <<param|###.IP.Interface.<i>.IPv6Prefix.<i>.StaticType>> of <<enum|Static|###.IP.Interface.<i>.IPv6Prefix.<i>.StaticType>> or <<enum|Child|###.IP.Interface.<i>.IPv6Prefix.<i>.StaticType>>. All clients that request IA_NA and match filter criteria on this <<param|Interface>> MUST be offered IA_NA addresses from all of the Valid (<<param|###.IP.Interface.<i>.IPv6Prefix.<i>.ValidLifetime>> is infinite or in the future) /64 prefixes in this list. Prefixes MUST be associated with the interface instance referenced by <<param|Interface>>.",
						"default": "[]",
						"list": {
							"datatype": "string",
							"item": {
								"max": 8
							}
						}
					},
					"IANAPrefixes": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference>> All prefixes from which IA_NA addresses will be assigned. This list can include: * Prefixes from <<param|IANAManualPrefixes>> that are used for IA_NA offers. * Prefixes with <<param|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> = <<enum|Child|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> or <<enum|AutoConfigured|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> associated with the interface instance referenced by <<param|Interface>>.",
						"list": {
							"datatype": "string",
							"item": {
								"max": 8
							}
						}
					},
					"IAPDEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables IAPD offers.",
						"datatype": "boolean"
					},
					"IAPDManualPrefixes": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference>> Manually-configured prefixes from which IA_PD prefixes will be derived. This list can include: * Prefixes with <<param|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> = <<enum|Static|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> or <<enum|PrefixDelegation|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> associated with upstream interfaces (i.e. interfaces for which the physical layer interface object has Upstream = <<true>>). * Prefixes with <<param|###.IP.Interface.<i>.IPv6Prefix.<i>.StaticType>> = <<enum|Static|###.IP.Interface.<i>.IPv6Prefix.<i>.StaticType>> or <<enum|Child|###.IP.Interface.<i>.IPv6Prefix.<i>.StaticType>> associated with with the interface instance referenced by <<param|Interface>>. All clients that request IA_PD and match filter criteria on this <<param|Interface>> MUST be offered IA_PD prefixes derived from all of the Valid (<<param|###.IP.Interface.<i>.IPv6Prefix.<i>.ValidLifetime>> is infinite or in the future) prefixes in this list.",
						"default": "[]",
						"list": {
							"datatype": "string",
							"item": {
								"max": 8
							}
						}
					},
					"IAPDPrefixes": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference>> All prefixes for which IA_PD prefixes will be assigned. This list can include: * Prefixes from <<param|IAPDManualPrefixes>> that are used for IA_PD offers. * Prefixes with <<param|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> = <<enum|PrefixDelegation|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> or <<enum|AutoConfigured|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> associated with upstream interfaces (i.e. interfaces for which the physical layer interface object has Upstream = <<true>>). * Prefixes with <<param|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> = <<enum|Child|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> or <<enum|AutoConfigured|###.IP.Interface.<i>.IPv6Prefix.<i>.Origin>> associated with the interface instance referenced by <<param|Interface>>.",
						"list": {
							"datatype": "string",
							"item": {
								"max": 8
							}
						}
					},
					"IAPDAddLength": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The RECOMMENDED minimum number of bits to add to <<param|IAPDManualPrefixes>> or <<param|IAPDPrefixes>> in order to determine the length of prefixes that are offered in an IA_PD. The device is responsible for ensuring that it does not delegate a prefix longer than /64. The device can have additional logic that is used (in conjunction with this parameter) to determine the actual length of prefixes offered in an IA_PD.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 64
							}
						]
					},
					"DSCPMark": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Diffserv code point to be used for outgoing DHCP messages.",
						"default": "48",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 63
							}
						]
					},
					"ClientNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"OptionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.DHCPv6.Server.Pool.{i}.Client.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "DHCPv6 client table. This table lists details of DHCPv6 clients that matched the filter criteria of this <<object|#>> entry.",
						"uniqueKeys": [
							"Alias",
							"SourceAddress"
						],
						"access": false,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. Note: There is no guarantee that the <<param>> value on automatically-created <<object>> instances will be retained. This is because automatically-created <<object>> instances can be transitory.",
							"datatype": "_AliasCWMP"
						},
						"SourceAddress": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Source address of the DHCPv6 client.",
							"datatype": "IPv6Address"
						},
						"Active": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Whether or not the DHCPv6 client is currently present on the LAN. The method of presence detection is a local matter to the CPE. The ability to list inactive DHCPv6 clients is OPTIONAL. If the CPE includes inactive DHCPv6 clients in this table, <<param>> MUST be set to <<false>> for each inactive DHCPv6 client. The length of time an inactive DHCPv6 client remains listed in this table is a local matter to the CPE.",
							"datatype": "boolean"
						},
						"IPv6AddressNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"IPv6PrefixNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"OptionNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "IPv6 addresses assigned to this client via IA_NA.",
							"uniqueKeys": [
								"IPAddress"
							],
							"access": false,
							"array": true,
							"IPAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "IPv6 address.",
								"datatype": "IPv6Address"
							},
							"PreferredLifetime": {
								"type": "dateTime",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The time at which this address will cease to be preferred (i.e. will become deprecated), or <<null>> if not known. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z.",
								"datatype": "dateTime"
							},
							"ValidLifetime": {
								"type": "dateTime",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The time at which this address will cease to be valid (i.e. will become invalid), or <<null>> if unknown. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z.",
								"datatype": "dateTime"
							}
						},
						"Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "IPv6 prefixes delegated to this client via IA_PD.",
							"uniqueKeys": [
								"Prefix"
							],
							"access": false,
							"array": true,
							"Prefix": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "IPv6 address prefix.",
								"datatype": "IPv6Prefix"
							},
							"PreferredLifetime": {
								"type": "dateTime",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The time at which this prefix will cease to be preferred (i.e. will become deprecated), or <<null>> if not known. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z.",
								"datatype": "dateTime"
							},
							"ValidLifetime": {
								"type": "dateTime",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The time at which this prefix will cease to be valid (i.e. will become invalid), or <<null>> if unknown. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z.",
								"datatype": "dateTime"
							}
						},
						"Device.DHCPv6.Server.Pool.{i}.Client.{i}.Option.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "DHCPv6 options supplied by this client, e.g. DUID (Option 1), UserClassID (Option 15) or VendorClassID (option 16).",
							"access": false,
							"array": true,
							"Tag": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Option tag (code) <<bibref|RFC8415|Section 21.1>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							},
							"Value": {
								"type": "hexBinary",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A hexbinary encoded option value.",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							}
						}
					},
					"Device.DHCPv6.Server.Pool.{i}.Option.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object specifies the DHCPv6 options that MUST, if enabled, be offered to clients whose DHCPv6 requests are associated with this pool. If <<param|PassthroughClient>> is specified, and the referenced client has a value for a given option then the <<param|PassthroughClient>> option value will be sent instead of <<param|Value>>. Otherwise, <<param|Value>> will be sent.",
						"uniqueKeys": [
							"Alias",
							"Tag"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this <<object>> entry.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Tag": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Option tag (code) <<bibref|RFC8415|Section 21.1>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"Value": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A hexbinary encoded option value.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"PassthroughClient": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<reference>> Indicates whether this <<object>> entry is configured for passthrough. If <<param>> is specified, and the referenced client (since boot) has received a value from an associated upstream DHCPv6 server for the given <<param|Tag>> option, then the referenced clients option value will be sent instead of <<param|Value>>. Otherwise, <<param|Value>> will be sent. <<empty>> indicates that passthrough is not configured for this <<object>> entry.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				},
				"Device.DHCPv6.Server.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provide statistics for the embedded DHCPv6 Server.",
					"access": false,
					"array": false,
					"Solicit": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of SOLICIT messages received by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Advertise": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of ADVERTISE messages sent by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Request": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of REQUEST messages received by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Confirm": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of CONFIRM messages received by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Renew": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of RENEW messages received by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Rebind": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of REBIND messages received by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Reply": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of REPLY messages sent by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Release": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of RELEASE packets received by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Decline": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of INFORM messages received by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"Reconfigure": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of RECONFIGURE messages sent by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"InformationRequest": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of INFORMATION-REQUEST messages received by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"RelayForward": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of RELAY-FORW messages received by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"RelayReply": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of RELAY-REPL messages sent by the server, as defined in <<bibref|RFC8415|Dynamic Host Configuration Protocol for IPv6>>.",
						"datatype": "StatsCounter64"
					},
					"DiscardedPackets": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCP packets discarded by the server. Packets can be discarded due to illegal message format and content, incorrect received bytes, etc.",
						"datatype": "StatsCounter64"
					},
					"TransmitFailure": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of DHCP messages that failed to transmit.",
						"datatype": "StatsCounter64"
					},
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			}
		},
		"Device.IEEE8021x.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "IEEE 802.1x object <<bibref|802.1x-2004>>, where <<object|Supplicant>> models authentication supplicants.",
			"access": false,
			"array": false,
			"SupplicantNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.IEEE8021x.Supplicant.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "802.1x supplicant authentication provisioning and status information associated with an interface to be authenticated (e.g. an <<object|##.Ethernet.Link>> instance). For enabled table entries, if <<param|Interface>> is not a valid reference then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter controls whether this resource will utilize the 802.1x protocol as a supplicant for device authentication purposes.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational status of this 802.1x supplicant. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> The interface on which authentication is to be performed. Example: Device.Ethernet.Link.1",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"PAEState": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current supplicant state machine as defined in <<bibref|802.1x-2004|9.5.1>>, Supplicant PAE (Port Access Entity) State. Enumeration of: Disconnected, Logoff, Connecting, Authenticating, Authenticated, Held, Restart, ForceAuth, ForceUnauth.",
					"datatype": "string",
					"enumerations": [
						"Disconnected",
						"Logoff",
						"Connecting",
						"Authenticating",
						"Authenticated",
						"Held",
						"Restart",
						"ForceAuth",
						"ForceUnauth"
					]
				},
				"EAPIdentity": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The identity to be exchanged between the supplicant and authenticator.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"MaxStart": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of times the device will attempt to send an EAP start message before authentication fails as defined in <<bibref|802.1x-2004|9.5.1>>, maxStart. This is in support of <<bibref|802.1x-2004|Section 8.4.6>>, Migration Considerations.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 10
						}
					]
				},
				"StartPeriod": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The period in <<units>> a supplicant will wait before the device will attempt to re-send an EAP start message as defined in <<bibref|802.1x-2004|9.5.1>>, startPeriod.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"HeldPeriod": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The hold-off period in <<units>> a supplicant will wait before re-attempting authentication as defined in <<bibref|802.1x-2004|9.5.1>>, heldPeriod.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"AuthPeriod": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The period in <<units>> after which a request will be considered timed out as defined in <<bibref|802.1x-2004|9.5.1>>, authPeriod.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"AuthenticationCapabilities": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the authentication methods supported by the device. Enumeration of: EAP-TLS, EAP-MD5.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"EAP-TLS",
							"EAP-MD5"
						]
					}
				},
				"StartFailurePolicy": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The action to be taken when authentication has failed, when the network fails to respond to the supplicants start message, and the retries have been exceeded (since network does not yet support 802.1x). Enumeration of: FailAuthentication, AssumeAuthentication. This is in support of <<bibref|802.1x-2004|Section 8.4.6>>, Migration Considerations.",
					"datatype": "string",
					"enumerations": [
						"FailAuthentication",
						"AssumeAuthentication"
					]
				},
				"AuthenticationSuccessPolicy": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The action to be taken when authentication succeeds and a connection has already received an address and/or policy settings. Enumeration of: NoAction, RenewConnection.",
					"datatype": "string",
					"enumerations": [
						"NoAction",
						"RenewConnection"
					]
				},
				"Reset": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, the device MUST reset the session by performing an initial authentication attempt as defined in <<bibref|802.1x-2004|9.6.1.3>>, Initialize Port by sending out the EAP start message. The device MUST initiate the reset after completion of the current CWMP session. The device MAY delay resetting the resource in order to avoid interruption of a user service such as an ongoing voice call.",
					"datatype": "boolean"
				},
				"Disconnect": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, the device MUST disconnect (forced unauthentication) the resource. The device MUST initiate the disconnect after completion of the current CWMP session. The device MAY delay re-authentication of the resource in order to avoid interruption of a user service such as an ongoing voice call.",
					"datatype": "boolean"
				},
				"Reset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Disconnect()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.IEEE8021x.Supplicant.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "802.1x Authentication Supplicant EAP statistics information for this resource.",
					"access": false,
					"array": false,
					"ReceivedFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of EAPOL frames of any type that have been received by this Supplicant; <<bibref|802.1x-2004|9.5.2>>, EAPOL frames received.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"TransmittedFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of EAPOL frames of any type that have been transmitted by this Supplicant; <<bibref|802.1x-2004|9.5.2>>, EAPOL frames transmitted.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"TransmittedStartFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of EAPOL Start frames that have been transmitted by this Supplicant; <<bibref|802.1x-2004|9.5.2>>, EAPOL Start frames transmitted.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"TransmittedLogoffFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of EAPOL Logoff frames that have been transmitted by this Supplicant; <<bibref|802.1x-2004|9.5.2>>, EAPOL Logoff frames transmitted.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"TransmittedResponseIdFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of EAP Resp/Id frames that have been transmitted; <<bibref|802.1x-2004|9.5.2>>, EAP Resp/Id frames transmitted.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"TransmittedResponseFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of valid EAP Response frames (other than Resp/Id frames) that have been transmitted by this Supplicant; <<bibref|802.1x-2004|9.5.2>>, EAP Resp frames transmitted.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"ReceivedRequestIdFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of EAP Req/Id frames that have been received by this Supplicant; <<bibref|802.1x-2004|9.5.2>>, EAP Req/Id frames received.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"ReceivedRequestFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of EAP Request frames (other than Rq/Id frames) that have been received by this Supplicant; <<bibref|802.1x-2004|9.5.2>>, EAP Req frames received.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"ReceivedInvalidFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of EAPOL frames that have been received by this Supplicant in which the frame type is not recognized; <<bibref|802.1x-2004|9.5.2>>, EAP Req frames received.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"ReceivedLengthErrorFrames": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of EAPOL frames that have been received by this Supplicant in which the Packet Body Length field is invalid; <<bibref|802.1x-2004|9.5.2>>, EAP length error frames received.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"LastFrameVersion": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The protocol version number carried in the most recently received EAPOL frame; <<bibref|802.1x-2004|9.5.2>>, Last EAPOL frame version",
						"datatype": "unsignedInt"
					},
					"LastFrameSourceMACAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The source MAC address carried in the most recently received EAPOL frame; <<bibref|802.1x-2004|9.5.2>>, Last EAPOL frame source.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"SuccessCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Count of the number of successful authentications from the perspective of this supplicant.",
						"datatype": "StatsCounter32"
					},
					"FailureCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Count of the number of failed authentications from the perspective of this supplicant.",
						"datatype": "StatsCounter32"
					},
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.IEEE8021x.Supplicant.{i}.EAPMD5.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "802.1x Authentication Supplicant provisioning information used for MD5 shared secret exchange. This object will not exist if EAP-MD5 is not a supported authentication type.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter enables or disables the supplicants support for EAP-MD5.",
						"datatype": "boolean"
					},
					"SharedSecret": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The shared secret to be exchanged between the supplicant and authenticator.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Device.IEEE8021x.Supplicant.{i}.EAPTLS.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "802.1x Authentication Supplicant provisioning information used for TLS certificate authentication. This object will not exist if the EAP-TLS is not a supported authentication type.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter enables or disables the supplicants support for EAP-TLS.",
						"datatype": "boolean"
					},
					"MutualAuthenticationEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The parameter controls if the supplicant will authenticate the authenticator.",
						"datatype": "boolean"
					},
					"Certificate": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the client certificate that must be presented to the remote server for mutual authentication. This certificate is used to authenticate the client by the remote server, ensuring that the remote server is communicating with a trusted client. The client certificate must be issued by a trusted Certificate Authority (CA) and should match the clients private key. This parameter is applicable only when a TLS session is being used.",
						"datatype": "string"
					},
					"CABundle": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the group of CA certificate(s) that the client must use to validate the certificate presented by the remote server. These CA certificates form a trust chain that the server certificate must match, ensuring that only servers with trusted certificates can establish a connection. This parameter supports multiple CA certificates to accommodate different server certificate issuers. This parameter is applicable only when a TLS session is being used.",
						"datatype": "string"
					}
				}
			}
		},
		"Device.Users.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Users object that contains the <<object|User>>, <<object|Group>>, and <<object|Role>> tables.",
			"access": false,
			"array": false,
			"UserNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"GroupNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"RoleNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SupportedShellNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SupportedCapabilities": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This parameter contains the supported capabilities on this system. These are privileges that allow precise control for individual processes. Essentially, capabilities can be assigned to processes giving them necessary permissions to perform certain functions. Please refer to Linux man page on capabilities (capabilities(7) - Linux manual page).",
				"list": {
					"datatype": "string",
					"enumerations": [
						"CAP_AUDIT_CONTROL",
						"CAP_AUDIT_READ",
						"CAP_AUDIT_WRITE",
						"CAP_BLOCK_SUSPEND",
						"CAP_BPF",
						"CAP_CHECKPOINT_RESTORE",
						"CAP_CHOWN",
						"CAP_DAC_OVERRIDE",
						"CAP_DAC_READ_SEARCH",
						"CAP_FOWNER",
						"CAP_FSETID",
						"CAP_IPC_LOCK",
						"CAP_IPC_OWNER",
						"CAP_KILL",
						"CAP_LEASE",
						"CAP_LINUX_IMMUTABLE",
						"CAP_MAC_ADMIN",
						"CAP_MAC_OVERRIDE",
						"CAP_MKNOD",
						"CAP_NET_ADMIN",
						"CAP_NET_BIND_SERVICE",
						"CAP_NET_BROADCAST",
						"CAP_NET_RAW",
						"CAP_PERFMON",
						"CAP_SETGID",
						"CAP_SETFCAP",
						"CAP_SETPCAP",
						"CAP_SETUID",
						"CAP_SYS_ADMIN",
						"CAP_SYS_BOOT",
						"CAP_SYS_CHROOT",
						"CAP_SYS_MODULE",
						"CAP_SYS_NICE",
						"CAP_SYS_PACCT",
						"CAP_SYS_PTRACE",
						"CAP_SYS_RAWIO",
						"CAP_SYS_RESOURCE",
						"CAP_SYS_TIME",
						"CAP_SYS_TTY_CONFIG",
						"CAP_SYSLOG",
						"CAP_WAKE_ALARM"
					]
				}
			},
			"CheckCredentialsDiagnostics()": {
				"type": "command",
				"async": false,
				"protocols": [
					"usp"
				],
				"input": {
					"Username": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The user name for logging in to the user interface on the device.",
						"datatype": "string"
					},
					"Password": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The password for logging in to the user interface on the device.",
						"datatype": "string"
					}
				},
				"output": {
					"Status": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Indicates the response to request to check whether the credentials are valid and, if not, why not. Enumeration of: Credentials_Good, Credentials_Bad_Requested_Username_Not_Supported, Credentials_Bad_Requested_Password_Incorrect, Credentials_Missing, Error_Invalid_Input, Error_Other.",
						"datatype": "string",
						"enumerations": [
							"Credentials_Good",
							"Credentials_Bad_Requested_Username_Not_Supported",
							"Credentials_Bad_Requested_Password_Incorrect",
							"Credentials_Missing",
							"Error_Invalid_Input",
							"Error_Other"
						]
					}
				}
			},
			"Device.Users.User.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to the user characteristics.",
				"uniqueKeys": [
					"Username",
					"Alias",
					"UserID"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/disables this user object instance. If the User being configured is currently accessing the device then a disable MUST apply to the next user session and the current user session MUST NOT be abruptly terminated.",
					"default": "false",
					"datatype": "boolean"
				},
				"UserID": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Unique Identifier of the user. Depending on the implementation this can be the unique identifier assigned by the underlying system.",
					"datatype": "unsignedInt"
				},
				"RemoteAccessCapable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allows this user to remotely access the UserInterface via the mechanism defined in <<object|##.UserInterface.HTTPAccess>> <<deprecated|2.16|due to the introduction of <<object|.UserInterface.HTTPAccess.<i>.>> and <<param|RoleParticipation>>>> <<obsoleted|2.18>> <<deleted|2.19>>",
					"default": "false",
					"datatype": "boolean"
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Name of the current user. MUST NOT be <<empty>> for an enabled entry.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The users password.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"GroupParticipation": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Groups of which this User is a member.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"RoleParticipation": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Roles which are assigned to this User.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"StaticUser": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A static user is a fixed user that is always available in the system. When set to <<true>>, the user cannot be removed.",
					"default": "false",
					"datatype": "boolean"
				},
				"Language": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "String describing the default language for the local configuration interface, specified according to <<bibref|RFC3066>>. If <<empty>>, <<param|##.UserInterface.CurrentLanguage>> is used.",
					"datatype": "string",
					"range": [
						{
							"max": 16
						}
					]
				},
				"Shell": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<null>> means Shell access disabled.",
					"datatype": "string"
				}
			},
			"Device.Users.CheckCredentialsDiagnostics.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This object is to provide diagnostic information to check whether <<param|Username>> and <<param|Password>> are valid for allowing access to the user interface on the device. If not valid, then an indication of why they are not valid is output.",
				"access": false,
				"array": false,
				"DiagnosticsState": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
					"datatype": "DiagnosticsState",
					"enumerations": [
						"None",
						"Requested",
						"Canceled",
						"Complete",
						"Error"
					]
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The user name for logging in to the user interface on the device.",
					"datatype": "string"
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The password for logging in to the user interface on the device.",
					"datatype": "string"
				}
			},
			"Device.Users.Group.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to the characteristics of a user group.",
				"uniqueKeys": [
					"Groupname",
					"Alias",
					"GroupID"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/disables this group object instance. If any User which belongs to a Group which becomes disabled is currently accessing the device then the effect on that User should be as if the Group were removed from that Users GroupParticipation list.",
					"default": "false",
					"datatype": "boolean"
				},
				"GroupID": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Unique Identifier of the group. Depending on the implementation this can be the unique identifier assigned by the underlying system.",
					"datatype": "unsignedInt"
				},
				"Groupname": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Name of the Group. MUST NOT be <<empty>> for an enabled entry.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"RoleParticipation": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "These Roles are assigned to any User which is member of this Group, for so long as they remain a member of the Group.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"StaticGroup": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A static group is a fixed group that is always available in the system. When set to <<true>>, the group cannot be removed.",
					"default": "false",
					"datatype": "boolean"
				}
			},
			"Device.Users.SupportedShell.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table provides a list of user accessible shells which can be used as a reference in <<param|#.User.<i>.Shell>>",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/disables this SupportedShell object instance.",
					"default": "false",
					"datatype": "boolean"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Name of the Shell",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				}
			},
			"Device.Users.Role.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to the role characteristics.",
				"uniqueKeys": [
					"RoleName",
					"Alias",
					"RoleID"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/disables this role object instance.",
					"default": "false",
					"datatype": "boolean"
				},
				"RoleID": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Unique Identifier of the role. Depending on the implementation this can be the unique identifier assigned by the underlying system.",
					"datatype": "unsignedInt"
				},
				"RoleName": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Name of the current Role. MUST NOT be <<empty>> for an enabled entry.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"StaticRole": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A static role is a fixed role that is always available in the system. When set to <<true>>, the role cannot be removed.",
					"default": "false",
					"datatype": "boolean"
				},
				"RequiredCapabilities": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Capabilities that have been assigned to this <<object>>.",
					"list": {
						"datatype": "string"
					}
				}
			}
		},
		"Device.SmartCardReaders.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "SmartCardReaders object that contains the <<object|SmartCardReader>> table.",
			"access": false,
			"array": false,
			"SmartCardReaderNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.SmartCardReaders.SmartCardReader.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object describes the characteristics of the smart card reader.",
				"uniqueKeys": [
					"Name",
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this smart card reader.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the status of this smart card reader.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable name associated with this smart card reader.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Reset": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, resets the SmartCard Reader and the associated SmartCard.",
					"datatype": "boolean"
				},
				"ResetTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The time at which this SmartCard Reader was reset. Reset can be caused by: * <<param|Status>> transition from Disabled to Enabled * <<template|Reset>>. * An internal reset of the SmartCard Reader (including a reboot of the device). Unknown Time value indicates that this SmartCard Reader has never been reset, which can only happen if it has never been enabled.",
					"datatype": "dateTime"
				},
				"DecryptionFailedCounter": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Counter incremented once each time decryption cannot be carried out. This counter relates to the smart card reader, not to the smart card itself, i.e. it is reset when the <<template|Reset>> and not when a Smart Card is inserted or removed.",
					"datatype": "unsignedInt"
				},
				"DecryptionFailedNoKeyCounter": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Counter incremented once each time the key is not available to decrypt it. This is a subset of the more general <<param|DecryptionFailedCounter>> within the same object and thus will always be less than that parameter. This counter relates to the smart card reader, not to the smart card itself, i.e. it is reset when the <<template|Reset>> and not when a Smart Card is inserted or removed.",
					"datatype": "unsignedInt"
				},
				"Reset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.SmartCardReaders.SmartCardReader.{i}.SmartCard.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Status of currently associated smart card.",
					"access": false,
					"array": false,
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Status of the Smart Card.",
						"datatype": "string",
						"enumerations": [
							"None",
							"Running",
							"Error"
						]
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Smart Card Type. Enumeration of: CA, DRM, UICC. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|Section 3.3>> MUST be adhered to.",
						"datatype": "string",
						"enumerations": [
							"CA",
							"DRM",
							"UICC"
						]
					},
					"Application": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Indicates Smart Card Application(s). <<param>> is only relevant when <<param|Type>> has a value of UICC, otherwise it is <<empty>>. Enumeration of: SIM, USIM, ISIM. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|Section 3.3>> MUST be adhered to.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"SIM",
								"USIM",
								"ISIM"
							]
						}
					},
					"SerialNumber": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Smart Card Serial Number or <<empty>> if the Smart Card serial Number is not available, e.g. in the case of IPTV due to restrictions of the Service Delivery Platform.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ATR": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Smart Card answer to a reset action. Issued by the Smart Card upon reset.",
						"datatype": "string",
						"range": [
							{
								"max": 1024
							}
						]
					}
				}
			}
		},
		"Device.UPnP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains all UPnP related objects and parameters including Device and Discovery related objects and parameters.",
			"access": false,
			"array": false,
			"Device.UPnP.Device.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object defines the UPnP devices and UPnP services that are implemented by the CPE.",
				"access": false,
				"array": false,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP support.",
					"datatype": "boolean"
				},
				"UPnPMediaServer": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP Media Server.",
					"datatype": "boolean"
				},
				"UPnPMediaRenderer": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP Media Renderer.",
					"datatype": "boolean"
				},
				"UPnPWLANAccessPoint": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP Wireless Access Point.",
					"datatype": "boolean"
				},
				"UPnPQoSDevice": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP QoS Device.",
					"datatype": "boolean"
				},
				"UPnPQoSPolicyHolder": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP QoS Policy Holder.",
					"datatype": "boolean"
				},
				"UPnPIGD": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP IGD.",
					"datatype": "boolean"
				},
				"UPnPDMBasicMgmt": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP-DM Basic Management.",
					"datatype": "boolean"
				},
				"UPnPDMConfigurationMgmt": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP-DM Configuration Management.",
					"datatype": "boolean"
				},
				"UPnPDMSoftwareMgmt": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables/Disables UPnP-DM Software Management.",
					"datatype": "boolean"
				},
				"Device.UPnP.Device.Capabilities.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines what UPnP capabilities this device has.",
					"access": false,
					"array": false,
					"UPnPArchitecture": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the major version of the supported UPnP architecture. If UPnP 1.1 is supported the value is 1. If UPnP 2.0 is supported the value is 2. A value of 0 indicates no UPnP support.",
						"datatype": "unsignedInt"
					},
					"UPnPArchitectureMinorVer": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the minor version of the supported UPnP architecture. If UPnP 1.1 is supported the value is 1. If UPnP 2.0 is supported the value is 0. If <<param|UPnPArchitecture>> is 0 then this parameter SHOULD be ignored.",
						"datatype": "unsignedInt"
					},
					"UPnPMediaServer": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP Media Server. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					},
					"UPnPMediaRenderer": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP Media Renderer. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					},
					"UPnPWLANAccessPoint": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP Wireless Access Point. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					},
					"UPnPBasicDevice": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP Basic Device. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					},
					"UPnPQoSDevice": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP Qos Device. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					},
					"UPnPQoSPolicyHolder": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP Qos Policy Holder. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					},
					"UPnPIGD": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP IGD. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					},
					"UPnPDMBasicMgmt": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP-DM Basic Management. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					},
					"UPnPDMConfigurationMgmt": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP-DM Configuration Management. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					},
					"UPnPDMSoftwareMgmt": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Numeric value indicating the supported revision for UPnP-DM Software Management. A value of 0 indicates no support.",
						"datatype": "unsignedInt"
					}
				}
			},
			"Device.UPnP.Discovery.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "UPnP <<bibref|UPnP-DAv1>> SSDP discovered root devices, embedded devices and embedded services. The CPE MAY, but need not, retain some or all of the information in this object across reboots.",
				"access": false,
				"array": false,
				"RootDeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"DeviceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ServiceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.UPnP.Discovery.RootDevice.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "UPnP root device table. This table contains an entry for each UPnP root device that has been discovered via SSDP.",
					"uniqueKeys": [
						"UUID"
					],
					"access": false,
					"array": true,
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the UPnP root device. Enumeration of: LeaseActive, LeaseExpired, ByebyeReceived. The ability to list inactive UPnP root devices is OPTIONAL. The length of time an inactive device remains listed in this table is a local matter to the CPE.",
						"datatype": "string",
						"enumerations": [
							"LeaseActive",
							"LeaseExpired",
							"ByebyeReceived"
						]
					},
					"UUID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This UPnP root devices UUID (Universally Unique IDentifier) <<bibref|RFC4122>>, extracted from any of its USN (Unique Service Name) headers. This is a 36-byte string that uniquely identifies the device, the following is an example: : 02c29d2a-dbfd-2d91-99c9-306d537e9856 <<pattern>>",
						"datatype": "string",
						"range": [
							{
								"max": 36
							}
						],
						"pattern": [
							"[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}"
						]
					},
					"USN": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the USN (Unique Service Name) header for this UPnP root device. Three discovery messages are sent for root devices, and this SHOULD be the value of the USN header of the following form: : uuid:device-UUID::urn:domain-name:device:deviceType:v SSDP is an unreliable protocol and it is possible that no discovery message containing the USN header of the above form was ever received. If so, one of the other two forms MAY be used: : uuid:device-UUID::upnp:rootdevice : uuid:device-UUID (for root device UUID)",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"LeaseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The UPnP root device lease time in <<units>>, extracted from the CACHE-CONTROL header.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Location": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the LOCATION header for this UPnP root device, which is the <<datatype>> of the root devices DDD (Device Description Document).",
						"datatype": "URL"
					},
					"Server": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the SERVER header for this UPnP root device, which is a string of the following form: : OS/version UPnP/udaversion product/version where UPnP is a literal string, udaversion is the version of the UPnP Device Architecture.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the full path names of all Host table entries, whether active or inactive, that correspond to this UPnP root device.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"LastUpdate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time at which the last advertisement from this <<object>> was received.",
						"datatype": "dateTime"
					}
				},
				"Device.UPnP.Discovery.Device.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "UPnP embedded device table. This table contains an entry for each UPnP embedded device that has been discovered via SSDP.",
					"uniqueKeys": [
						"UUID"
					],
					"access": false,
					"array": true,
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the UPnP embedded device. Enumeration of: LeaseActive, LeaseExpired, ByebyeReceived. The ability to list inactive UPnP embedded devices is OPTIONAL. The length of time an inactive device remains listed in this table is a local matter to the CPE.",
						"datatype": "string",
						"enumerations": [
							"LeaseActive",
							"LeaseExpired",
							"ByebyeReceived"
						]
					},
					"UUID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This UPnP embedded devices UUID (Universally Unique IDentifier) <<bibref|RFC4122>>, extracted from any of its USN (Unique Service Name) headers. This is a 36-byte string that uniquely identifies the device, the following is an example: : 02c29d2a-dbfd-2d91-99c9-306d537e9856 <<pattern>>",
						"datatype": "string",
						"range": [
							{
								"max": 36
							}
						],
						"pattern": [
							"[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}"
						]
					},
					"USN": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the USN (Unique Service Name) header for this UPnP embedded device. Two discovery messages are sent for embedded devices, and this SHOULD be the value of the USN header of the following form: : uuid:device-UUID::urn:domain-name:device:deviceType:v SSDP is an unreliable protocol and it is possible that no discovery message containing the USN header of the above form was ever received. If so, the other form MAY be used: : uuid:device-UUID",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"LeaseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The UPnP embedded device lease time in <<units>>, extracted from the CACHE-CONTROL header.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Location": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the LOCATION header for this UPnP embedded device, which is the <<datatype>> of the root devices DDD (Device Description Document).",
						"datatype": "URL"
					},
					"Server": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the SERVER header for this UPnP embedded device, which is a string of the following form: : OS/version UPnP/udaversion product/version where UPnP is a literal string, udaversion is the version of the UPnP Device Architecture.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the full path names of all Host table entries, whether active or inactive, that correspond to this UPnP embedded device.",
						"list": {
							"datatype": "string",
							"item": {
								"max": 1024
							},
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"LastUpdate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time at which the last advertisement from this <<object>> was received.",
						"datatype": "dateTime"
					}
				},
				"Device.UPnP.Discovery.Service.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "UPnP embedded service table. This table contains an entry for each UPnP embedded service that has been discovered via SSDP.",
					"uniqueKeys": [
						"USN"
					],
					"access": false,
					"array": true,
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of the UPnP embedded service. Enumeration of: LeaseActive, LeaseExpired, ByebyeReceived. The ability to list inactive UPnP embedded services is OPTIONAL. The length of time an inactive service remains listed in this table is a local matter to the CPE.",
						"datatype": "string",
						"enumerations": [
							"LeaseActive",
							"LeaseExpired",
							"ByebyeReceived"
						]
					},
					"USN": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the USN (Unique Service Name) header for this UPnP embedded service. This is of the following form: : uuid:device-UUID::urn:domain-name:service:serviceType:v",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"LeaseTime": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The UPnP embedded service lease time in <<units>>, extracted from the CACHE-CONTROL header.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Location": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the LOCATION header for this UPnP embedded service, which is the <<datatype>> of the root devices DDD (Device Description Document).",
						"datatype": "URL"
					},
					"Server": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the SERVER header for this UPnP embedded service, which is a string of the following form: : OS/version UPnP/udaversion product/version where UPnP is a literal string, udaversion is the version of the UPnP Device Architecture.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the full path names of all Host table entries, whether active or inactive, that correspond to this UPnP embedded service.",
						"list": {
							"datatype": "string",
							"item": {
								"max": 1024
							},
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"LastUpdate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time at which the last advertisement from this <<object>> was received.",
						"datatype": "dateTime"
					},
					"ParentDevice": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|the <<object|#.RootDevice>> or <<object|#.Device>> table entries that embeds this <<object>>>> This parameter is populated by extracting the device-UUID from the services USN and matching the value against the root device or embedded device UUID value.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				}
			},
			"Device.UPnP.Description.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains information from the Description Document discovered from the UPnP Devices and Services.",
				"access": false,
				"array": false,
				"DeviceDescriptionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"DeviceInstanceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ServiceInstanceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.UPnP.Description.DeviceDescription.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains information read from the Device Description Document of discovered root devices. The CPE MAY, but need not, retain some or all of the information in this table after the associated SSDP advertisement (objects in the UPnP.Discovery. object tables) expires. In case the SSDP advertisement expires and the CPE deletes the related instances from the tables in UPnP.Discovery., the reference to such instances MUST be set to the empty string.",
					"uniqueKeys": [
						"URLBase"
					],
					"access": false,
					"array": true,
					"URLBase": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value extracted from the URLBase element in the Device Description Document of the discovered root device. If the URLBase element in the root devices Device Description Document is empty or absent, the <<datatype>> from which the device description was retrieved (e.g. the LOCATION from the SSDP message) is utilized as the URLBase. Note: the URLBase element is not recommended by <<bibref|UPnP-DAv1>> and is not permitted by <<bibref|UPnP-DAv11>>, so the value of <<param>> will usually be the URL from which the device description was retrieved.",
						"datatype": "URL"
					},
					"SpecVersion": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The UPnP Device Architecture version extracted from the specVersion element in the Device Description Document of the discovered root device. The <<param>> is encoded as major revison.minor revision. <<pattern>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						],
						"pattern": [
							"\\d+\\.\\d+"
						]
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Includes the Host table entries associated with the root device from which the device description was retrieved.",
						"list": {
							"datatype": "string",
							"item": {
								"max": 1024
							},
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				},
				"Device.UPnP.Description.DeviceInstance.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains the information from Device Description Document retrieved for a discovered UPnP root or embedded device.",
					"uniqueKeys": [
						"UDN"
					],
					"access": false,
					"array": true,
					"UDN": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Unique Device Name of this device represented as a UUID for the device. This value is extracted from the UDN element in the Device Description Document with the leading uuid: removed.",
						"datatype": "UUID",
						"range": [
							{
								"min": 36,
								"max": 36
							}
						],
						"pattern": [
							"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
						]
					},
					"ParentDevice": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|a <<object>> table entry (if this is an embedded device) or <<empty>> (if this is a root device)>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"DiscoveryDevice": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|a <<object|##.Discovery.RootDevice>> table entry (if this is a root device) or a <<object|##.Discovery.Device>> table entry (if this is an embedded device)>> This <<param>> value can be <<empty>> because the referenced object has been deleted or the CPE was unable to retrieve the Description Document due to some out-of-band error. The determination to delete this <<object>> or use <<empty>> is implementation specific.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"DeviceType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP deviceType element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"FriendlyName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP friendlyName element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "string",
						"range": [
							{
								"max": 128
							}
						]
					},
					"DeviceCategory": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each list item is the value of an element in the Device Description Document for this <<object>> that indicates a device category (e.g. AV_TV and AV_Recorder), or the value is <<empty>> if no such element is provided by the device. Note: It is assumed that the htip:X_DeviceCategory Device Description Document element is used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>. Standard HTIP device categories are defined in <<bibref|JJ-300.01>>. In this case, the maximum length of the list is 127 and of each item is 31, and any non-HTIP device categories SHOULD NOT conflict with standard HTIP device categories. Note: <<param>> is different from <<param|DeviceType>> and is included here for the purpose of HTIP usage.",
						"list": {
							"datatype": "string"
						}
					},
					"Manufacturer": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP manufacturer element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "string",
						"range": [
							{
								"max": 128
							}
						]
					},
					"ManufacturerOUI": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of an element in the Device Description Document for this <<object>> that indicates the manufacturer OUI if this value is provided by the device; or <<empty>> if this value is not provided by the device. <<pattern>> Note: It is assumed that the htip:X_ManufacturerOUI element is used for HTIP (Home-network Topology Identifying Protocol) <<bibref|JJ-300.00>> and <<bibref|G.9973>>.",
						"datatype": "string",
						"range": [
							{
								"min": 0,
								"max": 6
							}
						],
						"pattern": [
							"",
							"[0-9A-F]{6}"
						]
					},
					"ManufacturerURL": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP manufacturerURL element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "URL"
					},
					"ModelDescription": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP modelDescription element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ModelName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP modelName element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"ModelNumber": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP modelNumber element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"ModelURL": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP modelURL element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "URL"
					},
					"SerialNumber": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP serialNumber element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "string",
						"range": [
							{
								"max": 128
							}
						]
					},
					"UPC": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP UPC element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the device.",
						"datatype": "string",
						"range": [
							{
								"max": 12
							}
						]
					},
					"PresentationURL": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP presentationURL element in the Device Description Document for this <<object>> and MUST be an absolute URL. The way to obtain an absolute URL from the presentationURL element is specified in <<bibref|UPnP-DAv1>> and <<bibref|UPnP-DAv11>>. If the presentationURL is not provided by the device then this value MUST be <<empty>>.",
						"datatype": "URL"
					}
				},
				"Device.UPnP.Description.ServiceInstance.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table contains the information from Device Description Document retrieved for a discovered UPnP service.",
					"uniqueKeys": [
						"ParentDevice",
						"ServiceId"
					],
					"access": false,
					"array": true,
					"ParentDevice": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|a <<object|#.DeviceInstance>> table entry>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ServiceId": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP serviceId element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the service. If the UPnP serviceId is not provided by the UPnP service, this <<object>> MUST be deleted.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ServiceDiscovery": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|a <<object|##.Discovery.Service>> table entry>> This <<param>> value can be <<empty>> because the referenced object has been deleted or the CPE was unable to retrieve the Description Document due to some out-of-band error. The determination to delete this <<object>> or use <<empty>> is implementation specific.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ServiceType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP serviceType element in the Device Description Document for this <<object>>, or <<empty>> if this value is not provided by the service.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"SCPDURL": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP SCPDURL element in the Device Description Document for this <<object>> and MUST be an absolute <<datatype>>. The way to obtain an absolute URL from the SCPDURL element is specified in <<bibref|UPnP-DAv1>> and <<bibref|UPnP-DAv11>>. If the SCPDURL is not provided by the device then this value MUST be <<empty>>.",
						"datatype": "URL"
					},
					"ControlURL": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP controlURL element in the Device Description Document for this <<object>> and MUST be an absolute <<datatype>>. The way to obtain an absolute URL from the controlURL element is specified in <<bibref|UPnP-DAv1>> and <<bibref|UPnP-DAv11>>. If the controlURL is not provided by the device then this value MUST be <<empty>>",
						"datatype": "URL"
					},
					"EventSubURL": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the UPnP eventSubURL element in the Device Description Document for this <<object>> and MUST be an absolute <<datatype>>. The way to obtain an absolute URL from the eventSubURLL element is specified in <<bibref|UPnP-DAv1>> and <<bibref|UPnP-DAv11>>. If the eventSubURL is not provided by the device then this value MUST be <<empty>>",
						"datatype": "URL"
					}
				}
			}
		},
		"Device.DLNA.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains all DLNA related objects and parameters.",
			"access": false,
			"array": false,
			"Device.DLNA.Capabilities.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "DLNA capabilities.",
				"access": false,
				"array": false,
				"HNDDeviceClass": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the supported DLNA Home Network Device Classes <<bibref|DLNA-NDIG|Table 4-1>>.",
					"list": {
						"datatype": "string",
						"maxsize": 256
					}
				},
				"DeviceCapability": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the supported DLNA Device Capabilities <<bibref|DLNA-NDIG|Table 4-2>>.",
					"list": {
						"datatype": "string",
						"maxsize": 256
					}
				},
				"HIDDeviceClass": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the supported DLNA Home Infrastructure Device Classes <<bibref|DLNA-NDIG|Table 4-4>>.",
					"list": {
						"datatype": "string",
						"maxsize": 256
					}
				},
				"ImageClassProfileID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the DLNA Image Class Profile IDs supported by this device, from Tables 5-2 and 5-3 of <<bibref|DLNA-NDIG>>.",
					"list": {
						"datatype": "string",
						"maxsize": 256
					}
				},
				"AudioClassProfileID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the DLNA Audio Class Profile IDs supported by this device, from Tables 5-4 through 5-10 of <<bibref|DLNA-NDIG>>.",
					"list": {
						"datatype": "string",
						"maxsize": 256
					}
				},
				"AVClassProfileID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the DLNA AV Class Profile IDs supported by this device, from Tables 5-11 through 5-15 of <<bibref|DLNA-NDIG>>.",
					"list": {
						"datatype": "string",
						"maxsize": 256
					}
				},
				"MediaCollectionProfileID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the DLNA Media Collection Profile IDs supported by this device <<bibref|DLNA-NDIG|Table 5-16>>.",
					"list": {
						"datatype": "string",
						"maxsize": 256
					}
				},
				"PrinterClassProfileID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Indicates the DLNA Printer Class Profile IDs supported by this device <<bibref|DLNA-NDIG|Table 5-17>>.",
					"list": {
						"datatype": "string",
						"maxsize": 256
					}
				}
			}
		},
		"Device.Firewall.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Firewall configuration object. The <<param|Config>> parameter enables and disables the Firewall, and can select either a predefined configuration (<<enum|High|Config>> or <<enum|Low|Config>>) or an explicitly-defined <<enum|Advanced|Config>> configuration. For an <<enum|Advanced|Config>> configuration, <<param|AdvancedLevel>> controls the currently active Firewall Level, and the Firewall Levels are defined in the <<object|Level>>, <<object|Chain>> and <<object|Chain.<i>.Rule>> tables. For an <<enum|Policy|Config>> configuration, <<param|PolicyLevel>> controls the currently active Firewall Level, and the Firewall Levels are defined in the <<object|Policy>>, <<object|Level>>, <<object|Chain>> and <<object|Chain.<i>.Rule>> tables. The Firewall rules modeled by <<object|Chain>>, <<object|DMZ>> and <<object|Pinhole>> operate only on the forwarding path. This means that they affect only routed traffic, and do not affect traffic that is destined for or generated by the device itself. Traffic destined for or generated by the device itself can use the <<object|Service>> object to model the appropriate Firewall rules. Note that any <<object|#.NAT>> processing on the ingress packet occurs before Firewall rules are applied so, for example, the Firewall rules will see the translated destination IP address and port in a downstream packet that has passed through the NAT. See <<bibref|TR-181i2|Appendix VIII>> for an example <<enum|Advanced|Config>> configuration.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables the Firewall. Firewalls often implement additional Denial of Service and other vulnerability protections, such as those described in <<bibref|ICSA-Baseline>>. If a <<enum|Stateful|Type>> Firewall is enabled, then it is assumed that all implemented stateful protections are enabled, unless they are overridden by some other part of the data model.",
				"datatype": "boolean"
			},
			"Config": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "How this firewall is configured. Enumeration of: High, Low, Off, Advanced, Policy. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|Section 3.3>> MUST be adhered to.",
				"datatype": "string",
				"enumerations": [
					"High",
					"Low",
					"Off",
					"Advanced",
					"Policy"
				]
			},
			"AdvancedLevel": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Selects the currently active Firewall Level. <<param>> only applies when <<param|Config>> is <<enum|Advanced|Config>>.",
				"datatype": "string"
			},
			"PolicyLevel": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Selects the currently active Firewall Policy Level. <<param>> only applies when <<param|Config>> is <<enum|Policy|Config>>.",
				"datatype": "string"
			},
			"Type": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewall Type. Enumeration of: Stateless, Stateful. A <<enum|Stateless>> Firewall treats each packet individually and thus has no concept of sessions. Therefore a <<enum|Stateless>> Firewall cannot distinguish between unsolicited downstream traffic and downstream traffic in response to outbound messages. This means that it has to accept all incoming downstream traffic. Furthermore, because a <<enum|Stateless>> Firewall treats each packet individually, it does not provide any DoS or vulnerability protections. A <<enum|Stateful>> Firewall maintains state about previous packets and thus supports sessions. Therefore a <<enum|Stateful>> Firewall can distinguish between solicited and unsolicited downstream traffic. In a <<enum|Stateful>> Firewall, explicitly configured rules only apply to unsolicited traffic, and can not cause packets received in response to an upstream request to be dropped. Furthermore, because a <<enum|Stateful>> Firewall maintains state, it can provide DoS and vulnerability protections. A device that has a <<enum|Stateless>> Firewall depends on the NAT to provide protection against unsolicited downstream IPv4 traffic. This is because, as noted above, a <<enum|Stateless>> Firewall has to be configured to accept all incoming downstream traffic. For IPv6 there is no NAT, so a <<enum|Stateless>> Firewall can not provide simple security protections against unsolicited downstream IPv6 traffic.",
				"datatype": "string",
				"enumerations": [
					"Stateless",
					"Stateful"
				]
			},
			"Version": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "A string identifying the firewall settings version currently used in the CPE, or <<empty>> if the firewall settings are not associated with a version.",
				"datatype": "string",
				"range": [
					{
						"max": 16
					}
				]
			},
			"LastChange": {
				"type": "dateTime",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The time at which the firewall settings most recently changed.",
				"datatype": "dateTime"
			},
			"LevelNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ChainNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"DMZNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ServiceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"PinholeNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"PolicyNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"InterfaceSettingNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SetNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"LogNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Firewall.Level.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewall Level table. When an <<enum|Advanced|#.Config>> or <<enum|Policy|#.Config>> configuration is selected, <<param|#.AdvancedLevel>> or <<param|#.PolicyLevel>> selects the currently active entry in this table. Each <<object>> table entry references the <<object|#.Chain>> that contains the rules for this level.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable name associated with this <<object>> entry.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable description associated with this <<object>> entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Order": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). This indicates the order of the <<object>> entry in the user interface display. Levels can be presented according to increasing or decreasing level of security.",
					"datatype": "Order",
					"range": [
						{
							"min": 1
						}
					]
				},
				"Policies": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|a <<object|#.Policy>>>> <<param>> only applies when <<param|#.Config>> is <<enum|Policy|#.Config>>.",
					"list": {
						"datatype": "string"
					}
				},
				"Chain": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Chain containing Firewall Level Rules associated with this <<object>> entry. On creation of a new <<object>> entry, the device will automatically create a new <<object|#.Chain>> table entry that this <<param>> parameter will reference.",
					"datatype": "string"
				},
				"PortMappingEnabled": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether NAT port mapping is enabled or disabled when this is the active Level. For a <<enum|Stateless|#.Type>> Firewall this can be set to <<false>> to force any port mappings to be operationally disabled (for a <<enum|Stateful|#.Type>> Firewall this is not necessary because the same effect can be achieved via Firewall rules). This parameter affects all the interfaces on which NAT is enabled. It operationally enables or disables port mapping functionality and therefore does not affect the individual <<param|##.NAT.PortMapping.<i>.Enable>> settings. Note that the current NAT status and NAT port mapping status are indicated by the <<param|##.NAT.InterfaceSetting.<i>.Status>> parameter.",
					"default": "true",
					"datatype": "boolean"
				},
				"DefaultPolicy": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Default action for packets not matching any of the level rules. Enumeration of: Drop, Accept, Reject.",
					"default": "Drop",
					"datatype": "string",
					"enumerations": [
						"Drop",
						"Accept",
						"Reject"
					]
				},
				"DefaultLogPolicy": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable logging, in a <<object|##.DeviceInfo.VendorLogFile>>, of packets not matching any of the level rules.",
					"default": "false",
					"datatype": "boolean"
				}
			},
			"Device.Firewall.Policy.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewall Policy table. When a <<enum|Policy|#.Config>> configuration is selected, <<param|#.PolicyLevel>> selects the currently active entry in this table. Each <<object>> table entry references the <<object|#.Chain>> that contains the rules for this policy.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the firewall policy.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this <<object>> entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Chain": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Chain containing Firewall Rules associated with this <<object>> entry. This is applicable for traffic from the <<param|SourceInterface>> to the <<param|DestinationInterface>>. <<param>> only applies when <<param|TargetChain>> is <<enum|Chain|TargetChain>>.",
					"datatype": "string"
				},
				"TargetChain": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Action to perform for traffic matching this <<object>> entry. Enumeration of: Drop, Accept, Reject, Chain.",
					"default": "Drop",
					"datatype": "string",
					"enumerations": [
						"Drop",
						"Accept",
						"Reject",
						"Chain"
					]
				},
				"SourceInterface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This specifies the L3 source interface associated with the entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"DestinationInterface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This specifies the L3 destination interface associated with the entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"IPVersion": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the IP protocol version, following the definitions in <<bibref|IANA-ipversionnumbers>>. Valid values are: <<range>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": 4,
							"max": 4
						},
						{
							"min": 6,
							"max": 6
						},
						{
							"min": -1,
							"max": -1
						}
					]
				},
				"ReverseChain": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Chain containing Firewall Rules associated with this <<object>> entry. This is applicable for traffic from the <<param|DestinationInterface>> to the <<param|SourceInterface>>. <<param>> only applies when <<param|ReverseTargetChain>> is <<enum|Chain|ReverseTargetChain>>.",
					"datatype": "string"
				},
				"ReverseTargetChain": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Action to perform for traffic matching this <<object>> entry.",
					"default": "Drop",
					"datatype": "string",
					"enumerations": [
						"Drop",
						"Accept",
						"Reject",
						"Chain"
					]
				},
				"Log": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable logging, in a <<object|.DeviceInfo.VendorLogFile>>, of packets matching this <<object>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"LogRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the logging rules for this <<object>> entry. The <<param|Log>> parameter MUST be set to <<true>> for this setting to take effect. When <<param|Log>> is <<true>> and <<param>> is <<empty>> or contains an invalid reference, the system MUST treat the configuration as an error and set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				}
			},
			"Device.Firewall.Chain.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewall Chain table. Each entry contains an ordered list of <<object|Rule>> objects which can themselves reference other <<object>> instances. A hierarchy of rules can therefore be created. A given Firewall Chains rules are all created by the same entity, as indicated by the <<param|Creator>> parameter.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable name associated with this <<object>> entry.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Creator": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Creator of this <<object>> entry and of its <<object|Rule>>s. Enumeration of: Defaults, PortMapping, WANIPv6FirewallControl, ACS, UserInterface, Other. Note that this is the entity that originally created the <<object>> entry. The value of this parameter does not change if the <<object>> entry or one of its rules is subsequently changed by another entity.",
					"default": "ACS",
					"datatype": "string",
					"enumerations": [
						"Defaults",
						"PortMapping",
						"WANIPv6FirewallControl",
						"ACS",
						"UserInterface",
						"Other"
					]
				},
				"RuleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.Firewall.Chain.{i}.Rule.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Firewall Rule table. Each entry defines a Firewall packet selection rule. The <<param|Target>> parameter defines the action to perform for traffic matching this rule: the packet can be dropped, accepted, rejected or passed to another <<object|#>>. This table MUST NOT contain dynamic Firewall rules associated with <<enum|Stateful|##.Type>> Firewall sessions. All entries are created by the creator of the parent <<object|#>>, as indicated by its <<param|#.Creator>> parameter. <<object>> entries in a <<object|#>> with a <<param|#.Creator>> of <<enum|Defaults|#.Creator>>, <<enum|ACS|#.Creator>>, <<enum|UserInterface|#.Creator>> or (maybe) <<enum|Other|#.Creator>> are referred to as Static <<object>>s. Whether or not a <<object>> in a <<object|#>> with <<param|#.Creator>> <<enum|Other|#.Creator>> is regarded as Static is a local matter to the CPE. Some of this objects parameter descriptions refer to whether a <<object>> is Static when specifying whether or not the parameter value can be modified. For enabled table entries, if <<param|SourceInterface>> is not a valid reference and <<param|SourceAllInterfaces>> is <<false>>, or if <<param|DestInterface>> is not a valid reference and <<param|DestAllInterfaces>> is <<false>>, then the table entry is inoperable and the CPE MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> entry.",
						"default": "false",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status of this <<object>> entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
						"default": "Disabled",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Misconfigured",
							"Error"
						]
					},
					"Order": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). | Position of the <<object>> entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence). When a <<object>> instance is created, or when an existing <<param>> value is modified, if the value matches that of an existing entry, the <<param>> values for the existing entry and all lower <<param>> entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <<param>> values to be compacted. When a value is changed, incrementing occurs before compaction. If no <<param>> value is supplied on creation of a <<object>> instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence). For each packet, the highest ordered entry that matches the rule criteria is applied. All lower order entries are ignored.",
						"datatype": "Order",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Description": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Human-readable description associated with this <<object>> entry.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Target": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Action to perform for traffic matching this <<object>> entry. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "Drop",
						"datatype": "string",
						"enumerations": [
							"Drop",
							"Accept",
							"Reject",
							"Return",
							"TargetChain"
						]
					},
					"TargetChain": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the chain to process when <<param|Target>> equals <<enum|TargetChain|Target>>. If there are no matching rules in the referenced chain, processing continues with the next rule in this chain (if any). In other words, <<enum|TargetChain|Target>> behaves like a subroutine call. <<empty>> indicates no <<param>> is specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"datatype": "string"
					},
					"Log": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enable or disable logging, in a <<object|.DeviceInfo.VendorLogFile>>, of packets matching this <<object>>. If the <<object>> is not Static (as explained in the object description), whether changes to this parameter persist across re-boot is a local matter to the CPE.",
						"default": "false",
						"datatype": "boolean"
					},
					"LogRef": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the logging rules for this <<object>> entry. The <<param|Log>> parameter MUST be set to <<true>> for this setting to take effect. When <<param|Log>> is <<true>> and <<param>> is <<empty>> or contains an invalid reference, the system MUST treat the configuration as an error and set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
						"default": "[]",
						"list": {
							"datatype": "string"
						}
					},
					"CreationDate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Date and time when this <<object>> entry was created.",
						"datatype": "dateTime"
					},
					"ExpiryDate": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which this <<object>> entry will expire, or <<null>> if not known. For an infinite lifetime, the parameter value MUST be 9999-12-31T23:59:59Z. The only value that MUST be supported is 9999-12-31T23:59:59Z (i.e. support for rules that expire is OPTIONAL). When a rule expires, the CPE MUST automatically terminate that rule and MUST automatically delete the corresponding <<object>> table entry. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "9999-12-31T23:59:59Z",
						"datatype": "dateTime"
					},
					"SourceInterface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. <<reference>> This specifies the ingress interface associated with the entry. It MAY be a layer 1, 2 or 3 interface, however, the types of interfaces for which Rules can be instantiated is a local matter to the CPE. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"SourceInterfaceExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the rule matches only those packets that match the <<param|SourceInterface>> entry, if specified. If <<true>>, the rule matches all packets except those that match the <<param|SourceInterface>> entry, if specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"SourceAllInterfaces": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. This specifies that all ingress interfaces are associated with the entry. If <<true>>, the values of <<param|SourceInterface>> and <<param|SourceInterfaceExclude>> are ignored since all ingress interfaces are indicated. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"DestInterface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. <<reference>> This specifies the egress interface associated with the entry. It MAY be a layer 1, 2 or 3 interface, however, the types of interfaces for which Rules can be instantiated is a local matter to the CPE. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"DestInterfaceExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the rule matches only those packets that match the <<param|DestInterface>> entry, if specified. If <<true>>, the rule matches all packets except those that match the <<param|DestInterface>> entry, if specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"DestAllInterfaces": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. This specifies that all egress interfaces are associated with the entry. If <<true>>, the values of <<param|DestInterface>> and <<param|DestInterfaceExclude>> are ignored since all ingress interfaces are indicated. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"IPVersion": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the IP protocol version, following the definitions in <<bibref|IANA-ipversionnumbers>>. Valid values are: <<range>>. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": 4,
								"max": 4
							},
							{
								"min": 6,
								"max": 6
							},
							{
								"min": -1,
								"max": -1
							}
						]
					},
					"DestIP": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. Destination IP address. <<empty>> indicates this criterion is not used for matching. Note that Firewall rules are applied after any <<object|###.NAT>> processing, so if NAT is enabled on the source interface this is always the translated address. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"DestMask": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Destination IP address mask, represented as an IP routing prefix using CIDR notation [RFC4632]. The IP address part MUST be <<empty>> (and, if specified, MUST be ignored).",
						"datatype": "IPPrefix",
						"range": [
							{
								"max": 49
							}
						]
					},
					"DestIPExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the rule matches only those packets that match the (masked) <<param|DestIP>> entry, if specified. If <<true>>, the rule matches all packets except those that match the (masked) <<param|DestIP>> entry, if specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"DestMatchSet": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. Destination Match Set, Matches packets if their destination is found in the designated <<object|##.Set.>> reference. <<empty>> indicates this criterion is not used for matching.",
						"datatype": "string"
					},
					"DestMatchSetExclude": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. Destination Exclude Match Set, Matches packets if their destination is not found in the designated <<object|##.Set.>> reference. <<empty>> indicates this criterion is not used for matching.",
						"datatype": "string"
					},
					"SourceIP": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. Source IP address. <<empty>> indicates this criterion is not used for matching. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"SourceMask": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Source IP address mask, represented as an IP routing prefix using CIDR notation [RFC4632]. The IP address part MUST be <<empty>> (and, if specified, MUST be ignored).",
						"datatype": "IPPrefix",
						"range": [
							{
								"max": 49
							}
						]
					},
					"SourceIPExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the rule matches only those packets that match the (masked) <<param|SourceIP>> entry, if specified. If <<true>>, the rule matches all packets except those that match the (masked) <<param|SourceIP>> entry, if specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"SourceMatchSet": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. Source Match Set, Matches packets if their source is found in the designated <<object|##.Set.>> reference. <<empty>> indicates this criterion is not used for matching.",
						"datatype": "string"
					},
					"SourceMatchSetExclude": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. Source Exclude Match Set, Matches packets if their source is not found in the designated <<object|##.Set.>> reference. <<empty>> indicates this criterion is not used for matching.",
						"datatype": "string"
					},
					"Protocol": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. Protocol number. A value of -1 indicates this criterion is not used for matching. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 255
							}
						]
					},
					"ProtocolExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the rule matches only those packets that match the <<param|Protocol>> entry, if specified. If <<true>>, the rule matches all packets except those that match the <<param|Protocol>> entry, if specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"DestPort": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. Destination port number. A value of -1 indicates this criterion is not used for matching. Note that Firewall rules are applied after any <<object|###.NAT>> processing, so if NAT is enabled on the source interface this is always the translated port number. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 65535
							}
						]
					},
					"DestPortRangeMax": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. If specified, indicates the <<object>> criterion is to include the port range from <<param|DestPort>> through <<param>> (inclusive). If specified, <<param>> MUST be greater than or equal to <<param|DestPort>>. A value of -1 indicates that no port range is specified. Note that Firewall rules are applied after any <<object|###.NAT>> processing, so if NAT is enabled on the source interface this is always the translated port number. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 65535
							}
						]
					},
					"DestPortExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the rule matches only those packets that match the <<param|DestPort>> entry (or port range), if specified. If <<true>>, the rule matches all packets except those that match the <<param|DestPort>> entry (or port range), if specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"SourcePort": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. Source port number. A value of -1 indicates this criterion is not used for matching. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 65535
							}
						]
					},
					"SourcePortRangeMax": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. If specified, indicates the <<object>> criterion is to include the port range from <<param|SourcePort>> through <<param>> (inclusive). If specified, <<param>> MUST be greater than or equal to <<param|SourcePort>>. A value of -1 indicates that no port range is specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 65535
							}
						]
					},
					"SourcePortExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the rule matches only those packets that match the <<param|SourcePort>> entry (or port range), if specified. If <<true>>, the rule matches all packets except those that match the <<param|SourcePort>> entry (or port range), if specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"DSCP": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<object>> criterion. DiffServ codepoint (defined in <<bibref|RFC2474>>). If set to a Class Selector Codepoint (defined in <<bibref|RFC2474>>), all DSCP values that match the first 3 bits will be considered a valid match. A value of -1 indicates this criterion is not used for matching. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "-1",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 63
							}
						]
					},
					"DSCPExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the rule matches only those packets that match the <<param|DSCP>> entry, if specified. If <<true>>, the rule matchess all packets except those that match the <<param|DSCP>> entry, if specified. This parameter can only be modified if the <<object>> is Static (as explained in the object description).",
						"default": "false",
						"datatype": "boolean"
					},
					"ConnectionState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Matches only packets according to the following connection states. <<empty>> indicates this criterion is not used for matching.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"INVALID",
								"NEW",
								"RELATED",
								"ESTABLISHED"
							]
						}
					},
					"SourceMAC": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Source MAC address. <<empty>> indicates this criterion is not used for matching.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"SourceMACExclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If <<false>>, the rule matches only those packets that match the <<param|SourceMAC>> entry, if specified. If <<true>>, the rule matches all packets except those that match the <<param|SourceMAC>> entry, if specified.",
						"default": "false",
						"datatype": "boolean"
					}
				}
			},
			"Device.Firewall.Pinhole.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewall Pinhole object that is used for configuring pinholes. Pinholes are similar to port mapping entries but without the NAT support. The Pinhole table is used for allowing certain incoming traffic, on the <<param|Interface>>, to be routed to the internal network. For enabled table entries, if <<param|DestMACAddress>> and <<param|DestIP>> are <<empty>>, or if <<param|Interface>> is not a valid reference, then the table entry is inoperable and the device MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the pinhole.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this <<object>> entry.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Inactive",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Origin": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the Origin of the <<object>> instance. Note: This parameter was changed to writeOnceReadOnly in the Device:2.18 version. Note: This parameter was reverted back to readOnly in the Device 2.19 version.",
					"default": "Controller",
					"datatype": "string",
					"enumerations": [
						"User",
						"System",
						"UPnP",
						"Controller"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable description associated with this <<object>> entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the incoming L3 interface to which this pinhole applies.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"LeaseDuration": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Determines the time to live, in <<units>>, of a pin hole lease, where time to live means the number of <<units>> before the pin hole expires. A value of 0 means the pin hole is static. Support for dynamic (non-static) pin hole is OPTIONAL. That is, the only value for <<param>> that MUST be supported is 0.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"RemainingLeaseTime": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "For a dynamic (non-static) pin hole, when this parameter is read, the value represents the time (in <<units>>) remaining on the pin hole lease. That is, for a dynamic pin hole, the value counts down toward 0. When a dynamic pin hole lease expires, the device MUST automatically terminate that pin hole, and MUST automatically delete the corresponding <<object>> table entry. For a static pin hole, this parameter is irrelevant and should return 0.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"SourcePort": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Source port number of the incoming connection. A value of -1 indicates this criterion is not used for matching.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"SourcePortRangeMax": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If specified, indicates the <<object>> criterion is to include the port range from <<param|SourcePort>> through <<param>> (inclusive). If specified, <<param>> MUST be greater than or equal to <<param|SourcePort>>. A value of -1 indicates that no port range is specified.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"DestPort": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Destination port number. A value of -1 indicates this criterion is not used for matching.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"DestPortRangeMax": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If specified, indicates the <<object>> criterion is to include the port range from <<param|DestPort>> through <<param>> (inclusive). If specified, <<param>> MUST be greater than or equal to <<param|DestPort>>. A value of -1 indicates that no port range is specified.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"IPVersion": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the IP protocol version, following the definitions in <<bibref|IANA-ipversionnumbers>>. Valid values are: <<range>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": 4,
							"max": 4
						},
						{
							"min": 6,
							"max": 6
						},
						{
							"min": -1,
							"max": -1
						}
					]
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Protocol number as specified in <<bibref|IANA-protocolnumbers>> For example: * 6 (TCP) * 17 (UDP) A value of -1 indicates this criterion is not used for matching.",
					"default": "[-1]",
					"list": {
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 255
							}
						]
					}
				},
				"SourcePrefixes": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Only allow incoming connections that match one or more of the source IP addresses or prefixes that are specified in <<param>> for the applied pinhole.",
					"list": {
						"datatype": "IPPrefix",
						"range": [
							{
								"max": 49
							}
						]
					}
				},
				"DestIP": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP address of a client on the internal network. Either <<param>> or <<param|DestMACAddress>> MUST be configured, it is not allowed to configure them both. <<empty>> indicates this criterion is not used for matching.",
					"datatype": "IPAddress",
					"range": [
						{
							"max": 45
						}
					]
				},
				"DestMACAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MAC address of a client on the internal network. Either <<param>> or <<param|DestIP>> MUST be configured, it is not allowed to configure them both. <<empty>> indicates this criterion is not used for matching.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"ScheduleRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each reference provides a schedule where time based access can be enabled. When <<param>> is <<empty>> the <<object>> is not scheduled, and the <<param|Enable>> defines the operational state.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				},
				"Log": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable logging, in a <<object|.DeviceInfo.VendorLogFile>>, of packets matching this <<object>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"LogRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the logging rules for this <<object>> entry. The <<param|Log>> parameter MUST be set to <<true>> for this setting to take effect. When <<param|Log>> is <<true>> and <<param>> is <<empty>> or contains an invalid reference, the system MUST treat the configuration as an error and set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				}
			},
			"Device.Firewall.DMZ.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewall DMZ object that is be used for configuring a demilitarized zone. A DMZ network is a separate network perimeter that protects the internal network from untrusted traffic. Typically the DMZ is located between two firewalls, the firewall of the internal network and the firewall responsible for handling untrusted traffic. The device MUST forward all received packets that matches the <<param|SourcePrefix>> criteria to the IP address that is specified in <<param|DestIP>>. For enabled table entries, if <<param|DestIP>> is <<empty>>, or if <<param|Interface>> is not a valid reference, then the table entry is inoperable and the device MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Alias",
					"DestIP",
					"SourcePrefix"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the firewall DMZ instance.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this <<object>> entry.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Origin": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates who configured the <<object>> instance. Note: This parameter was changed to writeOnceReadOnly in the Device:2.18 version. Note: This parameter was reverted back to readOnly in the Device 2.19 version.",
					"default": "Controller",
					"datatype": "string",
					"enumerations": [
						"User",
						"System",
						"Controller"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable description associated with the entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This specifies the incoming L3 interface to which the DMZ applies.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"LeaseDuration": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Determines the time to live, in <<units>>, of a DMZ rule, where time to live means the number of <<units>> before the DMZ rule expires. A value of 0 means the DMZ rule is static. Support for dynamic (non-static) DMZ rules is OPTIONAL. That is, the only value for <<param>> that MUST be supported is 0.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"RemainingLeaseTime": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "For a dynamic (non-static) DMZ rule, when this parameter is read, the value represents the time (in <<units>>) remaining on the DMZ rule lease. That is, for a dynamic DMZ rule, the value counts down toward 0. When a dynamic DMZ rule lease expires, the device MUST automatically terminate that DMZ rule, and MUST automatically delete the corresponding <<object>> table entry. For a static DMZ rule, this parameter is irrelevant and should return 0.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"DestIP": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IPv4 address of a client in the DMZ network.",
					"datatype": "IPv4Address",
					"range": [
						{
							"max": 15
						}
					],
					"pattern": [
						"",
						"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
					]
				},
				"SourcePrefix": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Only allow incoming connections that match to the source IPv4 address or prefix that is specified in <<param>> for the applied DMZ instance. <<empty>> indicates this criterion is not used for matching.",
					"datatype": "IPv4Prefix",
					"range": [
						{
							"max": 18
						}
					],
					"pattern": [
						"",
						"/(3[0-2]|[012]?[0-9])",
						"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])/(3[0-2]|[012]?[0-9])"
					]
				},
				"Log": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable logging, in a <<object|.DeviceInfo.VendorLogFile>>, of packets matching this <<object>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"LogRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the logging rules for this <<object>> entry. The <<param|Log>> parameter MUST be set to <<true>> for this setting to take effect. When <<param|Log>> is <<true>> and <<param>> is <<empty>> or contains an invalid reference, the system MUST treat the configuration as an error and set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				}
			},
			"Device.Firewall.Service.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewall Service object that is used for configuring the firewall for opening a port/protocol for a local network service. For example: * SSH Server * Web Server For enabled table entries, if <<param|Interface>>, <<param|DestPort>> and <<param|Protocol>> are <<empty>>, or if <<param|Interface>> is not a valid reference, then the table entry is inoperable and the device MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Alias",
					"Interface",
					"DestPort",
					"Protocol",
					"SourcePrefixes"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the firewall service instance.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this <<object>> entry.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This specifies the incoming L3 interface to which the Service rule applies.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"DestPort": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Destination port number. A value of -1 indicates this criterion is not used for matching.",
					"default": "[-1]",
					"list": {
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 65535
							}
						]
					}
				},
				"IPVersion": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the IP protocol version, following the definitions in <<bibref|IANA-ipversionnumbers>>. Valid values are: <<range>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": 4,
							"max": 4
						},
						{
							"min": 6,
							"max": 6
						},
						{
							"min": -1,
							"max": -1
						}
					]
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Protocol number as specified in <<bibref|IANA-protocolnumbers>> For example: * 6 (TCP) * 17 (UDP) A value of -1 indicates this criterion is not used for matching.",
					"default": "[-1]",
					"list": {
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 255
							}
						]
					}
				},
				"ICMPType": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "ICMP type as specified in <<bibref|RFC792>> for IPv4 and <<bibref|RFC4443>> for IPv6. Only applicable when <<param|Protocol>> contains 1 (ICMP IPv4) or 58 (ICMP IPv6). A value of -1 indicates this criterion is not used for matching.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 255
						}
					]
				},
				"SourcePrefixes": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Only allow incoming connections that match one or more of the source IP addresses or prefixes that are specified in <<param>> for the applied service.",
					"default": "[]",
					"list": {
						"datatype": "IPPrefix",
						"range": [
							{
								"max": 49
							}
						]
					}
				},
				"Action": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Action to perform for traffic matching this <<object>> entry.",
					"default": "Accept",
					"datatype": "string",
					"enumerations": [
						"Drop",
						"Accept",
						"Reject"
					]
				},
				"Log": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable logging, in a <<object|.DeviceInfo.VendorLogFile>>, of packets matching this <<object>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"LogRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the logging rules for this <<object>> entry. The <<param|Log>> parameter MUST be set to <<true>> for this setting to take effect. When <<param|Log>> is <<true>> and <<param>> is <<empty>> or contains an invalid reference, the system MUST treat the configuration as an error and set <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
					"default": "[]",
					"list": {
						"datatype": "string"
					}
				}
			},
			"Device.Firewall.InterfaceSetting.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewall settings for an associated IP Interface. For enabled table entries, if <<param|Interface>> is not a valid reference then the table entry is inoperable and the device MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>>. Note: The <<object>> includes a unique key that is a strong reference. If a strongly referenced object is deleted, the device will set the referencing parameter to <<empty>>. However, doing so under these circumstances might cause the updated <<object>> row to then violate the tables unique key constraint; if this occurs, the device MUST set <<param|Status>> to <<enum|Error_Misconfigured|Status>> and disable the offending <<object>> row.",
				"uniqueKeys": [
					"Alias",
					"Interface"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the <<object>> entry, indicating if NAT is enabled for the referenced IP Interface instance. On creation, an <<object>> entry is disabled by default.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the device to indicate a locally defined error condition.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> The associated IP interface on which NAT is to be enabled.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"IPv4SpoofingProtection": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the IPv4 spoofing protection. Spoofing protection prevents LAN devices from sending packets with a wrong source IP address. A number of DDoS attacks are known to modify the source IP address of packets to initiate a DDoS attack. Spoofing protection checks if the source IP address of packets initiated in the LAN belongs to the LAN interface Address range, otherwise the packet will be dropped early in the network stack.",
					"datatype": "boolean"
				},
				"IPv6SpoofingProtection": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the IPv6 spoofing protection. Spoofing protection prevents LAN devices from sending packets with a wrong source IP address. A number of DDoS attacks are known to modify the source IP address of packets to initiate a DDoS attack. Spoofing protection checks if the source IP address of packets initiated in the LAN belongs to the LAN interface Address range, otherwise the packet will be dropped early in the network stack.",
					"datatype": "boolean"
				},
				"IPv4AcceptICMPEchoRequest": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<true>> the ICMPv4 echo request packet must be answered with an ICMPv4 echo reply. When <<false>> the ICMPv4 echo request packet must be dropped.",
					"datatype": "boolean"
				},
				"IPv6AcceptICMPEchoRequest": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<true>> the ICMPv6 echo request packet must be answered with an ICMPv6 echo reply. When <<false>> the ICMPv6 echo request packet must be dropped.",
					"datatype": "boolean"
				},
				"IPv6PassThroughICMPEchoRequest": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<true>> the ICMPv6 echo request packet must be forward to the LAN device. When <<false>> the ICMPv6 echo request packet must be dropped.",
					"datatype": "boolean"
				},
				"StealthMode": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the stealth mode. Stealth mode defines how the firewall must treat unwanted packets. Typically the feature is enabled for WAN facing interface(s). Stealth mode is applicable for both IPv4 and IPv6, and UDP and TCP based protocols. If set to <<true>> all UDP/TCP packets are dropped silently. This prevents a possible attacker from knowing which ports are opened/closed on a gateway. When <<param>> is set to <<false>>, the firewall will reply with an ICMP port unreachable. If there are other firewall rules in effect, they will have priority over this parameter. i.e: If an UDP port is set to ACCEPT, and the <<param>> is activated, then the port will be accepted and all the other UDP ports will be blocked.",
					"datatype": "boolean"
				}
			},
			"Device.Firewall.ConnectionTracking.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This Object contains the IP connection tracking related parameters. Application Layer Gateway (ALG) are used to provide Network Address Translation (NAT) support for various application-layer protocols.",
				"access": false,
				"array": false,
				"Device.Firewall.ConnectionTracking.SIP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "SIP is an application-layer control protocol used to establish, modify, and terminate multimedia sessions.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the connection tracking support for the SIP protocol (SIP ALG).",
						"datatype": "boolean"
					},
					"Ports": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port numbers of the SIP servers that need to be monitored.",
						"list": {
							"datatype": "int",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						}
					},
					"DirectMedia": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Allow media streams between signaling endpoints.",
						"default": "true",
						"datatype": "boolean"
					},
					"DirectSignaling": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Allow incoming calls from registrar.",
						"default": "true",
						"datatype": "boolean"
					},
					"ExternalMedia": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Allow media streams that are not passing through this router. When this feature is activated, the logic will maintain the SDP payload as is when it identifies that the interface towards the invited party is the same as the one towards the media endpoint.",
						"default": "false",
						"datatype": "boolean"
					},
					"TimeOut": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "SIP time out session.",
						"datatype": "unsignedInt"
					}
				},
				"Device.Firewall.ConnectionTracking.H323.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "H.323 is a VoIP signalling protocol from ITU-T",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the connection tracking support for the H323 protocol (H323 ALG).",
						"datatype": "boolean"
					},
					"RegistrationRequestTTL": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When no TTL is specified in the registration request message the TTL specified here will be used.",
						"datatype": "unsignedInt"
					},
					"GKRoutedOnly": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Only accept calls from the gatekeeper.",
						"datatype": "boolean"
					},
					"CallForwardFilter": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Create call forwarding expectations only when both endpoints are on different sides, as determined by routing information.",
						"datatype": "boolean"
					}
				},
				"Device.Firewall.ConnectionTracking.FTP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Tracking FTP connections is difficult due to the requirement for specialized helpers to handle them, along with the complexities of masquerading and Network Address Translation. This involves supporting FTP on Layer 3 with independent connection tracking.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the connection tracking support for the FTP protocol (FTP ALG).",
						"datatype": "boolean"
					},
					"Ports": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port numbers of the FTP servers that need to be monitored.",
						"list": {
							"datatype": "int",
							"item": {
								"max": 8
							},
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						}
					},
					"Loose": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The FTP protocol can enable a user to connect a FTP server to another FTP server. This could lead to a hole in the DMZ and it is therefore recommended to disable this feature.",
						"datatype": "boolean"
					}
				},
				"Device.Firewall.ConnectionTracking.PPTP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "PPTP Connection Tracking configuration object.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the connection tracking support for the PPTP protocol (PPTP ALG).",
						"datatype": "boolean"
					}
				},
				"Device.Firewall.ConnectionTracking.TFTP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "TFTP Connection Tracking configuration object.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the connection tracking support for the TFTP protocol (TFTP ALG).",
						"datatype": "boolean"
					},
					"Ports": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port numbers of the TFTP servers that need to be monitored.",
						"list": {
							"datatype": "int",
							"item": {
								"max": 8
							},
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						}
					}
				},
				"Device.Firewall.ConnectionTracking.IRC.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "IRC Connection Tracking configuration object.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the connection tracking support for the IRC protocol (IRC ALG).",
						"datatype": "boolean"
					},
					"Ports": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port numbers of the IRC servers that need to be monitored.",
						"list": {
							"datatype": "int",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						}
					},
					"MAXDCCChannels": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum number of Direct Client-to-Client (DCC) channels allowed per IRC session.",
						"datatype": "unsignedInt"
					},
					"DCCTimeout": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Timeout duration for unestablished Direct Client-to-Client (DCC) channels.",
						"datatype": "unsignedInt"
					}
				}
			},
			"Device.Firewall.Set.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object is used for configuring sets of IP, MAC addresses and/or port numbers which can then be used in conjunction with the firewall. It provides a more efficient way to manage large collections of addresses and ports compared to traditional methods of listing them individually within firewall rules.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Origin": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the Origin of the <<object>> instance. Note: This parameter was changed to readOnly in the Device 2.19 version.",
					"default": "Controller",
					"datatype": "string",
					"enumerations": [
						"User",
						"System",
						"Controller"
					]
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable name associated with this <<object>> entry.",
					"datatype": "string",
					"range": [
						{
							"max": 31
						}
					]
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the intention of the <<object|Rule>> entries and what it contains.",
					"default": "IPAddresses",
					"datatype": "string",
					"enumerations": [
						"IPAddresses",
						"Ports",
						"MACAddresses"
					]
				},
				"IPVersion": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the IP protocol version, following the definitions in <<bibref|IANA-ipversionnumbers>>. Valid values are: <<range>>.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": 4,
							"max": 4
						},
						{
							"min": 6,
							"max": 6
						},
						{
							"min": -1,
							"max": -1
						}
					]
				},
				"RuleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.Firewall.Set.{i}.Rule.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Firewall Rule object that is used for configuring the set lists.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Exclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies if this rule entry should match or not match the configured criteria.",
						"default": "false",
						"datatype": "boolean"
					},
					"IPAddressList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each element of the list can specify the source IPv4 or IPv6 address or subnet mask. Note: The IP version of the IP address MUST correspond to the IP version set in <<param|#.IPVersion>>. Can not be used in combination with <<param|MACAddressList>> or <<param|PortList>>.",
						"default": "[]",
						"list": {
							"datatype": "IPAddress",
							"range": [
								{
									"max": 45
								}
							]
						}
					},
					"MACAddressList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each element of the list can specify the MAC addresses that can be used by the <<object>> entry. Note: Can not be used in combination with <<param|IPAddressList>> or <<param|PortList>>.",
						"default": "[]",
						"list": {
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					},
					"PortList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each element of the list can specify the port number or a port range that can be used by the <<object>> entry. Syntax: A single port can be configured as e.g. 80. A port range can be configured as 8000-8010. Note: Can not be used in combination with <<param|MACAddressList>> or <<param|IPAddressList>>.",
						"default": "[]",
						"list": {
							"datatype": "string"
						}
					}
				}
			},
			"Device.Firewall.Log.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Firewalls monitor network traffic and enforce security policies. To aid in debugging and troubleshooting potential issues, its possible to capture specific information when certain rules are triggered. These captured details, known as traces, are then logged by the implementation for further analysis.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the firewall logging configuration for this entry.",
					"datatype": "boolean"
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Human-readable description associated with this entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Severity": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the severity level at which the message is logged.",
					"default": "Debug",
					"datatype": "string",
					"enumerations": [
						"Emergency",
						"Alert",
						"Critical",
						"Error",
						"Warning",
						"Notice",
						"Debug"
					]
				},
				"Prefix": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the prefix that must be added to each logmessage. When <<param|.Firewall.Chain.<i>.Rule.<i>.LogRef>> specifies multiple <<object>> entries. The implementation may chose to combine both prefixes into one. When <<param>> is <<empty>> no prefix will be added to the log message. The maximum allowed <<param>> length is implementation specific.",
					"datatype": "string"
				},
				"Device.Firewall.Log.{i}.Filter.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Defines the filter criteria used for configuring firewall log rules. These criteria determine which firewall events are logged based on specified parameters such as policy, source interface, and destination interface.",
					"access": false,
					"array": false,
					"Policy": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the policy for filtering logs based on the type of firewall rule. This parameter allows you to select which types of rules (e.g., all rules, denied rules, or allowed rules) will have their events logged.",
						"default": "All",
						"datatype": "string",
						"enumerations": [
							"All",
							"Denied",
							"Allowed"
						]
					},
					"SourceInterface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Filters logs based on the rules source interface. This parameter specifies the network interface from which the traffic originates. If left empty, no filtering on the source interface will be applied.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"DestinationInterface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Filters logs based on the rules destination interface. This parameter specifies the network interface to which the traffic is directed. If left empty, no filtering on the destination interface will be applied.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				}
			}
		},
		"Device.PeriodicStatistics.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object configures collection of periodic statistics for the device. Periodic statistics are measured over a sample interval (which can be aligned with absolute time) and are made available to the Controller as a comma-separated list of the most recent <n> samples. This object provides a single set of global settings that affect the entire device unless overridden locally.",
			"access": false,
			"array": false,
			"MinSampleInterval": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Minimum sample interval in <<units>> that the CPE is able to support. A value of 0 indicates no specific minimum sample interval.",
				"datatype": "unsignedInt",
				"unit": "seconds"
			},
			"MaxReportSamples": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Maximum number of samples of each statistic that the CPE is able to store and report. A value of 0 indicates no specific maximum number of samples.",
				"datatype": "unsignedInt"
			},
			"SampleSetNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.PeriodicStatistics.SampleSet.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Periodic statistics sample set table. Each sample set has its own sample interval etc.",
				"uniqueKeys": [
					"Name",
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables collection of periodic statistics for this sample set. When collection of periodic statistics is enabled, any stored samples are discarded, and the first sample interval begins immediately.",
					"default": "false",
					"datatype": "boolean"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The name of this sample set, which uniquely distinguishes each sample set.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"SampleInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The sample interval in <<units>>. Each statistic is measured over this sample interval. The CPE MAY also support an internal sampling rate (implementation dependent) that is faster than the <<param>> and allows the CPE to support the various options available in <<param|Parameter.<i>.CalculationMode>>. The CPE MAY reject a request to set <<param>> to less than <<param|#.MinSampleInterval>>. Sample intervals MUST begin every <<param>> <<units>>, with no delay between samples. If <<param>> is changed while collection of periodic statistics is enabled, any stored samples are discarded, and the first sample interval begins immediately. For example, if <<param|ReportSamples>> is 24 and <<param>> is 3600 (an hour), the CPE can store up to a days worth of samples for each statistic.",
					"default": "3600",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"ReportSamples": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of samples that the CPE will store and report for each statistic. The CPE MUST permit <<param>> to be set to at least <<param|#.MaxReportSamples>>. If <<param>> is changed while collection of periodic statistics is enabled, the CPE will truncate or extend its statistics buffers as appropriate, but statistics collection MUST NOT otherwise be affected. For example, if <<param>> is 24 and <<param|SampleInterval>> is 3600 (an hour), the CPE can store up to a days worth of samples for each statistic.",
					"default": "24",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					]
				},
				"ReportStartTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The absolute time at which the sample interval for the first stored sample (for each statistic) started.",
					"default": "0001-01-01T00:00:00Z",
					"datatype": "dateTime"
				},
				"ReportEndTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The absolute time at which the sample interval for the last stored sample (for each statistic) ended. If <<template|PERIODICSTATISTICS-FORCESAMPLE>> has been used to force statistics for the current sample to be calculated and updated in the data model, then <<param>> MUST be updated to reflect the actual time over which stored data was collected.",
					"default": "0001-01-01T00:00:00Z",
					"datatype": "dateTime"
				},
				"SampleSeconds": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Each entry indicates the number of <<units>> during which data was collected during the sample interval. Individual <<param>> values can be less than <<param|SampleInterval>>, for several reasons, including: : <<param|TimeReference>> has been set to a time other than the Unknown Time and the current sample interval started part of the way through a scheduled sample interval. : <<template|PERIODICSTATISTICS-FORCESAMPLE>> has been used to force statistics for the current sample to be calculated and updated in the data model.",
					"default": "[]",
					"list": {
						"datatype": "unsignedInt",
						"unit": "seconds"
					}
				},
				"ParameterNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates availability of Sample statistics. Enumeration of: Disabled, Enabled, Trigger. The <<enum|Trigger>> value is only used for triggering the ACS to fetch the collected data and can only be used when <<param|FetchSamples>> is in the range [1:<<param|ReportSamples>>]. The transition from <<enum|Enabled>> to <<enum|Trigger>> to <<enum|Enabled>> MUST be instantaneous and so will result in only a single value change for notification purposes.",
					"default": "Disabled",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Trigger"
					]
				},
				"TimeReference": {
					"type": "dateTime",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "An absolute time reference in UTC to determine when sample intervals will complete. Each sample interval MUST complete at this reference time plus or minus an integer multiple of <<param|SampleInterval>>. <<param>> is used only to set the phase of the sample and fetch intervals. The actual value of <<param>> can be arbitrarily far into the past or future. This time reference also determines when the <<param|Status>> <<enum|Enabled|Status>> to <<enum|Trigger|Status>> to <<enum|Enabled|Status>> transitions that are controlled by <<param|FetchSamples>> will occur. If collection of periodic statistics is enabled and <<param|FetchSamples>> is in the range [1:<<param|ReportSamples>>] then each such <<param|Status>> transition MUST occur at this reference time plus or minus an integer multiple of <<param|FetchSamples>> * <<param|SampleInterval>> (the fetch interval). If <<param>> is changed while collection of periodic statistics is enabled, any stored samples are discarded, and the first sample interval begins immediately. The Unknown Time value defined in <<bibref|TR-106>> indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and is required only to adhere to the specified sample and fetch intervals. If absolute time is not available to the CPE, its sample and fetch interval behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value. For example, if <<param|SampleInterval>> is 3600 (an hour) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then sample intervals will complete on each UTC hour (00:00, 01:00, 02:00 etc). If, in addition, <<param|FetchSamples>> is 24, then the fetch interval is 86400 (a day) and <<param|Status>> <<enum|Enabled|Status>> to <<enum|Trigger|Status>> to <<enum|Enabled|Status>> transitions will occur every day at UTC midnight. Note that, if <<param>> is set to a time other than the Unknown Time, the first sample interval (which has to begin immediately) will almost certainly be shorter than <<param|SampleInterval>>). This is why <<param>> is defined in terms of when sample intervals complete rather than start.",
					"default": "0001-01-01T00:00:00Z",
					"datatype": "dateTime"
				},
				"FetchSamples": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of sample intervals to be collected before transitioning <<param|Status>> from <<enum|Enabled|Status>> to <<enum|Trigger|Status>> to <<enum|Enabled|Status>>. If this SampleSet is enabled and <<param>> is in the range [1:<<param|ReportSamples>>] then <<param|Status>> MUST transition from <<enum|Enabled|Status>> to <<enum|Trigger|Status>> to <<enum|Enabled|Status>> on completion of every <<param>> sample intervals. Otherwise, the transition MUST NOT occur. For example, if <<param|ReportSamples>> is 25 and <<param>> is 24, then the CPE will store 25 values for each monitored parameter and the above <<param|Status>> transition will occur as the CPE stores each 24th of 25 sample intervals, which means that the ACS could delay for up to two sample intervals before reading the stored values and would still not miss any samples (see also <<template|PERIODICSTATISTICS-FORCESAMPLE>>). To disable this trigger mechanism and still collect sampled statistics, <<param>> can be set to either 0 or a value greater than <<param|ReportSamples>>.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"ForceSample": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, forces statistics for the current sample to be calculated and updated in the data model. Setting it to <<false>> has no effect. <<hidden>> If this is the first time that <<param>> has been set to <<true>> during the current sample interval, this MUST cause a new value to be added to each of the periodic statistics comma-separated list parameters, and the <<param|ReportEndTime>> and all <<param|SampleSeconds>> parameters MUST be updated accordingly. If this is not the first time that <<param>> has been set to <<true>> during the current sample interval, then the new values that were added as described in the previous paragraph, and the <<param|ReportEndTime>> and all <<param|SampleSeconds>> parameters, MUST be updated accordingly. Note that <<param>> just provides a sneak preview of the current sample. It does not create a new sample and it does not interfere with the sample interval schedule. At the end of each sample interval, if <<param>> was set to <<true>> during the sample interval then the new values that were added as described above, and the <<param|ReportEndTime>> and all <<param|SampleSeconds>> parameters, will be updated accordingly. In other words, the partial sample data that was created when <<param>> was set to <<true>> will be updated one last time at the end of the sample interval.",
					"default": "false",
					"datatype": "boolean"
				},
				"Controller": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<reference|the <<object|##.LocalAgent.Controller>> instance that created <<object>>|delete>> The value of this parameter is automatically populated by the USP Agent upon <<object>> creation using the reference to the USP Controller that created the instance. The USP Controller referenced by this parameter defines the set of permissions to use when updating the <<object|Parameter>> table. Furthermore, only the USP Controller referenced by this parameter will receive a <<event|Push!>> Event (assuming it has an associated Subscription), even if another USP Controller has an associated Subscription.",
					"datatype": "string"
				},
				"Push!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				},
				"ForceSample()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"ForceCollection()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Periodic statistics parameter table for this sample set. This table contains entries for parameters whose values are to be sampled. Note that the comma-separated lists in this object (SampleSeconds, SuspectData and Values) only ever change (a) when first enabled, (b) when <<template|PERIODICSTATISTICS-FORCESAMPLE>> has been used to force statistics for the current sample to be calculated (a sneak preview of the current sample), or (c) at the end of the sample interval.",
					"uniqueKeys": [
						"Reference",
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this object instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"Reference": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> This is the parameter being monitored by the Periodic Statistics mechanism.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"SampleMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Controls how this parameters value is sampled. Enumeration of: Current, Change. Parameters of non-numeric types can only support <<enum|Current>>. The value of the <<param>> MUST be ignored for such parameters.",
						"default": "Current",
						"datatype": "string",
						"enumerations": [
							"Current",
							"Change"
						]
					},
					"CalculationMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Controls how this parameters statistic is calculated from the sampled value(s) of each internal sample interval. Enumeration of: Latest, Minimum, Maximum, Average, Histogram. Parameters of non-numeric types can only support <<enum|Latest>>. The value of the <<param>> MUST be ignored for such parameters. <<param|SampleMode>> MUST be applied before <<param>>, i.e. the inputs to the calculation will have already accounted for <<param|SampleMode>>.",
						"default": "Latest",
						"datatype": "string",
						"enumerations": [
							"Latest",
							"Minimum",
							"Maximum",
							"Average",
							"Histogram"
						]
					},
					"LowThreshold": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The low threshold value that controls the calculation of <<template|PERIODICSTATISTICS-FAILURES>>. A value equal to <<param|HighThreshold>> disables the threshold/failure mechanism. Parameters of non-numeric types cannot support the threshold/failure mechanism. The value of this parameter MUST be ignored for such parameters.",
						"default": "0",
						"datatype": "int"
					},
					"HighThreshold": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The high threshold value that controls the calculation of <<template|PERIODICSTATISTICS-FAILURES>>. A value equal to <<param|LowThreshold>> disables the threshold/failure mechanism. Parameters of non-numeric types cannot support the threshold/failure mechanism. The value of this parameter MUST be ignored for such parameters.",
						"default": "0",
						"datatype": "int"
					},
					"SampleSeconds": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each entry indicates the number of <<units>> during which data was collected for this parameter during the sample interval. Individual <<param>> values can be less than <<param|#.SampleInterval>>, for several reasons, including: : Any of the reasons for which <<param|#.SampleSeconds>> values might be less than <<param|#.SampleInterval>>. : The parameter doesnt exist, or was created or deleted during a sample interval.",
						"default": "[]",
						"list": {
							"datatype": "unsignedInt",
							"unit": "seconds"
						}
					},
					"SuspectData": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each entry is 0 if the sampled value is believed to be valid, or 1 if an event that might affect the validity of the sampled value occurred during the sample interval. For example, if the parameter value were to be reset during the sample interval then it would be appropriate to set <<param>> to 1.",
						"default": "[]",
						"list": {
							"datatype": "unsignedInt",
							"range": [
								{
									"max": 1
								}
							]
						}
					},
					"Values": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each entry indicates the value of the referenced parameter, as determined by <<param|SampleMode>>, during the sample interval. The statistics values in this comma-separated list MUST be in time order, with the oldest one first and the most recent one last. If the <<param|SampleMode>> parameter is not present, or is inappropriate for the referenced parameter, the statistics values MUST be collected in Current mode. if <<param|CalculationMode>> has value Histogram then the values of the referenced parameter are in <<param|ValuesIfHistogram>>.",
						"default": "[]",
						"list": {
							"datatype": "string"
						}
					},
					"ValuesIfHistogram": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each entry indicates the value of the referenced parameter, as determined by <<param|SampleMode>>, during the sample interval. The statistics values in this comma-separated list MUST be in time order, with the oldest one first and the most recent one last. If the <<param|SampleMode>> parameter is not present, or is inappropriate for the referenced parameter, the statistics values MUST be collected in Current mode. This parameter applies only if <<param|CalculationMode>> has value Histogram and then this parameter is the values of the sampled histograms, where each histogram bin is the count of the number of samples within the corresponding <<param|HistogramBinBoundaries>>, and this parameter is expressed using square brackets to protect comma separators within nested lists. For example, [12,5,1,0,1],[12,3,2,1,0] represents two histograms.",
						"default": "[]",
						"list": {
							"datatype": "string"
						}
					},
					"Failures": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Counts the number of times (since this object instance was last enabled) that a newly-calculated sample value (accounting for <<param|SampleMode>>) transitioned from the in range state to the out of range state, or between the out of range (low) and out of range (high) states. The states are defined as follows: * in range : current value is greater than <<param|LowThreshold>> and less than <<param|HighThreshold>>. * out of range : current value is less than or equal to <<param|LowThreshold>>, or greater than or equal to <<param|HighThreshold>>. * out of range (low) : current value is less than or equal to <<param|LowThreshold>>. * out of range (high) : current value is greater than or equal to <<param|HighThreshold>>. Note that, if <<param|LowThreshold>> and <<param|HighThreshold>> are both the same, the threshold/failure mechanism is disabled, so the value of this parameter will not increment. This parameter can be incremented at any time during a sample interval, and might be incremented more than once during a single sample interval. For this reason, the CPE SHOULD place a locally specified limit on the frequency at which it will notify the Controller of such changes. Parameters of non-numeric types cannot support the threshold/failure mechanism. The value of this parameter MUST be ignored for such parameters.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"HistogramBinBoundaries": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Definition of the boundaries between histogram bins. Applies if <<param|CalculationMode>> has value Histogram. Each value is the minimum value of this bin, and the next value is just above the maximum value of this bin. For example, \u201c0,1,4,8,\u201d defines the four histogram bins: 0 to 1 but not including values identically equal to 1, 1 to 4 but not including values identically equal to 4, 4 to 8 but not including values identically equal to 8, and greater than or equal to 8. (No value after the last comma means no upper bound.) If this parameter is set to an empty string, then no histogram will be collected.",
						"list": {
							"datatype": "string"
						}
					}
				}
			}
		},
		"Device.FaultMgmt.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains parameters relating to Fault/Alarm Management.",
			"access": false,
			"array": false,
			"SupportedAlarmNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MaxCurrentAlarmEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of entries allowed in the <<object|CurrentAlarm>> table.",
				"datatype": "unsignedInt"
			},
			"CurrentAlarmNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"HistoryEventNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ExpeditedEventNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"QueuedEventNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.FaultMgmt.SupportedAlarm.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Supported Alarm Entries which can be raised by the device. The instance numbers for this table SHOULD be maintained across firmware upgrades of the device.",
				"uniqueKeys": [
					"EventType",
					"ProbableCause",
					"SpecificProblem",
					"PerceivedSeverity"
				],
				"access": false,
				"array": true,
				"EventType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the type of event.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ProbableCause": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Qualifies the alarm and provides further information than <<param|EventType>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"SpecificProblem": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provides further qualification on the alarm beyond <<param|EventType>> and <<param|ProbableCause>>. This is vendor defined and will be <<empty>> if the device doesnt support unique indexing of the table using <<param>>. The string can be set to * to indicate the default case if only a subset of <<param>> are to be contained within the table.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"PerceivedSeverity": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the relative level of urgency for operator attention, see <<bibref|ITU-X.733>>. Enumeration of: , *, Cleared, Critical, Major, Minor, Warning, Indeterminate. This will be <<empty>> if the device doesnt support unique indexing of the table using <<param>>. The string can be set to * to indicate the default case if only a subset of <<param>> are to be contained within the table.",
					"datatype": "string",
					"enumerations": [
						"",
						"*",
						"Cleared",
						"Critical",
						"Major",
						"Minor",
						"Warning",
						"Indeterminate"
					]
				},
				"ReportingMechanism": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the reporting mechanism setting of the alarm. Enumeration of: 0 Expedited, 1 Queued, 2 Logged, 3 Disabled.",
					"datatype": "string",
					"enumerations": [
						"0 Expedited",
						"1 Queued",
						"2 Logged",
						"3 Disabled"
					]
				}
			},
			"Device.FaultMgmt.CurrentAlarm.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Contains all currently active alarms (whose <<param|#.SupportedAlarm.<i>.PerceivedSeverity>> is not <<enum|Cleared|#.SupportedAlarm.<i>.PerceivedSeverity>>). Newly raised alarms result in a new entry in this table being added, any changes to the alarm as a result of an update event are updated in the existing table entry, and a clear event raised against an alarm results in the alarm being removed from this table. If maximum entries as indicated by <<param|#.MaxCurrentAlarmEntries>> is reached, the next event overrides the object with the oldest <<param|AlarmChangedTime>>. When a new alarm replaces an existing alarm, then all parameter values for that instance are considered as changed for the purposes of value change notifications to the Controller (even if their new values are identical to those of the prior alarm).",
				"uniqueKeys": [
					"AlarmIdentifier",
					"EventType",
					"ProbableCause",
					"SpecificProblem"
				],
				"access": false,
				"array": true,
				"AlarmIdentifier": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies one Alarm Entry in the Alarm List. This value MUST be uniquely allocated by the device to the alarm instance during the lifetime of the individual alarm.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"AlarmRaisedTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the date and time when the alarm was first raised by the device.",
					"datatype": "dateTime"
				},
				"AlarmChangedTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the date and time when the alarm was last changed by the device.",
					"datatype": "dateTime"
				},
				"ManagedObjectInstance": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the instance of the Informational Object Class in which the alarm occurred by carrying the Distinguished Name (DN) of this object instance. The format of the DN is specific to the application that is using this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 512
						}
					]
				},
				"EventType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the type of event.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ProbableCause": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Qualifies the alarm and provides further information than <<param|EventType>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"SpecificProblem": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provides further qualification on the alarm beyond <<param|EventType>> and <<param|ProbableCause>>. This is vendor defined and will be <<empty>> if the device doesnt support inclusion of this information.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"PerceivedSeverity": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the relative level of urgency for operator attention, see <<bibref|ITU-X.733>>. Enumeration of: Critical, Major, Minor, Warning, Indeterminate.",
					"datatype": "string",
					"enumerations": [
						"Critical",
						"Major",
						"Minor",
						"Warning",
						"Indeterminate"
					]
				},
				"AdditionalText": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This provides a textual string which is vendor defined. This will be <<empty>> if the device doesnt support inclusion of this information.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AdditionalInformation": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This contains additional information about the alarm and is vendor defined.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"Device.FaultMgmt.HistoryEvent.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Alarm events added or updated in <<object|#.CurrentAlarm>> are simultaneously entered into the this table. This table also contains alarm clearing events. Active alarms at the time of a power failure or reboot might not get an alarm clearing event. This object has a fixed number of entries with instance numbers from 1 to <<param|#.HistoryEventNumberOfEntries>>. If maximum instance number <<param|#.HistoryEventNumberOfEntries>> is reached, the next event overrides the object with instance number 1. Subsequent entries override objects at sequentially increasing instance numbers. This logic provides for automatic rolling of records.",
				"uniqueKeys": [
					"EventTime",
					"AlarmIdentifier"
				],
				"access": false,
				"array": true,
				"EventTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the date and time when the alarm event occurs.",
					"datatype": "dateTime"
				},
				"AlarmIdentifier": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies one Alarm Entry in the Alarm List. This value MUST be uniquely allocated by the device to the alarm instance during the lifetime of the individual alarm.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"NotificationType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the reason for the specific alarm notification event. Enumeration of: NewAlarm, ChangedAlarm, ClearedAlarm.",
					"datatype": "string",
					"enumerations": [
						"NewAlarm",
						"ChangedAlarm",
						"ClearedAlarm"
					]
				},
				"ManagedObjectInstance": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the instance of the Informational Object Class in which the alarm occurred by carrying the Distinguished Name (DN) of this object instance. The format of the DN is specific to the application that is using this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 512
						}
					]
				},
				"EventType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the type of event.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ProbableCause": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Qualifies the alarm and provides further information than <<param|EventType>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"SpecificProblem": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provides further qualification on the alarm beyond <<param|EventType>> and <<param|ProbableCause>>. This is vendor defined and will be <<empty>> if the device doesnt support inclusion of this information.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"PerceivedSeverity": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the relative level of urgency for operator attention, see <<bibref|ITU-X.733>>. Enumeration of: Cleared, Critical, Major, Minor, Warning, Indeterminate.",
					"datatype": "string",
					"enumerations": [
						"Cleared",
						"Critical",
						"Major",
						"Minor",
						"Warning",
						"Indeterminate"
					]
				},
				"AdditionalText": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This provides a textual string which is vendor defined. This will be <<empty>> if the device doesnt support inclusion of this information.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AdditionalInformation": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This contains additional information about the alarm and is vendor defined.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"Device.FaultMgmt.ExpeditedEvent.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Alarm events added or updated in <<object|#.CurrentAlarm>> are simultaneously entered into the this table if their corresponding entry in <<object|#.SupportedAlarm>> has <<param|#.SupportedAlarm.<i>.ReportingMechanism>> set to <<enum|0 Expedited|#.SupportedAlarm.<i>.ReportingMechanism>>. This table also contains alarm clearing events. This object has a fixed number of entries with instance numbers from 1 to <<param|#.ExpeditedEventNumberOfEntries>>. Initially the table starts with all instances having <<param|EventTime>> set to the Unknown Time value, as defined in <<bibref|TR-106>>. If maximum instance number <<param|#.ExpeditedEventNumberOfEntries>> is reached, the next event overrides the object with instance number 1. Subsequent entries override objects at sequentially increasing instance numbers. This logic provides for automatic rolling of records. When a new alarm replaces an existing alarm, then all parameter values for that instance are considered as changed for the purposes of value change notifications to the Controller (even if their new values are identical to those of the prior alarm).",
				"uniqueKeys": [
					"AlarmIdentifier"
				],
				"access": false,
				"array": true,
				"EventTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the date and time when the alarm event occurs. For an unpopulated entry, the value is the Unknown Time as defined in <<bibref|TR-106>>.",
					"datatype": "dateTime"
				},
				"AlarmIdentifier": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies one Alarm Entry in the Alarm List. This value MUST be uniquely allocated by the device to the alarm instance during the lifetime of the individual alarm. For an unpopulated entry, the value is <<empty>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"NotificationType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the reason for the specific alarm notification event. Enumeration of: NewAlarm, ChangedAlarm, ClearedAlarm.",
					"datatype": "string",
					"enumerations": [
						"NewAlarm",
						"ChangedAlarm",
						"ClearedAlarm"
					]
				},
				"ManagedObjectInstance": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the instance of the Informational Object Class in which the alarm occurred by carrying the Distinguished Name (DN) of this object instance. The format of the DN is specific to the application that is using this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 512
						}
					]
				},
				"EventType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the type of event.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ProbableCause": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Qualifies the alarm and provides further information than <<param|EventType>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"SpecificProblem": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provides further qualification on the alarm beyond <<param|EventType>> and <<param|ProbableCause>>. This is vendor defined and will be <<empty>> if the device doesnt support inclusion of this information.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"PerceivedSeverity": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the relative level of urgency for operator attention, see <<bibref|ITU-X.733>>. Enumeration of: Cleared, Critical, Major, Minor, Warning, Indeterminate.",
					"datatype": "string",
					"enumerations": [
						"Cleared",
						"Critical",
						"Major",
						"Minor",
						"Warning",
						"Indeterminate"
					]
				},
				"AdditionalText": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This provides a textual string which is vendor defined. This will be <<empty>> if the device doesnt support inclusion of this information.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AdditionalInformation": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This contains additional information about the alarm and is vendor defined.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"Device.FaultMgmt.QueuedEvent.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Alarm events added or updated in <<object|#.CurrentAlarm>> are simultaneously entered into the this table if their corresponding entry in <<object|#.SupportedAlarm>> has <<param|#.SupportedAlarm.<i>.ReportingMechanism>> set to <<enum|1 Queued|#.SupportedAlarm.<i>.ReportingMechanism>>. This table also contains alarm clearing events. This object has a fixed number of entries with instance numbers from 1 to <<param|#.QueuedEventNumberOfEntries>>. Initially the table starts with all instances having <<param|EventTime>> set to the Unknown Time value, as defined in <<bibref|TR-106>>. If maximum instance number <<param|#.QueuedEventNumberOfEntries>> is reached, the next event overrides the object with instance number 1. Subsequent entries override objects at sequentially increasing instance numbers. This logic provides for automatic rolling of records. When a new alarm replaces an existing alarm, then all parameter values for that instance are considered as changed for the purposes of value change notifications to the Controller (even if their new values are identical to those of the prior alarm).",
				"uniqueKeys": [
					"AlarmIdentifier"
				],
				"access": false,
				"array": true,
				"EventTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the date and time when the alarm event occurs. For an unpopulated entry, the value is the Unknown Time as defined in <<bibref|TR-106>>.",
					"datatype": "dateTime"
				},
				"AlarmIdentifier": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifies one Alarm Entry in the Alarm List. This value MUST be uniquely allocated by the device to the alarm instance during the lifetime of the individual alarm. For an unpopulated entry, the value is <<empty>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"NotificationType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the reason for the specific alarm notification event. Enumeration of: NewAlarm, ChangedAlarm, ClearedAlarm.",
					"datatype": "string",
					"enumerations": [
						"NewAlarm",
						"ChangedAlarm",
						"ClearedAlarm"
					]
				},
				"ManagedObjectInstance": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the instance of the Informational Object Class in which the alarm occurred by carrying the Distinguished Name (DN) of this object instance. The format of the DN is specific to the application that is using this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 512
						}
					]
				},
				"EventType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the type of event.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ProbableCause": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Qualifies the alarm and provides further information than <<param|EventType>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"SpecificProblem": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provides further qualification on the alarm beyond <<param|EventType>> and <<param|ProbableCause>>. This is vendor defined and will be <<empty>> if the device doesnt support inclusion of this information.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"PerceivedSeverity": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the relative level of urgency for operator attention, see <<bibref|ITU-X.733>>. Enumeration of: Cleared, Critical, Major, Minor, Warning, Indeterminate.",
					"datatype": "string",
					"enumerations": [
						"Cleared",
						"Critical",
						"Major",
						"Minor",
						"Warning",
						"Indeterminate"
					]
				},
				"AdditionalText": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This provides a textual string which is vendor defined. This will be <<empty>> if the device doesnt support inclusion of this information.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AdditionalInformation": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This contains additional information about the alarm and is vendor defined.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			}
		},
		"Device.Security.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains general information related to managing security features on the device.",
			"access": false,
			"array": false,
			"CertificateNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"CABundleNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Security.Certificate.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table provides information about all types of public key-based credentials, such as X.509 certificates, see <<bibref|RFC5280>>.",
				"uniqueKeys": [
					"SerialNumber",
					"Issuer"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this certificate.",
					"datatype": "boolean"
				},
				"LastModif": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The last modification time of this certificate.",
					"datatype": "dateTime"
				},
				"SerialNumber": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Serial Number field in an X.509 certificate, see <<bibref|RFC5280>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Issuer": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Issuer field in an X.509 certificate, see <<bibref|RFC5280>>; i.e. the Distinguished Name (DN) of the entity who has signed the certificate.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"NotBefore": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The beginning of the certificate validity period; i.e. the Not Before field in an X.509 certificate, see <<bibref|RFC5280>>.",
					"datatype": "dateTime"
				},
				"NotAfter": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The end of the certificate validity period; i.e., the Not After field in an X.509 certificate, see <<bibref|RFC5280>>.",
					"datatype": "dateTime"
				},
				"Subject": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Distinguished Name (DN) of the entity associated with the Public Key; i.e., the Subject field in an X.509 certificate, see <<bibref|RFC5280>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"SubjectAlt": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> Each item specifies an identity that is bound to the certificates subject, and thus bound to the Public Key. The Subject Alternative Names extension field in an X.509 certificate, see <<bibref|RFC5280>>.",
					"list": {
						"datatype": "string",
						"maxsize": 256
					}
				},
				"SignatureAlgorithm": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The algorithm used in signing the certificate; i.e. the Signature Algorithm field in an X.509 certificate, see <<bibref|RFC5280>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"Device.Security.CABundle.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table stores information about a group of Certificate Authorities (CAs). A CA is a trusted entity that issues digital certificates used to verify the identity of servers, clients, or other entities in secure communication protocols like TLS. This group defines a collection of trusted CA certificates that can be used to validate server certificates during TLS connections.",
				"uniqueKeys": [
					"Name"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this CA group. When disabled, the certificates within this group will not be used for validation.",
					"datatype": "boolean"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name assigned to this CA group for identification.",
					"datatype": "string"
				},
				"CACertificates": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the CA certificate(s) that the client must use to validate the certificate presented by the remote server. These CA certificates form a trust chain that the server certificate must match, ensuring that only servers with trusted certificates can establish a connection. This parameter supports multiple CA certificates to accommodate different server certificate issuers. This parameter is applicable only when a TLS session is being used.",
					"list": {
						"datatype": "string"
					}
				},
				"CADir()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"output": {
						"CADir": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter specifies the absolute or relative path to the directory containing the CA certificate bundle, specified as an RFC-8089 URI (The file URI Scheme).",
							"datatype": "string"
						}
					}
				},
				"CAFile()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"output": {
						"CAFile": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The absolute or relative path to the file containing the CA certificate(s), specified as an <<bibref|RFC8089>> URI (The file URI Scheme).",
							"datatype": "string"
						}
					}
				}
			}
		},
		"Device.FAP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object is the container for all Femto related component objects, to prevent pollution of the so-called global namespace of the BBF with FAP specific objects.",
			"access": false,
			"array": false,
			"Device.FAP.GPS.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains the parameters relating to the GPS scan.",
				"access": false,
				"array": false,
				"ScanOnBoot": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables GPS scans during the device start up.",
					"default": "true",
					"datatype": "boolean"
				},
				"ScanPeriodically": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables periodic GPS scans.",
					"default": "false",
					"datatype": "boolean"
				},
				"PeriodicInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<param|ScanPeriodically>> is <<true>>, this value indicates the interval in <<units>> which GPS scan is performed.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"PeriodicTime": {
					"type": "dateTime",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "An absolute time reference in UTC to determine when the CPE will initiate the periodic GPS scan. Each GPS scan MUST occur at (or as soon as possible after) this reference time plus or minus an integer multiple of the <<param|PeriodicInterval>>. <<param>> is used only to set the phase of the GPS scan. The actual value of <<param>> can be arbitrarily far into the past or future. For example, if <<param|PeriodicInterval>> is 86400 (a day) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then periodic GPS scans will occur every day at UTC midnight. These MUST begin on the very next midnight, even if <<param>> refers to a day in the future. The Unknown Time value defined in <<bibref|TR-106|Section 3.2>> indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and needs only to adhere to the specified PeriodicInformInterval. If absolute time is not available to the CPE, its periodic GPS scan behavior MUST be the same as if <<param>> parameter was set to the Unknown Time value.",
					"datatype": "dateTime"
				},
				"ContinuousGPS": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Whether or not the device SHOULD maintain a continuous GPS lock (e.g. as a frequency stability source).",
					"datatype": "boolean"
				},
				"ScanTimeout": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the time-out value in <<units>> since the scan started after which the scan will time out. A timed out scan is to be reported as <<enum|Error_TIMEOUT|ScanStatus>> with <<param|ErrorDetails>> indicating Timed out",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"ScanStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the current status of this scan.",
					"datatype": "string",
					"enumerations": [
						"Indeterminate",
						"InProgress",
						"Success",
						"Error",
						"Error_TIMEOUT"
					]
				},
				"ErrorDetails": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Provides more detail when the <<param|ScanStatus>> is either <<enum|Error|ScanStatus>> or <<enum|Error_TIMEOUT|ScanStatus>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"LastScanTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The date and time when the last GPS scan completed.",
					"datatype": "dateTime"
				},
				"LastSuccessfulScanTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the date and time, when the GPS scan last completed successfully. <<template|FAP-GPS-RESET>> The values for <<param|LockedLatitude>>, <<param|LockedLongitude>> and <<param|NumberOfSatellites>> correspond to this time. If a scan has never succeeded before, the value will be the Unknown Time value, as defined in <<bibref|TR-106|Section 3.2>>.",
					"datatype": "dateTime"
				},
				"LockedLatitude": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter specifies the latitude of the devices position in degrees, multiplied by 1 million. The positive value signifies the direction, north of the equator. The negative value signifies the direction, south of the equator. Range is from: 90d00.00 South (-90,000,000) to 90d00.00 North (90,000,000). Example: A latitude of 13d19.43 N would be represented as 13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60). Latitude of 50d00.00 S would be represented as value -50,000,000. <<template|FAP-GPS-RESET>> If a scan has never succeeded before, the value 0 is reported.",
					"datatype": "int",
					"range": [
						{
							"min": -90000000,
							"max": 90000000
						}
					]
				},
				"LockedLongitude": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter specifies the longitude of the devices position in degrees, multiplied by 1 million. The positive value signifies the direction, east of the prime meridian. The negative value signifies the direction, west of the prime meridian. Range is from: 180d00.00 West (-180,000,000) to 180d00.00 East (180,000,000). Example: A longitude of 13d19.43 E would be represented as 13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60). A longitude of 50d00.00 W would be represented as value -50,000,000. <<template|FAP-GPS-RESET>> If a scan has never succeeded before, the value 0 is reported.",
					"datatype": "int",
					"range": [
						{
							"min": -180000000,
							"max": 180000000
						}
					]
				},
				"NumberOfSatellites": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of satellites that were locked during the test execution. The greater the number of satellites the better the precision of the results. <<template|FAP-GPS-RESET>> If a scan has never succeeded before, the value 0 is reported.",
					"datatype": "unsignedInt"
				},
				"GPSReset": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Setting this to <<true>> will cause a reset on the GPS Hardware. Setting this to <<false>> has no effect.",
					"datatype": "boolean"
				},
				"GPSReset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.FAP.GPS.ContinuousGPSStatus.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<param|#.ContinuousGPS>> is <<true>>, the parameters in this object contain the GPS status as it is continuously monitored. When <<param|#.ContinuousGPS>> is <<false>>, the parameters in this object are not being updated and their values are not accurate.",
					"access": false,
					"array": false,
					"CurrentFix": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value is <<true>> if the location fix is currently valid (i.e. GPS receiver is currently tracking satellite signals), otherwise it is <<false>>. After a reboot the value is <<false>> until the GPS receivers has a valid current position.",
						"datatype": "boolean"
					},
					"GotFix": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value is <<true>> if <<param|CurrentFix>> has transitioned to <<true>> at least once since <<param|#.ContinuousGPS>> was enabled, otherwise it is <<false>>. After a reboot the value is <<false>> until <<param|CurrentFix>> has transitioned to <<true>> again. The GPS coordinates (<<param|Latitude>>, <<param|Longitude>>, and <<param|Elevation>>) are not valid until <<param>> has a value of <<true>>.",
						"datatype": "boolean"
					},
					"TimingGood": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value is <<true>> if the timing synchronization is good, otherwise it is <<false>>. After a reboot the value is <<false>> until the timing is synchronized again.",
						"datatype": "boolean"
					},
					"Latitude": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter represents the most recent latitude reading for the devices position in degrees, multiplied by 1 million. The positive value signifies the direction, north of the equator. The negative value signifies the direction, south of the equator. Range is from: 90 deg 00.00 South (-90,000,000) to 90 deg 00.00 North (90,000,000). Example: A latitude of 13 deg 19.43 N would be represented as 13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60). Latitude of 50 deg 00.00 S would be represented as value -50,000,000. <<param>> is not valid until <<param|GotFix>> is <<true>>. If the parameter has never been set before, the value 0 is reported. The value SHOULD be maintained over a reboot.",
						"datatype": "int",
						"range": [
							{
								"min": -90000000,
								"max": 90000000
							}
						]
					},
					"Longitude": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter represents the most recent longitude reading for the devices position in degrees, multiplied by 1 million. The positive value signifies the direction, east of the prime meridian. The negative value signifies the direction, west of the prime meridian. Range is from: 180d00.00 West (-180,000,000) to 180d00.00 East (180,000,000). Example: A longitude of 13d19.43 E would be represented as 13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60). A longitude of 50d00.00 W would be represented as value -50,000,000. <<param>> is not valid until <<param|GotFix>> is <<true>>. If the parameter has never been set before, the value 0 is reported. The value SHOULD be maintained over a reboot.",
						"datatype": "int",
						"range": [
							{
								"min": -180000000,
								"max": 180000000
							}
						]
					},
					"Elevation": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter represents the most recent elevation reading for the devices position in <<units>>, relative to the WGS84 ellipsoid. The positive value signifies the direction, above sea level. The negative value signifies the direction, below sea level. Range is from: 5,000.000 meters below sea level (-5,000,000) to 25,000.000 meters above sea level (25,000,000). <<param>> is not valid until <<param|GotFix>> is <<true>>. If the parameter has never been set before, the value 0 is reported. The value SHOULD be maintained over a reboot.",
						"datatype": "int",
						"range": [
							{
								"min": -5000000,
								"max": 25000000
							}
						],
						"unit": "millimeters"
					},
					"LastFixTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represents the date and time when the last GPS Fix was acquired. The Unknown Time value defined in <<bibref|TR-106|Section 3.2>> is used when <<param|GotFix>> is <<false>>. This applies too after a reboot of the device until a valid location is determined and <<param|GotFix>> transsitions to <<true>>.",
						"datatype": "dateTime"
					},
					"LastFixDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of <<units>> of continuous GPS fix time. After a reboot this value is reset to 0.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"FirstFixTimeout": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of <<units>> to wait for first GPS fix before declaring a GPS fault. A value of -1 means that there is no timeout and no fault logging.",
						"datatype": "int",
						"range": [
							{
								"min": -1
							}
						],
						"unit": "seconds"
					},
					"SatellitesTracked": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of satellites the receiver is tracking.",
						"datatype": "unsignedInt"
					},
					"SatelliteTrackingInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interval in <<units>> at which the GPS tracking information gets reported.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 60,
								"max": 3600
							}
						],
						"unit": "seconds"
					},
					"ReceiverStatus": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The output of the GPS receivers status.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"LocationType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates whether the <<param|Latitude>>, <<param|Longitude>>, and <<param|Elevation>> values are determined via a GPS Fix (where the value of this parameter would be <<enum|Real>>) or via some other means (where the value of this parameter would be <<enum|Reference>>).",
						"datatype": "string",
						"enumerations": [
							"Real",
							"Reference"
						]
					},
					"LockTimeOutDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The timer duration, in <<units>>, for which the device waits for GPS to acquire lock.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 120,
								"max": 86400
							}
						],
						"unit": "seconds"
					}
				},
				"Device.FAP.GPS.AGPSServerConfig.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters for the configuration of the Assisted Global Positioning System (A-GPS) server. See also <<bibref|3GPP-TS.25.171|Section 3.2>>",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the <<object>> entry.",
						"datatype": "boolean"
					},
					"ServerURL": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A-GPS server host name or IP address.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ServerPort": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The port to use when communicating to the A-GPS Server.",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"Username": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Username to be used by the device to authenticate with the A-GPS server. This string is set to <<empty>> if no authentication is used.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Password": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Password to be used by the device to authenticate with the A-GPS server. This string is set to <<empty>> if no authentication is used.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"ReferenceLatitude": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter specifies the reference latitude for an A-GPS request position in degrees, multiplied by 1 million. The positive value signifies the direction, north of the equator. The negative value signifies the direction, south of the equator. Range is from: 90d00.00 South (-90,000,000) to 90d00.00 North (90,000,000). Example: A latitude of 13d19.43 N would be represented as 13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60). Latitude of 50d00.00 S would be represented as value -50,000,000.",
						"datatype": "int",
						"range": [
							{
								"min": -90000000,
								"max": 90000000
							}
						]
					},
					"ReferenceLongitude": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter specifies the reference longitude for an A-GPS request position in degrees, multiplied by 1 million. The positive value signifies the direction, east of the prime meridian. The negative value signifies the direction, west of the prime meridian. Range is from: 180d00.00 West (-180,000,000) to 180d00.00 East (180,000,000). Example: A longitude of 13d19.43 E would be represented as 13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60). A longitude of 50d0000 W would be represented as value -50,000,000.",
						"datatype": "int",
						"range": [
							{
								"min": -180000000,
								"max": 180000000
							}
						]
					},
					"ServerInUse": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value is <<true>> if the device has successfully contacted and received A-GPS info from the A-GPS server, otherwise the value is <<false>>. After a reboot the value is <<false>> until the server could be contacted again.",
						"datatype": "boolean"
					}
				}
			},
			"Device.FAP.PerfMgmt.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to Performance Management in a Femto-related environment.",
				"access": false,
				"array": false,
				"ConfigNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.FAP.PerfMgmt.Config.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters relating to File Management configuration for uploading of Performance Files to a designated File Server. Each table entry can be referenced by zero or more radio-specific objects contained in the FAPService instances. The periodic upload will upload data for all of the radio-specific objects that reference it.",
					"uniqueKeys": [
						"Alias",
						"URL",
						"PeriodicUploadInterval",
						"PeriodicUploadTime"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this entry. If this entry is disabled then its periodic uploads are not performed.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"URL": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<datatype>> specifying the destination file location. HTTP and HTTPS transports MUST be supported. Other transports MAY be supported. This argument specifies only the destination file location, and does not indicate in any way the name or location of the local file to be uploaded.",
						"datatype": "URL"
					},
					"Username": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Username to be used by the device to authenticate with the file server. This string is set to <<empty>> if no authentication is used.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Password": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Password to be used by the device to authenticate with the file server. This string is set to <<empty>> if no authentication is used.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"PeriodicUploadInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The duration in <<units>> of the interval for which the device MUST create a Performance File and attempt to upload the file to <<param|URL>> if <<param|Enable>> is <<true>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "seconds"
					},
					"PeriodicUploadTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "An absolute time reference in UTC to determine when the device will initiate the periodic file upload. Each file upload MUST occur at this reference time plus or minus an integer multiple of the <<param|PeriodicUploadInterval>>. <<param>> is used only to set the phase of the periodic uploads. The actual value of <<param>> can be arbitrarily far into the past or future. For example, if <<param|PeriodicUploadInterval>> is 86400 (a day) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then periodic file uploads will occur every day at UTC midnight. These MUST begin on the very next midnight, even if <<param>> refers to a day in the future. The Unknown Time value as defined in <<bibref|TR-106|Section 3.2>> indicates that no particular time reference is specified. That is, the device MAY locally choose the time reference, and is REQUIRED only to adhere to the specified <<param|PeriodicUploadInterval>>. If absolute time is not available to the device, its periodic file upload behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value.",
						"datatype": "dateTime"
					}
				}
			},
			"Device.FAP.ApplicationPlatform.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object defines the data model for the following Femtozone APIs. * Femto Awareness * SMS * MMS * Terminal Location Femto Awareness, SMS, MMS, and Terminal Location APIs are defined in the Release 1 API Specifications of the Service SIG in the Femto Forum (non public document). <<bibref|TR-262|appendix I>> provides the Theory of Operation for the usage of this object.",
				"access": false,
				"array": false,
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Version of Femto Application Platform running on this device",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable the Femto ApplicationPlatform",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current state of the Femto Application Platform.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Reset",
						"Initializing"
					]
				},
				"MaxNumberOfApplications": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Determines how many Femtozone Applications can be supported by the Femto Application Platform simultaneously.",
					"datatype": "unsignedInt"
				},
				"CurrentNumberofApplications": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies how many Femtozone Applications are currently communicating with the Femto Application Platform.",
					"datatype": "unsignedInt"
				},
				"Device.FAP.ApplicationPlatform.Capabilities.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters related to the capabilities of the Femtozone Application Platform and the Femtozone APIs.",
					"access": false,
					"array": false,
					"PresenceApplicationSupport": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the Femto Application Platform supports Presence-Based Femtozone Applications",
						"datatype": "boolean"
					},
					"FemtoAwarenessAPISupport": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the Femto Awareness API is supported on this device.",
						"datatype": "boolean"
					},
					"SMSAPISupport": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the SMS API is supported on this device.",
						"datatype": "boolean"
					},
					"SubscribeToNotificationsOfSMSSentToApplicationSupport": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the SubscribeToNotificationsOfSMSSentToApplication functionality is supported by the FAP SMS API.",
						"datatype": "boolean"
					},
					"QuerySMSDeliveryStatusSupport": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the QuerySMSDeliveryStatus functionality is supported by the FAP SMS API.",
						"datatype": "boolean"
					},
					"MMSAPISupport": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the MMS API is supported on this device.",
						"datatype": "boolean"
					},
					"QueryMMSDeliveryStatusSupport": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the QueryMMSDeliveryStatus functionality is supported by the FAP MMS API.",
						"datatype": "boolean"
					},
					"SubscribeToNotificationsOfMMSSentToApplicationSupport": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the SubscribeToNotificationsOfMMSSentToApplication functionality is supported by the FAP MMS API.",
						"datatype": "boolean"
					},
					"TerminalLocationAPISupport": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies whether the Terminal Location API is supported on this device.",
						"datatype": "boolean"
					},
					"AuthenticationMethodsSupported": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the supported methods that 3rd Party Applications can use to authenticate with the Femto Application Platform at initialization.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"Basic",
								"Digest",
								"DigitalSignature"
							]
						}
					},
					"AccessLevelsSupported": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the supported access levels that 3rd Party Applications can request when authenticating with the Femto Application Platform at initialization. This access level is with respect to resources within the Femto Application Platform only (not to be confused with Access Mode parameter in .FAPService.<i>.AccessMgmt).",
						"list": {
							"datatype": "string",
							"enumerations": [
								"Guest",
								"Standard",
								"Restricted",
								"Administrator",
								"Debug"
							]
						}
					},
					"SendSMSTargetAddressType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the supported types of addresses SMSs can be sent to.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"TelUri",
								"AnonymousReference",
								"All"
							]
						}
					},
					"SendMMSTargetAddressType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the supported types of addresses MMSs can be sent to.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"TelUri",
								"AnonymousReference",
								"All"
							]
						}
					}
				},
				"Device.FAP.ApplicationPlatform.Control.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters related to the operation of the Femtozone APIs.",
					"access": false,
					"array": false,
					"AuthenticationMethod": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies how 3rd Party Applications have to authenticate against Femto APIs in order to use it. <<reference>> Note: The credentials are not part of the data model and have to be supplied externally.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"TunnelInst": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This is the reference to the IPsec tunnel instance to be used by the Application Platform traffic. The <<param>> MUST point to a tunnel instance defined in the data model. If the referenced object is deleted, the parameter value MUST be set to an empty string.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Device.FAP.ApplicationPlatform.Control.FemtoAwareness.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains parameters related to the Femto Awareness API.",
						"access": false,
						"array": false,
						"APIEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable FemtoAwareness API exposure on FAP",
							"datatype": "boolean"
						},
						"QueueEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable Request queueing for the API",
							"datatype": "boolean"
						},
						"Queueing": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines how FAP handles simultaneous requests from different Applications to Femto Awareness API.",
							"datatype": "string",
							"enumerations": [
								"FiFo",
								"Priority"
							]
						},
						"MaxAPIUsersNumber": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines the Max Number of different Applications that can send Requests to Femto Awareness API.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"FemtozoneID": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies Identifier of the Femtozone.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"NotificationsUserIdentifierMSISDN": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies whether the Mobile Station International Subscriber Directory Number (MSISDN) has to be used as UserIdentifier in Femto Awareness Notifications. A value of <<true>> means that the MSISDN is send as user identifier, a value of <<false>> means that an anonymous reference is used.",
							"datatype": "boolean"
						},
						"SubscribeToNotificationsResponseCallbackData": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies whether the OPTIONAL Argument Callback Data has to be used in Responses to Requests to Subscribe To Femto Awareness Notifications.",
							"datatype": "boolean"
						},
						"QueryFemtocellResponseTimezone": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies whether the OPTIONAL Argument Timezone has to be used in Responses to Requests to Query Femtocell Status.",
							"datatype": "boolean"
						}
					},
					"Device.FAP.ApplicationPlatform.Control.SMS.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains parameters related to the SMS API.",
						"access": false,
						"array": false,
						"APIEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable SMS API exposure on FAP",
							"datatype": "boolean"
						},
						"QueueEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable Request queueing for the API",
							"datatype": "boolean"
						},
						"Queueing": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines how FAP handles simultaneous requests from different Applications to SMS API.",
							"datatype": "string",
							"enumerations": [
								"FiFo",
								"Priority"
							]
						},
						"MaxAPIUsersNumber": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines the Max Number of different Applications that can send Requests to SMS API.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"MinSendSMSTimeInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines the Minimum Time Interval in <<units>> between two consecutive Send SMS Requests by the same Application.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 3599
								}
							],
							"unit": "seconds"
						},
						"EnableQuerySMSDeliveryStatus": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable QuerySMSDeliveryStatus Operation on SMS API. When disabled, QuerySMSDeliveryStatus Requests to SMS API are ignored.",
							"datatype": "boolean"
						},
						"EnableSubscribeToNotificationsOfMessageSentToApplication": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable SubscribeToNotificationsOfMessageSentToApplication Operation on SMS API. When disabled, SubscribeTo NotificationsOfMessageSentToApplication Requests to SMS API are ignored.",
							"datatype": "boolean"
						}
					},
					"Device.FAP.ApplicationPlatform.Control.MMS.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains parameters related to the MMS API.",
						"access": false,
						"array": false,
						"APIEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable MMS API exposure on FAP",
							"datatype": "boolean"
						},
						"QueueEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable Request queueing for the API",
							"datatype": "boolean"
						},
						"Queueing": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines how FAP handles simultaneous requests from different Applications to MMS API.",
							"datatype": "string",
							"enumerations": [
								"FiFo",
								"Priority"
							]
						},
						"MaxAPIUsersNumber": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines the Max Number of different Applications that can send Requests to MMS API.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"MinSendMMSTimeInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines the Minimum Time Interval in <<units>> between two consecutive Send MMS Requests by the same Application.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 3599
								}
							],
							"unit": "seconds"
						},
						"EnableQueryMMSDeliveryStatus": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable QuerySMSDeliveryStatus Operation on MMS API. When disabled, QuerySMSDeliveryStatus Requests to MMS API are ignored.",
							"datatype": "boolean"
						},
						"EnableSubscribeToNotificationsOfMessageSentToApplication": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable SubscribeTo NotificationsOfMessageSentToApplication Operation on MMS API. When disabled, SubscribeTo NotificationsOfMessageSentToApplication Requests to MMS API are ignored.",
							"datatype": "boolean"
						}
					},
					"Device.FAP.ApplicationPlatform.Control.TerminalLocation.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains parameters related to the TerminalLocation API.",
						"access": false,
						"array": false,
						"APIEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable TerminalLocation API exposure on FAP",
							"datatype": "boolean"
						},
						"QueueEnable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enable or disable Request queueing for the API",
							"datatype": "boolean"
						},
						"Queueing": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines how FAP handles simultaneous requests from different Applications to TerminalLocation API.",
							"datatype": "string",
							"enumerations": [
								"FiFo",
								"Priority"
							]
						},
						"MaxAPIUsersNumber": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Determines the Max Number of different Applications that can send Requests to TerminalLocation API.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"QueryMobileLocationResponseAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies Terminal Address Format to be used in QueryMobileLocation Responses.",
							"datatype": "string",
							"enumerations": [
								"TelUri",
								"AnonymousReference"
							]
						},
						"QueryMobileLocationResponseLongitudeLatitude": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Include or exclude FAP Longitude and Latitude arguments in Responses to QueryMobileLocation Requests.",
							"datatype": "boolean"
						},
						"QueryMobileLocationResponseAltitude": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Include or exclude FAP Altitude argument in Responses to QueryMobileLocation Requests .",
							"datatype": "boolean"
						},
						"QueryMobileLocationResponseTimestamp": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies Response Timestamp in <<units>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 86399
								}
							],
							"unit": "seconds"
						}
					}
				},
				"Device.FAP.ApplicationPlatform.Monitoring.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object contains parameters related to the monitoring of the Femtozone Application Platform and the Femtozone APIs.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables and disables this entry.",
						"datatype": "boolean"
					},
					"MonitoringInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the interval in <<units>> used to collect the monitoring measurements.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"AuthenticationRequestsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the total number of authentication requests received by the Femto Application Platform. The counter will be reset whenever the device reboots or the <<param|Enable>> parameter is set to <<true>>.",
						"datatype": "unsignedInt"
					},
					"AuthenticationRequestsRejected": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the number of authentication requests received by the Femto Application Platform that were rejected. The counter will be reset whenever the device reboots or the <<param|Enable>> parameter is set to <<true>>.",
						"datatype": "unsignedInt"
					},
					"Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains parameters related to the Monitoring of the FemtoAwareness API.",
						"access": false,
						"array": false,
						"APIAvailable": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies whether the FemtoAwareness API is currently available on this device (the API could be disabled or could have exhausted its resources)",
							"datatype": "boolean"
						},
						"APIUsers": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the current number of Applications using the Femto Awareness API.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"QueueState": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the state of the Femto Awareness API Queue.",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Ready",
								"Flushed"
							]
						},
						"QueueNum": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the current number of requests waiting in the Femto Awareness API Queue.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"QueueReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the number of requests in the Femto Awareness API Queue that have been received. The counter will be reset whenever the device reboots or the <<param|#.Enable>> parameter is set to <<true>>.",
							"datatype": "unsignedInt"
						},
						"QueueDiscarded": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the number of requests in the Femto Awareness API Queue that have been discarded. The counter will be reset whenever the device reboots or the <<param|#.Enable>> parameter is set to <<true>>.",
							"datatype": "unsignedInt"
						}
					},
					"Device.FAP.ApplicationPlatform.Monitoring.SMS.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains parameters related to the Monitoring of the SMS API.",
						"access": false,
						"array": false,
						"APIAvailable": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies whether the SMS API is currently available on this device (the API could be disabled or could have exhausted its resources)..",
							"datatype": "boolean"
						},
						"APIUsers": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the current number of Applications using the SMS API.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"QueueState": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the state of the SMS API Queue.",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Ready",
								"Flushed"
							]
						},
						"QueueNum": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the current number of requests waiting in the SMS API Queue.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"QueueReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the number of requests in the SMS API Queue that have been received. The counter will be reset whenever the device reboots or the <<param|#.Enable>> parameter is set to <<true>>.",
							"datatype": "unsignedInt"
						},
						"QueueDiscarded": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the number of requests in the SMS API Queue that have been discarded. The counter will be reset whenever the device reboots or the <<param|#.Enable>> parameter is set to <<true>>.",
							"datatype": "unsignedInt"
						}
					},
					"Device.FAP.ApplicationPlatform.Monitoring.MMS.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains parameters related to the Monitoring of the MMS API.",
						"access": false,
						"array": false,
						"APIAvailable": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies whether the MMS API is currently available on this device (the API could be disabled or could have exhausted its resources)..",
							"datatype": "boolean"
						},
						"APIUsers": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the current number of Applications using the MMS API.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"QueueState": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the state of the MMS API Queue.",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Ready",
								"Flushed"
							]
						},
						"QueueNum": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the current number of requests waiting in the MMS API Queue.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"QueueReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the number of requests in the MMS API Queue that have been received. The counter will be reset whenever the device reboots or the <<param|#.Enable>> parameter is set to <<true>>.",
							"datatype": "unsignedInt"
						},
						"QueueDiscarded": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the number of requests in the MMS API Queue that have been discarded. The counter will be reset whenever the device reboots or the <<param|#.Enable>> parameter is set to <<true>>.",
							"datatype": "unsignedInt"
						}
					},
					"Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object contains parameters related to the Monitoring of the TerminalLocation API.",
						"access": false,
						"array": false,
						"APIAvailable": {
							"type": "boolean",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies whether the TerminalLocation API is currently available on this device (the API could be disabled or could have exhausted its resources)..",
							"datatype": "boolean"
						},
						"APIUsers": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the current number of Applications using the Terminal Location API.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"QueueState": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the state of the Terminal Location API Queue.",
							"datatype": "string",
							"enumerations": [
								"Disabled",
								"Ready",
								"Flushed"
							]
						},
						"QueueNum": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the current number of requests waiting in the Terminal Location API Queue.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"QueueReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the number of requests in the Terminal Location API Queue that have been received. The counter will be reset whenever the device reboots or the <<param|#.Enable>> parameter is set to <<true>>.",
							"datatype": "unsignedInt"
						},
						"QueueDiscarded": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Specifies the number of requests in the Terminal Location API Queue that have been discarded. The counter will be reset whenever the device reboots or the <<param|#.Enable>> parameter is set to <<true>>.",
							"datatype": "unsignedInt"
						}
					}
				}
			}
		},
		"Device.BulkData.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object provides bulk data collection capabilities and global collection settings that affect the entire device. Bulk Data utilizes various solutions (e.g., IPDR, HTTP) to collect data from devices and transfer the data to a collection server. The IPDR solution is based on a service specification described in <<bibref|TR-232>>. The HTTP solution is based on transfer mechanisms described in <<template|BULK-DATA-HTTP-REF>>. <<template|BULK-DATA-OPT-SOLNS>> The Bulk Data Collection Profiles are measured over a reporting interval (which can be aligned with absolute time) and are made available to the collection server.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables all collection profiles. If <<false>>, bulk data will not be collected or reported.",
				"datatype": "boolean"
			},
			"Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates the status of the Bulk Data Collection mechanism.",
				"datatype": "string",
				"enumerations": [
					"Enabled",
					"Disabled",
					"Error"
				]
			},
			"MinReportingInterval": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Minimum reporting interval in <<units>> that the CPE is capable of supporting. A value of 0 indicates no minimum reporting interval.",
				"datatype": "unsignedInt",
				"unit": "seconds"
			},
			"Protocols": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Represents the IPDR and transport protocols that this device is capable of supporting.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"Streaming",
						"File",
						"HTTP",
						"MQTT"
					]
				}
			},
			"EncodingTypes": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Represents the Encoding Types for the protocols that this device is capable of supporting.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"XML",
						"XDR",
						"CSV",
						"JSON"
					]
				}
			},
			"ParameterWildCardSupported": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "When <<true>>, the Device supports the use of wildcards to determine the parameters that are reported using a Profile.",
				"datatype": "boolean"
			},
			"MaxNumberOfProfiles": {
				"type": "int",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of profiles that can exist at any given time. Specifically, the maximum number of <<object|Profile.<i>.>> instances that the Controller can create. If the value of this parameter is -1, then it means that the CPE doesnt have a limit to the number of profiles that can exist.",
				"datatype": "int",
				"range": [
					{
						"min": -1
					}
				]
			},
			"MaxNumberOfParameterReferences": {
				"type": "int",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The maximum number of parameters that can be referenced via the bulk data collection mechanism. Specifically, the maximum number of parameters that can be referenced via <<param|Profile.<i>.Parameter.<i>.Reference>> across all Profile and Parameter instances (including the expansion of partial paths within the Reference parameter). If the value of this parameter is -1, then it means that the CPE doesnt have a limit to the number of parameter that can be referenced via the bulk data collection mechanism.",
				"datatype": "int",
				"range": [
					{
						"min": -1
					}
				]
			},
			"ProfileNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.BulkData.Profile.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "A set of Bulk Data Collection profiles. Each profile represents a bulk data report, including its own timing configuration, communications configuration, and set of parameters. This allows the Controller to configure multiple reports to be generated at different times for different sets of data.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this specific bulk data profile. If <<false>>, this profile will not be collected or reported.",
					"default": "false",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The name of the profile.",
					"datatype": "string",
					"range": [
						{
							"max": 255
						}
					]
				},
				"NumberOfRetainedFailedReports": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of failed reports to be retained and transmitted (in addition to the current report) at the end of the current reporting interval. If the value of the <<param|EncodingType>> parameter is modified any outstanding failed reports are deleted. If the CPE cannot retain the number of failed reports from previous reporting intervals while transmitting the report of the current reporting interval, then the oldest failed reports are deleted until the CPE is able to transmit the report from the current reporting interval. A value of 0 indicates that failed reports are not to be retained for transmission in the next reporting interval. A value of -1 indicates that the CPE will retain as many failed reports as possible.",
					"default": "0",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Bulk Data Protocol being used for this collection profile.",
					"datatype": "string"
				},
				"EncodingType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Bulk Data encoding type being used for this collection profile.",
					"datatype": "string"
				},
				"ReportingInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The reporting interval in <<units>>. Each report is generated based on this interval and <<param|TimeReference>>. The CPE MAY reject a request to set <<param>> to less than <<param|#.MinReportingInterval>>. Reporting intervals MUST begin every <<param>> <<units>>. If <<param>> is changed while collection is enabled, the first reporting interval begins immediately. For example, if <<param>> is 86400 (a day) and if <<param|TimeReference>> is set to UTC midnight on some day (in the past, present, or future) then the CPE will generate (and transmit) its report at midnight every 24 hours.",
					"default": "86400",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"TimeReference": {
					"type": "dateTime",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "An absolute time reference in UTC to determine when will be transmitted. Each reporting interval MUST complete at this reference time plus or minus an integer multiple of <<param|ReportingInterval>>, unless unable to due to higher prioritized operations. <<param>> is used only to set the phase of the reporting intervals. The actual value of <<param>> can be arbitrarily far into the past or future. If <<param>> is changed while collection of bulk data is enabled, the first reporting interval begins immediately. The Unknown Time value as defined in <<bibref|TR-106>> indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and is required only to adhere to the specified reporting intervals. If absolute time is not available to the CPE, its reporting interval behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value. For example, if <<param|ReportingInterval>> is 86400 (a day) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then the CPE will generate (and transmit, if in a ITPush mode) its report at midnight every 24 hours. Note that, if <<param>> is set to a time other than the Unknown Time, the first reporting interval (which has to begin immediately) will almost certainly be shorter than <<param|ReportingInterval>>). This is why <<param>> is defined in terms of when reporting intervals complete rather than start.",
					"default": "0001-01-01T00:00:00Z",
					"datatype": "dateTime"
				},
				"ParameterNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"StreamingHost": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the host name or IP Address of the IPDR Collector to be used by the CPE to stream bulk data records if this collection profile is configured for the IPDR Streaming Protocol <<bibref|IPDR-SP>> (the <<param|Protocol>> parameter has a value of <<enum|Streaming|#.Protocols>>).",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"StreamingPort": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the port number of the IPDR Collector to be used by the CPE to stream bulk data records if this collection profile is configured for the IPDR Streaming Protocol <<bibref|IPDR-SP>> (the <<param|Protocol>> parameter has a value of <<enum|Streaming|#.Protocols>>).",
					"default": "4737",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"StreamingSessionID": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the unique identification of an IPDR Session to be used when this collection profile is configured for the IPDR Streaming Protocol <<bibref|IPDR-SP>> (the <<param|Protocol>> parameter has a value of <<enum|Streaming|#.Protocols>>). A Controller MUST NOT configure multiple IPDR Streaming Protocol collection profiles with the same <<param>>. Doing so MUST cause the CPE to fail the SetParameterValues. Within the IPDR Streaming Protocol specification the Session ID has a type of a single char, but we are restricting the range even further (ASCII values of 0 - 9 and A - Z.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 48,
							"max": 57
						},
						{
							"min": 65,
							"max": 90
						}
					]
				},
				"FileTransferURL": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This is the <<datatype>> within the CPE that is used by an IPDR Collector to retrieve the IPDRDocs when this collection profile is configured for the IPDR File Transfer Protocol <<bibref|IPDR-FTP>> (the <<param|Protocol>> parameter has a value of <<enum|File|#.Protocols>>).",
					"datatype": "URL"
				},
				"FileTransferUsername": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Username used for authentication of the <<param|FileTransferURL>>. This is the <<param>> that the IPDR Collector uses to access the CPE when this collection profile is configured for the IPDR File Transfer Protocol <<bibref|IPDR-FTP>> (the <<param|Protocol>> parameter has a value of <<enum|File|#.Protocols>>).",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"FileTransferPassword": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Password used for authentication of the <<param|FileTransferURL>>. This is the <<param>> that the IPDR Collector uses to access the CPE when this collection profile is configured for the IPDR File Transfer Protocol <<bibref|IPDR-FTP>> (the <<param|Protocol>> parameter has a value of <<enum|File|#.Protocols>>).",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"ControlFileFormat": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If this collection profile is configured for the IPDR File Transfer Protocol <<bibref|IPDR-FTP>> (the <<param|Protocol>> parameter has a value of <<enum|File|#.Protocols>>) then the control file names will be of the following format: : <ControlFilePrefix>_<ControlFilePolicy>.<ControlFileSuffix> Where the following rules apply: * ControlFilePrefix MUST NOT contain an underscore _ or any other character not suitable for a file name. * ControlFilePolicy MUST contain one or more N characters, where the number of N characters denotes the number of digits in the sequence number, including leading zeros as necessary to match the number of N characters. * ControlFileSuffix is a file extension. For example, BulkData_NNNN.log where BulkData would be the prefix, NNNN would be the policy, and log would be the suffix. Files adhering to this file format would look like: BulkData_0000.log, BulkData_0001.log, etc.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"Controller": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<reference|the <<object|##.LocalAgent.Controller>> instance that created <<object>>|delete>> The value of this parameter is automatically populated by the USP Agent upon <<object>> creation using the reference to the USP Controller that created the instance. The USP Controller referenced by this parameter also defines the set of permissions to use when generating the Bulk Data report. Furthermore, only the USP Controller referenced by this parameter will receive a <<event|Push!>> Event (assuming it has an associated Subscription) when the Profile has <<param|Protocol>> configured to <<enum|USPEventNotif|Protocol>>, even if another USP Controller has an associated Subscription.",
					"datatype": "string"
				},
				"Push!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"Data": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The contents of the bulk data report in the configured CSV or JSON Encoding Type.",
							"datatype": "string"
						}
					}
				},
				"ForceCollection()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.BulkData.Profile.{i}.Parameter.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Bulk data parameter table. Each entry in this table represents a parameter (or set of parameters if a partial path is provided) to be either collected and reported, or omitted if <<param|Exclude>> is <<true>>.",
					"access": true,
					"array": true,
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the parameter in the report body. If the value of this parameter is <<empty>>, then the value of the <<param|Reference>> parameter is used as the name. When the value <<param|Reference>> parameter contains wildcards and/or partial parameter names, the rules for determining the value of this parameter are specified in <<template|BULK-DATA-WILD-REF>>.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Reference": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represents the parameter(s) that are part of this Bulk Data collection profile. The value MUST be a path name of a parameter or an object. When the <<param|##.ParameterWildCardSupported>> parameter has a value of <<true>>, patterns for instance identifiers are permitted with wildcards (an * character) in place of instance identifiers; any attempt to set the value otherwise MUST be rejected by the CPE. In the case where an Object Path is specified, the sub-objects of the resolved pattern and contained parameters will be part of the bulk data collected and reported. If the path name refers to an object then it MUST end with a ..",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Exclude": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, the entry is to be excluded from the report.",
						"default": "false",
						"datatype": "boolean"
					}
				},
				"Device.BulkData.Profile.{i}.CSVEncoding.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines the properties to be used when the <<object|##.Profile>> objects <<param|#.EncodingType>> parameter value is <<enum|CSV|##.EncodingTypes>>.",
					"access": false,
					"array": false,
					"FieldSeparator": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Field separator to use when encoding CSV data.",
						"default": ",",
						"datatype": "string"
					},
					"RowSeparator": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Row separator to use when encoding CSV data.",
						"default": " ",
						"datatype": "string"
					},
					"EscapeCharacter": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Escape character to use when encoding CSV data.",
						"default": "\"",
						"datatype": "string"
					},
					"ReportFormat": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter describes the formatting used for reports defined by this profile as described in <<template|BULK-DATA-CSV-REF>>. Note: This parameter is encoded as a token in the BBF-Report-Format header field and MUST NOT include spaces or other characters excluded from token characters defined in <<bibref|RFC2616>>.",
						"default": "ParameterPerColumn",
						"datatype": "string",
						"enumerations": [
							"ParameterPerRow",
							"ParameterPerColumn"
						]
					},
					"RowTimestamp": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The format of the timestamp to use for data inserted into the row.",
						"default": "Unix-Epoch",
						"datatype": "string",
						"enumerations": [
							"Unix-Epoch",
							"ISO-8601",
							"None"
						]
					}
				},
				"Device.BulkData.Profile.{i}.JSONEncoding.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines the properties to be used when the <<object|##.Profile>> objects <<param|#.EncodingType>> parameter value is <<enum|JSON|##.EncodingTypes>>.",
					"access": false,
					"array": false,
					"ReportFormat": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter describes the formatting used for the report as described in <<template|BULK-DATA-JSON-REF>>. Note: This parameter is encoded as a token in the BBF-Report-Format header field and MUST NOT include spaces or other characters excluded from token characters defined in <<bibref|RFC2616>>.",
						"default": "ObjectHierarchy",
						"datatype": "string",
						"enumerations": [
							"ObjectHierarchy",
							"NameValuePair"
						]
					},
					"ReportTimestamp": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The format of timestamp to use for the JSON Object named CollectionTime as described in <<template|BULK-DATA-JSON-REF>>.",
						"default": "Unix-Epoch",
						"datatype": "string",
						"enumerations": [
							"Unix-Epoch",
							"ISO-8601",
							"None"
						]
					}
				},
				"Device.BulkData.Profile.{i}.HTTP.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines the properties to be used when transporting bulk data using the HTTP/HTTPS protocol. This object is used when the <<param|#.Protocol>> parameter has a value of <<enum|HTTP|##.Protocols>>. For authentication purposes the CPE MUST support HTTP Basic and Digest Access Authentication as defined in <<bibref|RFC7617>> and <<bibref|RFC7616>>.",
					"access": false,
					"array": false,
					"URL": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<datatype>> for the collection server to receive the Bulk Data transmitted by the CPE.",
						"datatype": "URL"
					},
					"Username": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Username used to authenticate the CPE when making a connection to the collection server.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Password": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Password used to authenticate the CPE when making a connection to the collection server.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"CompressionsSupported": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the HTTP Compression mechanism(s) supported by this CPE for the purposes of transferring bulk data.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"GZIP",
								"Compress",
								"Deflate"
							]
						}
					},
					"Compression": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of this parameter represents the HTTP Compression mechanism to be used by the CPE when transferring data to the collection server.",
						"default": "None",
						"datatype": "string"
					},
					"MethodsSupported": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the HTTP method(s) supported by this CPE for the purposes of transferring bulk data.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"POST",
								"PUT"
							]
						}
					},
					"Method": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of this parameter represents the HTTP method to be used by the CPE when transferring data to the collection server.",
						"default": "POST",
						"datatype": "string"
					},
					"UseDateHeader": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, the CPE encodes the HTTP Date Header <<bibref|RFC2616|Section 14.18>> in the HTTP client request.",
						"default": "true",
						"datatype": "boolean"
					},
					"RetryEnable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, the CPE retries unsuccessful attempts to transfer data.",
						"default": "false",
						"datatype": "boolean"
					},
					"RetryMinimumWaitInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Configures the data transfer retry wait interval, in seconds, as specified in <<template|BULK-DATA-HTTP-RETRY-REF>>. The device MUST use a random value between <<param>> and (<<param>> * <<param|RetryIntervalMultiplier>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
						"default": "5",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"RetryIntervalMultiplier": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Configures the retry interval multiplier as specified in <<template|BULK-DATA-HTTP-RETRY-REF>>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. The device MUST use a random value between <<param|RetryMinimumWaitInterval>> and (<<param|RetryMinimumWaitInterval>> * <<param>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
						"default": "2000",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1000,
								"max": 65535
							}
						]
					},
					"RequestURIParameterNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"PersistAcrossReboot": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Determines whether or not data transfers that have failed are required to be persisted across reboots. If <<param>> is <<true>>, then failed data transfers MUST be persisted across reboots. If <<param>> is <<false>>, then failed data transfers are not required to be persisted across reboots.",
						"default": "false",
						"datatype": "boolean"
					},
					"Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents an instance of a parameter to be used in the report header used as part of the HTTP Request-URI transmitted by the CPE to the collection server using the Request-URI in addition to the parameters required by <<template|BULK-DATA-HTTP-QUERY-REF>>.",
						"access": true,
						"array": true,
						"Name": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Name of the Request-URI parameter. If <<param>> is <<empty>>, the name of the Request-URI parameter is the value of <<param|Reference>>.",
							"datatype": "string",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Reference": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The value MUST be the path name of a parameter to be used as the Request-URI parameter. If the value of this parameter is empty, then this object is not encoded in the report header.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				},
				"Device.BulkData.Profile.{i}.MQTT.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines the properties to be used when transporting bulk data using the MQTT protocol. This object is used when the <<param|#.Protocol>> parameter has a value of <<enum|MQTT|##.Protocols>>.",
					"access": false,
					"array": false,
					"Reference": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A reference to the MQTT Client used by this Bulk Data Collection Profile when communicating via the MQTT Protocol.",
						"datatype": "string"
					},
					"PublishTopic": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The topic name the Agent MUST use when sending the Bulk Data report.",
						"datatype": "string",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"PublishQoS": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Agent MUST use this QoS value when sending the Bulk Data report. If the referenced MQTT Client uses MQTT 5.0 and the MQTT server only indicates support for a QoS value in the CONNACK Maximum QoS property lower than this QoS value, the Agent MUST use the highest QoS value that is supported by the server.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 2
							}
						]
					},
					"PublishRetain": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If set to <<true>> the Agent MUST set the RETAIN flag in MQTT PUBLISH messages carrying the Bulk Data report to 1, unless the MQTT server sent Retain Available = 0 (MQTT 5.0) in its CONNACK (in which case, the Agent MUST set the RETAIN flag to 0).",
						"default": "false",
						"datatype": "boolean"
					}
				}
			}
		},
		"Device.SoftwareModules.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Top level object for dynamically managed software applications. Since Device:2.15, the Software Module data model has undergone significant enhancements, particularly in expanding support for new concepts, e.g. <<object|ExecEnvClass.<i>.>>, <<object|ExecEnv.<i>.ApplicationData.<i>.>>, <<object|ExecutionUnit.<i>.AutoRestart.>>, <<object|ExecutionUnit.<i>.NetworkConfig.>>, <<object|ExecutionUnit.<i>.HostObject.<i>>>, and <<object|ExecutionUnit.<i>.EnvVariable.<i>.>>. However, the CWMP protocol lacks native capabilities to dynamically manage these new concepts. At best, CWMP can be used to view the available configurations. For more dynamic and interactive management of these concepts, the USP protocol should be utilized.",
			"access": false,
			"array": false,
			"ExecEnvClassNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ExecEnvNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"DeploymentUnitNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ExecutionUnitNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"InstallDU()": {
				"type": "command",
				"async": true,
				"protocols": [
					"usp"
				],
				"input": {
					"URL": {
						"type": "string",
						"read": true,
						"write": true,
						"mandatory": true,
						"protocols": [
							"usp"
						],
						"description": "The <<datatype>> that specifies the location of the DU to be installed. The URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. Other optional transports MAY also be supported.",
						"datatype": "URL",
						"range": [
							{
								"max": 2048
							}
						]
					},
					"UUID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The UUID (see <<bibref|RFC4122>>) of the DU to be installed. If this parameter is <<empty>> the device MUST generate the UUID based on the rules defined in <<bibref|RFC4122>> and <<bibref|TR-181i2|Annex C>>.",
						"datatype": "UUID",
						"range": [
							{
								"min": 36,
								"max": 36
							}
						],
						"pattern": [
							"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
						]
					},
					"Username": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Username to be used by the device to authenticate with the file server, if authentication is required.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Password": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Password to be used by the device to authenticate with the file server, if authentication is required.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Privileged": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "This parameter indicates whether the containerized application runs in privileged mode. <<false>> - Unprivileged Container. <<true>> - Privileged Container.",
						"default": "false",
						"datatype": "boolean"
					},
					"NumRequiredUIDs": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"usp"
						],
						"description": "Number of UIDs (EU User Identifiers) that this container will need as part of its user namespace. UIDs are unique identifiers associated with each user and system process that is used to determine the allocation and isolation of system resources. <<deprecated|2.19|because this parameter should not be required.>>",
						"default": "1",
						"datatype": "unsignedInt"
					},
					"ExecutionEnvRef": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A reference to the Execution Environment upon which the DU is to be installed. If <<empty>> the device MUST choose the Execution Environment to use.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Signature": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The <<datatype>> which can be used to fetch the signature for this DU. The <<datatype>> may use the data scheme defined in <<bibref|RFC2397>> in order to incorporate the signature into the command directly. Several signature formats are in common use; the device may deduce the format used from the Content-Type of the retrieved object and/or by examining its content. The URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>. HTTPS transport MUST be supported. Other optional transports MAY be supported. The absence of this parameter indicates that the DU is unsigned. If this is contrary to the security policy of the device then the command will be rejected.",
						"datatype": "URL",
						"range": [
							{
								"max": 2048
							}
						]
					},
					"ShutdownDelay": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The delay in <<units>> before which the container is shutdown. This delay ensures that the application has enough time to perform any cleanup before the Execution Unit transitions to idle state. The default value is 10 seconds.",
						"default": "10",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RequiredRoles": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The roles which the application installed by this command will need to be assigned in order to be able to function at all. If any of these roles are not present in the <<param|#.ExecEnv.<i>.AvailableRoles>> of the <<object|#.ExecEnv>> into which the DU is to be installed then the command will fail. Some Agents may apply further filtering for roles which are considered security- or privacy-sensitive. Each entry in the list is the Name of a row in <<object|##.LocalAgent.ControllerTrust.Role>>. If there is no such row then the command will fail, as installation requires a role which is not available on the Device. If this argument is absent or empty then no roles are required in order for the application to function.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"OptionalRoles": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The additional roles which the application installed by this command would need to be assigned in order to be able to provide its full functionality. Each entry in the list is the Name of a row in <<object|##.LocalAgent.ControllerTrust.Role>>. If there is no such row, or the matching row is not present in the <<param|#.ExecEnv.<i>.AvailableRoles>> of the Execution Environment into which the DU is to be installed, then the entry will be ignored. Some Agents may apply further filtering for roles which are considered security- or privacy-sensitive. If this argument is absent or empty then no additional roles are required in order for the application to be able to provide its full functionality.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"RequiredUserRoles": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The User Roles which the application installed by this command will need to be assigned in order to be able to function at all. If any of these User Roles are not present in the <<param|#.ExecEnv.<i>.AvailableUserRoles>> of the <<object|#.ExecEnv>> into which the DU is to be installed then the command will fail. Some Agents may apply further filtering for User Roles which are considered security- or privacy-sensitive. Each entry in the list is the Name of a row in <<object|##.Users.Role>>. If there is no such row then the command will fail, as installation requires a User Role which is not available on the Device. If this argument is absent or empty then no User Roles are required in order for the application to function.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"RegisterTrustPaths": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Each entry in the list is an Object Path, Command Path, Event Path, or Parameter Path that determines the element(s) of the data model that the the application installed by this command has permission to register. The information provided in this input arguement is placed in the <<object|##.USPServices.Trust>> table. If this argument is absent or empty then the application has no permission to register any data model paths.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"ModuleVersion": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Version of the <<object>> as optionally set by the Controller.",
						"datatype": "string",
						"range": [
							{
								"max": 32
							}
						]
					}
				},
				"output": {
					"UUID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The Universally Unique Identifier that was either provided by the Controller, or generated by the device, when this Deployment Unit was installed. The format of this value is defined by <<bibref|RFC4122>> Version 5 (Name-Based) and <<bibref|TR-181i2|Annex C>>.",
						"datatype": "UUID",
						"range": [
							{
								"min": 36,
								"max": 36
							}
						],
						"pattern": [
							"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
						]
					},
					"Version": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Version of the installed Deployment Unit. The format of this value is Execution Environment specific.",
						"datatype": "string",
						"range": [
							{
								"max": 32
							}
						]
					},
					"ExecEnvRef": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A reference to the <<object|##.ExecEnv>> where the Deployment Unit was installed.",
						"datatype": "string"
					}
				}
			},
			"DUStateChange!": {
				"type": "event",
				"protocols": [
					"usp"
				],
				"output": {
					"UUID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The UUID as defined in <<bibref|RFC4122>> of the DU that affected by the state change.",
						"datatype": "UUID",
						"range": [
							{
								"min": 36,
								"max": 36
							}
						],
						"pattern": [
							"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
						]
					},
					"DeploymentUnitRef": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A reference to the DU that was affected by the state change.",
						"datatype": "string"
					},
					"Version": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "In the case of an Install, this will be the version of the DU created. In the case of an Update, it will be the updated version of the DU. In the case of an Uninstall, it will be the version of the uninstalled DU. This MUST match the <<param|#.DeploymentUnit.<i>.Version>> Parameter contained within the instance of the DeploymentUnit that is contained within the <<param|DeploymentUnitRef>> argument.",
						"datatype": "string",
						"range": [
							{
								"max": 32
							}
						]
					},
					"CurrentState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The current state of the created DU.",
						"datatype": "string",
						"enumerations": [
							"Installed",
							"UnInstalled",
							"Uninstalled",
							"Failed"
						]
					},
					"Resolved": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Whether or not the DU operation resolved all of its dependencies. In the case of a successful Uninstall, this value is meaningless and should be <<true>>.",
						"datatype": "boolean"
					},
					"ExecutionUnitRefList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The Execution Units affected by this operation. In the case of an Install, this will be the list of EUs that were created as a result of the DU\u2019s installation. In the case of an Update, this will be the list of all EUs currently associated with the updated DU, including those that were created through the initial DU installation and any updates that had already occurred but not including any EUs that no longer exist on the device because of this or previous updates. In the case of an Uninstall, this will be the list of the EUs removed from the device due to the DU being removed.",
						"list": {
							"datatype": "string"
						}
					},
					"StartTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The date and time transfer was started in UTC. The device SHOULD record this information and report it in this argument, but if this information is not available, the value of this argument MUST be set to the Unknown Time value.",
						"datatype": "dateTime"
					},
					"CompleteTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The date and time the transfer was fully completed and applied in UTC. This need only be filled in if the transfer has been fully completed and applied. The device SHOULD record this information and report it in this argument, but if this information is not available or the transfer has not completed, the value of this argument MUST be set to the Unknown Time value.",
						"datatype": "dateTime"
					},
					"OperationPerformed": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The operation that was performed against the DU causing the DU state change.",
						"datatype": "string",
						"enumerations": [
							"Install",
							"Update",
							"Uninstall"
						]
					}
				}
			},
			"Device.SoftwareModules.ExecEnvClass.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table lists the kinds of Execution Environments which are available in this device. Rows in this table may possibly be be added, modified, or removed by as a result of respectively installing, updating, or removing a <<object|#.DeploymentUnit>>.",
				"uniqueKeys": [
					"Alias",
					"Vendor",
					"Name",
					"Version"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Name of this <<object>> as specified by the Vendor that implemented this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Vendor": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The author of this <<object>> formatted as a fully qualified domain name.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Version of this <<object>> as specified by the Vendor that implemented this <<object>>. Vendors are encouraged to use Semantic Versioning.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"DeploymentUnitRef": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A reference to the DeploymentUnit (if any) by which this <<object>> was created.",
					"datatype": "string"
				},
				"CapabilityNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"AddExecEnv()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "An optional input the Controller can use to specify the <<param|###.ExecEnv.<i>.Alias>> value for the new instance. If provided as an input and the value already exists in <<object|###.ExecEnv.<i>>>, this command will fail.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Suggested value for the <<param|###.ExecEnv.<i>.Name>> of the new instance. If provided as an input and the value already exists in <<object|###.ExecEnv.<i>>>, this command will fail.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ParentExecEnv": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The ExecEnv instance of which the new instance should be a child.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"AvailableRoles": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The roles which are available to Deployment Units installed into the new instance. Only the listed roles may be assigned to any DeploymentUnit installed into the instance. If this parameter is missing or <<empty>> then no roles may be assigned to any DeploymentUnit installed into the instance. Each entry in the list is the Name of a row in <<object|###.LocalAgent.ControllerTrust.Role>>. If there is no such row then the entry will be ignored.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"AvailableUserRoles": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The User Roles which are available to Deployment Units installed into the new instance. Only the listed User Roles may be assigned to any DeploymentUnit installed into the instance. If this parameter is missing or <<empty>> then no User Roles may be assigned to any DeploymentUnit installed into the instance. Each entry in the list is the Name of a row in <<object|###.Users.Role>>. If there is no such row then the entry will be ignored.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If this parameter is present and is <<true>>, the created ExecEnv will have its <<param|##.ExecEnv.<i>.Enable>> flag set <<true>> and it will immediately transition to Status <<enum|Up|##.ExecEnv.<i>.Status>>. Otherwise the ExecEnv will initially be Disabled, allowing the Controller to set further parameters before enabling the ExecEnv.",
							"default": "true",
							"datatype": "boolean"
						},
						"AllocatedDiskSpace": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The amount of disk space measured in <<units>> allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							],
							"unit": "KiB"
						},
						"AllocatedMemory": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The amount of physical RAM measured in <<units>> allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							],
							"unit": "KiB"
						},
						"AllocatedCPUPercent": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The percentage of CPU time allocated to this ExecEnv, i.e. the percentage of the whole CPU (all cores) which is available to the parent ExecEnv (the primary firmware owns 100<<units>> of CPU). A value of -1 indicates that this parameter is not applicable.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1,
									"max": 100
								}
							],
							"unit": "%"
						}
					},
					"output": {
						"ExecEnvRef": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "A reference to the <<object|##.ExecEnv>> which was created.",
							"datatype": "string"
						}
					}
				},
				"Device.SoftwareModules.ExecEnvClass.{i}.Capability.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The standard(s) describing the kinds of <<object|##.DeploymentUnit>> which can be installed into instances of this <<object|#>>.",
					"uniqueKeys": [
						"Specification",
						"SpecificationVersion"
					],
					"access": false,
					"array": true,
					"Specification": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The specification which describes the format of the <<object|##.DeploymentUnit>>.",
						"datatype": "string",
						"enumerations": [
							"OCIImage",
							"VMRawImage",
							"OSGiBundle",
							"JAR",
							"WAR"
						]
					},
					"SpecificationVersion": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Version of the Specification which is supported by this <<object|#>>. If this parameter begins with the character ( or [ then it MUST end with the character ) or ] and it indicates a version range which may be interpreted following Semantic Versioning rules. Otherwise it indicates the latest version of the specification which is known to be supported by this <<object|#>>.",
						"datatype": "string",
						"range": [
							{
								"max": 32
							}
						]
					},
					"SpecificationURI": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The URI where of the definition of the Specification may be found.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				}
			},
			"Device.SoftwareModules.ExecEnv.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The Execution Environments that are available on the device, along with their properties and configurable settings.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether or not this <<object>> is enabled. Disabling an enabled Execution Environment stops it, while enabling a disabled Execution Environment starts it. When an Execution Environment is disabled, Deployment Units installed to that Execution Environment will be unaffected, but any Execution Units currently running on that Execution Environment will automatically transition to <<enum|Idle|#.ExecutionUnit.<i>.Status>>. If a ChangeDUState is attempted on a <<object|#.DeploymentUnit>> that is to be applied against a disabled <<object>>, that ChangeDUState operation fails and the associated DUStateChangeComplete RPC will contain a FaultStruct for that operation. If a SetParameterValues is attempted against the <<param|#.ExecutionUnit.<i>.RequestedState>> for an <<object|#.ExecutionUnit>> that is associated with a disabled <<object>> a CWMP Fault will be issued in response. Disabling an Execution Environment could place the device in a non-manageable state. For example, if the operating system itself was modeled as an <<object>> and the ACS disabled it, the CWMP management agent might be terminated leaving the device unmanageable.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the status of this <<object>>.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Error",
						"Disabled"
					]
				},
				"Reset": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Setting this parameter to <<true>> causes this <<object>> to revert back to the state it was in when the device last issued a 0 BOOTSTRAP Inform event. The following requirements dictate what MUST happen for the reset to be complete: # All Deployment Units that were installed after the last 0 BOOTSTRAP Inform event MUST be removed # All persistent storage, configuration files, and log files that were associated with the removed Deployment Units MUST be removed # Any Deployment Unit that is still installed against the Execution Environment MUST be restored to the version present when the last 0 BOOTSTRAP Inform event was issued # Any Deployment Unit that was present when the last 0 BOOTSTRAP Inform event was issued, but was subsequently uninstalled and is now not present, MUST be installed with the version that was present when the last 0 BOOTSTRAP Inform event was issued # The Execution Environment MUST be restored to the version and configuration present when the last 0 BOOTSTRAP Inform event was issued # The Execution Environment MUST be restarted after all other restoration requirements have been met",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A Name provided by the device that adequately distinguishes this <<object>> from all other <<object>> instances.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the complete type and specification version of this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"InitialRunLevel": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The run level that this <<object>> will be in upon startup (whether that is caused by a device Boot or the Execution Environment starting). Run levels dictate which Execution Units will be started. Execution Units will be started if <<param|CurrentRunLevel>> is greater than or equal to <<param|#.ExecutionUnit.<i>.RunLevel>> and <<param|#.ExecutionUnit.<i>.AutoStart>> is <<true>>. If the value of <<param|CurrentRunLevel>> is -1, then the value of this parameter is irrelevant when read and setting its value has no impact on the Run Level of this <<object>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"RequestedRunLevel": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Provides a mechanism to remotely manipulate the run level of this <<object>>, meaning that altering this parameters value will change the value of the <<param|CurrentRunLevel>>. Run levels dictate which Execution Units will be started. Execution Units will be started if <<param|CurrentRunLevel>> is greater than or equal to <<param|#.ExecutionUnit.<i>.RunLevel>> and <<param|#.ExecutionUnit.<i>.AutoStart>> is <<true>>. Setting this value when <<param|CurrentRunLevel>> is -1 has no impact to the Run Level of this <<object>>.",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"CurrentRunLevel": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The run level that this <<object>> is currently operating in. This value is altered by changing the <<param|RequestedRunLevel>> parameter. Upon startup (whether that is caused by a CPE Boot or the Execution Environment starting) <<param>> will be equal to <<param|InitialRunLevel>>, unless Run Levels are not supported by this <<object>> in which case <<param>> will be -1. Run levels dictate which Execution Units will be started. Execution Units will be started if <<param>> is greater than or equal to <<param|#.ExecutionUnit.<i>.RunLevel>> and <<param|#.ExecutionUnit.<i>.AutoStart>> is <<true>>. If <<param>> is -1 then Run Levels are not supported by this <<object>> and setting <<param|InitialRunLevel>> or <<param|RequestedRunLevel>> will not impact the Run Level of this <<object>>.",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"InitialExecutionUnitRunLevel": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the initial value on creation for <<param|#.ExecutionUnit.<i>.RunLevel>> for all Execution Unit instances associated with this <<object>>. If the value of <<param|CurrentRunLevel>> is -1, then the value of this parameter is irrelevant when read and setting its value has no impact on the Run Level of any Execution Unit.",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 65535
						}
					]
				},
				"Vendor": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The vendor that produced this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Version of this <<object>> as specified by the Vendor that implemented this <<object>>, not the version of the specification.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"ParentExecEnv": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the parent <<object>> of this <<object>>. If this value is <<empty>> then this is the Primary Execution Environment.",
					"datatype": "string"
				},
				"AllocatedDiskSpace": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The amount of disk space measured in <<units>> allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "KiB"
				},
				"AllocatedMemory": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The amount of physical RAM measured in <<units>> allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "KiB"
				},
				"AllocatedCPUPercent": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The percentage of CPU time allocated to this ExecEnv, i.e. the percentage of the whole CPU (all cores) which is available to the parent ExecEnv (the primary firmware owns 100<<units>> of CPU). A value of -1 indicates that this parameter is not applicable.",
					"default": "-1",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 100
						}
					],
					"unit": "%"
				},
				"AvailableDiskSpace": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The amount of disk space measured in <<units>> currently available to this <<object>>. This value changes as the <<object|#.ExecutionUnit>> instances associated with this <<object>> consumes disk space. A value of -1 MUST be used for <<object>> instances where this parameter is not applicable.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "KiB"
				},
				"AvailableMemory": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The amount of physical RAM measured in <<units>> currently available to this <<object>>. This value changes as the <<object|#.ExecutionUnit>> instances associated with this <<object>> are started/stopped and consume the physical RAM. A value of -1 MUST be used for <<object>> instances where this parameter is not applicable.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "KiB"
				},
				"AvailableCPUPercent": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The fraction (in <<units>>) of CPU time currently available to this <<object>>. This value changes as the <<object|#.ExecutionUnit>> instances associated with this <<object>> are started/stopped and consume the CPU. A value of -1 MUST be used for <<object>> instances where this parameter is not applicable.",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 100
						}
					],
					"unit": "%"
				},
				"ActiveExecutionUnits": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the <<object|#.ExecutionUnit>> instances currently running on this <<object>>. This parameter only contains <<object|#.ExecutionUnit>> instances that currently have a <<param|#.ExecutionUnit.<i>.Status>> of <<enum|Active|#.ExecutionUnit.<i>.Status>>.",
					"list": {
						"datatype": "string"
					}
				},
				"ProcessorRefList": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the processors that this <<object>> has available to it. <<deprecated|2.18|because the referenced object,<<object|##.DeviceInfo.Processor.>>, is deprecated.>>",
					"list": {
						"datatype": "string"
					}
				},
				"CreatedAt": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The time and date at which this <<object>> was created. If the <<object>> is provided by the primary firmware of the device then this parameter SHOULD be set to <<null>>.",
					"datatype": "dateTime"
				},
				"ExecEnvClassRef": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object|#.ExecEnvClass>> of which this <<object>> is an instance.",
					"datatype": "string"
				},
				"ApplicationDataNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"RestartReason": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "This parameter is set each time the <<object>> is restarted. It is cleared each time that parameter <<param|Enable>> is set <<false>> for any reason other than a restart of the <<object>>. If the restart was the result of invoking the <<command|Restart()>> command then the value will be taken from the Reason parameter of the command.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"RestartCount": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The number of times the <<object>> has been restarted since it was last disabled.",
					"datatype": "unsignedInt"
				},
				"LastRestarted": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The time at which the <<object>> was last restarted. Initially this parameter is set to the Unknown Time (0001-01-01T00:00:00Z).",
					"datatype": "dateTime"
				},
				"Signers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "If the device stores the acceptable public keys for signing in X.509 certificates, this parameter identifies which certificates contain public keys which can be used to verify the signature of a DeploymentUnit. Not all devices will use X.509 certificates to store the public keys. In devices which do not use X.509 certificates for this purpose, this parameter will be empty.",
					"list": {
						"datatype": "string"
					}
				},
				"AvailableRoles": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The roles which are available to Deployment Units installed into this <<object>>. Only the listed roles may be assigned to any DeploymentUnit. If this parameter is missing or <<empty>> then no roles will be assigned to any DeploymentUnit installed into this <<object>>.",
					"list": {
						"datatype": "string"
					}
				},
				"AvailableAccessInterfaces": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Represents the network interface through which the outgoing traffic from the ExecutionUnit running in this <<object>> may be allowed. This value can be altered by executing the <<command|ModifyAvailableAccessInterfaces()>>.",
					"list": {
						"datatype": "string"
					}
				},
				"AvailableUserRoles": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The User Roles which are available to Deployment Units installed into this <<object>>. Only the listed User Roles may be assigned to a DeploymentUnit. If this parameter is missing or <<empty>> then no User Roles will be available to Deployment Units installed into this <<object>>.",
					"list": {
						"datatype": "string"
					}
				},
				"SetRunLevel()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"RequestedRunLevel": {
							"type": "int",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter will request to change the value of the <<param|#.CurrentRunLevel>> to the value of this parameter. Setting this value when <<param|#.CurrentRunLevel>> is -1 has no impact to the Run Level of this instance of the <<object|##.>> object.",
							"datatype": "int",
							"range": [
								{
									"min": -1,
									"max": 65535
								}
							]
						}
					}
				},
				"ModifyConstraints()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Force": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Determines the behavior if a request is made which would reduce the allocation of a resource below the amount which is currently being used. If <<param>> is <<false>> and any of the other parameters specify a value which is less than the amount of the resource which is currently being consumed, the Agent SHOULD reject the request with error code 7022 and leave all resource allocations unchanged. if <<param>> is <<true>> and any of the other parameters specify a value which is less than the amount of the resource which is currently being consumed, the Agent MAY take steps to reduce the resource consumption accordingly. These steps might include forcing a restart of individual ExecutionUnits or of the whole <<object>>. Use of Force = true may therefore lead to unpredictable behaviour.",
							"default": "false",
							"datatype": "boolean"
						},
						"AllocatedDiskSpace": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The amount of disk space measured in <<units>> allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							],
							"unit": "KiB"
						},
						"AllocatedMemory": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The amount of physical RAM measured in <<units>> allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1
								}
							],
							"unit": "KiB"
						},
						"AllocatedCPUPercent": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The percentage of CPU time allocated to this ExecEnv, i.e. the percentage of the whole CPU (all cores) which is available to the parent ExecEnv (the primary firmware owns 100<<units>> of CPU). A value of -1 indicates that this parameter is not applicable.",
							"default": "-1",
							"datatype": "int",
							"range": [
								{
									"min": -1,
									"max": 100
								}
							],
							"unit": "%"
						}
					}
				},
				"ModifyAvailableRoles()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"AvailableRoles": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The new list of roles which may be assigned to any DeploymentUnit installed into the <<object>>; this list replaces the previous value of <<param|#.AvailableRoles>>. If this parameter is <<empty>> then no roles may be assigned to any DeploymentUnit installed into the <<object>>. Each entry in the list is the Name of a row in <<object|###.LocalAgent.ControllerTrust.Role>>.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"AvailableUserRoles": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The new list of User Roles which may be assigned to a DeploymentUnit installed into the <<object>>; this list replaces the previous value of <<param|#.AvailableUserRoles>>. If this parameter is <<empty>> then no User Roles can be assigned to a DeploymentUnit installed into the <<object>>. Each entry in the list is the Name of a row in <<object|###.Users.Role>>.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					}
				},
				"ModifyAvailableAccessInterfaces()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"AccessInterfaces": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The new list of access interfaces which may be assigned to any DeploymentUnit installed into the <<object>> this list replaces the previous value of <<param|#.AvailableAccessInterfaces>>. If this parameter is an empty string then no access interface may be assigned to any DeploymentUnit installed into the <<object>>. Each entry in the list is the Name of a row in <<object|.Logical.Interface>>.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					}
				},
				"Restart()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Reason": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Textual description of the reason why this ExecEnv is being restarted. This will be copied into the <<param|##.RestartReason>> of the <<object|#>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Force": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If this parameter is set to true, the implementation MAY take extra steps to ensure that all Execution Units transition to <<enum|Idle|##.ExecutionUnit.<i>.Status>> within finite time.",
							"default": "false",
							"datatype": "boolean"
						}
					}
				},
				"Reset()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					]
				},
				"Remove()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"Force": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If this parameter is present and is <<true>>, the ExecEnv will be removed even if one or more DU is installed in it. A <<event|###.DUStateChange!>> Event with <<param|###.DUStateChange!.OperationPerformed>> set to <<enum|Uninstall|###.DUStateChange!.OperationPerformed>> will be issued for each DU which is removed as a result of the operation. Any Application Data associated with the DU will be lost. If this parameter is absent or <<false>>, the operation will fail if any DU is installed in the EE; in the case of such a failure the EE will continue to exist and its Status will not change, nor will any Application Data be lost.",
							"default": "false",
							"datatype": "boolean"
						}
					}
				},
				"Restarted!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"RestartTime": {
							"type": "dateTime",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The time at which the restart was initiated.",
							"datatype": "dateTime"
						},
						"RestartReason": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If the restart was initiated by a an invocation of the <<command|#.Restart()>> command then this parameter is copied from the Reason parameter of that command.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				},
				"Device.SoftwareModules.ExecEnv.{i}.ApplicationData.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The ApplicationData volumes which currently exist within this ExecEnv.",
					"uniqueKeys": [
						"Alias",
						"ApplicationUUID",
						"Name"
					],
					"access": false,
					"array": true,
					"Name": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A name which is assigned to the ApplicationData instance at the time of its creation, which distinguishes it from any other application data volumes owned by the same application.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Capacity": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Storage capacity of the volume, in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "MiB"
					},
					"Encrypted": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Whether the data is stored on an encrypted medium.",
						"datatype": "boolean"
					},
					"Retain": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The level of persistency of the volume.",
						"datatype": "string",
						"enumerations": [
							"UntilStopped",
							"Forever"
						]
					},
					"AccessPath": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The path by which the Execution Units created by the Deployment Unit may access the storage volume.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"ApplicationUUID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<param|##.DeploymentUnit.<i>.UUID>> of the <<object|##.DeploymentUnit>> for which this volume was created. This parameter retains its value so long as the <<object>> instance continues to exist, even if the <<object|##.DeploymentUnit>> is not currently installed.",
						"datatype": "UUID",
						"range": [
							{
								"min": 36,
								"max": 36
							}
						],
						"pattern": [
							"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
						]
					},
					"Utilization": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The amount of data which is currently stored in this volume, in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "MiB"
					},
					"Remove()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.SoftwareModules.DeploymentUnit.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table serves as the Deployment Unit inventory and contains status information about each Deployment Unit. A new instance of this table gets created during the installation of a Software Module.",
				"uniqueKeys": [
					"UUID",
					"Version",
					"ExecutionEnvRef",
					"Alias"
				],
				"access": false,
				"array": true,
				"UUID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A Universally Unique Identifier either provided by the Controller, or generated by the device, at the time of Deployment Unit Installation. The format of this value is defined by <<bibref|RFC4122>> Version 5 (Name-Based) and <<bibref|TR-181i2|Annex C>>. This value MUST NOT be altered when the <<object>> is updated.",
					"datatype": "UUID",
					"range": [
						{
							"min": 36,
							"max": 36
						}
					],
					"pattern": [
						"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
					]
				},
				"DUID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Deployment Unit Identifier chosen by the targeted <<object|#.ExecEnv>>. The format of this value is Execution Environment specific.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the Name of this <<object>>, which is chosen by the author of the Deployment Unit. The value of this parameter is used in the generation of the <<param|UUID>> based on the rules defined in <<bibref|TR-181i2|Annex C>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the status of this <<object>>.",
					"datatype": "string",
					"enumerations": [
						"Installing",
						"Installed",
						"Updating",
						"Uninstalling",
						"Uninstalled"
					]
				},
				"Resolved": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether or not this <<object>> has resolved all of its dependencies.",
					"datatype": "boolean"
				},
				"URL": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Contains the <<datatype>> used by the most recent ChangeDUState RPC to either Install or Update this <<object>>.",
					"datatype": "URL"
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Textual description of this <<object>>. The format of this value is Execution Environment specific.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Vendor": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The author of this <<object>> formatted as a domain name. The value of this parameter is used in the generation of the <<param|UUID>> based on the rules defined in <<bibref|TR-181i2|Annex C>>.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Version of this <<object>>. The format of this value is Execution Environment specific.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"VendorLogList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the vendor log files that have come into existence because of this <<object>>. This does not include any vendor log files that have come into existence because of <<object|#.ExecutionUnit>> instances that are contained within this <<object>>. When this <<object>> is uninstalled the vendor log files referenced here SHOULD be removed from the device. Not all <<object>> instances will actually have a corresponding vendor log file, in which case the value of this parameter will be <<empty>>.",
					"list": {
						"datatype": "string"
					}
				},
				"VendorConfigList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the vendor config files that have come into existence because of this <<object>>. This does not include any vendor config files that have come into existence because of <<object|#.ExecutionUnit>> instances that are contained within this <<object>>. When this <<object>> is uninstalled the vendor config files referenced here SHOULD be removed from the device. Not all <<object>> instances will actually have a corresponding vendor config file, in which case the value of this parameter will be <<empty>>.",
					"list": {
						"datatype": "string"
					}
				},
				"ExecutionUnitList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the <<object|#.ExecutionUnit>> instances that are associated with this <<object>> instance.",
					"list": {
						"datatype": "string"
					}
				},
				"ExecutionEnvRef": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the <<object|#.ExecEnv>> instance where this <<object>> instance is installed.",
					"datatype": "string"
				},
				"Installed": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Documents when this <<object>> instance was installed.",
					"datatype": "dateTime"
				},
				"LastUpdate": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Documents when this <<object>> instance was last updated.",
					"datatype": "dateTime"
				},
				"InternalController": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The internal Controller which the application installed by this <<object>> uses to access the Data Model. Will be <<empty>> if the application does not require Data Model access.",
					"datatype": "string"
				},
				"ModuleVersion": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Version of the <<object>> as optionally set by the Controller during <<command|#.InstallDU()>> command or <<command|Update()>>.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"Update()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"URL": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The <<datatype>> that specifies the location of the DU to be installed. The URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. Other optional transports MAY also be supported. If the device receives an Update command with the same source URL as a previous Update or Install command, the device MUST perform each Update as requested, and MUST NOT assume that the content of the file to be downloaded is the same each time.",
							"datatype": "URL",
							"range": [
								{
									"max": 2048
								}
							]
						},
						"Username": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Username to be used by the device to authenticate with the file server, if authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Password": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Password to be used by the device to authenticate with the file server, if authentication is required.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Privileged": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter determines whether the containerized application runs in privileged mode. <<false>> - Unprivileged Container. <<true>> - Privileged Container.",
							"default": "false",
							"datatype": "boolean"
						},
						"NumRequiredUIDs": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "Number of UIDs (EU User Identifiers) that this container will need as part of its user namespace. UIDs are unique identifiers associated with each user and system process that is used to determine the allocation and isolation of system resources. <<deprecated|2.19|because this parameter should not be required.>>",
							"default": "1",
							"datatype": "unsignedInt"
						},
						"Signature": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The <<datatype>> which can be used to fetch the signature for this DU. The <<datatype>> may use the data scheme defined in <<bibref|RFC2397>> in order to incorporate the signature into the command directly. Several signature formats are in common use; the device may deduce the format used from the Content-Type of the retrieved object and/or by examining its content. The URL MUST NOT include the userinfo component, as defined in <<bibref|RFC3986>>. HTTPS transport MUST be supported. Other optional transports MAY be supported. The absence of this parameter indicates that the DU is unsigned. If this is contrary to the security policy of the device then the command will be rejected.",
							"datatype": "URL",
							"range": [
								{
									"max": 2048
								}
							]
						},
						"RequiredRoles": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If this argument is present, it lists the roles which the application will need to be assigned in order to be able to function at all after this update. If it is absent then the required roles are unchanged from the previous version. If any of these roles are not present in the <<param|##.ExecEnv.<i>.AvailableRoles>> of the <<object|###.ExecEnv>> in which the DU is installed then the command will fail. Some Agents may apply further filtering for roles which are considered security- or privacy-sensitive. Each entry in the list is the Name of a row in <<object|###.LocalAgent.ControllerTrust.Role>>. If there is no such row then the command will fail, as installation requires a role which is not available on the Device. If this argument is empty then no roles are required in order for the application to function.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"OptionalRoles": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If this argument is present, it lists the additional roles which the application would need to be assigned in order to be able to provide its full functionality after this update. If it is absent then the required roles are unchanged from the previous version. Each entry in the list is the Name of a row in <<object|###.LocalAgent.ControllerTrust.Role>>. If there is no such row, or the matching row is not present in the <<param|##.ExecEnv.<i>.AvailableRoles>> of the Execution Environment into which the DU is to be installed, then the entry will be ignored. Some Agents may apply further filtering, for roles which are considered security- or privacy-sensitive. If this argument is empty then no additional roles are required in order for the application to be able to provide its full functionality.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"RequiredUserRoles": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If this argument is present, it lists the User Roles which the application will need to be assigned in order to be able to function at all after this update. If it is absent then the required User Roles are unchanged from the previous version. If any of these User Roles are not present in the <<param|##.ExecEnv.<i>.AvailableUserRoles>> of the <<object|###.ExecEnv>> in which the DU is installed then the command will fail. Some Agents may apply further filtering for User Roles which are considered security- or privacy-sensitive. Each entry in the list is the Name of a row in <<object|###.Users.Role>>. If there is no such row then the command will fail, as installation requires a User Role which is not available on the Device. If this argument is <<empty>> then no User Roles are required in order for the application to function.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"RegisterTrustPaths": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Each entry in the list is an Object Path, Command Path, Event Path, or Parameter Path that determines the element(s) of the data model that the application updated by this command has permission to register. The information provided in this input argument is placed in the <<object|###.USPServices.Trust>> table, replacing any existing paths that are associated with this application. If this argument is absent then the registration permissions are unchanged from the previous version. If this argument is <<empty>> then the application has no permission to register any data model paths.",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"RetainData": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This argument only has an effect if the UUID of the DeploymentUnit matches the ApplicationUUID of one or more rows in the <<object|Device.SoftwareModules.ExecEnv.<i>.ApplicationData>> table which have the Retain parameter set to <<enum|Forever|Device.SoftwareModules.ExecEnv.<i>.ApplicationData.<i>.Retain>>. If this is the case then the data held in these volumes will be preserved across the operation if and only if <<param>> is set <<true>>.",
							"default": "false",
							"datatype": "boolean"
						},
						"ModuleVersion": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Version of the <<object>> as optionally set by the Controller. When the argument is absent then <<param>> is unchanged.",
							"datatype": "string",
							"range": [
								{
									"max": 32
								}
							]
						}
					}
				},
				"Uninstall()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					],
					"input": {
						"RetainData": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "This argument only has an effect if the UUID of the DeploymentUnit matches the ApplicationUUID of one or more rows in the <<object|Device.SoftwareModules.ExecEnv.<i>.ApplicationData>> table which have the Retain parameter set to <<enum|Forever|Device.SoftwareModules.ExecEnv.<i>.ApplicationData.<i>.Retain>>. If this is the case then the data held in these volumes will be preserved across the operation if and only if <<param>> is set <<true>>.",
							"default": "false",
							"datatype": "boolean"
						}
					}
				}
			},
			"Device.SoftwareModules.ExecutionUnit.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table serves as the Execution Unit inventory and contains both status information about each Execution Unit as well as configurable parameters for each Execution Unit. Each <<object|#.DeploymentUnit>> that is installed can have zero or more Execution Units. Once a Deployment Unit is installed it populates this table with its contained Execution Units. When the Deployment Unit (that caused this <<object>> to come into existence) is updated, this instance MAY be removed and new instances MAY come into existence. While the Deployment Unit (that caused this <<object>> to come into existence) is being updated, all <<object>> instances associated with the Deployment Unit will be stopped until the update is complete at which time they will be restored to the state that they were in before the update started. When the Deployment Unit (that caused this <<object>> to come into existence) is uninstalled, this instance is removed. Each <<object>> MAY also contain a set of vendor specific parameters displaying status and maintaining configuration that reside under the <<object|Extensions>> object.",
				"uniqueKeys": [
					"EUID",
					"Alias"
				],
				"access": false,
				"array": true,
				"EUID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Execution Unit Identifier chosen by the <<object|#.ExecEnv>> during installation of the associated <<object|#.DeploymentUnit>>. The format of this value is Execution Environment specific, but it MUST be unique across <<object|#.ExecEnv>> instances. Thus, it is recommended that this be a combination of the <<param|#.ExecEnv.<i>.Name>> and an Execution Environment local unique value.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The name of this <<object>> as it pertains to its associated <<object|#.DeploymentUnit>>, which SHOULD be unique across all <<object>> instances contained within its associated <<object|#.DeploymentUnit>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ExecEnvLabel": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The name of this <<object>> as provided by the <<object|#.ExecEnv>>, which SHOULD be unique across all <<object>> instances contained within a specific <<object|#.ExecEnv>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the status of this <<object>>.",
					"datatype": "string",
					"enumerations": [
						"Idle",
						"Starting",
						"Active",
						"Stopping"
					]
				},
				"RequestedState": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Indicates the state transition that the ACS is requesting for this <<object>>. Enumeration of: Idle, Active. If this <<object>> is associated with an Execution Environment that is disabled and an attempt is made to alter this value, then a CWMP Fault MUST be generated.",
					"datatype": "string",
					"enumerations": [
						"Idle",
						"Active"
					]
				},
				"ExecutionFaultCode": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If while running or transitioning between states this <<object>> identifies a fault this parameter embodies the problem. The value of <<enum|NoFault>> MUST be used when everything is working as intended. Enumeration of: NoFault, FailureOnStart, FailureOnAutoStart, FailureOnStop, FailureWhileActive, DependencyFailure, UnStartable. For fault codes not included in this list, the vendor MAY include vendor-specific values, which MUST use the format defined in <<bibref|TR-106|Section 3.3>>.",
					"datatype": "string",
					"enumerations": [
						"NoFault",
						"FailureOnStart",
						"FailureOnAutoStart",
						"FailureOnStop",
						"FailureWhileActive",
						"DependencyFailure",
						"UnStartable"
					]
				},
				"ExecutionFaultMessage": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If while running or transitioning between states this <<object>> identifies a fault this parameter provides a more detailed explanation of the problem. If <<param|ExecutionFaultCode>> has the value of <<enum|NoFault|ExecutionFaultCode>> then the value of this parameter MUST be <<empty>> and ignored by the Controller.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AutoStart": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<true>> and the <<param|RunLevel>> verification is also met, then this <<object>> will be automatically started by the device after its <<object|#.ExecEnv>> is either rebooted or restarted. If <<false>> this <<object>> will not be started after its <<object|#.ExecEnv>> is either rebooted or restarted until it is explicitly commanded to do so by either the Controller or another Execution Unit.",
					"datatype": "boolean"
				},
				"RunLevel": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Determines when this <<object>> will be started. If <<param|AutoStart>> is <<true>> and <<param|#.ExecEnv.<i>.CurrentRunLevel>> is greater than or equal to <<param>>, then this <<object>> will be started. If the value of <<param|#.ExecEnv.<i>.CurrentRunLevel>> is -1, then the associated <<object|#.ExecEnv.>> doesnt support Run Levels, thus the value of this parameter is irrelevant when read and setting its value has no impact to the Run Level of this <<object>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"Vendor": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Vendor of this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Version of the <<object>>. The format of this value is Execution Environment specific.",
					"datatype": "string",
					"range": [
						{
							"max": 32
						}
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Textual description of this <<object>>. The format of this value is Execution Environment specific.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Privileged": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Privileged mode for this <<object>>: <<true>> for Privileged, <<false>> for Unprivileged.",
					"datatype": "boolean"
				},
				"AllocatedDiskSpace": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The amount of disk space measured in <<units>> allocated to this <<object>>. A value of -1 MUST be used for <<object>> instances where this parameter is not applicable.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "KiB"
				},
				"DiskSpaceInUse": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The amount of disk space measured in <<units>> currently being used by this <<object>>. A value of -1 MUST be used for <<object>> instances where this parameter is not applicable.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "KiB"
				},
				"AllocatedMemory": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The amount of physical RAM measured in <<units>> allocated to this <<object>>. A value of -1 MUST be used for <<object>> instances where this parameter is not applicable.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "KiB"
				},
				"MemoryInUse": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The amount of physical RAM measured in <<units>> currently being used by this <<object>>. A value of -1 MUST be used for <<object>> instances where this parameter is not applicable.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "KiB"
				},
				"AllocatedCPUPercent": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The CPU power allocated to this <<object>>, as a fraction (in <<units>>) of the CPU allocation of the <<object|#.ExecEnv>> in which this <<object>> resides. A value of -1 MUST be used for <<object>> instances where this parameter is not applicable.",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 100
						}
					],
					"unit": "%"
				},
				"CPUPercentInUse": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The CPU power currently being used by this by this <<object>>, as a fraction (in <<units>>) of the CPU allocation of the <<object|#.ExecEnv>> in which this <<object>> resides. A value of -1 MUST be used for <<object>> instances where this parameter is not applicable.",
					"datatype": "int",
					"range": [
						{
							"min": -1,
							"max": 100
						}
					],
					"unit": "%"
				},
				"AllocatedEUUID": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter is allocated by the host system. This is the user identifier within the execution units environment. This UID is local to the execution unit and is used by the EUs internal processes to manage permissions. By default, processes within the EU execute as root (UID 0) unless otherwise specified.",
					"datatype": "unsignedInt"
				},
				"AllocatedEUGID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter is allocated by the host system. This is the group identifier within the execution units environment. This GID is local to the execution unit and is used by the EUs internal processes to manage permissions.",
					"datatype": "string"
				},
				"AllocatedHostUID": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter is allocated by the host system. This is the user identifier on the host system where this EU is running. This UID is system wide and is managed by the kernel.",
					"datatype": "unsignedInt"
				},
				"AllocatedHostGID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter is allocated by the host system. This is the group identifier on the host system where this EU is running. This GID is system wide and is managed by the kernel.",
					"datatype": "string"
				},
				"CreationTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The date and time when the EU was created.",
					"datatype": "dateTime"
				},
				"Uptime": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The amount of time in <<units>> that this EU has been up and running since it was activated.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"ShutdownDelay": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The delay in <<units>> before which the container is shutdown. This delay ensures that the application has enough time to perform any cleanup before the Execution Unit transitions to idle state.",
					"default": "10",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"References": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the instances of multi-instanced objects that are directly controlled by, and have come into existence because of, this <<object>>. See <<bibref|TR-069|Appendix VI.3.2>> for more description and some examples. NOTE: All other objects and parameters (i.e. not multi-instanced objects) that this <<object>> has caused to come into existence can be discovered via the <<object|##.DeviceInfo.SupportedDataModel>> table.",
					"list": {
						"datatype": "string"
					}
				},
				"AssociatedProcessList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the system processes that are active in the system because of this <<object>>. If <<param|Status>> is not <<enum|Active|Status>> it is expected that this list will be <<empty>>. Some <<object>> instances MIGHT NOT have any system processes irrespective of the value of <<param|Status>>.",
					"list": {
						"datatype": "string"
					}
				},
				"VendorLogList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the vendor log files that have come into existence because of this <<object>>. When the <<object|#.DeploymentUnit>> (that caused this <<object>> to come into existence) is uninstalled the vendor log files referenced here SHOULD be removed from the device. Not all <<object>> instances will actually have a corresponding vendor log file, in which case the value of this parameter will be <<empty>>.",
					"list": {
						"datatype": "string"
					}
				},
				"VendorConfigList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the vendor config files that have come into existence because of this <<object>>. When the <<object|#.DeploymentUnit>> (that caused this <<object>> to come into existence) is uninstalled the vendor config files referenced here SHOULD be removed from the device. Not all <<object>> instances will actually have a corresponding vendor config file, in which case the value of this parameter will be <<empty>>.",
					"list": {
						"datatype": "string"
					}
				},
				"SupportedDataModelList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "Represents the CWMP-DT schema instances that have been introduced to this device because of the existence of this <<object>>.",
					"list": {
						"datatype": "string"
					}
				},
				"ApplicationDataList": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the application data volumes that are used by this <<object>>.",
					"list": {
						"datatype": "string"
					}
				},
				"ExecutionEnvRef": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the <<object|#.ExecEnv>> that this <<object>> is associated with.",
					"datatype": "string"
				},
				"HostObjectNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"EnvVariableNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"SetRequestedState()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"RequestedState": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "Indicates the requested state to transition this instance of the <<object|##.>> object. Enumeration of: Idle, Active.",
							"datatype": "string",
							"enumerations": [
								"Idle",
								"Active"
							]
						}
					}
				},
				"Restart()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.SoftwareModules.ExecutionUnit.{i}.AutoRestart.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Configures the parameters of the auto-restart algorithm for this EU. An auto-restart may be triggered if the Agent determines that the EU has terminated abnormally. An exponential backoff algorithm is applied (increasing each time the delay before the EU is re-launched) in order to prevent continual re-starting of the EU. The retry interval range is controlled by two Parameters, <<param|RetryMinimumWaitInterval>> and <<param|RetryIntervalMultiplier>>. Let m be the value of <<param|RetryMinimumWaitInterval>>, k the value of <<param|RetryIntervalMultiplier>>, and n the current value of <<param|RetryCount>>. Then on the next occasion that the Agent determines that the EU has terminated abnormally, the delay before re-starting the EU must lie between m * (k/1000)^n^ and m * (k/1000)^(n+1)^ seconds, so long as m * (k/1000)^n^ evaluates to a value less than <<param|RetryMaximumWaitInterval>>. Once this point has been reached, on all subsequent occasion that the Agent determines that the EU has terminated abnormally the delay before re-starting the EU must lie between <<param|RetryMaximumWaitInterval>> * (1000/k) and <<param|RetryMaximumWaitInterval>> seconds.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enable the auto-restart feature for this EU.",
						"default": "false",
						"datatype": "boolean"
					},
					"RetryMinimumWaitInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Configures the initial delay in <<units>> between detecting that the EU has terminated abnormally and re-starting it.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RetryMaximumWaitInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Configures the maximum delay in <<units>> between detecting that the EU has terminated abnormally and re-starting it.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RetryIntervalMultiplier": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Configures the retry interval multiplier. This value is expressed in units of 0.001, so for example a value of 2000 will result in the retry interval being doubled each time.",
						"datatype": "unsignedInt"
					},
					"MaximumRetryCount": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Configures the maximum number of consecutive restarts (as shown in <<param|RetryCount>>) after which no more attempts will be performed. A value of zero means that the number of attempts is unlimited.",
						"datatype": "unsignedInt"
					},
					"ResetPeriod": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "If the EU runs for this number of <<units>> without terminating abnormally the Agent MAY reset the <<param|RetryCount>> to zero, thereby resetting the exponential backoff algorithm. A value of zero disables this behavior.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"RetryCount": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number times the EU has terminated abnormally and a restart has been attempted. Resetting this parameter to zero has the effect of re-initialising the exponential back-off algorithm.",
						"datatype": "unsignedInt"
					},
					"LastRestarted": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which the <<object|#>> was last re-started. Initially this parameter is set to the Unknown Time (0001-01-01T00:00:00Z).",
						"datatype": "dateTime"
					},
					"NextRestart": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The time at which the next restart of the <<object|#>> is scheduled to occur. The Infinite Time (9999-12-31T23:59:59Z) is used to indicate that no restart is currently scheduled.",
						"datatype": "dateTime"
					}
				},
				"Device.SoftwareModules.ExecutionUnit.{i}.NetworkConfig.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Parameters of the network configuration for this ExecutionUnit. When no network configuration is provided, the EU will not have any network access.",
					"access": false,
					"array": false,
					"AccessInterfaceRefList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represents the network interface through which the traffic from the EU will be allowed.",
						"list": {
							"datatype": "string"
						}
					},
					"PortMappingRefList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represents the list of Port mappings associated with this EU.",
						"list": {
							"datatype": "string"
						}
					}
				},
				"Device.SoftwareModules.ExecutionUnit.{i}.HostObject.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter describes the host OS objects (such as peripherals, files or directories, communication sockets, ...) which are accessible to the ExecutionUnit.",
					"uniqueKeys": [
						"Alias",
						"Destination"
					],
					"access": false,
					"array": true,
					"Source": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The object identifier by which the object may be accessed in the host OS environment. This object identifier MUST be valid in the host OS environment. For security reasons, Execution Environments may impose restrictions on the object identifiers which may be specified.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Destination": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The object identifier by which the object may be accessed by the ExecutionUnit. This object identifier MUST be valid in the context of the Execution Environment in which the ExecutionUnit is installed.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Options": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "May be used to pass implementation-dependent options which are to be applied to the mapping,",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					}
				},
				"Device.SoftwareModules.ExecutionUnit.{i}.EnvVariable.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter describes the environment variables which are accessible to the ExecutionUnit.",
					"uniqueKeys": [
						"Alias",
						"Key"
					],
					"access": false,
					"array": true,
					"Key": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Environment variable name that needs to be passed to the Execution unit when the execution unit is activated.",
						"datatype": "string",
						"range": [
							{
								"max": 2048
							}
						]
					},
					"Value": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Environment variable value associated with the name that needs to be passed to the Execution unit it is activated.",
						"datatype": "string",
						"range": [
							{
								"max": 2048
							}
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					}
				},
				"Device.SoftwareModules.ExecutionUnit.{i}.Extensions.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object proposes a general location for vendor extensions specific to this Execution Unit, which allows multiple Execution Units to expose parameters without the concern of conflicting parameter names. These vendor extensions are related to displaying status and maintaining configuration for this Execution Unit. It is also possible for the Execution Unit to expose status and configuration parameters within Service objects or as embedded objects and parameters directly within the root data model, in which case the combination of <<param|#.References>> and <<param|#.SupportedDataModelList>> will be used to determine their locations. See <<bibref|TR-069|Appendix VI.3.2>> for more description and some examples.",
					"access": false,
					"array": false
				}
			}
		},
		"Device.XMPP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The <<object>> represents the XMPP capabilities of the device<<template|XMPP-APP-REF>>.",
			"access": false,
			"array": false,
			"ConnectionNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SupportedServerConnectAlgorithms": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The algorithms supported by the CPE for resolving XMPP server addresses and ports. Enumeration of: DNS-SRV, DNS, ServerTable, WebSocket.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"DNS-SRV",
						"DNS",
						"ServerTable",
						"WebSocket"
					]
				}
			},
			"Device.XMPP.Connection.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The <<object>> represents a XMPP connection between the device and a server. The <<param|Username>>, <<param|Domain>> and <<param|Resource>> comprise the full identity (JabberID) of this <<object>> for this device.",
				"uniqueKeys": [
					"Alias",
					"Username",
					"Domain",
					"Resource"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>>. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The proposed local-part of the Jabber ID of this <<object>>, and the value to be used to authenticate this <<object>> when making a connection to the Server using the procedure outlined in <<bibref|RFC6120|Section 6>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Password used to authenticate this <<object>> when making a connection to the <<object|Server>> using the procedure outlined in <<bibref|RFC6120|Section 6>>. Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value. If a Controller modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Domain": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The proposed domain-part of the Jabber ID of this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Resource": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The proposed resource-part of the Jabber ID of this <<object>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"JabberID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The complete Jabber ID as determined by the first-hop XMPP server at time of connection establishment. This Jabber ID will usually be the standard concatenation of the local-part (Username), domain-part (Domain), and resource-part (Resource) as defined in <<bibref|RFC6120|Section 2.1>> (local-part@domain-part/resource-part), but since the Jabber ID is owned by the first-hop XMPP Server there are cases where the value will be different.",
					"datatype": "string"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of this <<object>> (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Enabled, Disabled, Unknown, Dormant, Connecting, ServerNotPresent, Error_Misconfigured, Error_AuthenticationFailure, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Disabled>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Enabled>> if and only if the interface is able to transmit and receive PDUs; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Enabled>> if still operable when the expected actions have completed); it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason.",
					"datatype": "string",
					"enumerations": [
						"Enabled",
						"Disabled",
						"Unknown",
						"Dormant",
						"Connecting",
						"ServerNotPresent",
						"Error_Misconfigured",
						"Error_AuthenticationFailure",
						"Error"
					]
				},
				"LastChangeDate": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The date and time at which this <<object>> entered into its current operational state.",
					"datatype": "dateTime"
				},
				"ServerConnectAlgorithm": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The algorithm the <<object>> uses when connecting with the associated lists of servers.",
					"default": "DNS-SRV",
					"datatype": "string"
				},
				"KeepAliveInterval": {
					"type": "long",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of <<units>> that keep alive events as specified in <<bibref|RFC6120|Section 4.6.1>> are sent by this <<object>>. A value of 0 disables the keep alive functionality. A value of -1 indicates that the keep alive interval is a vendor specific implementation. <<bibref|RFC6120|Section 4.6.4>> recommends not checking more frequently than every 5 minutes (or 300 <<units>>).",
					"default": "-1",
					"datatype": "long",
					"range": [
						{
							"min": -1
						}
					],
					"unit": "seconds"
				},
				"ServerConnectAttempts": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of times that this <<object>> attempts to connect to a given IP address before moving on to the current servers next IP address, or to the next server if the current server has no more IP addresses. If <<param>>, <<param|ServerRetryInitialInterval>>, <<param|ServerRetryIntervalMultiplier>> and <<param|ServerRetryMaxInterval>> all have their default values, the maximum reconnection wait intervals, in minutes, will be <1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 512, 512, 512, 512, 512>. After the initial attempt there are 15 further attempts, making a total of 16. The maximum reconnection wait interval is reached on the 10th retry, i.e. the 11th attempt. NOTE: If this <<object>> fails to connect to any of the servers IP addresses, fallback behavior SHOULD be as specified in <<bibref|RFC6120|Section 3.2>>. NOTE: If the value of this parameter is 0, server connection and reconnection behavior is implementation-dependent.",
					"default": "16",
					"datatype": "unsignedInt"
				},
				"ServerRetryInitialInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum first reconnection wait interval, in <<units>><<template|XMPP-REF>>. The Device MUST use a random value between 0 and <<param>> as the first reconnection wait interval. NOTE: If the value of the <<param|ServerConnectAttempts>> parameter is 0, the value of this parameter is ignored.",
					"default": "60",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					],
					"unit": "seconds"
				},
				"ServerRetryIntervalMultiplier": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The reconnection interval multiplier<<template|XMPP-REF>>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. For the nth reconnection wait interval, the Device MUST use a random value, in seconds, between 0 and <<param|ServerRetryInitialInterval>> * (<<param>> / 1000) ** (n - 1). NOTE: If the value of the <<param|ServerConnectAttempts>> parameter is 0, the value of this parameter is ignored.",
					"default": "2000",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1000,
							"max": 65535
						}
					]
				},
				"ServerRetryMaxInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum reconnection wait interval, in <<units>>. If the nth reconnection wait interval calculated from <<param|ServerRetryInitialInterval>> and <<param|ServerRetryIntervalMultiplier>> exceeds the value of this parameter, then the Device MUST use the value of this parameter as the next reconnection wait interval. NOTE: If the value of the <<param|ServerConnectAttempts>> parameter is 0, the value of this parameter is ignored.",
					"default": "30720",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"UseTLS": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter allows a Controller to configure whether or not this XMPP Connection is required to use TLS independent of whether or not the XMPP Server that is being connected to is configured for TLS mandatory-to-negotiate. If the value of <<param>> is <<true>> then the CPE will initiate TLS negotiation if not required to by the XMPP Server. If the value of <<param>> is <<false>> then the CPE will not initiate TLS negotiation if not required to by the XMPP Server.",
					"default": "false",
					"datatype": "boolean"
				},
				"TLSEstablished": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter represents the TLS state of this XMPP Connection. If this XMPP Connection is established and is secured by TLS then the value of this parameter is <<true>>. If this XMPP Connection is either not established or established but not secured by TLS then the value of this parameter is <<false>>.",
					"datatype": "boolean"
				},
				"ServerNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.XMPP.Connection.{i}.Server.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> represents an XMPP server to be used for a <<object|##.Connection>>. This table is only relevant when <<param|##.Connection.<i>.ServerConnectAlgorithm>> is set to <<enum|ServerTable|##.Connection.<i>.ServerConnectAlgorithm>>. If <<param|##.Connection.<i>.ServerConnectAlgorithm>> is set to <<enum|DNS-SRV|##.Connection.<i>.ServerConnectAlgorithm>> then any instances of this table are ignored by this <<object|##.Connection>>.",
					"uniqueKeys": [
						"Alias",
						"ServerAddress",
						"Port"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>>. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Priority": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The priority of this <<object>> that is used by the <<object|##.Connection>> when determining the <<object>> to connect. The <<object|##.Connection>> MUST contact the <<object>> with the lowest-numbered priority that the <<object|##.Connection>> can reach as defined in <<bibref|RFC2782>>. The selection of <<object>>s with the same <<param>> value utilizes the <<param|Weight>> parameter to determine which <<object>> is selected by the <<object|##.Connection>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Weight": {
						"type": "long",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter specifies a relative weight for entries with the same <<param|Priority>>. The mechanism is defined in <<bibref|RFC2782>>. A value of -1 indicates that the implementation of this parameter is specific to the Vendor.",
						"datatype": "long",
						"range": [
							{
								"min": -1,
								"max": 65535
							}
						]
					},
					"ServerAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Fully Qualified Domain Name (FQDN) or IP address of the XMPP server for this <<object|##.Connection>>. If the value of this Parameter is a FQDN that resolves to multiple addresses then each address SHOULD be attempted (in an implementation-specific order) until a connection can be made or all addresses are exhausted, in which case the next <<object>> instance (based on <<param|Priority>> and <<param|Weight>>) SHOULD be used.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port number of the XMPP server for this <<object|##.Connection>>.",
						"default": "5222",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					}
				},
				"Device.XMPP.Connection.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "XMPP Connection statistics information for this resource.",
					"access": false,
					"array": false,
					"ReceivedMessages": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of XMPP stanzas (iq, presence, or message) that have been received on this <<object|##.Connection>>.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"TransmittedMessages": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of XMPP stanzas (iq, presence, or message) that have been transmitted by this <<object|##.Connection>>.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"ReceivedErrorMessages": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of XMPP stanzas (iq, presence, or message) that have been received on this <<object|##.Connection>> where the type attribute had a value of error.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"TransmittedErrorMessages": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of XMPP stanzas (iq, presence, or message) that have been transmitted by this <<object|##.Connection>> where the type attribute had a value of error.",
						"default": "0",
						"datatype": "unsignedInt"
					}
				}
			}
		},
		"Device.IEEE1905.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object represents the management functions for the 1905 capabilities as defined in <<bibref|IEEE1905.1a>>.",
			"access": false,
			"array": false,
			"Version": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "1905 profile version number of the AL as would be sent in a Higher Layer response message as defined in <<bibref|IEEE1905.1a|Table 6-37: 1905 profile version TLV>>.",
				"datatype": "string",
				"enumerations": [
					"1905.1",
					"1905.1a"
				]
			},
			"Device.IEEE1905.AL.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object represents the management functions for the 1905 Abstraction Layer as defined in <<bibref|IEEE1905.1a|Section 4.4 Abstraction Layer>>.",
				"access": false,
				"array": false,
				"IEEE1905Id": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "1905 AL MAC Address.",
					"datatype": "MACAddress",
					"range": [
						{
							"max": 17
						}
					],
					"pattern": [
						"",
						"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
					]
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the 1905 Abstraction Layer. Enumeration of: Disabled, Enabled, Error_Misconfigured, Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter is NOT RECOMMENDED to be used because IEEE1905 is not an interface. The accumulated time in <<units>> since the 1905 Abstraction Layer entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter is NOT RECOMMENDED to be used because IEEE1905 is not an interface. <<list>> <<reference>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"RegistrarFreqBand": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> See <<bibref|IEEE1905.1a|Table 6-25: SupportedFreqBand TLV>>. Enumeration of: 802.11 2.4 GHz, 802.11 5 GHz, 802.11 60 GHz.",
					"list": {
						"datatype": "string",
						"maxsize": 1024,
						"enumerations": [
							"802.11 2.4 GHz",
							"802.11 5 GHz",
							"802.11 60 GHz"
						]
					}
				},
				"InterfaceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.IEEE1905.AL.Interface.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The 1905 interface table (described in <<bibref|IEEE1905.1a|sub-clause 5 Abstraction Layer Management>>).",
					"uniqueKeys": [
						"InterfaceId"
					],
					"access": false,
					"array": true,
					"InterfaceId": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "MAC Address of this interface. This is the value of the intfAddress parameter defined in <<bibref|IEEE1905.1a|Table 5-2: intfDescriptor elements>>",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter is NOT RECOMMENDED to be used because it is not a parameter defined in a 1905 ALME primitive or protocol TLV. The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. It SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD normally be <<enum|Down>> when the interface cannot transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Down",
							"Unknown",
							"Dormant",
							"NotPresent",
							"LowerLayerDown",
							"Error"
						]
					},
					"LastChange": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter is NOT RECOMMENDED to be used because it is not a parameter defined in a 1905 ALME primitive or protocol TLV. The accumulated time in <<units>> since the interface entered its current operational state.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LowerLayers": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter is NOT RECOMMENDED to be used because it is not a parameter defined in a 1905 ALME primitive or protocol TLV. <<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
						"list": {
							"datatype": "string",
							"maxsize": 1024
						}
					},
					"InterfaceStackReference": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Path name of an interface object described by this 1905 <<object>>. Referenced interface object MUST have a MACAddress and the InterfaceId MUST be the same as the interface object MACAddress.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"MediaType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Media type of this <<object>>. This is derived from the value of the intfType parameter defined in <<bibref|IEEE1905.1a|Tables 5.2: intfDescriptor elements>>. Enumeration of: IEEE 802.3u, IEEE 802.3ab, IEEE 802.11b, IEEE 802.11g, IEEE 802.11a, IEEE 802.11n 2.4, IEEE 802.11n 5.0, IEEE 802.11ac, IEEE 802.11ad, IEEE 802.11af, IEEE 1901 Wavelet, IEEE 1901 FFT, MoCAv1.1, Generic PHY.",
						"datatype": "string",
						"enumerations": [
							"IEEE 802.3u",
							"IEEE 802.3ab",
							"IEEE 802.11b",
							"IEEE 802.11g",
							"IEEE 802.11a",
							"IEEE 802.11n 2.4",
							"IEEE 802.11n 5.0",
							"IEEE 802.11ac",
							"IEEE 802.11ad",
							"IEEE 802.11af",
							"IEEE 1901 Wavelet",
							"IEEE 1901 FFT",
							"MoCAv1.1",
							"Generic PHY"
						]
					},
					"GenericPhyOUI": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "OUI of the Generic Phy networking technology of the local interface that would be included in a Generic Phy Device Information Type TLV defined in <<bibref|IEEE1905.1a|Tables 6-29: Generic Phy Device Information type TLV>>.",
						"datatype": "string",
						"range": [
							{
								"min": 6,
								"max": 6
							}
						],
						"pattern": [
							"[0-9A-F]{6}"
						]
					},
					"GenericPhyVariant": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Variant Index of the Generic Phy networking technology of the local interface that would be included in a Generic Phy Device Information Type TLV defined in <<bibref|IEEE1905.1a|Tables 6-29: Generic Phy Device Information type TLV>>.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 1,
								"max": 1
							}
						]
					},
					"GenericPhyURL": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<datatype>> to the Generic Phy XML Description of the Generic Phy networking technology of the local interface that would be included in a Generic Phy Device Information Type TLV defined in <<bibref|IEEE1905.1a|Table 6-29: Generic Phy device information type TLV>>.",
						"datatype": "URL"
					},
					"SetIntfPowerStateEnabled": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the Abstraction Layers ability to set the power state for the interface. Boolean can be <<true>> for enabled and <<false>> for disabled.",
						"datatype": "boolean"
					},
					"PowerState": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Power State of this <<object>>. This is derived from the value of the powerState parameter as defined in <<bibref|IEEE1905.1a|Tables 5.3: ALME-SET-INTF-PWR-STATE.request parameters and Table 5.7: ALME-GET-INTF-PWR-STATE.response parameters>>. Enumeration of: On, Power_Save, Off, Unsupported.",
						"datatype": "string",
						"enumerations": [
							"On",
							"Power_Save",
							"Off",
							"Unsupported"
						]
					},
					"VendorPropertiesNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"LinkNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object defines the vendor specific properties (vendorSpecificInfo field) of this <<object|##.Interface>> as defined in <<bibref|IEEE1905.1a|Table 5-2: intfDescriptor elements>>.",
						"access": false,
						"array": true,
						"OUI": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Organizationally unique identifier of a manufacturer of this <<object|##.Interface>>. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros according to <<bibref|IEEE1905.1a|Table 5-20: VendorSpecificInfo information element>>. <<pattern>>",
							"datatype": "string",
							"range": [
								{
									"min": 6,
									"max": 6
								}
							],
							"pattern": [
								"[0-9A-F]{6}"
							]
						},
						"Information": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A hexbinary string used to to provide vendor specific information about this <<object|##.Interface>>. This is the value of the vendorSpecificInfo parameter defined in <<bibref|IEEE1905.1a|Table 5-20: VendorSpecificInfo information element>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 65535
								}
							]
						}
					},
					"Device.IEEE1905.AL.Interface.{i}.Link.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object defines the 1905 neighbors and link properties.",
						"uniqueKeys": [
							"InterfaceId",
							"IEEE1905Id"
						],
						"access": false,
						"array": true,
						"InterfaceId": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "MAC Address of the interface of the Neighbor for this <<object>>. This value comes from the neighbor\u2019s Topology discovery message as defined in <<bibref|IEEE1905.1a|Table 6-9: MAC address typeTLV>>.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"IEEE1905Id": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "MAC Address of the 1905 AL entity of the Neighbor device on this <<object>>. This value comes from the neighbor\u2019s Topology discovery message as defined in <<bibref|IEEE1905.1a|Table 6-8: AL MAC address type TLV>>.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"MediaType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Media type of this <<object>>. This value is derived from the neighbor\u2019s Topology response message 1905 device information type TLV Media Type field as defined in <<bibref|IEEE1905.1a|Table 6-12: Media type>>. Enumeration of: IEEE 802.3u, IEEE 802.3ab, IEEE 802.11b, IEEE 802.11g, IEEE 802.11a, IEEE 802.11n 2.4, IEEE 802.11n 5.0, IEEE 802.11ac, IEEE 802.11ad, IEEE 802.11af, IEEE 1901 Wavelet, IEEE 1901 FFT, MoCAv1.1, Generic PHY.",
							"datatype": "string",
							"enumerations": [
								"IEEE 802.3u",
								"IEEE 802.3ab",
								"IEEE 802.11b",
								"IEEE 802.11g",
								"IEEE 802.11a",
								"IEEE 802.11n 2.4",
								"IEEE 802.11n 5.0",
								"IEEE 802.11ac",
								"IEEE 802.11ad",
								"IEEE 802.11af",
								"IEEE 1901 Wavelet",
								"IEEE 1901 FFT",
								"MoCAv1.1",
								"Generic PHY"
							]
						},
						"GenericPhyOUI": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "OUI of the Generic Phy networking technology of the interface of the Neighbor for this <<object|#.Link>>. This value is from a Generic Phy response message field as defined in <<bibref|IEEE1905.1a|Tables 6-29: Generic Phy Device Information type TLV>>.",
							"datatype": "string",
							"range": [
								{
									"min": 6,
									"max": 6
								}
							],
							"pattern": [
								"[0-9A-F]{6}"
							]
						},
						"GenericPhyVariant": {
							"type": "hexBinary",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Variant Index of the Generic Phy networking technology of the interface of the Neighbor for this <<object|#.Link>>. This value is from a Generic Phy response message variant index field as defined in <<bibref|IEEE1905.1a|Tables 6-29: Generic Phy Device Information type TLV>>.",
							"datatype": "hexBinary",
							"range": [
								{
									"min": 1,
									"max": 1
								}
							]
						},
						"GenericPhyURL": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<datatype>> to the Generic Phy XML Description of the Generic Phy networking technology of the interface of the Neighbor for this <<object|#.Link>>. This value is from a Generic Phy response message URL to Generic Phy field as defined in <<bibref|IEEE1905.1a|Table 6-29: Generic Phy device information type TLV>>.",
							"datatype": "URL"
						},
						"Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents the metrics for this <<object|##.Link>> as defined in <<bibref|IEEE1905.1a|Tables 6-18: 1905 transmitter link metrics and Table 6-20: 1905 receiver link metrics>>.",
							"access": false,
							"array": false,
							"IEEE802dot1Bridge": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Indicates whether or not the 1905 link includes one or more IEEE 802.1 bridges. If <<false>>, the 1905 link does not include an IEEE 802.1 bridge. If <<true>>, the 1905 link does include one or more IEEE 802.1 bridges.",
								"datatype": "boolean"
							},
							"PacketErrors": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Estimated number of lost <<units>> on the transmit side of the link <<bibref|IEEE1905.1a|Table 6-18: 1905 transmitter link metrics>> during a measurement period.",
								"datatype": "StatsCounter32"
							},
							"PacketErrorsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Estimated number of lost <<units>> on the receive side of the link <<bibref|IEEE1905.1a|Table 6-20: 1905 receiver link metrics>> during a measurement period.",
								"datatype": "StatsCounter32"
							},
							"TransmittedPackets": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Estimated number of <<units>> sent to the Neighbor on this <<object|##.Link>>, in the same measurement period used to estimate <<param|PacketErrors>>.",
								"datatype": "StatsCounter32"
							},
							"PacketsReceived": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Estimated number of <<units>> received from this Neighbor on this <<object|##.Link>> <<bibref|IEEE1905.1a|Table 6-20: 1905 receiver link metrics>>, in the same measurement period used to estimate <<param|PacketErrors>>.",
								"datatype": "StatsCounter32"
							},
							"MACThroughputCapacity": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The maximum MAC throughput in <<units>> between this <<object|###.Interface>> and the Neighbor on this <<object|##.Link>> that is estimated at this <<object|###.Interface>>.",
								"datatype": "unsignedInt",
								"unit": "Mb/s"
							},
							"LinkAvailability": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The estimated average <<units>> of time that the <<object|##.Link>> is available for data transmissions.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 100
									}
								],
								"unit": "percent"
							},
							"PHYRate": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Physical Layer (PHY) rate in <<units>> between this <<object|###.Interface>> and the Neighbor on this <<object|##.Link>> that is estimated at this <<object|###.Interface>>.",
								"datatype": "unsignedInt",
								"unit": "Mb/s"
							},
							"RSSI": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The estimated Received Signal Strength Indicator (RSSI) ratio in <<units>> between this <<object|###.Interface>> and the Neighbor on this <<object|##.Link>> that is estimated at the receive side of this <<object|###.Interface>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 255
									}
								],
								"unit": "dB"
							}
						}
					}
				},
				"Device.IEEE1905.AL.ForwardingTable.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents the rules to forward PDUs between interfaces within the 1905 Abstraction Layer.",
					"access": false,
					"array": false,
					"SetForwardingEnabled": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Abstraction Layer ability to set, modify, and remove <<object|ForwardingRule>> entries for interfaces. Boolean can be <<true>> for enabled and <<false>> for disabled.",
						"datatype": "boolean"
					},
					"ForwardingRuleNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The 1905 forwarding rule for the ALME-SET-FWD-RULE.request and ALME-GET-FWD-RULES.response with classification criteria as defined in <<bibref|IEEE1905.1a|Table 5-9: ClassificationSet elements>>.",
						"access": true,
						"array": true,
						"InterfaceList": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The list of interfaces to which a frame satisfying the following classification criteria should be forwarded (intfAddressList parameter as defined in <<bibref|IEEE1905.1a|Table 5-8: ALME-SET-FWD-RULE.request parameters and Table 5-12: fwdRuleList elements>>). <<list>> Each list item MUST be the path name of an object, which MUST be a row of an <<object|##.Interface>> object. If the referenced item is deleted, the corresponding item MUST be removed from the list. <<noreference>>",
							"default": "[]",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						},
						"MACDestinationAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Classification criterion. The destination MAC address.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"MACDestinationAddressFlag": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<false>>, the classification criterion <<param|MACDestinationAddress>> is ignored. If <<true>>, the classification criterion <<param|MACDestinationAddress>> is used.",
							"default": "false",
							"datatype": "boolean"
						},
						"MACSourceAddress": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Classification criterion. The source MAC address.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"MACSourceAddressFlag": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<false>>, the classification criterion <<param|MACSourceAddress>> is ignored. If <<true>>, the classification criterion <<param|MACSourceAddress>> is used.",
							"default": "false",
							"datatype": "boolean"
						},
						"EtherType": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Classification criterion. Ether Type Field in a frame.",
							"datatype": "unsignedInt"
						},
						"EtherTypeFlag": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<false>>, the classification criterion <<param|EtherType>> is ignored. If <<true>>, the classification <<param|EtherType>> is used.",
							"default": "false",
							"datatype": "boolean"
						},
						"Vid": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Classification criterion. IEEE 802.1Q VLAN ID in a frame.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 4095
								}
							]
						},
						"VidFlag": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<false>>, the classification criterion <<param|Vid>> is ignored. If <<true>>, the classification <<param|Vid>> is used.",
							"default": "false",
							"datatype": "boolean"
						},
						"PCP": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Classification criterion. IEEE 802.1Q Priority Code Point field.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 7
								}
							]
						},
						"PCPFlag": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "If <<false>>, the classification criterion <<param|PCP>> is ignored. If <<true>>, the classification <<param|PCP>> is used.",
							"default": "false",
							"datatype": "boolean"
						}
					}
				},
				"Device.IEEE1905.AL.NetworkTopology.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents the 1905 Network Topology capabilities of this device.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the 1905 Network Topology reporting (via a Controller). When <<true>>, the device clears and (re)populates the <<object|IEEE1905Device>> and <<object|ChangeLog>> tables. When <<false>>, the contents of the <<object|IEEE1905Device>> and <<object|ChangeLog>> tables have no meaning.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<param|Enable>> is set to <<true>>, this parameter indicates the transient phase of the discovery of the <<object>>. Enumeration of: Incomplete, Available, Error_Misconfigured.",
						"datatype": "string",
						"enumerations": [
							"Incomplete",
							"Available",
							"Error_Misconfigured"
						]
					},
					"MaxChangeLogEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The maximum number of entries allowed in the <<object|ChangeLog>> table.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"LastChange": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference>> If the <<object|ChangeLog>> is modified the parameter is modified to reflect the last entry added to the <<object|ChangeLog>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"IEEE1905DeviceNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ChangeLogNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.IEEE1905.AL.NetworkTopology.ChangeLog.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents log entries for changes in the 1905 Network Topology. The Change Log is a First In First Out queue where the oldest entries (defined by values of the <<param|TimeStamp>> parameter) are deleted once the log is full.",
						"access": false,
						"array": true,
						"TimeStamp": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Date and Time at which the entry was added to the <<object>> table.",
							"datatype": "dateTime"
						},
						"EventType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Type of event for this entry. Enumeration of: NewNeighbor, LostNeighbor.",
							"datatype": "string",
							"enumerations": [
								"NewNeighbor",
								"LostNeighbor"
							]
						},
						"ReporterDeviceId": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "1905 AL MAC Address of device which reported the change.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"ReporterInterfaceId": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "MAC Address of the interface of the reporting device on which the change has been detected.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"NeighborType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Type of Neighbor for this event. Enumeration of: IEEE1905, Non-IEEE1905.",
							"datatype": "string",
							"enumerations": [
								"IEEE1905",
								"Non-IEEE1905"
							]
						},
						"NeighborId": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "MAC Address of the Neighbor of this event. If the value of the <<param|EventType>> parameter is <<enum|NewNeighbor|EventType>>, then the value of this parameter represents the MAC Address of the new Neighbor that joined the network; if the value of the <<param|EventType>> parameter is <<enum|LostNeighbor|EventType>>, then the value of this parameter represents the MAC Address of the Neighbor that left the network. If value of the <<param|NeighborType>> parameter is <<enum|IEEE1905|NeighborType>>, then the value of this parameter is the 1905 AL MAC Address of the Neighbor.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					},
					"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents an instance of discovered 1905 Devices in the network (received Topology discovery message as defined in <<bibref|IEEE1905.1a|Clause 6.3.1>>).",
						"uniqueKeys": [
							"IEEE1905Id"
						],
						"access": false,
						"array": true,
						"IEEE1905Id": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "1905 AL MAC Address.",
							"datatype": "MACAddress",
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						},
						"Version": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "1905 profile version number in Higher Layer Response message as defined in <<bibref|IEEE1905.1a|Table 6-37: 1905 profile version TLV>>.",
							"datatype": "string",
							"enumerations": [
								"1905.1",
								"1905.1a"
							]
						},
						"RegistrarFreqBand": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> of frequency bands identified as supported for a registrar role in an AP-autoconfiguration response message as defined in <<bibref|IEEE1905.1a|Table 6-25: SupportedFreqBand TLV>> Enumeration of: 802.11 2.4 GHz, 802.11 5 GHz, 802.11 60 GHz..",
							"list": {
								"datatype": "string",
								"maxsize": 1024,
								"enumerations": [
									"802.11 2.4 GHz",
									"802.11 5 GHz",
									"802.11 60 GHz"
								]
							}
						},
						"FriendlyName": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Friendly Name String received in Higher Layer response message as defined in <<bibref|IEEE1905.1a|Table 6-30: Device Identification Type TLV>>.",
							"datatype": "string",
							"range": [
								{
									"max": 128
								}
							]
						},
						"ManufacturerName": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Manufacturer Name String received in Higher Layer response message as defined in <<bibref|IEEE1905.1a|Table 6-30: Device Identification Type TLV>>.",
							"datatype": "string",
							"range": [
								{
									"max": 128
								}
							]
						},
						"ManufacturerModel": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Manufacturer Model String received in Higher Layer response message as defined in <<bibref|IEEE1905.1a|Table 6-30: Device Identification Type TLV>>.",
							"datatype": "string",
							"range": [
								{
									"max": 128
								}
							]
						},
						"ControlURL": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Control <<datatype>> received in Higher Layer response message as defined in defined in <<bibref|IEEE1905.1a|Table 6-31: Control URL Type TLV>>.",
							"datatype": "URL"
						},
						"AssocWiFiNetworkDeviceRef": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<param>> is a reference to a Wi-Fi Network Data Elements Device. Since IEEE 1905.1 is the protocol used by the Wi-Fi Alliances EasyMesh specification for communications, this parameter allows the IEEE 1905.1 portion of the data model to reference the associated EasyMesh portion of the data model.",
							"datatype": "string"
						},
						"VendorPropertiesNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"IPv4AddressNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"IPv6AddressNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"InterfaceNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"NonIEEE1905NeighborNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"IEEE1905NeighborNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"L2NeighborNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"BridgingTupleNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents represents all IPv4 addresses reported for a MAC address (AL or interface) in a Higher Layer response message for the IEEE1905Device as defined in <<bibref|IEEE1905.1a|Table 6-32: IPv4 type TLV>>.",
							"uniqueKeys": [
								"MACAddress",
								"IPv4Address"
							],
							"access": false,
							"array": true,
							"MACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "MAC Address.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"IPv4Address": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "IPv4 Address.",
								"datatype": "IPv4Address",
								"range": [
									{
										"max": 15
									}
								],
								"pattern": [
									"",
									"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
								]
							},
							"IPv4AddressType": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The IPv4 Address Type of this <<param|IPv4Address>>. Enumeration of: Unknown, DHCP, Static, Auto-IP.",
								"datatype": "string",
								"enumerations": [
									"Unknown",
									"DHCP",
									"Static",
									"Auto-IP"
								]
							},
							"DHCPServer": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Either IPv4 address of DHCPv4 server or IPv6 address of DHCPv6 server.",
								"datatype": "IPAddress",
								"range": [
									{
										"max": 45
									}
								]
							}
						},
						"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents represents all IPv6 addresses reported for a MAC address (AL or interface) in a Higher Layer response message for the IEEE1905Device as defined in <<bibref|IEEE1905.1a|Table 6-34: IPv6 type TLV>>.",
							"uniqueKeys": [
								"MACAddress",
								"IPv6Address"
							],
							"access": false,
							"array": true,
							"MACAddress": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "MAC Address.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"IPv6Address": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "IPv6 Address.",
								"datatype": "IPv6Address"
							},
							"IPv6AddressType": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The IPv6 Address Type of this <<param|IPv6Address>>. Enumeration of: Unknown, LinkLocal, DHCP, Static, SLAAC.",
								"datatype": "string",
								"enumerations": [
									"Unknown",
									"LinkLocal",
									"DHCP",
									"Static",
									"SLAAC"
								]
							},
							"IPv6AddressOrigin": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": ":: or the IPv6 address of the origin of this IPv6 address.",
								"datatype": "IPv6Address"
							}
						},
						"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents vendor specific information received in a message with a Vendor specific TLV (as defined in in <<bibref|IEEE1905.1a|Table 6-7: Vendor specific TLV>>).",
							"access": false,
							"array": true,
							"MessageType": {
								"type": "hexBinary",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Message type of a message received from this IEEE1905Device that contained a Vendor specific TLV, as defined in <<bibref|IEEE1905.1a|Table 6-4: Message type>>.",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 1,
										"max": 1
									}
								]
							},
							"OUI": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This is the value of the Vendor specific OUI defined in <<bibref|IEEE1905.1a|Table 6-7: Vendor specific TLV>>. <<pattern>>",
								"datatype": "string",
								"range": [
									{
										"min": 6,
										"max": 6
									}
								],
								"pattern": [
									"[0-9A-F]{6}"
								]
							},
							"Information": {
								"type": "hexBinary",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A hexbinary string used to provide vendor specific information. This is the value of the Vendor specific information parameter defined in <<bibref|IEEE1905.1a|Table 6-7: Vendor specific TLV>>.",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 0,
										"max": 65535
									}
								]
							}
						},
						"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents an instance of an interface for the <<object|##.IEEE1905Device>>.",
							"uniqueKeys": [
								"InterfaceId"
							],
							"access": false,
							"array": true,
							"InterfaceId": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "MAC Address of the interface. This comes from the Topology response message as defined in <<bibref|IEEE1905.1a|Table 6-10: 1905 device information type TLV>>.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"MediaType": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Media type of this <<object>>. This comes from the Topology response message as defined in <<bibref|IEEE1905.1a|Table 6-10: 1905 device information type TLV>>. Enumeration of: IEEE 802.3u, IEEE 802.3ab, IEEE 802.11b, IEEE 802.11g, IEEE 802.11a, IEEE 802.11n 2.4, IEEE 802.11n 5.0, IEEE 802.11ac, IEEE 802.11ad, IEEE 802.11af, IEEE 1901 Wavelet, IEEE 1901 FFT, MoCAv1.1, Generic PHY.",
								"datatype": "string",
								"enumerations": [
									"IEEE 802.3u",
									"IEEE 802.3ab",
									"IEEE 802.11b",
									"IEEE 802.11g",
									"IEEE 802.11a",
									"IEEE 802.11n 2.4",
									"IEEE 802.11n 5.0",
									"IEEE 802.11ac",
									"IEEE 802.11ad",
									"IEEE 802.11af",
									"IEEE 1901 Wavelet",
									"IEEE 1901 FFT",
									"MoCAv1.1",
									"Generic PHY"
								]
							},
							"PowerState": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Power State of this <<object>>. <<enum|Off>> is used for interfaces identified in a Power Off Interface TLV as defined in <<bibref|IEEE1905.1a|Table 6-38>>. <<enum|On>> is used for all other interfaces. <<enum|Power_Save>> and <<enum|Unsupported>> are not used at this time. Updated as a result of a received Interface Power Change response with \u201crequest completed\u201d or \u201calternate change made\u201d Interface Power Change status as defined in <<bibref|IEEE1905.1a|Table 6-40: Interface Power Change status TLV>>. Enumeration of: On, Power_Save, Off, Unsupported.",
								"datatype": "string",
								"enumerations": [
									"On",
									"Power_Save",
									"Off",
									"Unsupported"
								]
							},
							"GenericPhyOUI": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<param>> of this <<object|#.Interface>>. <<pattern>>",
								"datatype": "string",
								"range": [
									{
										"min": 6,
										"max": 6
									}
								],
								"pattern": [
									"[0-9A-F]{6}"
								]
							},
							"GenericPhyVariant": {
								"type": "hexBinary",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Variant Index of the Generic Phy networking technology of this <<object|#.Interface>>. This value is from a Generic Phy response message variant index field as defined in <<bibref|IEEE1905.1a|Table 6-29: Generic Phy device information type TLV>>.",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 1,
										"max": 1
									}
								]
							},
							"GenericPhyURL": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<datatype>> to the Generic Phy XML Description of the Generic Phy networking technology of this <<object|#.Interface>>. This value is from a Generic Phy response message URL to generic phy field as defined in <<bibref|IEEE1905.1a|Table 6-29: Generic Phy device information type TLV>>.",
								"datatype": "URL"
							},
							"NetworkMembership": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "MACAddress Field from Media specific information for an 802.11 interface provided in a Topology response message 1905 device information type TLV as defined in <<bibref|IEEE1905.1a|Table 6-13: IEEE 802.11 specific information>>.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"Role": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Field from Media specific information for an 802.11 interface provided in a Topology response message 1905 device information type TLV as defined in <<bibref|IEEE1905.1a|Table 6-13: IEEE 802.11 specific information>>. Enumeration of: AP, non-AP/non-PCP STA, Wi-Fi P2P Client, Wi-Fi P2P Group Owner, 802.11adPCP.",
								"datatype": "string",
								"enumerations": [
									"AP",
									"non-AP/non-PCP STA",
									"Wi-Fi P2P Client",
									"Wi-Fi P2P Group Owner",
									"802.11adPCP"
								]
							},
							"APChannelBand": {
								"type": "hexBinary",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Hexadecimal digit. Field from Media specific information for an 802.11 interface provided in a Topology response message 1905 device information type TLV as defined in <<bibref|IEEE1905.1a|Table 6-13: IEEE 802.11 specific information>>",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 1,
										"max": 1
									}
								]
							},
							"FrequencyIndex1": {
								"type": "hexBinary",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Field from Media specific information for an 802.11 interface provided in a Topology response message 1905 device information type TLV as defined in <<bibref|IEEE1905.1a|Table 6-13: IEEE 802.11 specific information>>",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 1,
										"max": 1
									}
								]
							},
							"FrequencyIndex2": {
								"type": "hexBinary",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Field from Media specific information for an 802.11 interface provided in a Topology response message 1905 device information type TLV as defined in <<bibref|IEEE1905.1a|Table 6-13: IEEE 802.11 specific information>>",
								"datatype": "hexBinary",
								"range": [
									{
										"min": 1,
										"max": 1
									}
								]
							}
						},
						"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents an instance of a Non-IEEE1905 Neighbor for the <<object|##.IEEE1905Device>>. These fields come from a Topology response message as defined in <<bibref|IEEE1905.1a|Table 6-14: Non-1905 neighbor device TLV>>.",
							"uniqueKeys": [
								"LocalInterface",
								"NeighborInterfaceId"
							],
							"access": false,
							"array": true,
							"LocalInterface": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<reference>>",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"NeighborInterfaceId": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "MAC Address of the interface for the <<object>>.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							}
						},
						"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.L2Neighbor.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents an instance of an L2 Neighbor for the <<object|##.IEEE1905Device>>. These fields come from a Topology response message as defined in <<bibref|IEEE1905.1a|Table 6-41: L2 neighbor device TLV>>.",
							"uniqueKeys": [
								"LocalInterface",
								"NeighborInterfaceId"
							],
							"access": false,
							"array": true,
							"LocalInterface": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<reference>>",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"NeighborInterfaceId": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "MAC Address of the <<object>>.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"BehindInterfaceIds": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> Behind MAC Addresses of the <<object>>.",
								"list": {
									"datatype": "MACAddress",
									"maxsize": 1024,
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								}
							}
						},
						"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents an instance of an <<object>> for the <<object|##.IEEE1905Device>>. These values are from the Topology response message as defined in <<bibref|IEEE1905.1a|Table 6-15: 1905 neighbor device TLV>>.",
							"uniqueKeys": [
								"LocalInterface",
								"NeighborDeviceId"
							],
							"access": false,
							"array": true,
							"LocalInterface": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<reference>>",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"NeighborDeviceId": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "1905 AL MAC Address of the Neighbor.",
								"datatype": "MACAddress",
								"range": [
									{
										"max": 17
									}
								],
								"pattern": [
									"",
									"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
								]
							},
							"MetricNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "This object represents the metrics included in a Link metric response from the IEEE1905Device where <<param|#.LocalInterface>> is the MAC address of an interface in the receiving 1905 AL as defined in <<bibref|IEEE1905.1a|Table 6-17: 1905 transmitter link metric TLV>>.",
								"uniqueKeys": [
									"NeighborMACAddress"
								],
								"access": false,
								"array": true,
								"NeighborMACAddress": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The MAC address of an interface in a neighbor 1905 device as defined in <<bibref|IEEE1905.1a|Table 6-17: 1905 transmitter link metric TLV or Table 6-19: 1905 receiver link metric TLV>>.",
									"datatype": "MACAddress",
									"range": [
										{
											"max": 17
										}
									],
									"pattern": [
										"",
										"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
									]
								},
								"IEEE802dot1Bridge": {
									"type": "boolean",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Indicates whether or not the 1905 link includes one or more IEEE 802.1 bridges. If <<false>>, the 1905 link does not include an IEEE 802.1 bridge. If <<true>>, the 1905 link does include one or more IEEE 802.1 bridges.",
									"datatype": "boolean"
								},
								"PacketErrors": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated number of lost <<units>> on the transmit side of the link <<bibref|IEEE1905.1a|Table 6-18: 1905 transmitter link metrics>> during a measurement period.",
									"datatype": "StatsCounter32"
								},
								"PacketErrorsReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated number of lost <<units>> on the receive side of the link <<bibref|IEEE1905.1a|Table 6-20: 1905 receiver link metrics>> during a measurement period.",
									"datatype": "StatsCounter32"
								},
								"TransmittedPackets": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated number of <<units>> sent to the Neighbor on this link, in the same measurement period used to estimate <<param|PacketErrors>>.",
									"datatype": "StatsCounter32"
								},
								"PacketsReceived": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Estimated number of <<units>> received from this Neighbor <<bibref|IEEE1905.1a|Table 6-20: 1905 receiver link metrics>> on this link, in the same measurement period used to estimate <<param|PacketErrors>>.",
									"datatype": "StatsCounter32"
								},
								"MACThroughputCapacity": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The maximum MAC throughput in <<units>> between this Interface and the Neighbor on this link that is estimated at this Interface.",
									"datatype": "unsignedInt",
									"unit": "Mb/s"
								},
								"LinkAvailability": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The estimated average <<units>> of time that this link is idle.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 100
										}
									],
									"unit": "percent"
								},
								"PHYRate": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The Physical Layer (PHY) rate in <<units>> between this Interface and the Neighbor on this link that is estimated at this Interface.",
									"datatype": "unsignedInt",
									"unit": "Mb/s"
								},
								"RSSI": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The estimated Received Signal Strength Indicator (RSSI) ratio in <<units>> between this Interface and the Neighbor on this link that is estimated at the receive side of this Interface. Note: This parameter is valid only for IEEE 802.11 Neighbors.",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 255
										}
									],
									"unit": "dB"
								}
							}
						},
						"Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents an instance of an <<object>> for the <<object|##.IEEE1905Device>>. These values come from the 1905 Device\u2019s Topology response message as defined in <<bibref|IEEE1905.1a|Table 6-11: Device bridging capability TLV>>.",
							"access": false,
							"array": true,
							"InterfaceList": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> <<reference>>",
								"list": {
									"datatype": "string",
									"range": [
										{
											"max": 256
										}
									]
								}
							}
						}
					}
				},
				"Device.IEEE1905.AL.Security.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents the Security configuration for the 1905 device as defined in <<bibref|IEEE1905.1a|Section 9.2 Security Setup Methods>>.",
					"access": false,
					"array": false,
					"SetupMethod": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Supported security setup method(s) for the network. Enumeration of: UCPK, PBC, NFCNK.",
						"list": {
							"datatype": "string",
							"maxsize": 1024,
							"enumerations": [
								"UCPK",
								"PBC",
								"NFCNK"
							]
						}
					},
					"Password": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "1905 network passphrase for generating security keys.",
						"datatype": "string"
					}
				},
				"Device.IEEE1905.AL.NetworkingRegistrar.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents the detected Network Registrars detection function for the IEEE 1905 network. They are determined by received AP-autoconfiguration response messages with Registrar role, with supported band as defined in <<bibref|IEEE1905.1a|Table 6-25: SupportedFreqBand TLV>>",
					"access": false,
					"array": false,
					"Registrar2dot4": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> 1905 AL MAC addresses as determined by source MAC address in received AP-autoconfiguration response messages with supported frequency band of 802.11 2.4 GHz.",
						"list": {
							"datatype": "MACAddress",
							"maxsize": 1024,
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					},
					"Registrar5": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> 1905 AL MAC addresses as determined by source MAC address in received AP-autoconfiguration response messages with supported frequency band of 802.11 5 GHz.",
						"list": {
							"datatype": "MACAddress",
							"maxsize": 1024,
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					},
					"Registrar60": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> 1905 AL MAC addresses as determined by source MAC address in received AP-autoconfiguration response messages with supported frequency band of 802.11 60 GHz.",
						"list": {
							"datatype": "MACAddress",
							"maxsize": 1024,
							"range": [
								{
									"max": 17
								}
							],
							"pattern": [
								"",
								"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
							]
						}
					}
				}
			}
		},
		"Device.MQTT.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "MQTT Base object describing all MQTT related parameters and objects.",
			"access": false,
			"array": false,
			"ClientNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"BrokerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.MQTT.Capabilities.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates the MQTT capabilities of the device.",
				"access": false,
				"array": false,
				"ProtocolVersionsSupported": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the supported protocol versions. Enumeration of: 3.1, 3.1.1, 5.0.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"3.1",
							"3.1.1",
							"5.0"
						]
					}
				},
				"TransportProtocolSupported": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the supported transport protocols. Enumeration of: TCP/IP, TLS, WebSocket, WebSocketTLS.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"TCP/IP",
							"TLS",
							"WebSocket",
							"WebSocketTLS"
						]
					}
				},
				"MaxNumberOfClientSubscriptions": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the maximum number of subscriptions per MQTT client, which can be stored in the <<object|#.Client.<i>.Subscription>> table. A value of 0 means no limit.",
					"datatype": "unsignedInt"
				},
				"MaxNumberOfBrokerBridges": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the maximum number of bridges, which can be configured in the <<object|#.Broker.<i>.Bridge>> table. A value of 0 means no limit.",
					"datatype": "unsignedInt"
				},
				"MaxNumberOfBrokerBridgeSubscriptions": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the maximum number of subscriptions, which can be stored per bridge instance in the <<object|#.Broker.<i>.Bridge.<i>.Subscription>> table. A value of 0 means no limit.",
					"datatype": "unsignedInt"
				}
			},
			"Device.MQTT.Client.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "MQTT client table. Contains a list of configured MQTT clients.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the MQTT client.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allows to enable or disable the MQTT client. If a MQTT client gets enabled then the MQTT client has first to establish a MQTT broker session and then subscribe for all enabled topics in the <<object|Subscription.>> table. If the <<param|ProtocolVersion>> is set to <<enum|3.1|#.Capabilities.ProtocolVersionsSupported>> or <<enum|3.1.1|#.Capabilities.ProtocolVersionsSupported>> and <<param|CleanSession>> is set to <<false>> a subscription MUST only be sent for topics which havent been subscribed before (see <<bibref|MQTT311|section 3.1.2.4>>). If the <<param|ProtocolVersion>> is set to <<enum|5.0|#.Capabilities.ProtocolVersionsSupported>> and <<param|CleanStart>> is set to <<false>> a subscription MUST only be sent for topics which havent been subscribed before (see <<bibref|MQTT50|section 3.1.2.4>>). If a connected MQTT client gets disabled (<<param|Status>> is either <<enum|Connecting|Status>> or <<enum|Connected|Status>>) then the MQTT client has to send a MQTT DISCONNECT packet to disconnect from the MQTT broker (see <<bibref|MQTT311|section 3.14>> or <<bibref|MQTT50|section 3.14>>), before setting the <<param|Status>> to <<enum|Disabled|Status>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the status of this MQTT client. Enumeration of: Disabled, Connecting, Connected, Error_Misconfigured, Error_BrokerUnreachable, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid (e.g. The MQTT client can not use the defined port, because it is blocked) The <<enum|Error_BrokerUnreachable>> value indicates that the connection to the MQTT broker could not be established. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Connecting",
						"Connected",
						"Error_Misconfigured",
						"Error_BrokerUnreachable",
						"Error"
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP Interface associated with the <<object>> entry. <<template|INTERFACE-ROUTING>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ProtocolVersion": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the MQTT protocol version used in the communication with the MQTT broker.",
					"datatype": "string"
				},
				"EnableEncryption": {
					"type": "boolean",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<true>>, encryption MUST be used for this MQTT <<object>> instance. <<deprecated|2.15|because it duplicates the functionality already handled by the <<param|TransportProtocol>> parameter>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"default": "true",
					"datatype": "boolean"
				},
				"BrokerAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Host name or IP address of the MQTT Broker.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"BrokerPort": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Port number of the MQTT broker.",
					"default": "1883",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				},
				"TransportProtocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the transport protocol to be used for the MQTT broker connection.",
					"default": "TCP/IP",
					"datatype": "string"
				},
				"CleanSession": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value of the MQTT clean session flag in the MQTT CONNECT packet (see <<bibref|MQTT311|section 3.1>> and <<bibref|MQTT311|section 3.1.2.4>>). If this flag is set to <<true>> (default), the MQTT broker will delete all subscription information after a Disconnect. <<template|MQTTReconnect>> This parameter only applies if <<param|ProtocolVersion>> is set to <<enum|3.1|#.Capabilities.ProtocolVersionsSupported>> or <<enum|3.1.1|#.Capabilities.ProtocolVersionsSupported>>.",
					"default": "true",
					"datatype": "boolean"
				},
				"CleanStart": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value of the MQTT Clean Start flag in the MQTT CONNECT packet (see <<bibref|MQTT50|section 3.1.2.4>>. If this flag is set to <<true>> (default), the MQTT broker will delete all subscription information after a Disconnect. <<template|MQTTReconnect>>. <<template|MQTT50ONLY>>",
					"default": "true",
					"datatype": "boolean"
				},
				"WillEnable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the will handling (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.2.5>>) or <<bibref|MQTT50|section 3.1.2.5>>). If the connection gets enabled and this parameter is set to <<true>> and either the parameter <<param|WillTopic>> or <<param|WillValue>> are <<empty>>, the CPE MUST set the <<param|Status>> to <<enum|Error_Misconfigured|Status>>. <<template|MQTTReconnect>>.",
					"datatype": "boolean"
				},
				"WillQoS": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MQTT QoS level assigned with the will message (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.2.6>>) or <<bibref|MQTT50|section 3.1.2.6>>). This parameter is only used if <<param|WillEnable>> is set to <<true>>. <<template|MQTTWillChange>>",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 2
						}
					]
				},
				"WillRetain": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicate to the MQTT broker to retain the Will over a Disconnect (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.2.7>>) or <<bibref|MQTT50|section 3.1.2.7>>). This parameter is only used if <<param|WillEnable>> is set to <<true>>. <<template|MQTTWillChange>>",
					"datatype": "boolean"
				},
				"KeepAliveTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Keep Alive Time in <<units>> defines the maximum wait time after which a packet has to be sent to the MQTT broker (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.2.10>>) or <<bibref|MQTT50|section 3.1.2.10>>). If no regular packet can be sent a MQTT PINGREQ packet is sent. A value of zero (0) means no keep alive packets are sent and the MQTT client is not disconnected by the server. <<template|MQTTReconnect>>",
					"default": "60",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 65535
						}
					],
					"unit": "seconds"
				},
				"ForceReconnect": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Disconnects the MQTT client from the MQTT broker and reconnects it again (toggle connection). It is only effective if the MQTT client is currently connected to the MQTT broker (Parameter <<param|Status|>> is <<enum|Connected|Status>>). If the MQTT client is in a different state, the parameter has no effect. This action parameter may be used to immediately apply changes in the MQTT connection settings.",
					"datatype": "boolean"
				},
				"SessionExpiryInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Session expiry interval in <<units>> defines the wait time before a session expires after the connection has been closed by the MQTT client <<bibref|MQTT50|section 3.1.2.11.2>>). <<template|MQTT50ONLY>>",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"ReceiveMaximum": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MQTT client uses this value to limit the number of QoS 1 and QoS 2 publications that it is willing to process concurrently (see <<bibref|MQTT50|section 3.1.2.11.3>>). <<template|MQTTReconnect>> <<template|MQTT50ONLY>>",
					"datatype": "unsignedInt"
				},
				"MaximumPacketSize": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum packet size in <<units>> the MQTT client can and will accept from the MQTT broker. A value of 0 means no limit. If the value is set to another value, the MQTT client will inform the broker in the next CONNECT packet <<bibref|MQTT50|section 3.1.2.11.4>>). <<template|MQTTReconnect>> <<template|MQTT50ONLY>>",
					"datatype": "unsignedInt",
					"unit": "byte"
				},
				"TopicAliasMaximum": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This value indicates the highest value that the MQTT client will accept as a Topic Alias sent by the Server (see <<bibref|MQTT50|section 3.1.2.11.5>>). The MQTT client uses this value to limit the number of Topic Aliases that it is willing to hold on this connection. A value of 0 indicates that Topic Alias is not supported. <<template|MQTTReconnect>> <<template|MQTT50ONLY>>",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"RequestResponseInfo": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MQTT client uses this value in a MQTT CONNECT packet to request the Server to return Response Information in the MQTT CONNACK (see <<bibref|MQTT50|section 3.1.2.11.6>>). <<template|MQTTReconnect>> <<template|MQTT50ONLY>>",
					"datatype": "boolean"
				},
				"RequestProblemInfo": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This value indicates whether the Reason String or User Properties are sent in the case of failures.(see <<bibref|MQTT50|section 3.1.2.11.7>>). <<template|MQTTReconnect>> <<template|MQTT50ONLY>>",
					"datatype": "boolean"
				},
				"AuthenticationMethod": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This value defines the extended authentication method to be used (see <<bibref|MQTT50|section 3.1.2.11.9>>). If the parameter is empty, no extended authentication is performed. <<template|MQTTReconnect>> <<template|MQTT50ONLY>>",
					"datatype": "string",
					"range": [
						{
							"min": 0,
							"max": 256
						}
					]
				},
				"ALPN": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The supported protocol(s) to be advertised in a TLS handshake using the `Application-Layer Protocol Negotiation (ALPN)` extension as defined in <<bibref|RFC7301>>. If the parameter is empty, that is an indication that ALPN is not being used. <<template|MQTTReconnect>>",
					"default": "[]",
					"list": {
						"datatype": "string",
						"range": [
							{
								"min": 0,
								"max": 256
							}
						]
					}
				},
				"ClientID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MQTT client identifier used in the MQTT CONNECT packet (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.3.1>>) or <<bibref|MQTT50|section 3.1.3.1>>). If <<param|ProtocolVersion>> is set to <<enum|3.1|#.Capabilities.ProtocolVersionsSupported>> or <<enum|3.1.1|#.Capabilities.ProtocolVersionsSupported>>, this parameter MUST NOT be an empty string. If <<param|ProtocolVersion>> is set to <<enum|5.0|#.Capabilities.ProtocolVersionsSupported>>, an empty string is allowed. <<template|MQTTReconnect>>",
					"datatype": "string",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"WillDelayInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The delay in <<units>> after the session is disconnected, before sending the Will message <<bibref|MQTT50|section 3.1.3.2.2>>). A value of 0 indicates that there is no delay. <<template|MQTTWillChange>> <<template|MQTT50ONLY>>",
					"default": "5",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"WillMessageExpiryInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The lifetime in <<units>> of a Will Message (see <<bibref|MQTT50|section 3.1.3.2.4>>). A value of 0 indicates that no message expiry interval value is specified for in the will message properties of a CONNECT packet. <<template|MQTT50ONLY>>",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"WillContentType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the type of the <<param|WillValue>> <<bibref|MQTT50|section 3.1.3.2.5>>). <<template|MQTTWillChange>> <<template|MQTT50ONLY>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"WillResponseTopic": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Topic Name for a will response message. The presence of a Response Topic identifies the Will Message as a Request <<bibref|MQTT50|section 3.1.3.2.6>>). If the <<param>> is an empty string the will response topic will not be sent in a MQTT CONNECT packet. <<template|MQTTWillChange>> <<template|MQTT50ONLY>>",
					"datatype": "string",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"WillTopic": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Topic sent in the Will Message (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.3.3>>) or <<bibref|MQTT50|section 3.1.3.3>>). This parameter is only used if <<param|WillEnable>> is set to <<true>>. <<template|MQTTWillChange>>",
					"datatype": "string",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"WillValue": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value sent in the Will Message (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.2.5>>) or <<bibref|MQTT50|section 3.1.3.4>>). This parameter is only used if <<param|WillEnable>> is set to <<true>>. <<template|MQTTWillChange>>",
					"datatype": "string",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Username used to authenticate the MQTT client when making a connection to the MQTT broker. The value is sent in the MQTT CONNECT packet (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.3.4>> or <<bibref|MQTT50|section 3.1.3.5>>). If this parameter is <<empty>> no authentication parameters are sent in the MQTT CONNECT packet.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Password used to authenticate the MQTT client when making a connection to the MQTT broker. The value is sent in the MQTT CONNECT packet (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.3.5>> or <<bibref|MQTT50|section 3.1.3.6>>). This password is only sent in the MQTT CONNECT packet if <<param|Username>> is not <<empty>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"PublishMessageExpiryInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The lifetime in <<units>> of a PUBLISH Message (see <<bibref|MQTT50|section 3.3.2.3.3>>). A value of 0 indicates that no message expiry interval value is included in the PUBLISH packet. <<template|MQTT50ONLY>>",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"MessageRetryTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Message retry time in <<units>> defines the wait time before a MQTT message that expects a response (QoS value of message is > 0, or PUBLISH, PUBREL, SUBSCRIBE, UNSUBSCRIBE message) is resent, because the response is not received (see <<bibref|MQTT311|section 4.2>>). This parameter only applies if <<param|ProtocolVersion>> is set to <<enum|3.1|#.Capabilities.ProtocolVersionsSupported>>.",
					"default": "5",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"ConnectRetryTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Connect retry time in <<units>> defines the wait time before a failed MQTT broker connection is retried. A failure can either be on the connection level (the TCP/IP or TLS can not be established) or on the Protocol level, the MQTT client does not receive a MQTT CONNACK packet on a MQTT CONNECT packet sent. If the parameter <<param|ConnectRetryIntervalMultiplier>> is defined, the MQTT client MUST use a random value between <<param>>*(<<param|ConnectRetryIntervalMultiplier>>/1000)^(n-1)^ and <<param>>*(<<param|ConnectRetryIntervalMultiplier>>/1000)^n^ for the connect retry time, with n equals the current retry number. The max number of n is 10, starting with the 11th retry always the value n = 10 is used. If the parameters <<param|ConnectRetryIntervalMultiplier>> and <<param|ConnectRetryMaxInterval>> are defined, the MQTT client MUST use the value of <<param|ConnectRetryMaxInterval>> if the calculated random value exceeds the value of <<param|ConnectRetryMaxInterval>>.",
					"default": "5",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"ConnectRetryIntervalMultiplier": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Configures the retry interval multiplier. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535.",
					"default": "2000",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1000,
							"max": 65535
						}
					]
				},
				"ConnectRetryMaxInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum reconnection wait interval, in <<units>>.",
					"default": "30720",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"ResponseInformation": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The value of the CONNACK Response Information property supplied by a MQTT 5.0 server. This value is used by a MQTT 5.0 client as the basis for the PUBLISH Response Topic property for all PUBLISH packets that expect a response. If the value of <<param>> is not a subset (wildcarded or precise match) of any of the <<param|Subscription.<i>.Topic>> values the MQTT client MUST subscribe to this Topic.",
					"datatype": "string",
					"range": [
						{
							"max": 65535
						}
					]
				},
				"SubscriptionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"UserPropertyNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ForceReconnect()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Device.MQTT.Client.{i}.Subscription.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "List of MQTT subscriptions handled by the MQTT client. The MQTT client MUST subscribe with the MQTT broker for all subscription instances, whose parameter <<param|Enable>> is set to <<true>>, when it establishes a new connection to the MQTT broker. Disabled subscription instances with <<param|Enable>> set to <<false>> will be ignored during connection establishment.",
					"uniqueKeys": [
						"Alias",
						"Topic"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When a MQTT client connects to a MQTT server, it MUST send a SUBSCRIBE message including all instances with <<param>> set to <<true>>. If the MQTT client is already connected with the MQTT server (<<param|#.Status>> is <<enum|Connected|#.Status>>), a MQTT SUBSCRIBE or UNSUBSCRIBE message MUST be sent directly when <<param>> is changed to <<true>> or <<false>>, respectively. The actual status of the subscription is indicated with <<param|Status>>.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the status of this subscription. Enumeration of: Unsubscribed, Subscribed, Subscribing, Unsubscribing, Error. The <<enum|Subscribed>> value indicates that the topic was successfully subscribed with the MQTT broker, the MQTT client received the SUBACK message for this topic from the server. The <<enum|Subscribing>> value MAY be used by the CPE to indicate that the a SUBSCRIBE message for this topic was sent, and the CPE is waiting for a SUBACK message. The <<enum|Unsubscribed>> value indicates that the topic is not registered with the MQTT broker. The <<enum|Unsubscribing>> value MAY be used by the CPE to indicate that an UNSUBSCRIBE message for this topic was sent, and the CPE is waiting for an UNSUBACK message. If the <<param|Enable>> is set to <<false>> the status MUST be either <<enum|Unsubscribed>> or if the unsubscription failed <<enum|Error>>.",
						"datatype": "string",
						"enumerations": [
							"Unsubscribed",
							"Subscribed",
							"Subscribing",
							"Unsubscribing",
							"Error"
						]
					},
					"Topic": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the subscribed topic. Topic names may contain wildcards according to the rules specified in <<bibref|MQTT311|section Appendix A>>, <<bibref|MQTT311|section 4.7>> or <<bibref|MQTT50|4.7>>.",
						"datatype": "string",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"QoS": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The MQTT QoS level assigned with the subscription (see <<bibref|MQTT311|section 4.1>>, <<bibref|MQTT311|section 4.3>>) or <<bibref|MQTT50|4.3>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 2
							}
						]
					}
				},
				"Device.MQTT.Client.{i}.UserProperty.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "List of user properties used by the MQTT client. This table only applies if <<param|#.ProtocolVersion>> is set to <<enum|5.0|##.Capabilities.ProtocolVersionsSupported>>.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Setting Enable to <<true>> means the user property is used in the indicated control packet(s). The user property will be applied to all control packets of the same control packet type (e.g PUBLISH).",
						"datatype": "boolean"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the user property",
						"datatype": "string",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"Value": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Value of the user property",
						"datatype": "string",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"PacketType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> Each entry defines the control packet type(s) in which the user property is included.",
						"list": {
							"datatype": "string",
							"enumerations": [
								"AUTH",
								"CONNECT",
								"DISCONNECT",
								"PUBLISH",
								"PUBACK",
								"PUBREC",
								"PUBREL",
								"PUBCOMP",
								"SUBSCRIBE",
								"UNSUBSCRIBE",
								"WILL"
							]
						}
					}
				},
				"Device.MQTT.Client.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Contains the MQTT client statistics and usage information. The CPE MUST reset the Stats parameters after the MQTT client gets (re-)enabled or if the MQTT client connects with a new MQTT broker (e.g. <<param|#.BrokerAddress>> has changed). The CPE MAY retain the values across a reboot if it reconnects with the same MQTT broker.",
					"access": false,
					"array": false,
					"BrokerConnectionEstablished": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Time when the MQTT broker connection was established.",
						"datatype": "dateTime"
					},
					"LastPublishMessageSent": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Time when the last publish message was sent to the MQTT broker.",
						"datatype": "dateTime"
					},
					"LastPublishMessageReceived": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Time when the last publish message was received from the MQTT broker.",
						"datatype": "dateTime"
					},
					"PublishSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of publish messages sent to the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"PublishReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of publish messages received from to the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"SubscribeSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of subscribe messages sent to the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"UnSubscribeSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of unsubscribe messages sent to the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"MQTTMessagesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Total number of MQTT messages sent to the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"MQTTMessagesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Total number of MQTT messages received from the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"ConnectionErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of connection errors.",
						"datatype": "StatsCounter32"
					},
					"PublishErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of errors which prevented sending publish messages.",
						"datatype": "StatsCounter32"
					}
				}
			},
			"Device.MQTT.Broker.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "MQTT broker table. Contains a list of configured MQTT brokers.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the MQTT broker.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allows to enable or disable the MQTT broker.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the status of the MQTT broker. Enumeration of: Disabled, Enabled, Error_Misconfigured, Error. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error_Misconfigured",
						"Error"
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Port used by the MQTT Broker.",
					"default": "1883",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If <<empty>> is specified, the CPE MUST bind the MQTT broker to all available interfaces.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "User name used to authenticate the MQTT clients, which connect to the MQTT broker. If this parameter is <<empty>> no authentication is used.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Password used used to authenticate the MQTT clients, which connect to the MQTT broker. This password is only used if <<param|Username>> is not <<empty>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"BridgeNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.MQTT.Broker.{i}.Bridge.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Configures MQTT bridges, which are used to communicate with other MQTT brokers.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The textual name of the MQTT bridge used for identification.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Allows to enable or disable the MQTT Bridge.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the status of this MQTT Bridge. Enumeration of: Disabled, Connecting, Connected, Enabled, Error_Misconfigured, Error_BrokerUnreachable, Error. The <<enum|Disabled>> value indicates that the MQTT bridge is not in service; parameter <<param|Enable>> is set to <<false>>. The <<enum|Connecting>> value indicates that the MQTT bridge is currently established. The <<enum|Connected>> value indicates that the MQTT bridge is currently active. The <<enum|Error_Misconfigured>> value indicates that a necessary configuration value is undefined or invalid (e.g. No active Server entry, the MQTT broker can not use the defined bridge port, because it is blocked) The <<enum|Error_BrokerUnreachable>> value indicates that the MQTT bridge connection to the remote MQTT broker could not be established. The <<enum|Error>> value MAY be used to indicate a locally defined error condition.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Connecting",
							"Connected",
							"Enabled",
							"Error_Misconfigured",
							"Error_BrokerUnreachable",
							"Error"
						]
					},
					"ProtocolVersion": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the MQTT protocol version used in the MQTT bridge connection.",
						"datatype": "string"
					},
					"TransportProtocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates the transport protocol to be used for the MQTT bridge connection.",
						"default": "TCP/IP",
						"datatype": "string"
					},
					"CleanSession": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the MQTT clean session flag in the MQTT CONNECT packet (see <<bibref|MQTT311|section 3.1>> and <<bibref|MQTT311|section 3.1.2.4>>) to establish a MQTT bridge connection. If this flag is set to <<true>> (default), the remote MQTT broker will delete all subscription information after a Disconnect. <<template|MQTTReconnect>> This parameter only applies if <<param|ProtocolVersion>> is set to <<enum|3.1|##.Capabilities.ProtocolVersionsSupported>> or <<enum|3.1.1|##.Capabilities.ProtocolVersionsSupported>>.",
						"default": "true",
						"datatype": "boolean"
					},
					"CleanStart": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The value of the MQTT Clean Start flag in the MQTT CONNECT packet (see <<bibref|MQTT50|section 3.1.2.4>> to establish a MQTT bridge connection. If this flag is set to <<true>> (default), the remote MQTT broker will delete all subscription information after a Disconnect. <<template|MQTTReconnect>>. This parameter only applies if <<param|ProtocolVersion>> is set to <<enum|5.0|##.Capabilities.ProtocolVersionsSupported>>.",
						"default": "true",
						"datatype": "boolean"
					},
					"KeepAliveTime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Keep Alive Time in <<units>> defines the maximum wait time after which a packet has to be sent to the remote MQTT broker (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.2.10>>) or <<bibref|MQTT50|section 3.1.2.10>>). If no regular packet can be sent a MQTT PINGREQ packet is sent. A value of zero (0) means no keep alive packets are sent and the bridge is not disconnected by the server. <<template|MQTTReconnect>>",
						"default": "60",
						"datatype": "unsignedInt",
						"range": [
							{
								"max": 65535
							}
						],
						"unit": "seconds"
					},
					"ForceReconnect": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Disconnects the MQTT bridge to the remote MQTT broker and reconnects it again (toggle connection). It is only effective if the MQTT bridge is currently connected to the remote MQTT broker (Parameter <<param|Status|>> is <<enum|Connected|Status>>). If the MQTT bridge is in a different state, the parameter has no effect. This action parameter may be used to immediately apply changes in the MQTT connection settings.",
						"datatype": "boolean"
					},
					"ClientID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The MQTT client identifier used in the CONNECT packet (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.3.1>>) or <<bibref|MQTT50|section 3.1.3.1>>). If <<param|ProtocolVersion>> is set to <<enum|3.1|##.Capabilities.ProtocolVersionsSupported>> or <<enum|3.1.1|##.Capabilities.ProtocolVersionsSupported>>, this parameter MUST NOT be an empty string. If <<param|ProtocolVersion>> is set to <<enum|5.0|##.Capabilities.ProtocolVersionsSupported>>, an empty string is allowed. <<template|MQTTReconnect>>",
						"datatype": "string",
						"range": [
							{
								"min": 0,
								"max": 65535
							}
						]
					},
					"Username": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "User name used to authenticate the MQTT broker when making a connection over the MQTT bridge. The value is sent in the MQTT CONNECT packet (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.3.4>> or <<bibref|MQTT50|section 3.1.3.5>>). If this parameter is <<empty>> no authentication parameters are sent in the MQTT CONNECT packet.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Password": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Password used to authenticate the MQTT broker when making a connection over the MQTT bridge. The value is sent in the MQTT CONNECT packet (see <<bibref|MQTT311|section 3.1>>, <<bibref|MQTT311|section 3.1.3.5>> or <<bibref|MQTT50|section 3.1.3.6>>). This password is only sent in the MQTT CONNECT packet if <<param|Username>> is not <<empty>>.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"MessageRetryTime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Message retry time in <<units>> defines the wait time before a MQTT message that expects a response (QoS value of message is > 0, or PUBLISH, PUBREL, SUBSCRIBE, UNSUBSCRIBE message) is resent, because the response is not received (see <<bibref|MQTT311|section 4.2>>. This parameter only applies if <<param|ProtocolVersion>> is set to <<enum|3.1|##.Capabilities.ProtocolVersionsSupported>>.",
						"default": "5",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "seconds"
					},
					"ConnectRetryTime": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Connect retry time in <<units>> defines the wait time before a failed bridge connection is retried. A failure can either be on the connection level (e.g. the TCP/IP or TLS connection can not be established) or on the Protocol level, the MQTT client does not receive a MQTT CONNACK packet on a MQTT CONNECT packet sent.",
						"default": "30",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "seconds"
					},
					"ServerSelectionAlgorithm": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The algorithm used to select a server entry from the <<object|Server>> table",
						"datatype": "string",
						"enumerations": [
							"Priority",
							"RoundRobin",
							"Random"
						]
					},
					"ServerConnection": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|the <<object|Server.>> instance that is used for this <<object>>, while the <<param|Status>> is <<enum|Connecting|Status>> or <<enum|Connected|Status>>. If the MQTT bridge is not connected the value MUST be an empty string>>",
						"datatype": "string"
					},
					"ServerNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"SubscriptionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ForceReconnect()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					},
					"Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each <<object>> instance represents a MQTT bridge server to be used for a <<object|##.Bridge>>. A remote MQTT broker, which is connected by a MQTT bridge can be reachable via several host addresses each represented by its own <<object>> table entry. For an active MQTT bridge at least one enabled entry has to exist. If a MQTT bridge gets enabled by setting the parameter <<param|##.Bridge.<i>.Enable>> to <<true>>, which either has an empty <<object>> table or the <<object>> table only contains instances whose <<param|Enable>> is set to <<false>>, the <<param|##.Bridge.<i>.Status>> has to be set to <<enum|Error_Misconfigured|##.Bridge.<i>.Status>>. Any attempt to delete an instance, which is currently in use (<<param|##.Bridge.<i>.ServerConnection>> refers to the instance to be deleted), has to be rejected.",
						"uniqueKeys": [
							"Alias",
							"Address",
							"Port"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this <<object>>.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Priority": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The priority of this <<object>> that is used by the <<object|##.Bridge>> when determining the <<object>> to connect to. The <<object|##.Bridge>> MUST contact the <<object>> with the lowest-numbered priority that the <<object|##.Bridge>> can reach as defined in <<bibref|RFC2782>>. The selection of <<object>>s with the same <<param>> value utilizes the <<param|Weight>> parameter to determine which <<object>> is selected by the <<object|##.Bridge>>. This value is only used if <<param|##.Bridge.<i>.ServerSelectionAlgorithm>> is set to <<enum|Priority|##.Bridge.<i>.ServerSelectionAlgorithm>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 65535
								}
							]
						},
						"Weight": {
							"type": "long",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This parameter specifies a relative weight for entries with the same <<param|Priority>>. The mechanism is defined in <<bibref|RFC2782>>. A value of -1 indicates that the implementation of this parameter is specific to the Vendor. This value is only used if <<param|##.Bridge.<i>.ServerSelectionAlgorithm>> is set to <<enum|Priority|##.Bridge.<i>.ServerSelectionAlgorithm>>.",
							"datatype": "long",
							"range": [
								{
									"min": -1,
									"max": 65535
								}
							]
						},
						"Address": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Fully Qualified Domain Name (FQDN) or IP address of the MQTT broker server this <<object|##.Bridge>> connects to. If the value of this parameter is a FQDN that resolves to multiple addresses then each address SHOULD be attempted (in an implementation-specific order) until a connection can be made or all addresses are exhausted, in which case the next <<object>> instance (based on rules defined over the selected <<param|##.Bridge.<i>.ServerSelectionAlgorithm>>) SHOULD be used.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Port": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Port number of the MQTT broker server this <<object|##.Bridge>> connects to.",
							"default": "1883",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						}
					},
					"Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "List of MQTT subscriptions handled over the bridge.",
						"uniqueKeys": [
							"Alias",
							"Topic",
							"Direction"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Setting Enable to <<true>> activates the handling of this subscription instance. In case of incoming directions (<<param|Direction>> is either <<enum|in|Direction>> or <<enum|both|Direction>>) the topic is subscribed over the bridge at the remote MQTT broker with a MQTT SUBSCRIBE message if <<param>> is set to <<true>> or unsubscribed from the remote MQTT broker with a MQTT UNSUBSCRIBE message if the value is set to <<false>>. The actual status of the subscription is indicated with <<param|Status>>.",
							"datatype": "boolean"
						},
						"Status": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Indicates the status of this subscription. Enumeration of: Enabled, Disabled, Error. The <<enum|Enabled>> value indicates that the this subscription is active. In case of incoming directions (<<param|Direction>> is either <<enum|in|Direction>> or <<enum|both|Direction>>) the topic was successfully subscribed with the remote MQTT broker. The <<enum|Disabled>> value indicates that this subscription is not used. The <<enum|Error>> value indicates that an error occurred (e.g. an subscription could not be made with the remote MQTT broker) and the subscription is not in use.",
							"datatype": "string",
							"enumerations": [
								"Enabled",
								"Disabled",
								"Error"
							]
						},
						"Topic": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Name of the subscribed topic. Topic names may contain wildcards according to the rules specified in <<bibref|MQTT311|section Appendix A>>, <<bibref|MQTT311|section 4.7>> or <<bibref|MQTT50|4.7>>.",
							"datatype": "string",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"Direction": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The direction of the subscription. Enumeration of: out, in, both..",
							"datatype": "string",
							"enumerations": [
								"out",
								"in",
								"both"
							]
						},
						"QoS": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The MQTT QoS level assigned with the subscription (see <<bibref|MQTT311|section 4.1>>, <<bibref|MQTT311|section 4.3>>) or <<bibref|MQTT50|4.3>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 2
								}
							]
						},
						"LocalPrefix": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The local prefix is used for remapping received topics to the local topics of the MQTT broker and to select the topics to be sent over bridge to the remote MQTT broker. * In incoming direction (<<param|Direction>> is either <<enum|in|Direction>> or <<enum|both|Direction>>): : For remote topics received over the bridge the MQTT broker adds the LocalPrefix in front of the received topic, before processing it. :: : Example: :: Topic is /bus/+, LocalPrefix is /local, Direction is in :: MQTT broker receives message with topic /bus/tr181 over bridge => MQTT broker uses topic /local/bus/tr181 for internal processing * In outgoing direction (<<param|Direction>> is either <<enum|out|Direction>> or <<enum|both|Direction>>): : For selection of the topics to be sent over the bridge the MQTT broker uses the combination of <<param>> and <<param|Topic>> to match the topics to be sent over bridge, and removes the <<param>> from the selected topic before sending it over the bridge. :: : Example: :: Topic is /bus/+, LocalPrefix is /local, Direction is out :: MQTT broker receives message with topic /local/bus/tr181 from a MQTT client => MQTT broker sends topic /bus/tr181 to remote MQTT broker",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"RemotePrefix": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The remote prefix is used for remapping topics to the remote MQTT broker topic lists. * In incoming direction (<<param|Direction>> is either <<enum|in|Direction>> or <<enum|both|Direction>>): : For remote topics received over the bridge the MQTT broker removes the remote prefix topic from the received topic (before handling the <<param|LocalPrefix>>), before processing it. :: : Example: :: Topic is /bus/+, LocalPrefix is /local, RemotePrefix is /remote, Direction is in :: MQTT broker receives message with topic /remote/bus/tr181 over bridge => MQTT broker uses topic /local/bus/tr181 for internal processing : During activation of the bridge, the MQTT broker prepends the <<param|Topic>> with <<param>> topic and subscribes to the remote MQTT broker with it, in order to receive all applicable remote topics. :: : Example: :: Topic is /bus/+, RemotePrefix is /remote, Direction is in :: MQTT broker sends a subscription to the remote MQTT broker with the topic /remote/bus/+. * In outgoing direction (<<param|Direction>> is either <<enum|out|Direction>> or <<enum|both|Direction>>): : For all topics to be sent over the bridge (<<param|Direction>> is either <<enum|out|Direction>> or <<enum|both|Direction>>), the RemotePrefix will be prepended to the topic after the <<param|LocalPrefix>> has been processed and before sending the message over the bridge. :: : Example: :: Topic is /bus/+, LocalPrefix is /local, RemotePrefix is /remote Direction is out :: MQTT broker receives message with topic /local/bus/tr181 from a MQTT client => MQTT broker sends topic /remote/bus/tr181 to remote MQTT broker",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				},
				"Device.MQTT.Broker.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The MQTT broker statistics values. These will reset with each MQTT broker start, either after reboot or if the MQTT broker gets (re-)enabled.",
					"access": false,
					"array": false,
					"TotalNumberOfClients": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Total number of MQTT clients registered with the MQTT broker.",
						"datatype": "unsignedInt"
					},
					"NumberOfActiveClients": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of MQTT clients, which have a connection with the MQTT broker established.",
						"datatype": "unsignedInt"
					},
					"NumberOfInactiveClients": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of MQTT clients, which have no connection with the MQTT broker established.",
						"datatype": "unsignedInt"
					},
					"Subscriptions": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of subscriptions held by the MQTT broker.",
						"datatype": "unsignedInt"
					},
					"PublishSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of publish messages sent by the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"PublishReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of publish messages received by the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"MQTTMessagesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Total number of MQTT messages sent by the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"MQTTMessagesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Total number of MQTT messages received by the MQTT broker.",
						"datatype": "StatsCounter64"
					},
					"ConnectionErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of connection errors.",
						"datatype": "StatsCounter32"
					},
					"PublishErrors": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Number of errors which prevented sending publish messages",
						"datatype": "StatsCounter32"
					}
				}
			}
		},
		"Device.DynamicDNS.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Properties for Dynamic DNS.",
			"access": false,
			"array": false,
			"ClientNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ServerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SupportedServices": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "List of Dynamic DNS service names that are supported by the CPE.",
				"list": {
					"datatype": "string",
					"maxsize": 1024
				}
			},
			"Device.DynamicDNS.Client.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Client properties for Dynamic DNS. A dynamic DNS client is responsible for verifying IP address changes and updating information from a subscribed account on a Dynamic DNS Server. For enabled table entries, if <<param|Server>> is not a valid reference then the table entry is inoperable and the CPE MUST set the <<param|Status>> to <<enum|Error_Misconfigured|Status>>.",
				"uniqueKeys": [
					"Server",
					"Username",
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this Dynamic DNS Client.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Status of this Dynamic DNS Client.",
					"datatype": "string",
					"enumerations": [
						"Connecting",
						"Authenticating",
						"Updated",
						"Error_Misconfigured",
						"Error",
						"Disabled"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"LastError": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The last error this Dynamic DNS Client has encountered. The parameter MAY instead indicate a vendor-specific cause, which MUST use the format defined in <<bibref|TR-106>>.",
					"datatype": "string",
					"enumerations": [
						"NO_ERROR",
						"MISCONFIGURATION_ERROR",
						"DNS_ERROR",
						"CONNECTION_ERROR",
						"AUTHENTICATION_ERROR",
						"TIMEOUT_ERROR",
						"PROTOCOL_ERROR"
					]
				},
				"Server": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The DynamicDNS server associated with this Dynamic DNS Client. <<reference>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP interface over which update queries to the server are sent. <<template|INTERFACE-ROUTING>> <<reference>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Username used by this Dynamic DNS Client to authenticate with the Server.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Password used by this Dynamic DNS Client to authenticate with the Server.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"HostnameNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.DynamicDNS.Client.{i}.Hostname.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each table entry represents a fully qualified domain name updated by this Dynamic DNS Client.",
					"uniqueKeys": [
						"Name"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this Hostname.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Status of this Hostname.",
						"datatype": "string",
						"enumerations": [
							"Registered",
							"UpdateNeeded",
							"Updating",
							"Error",
							"Disabled"
						]
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Fully qualified domain name that has to be updated with the IP address. If the name is set to another value, the Client MUST immediately send an update request to the Server.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"LastUpdate": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date time of the last successful update of this name to the Dynamic DNS Server.",
						"datatype": "dateTime"
					}
				}
			},
			"Device.DynamicDNS.Server.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Table of Dynamic DNS servers available for this CPE.",
				"uniqueKeys": [
					"Name",
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables Dynamic DNS Server. Note: This parameter was previously wrongly defined as a string.",
					"datatype": "boolean"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the Dynamic DNS Server.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"ServiceName": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Dynamic DNS service used to contact this server. <<reference>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ServerAddress": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Host name or IP address of the Dynamic DNS server.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ServerPort": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Port number of the Dynamic DNS server.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 65535
						}
					]
				},
				"SupportedProtocols": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the protocols that are supported by the CPE for sending requests to the Dynamic DNS server. <<list>> This list depends on the Dynamic DNS service defined by the <<param|ServiceName>> parameter.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"HTTP",
							"HTTPS"
						]
					}
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the protocol used to send requests to the Dynamic DNS server.",
					"datatype": "string"
				},
				"CheckInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Interval (in <<units>>) between two checks for IP change. A value of zero indicates that the CPE knows when IP changes and doesn\u2019t need to check it periodically.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"RetryInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Initial retry interval (in <<units>>) after a failed request. This parameter can be used as a fixed value or as part of a retry interval calculation.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"MaxRetries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum number of retries after a failed request. When the maximum number is reached, no further requests are sent until the context changes. A value of 0 means that there are no retries after a failed request.",
					"datatype": "unsignedInt"
				}
			}
		},
		"Device.LEDs.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object describes the LEDs on the device.",
			"access": false,
			"array": false,
			"LEDNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.LEDs.LED.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Each instance of this object describes an LED on the device. The default illumination characteristics (e.g., Color, Brightness) of an in use LED is vendor specific. When a cycle completes (i.e., <<param|CyclePeriodRepetitions>> = 0), the LED reverts back to its default illumination characteristics. When the value of the <<param|Status>> parameter is <<enum|Controlled|Status>>, then the value of <<param|CycleElementNumberOfEntries>> and <<param|CycleElementNumberOfEntries>> parameters SHOULD be 0. When the value of the <<param|RelativeXPosition>> and <<param|RelativeYPosition>> parameters are 0, this indicates that the position of the LED is unknown.",
				"uniqueKeys": [
					"Name",
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Switches on or off the power of the LED.",
					"datatype": "boolean"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The internal name used to identify this LED.",
					"datatype": "string"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of the LED.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"InUse",
						"Controlled",
						"Error"
					]
				},
				"Reason": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual purpose that represents the visual display of the LED (e.g., Broadband Down).",
					"datatype": "string"
				},
				"CyclePeriodRepetitions": {
					"type": "int",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of cycle periods left for this LED. As each cycle period is completed this parameter is reduced by 1. A value of -1 indicates an infinite number of cycle period repetitions.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"Location": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The location of the LED as the user looks at the front of the device in its typical orientation (e.g., on-end, flat).",
					"datatype": "string",
					"enumerations": [
						"Front",
						"Back",
						"Left",
						"Right",
						"Top",
						"Bottom"
					]
				},
				"RelativeXPosition": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The relative x position of the LED from left to right (x) and top to bottom (y) as the user looks at the device from the orientation identified in the <<param|Location>> parameter in its typical orientation (e.g., on-end, flat).",
					"datatype": "unsignedInt"
				},
				"RelativeYPosition": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The relative y position of the LED from left to right (x) and top to bottom (y) as the user looks at the device from the orientation identified in the <<param|Location>> parameter in its typical orientation (e.g., on-end, flat).",
					"datatype": "unsignedInt"
				},
				"MaxBrightness": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum allowed brightness level for the LED. This value is determined by the hardware capabilities.",
					"datatype": "unsignedInt"
				},
				"CycleElementNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.LEDs.LED.{i}.CycleElement.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each instance of this object describes the LED characteristics for a portion of the LED cycle period. The pattern of lighting for the LED corresponding to this table (i.e., the LED cycle period) is defined by the illumination of the LED according to the entries in this table, taken sequentially in the order specified by the <<param|Order>> parameter, with the duration for the portion of the LED illumination corresponding to a given instance specified by the <<param|Duration>> parameter. The other parameters of the instance of this object (e.g., Color, Brightness) describes the illumination characteristics applied to the LED for this <<object>> instance. The length of the complete LED cycle is the sum of the Duration parameters for all of the entries in this table.",
					"uniqueKeys": [
						"Order",
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> instance.",
						"datatype": "boolean"
					},
					"Order": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The relative order of this <<object>> in the LEDs cycle period.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Color": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The color being displayed by the LED RGB hexadecimal notation (e.g., FF0088). Note: If the parameter is set to an unsupported color the CPE MUST NOT infer a different color.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 3,
								"max": 3
							}
						]
					},
					"Duration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The duration, in <<units>>, for this element of the cycle period.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"FadeInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The interval corresponding to this <<object>> instance, in <<units>>, from the starting from the target illumination characteristics of the previous <<object>> instance to the target illumination characteristics of this <<object>> instance. The transition to the target illumination characteristics is uniformly interpolated perceptually over the value of this <<param>> parameter.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"Brightness": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The desired brightness level for this element of the cycle period, expressed as a <<units>>, relative to the maximum allowed brightness value specified in <<param|#.MaxBrightness>>.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 100
							}
						],
						"unit": "percentage"
					}
				},
				"Device.LEDs.LED.{i}.CurrentCycleElement.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object describes the status of the current cycle element for this LED.",
					"access": false,
					"array": false,
					"CycleElementReference": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object describes the current properties of the <<object|#.CycleElement.<i>>> object instance that is currently active. <<reference>> If the LED instances does not have a current cycle element active, this parameter MUST be set to <<empty>>.",
						"datatype": "string"
					},
					"Color": {
						"type": "hexBinary",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The color, formatted as RGB hexadecimal notation (e.g., FF0088), that is currently being displayed by the LED.",
						"datatype": "hexBinary",
						"range": [
							{
								"min": 3,
								"max": 3
							}
						]
					},
					"Duration": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The remaining duration, in <<units>>, for this element of the cycle period.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					}
				}
			}
		},
		"Device.BASAPM.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object represents the objects necessary to manage and control the functionality for tests that utilize the Broadband Access Service Attributes and Performance Metrics measurement test framework as defined in by <<bibref|TR-304>>.",
			"access": false,
			"array": false,
			"MeasurementEndpointNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.BASAPM.MeasurementEndpoint.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object represents the measurement endpoint that provides additional contextual information regarding the measurement agent.",
				"uniqueKeys": [
					"Alias",
					"MeasurementAgent"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"MeasurementAgent": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|a <<object|##.LMAP.MeasurementAgent>> object that is associated with this measurement endpoint.>>",
					"datatype": "string"
				},
				"DeviceOwnership": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter describes the ownership of the device that hosts the measurement endpoint. Enumeration of: ISP, Customer.",
					"datatype": "string",
					"enumerations": [
						"ISP",
						"Customer"
					]
				},
				"OperationalDomain": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter describes the operational domain for this measurement endpoint",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"InternetDomain": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The top level Internet domain used to identify this measurement endpoint.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"UseMeasurementEndpointInReports": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the value of this parameter is <<false>> then the Measurement Endpoint MUST not be included in measurement reports.",
					"datatype": "boolean"
				},
				"Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents the information necessary to utilize an ISP owned device within the measurement endpoint.",
					"access": false,
					"array": false,
					"ReferencePoint": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter describes the measurement reference point of the measurement endpoint. Enumeration of: STP, IDTP, RNTP, IRTP, MTP, IATP, UNITP, CEDTP.",
						"datatype": "string",
						"enumerations": [
							"STP",
							"IDTP",
							"RNTP",
							"IRTP",
							"MTP",
							"IATP",
							"UNITP",
							"CEDTP"
						]
					},
					"GeographicalLocation": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|a <<object|###.DeviceInfo.Location>> object that describes the geographic location of the measurement endpoint>>",
						"datatype": "string"
					}
				},
				"Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents the information necessary to utilize customer owned device within the measurement endpoint.",
					"access": false,
					"array": false,
					"EquipmentIdentifier": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter describes the customer equipment identifier of the measurement endpoint.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"CustomerIdentifier": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The unique customer identifier within the operational domain for this measurement endpoint.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				}
			}
		},
		"Device.LMAP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object represents the objects necessary to manage and control the functionality for Large-Scale Measurement of Broadband Performance<<bibref|RFC7594>> as defined in by <<bibref|LMAPIFM>>.",
			"access": false,
			"array": false,
			"MeasurementAgentNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ReportNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"EventNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.LMAP.MeasurementAgent.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object represents the measurement agent that performs measurement tasks and reporting functions defined in <<bibref|RFC7594>>.",
				"uniqueKeys": [
					"Alias",
					"Identifier"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Version of the measurement agent.",
					"datatype": "string"
				},
				"LastStarted": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Date and time, based on <<bibref|RFC3339>>, in UTC that the measurement agent was successfully started.",
					"datatype": "dateTime"
				},
				"CapabilityTags": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Capabilities of the measurement agent that cannot be expressed elsewhere in the data model.",
					"list": {
						"datatype": "string"
					}
				},
				"Identifier": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the <<object>> instance.",
					"datatype": "UUID",
					"range": [
						{
							"min": 36,
							"max": 36
						}
					],
					"pattern": [
						"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
					]
				},
				"GroupIdentifier": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the measurement group of interest to which the measurement agent belongs.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"MeasurementPoint": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the measurement point indicating where the measurement agent is located on a path as defined in [bibref|RFC7398>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"UseAgentIdentifierInReports": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the value of the <<param|Identifier>> parameter is not <<empty>> and the value of this parameter is <<false>> then the value of the <<param|Identifier>> parameter MUST not be included in measurement reports.",
					"default": "true",
					"datatype": "boolean"
				},
				"UseGroupIdentifierInReports": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the value of the <<param|GroupIdentifier>> parameter is not <<empty>> and the value of this parameter is <<false>> then the value of the <<param|GroupIdentifier>> parameter MUST not be included in measurement reports.",
					"default": "false",
					"datatype": "boolean"
				},
				"UseMeasurementPointInReports": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "If the value of the <<param|MeasurementPoint>> parameter is not <<empty>> and the value of this parameter is <<false>> then the value of the <<param|MeasurementPoint>> parameter MUST not be included in measurement reports.",
					"default": "false",
					"datatype": "boolean"
				},
				"PublicCredential": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|a <<object|##.Security.Certificate>> object that is used to identify this measurement agent>>",
					"datatype": "string"
				},
				"PrivateCredential": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|a <<object|##.Security.Certificate>> object that is used to contain the private keys for this measurement agent>>",
					"datatype": "string"
				},
				"EventLog": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|a <<object|##.DeviceInfo.VendorLogFile>> object that is used to record events for this measurement agent>>",
					"datatype": "string"
				},
				"TaskCapabilityNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ScheduleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"TaskNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"CommunicationChannelNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"InstructionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents a capabilities, in the context of a task, that are supported by the measurement agent. Types of capabilities include: Report tasks, Configuration Tasks and Instruction Tasks.",
					"uniqueKeys": [
						"Name"
					],
					"access": false,
					"array": true,
					"Name": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the supported task.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Version": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Version of the task.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"TaskCapabilityRegistryNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents a registry function and an associated list of roles supported by this measurement agent",
						"uniqueKeys": [
							"RegistryEntry"
						],
						"access": false,
						"array": true,
						"RegistryEntry": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A URI (<<bibref|RFC3986>>) that is the value of the task registry entry as defined in <<bibref|LMAPREG>> or a value for a task that is understood by the measurement agent, measurement controller and measurement collector.",
							"datatype": "string"
						},
						"Roles": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list| representing the roles of the function>>",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					}
				},
				"Device.LMAP.MeasurementAgent.{i}.Controller.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This objects represents the measurement controller that is assigned to a measurement agent.",
					"access": false,
					"array": false,
					"ControllerTimeout": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The timer, in <<units>>, that is started after each successful contact with a measurement controller. When the timer reaches the timeout an event is raised indicating that connectivity to the controller has been lost.",
						"datatype": "int",
						"range": [
							{
								"min": 0
							}
						],
						"unit": "seconds"
					},
					"ControlSchedules": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|a <<object|#.Schedule>> object>> This parameter lists the available control schedules for invoking control tasks by the measurement agent.",
						"list": {
							"datatype": "string"
						}
					},
					"ControlTasks": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|a <<object|#.Task>> object>> This parameter lists the available control tasks that can be invoked by the measurement agent.",
						"list": {
							"datatype": "string"
						}
					},
					"ControlChannels": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|a <<object|#.CommunicationChannel>> object>> The measurement agent to measurement controller channel is used for conveying results of communication sessions with the configuration, instruction status and logging information elements defined in defined in <<bibref|LMAPIFM>>.",
						"list": {
							"datatype": "string"
						}
					}
				},
				"Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents a schedule that is associated with a set of scheduled actions to be performed by a measurement agent. Note: Actions of an occurrence of this <<object>> are gracefully terminated by the defining either the <<param|End>> or <<param|Duration>> parameters. Only one of these parameters may be defined at a time.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the schedule.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"State": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the Schedule. Only one instance of the schedule is active. An active schedule is defined where the <<param>> parameter has a value of <<enum|Running|State>>. Enumeration of: Enabled, Suppressed, Disabled, Running.",
						"datatype": "string",
						"enumerations": [
							"Enabled",
							"Suppressed",
							"Disabled",
							"Running"
						]
					},
					"Start": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|a <<object|##.Event>> object that is used define the event to start an occurrence of this <<object>>>>",
						"datatype": "string"
					},
					"End": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|a <<object|##.Event>> object that is used define the event to gracefully terminate all actions associated with an occurrence of this <<object>>>>.",
						"datatype": "string"
					},
					"Duration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When the <<param>> value is not 0, this parameter is used define the duration, in <<units>>, where after this duration all actions associated with an occurrence of this <<object>> are gracefully terminated.",
						"default": "0",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Tags": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list|each entry represents tags that are to be reported together with the measurement results.>>",
						"list": {
							"datatype": "string"
						}
					},
					"SuppressionTags": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list|representing the suppression tags to be matched>>",
						"list": {
							"datatype": "string"
						}
					},
					"ExecutionMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter describes the execution method to apply to this schedule for the associated Actions. Enumeration of: Sequential, Parallel, Pipelined.",
						"default": "Pipelined",
						"datatype": "string",
						"enumerations": [
							"Sequential",
							"Parallel",
							"Pipelined"
						]
					},
					"LastInvocation": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Date and time, based on <<bibref|RFC3339>>, in UTC that the <<object>> was invoked by the measurement agent.",
						"datatype": "dateTime"
					},
					"Storage": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The amount of secondary storage, in <<units>>, allocated to an instance of this <<object>>. The value of this parameter reflects the amount of allocated physical storage and not the storage used by logical data records. For example the secondary storage can be the storage allocated in a file system holding temporary data.",
						"datatype": "unsignedLong",
						"unit": "bytes"
					},
					"ActionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents the statistics associated with this object.",
						"access": false,
						"array": false,
						"Invocations": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of invocations of this schedule. This counter does not include suppressed invocations or invocations that were prevented due to an overlap with a previous invocation of this schedule.",
							"datatype": "unsignedLong"
						},
						"Suppressions": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of suppressed executions of this schedule.",
							"datatype": "unsignedLong"
						},
						"Overlaps": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of executions prevented due to overlaps with a previous invocation of this schedule.",
							"datatype": "unsignedLong"
						},
						"Failures": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Number of failed executions of this schedule. A failed execution is an execution where at least one action failed.",
							"datatype": "unsignedLong"
						}
					},
					"Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents an action that is associated with the this <<object|##.Schedule>> object.",
						"uniqueKeys": [
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this <<object|##.Schedule.<i>.Action>> object. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"State": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The current operational state of the <<object>>. Enumeration of: Enabled, Suppressed, Disabled, Running.",
							"datatype": "string",
							"enumerations": [
								"Enabled",
								"Suppressed",
								"Disabled",
								"Running"
							]
						},
						"Order": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The order of the scheduled action.",
							"datatype": "unsignedInt"
						},
						"Task": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<reference|a <<object|##.Task>> object used in this scheduled action>>",
							"datatype": "string"
						},
						"OutputDestination": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> <<reference|a <<object|##.Schedule>> object used to receive the output(s) of this scheduled action>>",
							"list": {
								"datatype": "string"
							}
						},
						"SuppressionTags": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list|representing the suppression tags to be matched>>",
							"list": {
								"datatype": "string"
							}
						},
						"Tags": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list|each entry represents tags that are to be reported together with the measurement results.>>",
							"list": {
								"datatype": "string"
							}
						},
						"Storage": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The amount of secondary storage, in <<units>>, allocated to an instance of this <<object>>. The value of this parameter reflects the amount of allocated physical storage and not the storage used by logical data records. For example the secondary storage can be the storage allocated in a file system holding temporary data.",
							"datatype": "unsignedLong",
							"unit": "bytes"
						},
						"LastInvocation": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Date and time, based on <<bibref|RFC3339>>, in UTC that the <<object>> was invoked by the measurement agent.",
							"datatype": "dateTime"
						},
						"LastSuccessfulCompletion": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Date and time, based on <<bibref|RFC3339>>, in UTC of a successful completion of the <<object>>.",
							"datatype": "dateTime"
						},
						"LastSuccessfulStatusCode": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The status code returned by successful execution of the <<object>>. A value of 0 indicates successful completion.",
							"datatype": "int"
						},
						"LastSuccessfulMessage": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The message associated with the successful completion of the <<object>>.",
							"datatype": "string"
						},
						"LastFailedCompletion": {
							"type": "dateTime",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Date and time, based on <<bibref|RFC3339>>, in UTC of a failure to complete the <<object>>.",
							"datatype": "dateTime"
						},
						"LastFailedStatusCode": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The status code returned by failed execution of the <<object>>. A value of 0 indicates successful completion.",
							"datatype": "int"
						},
						"LastFailedMessage": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The message associated with the failure to complete the task.",
							"datatype": "string"
						},
						"OptionNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents the statistics associated with this object.",
							"access": false,
							"array": false,
							"Invocations": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of invocations of this action. This counter does not include suppressed invocations or invocations that were prevented due to an overlap with a previous invocation of this schedule.",
								"datatype": "unsignedLong"
							},
							"Suppressions": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of suppressed executions of this action.",
								"datatype": "unsignedLong"
							},
							"Overlaps": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of executions prevented due to overlaps with a previous invocation of this action.",
								"datatype": "unsignedLong"
							},
							"Failures": {
								"type": "unsignedLong",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Number of failed executions of this action. A failed execution is an execution where at least one action failed.",
								"datatype": "unsignedLong"
							}
						},
						"Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents an option associated with the Scheduled Action. When an option with the same Name exists between the Seheduled Actions Option and The Tasks option, the option of the Scheduled Action takes precedence over the option associated with the Task.",
							"uniqueKeys": [
								"Alias",
								"Name"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
								"datatype": "boolean"
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "_AliasCWMP"
							},
							"Order": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The order of the Option.",
								"datatype": "unsignedInt"
							},
							"Name": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The name of the option. When the value of this parameter is equal to channel, the option value specifies the Communication Channel used for this scheduled task.",
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							},
							"Value": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The value associated with the Option.",
								"datatype": "string"
							}
						}
					}
				},
				"Device.LMAP.MeasurementAgent.{i}.Task.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object defines the configuration for a task that can be performed by <<object|##.MeasurementAgent>> objects. Tasks are performed by <<object|##.MeasurementAgent>> objects when a <<object|#.Schedule>> object invokes the Task.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the task.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Tags": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list|each entry represents tags that are to be reported together with the measurement results.>>",
						"list": {
							"datatype": "string"
						}
					},
					"OptionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"RegistryNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents a registry function and an associated list of roles for this task",
						"uniqueKeys": [
							"RegistryEntry",
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"RegistryEntry": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A URI (<<bibref|RFC3986>>) that is the value of the task registry entry as defined in <<bibref|LMAPREG>> or a value for a task that is understood by the measurement agent, measurement controller and measurement collector.",
							"datatype": "string"
						},
						"Roles": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list| representing the roles of the function>>",
							"list": {
								"datatype": "string",
								"range": [
									{
										"max": 256
									}
								]
							}
						}
					},
					"Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents an option associated with the task.",
						"uniqueKeys": [
							"Alias",
							"Name"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Order": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The order of the Option.",
							"datatype": "unsignedInt"
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The name of the option. When the value of this parameter is equal to channel, the option value specifies the Communication Channel used for this task.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Value": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The value associated with the Option.",
							"datatype": "string"
						}
					}
				},
				"Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object represents the properties communication channel used to establish communication between a measurement agent and other elements of the LMAP framework (e.g., measurement controller, measurement collector). The value of the <<param|Name>> parameter used for conveying information is defined as an option in the Tasks or scheduled Tasks option parameter. When this object uses the BulkData capability, a <<object|###.BulkData.Profile.<i>>> object instance referred to by this object.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the channel.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"UseBulkDataProfile": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the ability to use a bulk data profile for this communication channel",
						"datatype": "boolean"
					},
					"BulkDataProfile": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|a <<object|###.BulkData.Profile>> object that is used to represent communication channel>>",
						"datatype": "string"
					},
					"Target": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The <<datatype>> of the LMAP component that is the target of this communication channel.",
						"datatype": "URL"
					},
					"TargetPublicCredential": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|a <<object|###.Security.Certificate>> object that is used to identify the target of this channel>>",
						"datatype": "string"
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<reference|an interface object used to restrict the data transmitted or received using this channel to a specific interface>> If the value of this parameter is <<empty>> the data that is transmitted or received using this channel is able to use any available interface.",
						"datatype": "string"
					}
				},
				"Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object defines the instruction to the measurement agent by the measurement controller. At most one <<object>> object for the <<object|##.MeasurementAgent>> instance is enabled at a time. .",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"LastChange": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Date and time, based on <<bibref|RFC3339>>, in UTC that the <<object>> object or its sub-objects configuration was changed by a measurement agents controller.",
						"datatype": "dateTime"
					},
					"InstructionSchedules": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|a <<object|#.Schedule>> object>> This parameter lists the available instruction schedules for invoking control tasks by the measurement agent.",
						"list": {
							"datatype": "string"
						}
					},
					"InstructionTasks": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|a <<object|#.Task>> object>> This parameter lists the available instruction tasks that can be invoked by the measurement agent.",
						"list": {
							"datatype": "string"
						}
					},
					"ReportChannels": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|a <<object|#.CommunicationChannel>> object>> This parameter defines the corresponding report channels to be used when reporting results of tasks to a measurement collector.",
						"list": {
							"datatype": "string"
						}
					},
					"MeasurementSuppressionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object defines the schedules and actions that are suppressed based on criteria defined in the <<param|SuppressionMatch>> parameter.",
						"uniqueKeys": [
							"Alias",
							"Name"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Name": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Name of the suppression object.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"State": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The current operational state of the <<object>>. Enumeration of: Enabled, Active, Disabled.",
							"datatype": "string",
							"enumerations": [
								"Enabled",
								"Active",
								"Disabled"
							]
						},
						"StopRunning": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "When <<true>>, the measurement agent is instructed to stop running schedules or actions that have been matched by this object.",
							"default": "false",
							"datatype": "boolean"
						},
						"Start": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<reference|a <<object|###.Event>> object that is used define the event that to start an occurrence of this <<object>>>> When <<empty>> the default behavior is to perform the suspension event immediately.",
							"datatype": "string"
						},
						"End": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<reference|a <<object|###.Event>> object that is used define the event to gracefully suspend all actions associated with an occurrence of this <<object>>>> When <<empty>> the default behavior is for the suspension period to be indefinite.",
							"datatype": "string"
						},
						"SuppressionMatch": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list|representing the match patterns to be used for applying suppression to <<object|##.Schedule.<i>>> (and their actions) and all <<object|##.Schedule.<i>.Action.<i>>> object instances that have a matched using their SuppressionTags parameters>> The match pattern syntax is defined in <<bibref|LMAPIFM>>.",
							"list": {
								"datatype": "string"
							}
						}
					}
				}
			},
			"Device.LMAP.Report.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This <<object>> object instance represents a report that is generated by a reporting task where the reporting task is defined as a <<object|#.MeasurementAgent.<i>.Task.<i>>> and executed as a scheduled action (<<object|#.MeasurementAgent.<i>.Schedule.<i>.Action.<i>>>). The <<object>> replicates the <<object|#.MeasurementAgent.<i>>> object instances data at the time of the action execution. When a <<object|##.BulkData.Profile.<i>>> object instance is used to communicate a <<object>> instance, the CPE adds a <<object|##.BulkData.Profile.<i>.Parameter.<i>>> object instance referring to this <<object>> object instance.",
				"access": false,
				"array": true,
				"ReportDate": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The report date and time, based on <<bibref|RFC3339>>, that the report was sent to the collector.",
					"datatype": "dateTime"
				},
				"AgentIdentifier": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the measurement agent at the time the measurement was run.",
					"datatype": "UUID",
					"range": [
						{
							"min": 36,
							"max": 36
						}
					],
					"pattern": [
						"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"
					]
				},
				"GroupIdentifier": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the measurement group of interest to which the MA belongs.",
					"datatype": "string"
				},
				"MeasurementPoint": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Identifier of the measurement point indicating where the measurement agent is located on a path as defined in <<bibref|RFC7398>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"ResultNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.LMAP.Report.{i}.Result.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The <<object>> object provides the meta-data of the result report of a single executed action that produced the result.",
					"uniqueKeys": [
						"ScheduleName",
						"ActionName",
						"StartTime"
					],
					"access": false,
					"array": true,
					"TaskName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the task that produced the result.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ScheduleName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the schedule that produced the result.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"ActionName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Name of the action that produced the result.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"EventTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time, based on <<bibref|RFC3339>>, that the event that triggered the schedule of the action that produced the reported result values in UTC.",
						"datatype": "dateTime"
					},
					"StartTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time, based on <<bibref|RFC3339>>, that the action started in UTC.",
						"datatype": "dateTime"
					},
					"EndTime": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time, based on <<bibref|RFC3339>>, that the action was completed in UTC.",
						"datatype": "dateTime"
					},
					"CycleNumber": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The cycle number derived from the <<param|EventTime>>. The cycle number is the time, in UTC, closest to the <<param|EventTime>> that is a multiple of the cycle interval of the event that triggered the execution of the schedule. The value is valid if the event that triggered the execution of the schedule has a defined cycle interval. <<empty>> represents an invalid CycleNumber. <<pattern>>",
						"datatype": "string",
						"pattern": [
							"YYYYMMDD.HHMMSS"
						]
					},
					"Status": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The status code returned by the execution of the action.",
						"datatype": "int"
					},
					"Tags": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list|each entry represents tags defined for the schedule, task and action objects that produced this result>>",
						"list": {
							"datatype": "string"
						}
					},
					"OptionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ResultConflictNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"ResultReportTableNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.LMAP.Report.{i}.Result.{i}.Option.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents an option associated with the task or action object that produced the result.",
						"uniqueKeys": [
							"Name"
						],
						"access": false,
						"array": true,
						"Order": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The order of the Option.",
							"datatype": "unsignedInt"
						},
						"Name": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The name of the Option. When the value of this parameter is equal to channel, the option value specifies the Communication Channel used for this task.",
							"datatype": "int"
						},
						"Value": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The value associated with the Option.",
							"datatype": "string"
						}
					},
					"Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents actions that might have impacted the results being reported.",
						"uniqueKeys": [
							"ScheduleName",
							"ActionName",
							"TaskName"
						],
						"access": false,
						"array": true,
						"TaskName": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Name of the task.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ScheduleName": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Name of the schedule.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"ActionName": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Name of the action.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This <<object>> object instances represents a row of results.",
						"access": false,
						"array": true,
						"ColumnLabels": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<list>> This parameter contains the column labels used for the result. The column labels are ordered with the corresponding entries in the <<object|ResultRow>> table.",
							"list": {
								"datatype": "string"
							}
						},
						"ResultReportRowNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"RegistryNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This <<object>> object instances represents a row of results for the report.",
							"access": false,
							"array": true,
							"Values": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list>> This parameter contains an ordered set of values that align to the columns defined in the <<param|#.ColumnLabels>> parameter.",
								"list": {
									"datatype": "string"
								}
							}
						},
						"Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object represents a registry function and an associated list of roles for this result report.",
							"uniqueKeys": [
								"RegistryEntry"
							],
							"access": false,
							"array": true,
							"RegistryEntry": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "A URI (<<bibref|RFC3986>>) that is the value of the registry entry as defined in <<bibref|LMAPREG>> or a value for a task that is understood by the measurement agent, measurement controller and measurement collector.",
								"datatype": "string"
							},
							"Roles": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<list| representing the roles of the function>>",
								"list": {
									"datatype": "string",
									"range": [
										{
											"max": 256
										}
									]
								}
							}
						}
					}
				}
			},
			"Device.LMAP.Event.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object defines the information associated with an event used within the measurement agent. Event instances may be referenced by various objects within the LMAP model.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> instance. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Name of the Event.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter describes the type of <<object>> for this object instance. The timing of the event occurrence is adjusted based on the value of the <<param|RandomnessSpread>> parameter. Enumeration of: PeriodicTiming, CalendarTiming, OneOffTiming, Immediate, Startup, ControllerLost, ControllerConnected.",
					"default": "Immediate",
					"datatype": "string",
					"enumerations": [
						"PeriodicTiming",
						"CalendarTiming",
						"OneOffTiming",
						"Immediate",
						"Startup",
						"ControllerLost",
						"ControllerConnected"
					]
				},
				"RandomnessSpread": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The spread, in <<units>>, of the Uniform Discrete random distribution algorithm. A value of 0 means that the random algorithm is not applied.",
					"datatype": "int",
					"unit": "seconds"
				},
				"CycleInterval": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The duration of the time interval, in <<units>>, that used to calculate cycle numbers.",
					"datatype": "int",
					"unit": "seconds"
				},
				"Device.LMAP.Event.{i}.PeriodicTimer.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines a periodic timer instance. The periodic timer instance has attributes for when the timer is to begin (<<param|StartTime>>) and end (<<param|EndTime>>) as well as the interval to use.",
					"access": false,
					"array": false,
					"StartTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Date and time, based on <<bibref|RFC3339>>, that the <<object>> instance is to begin operation.",
						"datatype": "dateTime"
					},
					"EndTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Date and time, based on <<bibref|RFC3339>>, that the <<object>> instance is to end operation.",
						"datatype": "dateTime"
					},
					"Interval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The tolerable duration, in <<units>>, of the interval for this <<object>> instance.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					}
				},
				"Device.LMAP.Event.{i}.CalendarTimer.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines a calendar timer instance. The calendar timer instance has attributes for when the timer is to begin (<<param|StartTime>>) and end (<<param|EndTime>>) as well as the schedule of the recurrence. The algrorithm that defines how the schedule elements are evaluated is defined in <<bibref|LMAPIFM>>. If the value of any of the <<param|ScheduleMonths>>, <<param|ScheduleDaysOfMonth>>, <<param|ScheduleDaysOfWeek>>, <<param|ScheduleHoursOfDay>>, <<param|ScheduleMinutesOfHour>> or <<param|ScheduleSecondsOfMinute>> is <<empty>> then any actions that use this object will not be invoked.",
					"access": false,
					"array": false,
					"StartTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Date and time that the <<object>> instance is to begin this operation.",
						"datatype": "dateTime"
					},
					"EndTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Date and time that the <<object>> instance is to end this operation.",
						"datatype": "dateTime"
					},
					"ScheduleMonths": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter represents either a list of the months of year that are applied to the schedule or an asterisk (*) that represents all the elements of the list. Each entry in the months of the year list can be a numeric value or the name of the month (january (1), february (2), march (3), april (4), may (5), june (6), july (7), august (8), september (9), october (10), november (11), december (12)).",
						"datatype": "string"
					},
					"ScheduleDaysOfMonth": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter represents either a list of the days of the month (1-31) that are applied to the schedule or an asterisk (*) that represents all the elements of the list.",
						"datatype": "string"
					},
					"ScheduleDaysOfWeek": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter represents either a list of the days of the week that are applied to the schedule or an asterisk (*) that represents all the elements of the list. Each entry in the days of the week list can be a numeric value or the name of the day (sunday (1), monday (2), tuesday (3), wednesday (4), thursday (5), friday (6), saturday (7)).",
						"datatype": "string"
					},
					"ScheduleHoursOfDay": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter represents either a list of the hours of the day (0-23) that are applied to the schedule or an asterisk (*) that represents all the elements of the list.",
						"datatype": "string"
					},
					"ScheduleMinutesOfHour": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter represents either a list of the minutes of the hour (0-59) that are applied to the schedule or an asterisk (*) that represents all the elements of the list.",
						"datatype": "string"
					},
					"ScheduleSecondsOfMinute": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter represents either a list of the minutes of the hour (0-59) that are applied to the schedule or an asterisk (*) that represents all the elements of the list.",
						"datatype": "string"
					},
					"EnableScheduleTimezoneOffset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "When <<true>>, the value of the <<param|ScheduleTimezoneOffset>> parameter is applied to the schedule elements. When <<false>>, the devices system timezone offset is applied to the schedule elements.",
						"datatype": "boolean"
					},
					"ScheduleTimezoneOffset": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The timezone offset, in <<units>>, to be applied to the schedule elements.",
						"datatype": "int",
						"range": [
							{
								"min": -23,
								"max": 23
							}
						],
						"unit": "hours"
					}
				},
				"Device.LMAP.Event.{i}.OneOff.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object defines a one off timer instance.",
					"access": false,
					"array": false,
					"StartTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Date and time, based on <<bibref|RFC3339>>, that the <<object>> instance is to begin operation.",
						"datatype": "dateTime"
					}
				}
			}
		},
		"Device.WWC.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Base object for Wireline Wireless Convergence. The controller can use this object to learn the supported 5G features and whether the 5G-RG is operating in 5G mode.",
			"access": false,
			"array": false,
			"HwCapabilities": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<list>> Wireline Wireless Convergence hardware capabilities supported by the CPE. Enumeration of: NG-RAN, E-UTRAN, W-5GAN.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"NG-RAN",
						"E-UTRAN",
						"W-5GAN"
					]
				}
			},
			"SwCapabilities": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<list>> Wireline Wireless Convergence software capabilities supported by the CPE. Enumeration of: FN-RG, 5G-RG, ATSSS.",
				"list": {
					"datatype": "string",
					"enumerations": [
						"FN-RG",
						"5G-RG",
						"ATSSS"
					]
				}
			},
			"Mode": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Sets the mode the CPE is operating in. Whilst the CPE is expected to auto-negotiate, a service provider may need to lock the CPE in <<enum|FN-RG>> or <<enum|5G-RG>> mode for stability. Enumeration of: FN-RG, 5G-RG, Auto.",
				"default": "Auto",
				"datatype": "string",
				"enumerations": [
					"FN-RG",
					"5G-RG",
					"Auto"
				]
			},
			"Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The mode the CPE is operating in. A CPE in <<enum|Negotiating>> is deemed to be auto-negotiating its operational mode. Enumeration of: FN-RG, 5G-RG, Negotiating.",
				"datatype": "string",
				"enumerations": [
					"FN-RG",
					"5G-RG",
					"Negotiating"
				]
			},
			"AccessNetworkNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"URSPNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.WWC.AccessNetwork.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Each table entry describes a single access network. The entire table is built by the 5G-RG upon startup. The primary purpose is to show the registration and connectivity status of each access network. Typically a 5G-RG would register on each available access network. A minimum of one access network must be in the CM-CONNECTED state in order to support N1 messaging.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the Access Network entry as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> Specifies the egress interface associated with this AccessNetwork entry. This MUST be a layer 1 interface.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"RegistrationStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The registration status of this entry. See <<bibref|3GPP-TS.23.501|Clause 5.3.2>>. Enumeration of: RM_REGISTERED, RM_DEREGISTERED, RM_UNDEFINED, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"RM_REGISTERED",
						"RM_DEREGISTERED",
						"RM_UNDEFINED",
						"Error"
					]
				},
				"ConnectionStatus": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The connection status of this entry. A 5G-RG is deemed in the <<enum|CM_CONNECTED|ConnectionStatus>> state if there is a NAS signalling connection established between the 5G-RG and AMF. If <<param|RegistrationStatus>> transitions from <<enum|RM_REGISTERED|RegistrationStatus>> to <<enum|RM_DEREGISTERED|RegistrationStatus>>, the status of <<param>> must change to <<enum|CM_UNDEFINED||ConnectionStatus>>. See <<bibref|3GPP-TS.23.501|Clause 5.3.3>>. Enumeration of: CM_IDLE, CM_CONNECTED, CM_UNDEFINED, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"CM_IDLE",
						"CM_CONNECTED",
						"CM_UNDEFINED",
						"Error"
					]
				},
				"AccessNetworkType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The access network type of this entry. Enumeration of: NG-RAN, E-UTRAN, W-5GAN.",
					"datatype": "string",
					"enumerations": [
						"NG-RAN",
						"E-UTRAN",
						"W-5GAN"
					]
				},
				"LastError": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Error code. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.2>>",
					"datatype": "unsignedInt"
				},
				"Device.WWC.AccessNetwork.{i}.GUTI.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A 5G Globally Unique Temporary Identity (GUTI) securely identifes an CPE by keeping the permanent User Equipment (UE identifier (IMSI) hidden. This identity is globally unique and assigned by the AMF at the time of registration. See <<bibref|3GPP-TS.23.003|.Clause 2.10>>.",
					"access": false,
					"array": false,
					"PLMN": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Public Land Mobile Network (PLMN) globally identifies the service provider. A PLMN consists of a country code (MCC) and a network code (MNC). See <<bibref|3GPP-TS.23.003|Clause 12.1>>. For example, a PLMN of 50101 refers to MCC 501 (Australia) and MNC 01 (Telstra).",
						"datatype": "unsignedInt"
					},
					"AMFId": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The AMFId identifies an AMF instance within a service providers network. In conjunction with the PLMN, it forms a Globally Unique AMF Id (GUAMI) which globally uniquely identifes an AMF. See <<bibref|3GPP-TS.23.003|Clause 2.10>>.",
						"datatype": "unsignedInt"
					},
					"TMSI": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Temporary Mobile Subscriber Identity (TMSI) is allocatred by the AMF at the time of registration and uniquely identifies the CPE. See <<bibref|3GPP-TS.23.003|Clause 2.4>>.",
						"datatype": "unsignedInt"
					}
				}
			},
			"Device.WWC.URSP.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "User equipment Router Selection Policy (URSP) is a table of rules used to determine which network slice and data network to route a PDU over. Typically a 5G-RG would search the URSP table in precedence order matching the traffic descriptor types against the service it was setting up. For example a 5G-RG would search for connection capabilities matching ims in order to establish a dedicated PDU session for telephony. See <<bibref|3GPP-TS.24.526|Clause 5.2>> for a full description of the URSP data elements.",
				"uniqueKeys": [
					"Alias",
					"Precedence"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Precedence": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The precedence value of URSP rule field is used to specify the precedence of the URSP rule among all URSP rules in the URSP. The precedence value in the range from 0 to 255 (decimal). The higher the value of the precedence value field, the lower the precedence of the URP rule is. Multiple URSP rules in the URSP shall not have the same precedence value.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 255
						}
					]
				},
				"TrafficDescriptorNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.WWC.URSP.{i}.TrafficDescriptor.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A set of rules for a given precedence that must be matched in order to select a router in the form of data network and slice. Selection criteria range from destination IP addresses to connection capabilities.",
					"uniqueKeys": [
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Type": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Traffic Descriptor Type. See <<bibref|3GPP-TS.24.526|Clause 5.2>>.",
						"datatype": "unsignedInt"
					},
					"Value": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Traffic descriptor value. See <<bibref|3GPP-TS.24.526|Clause 5.2>>.",
						"datatype": "string",
						"range": [
							{
								"max": 1024
							}
						]
					},
					"RouteSelectionDescriptorNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.WWC.URSP.{i}.TrafficDescriptor.{i}.RouteSelectionDescriptor.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object describes the URSP Route Selection Descriptor table which provides a table of data networks and network slices used in PDU establishment. Table entries are used in precedence order until a successful PDU session is established. See ((bibref|3GPP-TS.23.503|Annex A>> for an example URSP rule traversal.",
						"uniqueKeys": [
							"Alias",
							"Precedence"
						],
						"access": false,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Precedence": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The precedence value of route selection descriptor field is used to specify the precedence of the route selection descriptor among all route selection descriptors in the URSP rule. The precedence value in the range from 0 to 255 (decimal). The higher the value of the precedence value field, the lower the precedence of the route selection descriptor is.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"SSC": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Session and Service Continuity (SSC) Mode: Indicates that the traffic of the matching application shall be routed via a PDU Session supporting the included SSC Mode. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.16>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 3
								}
							]
						},
						"DNN": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The DNN value contains an APN as defined in <<bibref|3GPP-TS.23.003|Clause 9.1.1>>.",
							"datatype": "string",
							"range": [
								{
									"max": 100
								}
							]
						},
						"PDUSessionType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "PDU session type. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.11>>. Enumeration of: IPv4, IPv6, IPv4v6, Unstructured.",
							"datatype": "string",
							"enumerations": [
								"IPv4",
								"IPv6",
								"IPv4v6",
								"Unstructured"
							]
						},
						"AccessType": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The preferred access type for the PDU session. For a 5G-RG non-3GPP refers to any fixed access technology. See <<bibref|3GPP-TS.24.501|Clause 9.11.3.11>>. Enumeration of: 3GPP access, Non-3GPP access.",
							"datatype": "string",
							"enumerations": [
								"3GPP access",
								"Non-3GPP access"
							]
						},
						"Device.WWC.URSP.{i}.TrafficDescriptor.{i}.RouteSelectionDescriptor.{i}.NetworkSlice.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Describes a S-NSSAI Information element providing network slice specification. See <<bibref|3GPP-TS.24.501|Clause 9.11.2.8>>",
							"access": false,
							"array": false,
							"SliceServiceType": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Slice Service Type (SST). <<enum>> See <<bibref|3GPP-TS.23.501|Clause 5.15.2.2>>.",
								"datatype": "SST",
								"enumerations": [
									"eMBB",
									"URLLC",
									"MIoT",
									"V2X"
								]
							},
							"SliceDifferentiator": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The Slice differentiator is an optional number used to differentiate network slices with the same SST. See <<bibref|3GPP-TS.23.501|Clause 5.15.2.1>>.",
								"datatype": "unsignedInt"
							}
						}
					}
				}
			}
		},
		"Device.PDU.": {
			"type": "object",
			"obsolete": true,
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The logical connection between the 5G-RG and data network is the Protocol Data Unit (PDU). The Device.PDU subtree describes each PDU sessions properties together with the QoS rules specific to that PDU session. <<deprecated|2.19|because it is no longer a top level object>>",
			"access": false,
			"array": false,
			"SessionNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>> <<deprecated|2.19|because it is no longer a top level object>>",
				"datatype": "unsignedInt"
			},
			"Device.PDU.Session.{i}.": {
				"type": "object",
				"obsolete": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Contains all the properties of a PDU session instance, ranging from maximum bitrate through to assigned network slice. This object contains the <<object>> table. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> The IP Interface associated with the PDU entry. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.Session.<i>>>>>",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"SessionID": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "PDU session identity. See <<bibref|3GPP-TS.24.501|Clause 9.4>>. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.Session.<i>>>>>",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 15
						}
					]
				},
				"PTI": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Procedure transaction identity. See <<bibref|3GPP-TS.24.501|Clause 9.6>>. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 254
						}
					]
				},
				"SessionType": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The PDU session type indicating the protocol the PDU is capable of carrying. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.11>>. Enumeration of: IPv4, IPv6, IPv4v6, Unstructured. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.Session.<i>>>>>",
					"datatype": "string",
					"enumerations": [
						"IPv4",
						"IPv6",
						"IPv4v6",
						"Unstructured"
					]
				},
				"SSC": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Session and Service Continuity (SSC) Mode: Indicates that the traffic of the matching application shall be routed via a PDU Session supporting the included SSC Mode. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.16>> <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 3
						}
					]
				},
				"SessionAMBRDownlink": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Downlink Aggregate Maximum Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.14>>. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
					"datatype": "unsignedLong",
					"unit": "bits per second"
				},
				"SessionAMBRUplink": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Uplink Aggregate Maximum Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.14>>. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
					"datatype": "unsignedLong",
					"unit": "bits per second"
				},
				"LastError": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Error code. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.2>> <<deprecated|2.19|because it is no longer required>>",
					"datatype": "unsignedInt"
				},
				"PDUIPv4Address": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IPv4 address allocated to the PDU session by the SMF. This parameter is only valid if <<param|SessionType>> has a value of <<enum|IPv4|SessionType>> or <<enum|IPv4v6|SessionType>>. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.10>>. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.Session.<i>.Interface>>>>",
					"datatype": "IPv4Address",
					"range": [
						{
							"max": 15
						}
					],
					"pattern": [
						"",
						"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
					]
				},
				"PDUIPv6InterfaceIdentifier": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The interface identifier for the IPv6 link local address allocated to the PDU session by the SMF. This parameter is only valid if <<param|SessionType>> has a value of <<enum|IPv6|SessionType>> or <<enum|IPv4v6|SessionType>>. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.10>>. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.Session.<i>.Interface>>>>",
					"datatype": "string"
				},
				"RQTimerValue": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reflective QoS timeout in <<units>>. See <<bibref|3GPP-TS.24.501|Clause 9.11.2.3>>. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"AlwaysOn": {
					"type": "boolean",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Always on PDU session indication. The purpose of the Always-on PDU session indication information element is to indicate whether a PDU session is established as an always-on PDU session. See <<bibref|3GPP-TS.24.501|clause 9.11.4.3>>. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
					"datatype": "boolean"
				},
				"DNN": {
					"type": "string",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Data Network Name used by the PDU. The DNN value may be from the optional S-NSSAI specified at the time of PDU establishment or a default determined by the 5G core. A DNN is analogous to an LTE APN used the same format defined in <<bibref|3GPP-TS.24.501|clause 9.11.2.1A>>. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.Session.<i>.APN>>>>",
					"datatype": "string",
					"range": [
						{
							"max": 100
						}
					]
				},
				"QoSRuleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>> <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRuleNumberOfEntries>>>>",
					"datatype": "unsignedInt"
				},
				"QoSFlowNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>> <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSFlowNumberOfEntries>>>>",
					"datatype": "unsignedInt"
				},
				"Device.PDU.Session.{i}.PCO.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Policy Configuration Options (PCO) is an optional set of configuration parameters supplied by the network at the request of the 5G-RG as defined in <<bibref|3GPP-TS.24.008|clause 10.5.6.3>>. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.Session.<i>.PCO>>>>",
					"access": false,
					"array": false,
					"IPv6PCSCF": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IPv6 address of the P-CSCF used for VoLTE telephony. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.Session.<i>.PCO.IPv6PCSCF>>>>",
						"datatype": "IPv6Address"
					},
					"IPv6DNS": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each entry is an IPv6 DNS server. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.Session.<i>.PCO.IPv6DNS>>>>",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"IPv4PCSCF": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IPv4 address of the P-CSCF used for VoLTE telephony. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.Session.<i>.PCO.IPv4PCSCF>>>>",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"IPv4DNS": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each entry is an IPv4 DNS server. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.Session.<i>.PCO.IPv4DNS>>>>",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				},
				"Device.PDU.Session.{i}.NetworkSlice.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes a S-NSSAI Information element providing network slice specification. See <<bibref|3GPP-TS.24.501|Clause 9.11.2.8>> <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>.NetworkSlice>>>>",
					"access": false,
					"array": false,
					"SliceServiceType": {
						"type": "string",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Slice Service Type (SST). <<enum>> See <<bibref|3GPP-TS.23.501|Clause 5.15.2.2>>. <<deprecated|2.19| due to entire PDU object being moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
						"datatype": "SST",
						"enumerations": [
							"eMBB",
							"URLLC",
							"MIoT",
							"V2X"
						]
					},
					"SliceDifferentiator": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Slice differentiator is an optional number used to differentiate network slices with the same SST. See <<bibref|3GPP-TS.23.501|Clause 5.15.2.1>>. <<deprecated|2.19| due to entire PDU object being moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
						"datatype": "unsignedInt"
					}
				},
				"Device.PDU.Session.{i}.QoSRule.{i}.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object describes the PDU QoS Rule table. The purpose of the QoS Rule table is to assign a QFI to mark traffic based on a set of classification rules. The rules are set by the network operator and are specific for each PDU. For example: * A QoS Rule with a default used for general traffic has the following parameters. * QFI=1 * DQR=1 - Default rule * Filter 1 for rule * Direction=bidirectional * Type=1 - Match all * A QoS Rule matching a voice service. * QFI=32 * DQR=0 * Filter 1 for rule * Direction=bidirectional * Type=33 - Destination IPv6 range * Value=2001:8000/48 - Destination IPv6 range * Filter 2 for rule * Direction=bidirectional * Type=16 - Destination IPv4 address with netmask * Value=203.1.0.0 255.255.255.0 - Destination IPv4 address with netmask A full description can be found at <<bibref|3GPP-TS.24.501|clause 9.11.4.13>> QoS Rules <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>.QoSRule.<i>>>>>",
					"uniqueKeys": [
						"Alias",
						"Identifier"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Identifier": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The QoS rule identifier field is used to identify the QoS rule. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRule.<i>.Identifier>>>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 255
							}
						]
					},
					"Precedence": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The QoS rule precedence field is used to specify the precedence of the QoS rule among all QoS rules. The higher the value of the QoS rule precedence field, the lower the precedence of that QoS rule is. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRule.<i>.Precedence>>>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						]
					},
					"Segregation": {
						"type": "boolean",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "In the UE to network direction the segregation bit indicates whether the UE is requesting the network to bind service data flows described by the QoS rule to a dedicated QoS Flow. When <<true>> segregation is requested. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRule.<i>.Segregation>>>>",
						"datatype": "boolean"
					},
					"QFI": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "QoS Flow identifier. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRule.<i>.QFI>>>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 63
							}
						]
					},
					"DQR": {
						"type": "boolean",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Default QoS rule flag. When <<true>> this QoS rule is the default QoS rule. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRule.<i>.DQR>>>>",
						"datatype": "boolean"
					},
					"FilterNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>> <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRule.<i>.FilterNumberOfEntries>>>>",
						"datatype": "unsignedInt"
					},
					"Device.PDU.Session.{i}.QoSRule.{i}.Filter.{i}.": {
						"type": "object",
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object describes the PDU QoS Rule Filter table. As each packet filter is logically anded with the others, there shall not be more than one occurrence of each packet filter component type. <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>.QoSRule.<i>.Filter.<i>>>>>",
						"uniqueKeys": [
							"Alias"
						],
						"access": false,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Direction": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The packet filter direction field is used to indicate for what traffic direction the filter applies. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.13>> Enumeration of: downlink, uplink, bidirectional. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRule.<i>.Filter.<i>.Direction>>>>",
							"datatype": "string",
							"enumerations": [
								"downlink",
								"uplink",
								"bidirectional"
							]
						},
						"Type": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Packet filter component type identifier. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.13>>. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRule.<i>.Filter.<i>.Type>>>>",
							"datatype": "unsignedInt"
						},
						"Value": {
							"type": "string",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Matching value for the component type. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.13>>. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSRule.<i>.Filter.<i>.Value>>>>",
							"datatype": "string",
							"range": [
								{
									"max": 1024
								}
							]
						}
					}
				},
				"Device.PDU.Session.{i}.QoSFlow.{i}.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Table of all QoS Flow Indicators (QFI) and their properties supported by the access network for this particular PDU. For example: * A QoS Flow with a QFI of 1 used for general traffic has the following parameters. * FiveQI=8 * A QoS Flow with a QFI of 32 used for voice traffic with a guaranteed bitrate of 150k has the following parameters. * FiveQI=1 * GFBRUplink=150 * GFBRDownlink=150 <<deprecated|2.19|because it has moved to <<object|Device.SessionManagement.PDU.<i>>>>>",
					"uniqueKeys": [
						"Alias",
						"QFI"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"QFI": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "QoS Flow Identifier. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSFlow.<i>.QFI>>>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 63
							}
						]
					},
					"FiveQI": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "5G QoS Identifier. See <<bibref|3GPP-TS.23.501|Clause 5.7.4>> for a table of standardised 5QI QoS characteristics. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSFlow.<i>.FiveQI>>>>",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 255
							}
						]
					},
					"GFBRUplink": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Guaranteed Flow Bitrate - Upstream (expressed in <<units>>). <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSFlow.<i>.GFBRUplink>>>>",
						"datatype": "unsignedLong",
						"unit": "bits per second"
					},
					"GFBRDownlink": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Guaranteed Flow Bitrate - Downstream (expressed in <<units>>). <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSFlow.<i>.GFBRDownlink>>>>",
						"datatype": "unsignedLong",
						"unit": "bits per second"
					},
					"MFBRUplink": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum Flow Bitrate - Upstream (expressed in <<units>>). <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSFlow.<i>.MFBRUplink>>>>",
						"datatype": "unsignedLong",
						"unit": "bits per second"
					},
					"MFBRDownlink": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum Flow Bitrate - Downstream (expressed in <<units>>). <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSFlow.<i>.MFBRDownlink>>>>",
						"datatype": "unsignedLong",
						"unit": "bits per second"
					},
					"AveragingWindow": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Averaging window for both uplink and downlink in <<units>>. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSFlow.<i>.AveragingWindow>>>>",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"EPSBearer": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "EPS Bearer Identity. See <<bibref|3GPP-TS.24.301|Clause 9.3.2>>. <<deprecated|2.19|because it has moved to <<param|Device.SessionManagement.PDU.<i>.QoSFlow.<i>.EPSBearer>>>>",
						"datatype": "unsignedInt"
					}
				}
			}
		},
		"Device.FWE.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "5G Wireline wireless Encapsulation transport for data plane. See <<bibref|RFC8822>>.",
			"access": false,
			"array": false,
			"LinkNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.FWE.Link.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "5G Wireline wireless Encapsulation link layer table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>).",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the interface as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Device.FWE.Link.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			}
		},
		"Device.Logical.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "Logical object. This object models several Logical interface objects, each representing a different stack layer, including: <<object|Interface>>. <<object|Interface>> is a logical interface which can point to other stackable interface layers. The intention of the logical interface is to simplify the configuration management of individual <<bibref|TR-181i2>> services. Instead of configuring the individual network services with a physical interface and deal with reconfiguration problems that may arise from switching between WAN interfaces. The intention is that the network services are configured with a logical interface and that this configuration stays unchanged during the switching between WAN interfaces. The software service (For example a WAN mode manger.) responsible for handling the WAN interface changes must then only care about rewriting the LowerLayers parameter of the Logical Interface Objects.",
			"access": false,
			"array": false,
			"InterfaceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Logical.Interface.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Logical interface table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This table models only logical interfaces.",
				"uniqueKeys": [
					"Alias",
					"Name"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the interface. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
					"default": "Down",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the logical interface as assigned by a static configuration file or dynamically by a controller.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"LastChange": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"LowerLayers": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"Device.Logical.Interface.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>. This information SHOULD be mirrored or aggregated from the active underlying interfaces.",
					"access": true,
					"array": false,
					"Reset": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
						"datatype": "boolean"
					},
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface, including framing characters.",
						"datatype": "StatsCounter64"
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> transmitted out of the interface.",
						"datatype": "StatsCounter64"
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received on the interface.",
						"datatype": "StatsCounter64"
					},
					"ErrorsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
						"datatype": "StatsCounter32"
					},
					"ErrorsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
						"datatype": "StatsCounter32"
					},
					"UnicastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"DiscardPacketsSent": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"DiscardPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
						"datatype": "StatsCounter32"
					},
					"MulticastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
						"datatype": "StatsCounter64"
					},
					"UnicastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"MulticastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent. Note that IPv6 does not define broadcast addresses, so IPv6 <<units>> will never cause this counter to increment.",
						"datatype": "StatsCounter64"
					},
					"BroadcastPacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer. Note that IPv6 does not define broadcast addresses, so IPv6 <<units>> will never cause this counter to increment.",
						"datatype": "StatsCounter64"
					},
					"UnknownProtoPacketsReceived": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
						"datatype": "StatsCounter32"
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			}
		},
		"Device.XPON.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object models one or more xPON interfaces or ONUs as specified by the ITU based PON standards. It does not address IEEE based PON standards (like EPON). An ONU performs tasks such as traffic classification, VLAN manipulation, GEM port mapping, aggregation and/or forwarding between one or more UNIs and one or more ANIs.",
			"access": false,
			"array": false,
			"ONUNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.XPON.ONU.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object models one xPON interface or ONU as specified by the ITU based PON standards.",
				"uniqueKeys": [
					"Name"
				],
				"access": false,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this ONU. If disabled, the ONU should prevent user traffic from flowing, suppress notifications, and power down as much as possible.",
					"datatype": "boolean"
				},
				"Name": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The textual name of the ONU as assigned by the CPE.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This attribute identifies the version of the ONU as defined by the vendor. This parameter is based on Version from <<bibref|G.988|Section 9.1.1>>.",
					"datatype": "string",
					"range": [
						{
							"max": 14
						}
					]
				},
				"EquipmentID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This attribute may be used to identify the specific type of ONU. This parameter is based on Equipment ID from <<bibref|G.988|Section 9.1.2>>.",
					"datatype": "string",
					"range": [
						{
							"max": 20
						}
					]
				},
				"SoftwareImageNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"EthernetUNINumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ANINumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.XPON.ONU.{i}.EthernetUNI.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Ethernet UNI table (a stackable interface object as described in <<bibref|TR-181i2|Section 4.2>>). This object models User Network Interfaces carrying Ethernet frames. An EthernetUNI can be a virtual or a physical UNI. If the ONU is managed via OMCI, an EthernetUNI has an associated service, which is either a VEIP (see <<bibref|G.988|Section 9.5.5>>) or a PPTP Ethernet UNI (see <<bibref|G.988|Section 9.5.1>>). If the associated service is a VEIP, the ONU shows a VEIP ME in the OMCI MIB. If its a PPTP Ethernet UNI, the ONU shows a PPTP Ethernet UNI ME in the OMCI MIB. It is expected the associated service is a VEIP for a virtual UNI, and that it is a PPTP Ethernet UNI for a physical UNI. However, some network operators require that the ONU shows a PPTP Ethernet UNI ME instead of a VEIP ME in its OMCI MIB even if the EthernetUNI models a virtual UNI.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": false,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates whether this interface is enabled (<<true>>) or not (<<false>>). If the ONU is managed via OMCI, the interface is enabled if the OLT set the parameter Administrative state of the ME managing the associated service to 0. (The value 0 unlocks the functions performed by the ME.) The ME is either the VEIP ME (see <<bibref|G.988|Section 9.5.5>>) or the PPTP Ethernet UNI ME (see <<bibref|G.988|Section 9.5.1>>. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the interface (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Up, Down, Unknown, Dormant, NotPresent, LowerLayerDown, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD change to <<enum|LowerLayerDown>> if and only if the interface is prevented from entering the <<enum|Up>> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>. Because the interface includes layer 1, the <<enum|LowerLayerDown>> value SHOULD never be used. If the ONU is managed via OMCI, then <<param>> can only be <<enum|Up>> if the ONU has been provisioned at OMCI level in such a way that this interface is able to pass traffic.",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Down",
							"Unknown",
							"Dormant",
							"NotPresent",
							"LowerLayerDown",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The textual name of the interface as assigned by the CPE.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"LastChange": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"LowerLayers": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference|an interface object that is stacked immediately below this interface object>> See <<bibref|TR-181i2|Section 4.2.1>>. Note: Since <<object>> is a layer 1 interface, it is expected that <<param>> will not be used. If <<object>> models a physical UNI, it represents a layer 1 interface; if <<object>> models a virtual UNI, it virtualizes a layer 1 interface.",
						"list": {
							"datatype": "string",
							"maxsize": 1024
						}
					},
					"Upstream": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Indicates whether the interface points towards the Internet (<<true>>) or towards End Devices (<<false>>). For example: * For an Internet Gateway Device, <<param>> will be <<true>> for all WAN interfaces and <<false>> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <<param>> will be <<true>> for the Ethernet interface and <<false>> for the WiFi Radio interface. * For an End Device, <<param>> will be <<true>> for all interfaces.",
						"datatype": "boolean"
					},
					"ANIs": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<list>> <<reference>> References all associated ANI interfaces. An ONU is potentially capable of forwarding frames between a UNI and its associated ANI interfaces. This parameter defines such a relationship. However, the list does not mean that the forwarding is actually happening, or the forwarding policies have been provisioned, between the UNI and the associated ANI interfaces. For an ONU with a single TC layer device, the parameter value can be either empty for simplicity, or can be the path name of the associated ANI. For an ONU with multiple TC layer devices, this parameter value may have one or more path names.",
						"list": {
							"datatype": "string",
							"maxsize": 1024
						}
					},
					"InterdomainID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "String to identify the associated service in the ONU management domain to the TR-181 management domain. If the ONU is managed via OMCI, it is recommended to format this string as (service_type,MEID), with service_type being an enumeration of VEIP or PPTPEthernetUNI, and MEID the value of the attribute Managed entity ID of the ME instance managing the service associated with this EthernetUNI. Examples: * (VEIP,1025) * (PPTPEthernetUNI,257) An OSS (Operations Support System) having access to both the TR-181 and the OMCI domain can then find out which EthernetUNI instance represents a certain VEIP or PPTPEthernetUNI ME instance in the OMCI domain.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"InterdomainName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "String that provides an additional way to identify the associated service to the TR-181 management domain. If the ONU is managed via OMCI and if the service associated with this EthernetUNI is a VEIP, then the value of this parameter is the value of the attribute Interdomain name of the corresponding VEIP ME instance.",
						"datatype": "string",
						"range": [
							{
								"max": 25
							}
						]
					},
					"Device.XPON.ONU.{i}.EthernetUNI.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>. Transmit direction has PON as destination. Receive direction has PON as source.",
						"access": true,
						"array": false,
						"Reset": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Set this to <<true>> to reset all this objects statistics counters to zero.",
							"datatype": "boolean"
						},
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> transmitted out of the interface.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received on the interface.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> that could not be transmitted because of errors.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> that contained errors preventing them from being delivered to a higher-layer protocol.",
							"datatype": "StatsCounter32"
						},
						"UnicastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"DiscardPacketsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound <<units>> which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"MulticastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"UnicastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"MulticastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received <<units>>, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"UnknownProtoPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of <<units>> received via the interface which were discarded because of an unknown or unsupported protocol.",
							"datatype": "StatsCounter32"
						},
						"Reset()": {
							"type": "command",
							"async": false,
							"protocols": [
								"usp"
							]
						}
					}
				},
				"Device.XPON.ONU.{i}.SoftwareImage.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table models the software images stored in the ONU. It is expected this table has two entries: the ONU normally creates two instances of the Software Image ME to model the 2 software images in the ONU. This object is based on <<bibref|G.988|Section 9.1.4>>.",
					"uniqueKeys": [
						"ID"
					],
					"access": false,
					"array": true,
					"ID": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The ID as assigned by the CPE to this <<object>> entry.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 1
							}
						]
					},
					"Version": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A string identifying the software version. This parameter is based on Version from <<bibref|G.988|Section 9.1.4>>.",
						"datatype": "string",
						"range": [
							{
								"max": 14
							}
						]
					},
					"IsCommitted": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter indicates whether or not the associated software image is committed. This parameter is based on Is committed from <<bibref|G.988|Section 9.1.4>>.",
						"datatype": "boolean"
					},
					"IsActive": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter indicates whether the associated software image is active (<<true>>) or inactive (<<false>>). This parameter is based on Is active from <<bibref|G.988|Section 9.1.4>>.",
						"datatype": "boolean"
					},
					"IsValid": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This parameter indicates whether the associated software image is valid (<<true>>) or invalid (<<false>>). This parameter is based on Is valid from <<bibref|G.988|Section 9.1.4>>.",
						"datatype": "boolean"
					}
				},
				"Device.XPON.ONU.{i}.ANI.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Access Node Interface (ANI) table. An ANI models the xPON MAC/PHY as defined in the ITU-T PON standards. This object is not an interface object as described in <<bibref|TR-181i2|Section 4.2>>, but it has many of the same core parameters as an interface object, and they follow largely the same conventions. The most important deviations are: * This object does not have a LowerLayers parameter. * The value LowerLayerDown is not a valid value for its Status parameter. Because its not an interface object, it does not occur in the <<object|###.InterfaceStack>> table.",
					"uniqueKeys": [
						"Alias",
						"Name"
					],
					"access": false,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the interface. If disabled, the device should force the ONU state of this ANI to O1 (Initial state). This parameter is based on ifAdminStatus from <<bibref|RFC2863>>. Note: forcing the state to O1 implies the device disables the TX laser of the associated transceiver(s). Its not required to disable the RX part of the transceivers as well.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The current operational state of the interface. Although this object is not an interface object, it follows largely the conventions of <<bibref|TR-181i2|Section 4.2.2>>. The most important deviation is that LowerLayerDown is not a valid value. Enumeration of: Up, Down, Unknown, Dormant, NotPresent, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Down>> (or <<enum|NotPresent>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> becomes <<true>> then <<param>> SHOULD change to <<enum|Up>> if and only if the interface is able to transmit and receive network traffic; more specifically, <<param>> should change to <<enum|Up>> if <<param|TC.ONUActivation.ONUState>> becomes O5; it SHOULD change to <<enum|Dormant>> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <<enum|Up>> if still operable when the expected actions have completed); it SHOULD remain in the <<enum|Error>> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <<enum|NotPresent>> state if the interface has missing (typically hardware) components; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason. This parameter is based on ifOperStatus from <<bibref|RFC2863>>.",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Down",
							"Unknown",
							"Dormant",
							"NotPresent",
							"Error"
						]
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The textual name of the ANI entry as assigned by the CPE.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"LastChange": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The accumulated time in <<units>> since the interface entered its current operational state.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"PONMode": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "PON mode, defines the detected or configured PON mode of the ANI. Enumeration of: Unknown, G-PON, XG-PON, NG-PON2, XGS-PON. <<object|Transceiver>> has a parameter of the same name. For proper operation, the PON mode of the transceiver(s) corresponding to this ANI must be equal to the PON mode of this ANI. But a user might e.g. accidentally insert a G-PON SFP while the PON mode of the ANI is XGS-PON.",
						"datatype": "string",
						"enumerations": [
							"Unknown",
							"G-PON",
							"XG-PON",
							"NG-PON2",
							"XGS-PON"
						]
					},
					"TransceiverNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"SFPReferenceList": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Small-form Factor Pluggable (SFP) entries associated with this interface.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"Device.XPON.ONU.{i}.ANI.{i}.Stats.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Throughput statistics for this interface. The CPE MUST reset the interfaces Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interfaces <<param|#.Status>> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interfaces <<param|#.Enable>> parameter transitions from <<false>> to <<true>>). Administrative and operational interface status is discussed in <<bibref|TR-181i2|section 4.2.2>>. Transmit direction has PON as destination. Receive direction has PON as source.",
						"access": false,
						"array": false,
						"BytesSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of bytes transmitted out of the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"BytesReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of bytes received on the interface, including framing characters.",
							"datatype": "StatsCounter64"
						},
						"PacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of Ethernet frames transmitted out of the interface.",
							"datatype": "StatsCounter64"
						},
						"PacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of Ethernet frames received on the interface.",
							"datatype": "StatsCounter64"
						},
						"ErrorsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound Ethernet frames that could not be transmitted because of errors.",
							"datatype": "StatsCounter32"
						},
						"ErrorsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound Ethernet frames that contained errors preventing them from being forwarded to the UNI(s).",
							"datatype": "StatsCounter32"
						},
						"UnicastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of Ethernet frames requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"UnicastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of Ethernet frames, forwarded by this interface to the UNI(s), which were not addressed to a multicast or broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"DiscardPacketsSent": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of outbound Ethernet frames which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"DiscardPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of inbound Ethernet frames which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.",
							"datatype": "StatsCounter32"
						},
						"MulticastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of Ethernet frames requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"MulticastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received Ethernet frames, forwarded by this interface to the UNI(s), which were addressed to a multicast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsSent": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of Ethernet frames requested for transmission on the PON and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.",
							"datatype": "StatsCounter64"
						},
						"BroadcastPacketsReceived": {
							"type": "unsignedLong",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of received Ethernet frames, forwarded by this interface to the UNI(s), which were addressed to a broadcast address at this layer.",
							"datatype": "StatsCounter64"
						},
						"UnknownProtoPacketsReceived": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The total number of Ethernet frames received via the interface which were discarded because of an unknown or unsupported protocol.",
							"datatype": "StatsCounter32"
						}
					},
					"Device.XPON.ONU.{i}.ANI.{i}.TC.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object represents an ITU-T PON TC layer device.",
						"access": false,
						"array": false,
						"Device.XPON.ONU.{i}.ANI.{i}.TC.ONUActivation.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object shows info related to the activation of this ANI by an OLT.",
							"access": false,
							"array": false,
							"ONUState": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "ONU activation state. Enumeration of: O1, O2, O3, O2-3, O4, O5, O6, O7, O8, O9. See: * <<bibref|G.9807.1|Section C.12>> * <<bibref|G.984.3|Section 10>> * <<bibref|G.987.3|Section 12>> * <<bibref|G.989.3|Section 12>>",
								"datatype": "string",
								"enumerations": [
									"O1",
									"O2",
									"O3",
									"O2-3",
									"O4",
									"O5",
									"O6",
									"O7",
									"O8",
									"O9"
								]
							},
							"VendorID": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Identifies the vendor of the ONU. See <<bibref|G.988|Section 9.1.1>>.",
								"datatype": "string",
								"range": [
									{
										"max": 4
									}
								]
							},
							"SerialNumber": {
								"type": "string",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Represents the combination of the Vendor-ID and the Vendor-specific serial number (VSSN). The parameter shows the serial number in a human readable format. Example: if the vendor ID is ABCD and the VSSN encodes the number 1234568, the value of this parameter is ABCD12345678. See <<bibref|G.988|Section 9.1.1>>.",
								"datatype": "string",
								"range": [
									{
										"max": 12
									}
								]
							},
							"ONUID": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Identifier that the OLT assigns to this ANI during the activation. See: * <<bibref|G.9807.1|Section C.6.1.5.6>> * <<bibref|G.984.3|Section 5.5.2>> * <<bibref|G.987.3|Section 6.4.2>> * <<bibref|G.989.3|Section 6.1.5.6>>",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 0,
										"max": 1022
									}
								]
							}
						},
						"Device.XPON.ONU.{i}.ANI.{i}.TC.Authentication.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "This object shows info related to authentication of the ONU to the OLT.",
							"access": false,
							"array": false,
							"Password": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "All ITU based PON standards specify authentication by PLOAM password or registration ID. See: * <<bibref|G.9807.1|Section C.15.2.1>> * <<bibref|G.984.3|Section VI.2>> * <<bibref|G.987.3|Section 15.2.1>> * <<bibref|G.989.3|Section 15.2.1>> All those standards mention that a method to enter the password is beyond their scope. This parameter and the parameter <<param|HexadecimalPassword>> standardize a method to enter the password. In case of G-PON as PON mode, the password can be up to 10 bytes long. See <<bibref|G.984.3|Section 9.2.4.2>>. For the other PON modes, the password can be up to 36 bytes long. See: * <<bibref|G.9807.1|Section C.11.3.4.2>> * <<bibref|G.987.3|Section 11.3.4.2>> * <<bibref|G.989.3|Section 11.3.4.2>> If <<param|HexadecimalPassword>> is <<false>>, the password is in ASCII format. Then all 95 printable characters with decimal codes in the range 32 to 126 inclusive are allowed. Each character corresponds with 1 byte in the password. If <<param|HexadecimalPassword>> is <<true>>, the password is in hexadecimal format. Then only the characters 0 to 9, a to f, and A to F are allowed. Each character corresponds with 1 nibble in the password. Depending on the value of <<param|HexadecimalPassword>> and the PON mode, a different number of characters are applicable. If <<param|HexadecimalPassword>> is <<false>>: * In case of G-PON as PON mode, only the 1st 10 characters are applicable. * In case of another PON mode, only the 1st 36 characters are applicable. If <<param|HexadecimalPassword>> is <<true>>: * In case of G-PON as PON mode, the 1st 20 characters are all relevant. The other characters are not applicable. * In case of another PON mode, all 72 characters are relevant. This parameter is set to <<empty>> if no authentication via a password is required.",
								"datatype": "string",
								"range": [
									{
										"max": 72
									}
								]
							},
							"HexadecimalPassword": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "If <<false>>, <<param|Password>> is in ASCII format. If <<true>>, <<param|Password>> is in hexadecimal format. See <<param|Password>> for more info.",
								"datatype": "boolean"
							}
						},
						"Device.XPON.ONU.{i}.ANI.{i}.TC.PM.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Performance monitoring (PM) counters.",
							"access": false,
							"array": false,
							"Device.XPON.ONU.{i}.ANI.{i}.TC.PM.PHY.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "PHY PM.",
								"access": false,
								"array": false,
								"CorrectedFECBytes": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "The number of bytes that were corrected by the FEC function. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"CorrectedFECCodewords": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Count of FEC codewords that contained errors but were corrected by the FEC function. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"UncorrectableFECCodewords": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Count of FEC codewords that contained errors and could not be corrected by the FEC function. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"TotalFECCodewords": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Count of total received FEC codewords. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"PSBdHECErrorCount": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "HEC error in any of the fields of PSBd. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter32"
								},
								"HeaderHECErrorCount": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "HEC errors received in the DS XGTC or FS header. This counter is called: * FS HEC error count in <<bibref|G.9807.1|Table C.14.1>> and <<bibref|G.989.3|Table 14-1>>. * XGTC HEC error count in <<bibref|G.987.3|Table 14-1>>. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter32"
								},
								"UnknownProfile": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "ONU could not transmit because the specified burst profile was not known. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter32"
								}
							},
							"Device.XPON.ONU.{i}.ANI.{i}.TC.PM.GEM.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "(X)GEM PM.",
								"access": false,
								"array": false,
								"FramesSent": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of (X)GEM frames transmitted. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"FramesReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Total number of (X)GEM frames received. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"FrameHeaderHECErrors": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "XGEM frame header HEC errors. Number of events involving loss of XGEM channel delineation. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter32"
								},
								"KeyErrors": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "XGEM key errors. XGEM frames discarded because of unknown or invalid encryption key. Examples include: no unicast or broadcast key established for specified key index, key index indicating encrypted XGEM frame on a XGEM port that is not provisioned for encryption, key index indicating upstream encryption on a XGEM port that is provisioned for downstream encryption only, or invalid key index (11). This count is included in <<param|FramesReceived>>. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter32"
								}
							},
							"Device.XPON.ONU.{i}.ANI.{i}.TC.PM.PLOAM.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "PLOAM PM.",
								"access": false,
								"array": false,
								"MICErrors": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "PLOAM MIC errors. Counter of received PLOAM messages with MIC errors. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter32"
								},
								"DownstreamMessageCount": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Downstream PLOAM message count. Count of PLOAM messages sent by OLT, received by ONU, either broadcast or directed to the specific ONU-ID. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"RangingTime": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Count of Ranging_Time PLOAM messages sent by OLT. It provides a base for transmission time drift estimation. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"UpstreamMessageCount": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Upstream PLOAM message count. Count of messages (other than Acknowledgement) sent by ONU to OLT. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								}
							},
							"Device.XPON.ONU.{i}.ANI.{i}.TC.PM.OMCI.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "OMCI PM.",
								"access": false,
								"array": false,
								"BaselineMessagesReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "OMCI baseline message count. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"ExtendedMessagesReceived": {
									"type": "unsignedLong",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "OMCI extended message count. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter64"
								},
								"MICErrors": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Count of received OMCI messages with MIC errors. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
									"datatype": "StatsCounter32"
								}
							}
						},
						"Device.XPON.ONU.{i}.ANI.{i}.TC.GEM.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Info about the GEM ports of this ANI.",
							"access": false,
							"array": false,
							"PortNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"Device.XPON.ONU.{i}.ANI.{i}.TC.GEM.Port.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "GEM port table. Each entry gives info about a(n) (X)GEM port.",
								"uniqueKeys": [
									"PortID"
								],
								"access": false,
								"array": true,
								"PortID": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Identifies a GEM port. See: * <<bibref|G.9807.1|Section C.6.1.5.8>> * <<bibref|G.984.3|Section 5.5.5>> * <<bibref|G.987.3|Section 6.4.4>> * <<bibref|G.989.3|Section 6.1.5.8>>",
									"datatype": "unsignedInt",
									"range": [
										{
											"min": 0,
											"max": 65534
										}
									]
								},
								"Direction": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Type of connection this GEM port is used for. Enumeration of: UNI-to-ANI, ANI-to-UNI, bidirectional. See: <<bibref|G.988|Section 9.2.3>>.",
									"datatype": "string",
									"enumerations": [
										"UNI-to-ANI",
										"ANI-to-UNI",
										"bidirectional"
									]
								},
								"PortType": {
									"type": "string",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "GEM port type.",
									"datatype": "string",
									"enumerations": [
										"unicast",
										"multicast",
										"broadcast"
									]
								},
								"Device.XPON.ONU.{i}.ANI.{i}.TC.GEM.Port.{i}.PM.": {
									"type": "object",
									"protocols": [
										"cwmp",
										"usp"
									],
									"description": "Performance monitoring (PM) counters for this (X)GEM port.",
									"access": false,
									"array": false,
									"FramesSent": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "(X)GEM frames transmitted by this (X)GEM port. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
										"datatype": "StatsCounter64"
									},
									"FramesReceived": {
										"type": "unsignedLong",
										"read": true,
										"write": false,
										"protocols": [
											"cwmp",
											"usp"
										],
										"description": "(X)GEM frames received by this (X)GEM port. See: * <<bibref|G.9807.1|Table C.14.1>> * <<bibref|G.987.3|Table 14-1>> * <<bibref|G.989.3|Table 14-1>>",
										"datatype": "StatsCounter64"
									}
								}
							}
						},
						"Device.XPON.ONU.{i}.ANI.{i}.TC.PerformanceThresholds.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Performance thresholds.",
							"access": false,
							"array": false,
							"SignalFail": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Signal fail (SF) threshold. This parameter specifies the downstream bit error rate (BER) threshold to detect the SF alarm. When this value is y, the BER threshold is 10^-y^. This parameter is based on Signal fail (SF) threshold from <<bibref|G.988|Section 9.2.1>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 3,
										"max": 8
									}
								]
							},
							"SignalDegrade": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Signal degrade (SD) threshold. This parameter specifies the downstream BER threshold to detect the SD alarm. When this value is x, the BER threshold for SD is 10^-x^. The SD threshold must be lower than the SF threshold; i.e., x > y. This parameter is based on Signal degrade (SD) threshold from <<bibref|G.988|Section 9.2.1>>.",
								"datatype": "unsignedInt",
								"range": [
									{
										"min": 4,
										"max": 10
									}
								]
							}
						},
						"Device.XPON.ONU.{i}.ANI.{i}.TC.Alarms.": {
							"type": "object",
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Alarms at TC level for this ANI.",
							"access": false,
							"array": false,
							"LOS": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Loss of signal. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"LOF": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Loss of frame. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"SF": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Signal failed. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"SD": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Signal degraded. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"LCDG": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Loss of GEM channel delineation. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"TF": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Transmitter failure. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"SUF": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Start-up failure. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"MEM": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Message error message. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"DACT": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Deactivate ONU-ID. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"DIS": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Disabled ONU. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"MIS": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Link mismatching. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"PEE": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "When the ONU receives a PEE message. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"RDI": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Remote defect indication. See <<bibref|G.984.3|Section 11.1.2>>.",
								"datatype": "boolean"
							},
							"LODS": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "Loss of downstream synchronization. See <<bibref|G.9807.1|>>.",
								"datatype": "boolean"
							},
							"ROGUE": {
								"type": "boolean",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp",
									"usp"
								],
								"description": "The ANI behaves rogue: it is not transmitting in a manner consistent with parameters specified in the ITU-T PON standards. Hence it can threaten all upstream transmissions on the PON, causing interference and disrupting communications of other ONUs on the PON. An example of rogue behavior is transmitting in the wrong timeslot. See: * <<bibref|G.9807.1|Section C.19>> * <<bibref|G.989.3|Section 19>>",
								"datatype": "boolean"
							}
						}
					},
					"Device.XPON.ONU.{i}.ANI.{i}.Transceiver.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Transceiver table. Each entry models a PON transceiver.",
						"uniqueKeys": [
							"ID"
						],
						"access": false,
						"array": true,
						"ID": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The ID as assigned by the CPE to this Transceiver entry.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 1
								}
							]
						},
						"Identifier": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Transceiver type. Allowed values are given by <<bibref|SFF-8024|Table 4-1>>.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 255
								}
							]
						},
						"VendorName": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Vendor name. See <<bibref|SFF-8472|Table 4-1>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"VendorPartNumber": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Vendor part number. See Vendor PN in <<bibref|SFF-8472|Table 4-1>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"VendorRevision": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Vendor revision. See Vendor rev in <<bibref|SFF-8472|Table 4-1>>.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"PONMode": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "PON mode, reports the PON mode of the transceiver.",
							"datatype": "string",
							"enumerations": [
								"Unknown",
								"G-PON",
								"XG-PON",
								"NG-PON2",
								"XGS-PON"
							]
						},
						"Connector": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Connector type.",
							"datatype": "string",
							"enumerations": [
								"Unknown",
								"LC",
								"SC",
								"ST",
								"FC",
								"MT-RJ"
							]
						},
						"NominalBitRateDownstream": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Nominal data rate downstream in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "kbps"
						},
						"NominalBitRateUpstream": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Nominal data rate upstream in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "kbps"
						},
						"RxPower": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Measured RX power in <<units>>.",
							"datatype": "int",
							"unit": "0.1 dBm"
						},
						"TxPower": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Measured TX power in <<units>>.",
							"datatype": "int",
							"unit": "0.1 dBm"
						},
						"Voltage": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Measured supply voltage in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "mV"
						},
						"Bias": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Measured bias current in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "\u00b5A"
						},
						"Temperature": {
							"type": "int",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Measured temperature in <<units>>. A value of -274 (which is below absolute zero) indicates a good reading has not been obtained.",
							"datatype": "int",
							"range": [
								{
									"min": -274
								}
							],
							"unit": "degrees celsius"
						}
					}
				}
			}
		},
		"Device.SSH.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains global parameters relating to the Secure Shell clients and or servers implementations that are active in the CPE.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables the SSH service.",
				"datatype": "boolean"
			},
			"Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The status of the SSH service. Enumeration of: Disabled, Enabled, Error.",
				"datatype": "string",
				"enumerations": [
					"Disabled",
					"Enabled",
					"Error"
				]
			},
			"ServerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"AuthorizedKeyNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.SSH.Server.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to a SSH server instance.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables the SSH server instance. When <<param>> is set to <<false>>, any active sessions must be forcibly terminated and the <<param|ActivationDate>> is reset.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of the SSH server instance. Enumeration of: Disabled, Enabled, Error, Error_Misconfigured.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error",
						"Error_Misconfigured"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP Interface associated with the <<object>> entry. If <<empty>> is specified, the service should listen on all interfaces.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specify the port used by the SSH server.",
					"default": "22",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				},
				"IdleTimeout": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When the session is inactive, it is automatically terminated after <<param>> amount of <<units>>. A value of 0 disables this feature.",
					"default": "180",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"KeepAlive": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Every amount of <<param>> <<units>> a keep alive message is sent. A value of 0 disables this feature.",
					"default": "300",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"AllowRootLogin": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Permit SSH users to login as root.",
					"default": "false",
					"datatype": "boolean"
				},
				"AllowPasswordLogin": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Permit SSH users to login using a password.",
					"default": "false",
					"datatype": "boolean"
				},
				"AllowRootPasswordLogin": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Permit the root SSH user to login using a password.",
					"default": "false",
					"datatype": "boolean"
				},
				"MaxAuthTries": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Maximum authentication tries allowed before disconnect",
					"default": "3",
					"datatype": "unsignedInt"
				},
				"AllowAllIPv4": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allow access from any IPv4 address. The source prefixes defined in <<param|IPv4AllowedSourcePrefix>> will be ignored.",
					"default": "false",
					"datatype": "boolean"
				},
				"IPv4AllowedSourcePrefix": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allow only access from the provided list of IPv4 prefixes. When <<param>> is set to <<empty>> and <<param|AllowAllIPv4>> is set to false, no incoming connections are allowed. When <<param|AllowAllIPv4>> is set true, <<param>> is ignored.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"AllowAllIPv6": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allow access from any IPv6 address. The source prefixes defined in <<param|IPv6AllowedSourcePrefix>> will be ignored.",
					"default": "false",
					"datatype": "boolean"
				},
				"IPv6AllowedSourcePrefix": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Allow only access from the provided list of IPv6 prefixes. When <<param>> is set to <<empty>> and <<param|AllowAllIPv6>> is set to false, no incoming connections are allowed. When <<param|AllowAllIPv6>> is set true, <<param>> is ignored.",
					"list": {
						"datatype": "string",
						"maxsize": 1024
					}
				},
				"ActivationDate": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Activation date indicates when the server instance has been activated and the <<param|Enable>> is set to <<true>>.",
					"datatype": "dateTime"
				},
				"AutoDisableDuration": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The SSH server instance will be disabled when the the <<param>> elapses, and configuration must be done in <<units>>. At the end, the coressponding <<param|Enable>> parameter of the SSH server instance is automatically changed to false <<false>>. Any active sessions must be forcibly terminated. 0 means the the SSH server instance is always active.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "minutes"
				},
				"PID": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Current Process Identifier of the SSH server instance. Note: This parameter was demoted to readOnly in the Device:2.18 version.",
					"default": "0",
					"datatype": "unsignedInt"
				},
				"UserGroupAccess": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Restricts access to the SSH server instance to the given user group. When <<empty>>, everyone has access.",
					"datatype": "string"
				},
				"SessionNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"MaxAccessLogEntries": {
					"type": "int",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum number of entries available in the <<object|AccessLog>> table. Defines the maximum number of <<object|AccessLog>> instances that can be stored on the device. When the maximum <<object|AccessLog>> entries as indicated by <<param>> are reached, the next boot entry overrides the object with the oldest <<param|AccessLog.<i>.TimeStamp>>. Set this parameter to 0 to completely disable the creation of <<object|AccessLog>> instances. Set this parameter to -1 to leave it open to the implementation to decide the maximum number of <<object|AccessLog>> instances that may be stored on the device. Reducing the <<param>> will cause for the implementation to delete the oldest <<object|AccessLog>> instances. This setting does not affect the counting of access logs.",
					"datatype": "int",
					"range": [
						{
							"min": -1
						}
					]
				},
				"AccessLogNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "",
					"datatype": "unsignedInt"
				},
				"Device.SSH.Server.{i}.Session.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Active SSH session list.",
					"uniqueKeys": [
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"User": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The user to whom the session belongs to. Note: This parameter was demoted to readOnly in the Device:2.18 version.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"IPAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "IP address of the remote SSH client.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port of the remote SSH client.",
						"datatype": "unsignedInt"
					},
					"Delete()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				},
				"Device.SSH.Server.{i}.AccessLog.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table logs each SSH login attempt made on the device. When the number of entries reaches the maximum specified by <<param|#.MaxAccessLogEntries>>, the oldest entry (determined by <<param|TimeStamp>>) will be deleted and a new entry will be created for the newest login attempt.",
					"uniqueKeys": [
						"Alias"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"TimeStamp": {
						"type": "dateTime",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The date and time when the SSH login attempt occurred.",
						"datatype": "dateTime"
					},
					"User": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The username provided during the SSH access attempt.",
						"datatype": "string"
					},
					"IPAddress": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IP address of the client that attempted to access the SSH server.",
						"datatype": "IPAddress",
						"range": [
							{
								"max": 45
							}
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The port number of the client that attempted to access the SSH server.",
						"datatype": "unsignedInt"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Represents the outcome or status of the SSH access attempt or session. The parameter indicates whether the attempt was successful or encountered an error.",
						"datatype": "string",
						"enumerations": [
							"SuccessfulLogin",
							"FailedLogin",
							"Error"
						]
					}
				},
				"Device.SSH.Server.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This table provides statistical data on SSH login attempts for the server instance.",
					"access": false,
					"array": false,
					"NumberOfFailedAttempts": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of failed SSH login attempts since the devices last upgrade or initial boot.",
						"datatype": "unsignedInt"
					},
					"NumberOfFailedAttemptsSinceActivation": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of failed SSH login attempts since the SSH server instance was last activated.",
						"datatype": "unsignedInt"
					},
					"NumberOfSuccessfulAttempts": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The total number of successful SSH login attempts since the devices last upgrade or initial boot.",
						"datatype": "unsignedInt"
					},
					"NumberOfSuccessfulAttemptsSinceActivation": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The number of successful SSH login attempts since the SSH server instance was last activated.",
						"datatype": "unsignedInt"
					}
				}
			},
			"Device.SSH.AuthorizedKey.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to a SSH server instance.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"User": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The user to whom the authorized key belongs to.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Key": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Public key used for authentication (OpenSSH format).",
					"datatype": "string"
				}
			}
		},
		"Device.UnixDomainSockets.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains information related to the Unix Domain Sockets used by USP Agent UDS MTP.",
			"access": false,
			"array": false,
			"UnixDomainSocketNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.UnixDomainSockets.UnixDomainSocket.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to a UnixDomainSocket configuration.",
				"uniqueKeys": [
					"Alias",
					"Path"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Mode": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes how the Unix Domain Socket must be used.",
					"datatype": "string",
					"enumerations": [
						"Listen",
						"Connect"
					]
				},
				"Path": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "File path of the Unix Domain Socket. Example: /tmp/broker_controller_path",
					"datatype": "string",
					"range": [
						{
							"max": 4096
						}
					]
				}
			}
		},
		"Device.USPServices.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains information related to installed USP Services.",
			"access": false,
			"array": false,
			"TrustNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"USPServiceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.USPServices.Trust.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains permissions associated with the set of data model paths that a USP Agent within a USP Service is allowed to Register. If a USP Services USP Agent is not present in this table then there are no permissions associated for that USP Service and it is not allowed to register any data model paths.",
				"uniqueKeys": [
					"EndpointID"
				],
				"access": true,
				"array": true,
				"EndpointID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The unique USP identifier for the USP Agent associated with these permissions.",
					"datatype": "string"
				},
				"TargetPaths": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Each entry in the list is an Object Path, Command Path, Event Path, or Parameter Path that determines the element(s) of the data model that the USP Service has permission to register. <<empty>> indicates that the USP Agent has no permissions.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 1024
						}
					}
				}
			},
			"Device.USPServices.USPService.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object contains parameters relating to a USPService configuration.",
				"uniqueKeys": [
					"EndpointID"
				],
				"access": false,
				"array": true,
				"EndpointID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The unique USP identifier for this USP Agent.",
					"datatype": "string"
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Message Transfer Protocol (MTP) to be used for communications by a USP Endpoint. Note: This parameter was demoted to readOnly in the Device:2.17 version.",
					"datatype": "string",
					"enumerations": [
						"WebSocket",
						"STOMP",
						"MQTT",
						"UDS"
					]
				},
				"DataModelPaths": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Registered data model paths.",
					"list": {
						"datatype": "string",
						"item": {
							"min": 1,
							"max": 1024
						}
					}
				},
				"DeploymentUnitRef": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|the <<object|##.SoftwareModules.DeploymentUnit.>> object instance that this USP Service is part of.>> <<empty>> means that USP service doesnt have a corresponding software module.",
					"list": {
						"datatype": "string"
					}
				},
				"ExecutionUnitRef": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference|the <<object|##.SoftwareModules.ExecutionUnit.>> object instance that this USP Service is part of.>> <<empty>> means that USP service doesnt have a corresponding software module.",
					"list": {
						"datatype": "string"
					}
				},
				"HasController": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The USP service has controller functionality next to the standard USP Agent functionality.",
					"datatype": "boolean"
				}
			}
		},
		"Device.Syslog.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains global parameters relating to the syslog implementations that is active in the Device. Based on <<bibref|YANGSYSLOG|A YANG Data Model for Syslog Configuration>>.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables the Syslog service.",
				"datatype": "boolean"
			},
			"Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Indicates the syslog service operational state.",
				"datatype": "string",
				"enumerations": [
					"Disabled",
					"Enabled",
					"Error"
				]
			},
			"FilterNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SourceNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"TemplateNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ActionNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Syslog.Filter.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table defines the processing used to select log messages by comparing syslog message with the provided rules. A rule can consist either of <<param|FacilityLevel>> - <<param|Severity>> and or <<param|PatternMatch>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"FacilityLevel": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Only the log messages with following Facility levels must be logged.",
					"default": "[All]",
					"list": {
						"datatype": "string",
						"enumerations": [
							"Kern",
							"User",
							"Mail",
							"Daemon",
							"Auth",
							"Syslog",
							"LPR",
							"News",
							"UUCP",
							"Cron",
							"AuthPriv",
							"FTP",
							"NTP",
							"Audit",
							"Console",
							"Cron2",
							"Local0",
							"Local1",
							"Local2",
							"Local3",
							"Local4",
							"Local5",
							"Local6",
							"Local7",
							"All"
						]
					}
				},
				"Severity": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the Severity level filter rules. Defines the processing used to select log messages by comparing syslog message severity using the following processing rules: - if none, do not match. - if all, match. - else compare message severity with the specified severity according to the default compare rule (all messages of the specified severity and greater match). This must be used inconjuction with <<param|SeverityCompare>> and <<param|SeverityCompareAction>>.",
					"default": "All",
					"datatype": "string",
					"enumerations": [
						"Emergency",
						"Alert",
						"Critical",
						"Error",
						"Warning",
						"Notice",
						"Info",
						"Debug",
						"All",
						"None"
					]
				},
				"SeverityCompare": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the comparison method that must be applied when a syslog message is received. Not applicable when severity <<enum|All|Severity>> and <<enum|None|Severity>> is configured.",
					"default": "EqualOrHigher",
					"datatype": "string",
					"enumerations": [
						"Equal",
						"EqualOrHigher"
					]
				},
				"SeverityCompareAction": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the process of handling a syslog message based on specified conditions. It defines the action that will be taken when the criteria of both <<param|Severity>> and <<param|SeverityCompare>> are met, determining the response to the syslog message.",
					"default": "Log",
					"datatype": "string",
					"enumerations": [
						"Log",
						"Block",
						"Stop"
					]
				},
				"PatternMatch": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Regular expression pattern designed to match a syslog message that must be logged. The format is implementation specific.",
					"datatype": "string"
				}
			},
			"Device.Syslog.Source.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table describes where and how the syslog service receives log messages.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"KernelMessages": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This option enables the collection of kernel log messages that are specific to the Device.",
					"default": "true",
					"datatype": "boolean"
				},
				"SystemMessages": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This option enables the collection of the system log messages that are specific to the Device.",
					"default": "true",
					"datatype": "boolean"
				},
				"Severity": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the default Severity. When an incoming message lacks a valid syslog header, this parameter can be used to configure the required Severity level.",
					"default": "All",
					"datatype": "string",
					"enumerations": [
						"Emergency",
						"Alert",
						"Critical",
						"Error",
						"Warning",
						"Notice",
						"Info",
						"Debug",
						"All",
						"None"
					]
				},
				"FacilityLevel": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the default Facility Level. When an incoming message lacks a valid syslog header, this parameter can be used to configure the required Facility level.",
					"default": "All",
					"datatype": "string",
					"enumerations": [
						"Kern",
						"User",
						"Mail",
						"Daemon",
						"Auth",
						"Syslog",
						"LPR",
						"News",
						"UUCP",
						"Cron",
						"AuthPriv",
						"FTP",
						"NTP",
						"Audit",
						"Console",
						"Cron2",
						"Local0",
						"Local1",
						"Local2",
						"Local3",
						"Local4",
						"Local5",
						"Local6",
						"Local7",
						"All"
					]
				},
				"Device.Syslog.Source.{i}.Network.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object describes the configuration parameters for receiving syslog information on a network socket.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the functionality to receive syslog information on a network socket.",
						"datatype": "boolean"
					},
					"Interface": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IP or Logical Interface on which the syslog information will be received. When <<empty>> is specified the syslog service will listen to all available network interfaces. Example: * Device.IP.Interface.1 * Device.Logical.Interface.1 <<template|INTERFACE-ROUTING>>",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the port number on which the syslog information will be received.",
						"default": "1099",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"Protocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The protocol to be used for receiving syslog information.",
						"default": "UDP",
						"datatype": "string",
						"enumerations": [
							"TCP",
							"UDP",
							"TLS"
						]
					},
					"Certificate": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the server certificate to be presented by the server during the TLS handshake. This certificate is used to authenticate the server to remote clients, ensuring that the clients are connecting to a legitimate server. The server certificate must be issued by a trusted Certificate Authority (CA) and should match the servers private key. This parameter is applicable only when a TLS session is being used.",
						"datatype": "string"
					},
					"CABundle": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the group of CA certificate(s) that the server must use to validate the certificate presented by the remote client. These CA certificates form a trust chain that the client certificate must match, ensuring that only clients with trusted certificates can establish a connection. This parameter supports multiple CA certificates to accommodate different client certificate issuers. This parameter is applicable only when a TLS session is being used.",
						"datatype": "string"
					},
					"PeerVerify": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Ensures authentic and secure connections by validating entity credentials such as certificates or tokens. Only applicable when <<param|Protocol>> is set to <<enum|TLS|Protocol>>. In order to validate a certificate, the entire certificate chain, including the CA certificate, must be valid. If any certificate in the chain is found to be invalid, the syslog service must reject the connection.",
						"default": "false",
						"datatype": "boolean"
					}
				}
			},
			"Device.Syslog.Template.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This table the describes the templates that can be referenced by objects that can use the template syntax. With templates, you have the flexibility to establish uniform message formats or even define standard filenames for different objects.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Expression": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes the template syntax used for transforming the syslog message. The format is implementation specific and can consist of strings, macros, and template functions.",
					"datatype": "string"
				},
				"EscapeMessage": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enabling this option will cause the following characters to be escaped , and \\. in the syslog message.",
					"default": "false",
					"datatype": "boolean"
				}
			},
			"Device.Syslog.Action.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "This object describes the log action parameters for syslog.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"SourceRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Mandatory parameter. Specifies one or multiple sources from where the log messages originate.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"FilterRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Filter associated with the <<object>> entry. When referencing multiple Filter rules, it is mandatory to execute them in the order listed within the parameter. Example: FilterRef=.Syslog.Filter.3,.Syslog.Filter.1 First filter rule 3 must be executed and then filter rule 1. When no Filter is specified the log message will not be filtered.",
					"default": "[]",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"TemplateRef": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Template associated with the <<object>> entry. When no Template is specified the log message will not be altered by the template system.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"StructuredData": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This feature represents the ability to log messages in structured-data format. Reference <<bibref|RFC5424|The Syslog Protocol>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"LogEvent!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"LogLine": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Contains the complete syslog message.",
							"datatype": "string"
						}
					}
				},
				"Device.Syslog.Action.{i}.LogFile.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object describes the configuration parameters for file logging. If file-archive limits are not supplied, it is assumed that the local implementation defined limits will be used.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the LogFile functionality.",
						"datatype": "boolean"
					},
					"VendorLogFileRef": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The reference to <<object|###.DeviceInfo.VendorLogFile>> is automatically constructed and the <<object|###.DeviceInfo.VendorLogFile>> is populated with the information based on <<param|FilePath>>. E.g. When <<param|FilePath>> = file:///var/log/messages. The following entry is automatically added to <<object|###.DeviceInfo.VendorLogFile>>: file:///var/log/messages.",
						"datatype": "string"
					},
					"FilePath": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Destination path and filename of where to create and keep the logfiles. Which MUST use the uri scheme file <<bibref|RFC8089|The file URI Scheme>>.",
						"datatype": "string"
					}
				},
				"Device.Syslog.Action.{i}.LogRemote.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object describes the configuration parameters for forwarding syslog messages to remote relays or collectors.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Enables or disables the LogRemote functionality.",
						"datatype": "boolean"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Status of the remote log destination.",
						"datatype": "string",
						"enumerations": [
							"Disabled",
							"Enabled",
							"Error_Unreachable",
							"Error"
						]
					},
					"Address": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Host name or IP address of the remote server.",
						"datatype": "string"
					},
					"Protocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Protocol to be used to deliver the syslog messages to the remote server. Note: This parameter was promoted to readWrite in the Device:2.18 version.",
						"datatype": "string",
						"enumerations": [
							"TCP",
							"UDP",
							"TLS"
						]
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Port number of the remote server.",
						"default": "514",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"Certificate": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the client certificate that must be presented to the remote server for mutual authentication. This certificate is used to authenticate the client by the remote server, ensuring that the remote server is communicating with a trusted client. The client certificate must be issued by a trusted Certificate Authority (CA) and should match the clients private key. This parameter is applicable only when a TLS session is being used.",
						"datatype": "string"
					},
					"CABundle": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Specifies the group of CA certificate(s) that the client must use to validate the certificate presented by the remote server. These CA certificates form a trust chain that the server certificate must match, ensuring that only servers with trusted certificates can establish a connection. This parameter supports multiple CA certificates to accommodate different server certificate issuers. This parameter is applicable only when a TLS session is being used.",
						"datatype": "string"
					},
					"PeerVerify": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Ensures authentic and secure connections by validating entity credentials such as certificates or tokens. Only applicable when <<param|Protocol>> is set to <<enum|TLS|Protocol>>. In order to validate a certificate, the entire certificate chain, including the CA certificate, must be valid. If any certificate in the chain is found to be invalid, the syslog service must reject the connection.",
						"default": "false",
						"datatype": "boolean"
					}
				}
			}
		},
		"Device.Schedules.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object is responsible for managing the schedules that are embedded within the Device.",
			"access": false,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables the scheduling. If the scheduling is disabled then the status of any enabled <<object|Schedule>> entries will change to <<enum|StackDisabled|Schedule.<i>.Status>>.",
				"default": "true",
				"datatype": "boolean"
			},
			"ScheduleNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.Schedules.Schedule.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Each instance of this object provides a schedule where access is enabled.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>> entry.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Status of the schedule.",
					"datatype": "string",
					"enumerations": [
						"Active",
						"Inactive",
						"StackDisabled",
						"Error"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A description of the schedule (human readable string).",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Day": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<list|the days for which access is enabled>> Enumeration of: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.",
					"list": {
						"datatype": "string",
						"enumerations": [
							"Monday",
							"Tuesday",
							"Wednesday",
							"Thursday",
							"Friday",
							"Saturday",
							"Sunday"
						]
					}
				},
				"StartTime": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Start time of the enable schedule in hh:mm format. [hh] refers to a zero-padded hour between 00 and 23. [mm] refers to a zero-padded minute between 00 and 59. Start time is in local time zone.",
					"datatype": "string",
					"range": [
						{
							"max": 5
						}
					],
					"pattern": [
						"",
						"([01][0-9]|2[0-3]):[0-5][0-9]"
					]
				},
				"Duration": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The duration, in <<units>>, which the access is enabled. If the <<param|StartTime>> is not defined, duration is the total time access is allowed during a calendar day. If a <<param|StartTime>> is defined, access is allowed for the <<param>> period starting from <<param|StartTime>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"InverseMode": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When enabled, the Inverse Mode reverses the default behavior of the schedule, creating a dynamic where actions that are typically activated are now deactivated, and vice versa.",
					"default": "false",
					"datatype": "boolean"
				},
				"TimeLeft": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The number of <<units>> remaining before the next state change will occur. 0 means that schedule is disabled.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				}
			}
		},
		"Device.RadSecProxy.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains configurations pertaining to the RadSecProxy service which implements the RadSec protocol for transporting RADIUS datagrams over TCP and TLS as detailed in <<bibref|RFC6614|Appendix B>>.",
			"access": true,
			"array": false,
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Enables or disables the RadSecProxy service.",
				"datatype": "boolean"
			},
			"Status": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Status of the RadSecProxy service. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
				"datatype": "string",
				"enumerations": [
					"Disabled",
					"Enabled",
					"Error"
				]
			},
			"ListenConfigNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SourceConfigNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ClientNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"RealmNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ServerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"TLSNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.RadSecProxy.ListenConfig.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Specifies the Listen configurations of the RadSecProxy service for each type of <<param|Protocol>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the listening protocol.",
					"datatype": "string",
					"enumerations": [
						"UDP",
						"TCP",
						"TLS",
						"DTLS"
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP interface on which the RadSecProxy service listen for the corresponding <<param|Protocol>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the port used to receive corresponding <<param|Protocol>> packets. UDP <<param|Protocol>> will default to port 1812 and TCP and TLS <<param|Protocol>> will default to 2083.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				}
			},
			"Device.RadSecProxy.SourceConfig.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Specifies the source configurations of the RadSecProxy service which is used for connecting to servers in order to send messages for each type of <<param|Protocol>>.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the source Protocol of the RadSecProxy service.",
					"datatype": "string",
					"enumerations": [
						"UDP",
						"TCP",
						"TLS",
						"DTLS"
					]
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The IP interface which the RadSecProxy service uses as the source for the corresponding <<param|Protocol>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the port used to receive corresponding <<param|Protocol>> packets. UDP <<param|Protocol>> will default to port 1812 and TCP and TLS <<param|Protocol>> will default to 2083.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				}
			},
			"Device.RadSecProxy.Realm.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Realm block configuration of the RadSecProxy service as defined in <<bibref|RFC6614|Appendix B>>.",
				"uniqueKeys": [
					"Alias",
					"Pattern"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable this <<object>> instance.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Pattern": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the regular expression pattern against which the Username attribute in the Access-Request is matched to determine the corresponding Realm block. This is used to determine the <<param|Server>> to which the Access-Request should be forwarded. The format is implementation specific.",
					"datatype": "string"
				},
				"Server": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the server to which requests for this realm should be forwarded. If no server is configured, the RadSecProxy service will deny all Access-Requests for this realm.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AccountingServer": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the accounting Server. If no accounting Server is configured, the RadSecProxy service will silently ignore all Accounting-Requests for this realm unless <<param|AccountingResponse>> is set to <<true>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"AccountingResponse": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable sending Accounting-Response instead of ignoring Accounting-Requests when no accounting servers are configured.",
					"default": "false",
					"datatype": "boolean"
				}
			},
			"Device.RadSecProxy.Server.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Server block configuration of the RadSecProxy service.",
				"uniqueKeys": [
					"Alias",
					"Address"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable this <<object>> instance.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Address": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the Fully Qualified Domain Name (FQDN) or IP address of the RADIUS server that the RadSecProxy service communicates with.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the type (protocol) of the Server.",
					"datatype": "string",
					"enumerations": [
						"UDP",
						"TCP",
						"TLS",
						"DTLS"
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the port (UDP/TCP) to connect to. If omitted, UDP and TCP will default to 1812 while TLS and DTLS <<bibref|RFC9147>> will default to 2083.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				},
				"Secret": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the shared RADIUS key with the client. This option is optional for TLS/DTLS and if omitted will default to radsec. Note that using a secret other than radsec for TLS is a violation of the standard <<bibref|RFC6614>> and that the proposed standard for DTLS <<bibref|RFC9147>> stipulates that the secret must be radius/dtls.",
					"datatype": "string"
				},
				"TLS": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the TLS Block to be used for this server.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"Device.RadSecProxy.Client.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Client block configuration of the RadSecProxy service.",
				"uniqueKeys": [
					"Alias",
					"Address"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable this <<object>> instance.",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The status of this entry. Enumeration of: Disabled, Enabled, Error. The <<enum|Error>> value MAY be used by the CPE to indicate a locally defined error condition.",
					"datatype": "string",
					"enumerations": [
						"Disabled",
						"Enabled",
						"Error"
					]
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Address": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the Fully Qualified Domain Name (FQDN) or IP address of RADIUS client that the RadSecProxy service communicates with.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the type (protocol) of the Client.",
					"datatype": "string",
					"enumerations": [
						"UDP",
						"TCP",
						"TLS",
						"DTLS"
					]
				},
				"Secret": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the shared RADIUS key with the server. This option is optional for TLS/DTLS and if omitted will default to radsec. Note that using a secret other than radsec for TLS is a violation of the standard <<bibref|RFC6614>> and that the proposed standard for DTLS stipulates that the secret must be radius/dtls.",
					"datatype": "string"
				},
				"TLS": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the TLS Block to be used by this client.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"Device.RadSecProxy.TLS.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "TLS block configuration of the RadSecProxy service.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Certificate": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the client certificate that must be presented to the remote server for mutual authentication. This certificate is used to authenticate the client by the remote server, ensuring that the remote server is communicating with a trusted client. The client certificate must be issued by a trusted Certificate Authority (CA) and should match the clients private key. This parameter is applicable only when a TLS session is being used.",
					"datatype": "string"
				},
				"CABundle": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the group of CA certificate(s) that the client must use to validate the certificate presented by the remote server. These CA certificates form a trust chain that the server certificate must match, ensuring that only servers with trusted certificates can establish a connection. This parameter supports multiple CA certificates to accommodate different server certificate issuers. This parameter is applicable only when a TLS session is being used.",
					"datatype": "string"
				},
				"TLSVersion": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Specifies the TLS/DTLS protocol version to be used by the RadSecProxy service.",
					"datatype": "string",
					"enumerations": [
						"SSL3",
						"TLS1_Only",
						"TLS1_Or_Later",
						"TLS1_1_Only",
						"TLS1_1_Or_Later",
						"TLS1_2_Only",
						"TLS1_2_Or_Later",
						"TLS1_3_Only",
						"TLS1_3_Or_Later",
						"DTLS1_Only",
						"DTLS1_Or_Later",
						"DTLS1_2_Only",
						"DTLS1_2_Or_Later"
					]
				}
			}
		},
		"Device.SessionManagement.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The logical connection between an RG and a data network using 3GPP technologies (FN-RG cellular and 5G-RG ALL) are considered data sessions. The Device.SessionManagement subtree describes each sessions properties together with the QoS rules specific to that access technology.",
			"access": false,
			"array": false,
			"SessionNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"PDPNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"PDNNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"PDUNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.SessionManagement.Session.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Contains all the properties of a 3GPP session instance common to all generations. This object contains the <<object>> table.",
				"uniqueKeys": [
					"Alias",
					"SessionID"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Interface": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<reference>> The IP Interface associated with the Session entry.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"SessionID": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "3GPP session identity. For 3G and 4G, this will be the cid as defined in TS27.007 10.1.1. For 5G see <<bibref|3GPP-TS.24.501|Clause 9.4>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 15
						}
					]
				},
				"SessionType": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The data session type indicating the protocol the session is capable of carrying. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.11>>. Enumeration of: IPv4, IPv6, IPv4v6, Unstructured.",
					"datatype": "string",
					"enumerations": [
						"IPv4",
						"IPv6",
						"IPv4v6",
						"Unstructured"
					]
				},
				"APN": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Access Point Name terminating the data session. For 3G and 4G it will be an APN, whilst 5G uses DNN. For all 3GPP generations, the APN can be specified at the time of session establishment or assigned by the network based on subscription. The format is defined in <<bibref|3GPP-TS.24.501|clause 9.11.2.1A>>.",
					"datatype": "string",
					"range": [
						{
							"max": 100
						}
					]
				},
				"Reference": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the data session type. When the <<param>> is <<empty>> the data session is unknown.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Device.SessionManagement.Session.{i}.PCO.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Policy Configuration Options (PCO) is an optional set of configuration parameters supplied by the network as defined in <<bibref|3GPP-TS.24.008|clause 10.5.6.3>>.",
					"access": false,
					"array": false,
					"IPv6PCSCF": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IPv6 address of the P-CSCF used for VoLTE telephony.",
						"datatype": "IPv6Address"
					},
					"IPv6DNS": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each entry is an IPv6 DNS server.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					},
					"IPv4PCSCF": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The IPv4 address of the P-CSCF used for VoLTE telephony.",
						"datatype": "IPv4Address",
						"range": [
							{
								"max": 15
							}
						],
						"pattern": [
							"",
							"((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])"
						]
					},
					"IPv4DNS": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Each entry is an IPv4 DNS server.",
						"list": {
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						}
					}
				}
			},
			"Device.SessionManagement.PDP.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Contains all 3G specific attributes needed to establish a PDP Context. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"TrafficClass": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the type of application for which the PDP session is optimised. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>. Enumeration of: Conversational, Streaming, Interactive, Background, SubscribedValue.",
					"datatype": "string",
					"enumerations": [
						"Conversational",
						"Streaming",
						"Interactive",
						"Background",
						"SubscribedValue"
					]
				},
				"UpstreamMaxBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Upstream Maximum Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				},
				"DownstreamMaxBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Downstream Maximum Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				},
				"UpstreamGuaranteedBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Upstream Guaranteed Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				},
				"DownstreamGuaranteedBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Downstream Guaranteed Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				},
				"DeliveryOrder": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether the PDP session shall provide in-sequence SDU delivery or not. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>. Enumeration of: No, Yes, SubscribedValue.",
					"datatype": "string",
					"enumerations": [
						"No",
						"Yes",
						"SubscribedValue"
					]
				},
				"MaximumSDUSize": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the maximum allowed SDU size in octets. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>.",
					"datatype": "unsignedInt"
				},
				"SDUErrorRatio": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the target value for the fraction of SDUs lost or detected as erroneous. SDUs. SDU error ratio is defined only for conforming traffic. The value is specified as mEe. As an example a target residual bit error ratio of 5\u202210-3 would be specified as 5E3, 0E0 means subscribed value See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>.",
					"datatype": "string",
					"range": [
						{
							"max": 10
						}
					]
				},
				"ResidualBitErrorRatio": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates the target value for the undetected bit error ratio in the delivered SDUs. If no error detection is requested, Residual bit error ratio indicates the bit error ratio in the delivered SDUs. The value is specified as mEe. As an example a target residual bit error ratio of 5\u202210-3 would be specified as 5E3 0E0 means subscribed value See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>.",
					"datatype": "string",
					"range": [
						{
							"max": 10
						}
					]
				},
				"DeliveryOfErroneousSDUs": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Indicates whether SDUs detected as erroneous shall be delivered or not. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>. Enumeration of: No, Yes, NoDetect, SubscribedValue.",
					"datatype": "string",
					"enumerations": [
						"No",
						"Yes",
						"NoDetect",
						"SubscribedValue"
					]
				},
				"TransferDelay": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "indicates the targeted time between request to transfer an SDU at one SAP to its delivery at the other SAP, in <<units>>. See <<bibref|3GPP-TS.24.008|Clause 10.5.6.5>>.",
					"datatype": "unsignedInt",
					"unit": "Milliseconds"
				}
			},
			"Device.SessionManagement.PDN.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Contains all 4G specific attributes needed to establish a PDN session.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"QCI": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "QoS Class Identifier. See <<bibref|3GPP-TS.24.301|Clause 9.9.4.3>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 254
						}
					]
				},
				"UpstreamMaxBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Upstream Maximum Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.301|Clause 9.9.4.3>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				},
				"DownstreamMaxBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Downstream Maximum Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.301|Clause 9.9.4.3>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				},
				"UpstreamGuaranteedBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Upstream Guaranteed Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.301|Clause 9.9.4.3>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				},
				"DownstreamGuaranteedBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Downstream Guaranteed Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.301|Clause 9.9.4.3>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				},
				"UpstreamAggregateBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Upstream Aggregate Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.301|Clause 9.9.4.3>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				},
				"DownstreamAggregateBitRate": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Downstream Aggregate Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.301|Clause 9.9.4.3>>.",
					"datatype": "unsignedLong",
					"unit": "Kbps"
				}
			},
			"Device.SessionManagement.PDU.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Contains all 5G specific attributes needed to establish a PDU session.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"PTI": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Procedure transaction identity. See <<bibref|3GPP-TS.24.501|Clause 9.6>>.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 254
						}
					]
				},
				"SSC": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Session and Service Continuity (SSC) Mode: Indicates that the traffic of the matching application shall be routed via a PDU Session supporting the included SSC Mode. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.16>>",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 3
						}
					]
				},
				"SessionAMBRDownlink": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Downlink Aggregate Maximum Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.14>>.",
					"datatype": "unsignedLong",
					"unit": "bits per second"
				},
				"SessionAMBRUplink": {
					"type": "unsignedLong",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Uplink Aggregate Maximum Bit Rate in <<units>>. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.14>>.",
					"datatype": "unsignedLong",
					"unit": "bits per second"
				},
				"RQTimerValue": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Reflective QoS timeout in <<units>>. See <<bibref|3GPP-TS.24.501|Clause 9.11.2.3>>.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"AlwaysOn": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Always on PDU session indication. The purpose of the Always-on PDU session indication information element is to indicate whether a PDU session is established as an always-on PDU session. See <<bibref|3GPP-TS.24.501|clause 9.11.4.3>>.",
					"datatype": "boolean"
				},
				"QoSRuleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"QoSFlowNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.SessionManagement.PDU.{i}.NetworkSlice.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Describes a S-NSSAI Information element providing network slice specification. See <<bibref|3GPP-TS.24.501|Clause 9.11.2.8>>",
					"access": false,
					"array": false,
					"SliceServiceType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Slice Service Type (SST). <<enum>> See <<bibref|3GPP-TS.23.501|Clause 5.15.2.2>>.",
						"datatype": "SST",
						"enumerations": [
							"eMBB",
							"URLLC",
							"MIoT",
							"V2X"
						]
					},
					"SliceDifferentiator": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The Slice differentiator is an optional number used to differentiate network slices with the same SST. See <<bibref|3GPP-TS.23.501|Clause 5.15.2.1>>.",
						"datatype": "unsignedInt"
					}
				},
				"Device.SessionManagement.PDU.{i}.QoSRule.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This object describes the PDU QoS Rule table. The purpose of the QoS Rule table is to assign a QFI to mark traffic based on a set of classification rules. The rules are set by the network operator and are specific for each PDU. For example: * A QoS Rule with a default used for general traffic has the following parameters. * QFI=1 * DQR=1 - Default rule * Filter 1 for rule * Direction=bidirectional * Type=1 - Match all * A QoS Rule matching a voice service. * QFI=32 * DQR=0 * Filter 1 for rule * Direction=bidirectional * Type=33 - Destination IPv6 range * Value=2001:8000/48 - Destination IPv6 range * Filter 2 for rule * Direction=bidirectional * Type=16 - Destination IPv4 address with netmask * Value=203.1.0.0 255.255.255.0 - Destination IPv4 address with netmask A full description can be found at <<bibref|3GPP-TS.24.501|clause 9.11.4.13>> QoS Rules",
					"uniqueKeys": [
						"Alias",
						"Identifier"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Identifier": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The QoS rule identifier field is used to identify the QoS rule.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 255
							}
						]
					},
					"Precedence": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "The QoS rule precedence field is used to specify the precedence of the QoS rule among all QoS rules. The higher the value of the QoS rule precedence field, the lower the precedence of that QoS rule is.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 255
							}
						]
					},
					"Segregation": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "In the UE to network direction the segregation bit indicates whether the UE is requesting the network to bind service data flows described by the QoS rule to a dedicated QoS Flow. When <<true>> segregation is requested.",
						"datatype": "boolean"
					},
					"QFI": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "QoS Flow identifier.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 63
							}
						]
					},
					"DQR": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Default QoS rule flag. When <<true>> this QoS rule is the default QoS rule.",
						"datatype": "boolean"
					},
					"FilterNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.SessionManagement.PDU.{i}.QoSRule.{i}.Filter.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "This object describes the PDU QoS Rule Filter table. As each packet filter is logically anded with the others, there shall not be more than one occurrence of each packet filter component type.",
						"uniqueKeys": [
							"Alias"
						],
						"access": false,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Direction": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "The packet filter direction field is used to indicate for what traffic direction the filter applies. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.13>> Enumeration of: downlink, uplink, bidirectional.",
							"datatype": "string",
							"enumerations": [
								"downlink",
								"uplink",
								"bidirectional"
							]
						},
						"Type": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Packet filter component type identifier. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.13>>.",
							"datatype": "unsignedInt"
						},
						"Value": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"description": "Matching value for the component type. See <<bibref|3GPP-TS.24.501|Clause 9.11.4.13>>.",
							"datatype": "string",
							"range": [
								{
									"max": 1024
								}
							]
						}
					}
				},
				"Device.SessionManagement.PDU.{i}.QoSFlow.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Table of all QoS Flow Indicators (QFI) and their properties supported by the access network for this particular PDU. For example: * A QoS Flow with a QFI of 1 used for general traffic has the following parameters. * FiveQI=8 * A QoS Flow with a QFI of 32 used for voice traffic with a guaranteed bitrate of 150k has the following parameters. * FiveQI=1 * GFBRUplink=150 * GFBRDownlink=150",
					"uniqueKeys": [
						"Alias",
						"QFI"
					],
					"access": false,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"QFI": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "QoS Flow Identifier.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 63
							}
						]
					},
					"FiveQI": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "5G QoS Identifier. See <<bibref|3GPP-TS.23.501|Clause 5.7.4>> for a table of standardised 5QI QoS characteristics.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 255
							}
						]
					},
					"GFBRUplink": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Guaranteed Flow Bitrate - Upstream (expressed in <<units>>).",
						"datatype": "unsignedLong",
						"unit": "bits per second"
					},
					"GFBRDownlink": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Guaranteed Flow Bitrate - Downstream (expressed in <<units>>).",
						"datatype": "unsignedLong",
						"unit": "bits per second"
					},
					"MFBRUplink": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum Flow Bitrate - Upstream (expressed in <<units>>).",
						"datatype": "unsignedLong",
						"unit": "bits per second"
					},
					"MFBRDownlink": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Maximum Flow Bitrate - Downstream (expressed in <<units>>).",
						"datatype": "unsignedLong",
						"unit": "bits per second"
					},
					"AveragingWindow": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "Averaging window for both uplink and downlink in <<units>>.",
						"datatype": "unsignedInt",
						"unit": "milliseconds"
					},
					"EPSBearer": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"description": "EPS Bearer Identity. See <<bibref|3GPP-TS.24.301|Clause 9.3.2>>.",
						"datatype": "unsignedInt"
					}
				}
			}
		},
		"Device.GatewayInfo.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "This object contains information associated with a connected Internet Gateway Device.",
			"access": false,
			"array": false,
			"ManufacturerOUI": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Organizationally unique identifier of the associated Internet Gateway Device. <<pattern>> <<empty>> indicates that there is no associated Internet Gateway Device that has been detected.",
				"datatype": "string",
				"range": [
					{
						"max": 6
					}
				],
				"pattern": [
					"",
					"[0-9A-F]{6}"
				]
			},
			"ProductClass": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Identifier of the product class of the associated Internet Gateway Device. <<empty>> indicates either that there is no associated Internet Gateway Device that has been detected, or the Internet Gateway Device does not support the use of the product-class parameter.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"SerialNumber": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "Serial number of the associated Internet Gateway Device. <<empty>> indicates that there is no associated Internet Gateway Device that has been detected.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"UnknownGatewayDiscovered!": {
				"type": "event",
				"protocols": [
					"usp"
				],
				"output": {
					"MACAddress": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "MAC Address of the discovered device.",
						"datatype": "MACAddress",
						"range": [
							{
								"max": 17
							}
						],
						"pattern": [
							"",
							"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
						]
					}
				}
			},
			"USPGatewayDiscovered!": {
				"type": "event",
				"protocols": [
					"usp"
				],
				"output": {
					"EndpointID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The unique USP identifier for this USP Agent.",
						"datatype": "string"
					}
				}
			},
			"CWMPGatewayDiscovered!": {
				"type": "event",
				"protocols": [
					"usp"
				],
				"output": {
					"ManufacturerOUI": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Organizationally unique identifier of the associated gateway. <<pattern>> <<empty>> indicates that there is no associated gateway that has been detected.",
						"datatype": "string",
						"range": [
							{
								"max": 6
							}
						],
						"pattern": [
							"",
							"[0-9A-F]{6}"
						]
					},
					"ProductClass": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Identifier of the product class of the associated gateway. <<empty>> indicates either that there is no associated gateway that has been detected, or the gateway does not support the use of the product-class parameter.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					},
					"SerialNumber": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Serial number of the associated gateway. <<empty>> indicates that there is no associated gateway that has been detected.",
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					}
				}
			},
			"ManagementProtocol": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Specifies the management protocol used by the gateway.",
				"datatype": "string",
				"enumerations": [
					"",
					"CWMP",
					"USP",
					"Unknown"
				]
			},
			"EndpointID": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "The unique USP identifier for this USP Agent.",
				"datatype": "string"
			},
			"MACAddress": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "MAC address of the discovered device.",
				"datatype": "MACAddress",
				"range": [
					{
						"max": 17
					}
				],
				"pattern": [
					"",
					"([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"
				]
			}
		},
		"Device.PacketCaptureDiagnostics.": {
			"type": "object",
			"protocols": [
				"cwmp"
			],
			"description": "The PacketCaptureDiagnostics object. This diagnostic is used to record packet capture data on a valid (layer 2 or above) interface in libpcap or pcapng format.",
			"access": false,
			"array": false,
			"DiagnosticsState": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
				"datatype": "DiagnosticsState",
				"enumerations": [
					"None",
					"Requested",
					"Canceled",
					"Complete",
					"Error"
				]
			},
			"Interface": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "A reference to a (layer 2 or above) interface object that will be the target of this packet capture diagnostic.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"Format": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "This indicates whether the network trace will be recorded in libpcap <<bibref|LIBPCAP>> or pcapng format, and is dependent on the underlying method of performing a network trace.",
				"datatype": "string",
				"enumerations": [
					"libpcap",
					"pcapng"
				]
			},
			"Duration": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The duration in <<units>> to copy packets to the file target. The diagnostic completes when either the <<param>>, <<param|PacketCount>>, or <<param|ByteCount>> conditions are met.",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 1
					}
				],
				"unit": "seconds"
			},
			"PacketCount": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The maximum number of packets to record to the file target. A value of zero (0) indicates no limit. The diagnostic completes when the <<param|Duration>>, <<param|ByteCount>>, or <<param>> conditions are met.",
				"datatype": "unsignedInt"
			},
			"ByteCount": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The maximum number of bytes to record to the file target. A value of zero (0) indicates no limit. The diagnostic completes when <<param|Duration>>, <<param|PacketCount>> or <<param>> conditions are met.",
				"datatype": "unsignedInt"
			},
			"FileTarget": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The <<datatype>> specifying the destination file location. The HTTPS transport MUST be supported, and the HTTP transport MAY be supported. Other transports MAY also be supported.",
				"datatype": "URL"
			},
			"FilterExpression": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "A (<<bibref|BPF>>) formatted expression used to restrict the types of network packets that are recorded to <<param|FileTarget>>.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"Username": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Username to be used by the Agent to authenticate with the file location. This string is set to <<empty>> if no authentication is required.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"Password": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Password to be used by the Agent to authenticate with the file location. This string is set to <<empty>> if no authentication is required.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"PacketCaptureResultNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.PacketCaptureDiagnostics.PacketCaptureResult.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Results for individual packet capture diagnostics. Packet capture files whose FileLocation is local to the system SHOULD be deleted when the next diagnostic is run, or upon a system reboot.",
				"access": false,
				"array": true,
				"FileLocation": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The <<datatype>> specifying the resulting file location of the packet capture record that triggered this result. This MAY be different than the location specified in FileTarget.",
					"datatype": "URL"
				},
				"StartTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The local system time at which the capture was started.",
					"datatype": "dateTime"
				},
				"EndTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The local system time at which the capture was completed.",
					"datatype": "dateTime"
				},
				"Count": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The number of packets recorded to the file target.",
					"datatype": "unsignedInt"
				}
			}
		},
		"Device.SelfTestDiagnostics.": {
			"type": "object",
			"protocols": [
				"cwmp"
			],
			"description": "This diagnostics test is vendor-specific and MAY include testing hardware, software, and/or firmware.",
			"access": false,
			"array": false,
			"DiagnosticsState": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead. | Indicates the availability of diagnostics data. Enumeration of: Enumeration of: None, Requested, Canceled, Complete, Error. If the ACS sets the value of this parameter to <<enum|Requested>>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are <<enum|Requested>> and <<enum|Canceled>>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to <<enum|Requested>>. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test. When the test is completed, the value of this parameter MUST be either <<enum|Complete>> (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than <<enum|Complete>>, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message. After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <<enum|None>>. Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <<enum|None>>. While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <<enum|None>>. While the test is in progress, setting this parameter to <<enum|Requested>> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters. While the test is in progress, setting this parameter to <<enum|Canceled>> MUST result in the test being canceled and the value of this parameter being set to <<enum|None>>. If the CPE does not support the <<enum|Canceled>> value, it MUST return a SPV error with Invalid Parameter value (9007) to the ACS instead.",
				"datatype": "DiagnosticsState",
				"enumerations": [
					"None",
					"Requested",
					"Canceled",
					"Complete",
					"Error"
				]
			},
			"Results": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "Results of self-test (vendor specific).",
				"datatype": "string",
				"range": [
					{
						"max": 1024
					}
				]
			}
		},
		"Device.USPAgent.": {
			"type": "object",
			"protocols": [
				"cwmp"
			],
			"description": "This object contains general information about the USP Agent itself. For information related to the Device that hosts the Agent, please reference the <<object|#.DeviceInfo>> object.",
			"access": false,
			"array": false,
			"EndpointID": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "The unique USP identifier for this USP Agent.",
				"datatype": "string"
			},
			"SoftwareVersion": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "The current USP Agent software version; not the version of the overall device firmware, which is located in <<param|.DeviceInfo.SoftwareVersion>>. To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 3.0.21 where the components mean: Major.Minor.Build.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"UpTime": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "Time in <<units>> since the USP Agent was last restarted (either via a reset of the software or reboot of the underlying device).",
				"datatype": "unsignedInt",
				"unit": "seconds"
			},
			"SupportedProtocols": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "USP Message Transfer Protocols supported by this USP Agent. The USP Agent MUST support at least one Protocol.",
				"list": {
					"datatype": "string",
					"item": {
						"min": 1
					},
					"enumerations": [
						"CoAP",
						"WebSocket",
						"STOMP",
						"MQTT",
						"UDS"
					]
				}
			},
			"SupportedFingerprintAlgorithms": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<list|each entry is an algorithm for calculating fingerprints that is supported by the Agent>>",
				"list": {
					"datatype": "string",
					"enumerations": [
						"SHA-1",
						"SHA-224",
						"SHA-256",
						"SHA-384",
						"SHA-512"
					]
				}
			},
			"AdvertisedDeviceSubtypes": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "<<list|each entry is a subtype component of the service type that is advertised for the device using mDNS as defined in <<bibref|RFC6762>>>>",
				"list": {
					"datatype": "string"
				}
			},
			"MaxSubscriptionChangeAdoptionTime": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "The acceptable amount of time in <<units>> between the alteration of the Agents Subscriptions (e.g. updated subscription, new subscription, removed subscription, etc.) and the notifications related to those subscriptions being delivered. For example, if this parameter is set to 30 <<units>>, then once a Subscription has been updated, the Agent has 30 <<units>> before it needs to start delivering notifications based on the updated version of the Subscription (instead of the old version of the Subscription).",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 5
					}
				],
				"unit": "seconds"
			},
			"MTPNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ControllerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"CertificateNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"AddCertificate": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp"
				],
				"description": "Provides a mechanism to allow an ACS to add a new certificate to <<object|Certificate.<i>>>. This does not automatically produce a trust relationship with the host identified by the Certificate. To produce a trust relationship, an entry is required to exist in <<param|Controller.<i>.Credential>> or <<param|ControllerTrust.Credential.<i>.Credential>> that references the new <<object|Certificate.<i>>> entry. The Agent will use the Serial Number and Issuer fields from the content provided in this parameter to populate the <<param|Certificate.<i>.SerialNumber>> and <<param|Certificate.<i>.Issuer>> parameters. If <<object|Certificate>> already has an instance with the same <<param|Certificate.<i>.SerialNumber>> and <<param|Certificate.<i>.Issuer>> parameters, this command will fail. To replace an instance with the same <<param|Certificate.<i>.SerialNumber>> and <<param|Certificate.<i>.Issuer>>, the existing instance must first be deleted. The value of this parameter is the X.509 certificate in Privacy-enhanced Electronic Mail (PEM) <<bibref|RFC7468>> format.",
				"datatype": "string",
				"range": [
					{
						"max": 65535
					}
				]
			},
			"Device.USPAgent.MTP.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Each instance of this table represents a MTP used by the local Agent.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Enable/Disable this <<object>> instance. If this <<object>> instance is to be disabled and currently used for communication with the requesting controller, the agent has to send the request response first, before disabling it.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The current operational state of the <<object>> instance.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Error"
					]
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The Message Transfer Protocol (MTP) to be used for communications by a USP Endpoint.",
					"datatype": "string"
				},
				"EnableMDNS": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "This parameter, when <<true>>, enables the advertisement of DNS-SD services defined for this <<object>> instance using mDNS as defined in <<bibref|RFC6762>>. This parameter cannot be set to <<true>> if there are multiple <<object>> instances with the same value of the <<param|Protocol>> parameter. When <<true>>, the hostname advertised in the SRV record MUST be a Fully Qualified Domain Name (FQDN). The interfaces that advertise these DNS-SD services are restricted to the set of interfaces associated with this <<object>> instance and the interfaces defined by the <<param|.DNS.SD.Advertise.<i>.Interface>> parameter.",
					"default": "true",
					"datatype": "boolean"
				},
				"Device.USPAgent.MTP.{i}.CoAP.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"cwmp"
					],
					"description": "If the USP Endpoint uses the CoAP Message Transfer Protocol (MTP), then this object contains CoAP specific configuration parameters. <<deprecated|2.15|because the CoAP MTP was deprecated in USP 1.2>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"access": false,
					"array": false,
					"Interfaces": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference|the <<object|###.IP.Interface>> object instance that this server will use as its host address to receive USP messages>> <<empty>> will bind this server to all interfaces for this device.",
						"list": {
							"datatype": "string"
						}
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "The port number used by the CoAP Server to receive USP messages.",
						"default": "5683",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"Path": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "The path that is used by the CoAP Server in order to receive USP messages.",
						"datatype": "string"
					},
					"IsEncrypted": {
						"type": "boolean",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "This parameter represents whether or not communications that utilize this <<object>> object instance are encrypted. <<deprecated|2.14|because the <<param|EnableEncryption>> parameter will dictate whether all connections to this CoAP server instance are or are not encrypted>> <<obsoleted|2.16>> <<deleted|2.17>>",
						"datatype": "boolean"
					},
					"EnableEncryption": {
						"type": "boolean",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "When <<true>>, encryption MUST be used for this MTP instance.",
						"default": "true",
						"datatype": "boolean"
					}
				},
				"Device.USPAgent.MTP.{i}.STOMP.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "If the USP Endpoint uses the STOMP Message Transfer Protocol (MTP), then this object contains STOMP Client specific configuration parameters related to how the Agent communicates with the STOMP Server.",
					"access": false,
					"array": false,
					"Reference": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A reference to the STOMP Connection used by this Agent when communicating via the STOMP MTP.",
						"datatype": "string"
					},
					"Destination": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The STOMP destination where the Agent will be listening to incoming USP messages.",
						"datatype": "string"
					},
					"DestinationFromServer": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The STOMP destination contained in the subscribe-dest header of the CONNECTED STOMP Frame. If the Agent doesnt receive a subscribe-dest header in the CONNECTED STOMP Frame, then the value of this Parameter MUST be set to <<empty>>. If this parameters value is not empty then this is the STOMP destination address for this Agent, but if the value is empty the <<param|Destination>> Parameter contains the STOMP destination address for this Agent.",
						"datatype": "string"
					}
				},
				"Device.USPAgent.MTP.{i}.WebSocket.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "If the USP Endpoint uses the WebSocket Message Transfer Protocol (MTP) as a WebSocket server, then this object contains WebSocket specific configuration parameters.",
					"access": false,
					"array": false,
					"Interfaces": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference|the <<object|###.IP.Interface>> object instance that this server will use as its host address to receive USP messages>> <<empty>> will bind this server to all interfaces for this device.",
						"list": {
							"datatype": "string"
						}
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The port number used by the WebSocket Server to receive USP messages.",
						"default": "8443",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"Path": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The service path that is provided by the WebSocket Server in order to exchange USP messages. The value MUST be used as defined in <<bibref|RFC3986|Section 3.3>>.",
						"datatype": "string"
					},
					"EnableEncryption": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "When <<true>>, encryption MUST be used for all connections to this MTP instance.",
						"default": "true",
						"datatype": "boolean"
					},
					"KeepAliveInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The duration in <<units>> between when WebSocket ping control frames are transmitted by the Agents WebSocket server to the Controllers WebSocket client.",
						"default": "60",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "seconds"
					}
				},
				"Device.USPAgent.MTP.{i}.MQTT.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "If the USP Endpoint uses the MQTT Message Transfer Protocol (MTP), then this object contains MQTT Client specific configuration parameters related to how the Agent communicates with the MQTT broker.",
					"access": false,
					"array": false,
					"Reference": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A reference to the MQTT Client used by this Agent when communicating via the MQTT MTP.",
						"datatype": "string"
					},
					"ResponseTopicConfigured": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The Agents configured reply to topic. When MQTT 5.0 is being used, this value is put in the PUBLISH Response Topic property for all PUBLISH packets with a USP Record, if no Response Information (value recorded in <<param|ResponseTopicDiscovered>>) is included in the CONNACK. When MQTT 3.1.1 is being used, this value is put at the end of the PUBLISH Topic Name property (as specified in <<bibref|TR-369|Section MQTT Binding>>. If the value of <<param>> is not a subset (wildcarded or precise match) of any of the <<param|Reference>> <<param|.MQTT.Client.<i>.Subscription.<i>.Topic>> values the Agent MUST subscribe to this Topic. The value MUST NOT contain any wild card characters (\u201c+\u201d, \u201c#\u201d).",
						"datatype": "string",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"ResponseTopicDiscovered": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Duplicate of <<param|Reference>> <<param|.MQTT.Client.<i>.ResponseInformation>>. This is the value of the CONNACK Response Information property supplied by a MQTT 5.0 server and is used by a MQTT 5.0 client as the basis for the PUBLISH Response Topic property for all PUBLISH packets that expect a response. If a value is received from the MQTT 5.0 server, it will be used instead of any value configured in <<param|ResponseTopicConfigured>>.",
						"datatype": "string",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"PublishQoS": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The Agent MUST use this QoS value when sending a USP Record on this MTP. If the referenced MQTT Client uses MQTT 5.0 and the MQTT server only indicates support for a QoS value in the CONNACK Maximum QoS property lower than this QoS value, the Agent MUST use the highest QoS value that is supported by the server.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 2
							}
						]
					}
				},
				"Device.USPAgent.MTP.{i}.UDS.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "If the USP Endpoint uses the Unix Domain Socket (UDS) Message Transfer Protocol (MTP), then this object contains UDS specific configuration parameters related to how this Agent communicates with a Controller on another USP Endpoint. An example of how to set up this MTP can be found in <<bibref|TR-369| Section Example Data Models for a USP Broker and USP Services>>.",
					"access": false,
					"array": false,
					"UnixDomainSocketRef": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A reference to the Unix Domain Socket used by this Agent when communicating via the UDS MTP.",
						"datatype": "string"
					}
				}
			},
			"Device.USPAgent.Controller.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Each instance of this table represents a USP Controller that has access to this USP Agent. On the deletion of an entry from this table, the Agent MUST send the ObjectDeletion notification to all subscribed recipients, even if the recipient is the deleted Controller itself. This notification is the last notification sent to this Controller.",
				"uniqueKeys": [
					"EndpointID",
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"EndpointID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The unique USP identifier for this USP Controller.",
					"datatype": "string"
				},
				"ControllerCode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Information about the configuration state of an Agent as it pertains to the <<object>> instance. This is not information related to an operators installation or usage of the protocol, that information is maintained in <<param|ProvisioningCode>>. This parameter could be used in scenarios where the Controller needs to perform some kind of initialization or periodic configuration monitoring. For example, a Controller might perform some initial configuration of an Agent on first contact (perhaps to configure the Subscriptions). The Controller could inspect this parameter to determine the current state of the Agents configuration, allowing the Controller to streamline the configuration process.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"ProvisioningCode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Identifying information which MAY be used by the <<object>> instance to determine <<object>> instance specific customization and provisioning parameters.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Enable/Disable this <<object>> instance. If the Controller instance is to be disabled, the Agent MUST send the ValueChange notification to all subscribed recipients, even if the recipient is the disabled Controller itself. This notification is the last notification sent to this Controller until it is enabled again. The USP Endpoint MUST terminate the MTP connection. When <<false>>, messages (notifications) are not sent to the remote endpoint represented by this <<object>> instance, and any MTP session establishment are refused.",
					"default": "false",
					"datatype": "boolean"
				},
				"AssignedRole": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "<<list|each entry is a Role that has been assigned to this <<object>> instance by means other than the <<param|#.ControllerTrust.Credential.<i>.Role>> parameter>>",
					"list": {
						"datatype": "string"
					}
				},
				"InheritedRole": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<list|each entry is a Role that has been assigned to this <<object>> instance from the <<param|#.ControllerTrust.Credential.<i>.Role>> parameter associated with the CA credential (<<param|#.ControllerTrust.Credential.<i>.Credential>>) used to validate the Controller certificate>>",
					"list": {
						"datatype": "string"
					}
				},
				"Credential": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "<<nolist>><<noreference>> Comma-separated list of strings, the set of certificates from <<object|#.Certificate.<i>>> that a Controller can present for use in authenticating the identity of this <<object>> instance.",
					"list": {
						"datatype": "string"
					}
				},
				"PeriodicNotifInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "If a Periodic Event Notification Subscription instance is associated with this USP Controller, then this is the duration in <<units>> of the interval for which the USP Agent MUST attempt to issue a Periodic Notification to the USP Controller.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"PeriodicNotifTime": {
					"type": "dateTime",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "If a Periodic Event Notification Subscription instance is associated with this USP Controller, then this is an absolute time reference in UTC to determine when the USP Agent will issue a Periodic Notification. Each Periodic Notification MUST occur at this reference time plus or minus an integer multiple of the <<param|PeriodicNotifInterval>>. <<param>> is used only to set the phase of the Periodic Event Notifications. The actual value of <<param>> can be arbitrarily far into the past or future. For example, if <<param|PeriodicNotifInterval>> is 86400 (a day) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then Periodic Notifications will be sent every day at UTC midnight. These MUST begin on the very next midnight, even if <<param>> refers to a day in the future. The Unknown Time value defined in <<bibref|TR-106|section 3.2>> indicates that no particular time reference is specified. That is, the USP Agent MAY locally choose the time reference, and needs only to adhere to the specified <<param|PeriodicNotifInterval>>. If absolute time is not available to the USP Agent, its Periodic Notification behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value.",
					"datatype": "dateTime"
				},
				"USPNotifRetryMinimumWaitInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "This parameter is related to the retry mechanism for Notifications. Configures the first retry wait interval, in <<units>>, as specified in <<bibref|TR-369|Section Responses to Notifications and Notification Retry>>. A value of 5 corresponds to the default behavior. The USP Agent MUST use a random value between <<param>> and (<<param>> * <<param|USPNotifRetryIntervalMultiplier>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
					"default": "5",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					],
					"unit": "seconds"
				},
				"USPNotifRetryIntervalMultiplier": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "This parameter is related to the retry mechanism for Notifications. Configures the retry interval multiplier as specified in <<bibref|TR-369|Section Responses to Notifications and Notification Retry>>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. A value of 2000 corresponds to the default behavior. The USP Agent MUST use a random value between <<param|USPNotifRetryMinimumWaitInterval>> and (<<param|USPNotifRetryMinimumWaitInterval>> * <<param>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
					"default": "2000",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1000,
							"max": 65535
						}
					]
				},
				"MTPNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"SendOnBoardRequest": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When set to <<true>>, requests the Agent to send a USP OnBoardRequest notification to this Controller.",
					"datatype": "boolean"
				},
				"Device.USPAgent.Controller.{i}.MTP.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "Each instance of this table represents a MTP used by this Controller.",
					"uniqueKeys": [
						"Protocol",
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Enable/Disable this <<object>> instance. If this <<object>> instance is to be disabled and currently used for communication with the requesting controller, the agent has to send the request response first, before disabling it.",
						"default": "false",
						"datatype": "boolean"
					},
					"Protocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The Message Transfer Protocol (MTP) to be used for communications by a USP Endpoint.",
						"datatype": "string"
					},
					"Order": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The order (relative priority) to use when determining which <<object>> to use for communicating to the Controller. A value of 1 indicates the highest precedence. For each configured <<object>>, the instance with the lowest value is attempted first. When more than one <<object>> instance has the same value, then each instance with the same value SHOULD be attempted at the same time. The value of <<param>> on creation of a <<object>> table entry MUST be one greater than the largest current value (initially assigned the lowest precedence).",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Device.USPAgent.Controller.{i}.MTP.{i}.CoAP.": {
						"type": "object",
						"obsolete": true,
						"protocols": [
							"cwmp"
						],
						"description": "If the USP Endpoint uses the CoAP Message Transfer Protocol (MTP), then this object contains CoAP specific configuration parameters. <<deprecated|2.15|because the CoAP MTP was deprecated in USP 1.2>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"access": false,
						"array": false,
						"Host": {
							"type": "string",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"cwmp"
							],
							"description": "The hostname or IP Address of the Controllers CoAP server.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Port": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"cwmp"
							],
							"description": "The port number used by the Controllers CoAP Server to receive USP messages.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"Path": {
							"type": "string",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"cwmp"
							],
							"description": "The path that is used by the Controllers CoAP Server in order to receive USP messages.",
							"datatype": "string"
						},
						"EnableEncryption": {
							"type": "boolean",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"cwmp"
							],
							"description": "When <<true>>, encryption MUST be used as specified in <<bibref|TR-369|Section MTP Message Encryption>>.",
							"default": "true",
							"datatype": "boolean"
						}
					},
					"Device.USPAgent.Controller.{i}.MTP.{i}.STOMP.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "If the USP Endpoint uses the STOMP Message Transfer Protocol (MTP), then this object contains STOMP Client specific configuration parameters related to how this Controller communicates with the STOMP Server.",
						"access": false,
						"array": false,
						"Reference": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "A reference to the STOMP Connection used by this Controller when communicating via the STOMP MTP.",
							"datatype": "string"
						},
						"Destination": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The STOMP destination where the Controller will be listening to incoming USP messages.",
							"datatype": "string"
						},
						"USPServiceRef": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "A reference to the USP Service associated with this Agent when communicating via the STOMP MTP.",
							"datatype": "string"
						}
					},
					"Device.USPAgent.Controller.{i}.MTP.{i}.WebSocket.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "If the USP Endpoint uses the WebSocket Message Transfer Protocol (MTP) as a WebSocket client, then this object contains WebSocket specific configuration parameters.",
						"access": false,
						"array": false,
						"Host": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The hostname or IP Address of the Controllers WebSocket server.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Port": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The port number used by the Controllers WebSocket server to receive USP messages.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"Path": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The service path that is provided by the Controllers WebSocket server in order to exchange USP messages. The value MUST be used as defined in <<bibref|RFC3986|Section 3.3>>.",
							"datatype": "string"
						},
						"IsEncrypted": {
							"type": "boolean",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"cwmp"
							],
							"description": "This parameter represents whether or not communications that utilize this <<object>> object instance are encrypted. <<deprecated|2.14|because the <<param|EnableEncryption>> parameter will dictate whether this <<object>> is or is not encrypted>> <<obsoleted|2.16>> <<deleted|2.17>>",
							"datatype": "boolean"
						},
						"EnableEncryption": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "When <<true>>, encryption MUST be used for this MTP instance.",
							"default": "true",
							"datatype": "boolean"
						},
						"KeepAliveInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The duration in <<units>> between when WebSocket ping control frames are transmitted by the Agents WebSocket client to the Controllers WebSocket server.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "seconds"
						},
						"CurrentRetryCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The current retry count of the session. When zero (0), the session is not in a retry state.",
							"datatype": "unsignedInt"
						},
						"SessionRetryMinimumWaitInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Configures the first retry wait interval, in <<units>>, as specified in <<bibref|TR-369|Section WebSocket Session Retry>>. The USP Agent MUST use a random value between <<param>> and (<<param>> * <<param|SessionRetryIntervalMultiplier>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
							"default": "5",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							],
							"unit": "seconds"
						},
						"SessionRetryIntervalMultiplier": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Configures the retry interval multiplier as specified in <<bibref|TR-369|Section WebSocket Session Retry>>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. The USP Agent MUST use a random value between <<param|SessionRetryMinimumWaitInterval>> and (<<param|SessionRetryMinimumWaitInterval>> * <<param>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
							"default": "2000",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1000,
									"max": 65535
								}
							]
						},
						"USPServiceRef": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "A reference to the USP Service associated with this Agent when communicating via the WebSocket MTP.",
							"datatype": "string"
						}
					},
					"Device.USPAgent.Controller.{i}.MTP.{i}.MQTT.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "If the USP Endpoint uses the MQTT Message Transfer Protocol (MTP), then this object contains MQTT Client specific configuration parameters related to how this Controller communicates with the MQTT broker.",
						"access": false,
						"array": false,
						"Reference": {
							"type": "string",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"cwmp"
							],
							"description": "A reference to the MQTT Client used by this Controller when communicating via the MQTT MTP. <<deprecated|2.16|because <<param|AgentMTPReference>> was added>> <<obsoleted|2.18>> <<deleted|2.19>>",
							"datatype": "string"
						},
						"Topic": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The topic name the USP Controller has subscribed to, to be used for Notify messages send by the USP Agent.",
							"datatype": "string",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"PublishRetainResponse": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "If set to <<true>> the Agent MUST set the RETAIN flag in MQTT PUBLISH messages carrying a USP Response Message to 1, unless the MQTT server sent Retain Available = 0 (MQTT 5.0) in its CONNACK (in which case, the Agent MUST set the RETAIN flag to 0).",
							"default": "false",
							"datatype": "boolean"
						},
						"PublishRetainNotify": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "If set to <<true>> the Agent MUST set the RETAIN flag in MQTT PUBLISH messages carrying a USP Notify Message to 1, unless the MQTT server sent Retain Available = 0 (MQTT 5.0) in its CONNACK (in which case, the Agent MUST set the RETAIN flag to 0).",
							"default": "false",
							"datatype": "boolean"
						},
						"AgentMTPReference": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "<<reference|the <<object|###.MTP.>> object instance containing the Response Topic used by this Controller when communicating via the MQTT MTP>>",
							"datatype": "string"
						},
						"USPServiceRef": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "A reference to the USP Service associated with this Agent when communicating via the MQTT MTP.",
							"datatype": "string"
						}
					},
					"Device.USPAgent.Controller.{i}.MTP.{i}.UDS.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "If the USP Endpoint uses the Unix Domain Socket (UDS) Message Transfer Protocol (MTP), then this object contains UDS specific configuration parameters related to how this Agent communicates with a Controller on another USP Endpoint. An example of how to set up this MTP can be found in <<bibref|TR-369| Section Example Data Models for a USP Broker and USP Services>>.",
						"access": false,
						"array": false,
						"UnixDomainSocketRef": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "A reference to the Unix Domain Socket used by this Agent when communicating via the UDS MTP.",
							"datatype": "string"
						},
						"USPServiceRef": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "A reference to the USP Service associated with this Agent when communicating via the UDS MTP.",
							"datatype": "string"
						}
					}
				}
			},
			"Device.USPAgent.Certificate.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "Each instance of this table represents information related to a X.509 certificate (see <<bibref|RFC5280>>) of a Controller or Certificate Authority. Instances are referenced from <<param|#.Controller.<i>.Credential>> and <<param|#.ControllerTrust.Credential.<i>.Credential>>.",
				"uniqueKeys": [
					"SerialNumber",
					"Issuer",
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Enable/Disable this <<object>> instance.",
					"datatype": "boolean"
				},
				"SerialNumber": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The Serial Number field in an X.509 certificate, see <<bibref|RFC5280>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Issuer": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "The Issuer field in an X.509 certificate, see <<bibref|RFC5280>>; i.e. the Distinguished Name (DN) of the entity who has signed the certificate.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			},
			"Device.USPAgent.ControllerTrust.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This object contains information that an Agent applies when establishing a trust relationship with a Controller.",
				"access": false,
				"array": false,
				"UntrustedRole": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "<<list|each entry is a Role that is associated with Controllers whose identity cannot be authenticated. The value of the <<param>> parameter is appended to the <<param|#.Controller.<i>.AssignedRole>> parameter>> In some instances, this policy is set by the Agent and cannot be modified by Controllers. If the Agent does not allow modification of this parameter, the Agent MUST respond with an error to the request to set this parameter.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 1
						}
					}
				},
				"BannedRole": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "The Role that is associated with Controllers indicate banned access. When assigned to a Controller or associated with an entry in the <<object|Credential>> table, this MUST be the only value of the <<param>> parameter of the <<param|#.Controller.<i>.AssignedRole>> parameter. The Agent SHOULD refuse to accept USP messages from, or send USP messages to, any Controller that has this Role.",
					"datatype": "string"
				},
				"SecuredRoles": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "<<list|each entry is a Role that is associated with Controllers to indicate their access to secured parameters (e.g. <<param|.WiFi.AccessPoint.<i>.Security.WEPKey>>). The value of the <<param>> parameter is appended to the <<param|#.Controller.<i>.AssignedRole>> parameter>> Only Controllers with a secured role assigned (and the appropriate permissions set) MUST be able to have access to secured parameters content.",
					"list": {
						"datatype": "string"
					}
				},
				"TOFUAllowed": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "When <<true>>, Agent has active policy that allows for self-signed certificates and certificates from unknown Certificate Authorities (CAs) to be trusted on first use (TOFU).",
					"datatype": "boolean"
				},
				"TOFUInactivityTimer": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Inactivity timer in <<units>>. This timer is started when trust on first use (TOFU) policy is used to accept a Controller certificate. If no USP Message is received before this timer elapses, the Agent MUST tear down the MTP connection and underlying (D)TLS session. A value of 0 means that the TOFU inactivity timer is effectively disabled.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"RoleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"CredentialNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ChallengeNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.USPAgent.ControllerTrust.Role.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "Each instance of this table represents a Role that can be assigned to or inherited by a Controller via the Controller Trust mechanism. The Role contains a set of permissions that determine how the Controller can interact with the data model. If multiple permission entries associated with this table contain a Target that evaluates to the same instantiated Object/Parameter for multiple Roles, then the permissions to be used are a union of the identified permissions.",
					"uniqueKeys": [
						"Name",
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Enable/Disable this <<object>> instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The Role assigned to this <<object>> instance.",
						"datatype": "string"
					},
					"PermissionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.USPAgent.ControllerTrust.Role.{i}.Permission.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "Each instance of this table represents the permissions that are extended to a set of Targets for a specified Role. If there are multiple entries in this table for a specific Role where the Targets overlap, the permissions for the entry with the highest value takes priority over all others.",
						"uniqueKeys": [
							"Order",
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Enable/Disable this <<object>> instance.",
							"default": "false",
							"datatype": "boolean"
						},
						"Order": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The order (relative priority) to use when determining the permissions for overlapping Targets that are contained within the same <<object|#.>>. The larger value of this parameter takes priority over a permission with a smaller value (i.e., 0 has the lowest priority).",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"Targets": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "<<list|each entry is a target to which the value of the permissions parameters are assigned>> When an entry is a value of a Partial Path, the permissions are associated to that Object and any child Object/Parameter. When the value of an entry is an Object instance then the permissions are associated to all Parameters of the Object instance. When an entry is a value of a Search Path as defined in <<bibref|TR-369>> that resolves to zero or more Parameter Paths, then all Parameter Paths that result from the evaluation of the Search Path are subject to the permissions assigned by this <<object>> instance.",
							"default": "[]",
							"list": {
								"datatype": "string"
							}
						},
						"Param": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The permissions of a Role for the specified Targets. A string of 4 characters where each character represents a permission (`r` for Read, `w` for Write, `x` for Execute, and `n` for Notify). The string is always in the same order (`rwxn`) and the lack of a permission is signified by a `-` character (e.g., `r--n`). The following describes the meaning of the permissions for Parameter type of Targets: # Read: Grants the capability to read the value of the Parameter via Get and read the meta-information of the Parameter via GetSupportedDM. # Write: Grants the capability to update the value of the Parameter via Add or Set. # Execute: Grants no capabilities; Parameters can not be executed. # Notify: Grants the capability to receive Notify Messages of type ValueChange for this Parameter.",
							"default": "----",
							"datatype": "string",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						},
						"Obj": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The permissions of a Role for the specified Targets. A string of 4 characters where each character represents a permission (`r` for Read, `w` for Write, `x` for Execute, and `n` for Notify). The string is always in the same order (`rwxn`) and the lack of a permission is signified by a `-` character (e.g., `r--n`). The following describes the meaning of the permissions for Object type of Targets: # Read: Grants the capability for Get to resolve Object paths. Grants the capability to read the meta-information of the Object via GetSupportedDM. # Write: Grants no capabilities for Static Objects. Grants the capability to create a new instance of a Multi-Instanced Object via Add (e.g. Device.LocalAgent.Controller.). # Execute: Grants no capabilities; Objects are not executable and Commands are controlled by the CommandEventPermissions. # Notify: Grants the capability to receive Notify Messages of type ObjectCreation for this Object (multi-instance objects only).",
							"default": "----",
							"datatype": "string",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						},
						"InstantiatedObj": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The permissions of a Role for the specified Targets. A string of 4 characters where each character represents a permission (`r` for Read, `w` for Write, `x` for Execute, and `n` for Notify). The string is always in the same order (`rwxn`) and the lack of a permission is signified by a `-` character (e.g., `r--n`). The following describes the meaning of the permissions for Instantiated Object type of Targets: # Read: Grants the capability to read the instance numbers and unique keys of the Instantiated Object via GetInstances. # Write: Grants the capability to remove an existing instance of an Instantiated Object via Delete (e.g. Device.LocalAgent.Controller.1.). # Execute: Grants no capabilities; Object Instances are not executable and Commands are controlled by the CommandEventPermissions. # Notify: Grants the capability to receive Notify Messages of type ObjectDeletion for this Instantiated Object.",
							"default": "----",
							"datatype": "string",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						},
						"CommandEvent": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The permissions of a Role for the specified Targets. A string of 4 characters where each character represents a permission (`r` for Read, `w` for Write, `x` for Execute, and `n` for Notify). The string is always in the same order (`rwxn`) and the lack of a permission is signified by a `-` character (e.g., `r--n`). The following describes the meaning of the permissions for Command and Event type of Targets: # Read: Grants the capability to read the meta-information of the Command (including input and output arguments) and Event (including arguments) via GetSupportedDM. # Write: Grants no capabilities; Commands are executed instead of written to and Events are read only. # Execute: Grants the capability to execute the Command via Operate, but grants no capabilities to an Event. # Notify: Grants the capability to receive Notify Messages of type OperationComplete for this Event or Command.",
							"default": "----",
							"datatype": "string",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						}
					}
				},
				"Device.USPAgent.ControllerTrust.Credential.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "Each instance of this table represents a trusted credential. The credential can be that of a certificate authority (CA) for a Controller whose EndpointID is unknown. When a credential is supplied to the Agent by a Controller during authentication, the credentials in this table are used to determine if any of the supplied certificates (including those in the chain of trust) are considered trusted. If the Controller authenticated via an entry in this table is not previously known to the Agent, the Roles specified in the <<param|Role>> parameter might be automatically applied, depending on the value of the <<param|AllowedUses>> parameter.",
					"uniqueKeys": [
						"Credential",
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Enable/Disable this <<object>> instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"Role": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<nolist>> Comma-separated list of strings, the (set of) Role(s) applied to a Controller authenticated through this <<object>> instance. The roles are added to the Controllers current list of Roles by replacing the value of the <<param|##.Controller.<i>.InheritedRole>> parameter. If the Controller is already known to the Agent, with an associated Role, this parameter has no impact.",
						"list": {
							"datatype": "string"
						}
					},
					"Credential": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A reference to the <<object|##.Certificate.<i>>> instance for use in the authentication of certificates provided by a Controller and authorization of Controllers, and for authentication of certificates used for MTP encryption.",
						"datatype": "string"
					},
					"AllowedUses": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Identifies what usages the Certificate Authority (CA) authenticated by the associated credential is trusted to authorize.",
						"datatype": "string",
						"enumerations": [
							"MTP-only",
							"MTP-and-USP",
							"MTP-and-broker"
						]
					}
				},
				"Device.USPAgent.ControllerTrust.Challenge.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "Each instance of this table represents information that is used to challenge a Controller in order to assign a Role to the Controller or to determine the authenticity of a Certificate. The Controller requests a type of challenge from an Agent using the RequestChallenge command. The Agent returns the value of the <<param|Instruction>> for that type of challenge to the Controller which the Controller then provides a third-party. The third-party responds to the Instruction which the Controller then sends to the Agent using the ChallengeResponse command. The Agent verifies the response to the Challenges and executes an implementation specific Agent logic in order to establish trust with the Controller. This could include (but is not limited to): *Assignment of roles to the Controller is done by appending the non-duplicate roles of the <<param|Role>> parameter to the value of the <<param|##.Controller.<i>.AssignedRole>> parameter. *Use the Controllers certificate to which the challenge response was received in order to authenticate the identity of the Controller.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"Description": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The description of this <<object>> instance.",
						"datatype": "string"
					},
					"Role": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<nolist>> Comma-separated list of strings, the (set of) role(s) appended (non-duplicate values only) to the value of the <<param|##.Controller.<i>.AssignedRole>> parameter.",
						"list": {
							"datatype": "string"
						}
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Enable/Disable this <<object>> instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The type of challenge that will be verified from the challenge response provided by the third-party through the Controller.",
						"datatype": "string",
						"enumerations": [
							"Passphrase"
						]
					},
					"Value": {
						"type": "base64",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The value of the challenge that is specific to the type of challenge.",
						"datatype": "base64"
					},
					"ValueType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The media type with a format as defined by <<bibref|RFC6838>> of the content of the <<param|Value>> parameter.",
						"datatype": "string",
						"enumerations": [
							"text/plain",
							"image/jpeg"
						]
					},
					"Instruction": {
						"type": "base64",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The instruction that is provided to the external party by the Controller requesting the challenge.",
						"datatype": "base64"
					},
					"InstructionType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The media type with a format as defined by <<bibref|RFC6838>> of the content of the <<param|Instruction>> parameter.",
						"datatype": "string",
						"enumerations": [
							"text/plain",
							"image/jpeg",
							"text/html"
						]
					},
					"Retries": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The number of consecutive failed <<template|USP-CHALLENGE-RESPONSE>> attempts against this <<object>> instance (as determined by the <<template|USP-REQUEST-CHALLENGE>>.ChallengeRef associated with <<template|USP-CHALLENGE-RESPONSE>>.ChallengeID parameters) that are allowed before a <<param|LockoutPeriod>> is started for this <<object>> instance. Counts of failed attempts for a <<object>> instance are reset after a successful <<template|USP-CHALLENGE-RESPONSE>> for the <<object>> instance or after a started <<param|LockoutPeriod>> expires.",
						"datatype": "unsignedInt"
					},
					"LockoutPeriod": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Once the <<param|Retries>> value has been reached by failed <<template|USP-CHALLENGE-RESPONSE>> attempts against this <<object>> instance (as determined by the <<template|USP-REQUEST-CHALLENGE>>.ChallengeRef associated with <<template|USP-CHALLENGE-RESPONSE>>.ChallengeID parameters), the value of this parameter represents the amount of time (in <<units>>) that the Agent will prevent any <<template|USP-CHALLENGE-RESPONSE>> or <<template|USP-REQUEST-CHALLENGE>> against this <<object>> instance from succeeding. Any attempt to issue a <<template|USP-REQUEST-CHALLENGE>> or <<template|USP-CHALLENGE-RESPONSE>> command where the associated <<template|USP-REQUEST-CHALLENGE>>.ChallengeRef points to this <<object>> instance during the lockout period will result in an Error response with 7002 as the error code. When a started lockout period has expired, the count of failed attempts for this <<object>> instance will be reset. If the Agent chooses to delete <<template|USP-CHALLENGE-RESPONSE>>.ChallengeID values for a locked out <<object>>, the Agent can send the 7004 error code for values it does not recognize. A value of zero means that a lockout period doesnt apply and the <<template|USP-REQUEST-CHALLENGE>> command can be attempted without the need to wait between failed challenges.",
						"default": "30",
						"datatype": "int",
						"range": [
							{
								"min": 0
							}
						],
						"unit": "seconds"
					}
				}
			}
		},
		"Device.ETSIM2M.": {
			"type": "object",
			"protocols": [
				"cwmp"
			],
			"description": "The <<object>> object represents the management object for the Remote Entity Functions (REM) functions defined in the M2M Functional Architecture <<bibref|ETSIM2MFA>>.",
			"access": false,
			"array": false,
			"SCLNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.ETSIM2M.SCL.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp"
				],
				"description": "This object represents an instance of a Service Capability Layer (SCL) for a M2M device or gateway. The <<object>> MAY be maintained by the ACS or by the CPE. When the <<object>> provides the administration of an SCL that is represented as a <<object|##.SoftwareModules.ExecutionUnit>> the <<object>> is maintained in the <<param|##.SoftwareModules.ExecutionUnit.<i>.References>> parameter. Section 5.1.2 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> describes the high level event flows for SCL registration. Section 9.3.2.6.2 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> describes the creation/registration of SCLs. Section 9.3.2.6.4 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> describes the update/re-registration of SCLs. Section 9.3.2.6.5 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> describes the deletion/deregistration of SCLs. <<keys>>",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "Administratively enables or disables this instance.",
					"default": "false",
					"datatype": "boolean"
				},
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"AnnouncedToSCLList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp"
					],
					"description": "<<list>> The list represents an unordered set of URIs <<bibref|RFC3986>>. A list item is a URI string that represents a SCL to which the this <<object>> will announce original (local) resources. The AnnouncedToSCL has an interest in the discovery of the local resource. Section 9.2.1.14 Announced Resource of the M2M Functional Architecture <<bibref|ETSIM2MFA>> provides a description of this behavior of an Announced Resource. Section 9.3.2.28 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> and Section 10.3.2.7 of the M2M mIa, dIa and mId Interfaces <<bibref|ETSIM2MInterfaces>> describes the process of announcing and deannouncing of resources within a SCL.",
					"list": {
						"datatype": "string"
					}
				},
				"SAFPolicySetNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"AreaNwkInstanceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"AreaNwkDeviceInfoInstanceNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Device.ETSIM2M.SCL.{i}.Discovery.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object is represents the administration properties used when a NSCL requests discovery of resources within this <<object|##.SCL>> instance. Section 9.3.2.27 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> describes the process of discovery of resources within a SCL.",
					"access": false,
					"array": false,
					"MaxNumberOfDiscovRecords": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The maximum number of URIs <<bibref|RFC3986>> for discovered resources contained in a discovery result. This parameter and the <<param|MaxSizeOfDiscovAnswer>> parameter are mutually exclusive in that a result can be limited due to the bounds of either parameter. A value of 0 indicates that the SCL does not have a limit for this parameter.",
						"datatype": "unsignedInt"
					},
					"MaxSizeOfDiscovAnswer": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The maximum size in bytes of the Discovery Answer. This parameter and the <<param|MaxNumberOfDiscovRecords>> parameter are mutually exclusive in that a result can be limited due to the bounds of either parameter. A value of 0 indicates that the SCL does not have a limit for this parameter.",
						"datatype": "unsignedInt"
					}
				},
				"Device.ETSIM2M.SCL.{i}.Reregistration.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object represents the properties and status necessary for a SCL to reregister with one or more NSCLs.",
					"access": false,
					"array": false,
					"RegTargetNSCLList": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> The list represents a priority ordered set of URIs <<bibref|RFC3986>>. The item that is first in the list has the highest priority. A list item is a URI <<bibref|RFC3986>> string that represents a NSCL that this <<object|##.SCL>> instance can use in order to attempt registration. When modified the contents of this parameter replace the <<param>> received during the bootstrap procedure.",
						"list": {
							"datatype": "string"
						}
					},
					"RegSearchStrings": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> The list represents the string tokens used as keys when searching for this <<object|##.SCL>> instance. Sections 9.2.3.6.2 and 9.2.3.6.4 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> describe the usage for this parameter.",
						"list": {
							"datatype": "string"
						}
					},
					"RegAccessRightID": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "URI <<bibref|RFC3986>> that represents the identifier of the access right resource. The value of this parameter is maintained by the NSCL and used by the SCL as a default access right identifier for re-registration to NSCLs.",
						"datatype": "string"
					},
					"RegExpirationDuration": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The duration, in <<units>>, that the SCL will use in its next re-registration attempt. Any negative value represents an infinite duration.",
						"default": "-1",
						"datatype": "int",
						"unit": "seconds"
					},
					"Reregistration": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "<<command>> When set to <<true>>, triggers an immediate re-registration action where the SCL re-registers with the SCLs in the <<param|RegTargetNSCLList>> .",
						"datatype": "boolean"
					},
					"Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "This object represents the status of the Reregistration action.",
						"access": false,
						"array": false,
						"Progress": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The progress, in <<units>>, of the Reregistration action. The progress is measured from 0-100%. A value of 0 indicates that the action has not started. A value of 100 indicates that the action has completed.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 0,
									"max": 100
								}
							],
							"unit": "percent"
						},
						"FinalStatus": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The completion status of the Reregistration operation. Enumeration of: Enumeration of: SUCCESS, FAILURE.",
							"datatype": "string",
							"enumerations": [
								"SUCCESS",
								"FAILURE"
							]
						}
					}
				},
				"Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "This object describes the parameters necessary to administer the store-and-forward (SAF) handling policies applied to requests to access remotely hosted resources. Policies are described by instances of <<object>>. Which instances of <<object>> are used by the SCL is determined by the <<param|PolicyScope>> parameter. Section 9.3.1.5 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> and Section 10.3.1.2.2 of the M2M mIa, dIa and mId Interfaces <<bibref|ETSIM2MInterfaces>> describe the behavior for SAF processing. There is at most one <<object>> instance with the <<param|PolicyScope>> containing a specific application id (APP-ID) URI value within the list. There is exactly one <<object>> instance with a <<param|PolicyScope>> value of default.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "Administratively enables or disables this instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
						"datatype": "_AliasCWMP"
					},
					"PolicyScope": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The parameter defines the scope of the policies contained in this instance of a <<object|#.SAFPolicySet>>. The parameter value is: *a list of unordered set of URIs <<bibref|RFC3986>> that represents an M2M application id (APP-ID) *the value of default *<<empty>> When this parameter is set to a list of application id (APP-ID) URIs <<bibref|RFC3986>>, the scope indicates that the policies are applicable to requests coming from any specific application on that list. When this parameter is set to a string with the value default, the scope indicates that the policies are the default policies for this <<object|##.SCL>> instance. When this parameter is set to <<empty>>, the value represents an unknown <<object|#.SAFPolicySet>> and the <<object|#.SAFPolicySet>> is not to be used.",
						"default": "[]",
						"list": {
							"datatype": "string"
						}
					},
					"ANPPolicyNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "This table contains the SAF-handling policies which are controlled by the Access Network Provider(s). <<keys>>",
						"uniqueKeys": [
							"ANName",
							"Alias"
						],
						"access": true,
						"array": true,
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "Administratively enables or disables this instance.",
							"default": "false",
							"datatype": "boolean"
						},
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
							"datatype": "_AliasCWMP"
						},
						"ANName": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "This parameter is the name of the access network provider and used to determine for which access network the policies defined in the <<object|#.ANPPolicy>> table will apply.",
							"datatype": "string"
						},
						"BlockPeriodNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"RequestCategoryNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp"
							],
							"description": "This table contains a list of block periods for a <<object|##.ANPPolicy>>. A block period defines how long the device will wait before re-trying to establish connectivity via the access network after the previous attempt has failed.",
							"uniqueKeys": [
								"Alias",
								"FailedAttempts"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "Administratively enables or disables this instance.",
								"default": "false",
								"datatype": "boolean"
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "_AliasCWMP"
							},
							"FailedAttempts": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "Number of consecutively failed access attempts for which the <<param|BlockDuration>> will be used to block the next access attempt. The SCL will apply the <<object>> entry with the largest number of consecutive failed attempts that is smaller or equal to the actual number of consecutive failed attempts.",
								"default": "0",
								"datatype": "unsignedInt"
							},
							"BlockDuration": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "The duration, in <<units>>, to which to block further access attempts.",
								"default": "0",
								"datatype": "int",
								"unit": "seconds"
							}
						},
						"Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp"
							],
							"description": "This table contains the Request Category (RCAT) policy items for defining when it is appropriate to use the access network for processing requests.",
							"uniqueKeys": [
								"RCAT",
								"Alias"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "Administratively enables or disables this instance.",
								"default": "false",
								"datatype": "boolean"
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "_AliasCWMP"
							},
							"RCAT": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "An RCAT is a string that represents a request category used for policy enforcement.",
								"datatype": "string"
							},
							"ScheduleNumberOfEntries": {
								"type": "unsignedInt",
								"read": true,
								"write": false,
								"protocols": [
									"cwmp"
								],
								"description": "<<numentries>>",
								"datatype": "unsignedInt"
							},
							"Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.": {
								"type": "object",
								"protocols": [
									"cwmp"
								],
								"description": "This table contains the schedules that define when it is appropriate to use the access network for processing requests for the specified value of the <<param|#.RCAT>>. The combination of all instances of the <<object|AbsTimeSpan>> along with the <<param|Schedules>> parameter makes up the complete schedule for this instance of a <<object>>. The <<param|Schedules>> parameter defines a recurrence of the schedule. If instances of <<object|AbsTimeSpan>> exist, these instances places constraints on the schedule recurrence. If the value of the <<param|Schedules>> parameter is <<empty>>, at least one enabled instance of <<object|AbsTimeSpan>> MUST exist. Processing behavior for the use of RCAT Schedules is defined in section 10.3.1.2.2 of the M2M mIa, dIa and mId Interfaces <<bibref|ETSIM2MInterfaces>> document.",
								"uniqueKeys": [
									"Alias"
								],
								"access": true,
								"array": true,
								"Enable": {
									"type": "boolean",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp"
									],
									"description": "Administratively enables or disables this instance.",
									"default": "false",
									"datatype": "boolean"
								},
								"Alias": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp"
									],
									"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
									"datatype": "_AliasCWMP"
								},
								"Schedules": {
									"type": "string",
									"read": true,
									"write": true,
									"protocols": [
										"cwmp"
									],
									"description": "The list is a set of schedule strings. A schedule string is formatted according to the date and time fields defined CRONTAB input file definition in <<bibref|POSIXBase>>. The <<param>> parameter is used to set the recurrence of the schedule. The timezone used for this parameter is dependent upon the existence of instances of <<object|AbsTimeSpan>> for this <<object>>. If instances of <<object|AbsTimeSpan>> exist, then the timezone of the <<object|AbsTimeSpan>> is used otherwise the UTC timezone is used for this <<param>> parameter. Note the command field is not used in this definition and any whitespace or comma characters within a Schedule string MUST be escaped using percent as defined in <<bibref|TR-106|section 3.2.3>> Example of CRONTAB string: ** 0-6 * * 1-5 would mean every minute for the period from 0:00h to 6:00h (inclusive) on any week day (Monday through Friday) and would be represented as *%200-6%20*%20*%201-5 **/15 22-23,0-4 * * 1-5 would mean every 15 minutes for the period from 22:00h to 04:00h on any week day (Monday through Friday) and would be represented as */15%2022-23%2C0-4%20*%20*%201-5",
									"default": "[]",
									"list": {
										"datatype": "string"
									}
								},
								"AbsTimeSpanNumberOfEntries": {
									"type": "unsignedInt",
									"read": true,
									"write": false,
									"protocols": [
										"cwmp"
									],
									"description": "<<numentries>>",
									"datatype": "unsignedInt"
								},
								"Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}.": {
									"type": "object",
									"protocols": [
										"cwmp"
									],
									"description": "This object defines an instance of a time span used for determining an RCAT schedule. An instance of the <<object>> represents the time span in which the schedule recurrence defined in <<param|#.Schedules>> is constrained. <<object>> instances with unknown values for the <<param|StartTime>> or <<param|EndTime>> are ignored. All instances of the <<object>> within this <<object|##.Schedule>> MUST utilize the same time zone.",
									"uniqueKeys": [
										"Alias"
									],
									"access": true,
									"array": true,
									"Enable": {
										"type": "boolean",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp"
										],
										"description": "Administratively enables or disables this instance.",
										"default": "false",
										"datatype": "boolean"
									},
									"Alias": {
										"type": "string",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp"
										],
										"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
										"datatype": "_AliasCWMP"
									},
									"StartTime": {
										"type": "dateTime",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp"
										],
										"description": "Date and time that represents the start of the time span. The value 0001-01-01T00:00:00Z represents an unknown value. The device MUST reject requests to set the <<param>> value greater than the <<param|EndTime>> value.",
										"default": "0001-01-01T00:00:00Z",
										"datatype": "dateTime"
									},
									"EndTime": {
										"type": "dateTime",
										"read": true,
										"write": true,
										"protocols": [
											"cwmp"
										],
										"description": "Date and time that represents the end of the time span. The value 9999-12-31T23:59:59Z represents an infinite time span from the start time. The value 0001-01-01T00:00:00Z represents an unknown value. The device MUST reject requests to set the <<param>> value less than or equal the <<param|StartTime>> value.",
										"default": "0001-01-01T00:00:00Z",
										"datatype": "dateTime"
									}
								}
							}
						}
					},
					"Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "This object maintains the SAF handling policies properties that are controlled by the M2M service provider for a request.",
						"access": false,
						"array": false,
						"DefaultRCATValue": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"cwmp"
							],
							"description": "The default RCAT value to use for requests to remotely hosted resources during SAF-handling when no RCAT value was specified in the request.",
							"datatype": "string"
						},
						"RequestCategoryNumberOfEntries": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "<<numentries>>",
							"datatype": "unsignedInt"
						},
						"Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}.": {
							"type": "object",
							"protocols": [
								"cwmp"
							],
							"description": "This object maintains a list of properties to be used for forwarding requests with a specified <<param|RCAT>>. Processing behavior for the use of M2M Service Provider policies is defined in section 10.3.1.2.2.1 of the M2M mIa, dIa and mId Interfaces <<bibref|ETSIM2MInterfaces>> document.",
							"uniqueKeys": [
								"RCAT",
								"Alias"
							],
							"access": true,
							"array": true,
							"Enable": {
								"type": "boolean",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "Administratively enables or disables this instance.",
								"default": "false",
								"datatype": "boolean"
							},
							"Alias": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
								"datatype": "_AliasCWMP"
							},
							"RCAT": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "An RCAT is a string that represents a request category used for policy enforcement.",
								"datatype": "string"
							},
							"TolerableDelay": {
								"type": "int",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "The tolerable duration, in <<units>>, that a request of the given RCAT category can be pending in SAF handling when a request from an M2M Application does not specify a tolerable delay. A value of -1 represents an infinite duration.",
								"default": "0",
								"datatype": "int",
								"range": [
									{
										"min": -1
									}
								],
								"unit": "seconds"
							},
							"Thresh": {
								"type": "unsignedInt",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "The threshold of maximum number of pending requests permitted to be held for a specified RCAT. A value of 0 indicates that the request should be transmitted immediately.",
								"default": "0",
								"datatype": "unsignedInt"
							},
							"Mem": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "This parameter defines the maximum size of the request queue for pending requests permitted to be held for a specified RCAT. The format of the string is an integer with an appended memory unit (B - Bytes, K - 1024 Bytes, M - 1048576 Bytes, G -1073741824, T - 1099511627776 Bytes). When the value is <<empty>> the memory threshold criteria for the associated RCATList will be ignored in SAF handling. <<pattern>>",
								"datatype": "string",
								"pattern": [
									"([0-9]{1,15}?[BKMGT])"
								]
							},
							"RankedANList": {
								"type": "string",
								"read": true,
								"write": true,
								"protocols": [
									"cwmp"
								],
								"description": "The list is a prioritized set of Access Networks where the preference of using an Access Network is based on order of the list items with the lowest order list item as the most preferred Access Network.",
								"default": "[]",
								"list": {
									"datatype": "string"
								}
							}
						}
					}
				},
				"Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "The M2M Area Network information provides administration capabilities for remote management (REM) of M2M Devices (D, d) that are attached to this <<object|##.SCL>> instance. This object provides the administration of the properties needed by the SCL to remotely manage M2M Devices within a specific type of M2M Area network as defined by <<param|AreaNwkType>>. Multiple instances of <<object>> with the same <<param|AreaNwkType>> is permitted. Section 5.3.5 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> describes the REM functionality expected of a SCL for an M2M Device.",
					"uniqueKeys": [
						"ID"
					],
					"access": false,
					"array": true,
					"ID": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "URI <<bibref|RFC3986>> that represents the identifier of the instance.",
						"datatype": "string"
					},
					"AreaNwkType": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Devices (D and d) that connect to an SCL are said to be attached devices and are organized by M2M Area Networks within the <<object|##.SCL>> instance. The <<param>> is an implementation-chosen string that indicates the type of M2M Area Network.",
						"datatype": "string"
					},
					"ListOfDevices": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> <<reference>> The list represents the M2M Devices (D, d) that are attached to this <<object|##.SCL>> instance that are within this <<object>> instance. The list does not contain an instance for this CPE.",
						"list": {
							"datatype": "string"
						}
					},
					"PropertyNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "This object contains an instance of a property extension (name value pair) for this <<object|##.AreaNwkInstance>> instance. For example, if the <<param|#.AreaNwkType>> is ZigBee the <<object|##.AreaNwkInstance>> will contain ZigBee specific parameters that have not been modeled for the M2M Area network. At a minimum, a property instance MUST exist that defines an attribute that describes the IP layer address type (e.g., IPv4, IPv6, non-IP) of this M2M Area Network.",
						"access": false,
						"array": true,
						"Name": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The name of the property",
							"datatype": "string"
						},
						"Value": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The value of the property.",
							"datatype": "string"
						}
					}
				},
				"Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp"
					],
					"description": "The M2M Area Network Device Information provides the administration capability to the SCL for maintenance of M2M Devices (D, d) that are attached to this <<object|##.SCL>> instance. While discovery and identification of devices by the M2M Gateway or Device (CPE) is implementation specific, each device is represented by an instance of the <<object|###.Hosts.Host>> table. When the M2M Device is managed by the CWMP endpoint of the CPE, the <<object>> is expected to be referenced by an instance of one of the following tables: *<<object|###.ManagementServer.EmbeddedDevice>> *<<object|###.ManagementServer.VirtualDevice>> Section 5.3.5 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> describes the REM functionality expected of a SCL to a M2M Device. This object instance provides the administration properties required by a SCL to remotely manage an instance of a M2M Device within a M2M area network. A M2M Device is associated with an instance of a <<object|#.AreaNwkInstance>>. This table contains parameters and information of the M2M Device related to each <<object|#.AreaNwkInstance>> instance. Instances of this table are created and deleted by the CPE. The ACS MAY modify the writeable parameters of this object instance but it is possible that the value set by the ACS is not retained between reboots of the M2M Device.",
					"access": false,
					"array": true,
					"AreaNwkInstance": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<reference>>",
						"datatype": "string"
					},
					"Host": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> <<reference|the <<object|###.Hosts.Host>> table entry that represents an active or inactive M2M Device>>",
						"list": {
							"datatype": "string"
						}
					},
					"ListOfDeviceNeighbors": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<list>> <<reference>> References all the <<object|###.Hosts.Host>> table entries, whether active or inactive, that represent the reachable neighbors of this M2M Device (D or d).",
						"list": {
							"datatype": "string"
						}
					},
					"ListOfDeviceApplications": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The list is an unordered set of URIs <<bibref|RFC3986>>. A list item is an URI string that represents an application id (APP-ID) for the M2M DA applications residing on the M2M Device for the associated <<object|#.AreaNwkInstance>>. Table B.58 of the M2M Functional Architecture <<bibref|ETSIM2MFA>> describes this parameter.",
						"list": {
							"datatype": "string"
						}
					},
					"SleepInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The interval, in <<units>>, between sleep periods for the device. A value of 0 represents a device that does not sleep. Note: When this value is modified, the CPE could modify the <<param>> for this M2M Device in other Area Networks.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"SleepDuration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"cwmp"
						],
						"description": "The duration, in <<units>>, of a sleep period. The value 0 represents an unknown value. Note: When this value is modified, the CPE could modify the <<param>> for this M2M Device in other Area Networks.",
						"datatype": "unsignedInt",
						"unit": "seconds"
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "The sleep status of the device. Enumeration of: Enumeration of: ASLEEP, AWAKE.",
						"datatype": "string",
						"enumerations": [
							"ASLEEP",
							"AWAKE"
						]
					},
					"Active": {
						"type": "boolean",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "Whether or not this M2M Device is currently attached to this <<object|##.SCL>> instance. The ability to list inactive M2M Devices is OPTIONAL. If the CPE includes inactive M2MDevices in this table, <<param>> is set to <<false>> for each inactive M2M Device. The length of time an inactive M2M Device remains listed in this table is a local matter to the CPE.",
						"datatype": "boolean"
					},
					"PropertyNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}.": {
						"type": "object",
						"protocols": [
							"cwmp"
						],
						"description": "This object contains an instance of a property extension (name value pair) for this <<object|##.AreaNwkDeviceInfoInstance>> instance. For example, if the <<param|##.AreaNwkInstance.<i>.AreaNwkType>> value is ZigBee, this <<object|##.AreaNwkDeviceInfoInstance>> contains ZigBee-specific parameters that are not formally modeled for this <<object|##.AreaNwkDeviceInfoInstance>> instance.",
						"access": false,
						"array": true,
						"Name": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The name of the property",
							"datatype": "string"
						},
						"Value": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp"
							],
							"description": "The value of the property.",
							"datatype": "string"
						}
					}
				}
			}
		},
		"Device.STOMP.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "The <<object>> represents the STOMP capabilities of the device as described in <<bibref|TR-369>>.",
			"access": false,
			"array": false,
			"ConnectionNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.STOMP.Connection.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "The <<object>> represents a STOMP connection between the Agent and a STOMP server.",
				"uniqueKeys": [
					"Host",
					"Username",
					"VirtualHost",
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
					"datatype": "_AliasCWMP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enables or disables this <<object>>. This parameter is based on ifAdminStatus from <<bibref|RFC2863>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The current operational state of this <<object>> (see <<bibref|TR-181i2|Section 4.2.2>>). Enumeration of: Enabled, Disabled, Unknown, Connecting, ServerNotPresent, Error_Misconfigured, Error_AuthenticationFailure, Error. When <<param|Enable>> is <<false>> then <<param>> SHOULD normally be <<enum|Disabled>> or <<enum|Error>> if there is a fault condition on the interface). When <<param|Enable>> is changed to <<true>> then <<param>> SHOULD change to <<enum|Enabled>> if and only if the interface is able to transmit and receive PDUs; it SHOULD change to <<enum|Unknown>> if the state of the interface can not be determined for some reason.",
					"datatype": "string",
					"enumerations": [
						"Enabled",
						"Disabled",
						"Unknown",
						"Connecting",
						"ServerNotPresent",
						"Error_Misconfigured",
						"Error_AuthenticationFailure",
						"Error"
					]
				},
				"LastChangeDate": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The date and time at which this <<object>> entered into its current operational state.",
					"datatype": "dateTime"
				},
				"Host": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The hostname or IP Address of the STOMP Server.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Port": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The port number of the STOMP Server.",
					"default": "61613",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					]
				},
				"Username": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The username part of the credentials to be used when authenticating this <<object>> during connection establishment with the STOMP Server.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Password": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The password part of the credentials to be used when authenticating this <<object>> during connection establishment with the STOMP Server.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"VirtualHost": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The Virtual Host to use when establishing the connection. Some STOMP Server implementations utilize virtual hosts to place a context around credentials, permissions, and internal resources.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"EnableHeartbeats": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Enable or disable the STOMP Heart-beating mechanism as described in STOMP (for this <<object>>). When the STOMP Heart-beat mechanism is enabled, <<param|OutgoingHeartbeat>> and <<param|IncomingHeartbeat>> determine how the heart-beat header within the CONNECT frame is formatted. When the STOMP Heart-beat mechanism is disabled, <<param|OutgoingHeartbeat>> and <<param|IncomingHeartbeat>> are ignored and the CONNECT frame MUST NOT contain a heart-beat header element. Any changes to this parameter will not take effect until the next connection.",
					"default": "false",
					"datatype": "boolean"
				},
				"OutgoingHeartbeat": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the Outgoing heart-beat timing (in <<units>>) of the STOMP Heart-beating mechanism as described in STOMP (for this <<object>>). The Outgoing heart-beat represents what the sender of the frame can do. A value of 0 means that it cannot send heart-beats. Any changes to this parameter will not take effect until the next connection.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				},
				"IncomingHeartbeat": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "Represents the Incoming heart-beat timing (in <<units>>) of the STOMP Heart-beating mechanism as described in STOMP (for this <<object>>). The Incoming heart-beat represents what the sender of the frame would like to get. A value of 0 means that it does not want to receive heart-beats. Any changes to this parameter will not take effect until the next connection.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				},
				"ServerRetryInitialInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum first reconnection wait interval, in <<units>>, as specified in <<bibref|TR-369>>. The Device MUST use a random value between 0 and <<param>> as the first reconnection wait interval.",
					"default": "60",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					],
					"unit": "seconds"
				},
				"ServerRetryIntervalMultiplier": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The reconnection interval multiplier as specified in <<bibref|TR-369>>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. For the nth reconnection wait interval, the Device MUST use a random value, in seconds, between 0 and <<param|ServerRetryInitialInterval>> * (<<param>> / 1000) ** (n - 1). The server retry mechanism reaches its upper limit at 10 reconnection attempts. Meaning, that if the number of reconnection attempts exceeds 10, then the Device MUST use a random value, in seconds, between 0 and ServerRetryInitialInterval * (ServerRetryIntervalMultiplier / 1000) ** (10 - 1).",
					"default": "2000",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1000,
							"max": 65535
						}
					]
				},
				"ServerRetryMaxInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "The maximum reconnection wait interval, in <<units>>. If the nth reconnection wait interval calculated from <<param|ServerRetryInitialInterval>> and <<param|ServerRetryIntervalMultiplier>> exceeds the value of this parameter, then the Agent MUST use the value of this parameter as the next reconnection wait interval.",
					"default": "30720",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"IsEncrypted": {
					"type": "boolean",
					"read": true,
					"write": false,
					"obsolete": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "This parameter represents whether or not communications that utilize this <<object>> object instance are encrypted. <<deprecated|2.14|because the <<param|EnableEncryption>> parameter will dictate whether all connections for this STOMP instance are or are not encrypted>> <<obsoleted|2.16>> <<deleted|2.17>>",
					"datatype": "boolean"
				},
				"EnableEncryption": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"description": "When <<true>>, encryption MUST be used for this STOMP Connection <<object>>.",
					"default": "true",
					"datatype": "boolean"
				}
			}
		},
		"Device.CollectionDevice.{i}.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"description": "A <<object>> is a device in the network that is represented in the <<object|#>> data model in multiple places. An instance of <<object>> represents a physical device that is modeled via a set of data model objects that are distributed throughout the data model, and brings them together into a single Data Model Object. For example an entry with a <<object|#.WiFi.DataElements.Network.Device>> and a <<object|#.IEEE1905.AL.NetworkTopology.IEEE1905Device>> is the same device represented in two places. When the entry with <<param|IsNativeDevice>> is <<true>>, that entry will represent the Native Device which is modeled by the Root Object <<object|#>>.",
			"uniqueKeys": [
				"Alias"
			],
			"access": false,
			"array": true,
			"Alias": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value. | A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference. If the CPE supports the Alias-based Addressing feature as defined in <<bibref|TR-069|3.6.1>> and described in <<bibref|TR-069|Appendix II>>, the following mandatory constraints MUST be enforced: * Its value MUST NOT be empty. * Its value MUST start with a letter. * If its value is not assigned by the ACS, it MUST start with a cpe- prefix. * The CPE MUST NOT change the parameter value.",
				"datatype": "_AliasCWMP"
			},
			"IsNativeDevice": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "If <<true>> this <<object>> models the top level <<object|#>> only one instance can represent the top-level device. If <<false>> this <<object>> represents another device in the network.",
				"datatype": "boolean"
			},
			"DataElementsDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.WiFi.DataElements.Network.Device>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.WiFi.DataElements.Network.Device>> table>>",
				"datatype": "string"
			},
			"IEEE1905DeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.IEEE1905.AL.NetworkTopology.IEEE1905Device>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.IEEE1905.AL.NetworkTopology.IEEE1905Device>> table>>",
				"datatype": "string"
			},
			"LLDPDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.LLDP.Discovery.Device>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.LLDP.Discovery.Device>> table>>",
				"datatype": "string"
			},
			"UPnPDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.UPnP.Discovery.Device>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.UPnP.Discovery.Device>> table>>",
				"list": {
					"datatype": "string"
				}
			},
			"HostDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.Hosts.Host>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.Hosts.Host>> table>>",
				"list": {
					"datatype": "string"
				}
			},
			"GhnAssociatedDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.Ghn.Interface.<i>.AssociatedDevice>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.Ghn.Interface.<i>.AssociatedDevice>> table>>",
				"datatype": "string"
			},
			"MoCAAssociatedDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.MoCA.Interface.<i>.AssociatedDevice>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.MoCA.Interface.<i>.AssociatedDevice>> table>>",
				"datatype": "string"
			},
			"HomePlugAssociatedDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.HomePlug.Interface.<i>.AssociatedDevice>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.HomePlug.Interface.<i>.AssociatedDevice>> table>>",
				"datatype": "string"
			},
			"HPNAAssociatedDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.HPNA.Interface.<i>.AssociatedDevice>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.HPNA.Interface.<i>.AssociatedDevice>> table>>",
				"datatype": "string"
			},
			"UPAAssociatedDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.UPA.Interface.<i>.AssociatedDevice>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.UPA.Interface.<i>.AssociatedDevice>> table>>",
				"datatype": "string"
			},
			"WiFiAssociatedDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.WiFi.AccessPoint.<i>.AssociatedDevice>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.WiFi.AccessPoint.<i>.AssociatedDevice>> table>>",
				"datatype": "string"
			},
			"ZigBeeAssociatedDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.ZigBee.Interface.<i>.AssociatedDevice>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.ZigBee.Interface.<i>.AssociatedDevice>> table>>",
				"datatype": "string"
			},
			"ThreadAssociatedNodeRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"description": "<<reference|the <<object|#.Thread.MLE.<i>.AssociatedNode>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.Thread.MLE.<i>.AssociatedNode>> table>>",
				"datatype": "string"
			},
			"ProxiedDeviceRef": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<reference|the <<object|#.ProxiedDevice>> instance corresponding to this <<object>>, or <<empty>> if this <<object>> is not represented in the <<object|#.ProxiedDevice>> table>>",
				"datatype": "string"
			}
		},
		"Device.LocalAgent.": {
			"type": "object",
			"protocols": [
				"usp"
			],
			"description": "This object contains general information about the USP Agent itself. For information related to the Device that hosts the Agent, please reference the <<object|#.DeviceInfo>> object. NOTE: The Vendor Log File table (<<object|#.DeviceInfo.VendorLogFile>>) details are located on the <<object|#.DeviceInfo>> object.",
			"access": false,
			"array": false,
			"EndpointID": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "The unique USP identifier for this USP Agent.",
				"datatype": "string"
			},
			"SoftwareVersion": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "The current USP Agent software version; not the version of the overall device firmware, which is located in <<param|.DeviceInfo.SoftwareVersion>>. To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 3.0.21 where the components mean: Major.Minor.Build.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"UpTime": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Time in <<units>> since the USP Agent was last restarted (either via a reset of the software or reboot of the underlying device).",
				"datatype": "unsignedInt",
				"unit": "seconds"
			},
			"Periodic!": {
				"type": "event",
				"protocols": [
					"usp"
				]
			},
			"SupportedProtocols": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "USP Message Transfer Protocols supported by this USP Agent. The USP Agent MUST support at least one Protocol.",
				"list": {
					"datatype": "string",
					"item": {
						"min": 1
					},
					"enumerations": [
						"CoAP",
						"WebSocket",
						"STOMP",
						"MQTT",
						"UDS"
					]
				}
			},
			"SupportedFingerprintAlgorithms": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<list|each entry is an algorithm for calculating fingerprints that is supported by the Agent>>",
				"list": {
					"datatype": "string",
					"enumerations": [
						"SHA-1",
						"SHA-224",
						"SHA-256",
						"SHA-384",
						"SHA-512"
					]
				}
			},
			"SupportedThresholdOperator": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<list|each entry is a threshold operation for <<param|Threshold.<i>.ThresholdOperator>> supported by the Agent>>",
				"list": {
					"datatype": "string",
					"enumerations": [
						"Rise",
						"Fall",
						"Cross",
						"Eq",
						"NotEq"
					]
				}
			},
			"AdvertisedDeviceSubtypes": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"usp"
				],
				"description": "<<list|each entry is a subtype component of the service type that is advertised for the device using mDNS as defined in <<bibref|RFC6762>>>>",
				"list": {
					"datatype": "string"
				}
			},
			"MaxSubscriptionChangeAdoptionTime": {
				"type": "unsignedInt",
				"read": true,
				"write": true,
				"protocols": [
					"usp"
				],
				"description": "The acceptable amount of time in <<units>> between the alteration of the Agents Subscriptions (e.g. updated subscription, new subscription, removed subscription, etc.) and the notifications related to those subscriptions being delivered. For example, if this parameter is set to 30 <<units>>, then once a Subscription has been updated, the Agent has 30 <<units>> before it needs to start delivering notifications based on the updated version of the Subscription (instead of the old version of the Subscription).",
				"datatype": "unsignedInt",
				"range": [
					{
						"min": 5
					}
				],
				"unit": "seconds"
			},
			"ThresholdNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MTPNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"ControllerNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"CertificateNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"WakeUp!": {
				"type": "event",
				"protocols": [
					"usp"
				]
			},
			"TransferComplete!": {
				"type": "event",
				"protocols": [
					"usp"
				],
				"output": {
					"Command": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The Path Name of the command that requested the transfer, or <<empty>> if the transfer was not requested via a USP operation.",
						"datatype": "string"
					},
					"CommandKey": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The command_key supplied when requesting the transfer, or <<empty>> if the transfer was not requested via a USP operation.",
						"datatype": "string"
					},
					"Requestor": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The Endpoint ID of the Controller that requested the transfer, or <<empty>> if no Controller requested it.",
						"datatype": "string"
					},
					"TransferType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The type (direction) of the transfer.",
						"default": "Download",
						"datatype": "string",
						"enumerations": [
							"Download",
							"Upload"
						]
					},
					"Affected": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The Path Name of the Object or Object Instance that was affected by the transfer, or <<empty>> if no data model object was affected by the transfer.",
						"datatype": "string"
					},
					"TransferURL": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The <<datatype>> from or to which this transfer was performed, or <<empty>> if no such URL is available.",
						"datatype": "URL",
						"range": [
							{
								"max": 2048
							}
						]
					},
					"StartTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The date and time in UTC at which the transfer was started. The Device SHOULD record this information and report it in this argument, but if this information is not available, the value of this argument MUST be set to the Unknown Time value.",
						"default": "0001-01-01T00:00:00Z",
						"datatype": "dateTime"
					},
					"CompleteTime": {
						"type": "dateTime",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The date and time in UTC at which the transfer was fully completed. This need only be filled in if the transfer has been fully completed. The Device SHOULD record this information and report it in this argument, but if this information is not available or the transfer has not completed, the value of this argument MUST be set to the Unknown Time value.",
						"default": "0001-01-01T00:00:00Z",
						"datatype": "dateTime"
					},
					"FaultCode": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The numerical fault code as defined in <<bibref|TR-369>>. A value of 0 (zero) indicates no fault.",
						"default": "0",
						"datatype": "unsignedInt"
					},
					"FaultString": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A human-readable text description of the fault. This field SHOULD be <<empty>> if the <<param|FaultCode>> equals 0 (zero).",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					},
					"CheckSumAlgorithm": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The hash algorithm that was used to generate the checksum for the transferred file.",
						"datatype": "string",
						"enumerations": [
							"SHA-1",
							"SHA-224",
							"SHA-256",
							"SHA-384",
							"SHA-512",
							"Unknown"
						]
					},
					"CheckSum": {
						"type": "hexBinary",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The hash value that was used for the transferred file. This hash value was generated using transferred file content and the <<param|CheckSumAlgorithm>>. If the argument is <<empty>>, not present, or the <<param|CheckSumAlgorithm>> is <<enum|Unknown|CheckSumAlgorithm>>, then the Controller can assume that the checksum is not applicable or was not generated for this transfer.",
						"datatype": "hexBinary"
					}
				}
			},
			"AddCertificate()": {
				"type": "command",
				"async": false,
				"protocols": [
					"usp"
				],
				"input": {
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "An optional input the Controller can use to specify the <<param|##.Certificate.<i>.Alias>> value for the added entry. If provided as an input and the value already exists in <<object|##.Certificate.<i>>>, this command will fail.",
						"datatype": "Alias",
						"range": [
							{
								"max": 64
							}
						]
					},
					"Certificate": {
						"type": "string",
						"read": true,
						"write": true,
						"mandatory": true,
						"protocols": [
							"usp"
						],
						"description": "The X.509 certificate in Privacy-enhanced Electronic Mail (PEM) <<bibref|RFC7468>> format.",
						"datatype": "string",
						"range": [
							{
								"max": 65535
							}
						]
					}
				}
			},
			"WatchdogNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SubscriptionNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"RequestNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"MonitorNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"SupportedNumberOfSubscriptions": {
				"type": "int",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "An indication of the maximum number of <<object|Subscription>> instances supported by this implementation or -1 if no hard limit exists.",
				"default": "-1",
				"datatype": "int"
			},
			"Device.LocalAgent.MTP.{i}.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "Each instance of this table represents a MTP used by the local Agent.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
					"datatype": "_AliasUSP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Enable/Disable this <<object>> instance. If this <<object>> instance is to be disabled and currently used for communication with the requesting controller, the agent has to send the request response first, before disabling it.",
					"default": "false",
					"datatype": "boolean"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The current operational state of the <<object>> instance.",
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Error"
					]
				},
				"Protocol": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The Message Transfer Protocol (MTP) to be used for communications by a USP Endpoint.",
					"datatype": "string"
				},
				"EnableMDNS": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "This parameter, when <<true>>, enables the advertisement of DNS-SD services defined for this <<object>> instance using mDNS as defined in <<bibref|RFC6762>>. This parameter cannot be set to <<true>> if there are multiple <<object>> instances with the same value of the <<param|Protocol>> parameter. When <<true>>, the hostname advertised in the SRV record MUST be a Fully Qualified Domain Name (FQDN). The interfaces that advertise these DNS-SD services are restricted to the set of interfaces associated with this <<object>> instance and the interfaces defined by the <<param|.DNS.SD.Advertise.<i>.Interface>> parameter.",
					"default": "true",
					"datatype": "boolean"
				},
				"Device.LocalAgent.MTP.{i}.CoAP.": {
					"type": "object",
					"obsolete": true,
					"protocols": [
						"usp"
					],
					"description": "If the USP Endpoint uses the CoAP Message Transfer Protocol (MTP), then this object contains CoAP specific configuration parameters. <<deprecated|2.15|because the CoAP MTP was deprecated in USP 1.2>> <<obsoleted|2.17>> <<deleted|2.18>>",
					"access": false,
					"array": false,
					"Interfaces": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"usp"
						],
						"description": "<<reference|the <<object|###.IP.Interface>> object instance that this server will use as its host address to receive USP messages>> <<empty>> will bind this server to all interfaces for this device.",
						"list": {
							"datatype": "string"
						}
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"usp"
						],
						"description": "The port number used by the CoAP Server to receive USP messages.",
						"default": "5683",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"Path": {
						"type": "string",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"usp"
						],
						"description": "The path that is used by the CoAP Server in order to receive USP messages.",
						"datatype": "string"
					},
					"IsEncrypted": {
						"type": "boolean",
						"read": true,
						"write": false,
						"obsolete": true,
						"protocols": [
							"usp"
						],
						"description": "This parameter represents whether or not communications that utilize this <<object>> object instance are encrypted. <<deprecated|2.14|because the <<param|EnableEncryption>> parameter will dictate whether all connections to this CoAP server instance are or are not encrypted>> <<obsoleted|2.16>> <<deleted|2.17>>",
						"datatype": "boolean"
					},
					"EnableEncryption": {
						"type": "boolean",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"usp"
						],
						"description": "When <<true>>, encryption MUST be used for this MTP instance.",
						"default": "true",
						"datatype": "boolean"
					}
				},
				"Device.LocalAgent.MTP.{i}.STOMP.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "If the USP Endpoint uses the STOMP Message Transfer Protocol (MTP), then this object contains STOMP Client specific configuration parameters related to how the Agent communicates with the STOMP Server.",
					"access": false,
					"array": false,
					"Reference": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A reference to the STOMP Connection used by this Agent when communicating via the STOMP MTP.",
						"datatype": "string"
					},
					"Destination": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The STOMP destination where the Agent will be listening to incoming USP messages.",
						"datatype": "string"
					},
					"DestinationFromServer": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"usp"
						],
						"description": "The STOMP destination contained in the subscribe-dest header of the CONNECTED STOMP Frame. If the Agent doesnt receive a subscribe-dest header in the CONNECTED STOMP Frame, then the value of this Parameter MUST be set to <<empty>>. If this parameters value is not empty then this is the STOMP destination address for this Agent, but if the value is empty the <<param|Destination>> Parameter contains the STOMP destination address for this Agent.",
						"datatype": "string"
					}
				},
				"Device.LocalAgent.MTP.{i}.WebSocket.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "If the USP Endpoint uses the WebSocket Message Transfer Protocol (MTP) as a WebSocket server, then this object contains WebSocket specific configuration parameters.",
					"access": false,
					"array": false,
					"Interfaces": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "<<reference|the <<object|###.IP.Interface>> object instance that this server will use as its host address to receive USP messages>> <<empty>> will bind this server to all interfaces for this device.",
						"list": {
							"datatype": "string"
						}
					},
					"Port": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The port number used by the WebSocket Server to receive USP messages.",
						"default": "8443",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						]
					},
					"Path": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The service path that is provided by the WebSocket Server in order to exchange USP messages. The value MUST be used as defined in <<bibref|RFC3986|Section 3.3>>.",
						"datatype": "string"
					},
					"EnableEncryption": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "When <<true>>, encryption MUST be used for all connections to this MTP instance.",
						"default": "true",
						"datatype": "boolean"
					},
					"KeepAliveInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The duration in <<units>> between when WebSocket ping control frames are transmitted by the Agents WebSocket server to the Controllers WebSocket client.",
						"default": "60",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						],
						"unit": "seconds"
					}
				},
				"Device.LocalAgent.MTP.{i}.MQTT.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "If the USP Endpoint uses the MQTT Message Transfer Protocol (MTP), then this object contains MQTT Client specific configuration parameters related to how the Agent communicates with the MQTT broker.",
					"access": false,
					"array": false,
					"Reference": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A reference to the MQTT Client used by this Agent when communicating via the MQTT MTP.",
						"datatype": "string"
					},
					"ResponseTopicConfigured": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The Agents configured reply to topic. When MQTT 5.0 is being used, this value is put in the PUBLISH Response Topic property for all PUBLISH packets with a USP Record, if no Response Information (value recorded in <<param|ResponseTopicDiscovered>>) is included in the CONNACK. When MQTT 3.1.1 is being used, this value is put at the end of the PUBLISH Topic Name property (as specified in <<bibref|TR-369|Section MQTT Binding>>. If the value of <<param>> is not a subset (wildcarded or precise match) of any of the <<param|Reference>> <<param|.MQTT.Client.<i>.Subscription.<i>.Topic>> values the Agent MUST subscribe to this Topic. The value MUST NOT contain any wild card characters (\u201c+\u201d, \u201c#\u201d).",
						"datatype": "string",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"ResponseTopicDiscovered": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"usp"
						],
						"description": "Duplicate of <<param|Reference>> <<param|.MQTT.Client.<i>.ResponseInformation>>. This is the value of the CONNACK Response Information property supplied by a MQTT 5.0 server and is used by a MQTT 5.0 client as the basis for the PUBLISH Response Topic property for all PUBLISH packets that expect a response. If a value is received from the MQTT 5.0 server, it will be used instead of any value configured in <<param|ResponseTopicConfigured>>.",
						"datatype": "string",
						"range": [
							{
								"max": 65535
							}
						]
					},
					"PublishQoS": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The Agent MUST use this QoS value when sending a USP Record on this MTP. If the referenced MQTT Client uses MQTT 5.0 and the MQTT server only indicates support for a QoS value in the CONNACK Maximum QoS property lower than this QoS value, the Agent MUST use the highest QoS value that is supported by the server.",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 2
							}
						]
					}
				},
				"Device.LocalAgent.MTP.{i}.UDS.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "If the USP Endpoint uses the Unix Domain Socket (UDS) Message Transfer Protocol (MTP), then this object contains UDS specific configuration parameters related to how this Agent communicates with a Controller on another USP Endpoint. An example of how to set up this MTP can be found in <<bibref|TR-369| Section Example Data Models for a USP Broker and USP Services>>.",
					"access": false,
					"array": false,
					"UnixDomainSocketRef": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A reference to the Unix Domain Socket used by this Agent when communicating via the UDS MTP.",
						"datatype": "string"
					}
				}
			},
			"Device.LocalAgent.Threshold.{i}.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "Each <<object>> instance of this table represents a Threshold Event. <<param|ThresholdParam>> is monitored to determine if it has met the <<param|ThresholdOperator>> condition against <<param|ThresholdValue>>, when it meets the condition a <<event|Triggered!>> Event is sent. <<param|ThresholdParam>> may only reference integer parameters and <<param|ThresholdValue>> only uses integer values. For example: <<param|ReferencePath>>: Device.Ethernet.Interface.[Enable==1].Stats. <<param|ThresholdParam>>: BytesSent <<param|ThresholdOperator>>: Rise <<param|ThresholdValue>>: 100000 This would trigger a <<event|Triggered!>> Event whenever a value of a parameter matching Device.Ethernet.Interface.[Enable==1].Stats.BytesSent rises from below to above 100000. When creating a <<object>>, if the <<param|ReferencePath>>, <<param|ThresholdParam>> or <<param|ThresholdValue>> are invalid (not in the supported Data Model), the object will not be created. If the concatenation of <<param|ReferencePath>> and <<param|ThresholdParam>> reference a parameter that isnt in the instantiated data model, then there will be no <<event|Triggered!>> Event.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
					"datatype": "_AliasUSP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Enable/Disable this <<object>> instance. If the <<object>> instance is disabled, the <<event|Triggered!>> Event will not be invoked, even if there is a <<object|#.Subscription>> instance that references it.",
					"default": "false",
					"datatype": "boolean"
				},
				"OperatingMode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Determines whether to disable this <<object>> instance after the <<event|Triggered!>> Event has been invoked.",
					"default": "Normal",
					"datatype": "string",
					"enumerations": [
						"Normal",
						"Single"
					]
				},
				"ReferencePath": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The concatenation of <<param>> and <<param|ThresholdParam>> refers to the parameter being checked for the threshold test. <<param>> can be either an Object Path, Object Instance Path, or and Object Instance Path with a Search Expression instead of an Instance Identifier, as defined in the introduction section of <<bibref|TR-369>>.",
					"datatype": "string"
				},
				"ThresholdParam": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The concatenation of <<param|ReferencePath>> and <<param>> refers to the parameter being checked for the threshold test. <<param>> is the name of the Parameter in the context of <<param|ReferencePath>>.",
					"datatype": "string"
				},
				"ThresholdOperator": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The operator used for the threshold test.",
					"default": "Rise",
					"datatype": "string"
				},
				"ThresholdValue": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The Value used for the threshold test.",
					"datatype": "string"
				},
				"Controller": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<reference|the <<object|#.Controller>> instance that created <<object>>|delete>> The value of this parameter is automatically populated by the USP Agent upon <<object>> creation using the reference to the USP Controller that created the instance. The USP Controller referenced by this parameter also defines the set of permissions to use when evaluating the threshold. Furthermore, only the USP Controller referenced by this parameter will receive a <<event|Triggered!>> Event (assuming it has an associated Subscription), even if another USP Controller has an associated Subscription.",
					"datatype": "string"
				},
				"Triggered!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"ParamPath": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The parameter (<<param|#.ReferencePath>> and <<param|#.ThresholdParam>>) for which the threshold has been triggered.",
							"datatype": "string"
						},
						"ParamValue": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The new (<<param|#.ReferencePath>> and <<param|#.ThresholdParam>>) Value.",
							"datatype": "string"
						}
					}
				}
			},
			"Device.LocalAgent.Monitor.{i}.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "Each <<object>> instance of this table represents an OnChange Event. This would trigger a <<event|OnChange!>> Event whenever a value of a parameter(s) matching <<param|ReferenceList>> changed during the time interval specified by <<param|Interval>>. When creating a <<object>>, if the <<param|ReferenceList>> is invalid (not in the supported Data Model), the object will not be created.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
					"datatype": "_AliasUSP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Enable/Disable this <<object>> instance. If the <<object>> instance is disabled, the <<event|OnChange!>> Event will not be invoked, even if there is a <<object|#.Subscription>> instance that references it.",
					"default": "false",
					"datatype": "boolean"
				},
				"Interval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Monitor interval in <<units>>. Parameters changed during this time window will be part of the <<event|OnChange!>> Event. When set to 0, the Agent will send the <<event|OnChange!>> Event immediately when it notices a change in one or more of the subscribed parameters.",
					"datatype": "unsignedInt",
					"unit": "microseconds"
				},
				"ReferenceList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Each entry in the list is a Path Name or Search Path that determines the element(s) of the data model that the <<object>> is applicable to.",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Controller": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<reference|the <<object|#.Controller>> instance that created <<object>>|delete>> The value of this parameter is automatically populated by the USP Agent upon <<object>> creation using the reference to the USP Controller that created the instance. The USP Controller referenced by this parameter also defines the set of permissions to use when evaluating the to be monitored changes. Furthermore, only the USP Controller referenced by this parameter will receive a <<event|OnChange!>> Event (assuming it has an associated Subscription), even if another USP Controller has an associated Subscription.",
					"datatype": "string"
				},
				"OnChange!": {
					"type": "event",
					"protocols": [
						"usp"
					]
				}
			},
			"Device.LocalAgent.Watchdog.{i}.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "Each <<object>> instance of this table represents a Watchdog Event. A <<object>> instance is used to detect the lack of an expected update of a parameter value within a certain time window <<param|ReloadTimerValue>>. In case this timer expires, meaning <<param|RemainingTimerValue>> becomes 0, a notification event <<event|Watchdog!>>, will be sent to the <<param|Controller>>. This is because timely parameter updates are required, e.g. for SLA or security reasons.",
				"uniqueKeys": [
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
					"datatype": "_AliasUSP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Enable/Disable this <<object>> instance. If the <<object>> instance is disabled, the <<event|Watchdog!>> will not be invoked, even if there is a <<object|#.Subscription>> instance that references it. The <<param|RemainingTimerValue>> will be set to 0. If the <<object>> instance is set to enabled, the <<param|RemainingTimerValue>> will be set to the value of <<param|ReloadTimerValue>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"ReloadTimerValue": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Watchdog timer reload value in <<units>>. Every time the <<param|Reference>> value is updated, this <<param>> is used to reload the <<param|RemainingTimerValue>>.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"RemainingTimerValue": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "This value is decreased every <<units>>. When 0, the <<object>> timer expires, an <<event|Watchdog!>> event will be generated.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The operational status of the <<object>> instance. When the value of <<param|RemainingTimerValue>> becomes 0, this <<param>> will become <<enum|Expired>> and a <<event|Watchdog!>> event will be triggered. <<object>> will not be restarted, meaning that the <<param|RemainingTimerValue>> will stay at 0 until the <<command|Reset()>> command is invoked.",
					"default": "Inactive",
					"datatype": "string",
					"enumerations": [
						"Inactive",
						"Active",
						"Expired"
					]
				},
				"Reference": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The <<param>> consists of a Path Name or Search Path that determines the element(s) of the data model that the <<object>> is applicable to. When more than one <<param>> is used, the Watchdog timer will only be stopped if all Parameters, referenced by <<param>> are updated. If one of the referenced Parameters is not updated, either with the same or different value, an <<event|Watchdog!>> will be generated. If all parameters, referenced by <<param>>, are updated, the <<param|RemainingTimerValue>> is set to the value of the <<param|ReloadTimerValue>>.",
					"datatype": "string"
				},
				"SeverityIndication": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Provides an indication of the severity which will be included in the generated <<event|Watchdog!>> event when the <<object>> instance expires.",
					"default": "Info",
					"datatype": "string",
					"enumerations": [
						"Info",
						"Minor",
						"Major",
						"Critical"
					]
				},
				"Controller": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<reference|the <<object|#.Controller>> instance that created <<object>>|delete>> The value of this parameter is automatically populated by the USP Agent upon <<object>> creation using the reference to the USP Controller that created the instance. The USP Controller referenced by this parameter also defines the set of permissions to use when evaluating the Watchdog. Furthermore, only the USP Controller referenced by this parameter will receive a <<event|Watchdog!>> Event (assuming it has an associated Subscription), even if another USP Controller has an associated Subscription.",
					"datatype": "string"
				},
				"Reset()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"Watchdog!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"Reference": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The parameter <<param|#.Reference>> for which the Watchdog has been triggered.",
							"datatype": "string"
						},
						"ReloadTimerValue": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The <<param|#.ReloadTimerValue>> Value in <<units>>.",
							"datatype": "unsignedInt",
							"unit": "seconds"
						},
						"SeverityIndication": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The <<param|#.SeverityIndication>> Value.",
							"datatype": "string"
						}
					}
				}
			},
			"Device.LocalAgent.Controller.{i}.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "Each instance of this table represents a USP Controller that has access to this USP Agent. On the deletion of an entry from this table, the Agent MUST send the ObjectDeletion notification to all subscribed recipients, even if the recipient is the deleted Controller itself. This notification is the last notification sent to this Controller.",
				"uniqueKeys": [
					"EndpointID",
					"Alias"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
					"datatype": "_AliasUSP"
				},
				"EndpointID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The unique USP identifier for this USP Controller.",
					"datatype": "string"
				},
				"ControllerCode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Information about the configuration state of an Agent as it pertains to the <<object>> instance. This is not information related to an operators installation or usage of the protocol, that information is maintained in <<param|ProvisioningCode>>. This parameter could be used in scenarios where the Controller needs to perform some kind of initialization or periodic configuration monitoring. For example, a Controller might perform some initial configuration of an Agent on first contact (perhaps to configure the Subscriptions). The Controller could inspect this parameter to determine the current state of the Agents configuration, allowing the Controller to streamline the configuration process.",
					"datatype": "string",
					"range": [
						{
							"max": 128
						}
					]
				},
				"ProvisioningCode": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Identifying information which MAY be used by the <<object>> instance to determine <<object>> instance specific customization and provisioning parameters.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Enable/Disable this <<object>> instance. If the Controller instance is to be disabled, the Agent MUST send the ValueChange notification to all subscribed recipients, even if the recipient is the disabled Controller itself. This notification is the last notification sent to this Controller until it is enabled again. The USP Endpoint MUST terminate the MTP connection. When <<false>>, messages (notifications) are not sent to the remote endpoint represented by this <<object>> instance, and any MTP session establishment are refused.",
					"default": "false",
					"datatype": "boolean"
				},
				"AssignedRole": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "<<list|each entry is a Role that has been assigned to this <<object>> instance by means other than the <<param|#.ControllerTrust.Credential.<i>.Role>> parameter>>",
					"list": {
						"datatype": "string"
					}
				},
				"InheritedRole": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<list|each entry is a Role that has been assigned to this <<object>> instance from the <<param|#.ControllerTrust.Credential.<i>.Role>> parameter associated with the CA credential (<<param|#.ControllerTrust.Credential.<i>.Credential>>) used to validate the Controller certificate>>",
					"list": {
						"datatype": "string"
					}
				},
				"Credential": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "<<nolist>><<noreference>> Comma-separated list of strings, the set of certificates from <<object|#.Certificate.<i>>> that a Controller can present for use in authenticating the identity of this <<object>> instance.",
					"list": {
						"datatype": "string"
					}
				},
				"PeriodicNotifInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "If a Periodic Event Notification Subscription instance is associated with this USP Controller, then this is the duration in <<units>> of the interval for which the USP Agent MUST attempt to issue a Periodic Notification to the USP Controller.",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1
						}
					],
					"unit": "seconds"
				},
				"PeriodicNotifTime": {
					"type": "dateTime",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "If a Periodic Event Notification Subscription instance is associated with this USP Controller, then this is an absolute time reference in UTC to determine when the USP Agent will issue a Periodic Notification. Each Periodic Notification MUST occur at this reference time plus or minus an integer multiple of the <<param|PeriodicNotifInterval>>. <<param>> is used only to set the phase of the Periodic Event Notifications. The actual value of <<param>> can be arbitrarily far into the past or future. For example, if <<param|PeriodicNotifInterval>> is 86400 (a day) and if <<param>> is set to UTC midnight on some day (in the past, present, or future) then Periodic Notifications will be sent every day at UTC midnight. These MUST begin on the very next midnight, even if <<param>> refers to a day in the future. The Unknown Time value defined in <<bibref|TR-106|section 3.2>> indicates that no particular time reference is specified. That is, the USP Agent MAY locally choose the time reference, and needs only to adhere to the specified <<param|PeriodicNotifInterval>>. If absolute time is not available to the USP Agent, its Periodic Notification behavior MUST be the same as if the <<param>> parameter was set to the Unknown Time value.",
					"datatype": "dateTime"
				},
				"USPNotifRetryMinimumWaitInterval": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "This parameter is related to the retry mechanism for Notifications. Configures the first retry wait interval, in <<units>>, as specified in <<bibref|TR-369|Section Responses to Notifications and Notification Retry>>. A value of 5 corresponds to the default behavior. The USP Agent MUST use a random value between <<param>> and (<<param>> * <<param|USPNotifRetryIntervalMultiplier>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
					"default": "5",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1,
							"max": 65535
						}
					],
					"unit": "seconds"
				},
				"USPNotifRetryIntervalMultiplier": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "This parameter is related to the retry mechanism for Notifications. Configures the retry interval multiplier as specified in <<bibref|TR-369|Section Responses to Notifications and Notification Retry>>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. A value of 2000 corresponds to the default behavior. The USP Agent MUST use a random value between <<param|USPNotifRetryMinimumWaitInterval>> and (<<param|USPNotifRetryMinimumWaitInterval>> * <<param>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
					"default": "2000",
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 1000,
							"max": 65535
						}
					]
				},
				"ScheduleTimer()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"DelaySeconds": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The number of <<units>> from the time this command is invoked until the Agent initiates a Timer! Event notification (based on the associated subscriptions).",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "seconds"
						}
					}
				},
				"MTPNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"Timer!": {
					"type": "event",
					"protocols": [
						"usp"
					],
					"output": {
						"CommandKey": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The command_key supplied when requesting the timer event.",
							"datatype": "string"
						}
					}
				},
				"AddMyCertificate()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "An optional input the Controller can use to specify the <<param|###.Certificate.<i>.Alias>> value for the added entry. If provided as an input and the value already exists in <<object|###.Certificate.<i>>>, this command will fail.",
							"datatype": "Alias",
							"range": [
								{
									"max": 64
								}
							]
						},
						"Certificate": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The X.509 certificate in Privacy-enhanced Electronic Mail (PEM) <<bibref|RFC7468>> format.",
							"datatype": "string",
							"range": [
								{
									"max": 65535
								}
							]
						}
					}
				},
				"SendOnBoardRequest()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"BootParameterNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"OnBoardingComplete": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Signifies whether the onboarding is completed for this Controller. When set to <<false>>, the Controller hasnt completed its onboarding procedure and the agent MUST send it an OnBoardRequest USP Notification when the Controllers <<param|Enable>> parameter is <<true>>. This OnBoardRequest MUST be retried until the Controller confirms it has received the request as required by <<bibref|TR-369|R-NOT.5>> and <<bibref|TR-369|R-NOT.6>>. The value of this parameter SHOULD be set to <<true>> by the Controller when it is done with its onboarding procedure or it can be set by the Agent itself when it knows the onboarding has been completed. While the value of this parameter is <<false>> it will also restart the OnBoardRequest procedure according to the <<param|OnBoardingRestartTime>> parameter.",
					"default": "false",
					"datatype": "boolean"
				},
				"OnBoardingRestartTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "This parameter is used to configure a linear retry mechanism for the OnBoardRequest. It represents the time in <<units>> before the OnBoardRequest is retried. The OnBoardRequest notification is a USP notification that requires a NotifyResponse message like any other notification that needs to be retried. OnBoardRequest notifications must follow the default retry mechanism as required by <<bibref|TR-369|R-NOT.6>> until the Controller has confirmed the notification with a NotifyResponse message. However, the onboarding procedure typically requires several actions from the Controller before it can be considered as complete and things can go wrong during this procedure. The value of this parameter can be set to configure how long the Agent should wait before it sends another OnBoardRequest. This timer kicks in as soon as the Agent receives the NotifyResponse message for the previous OnBoardRequest. The timer is cancelled when the <<param|OnBoardingComplete>> parameter is set to <<true>>. When the value of this parameter is set to 0, the OnBoardRequest is not retried after the notification retry mechanism has been completed.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"Device.LocalAgent.Controller.{i}.MTP.{i}.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "Each instance of this table represents a MTP used by this Controller.",
					"uniqueKeys": [
						"Protocol",
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
						"datatype": "_AliasUSP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Enable/Disable this <<object>> instance. If this <<object>> instance is to be disabled and currently used for communication with the requesting controller, the agent has to send the request response first, before disabling it.",
						"default": "false",
						"datatype": "boolean"
					},
					"Protocol": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The Message Transfer Protocol (MTP) to be used for communications by a USP Endpoint.",
						"datatype": "string"
					},
					"Order": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The order (relative priority) to use when determining which <<object>> to use for communicating to the Controller. A value of 1 indicates the highest precedence. For each configured <<object>>, the instance with the lowest value is attempted first. When more than one <<object>> instance has the same value, then each instance with the same value SHOULD be attempted at the same time. The value of <<param>> on creation of a <<object>> table entry MUST be one greater than the largest current value (initially assigned the lowest precedence).",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1
							}
						]
					},
					"Device.LocalAgent.Controller.{i}.MTP.{i}.CoAP.": {
						"type": "object",
						"obsolete": true,
						"protocols": [
							"usp"
						],
						"description": "If the USP Endpoint uses the CoAP Message Transfer Protocol (MTP), then this object contains CoAP specific configuration parameters. <<deprecated|2.15|because the CoAP MTP was deprecated in USP 1.2>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"access": false,
						"array": false,
						"Host": {
							"type": "string",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "The hostname or IP Address of the Controllers CoAP server.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Port": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "The port number used by the Controllers CoAP Server to receive USP messages.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"Path": {
							"type": "string",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "The path that is used by the Controllers CoAP Server in order to receive USP messages.",
							"datatype": "string"
						},
						"EnableEncryption": {
							"type": "boolean",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "When <<true>>, encryption MUST be used as specified in <<bibref|TR-369|Section MTP Message Encryption>>.",
							"default": "true",
							"datatype": "boolean"
						}
					},
					"Device.LocalAgent.Controller.{i}.MTP.{i}.STOMP.": {
						"type": "object",
						"protocols": [
							"usp"
						],
						"description": "If the USP Endpoint uses the STOMP Message Transfer Protocol (MTP), then this object contains STOMP Client specific configuration parameters related to how this Controller communicates with the STOMP Server.",
						"access": false,
						"array": false,
						"Reference": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "A reference to the STOMP Connection used by this Controller when communicating via the STOMP MTP.",
							"datatype": "string"
						},
						"Destination": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The STOMP destination where the Controller will be listening to incoming USP messages.",
							"datatype": "string"
						},
						"USPServiceRef": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"usp"
							],
							"description": "A reference to the USP Service associated with this Agent when communicating via the STOMP MTP.",
							"datatype": "string"
						}
					},
					"Device.LocalAgent.Controller.{i}.MTP.{i}.WebSocket.": {
						"type": "object",
						"protocols": [
							"usp"
						],
						"description": "If the USP Endpoint uses the WebSocket Message Transfer Protocol (MTP) as a WebSocket client, then this object contains WebSocket specific configuration parameters.",
						"access": false,
						"array": false,
						"Host": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The hostname or IP Address of the Controllers WebSocket server.",
							"datatype": "string",
							"range": [
								{
									"max": 256
								}
							]
						},
						"Port": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The port number used by the Controllers WebSocket server to receive USP messages.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							]
						},
						"Path": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The service path that is provided by the Controllers WebSocket server in order to exchange USP messages. The value MUST be used as defined in <<bibref|RFC3986|Section 3.3>>.",
							"datatype": "string"
						},
						"IsEncrypted": {
							"type": "boolean",
							"read": true,
							"write": false,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "This parameter represents whether or not communications that utilize this <<object>> object instance are encrypted. <<deprecated|2.14|because the <<param|EnableEncryption>> parameter will dictate whether this <<object>> is or is not encrypted>> <<obsoleted|2.16>> <<deleted|2.17>>",
							"datatype": "boolean"
						},
						"EnableEncryption": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "When <<true>>, encryption MUST be used for this MTP instance.",
							"default": "true",
							"datatype": "boolean"
						},
						"KeepAliveInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The duration in <<units>> between when WebSocket ping control frames are transmitted by the Agents WebSocket client to the Controllers WebSocket server.",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1
								}
							],
							"unit": "seconds"
						},
						"CurrentRetryCount": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"usp"
							],
							"description": "The current retry count of the session. When zero (0), the session is not in a retry state.",
							"datatype": "unsignedInt"
						},
						"SessionRetryMinimumWaitInterval": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Configures the first retry wait interval, in <<units>>, as specified in <<bibref|TR-369|Section WebSocket Session Retry>>. The USP Agent MUST use a random value between <<param>> and (<<param>> * <<param|SessionRetryIntervalMultiplier>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
							"default": "5",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1,
									"max": 65535
								}
							],
							"unit": "seconds"
						},
						"SessionRetryIntervalMultiplier": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Configures the retry interval multiplier as specified in <<bibref|TR-369|Section WebSocket Session Retry>>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. The USP Agent MUST use a random value between <<param|SessionRetryMinimumWaitInterval>> and (<<param|SessionRetryMinimumWaitInterval>> * <<param>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
							"default": "2000",
							"datatype": "unsignedInt",
							"range": [
								{
									"min": 1000,
									"max": 65535
								}
							]
						},
						"USPServiceRef": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"usp"
							],
							"description": "A reference to the USP Service associated with this Agent when communicating via the WebSocket MTP.",
							"datatype": "string"
						},
						"Reset()": {
							"type": "command",
							"async": false,
							"protocols": [
								"usp"
							]
						}
					},
					"Device.LocalAgent.Controller.{i}.MTP.{i}.MQTT.": {
						"type": "object",
						"protocols": [
							"usp"
						],
						"description": "If the USP Endpoint uses the MQTT Message Transfer Protocol (MTP), then this object contains MQTT Client specific configuration parameters related to how this Controller communicates with the MQTT broker.",
						"access": false,
						"array": false,
						"Reference": {
							"type": "string",
							"read": true,
							"write": true,
							"obsolete": true,
							"protocols": [
								"usp"
							],
							"description": "A reference to the MQTT Client used by this Controller when communicating via the MQTT MTP. <<deprecated|2.16|because <<param|AgentMTPReference>> was added>> <<obsoleted|2.18>> <<deleted|2.19>>",
							"datatype": "string"
						},
						"Topic": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The topic name the USP Controller has subscribed to, to be used for Notify messages send by the USP Agent.",
							"datatype": "string",
							"range": [
								{
									"max": 65535
								}
							]
						},
						"PublishRetainResponse": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If set to <<true>> the Agent MUST set the RETAIN flag in MQTT PUBLISH messages carrying a USP Response Message to 1, unless the MQTT server sent Retain Available = 0 (MQTT 5.0) in its CONNACK (in which case, the Agent MUST set the RETAIN flag to 0).",
							"default": "false",
							"datatype": "boolean"
						},
						"PublishRetainNotify": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "If set to <<true>> the Agent MUST set the RETAIN flag in MQTT PUBLISH messages carrying a USP Notify Message to 1, unless the MQTT server sent Retain Available = 0 (MQTT 5.0) in its CONNACK (in which case, the Agent MUST set the RETAIN flag to 0).",
							"default": "false",
							"datatype": "boolean"
						},
						"AgentMTPReference": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference|the <<object|###.MTP.>> object instance containing the Response Topic used by this Controller when communicating via the MQTT MTP>>",
							"datatype": "string"
						},
						"USPServiceRef": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"usp"
							],
							"description": "A reference to the USP Service associated with this Agent when communicating via the MQTT MTP.",
							"datatype": "string"
						}
					},
					"Device.LocalAgent.Controller.{i}.MTP.{i}.UDS.": {
						"type": "object",
						"protocols": [
							"usp"
						],
						"description": "If the USP Endpoint uses the Unix Domain Socket (UDS) Message Transfer Protocol (MTP), then this object contains UDS specific configuration parameters related to how this Agent communicates with a Controller on another USP Endpoint. An example of how to set up this MTP can be found in <<bibref|TR-369| Section Example Data Models for a USP Broker and USP Services>>.",
						"access": false,
						"array": false,
						"UnixDomainSocketRef": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "A reference to the Unix Domain Socket used by this Agent when communicating via the UDS MTP.",
							"datatype": "string"
						},
						"USPServiceRef": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"usp"
							],
							"description": "A reference to the USP Service associated with this Agent when communicating via the UDS MTP.",
							"datatype": "string"
						}
					}
				},
				"Device.LocalAgent.Controller.{i}.TransferCompletePolicy.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "The policy defined in this object determines the conditions under which the USP Agent notifies a USP Controller, that has an appropriate Subscription, of the completion of file transfers.",
					"access": false,
					"array": false,
					"ResultTypeFilter": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Indicates the transfer results that MUST be included when the USP Agent notifies a USP Controller of file transfers. Transfer results omitted from this list MUST NOT be included when the USP Agent notifies a USP Controller.",
						"datatype": "string",
						"enumerations": [
							"Success",
							"Failure",
							"Both"
						]
					}
				},
				"Device.LocalAgent.Controller.{i}.BootParameter.{i}.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "This table provides the Controller with the ability to dictate the Parameters that are delivered via Boot! events. Any Parameter (identified by <<param|ParameterName>>) contained in this table MUST be included within the param_map element of the Boot! event.",
					"uniqueKeys": [
						"ParameterName",
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
						"datatype": "_AliasUSP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Enables or disables this <<object>>.",
						"default": "false",
						"datatype": "boolean"
					},
					"ParameterName": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A pattern that describes the Parameter(s) to be included in the param_map element of a Boot! event. Specifically, patterns with wildcards (an * character) in place of Instance Identifiers are allowed. If the pattern does not match any existing Parameters at the time that the Agent is creating the Boot! event, then this <<object|#.BootParameter>> instance is not included in the param_map of the Boot! event.",
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Device.LocalAgent.Controller.{i}.E2ESession.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "The <<object>> object represents the End to End (E2E) Session Context functionality for this <<object|##.Controller.<i>>> object instance.",
					"access": false,
					"array": false,
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"usp"
						],
						"description": "Enable/Disable this <<object>> instance. When <<true>>, Session Context is used when exchanging USP Records with the remote endpoint represented by this <<object|##.Controller.<i>>> object instance. When <<false>>, Session Context is not used when exchanging USP Records with the remote endpoint represented by this <<object|##.Controller.<i>>> object instance. <<deprecated|2.15|because it is replaced by <<param|SessionMode>>>> <<obsoleted|2.17>> <<deleted|2.18>>",
						"default": "false",
						"datatype": "boolean"
					},
					"SessionMode": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The desired usage mode of an End-to-End Session Context with this particular Controller.",
						"datatype": "string",
						"enumerations": [
							"Require",
							"Allow",
							"Forbid"
						]
					},
					"Status": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"usp"
						],
						"description": "The current status of the Session Context.",
						"datatype": "string",
						"enumerations": [
							"Up",
							"Negotiating",
							"Down"
						]
					},
					"SessionExpiration": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The duration in <<units>> in which the current Session Context will expire since the last session-related activity (e.g., Message sent or received, Session Context start or restart). A value of 0 means session expiration is disabled.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0
							}
						],
						"unit": "seconds"
					},
					"SessionRetryMinimumWaitInterval": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Configures the first retry wait interval, in <<units>>, as specified in <<bibref|TR-369|Section Failure Handling in the Session Context>>. A value of 5 corresponds to the default behavior that is described in <<bibref|TR-369>>. The USP Agent MUST use a random value between <<param>> and (<<param>> * <<param|SessionRetryIntervalMultiplier>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
						"default": "5",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1,
								"max": 65535
							}
						],
						"unit": "seconds"
					},
					"SessionRetryIntervalMultiplier": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Configures the retry interval multiplier as specified in <<bibref|TR-369|Section Failure Handling in the Session Context>>. This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535. A value of 2000 corresponds to the default behavior that is described in <<bibref|TR-369>>. The USP Agent MUST use a random value between <<param|SessionRetryMinimumWaitInterval>> and (<<param|SessionRetryMinimumWaitInterval>> * <<param>> / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.",
						"default": "2000",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 1000,
								"max": 65535
							}
						]
					},
					"CurrentRetryCount": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"usp"
						],
						"description": "The current retry count of the Session Context. When zero (0), the Session Context is not in a retry state.",
						"datatype": "unsignedInt"
					},
					"SegmentedPayloadChunkSize": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"obsolete": true,
						"protocols": [
							"usp"
						],
						"description": "The maximum size, in <<units>>, of the Record (payload(s) and headers) that can be transmitted to the remote endpoint. The smallest size, which can be configured is 512 bytes. A value of 0 means that the segmentation function is effectively disabled. <<deprecated|2.16|because it is replaced by <<param|MaxUSPRecordSize>>>> <<obsoleted|2.18>> <<deleted|2.19>>",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 512
							}
						],
						"unit": "bytes"
					},
					"MaxUSPRecordSize": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The maximum size allowed by the MTP, in <<units>>, a USP Record (payload(s) and header fields) that can be transmitted to the remote endpoint. When a size is set, a payload too large to transfer is segmented into smaller payloads according to the maximal size the USP Record can be. The smallest size, which can be configured, is 512 bytes. A value of 0 means that the segmentation function of payloads is effectively disabled.",
						"default": "0",
						"datatype": "unsignedInt",
						"range": [
							{
								"min": 0,
								"max": 0
							},
							{
								"min": 512
							}
						],
						"unit": "bytes"
					},
					"MaxRetransmitTries": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The maximum times that a USP Endpoint attempts to retransmit the requested USP Record to the remote endpoint. If the maximum tries is met for any requested USP Record, the USP Endpoint will restart the E2E Session. A value of -1 means that the USP Endpoint will always attempt to retransmit the requested USP Record. A value of 0 means that the USP Endpoint will not attempt to retransmit the requested USP Record and will restart the E2E Session.",
						"default": "0",
						"datatype": "int",
						"range": [
							{
								"min": -1,
								"max": 10
							}
						]
					},
					"PayloadSecurity": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The security mechanism to use when exchanging the payload of the Record with the remote endpoint.",
						"default": "TLS",
						"datatype": "string",
						"enumerations": [
							"Plaintext",
							"TLS"
						]
					},
					"Reset()": {
						"type": "command",
						"async": false,
						"protocols": [
							"usp"
						]
					}
				}
			},
			"Device.LocalAgent.Certificate.{i}.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "Each instance of this table represents information related to a X.509 certificate (see <<bibref|RFC5280>>) of a Controller or Certificate Authority. Instances are referenced from <<param|#.Controller.<i>.Credential>> and <<param|#.ControllerTrust.Credential.<i>.Credential>>.",
				"uniqueKeys": [
					"SerialNumber",
					"Issuer",
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
					"datatype": "_AliasUSP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Enable/Disable this <<object>> instance.",
					"datatype": "boolean"
				},
				"SerialNumber": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The Serial Number field in an X.509 certificate, see <<bibref|RFC5280>>.",
					"datatype": "string",
					"range": [
						{
							"max": 64
						}
					]
				},
				"Issuer": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The Issuer field in an X.509 certificate, see <<bibref|RFC5280>>; i.e. the Distinguished Name (DN) of the entity who has signed the certificate.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Delete()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				},
				"GetFingerprint()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"FingerprintAlgorithm": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The algorithm to be used to calculate the requested fingerprint. The value MUST be one the Agent supports, as noted in <<param|###.SupportedFingerprintAlgorithms>>.",
							"datatype": "string",
							"enumerations": [
								"SHA-1",
								"SHA-224",
								"SHA-256",
								"SHA-384",
								"SHA-512"
							]
						}
					},
					"output": {
						"Fingerprint": {
							"type": "hexBinary",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The value of the fingerprint.",
							"datatype": "hexBinary",
							"range": [
								{
									"max": 128
								}
							]
						}
					}
				}
			},
			"Device.LocalAgent.ControllerTrust.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "This object contains information that an Agent applies when establishing a trust relationship with a Controller.",
				"access": false,
				"array": false,
				"UntrustedRole": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "<<list|each entry is a Role that is associated with Controllers whose identity cannot be authenticated. The value of the <<param>> parameter is appended to the <<param|#.Controller.<i>.AssignedRole>> parameter>> In some instances, this policy is set by the Agent and cannot be modified by Controllers. If the Agent does not allow modification of this parameter, the Agent MUST respond with an error to the request to set this parameter.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 1
						}
					}
				},
				"BannedRole": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The Role that is associated with Controllers indicate banned access. When assigned to a Controller or associated with an entry in the <<object|Credential>> table, this MUST be the only value of the <<param>> parameter of the <<param|#.Controller.<i>.AssignedRole>> parameter. The Agent SHOULD refuse to accept USP messages from, or send USP messages to, any Controller that has this Role.",
					"datatype": "string"
				},
				"SecuredRoles": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "<<list|each entry is a Role that is associated with Controllers to indicate their access to secured parameters (e.g. <<param|.WiFi.AccessPoint.<i>.Security.WEPKey>>). The value of the <<param>> parameter is appended to the <<param|#.Controller.<i>.AssignedRole>> parameter>> Only Controllers with a secured role assigned (and the appropriate permissions set) MUST be able to have access to secured parameters content.",
					"list": {
						"datatype": "string"
					}
				},
				"TOFUAllowed": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "When <<true>>, Agent has active policy that allows for self-signed certificates and certificates from unknown Certificate Authorities (CAs) to be trusted on first use (TOFU).",
					"datatype": "boolean"
				},
				"TOFUInactivityTimer": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Inactivity timer in <<units>>. This timer is started when trust on first use (TOFU) policy is used to accept a Controller certificate. If no USP Message is received before this timer elapses, the Agent MUST tear down the MTP connection and underlying (D)TLS session. A value of 0 means that the TOFU inactivity timer is effectively disabled.",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"RequestChallenge()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"ChallengeRef": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "<<reference|the <<object|#.Challenge>> object instance for this request>>",
							"datatype": "string"
						},
						"RequestExpiration": {
							"type": "int",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The expiration period, in <<units>>, where the Controller request that this challenge request expire (times-out). A value of zero indicates that the challenge request will never expire. The default is 900 <<units>>.",
							"datatype": "int",
							"range": [
								{
									"min": 0
								}
							],
							"unit": "seconds"
						}
					},
					"output": {
						"Instruction": {
							"type": "base64",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The value of the <<param|##.Challenge.<i>.Instruction>> parameter associated with the requested challenge in the <<param|#.Input.ChallengeRef>> parameter.",
							"datatype": "base64"
						},
						"InstructionType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The media type with a format as defined by <<bibref|RFC6838>> of the content of the <<param|Instruction>> parameter. The allowable values of the media type are defined by the <<param|##.Challenge.<i>.InstructionType>> parameter.",
							"datatype": "string"
						},
						"ValueType": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The media type with a format as defined by <<bibref|RFC6838>> of the content of the <<param|##.Challenge.<i>.Value>> parameter. The allowable values of the media type are defined by the <<param|##.Challenge.<i>.ValueType>> parameter.",
							"datatype": "string"
						},
						"ChallengeID": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The challenge identifier the Controller uses in the ChallengeResponse command to correlate this request with a response.",
							"datatype": "string"
						}
					}
				},
				"RoleNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"CredentialNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ChallengeNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<numentries>>",
					"datatype": "unsignedInt"
				},
				"ChallengeResponse()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					],
					"input": {
						"ChallengeID": {
							"type": "string",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The challenge identifier the Controller uses to correlate the challenge request with a response.",
							"datatype": "string"
						},
						"Value": {
							"type": "base64",
							"read": true,
							"write": true,
							"mandatory": true,
							"protocols": [
								"usp"
							],
							"description": "The value of the challenge that is specific to the type of challenge. The challenge value is provided by the external party to the Controller.",
							"datatype": "base64"
						}
					}
				},
				"Device.LocalAgent.ControllerTrust.Role.{i}.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "Each instance of this table represents a Role that can be assigned to or inherited by a Controller via the Controller Trust mechanism. The Role contains a set of permissions that determine how the Controller can interact with the data model. If multiple permission entries associated with this table contain a Target that evaluates to the same instantiated Object/Parameter for multiple Roles, then the permissions to be used are a union of the identified permissions.",
					"uniqueKeys": [
						"Name",
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
						"datatype": "_AliasUSP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Enable/Disable this <<object>> instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"Name": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The Role assigned to this <<object>> instance.",
						"datatype": "string"
					},
					"PermissionNumberOfEntries": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"usp"
						],
						"description": "<<numentries>>",
						"datatype": "unsignedInt"
					},
					"Device.LocalAgent.ControllerTrust.Role.{i}.Permission.{i}.": {
						"type": "object",
						"protocols": [
							"usp"
						],
						"description": "Each instance of this table represents the permissions that are extended to a set of Targets for a specified Role. If there are multiple entries in this table for a specific Role where the Targets overlap, the permissions for the entry with the highest value takes priority over all others.",
						"uniqueKeys": [
							"Order",
							"Alias"
						],
						"access": true,
						"array": true,
						"Alias": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
							"datatype": "_AliasUSP"
						},
						"Enable": {
							"type": "boolean",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "Enable/Disable this <<object>> instance.",
							"default": "false",
							"datatype": "boolean"
						},
						"Order": {
							"type": "unsignedInt",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The order (relative priority) to use when determining the permissions for overlapping Targets that are contained within the same <<object|#.>>. The larger value of this parameter takes priority over a permission with a smaller value (i.e., 0 has the lowest priority).",
							"default": "0",
							"datatype": "unsignedInt"
						},
						"Targets": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "<<list|each entry is a target to which the value of the permissions parameters are assigned>> When an entry is a value of a Partial Path, the permissions are associated to that Object and any child Object/Parameter. When the value of an entry is an Object instance then the permissions are associated to all Parameters of the Object instance. When an entry is a value of a Search Path as defined in <<bibref|TR-369>> that resolves to zero or more Parameter Paths, then all Parameter Paths that result from the evaluation of the Search Path are subject to the permissions assigned by this <<object>> instance.",
							"default": "[]",
							"list": {
								"datatype": "string"
							}
						},
						"Param": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The permissions of a Role for the specified Targets. A string of 4 characters where each character represents a permission (`r` for Read, `w` for Write, `x` for Execute, and `n` for Notify). The string is always in the same order (`rwxn`) and the lack of a permission is signified by a `-` character (e.g., `r--n`). The following describes the meaning of the permissions for Parameter type of Targets: # Read: Grants the capability to read the value of the Parameter via Get and read the meta-information of the Parameter via GetSupportedDM. # Write: Grants the capability to update the value of the Parameter via Add or Set. # Execute: Grants no capabilities; Parameters can not be executed. # Notify: Grants the capability to receive Notify Messages of type ValueChange for this Parameter.",
							"default": "----",
							"datatype": "string",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						},
						"Obj": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The permissions of a Role for the specified Targets. A string of 4 characters where each character represents a permission (`r` for Read, `w` for Write, `x` for Execute, and `n` for Notify). The string is always in the same order (`rwxn`) and the lack of a permission is signified by a `-` character (e.g., `r--n`). The following describes the meaning of the permissions for Object type of Targets: # Read: Grants the capability for Get to resolve Object paths. Grants the capability to read the meta-information of the Object via GetSupportedDM. # Write: Grants no capabilities for Static Objects. Grants the capability to create a new instance of a Multi-Instanced Object via Add (e.g. Device.LocalAgent.Controller.). # Execute: Grants no capabilities; Objects are not executable and Commands are controlled by the CommandEventPermissions. # Notify: Grants the capability to receive Notify Messages of type ObjectCreation for this Object (multi-instance objects only).",
							"default": "----",
							"datatype": "string",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						},
						"InstantiatedObj": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The permissions of a Role for the specified Targets. A string of 4 characters where each character represents a permission (`r` for Read, `w` for Write, `x` for Execute, and `n` for Notify). The string is always in the same order (`rwxn`) and the lack of a permission is signified by a `-` character (e.g., `r--n`). The following describes the meaning of the permissions for Instantiated Object type of Targets: # Read: Grants the capability to read the instance numbers and unique keys of the Instantiated Object via GetInstances. # Write: Grants the capability to remove an existing instance of an Instantiated Object via Delete (e.g. Device.LocalAgent.Controller.1.). # Execute: Grants no capabilities; Object Instances are not executable and Commands are controlled by the CommandEventPermissions. # Notify: Grants the capability to receive Notify Messages of type ObjectDeletion for this Instantiated Object.",
							"default": "----",
							"datatype": "string",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						},
						"CommandEvent": {
							"type": "string",
							"read": true,
							"write": true,
							"protocols": [
								"usp"
							],
							"description": "The permissions of a Role for the specified Targets. A string of 4 characters where each character represents a permission (`r` for Read, `w` for Write, `x` for Execute, and `n` for Notify). The string is always in the same order (`rwxn`) and the lack of a permission is signified by a `-` character (e.g., `r--n`). The following describes the meaning of the permissions for Command and Event type of Targets: # Read: Grants the capability to read the meta-information of the Command (including input and output arguments) and Event (including arguments) via GetSupportedDM. # Write: Grants no capabilities; Commands are executed instead of written to and Events are read only. # Execute: Grants the capability to execute the Command via Operate, but grants no capabilities to an Event. # Notify: Grants the capability to receive Notify Messages of type OperationComplete for this Event or Command.",
							"default": "----",
							"datatype": "string",
							"range": [
								{
									"min": 4,
									"max": 4
								}
							]
						}
					}
				},
				"Device.LocalAgent.ControllerTrust.Credential.{i}.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "Each instance of this table represents a trusted credential. The credential can be that of a certificate authority (CA) for a Controller whose EndpointID is unknown. When a credential is supplied to the Agent by a Controller during authentication, the credentials in this table are used to determine if any of the supplied certificates (including those in the chain of trust) are considered trusted. If the Controller authenticated via an entry in this table is not previously known to the Agent, the Roles specified in the <<param|Role>> parameter might be automatically applied, depending on the value of the <<param|AllowedUses>> parameter.",
					"uniqueKeys": [
						"Credential",
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
						"datatype": "_AliasUSP"
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Enable/Disable this <<object>> instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"Role": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "<<nolist>> Comma-separated list of strings, the (set of) Role(s) applied to a Controller authenticated through this <<object>> instance. The roles are added to the Controllers current list of Roles by replacing the value of the <<param|##.Controller.<i>.InheritedRole>> parameter. If the Controller is already known to the Agent, with an associated Role, this parameter has no impact.",
						"list": {
							"datatype": "string"
						}
					},
					"Credential": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A reference to the <<object|##.Certificate.<i>>> instance for use in the authentication of certificates provided by a Controller and authorization of Controllers, and for authentication of certificates used for MTP encryption.",
						"datatype": "string"
					},
					"AllowedUses": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Identifies what usages the Certificate Authority (CA) authenticated by the associated credential is trusted to authorize.",
						"datatype": "string",
						"enumerations": [
							"MTP-only",
							"MTP-and-USP",
							"MTP-and-broker"
						]
					}
				},
				"Device.LocalAgent.ControllerTrust.Challenge.{i}.": {
					"type": "object",
					"protocols": [
						"usp"
					],
					"description": "Each instance of this table represents information that is used to challenge a Controller in order to assign a Role to the Controller or to determine the authenticity of a Certificate. The Controller requests a type of challenge from an Agent using the RequestChallenge command. The Agent returns the value of the <<param|Instruction>> for that type of challenge to the Controller which the Controller then provides a third-party. The third-party responds to the Instruction which the Controller then sends to the Agent using the ChallengeResponse command. The Agent verifies the response to the Challenges and executes an implementation specific Agent logic in order to establish trust with the Controller. This could include (but is not limited to): *Assignment of roles to the Controller is done by appending the non-duplicate roles of the <<param|Role>> parameter to the value of the <<param|##.Controller.<i>.AssignedRole>> parameter. *Use the Controllers certificate to which the challenge response was received in order to authenticate the identity of the Controller.",
					"uniqueKeys": [
						"Alias"
					],
					"access": true,
					"array": true,
					"Alias": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
						"datatype": "_AliasUSP"
					},
					"Description": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The description of this <<object>> instance.",
						"datatype": "string"
					},
					"Role": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "<<nolist>> Comma-separated list of strings, the (set of) role(s) appended (non-duplicate values only) to the value of the <<param|##.Controller.<i>.AssignedRole>> parameter.",
						"list": {
							"datatype": "string"
						}
					},
					"Enable": {
						"type": "boolean",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Enable/Disable this <<object>> instance.",
						"default": "false",
						"datatype": "boolean"
					},
					"Type": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The type of challenge that will be verified from the challenge response provided by the third-party through the Controller.",
						"datatype": "string",
						"enumerations": [
							"Passphrase"
						]
					},
					"Value": {
						"type": "base64",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The value of the challenge that is specific to the type of challenge.",
						"datatype": "base64"
					},
					"ValueType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The media type with a format as defined by <<bibref|RFC6838>> of the content of the <<param|Value>> parameter.",
						"datatype": "string",
						"enumerations": [
							"text/plain",
							"image/jpeg"
						]
					},
					"Instruction": {
						"type": "base64",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The instruction that is provided to the external party by the Controller requesting the challenge.",
						"datatype": "base64"
					},
					"InstructionType": {
						"type": "string",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The media type with a format as defined by <<bibref|RFC6838>> of the content of the <<param|Instruction>> parameter.",
						"datatype": "string",
						"enumerations": [
							"text/plain",
							"image/jpeg",
							"text/html"
						]
					},
					"Retries": {
						"type": "unsignedInt",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "The number of consecutive failed <<template|USP-CHALLENGE-RESPONSE>> attempts against this <<object>> instance (as determined by the <<template|USP-REQUEST-CHALLENGE>>.ChallengeRef associated with <<template|USP-CHALLENGE-RESPONSE>>.ChallengeID parameters) that are allowed before a <<param|LockoutPeriod>> is started for this <<object>> instance. Counts of failed attempts for a <<object>> instance are reset after a successful <<template|USP-CHALLENGE-RESPONSE>> for the <<object>> instance or after a started <<param|LockoutPeriod>> expires.",
						"datatype": "unsignedInt"
					},
					"LockoutPeriod": {
						"type": "int",
						"read": true,
						"write": true,
						"protocols": [
							"usp"
						],
						"description": "Once the <<param|Retries>> value has been reached by failed <<template|USP-CHALLENGE-RESPONSE>> attempts against this <<object>> instance (as determined by the <<template|USP-REQUEST-CHALLENGE>>.ChallengeRef associated with <<template|USP-CHALLENGE-RESPONSE>>.ChallengeID parameters), the value of this parameter represents the amount of time (in <<units>>) that the Agent will prevent any <<template|USP-CHALLENGE-RESPONSE>> or <<template|USP-REQUEST-CHALLENGE>> against this <<object>> instance from succeeding. Any attempt to issue a <<template|USP-REQUEST-CHALLENGE>> or <<template|USP-CHALLENGE-RESPONSE>> command where the associated <<template|USP-REQUEST-CHALLENGE>>.ChallengeRef points to this <<object>> instance during the lockout period will result in an Error response with 7002 as the error code. When a started lockout period has expired, the count of failed attempts for this <<object>> instance will be reset. If the Agent chooses to delete <<template|USP-CHALLENGE-RESPONSE>>.ChallengeID values for a locked out <<object>>, the Agent can send the 7004 error code for values it does not recognize. A value of zero means that a lockout period doesnt apply and the <<template|USP-REQUEST-CHALLENGE>> command can be attempted without the need to wait between failed challenges.",
						"default": "30",
						"datatype": "int",
						"range": [
							{
								"min": 0
							}
						],
						"unit": "seconds"
					}
				}
			},
			"Device.LocalAgent.Subscription.{i}.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "A Subscription dictates how a USP Agent issues USP Notification Messages to a USP Controller, executes an automated configuration action, or both, as controlled by <<param|TriggerAction>>.",
				"uniqueKeys": [
					"Alias",
					"Recipient",
					"ID"
				],
				"access": true,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
					"datatype": "_AliasUSP"
				},
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Enables/disables this <<object>>. A disabled entry MUST NOT be processed by the USP Agent.",
					"default": "false",
					"datatype": "boolean"
				},
				"Recipient": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "<<reference|the <<object|#.Controller>> instance that will receive the Notification associated with this <<object>>|delete>> The value of this parameter is automatically populated by the USP Agent upon <<object>> creation using the reference to the USP Controller that created the instance.",
					"datatype": "string"
				},
				"TriggerAction": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Determines the action to take when the monitored event occurs.",
					"default": "Notify",
					"datatype": "string",
					"enumerations": [
						"Notify",
						"Config",
						"NotifyAndConfig"
					]
				},
				"TriggerConfigSettings": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Each entry is a name-value pair representing the name of the data model parameter to configure and the value to configure it with. Each entry in the comma-separated list will use the following format: <Parameter Name>=<Parameter Value> The Parameter Value will be formatted per the value type, which means that string values will be quoted while unsignedInt values will be unquoted numeric values, etc.. When the monitored event occurs, then the <<param>> will be executed if the <<param|TriggerAction>> is set to <<enum|Config|TriggerAction>> or <<enum|NotifyAndConfig|TriggerAction>>.",
					"list": {
						"datatype": "string",
						"item": {
							"max": 16
						}
					}
				},
				"ID": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Unique identifier of the <<object>> itself, which is specific to the USP Controller that creates the instance of the <<object>>. This value is used as the subscription_id element of every Notification message from a USP Agent to a USP Controller caused by this subscription entry.",
					"datatype": "string",
					"range": [
						{
							"min": 1,
							"max": 64
						}
					]
				},
				"CreationDate": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time when this instance of <<object>> was created. This is internally used by the <<param|TimeToLive>> parameter to determine the expiration of this <<object>> instance. The value of this parameter is automatically populated by the USP Agent upon <<object>> creation.",
					"datatype": "dateTime"
				},
				"NotifType": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Type of Notification message that will be sent to the USP Controller specified by <<param|Recipient>> when this <<object>> is triggered.",
					"datatype": "string",
					"enumerations": [
						"ValueChange",
						"ObjectCreation",
						"ObjectDeletion",
						"OperationComplete",
						"Event"
					]
				},
				"ReferenceList": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Each entry in the list is a Path Name, Search Path, Command reference, or Event reference that determines the element(s) of the data model that the <<object>> is applicable to. Different values of the <<param|NotifType>> parameter will cause the <<object>> to interact with <<param>> differently. For example, an instance of <<object>> with <<enum|ValueChange|NotifType>> will utilize the value of this parameter differently than an instance with <<enum|Event|NotifType>>. Once the value of the <<param>> is written, the value cannot be changed as the <<object>> instance is considered to be immutable. If the value of a non-empty <<param>> parameter needs to change, the <<object>> instance MUST be deleted and a new <<object>> instance created. The following bullet points describe what is allowed as a value of <<param>> based on the different values of the <<param|NotifType>> parameter: * ValueChange: may be either a Path Name or Search Path; if an Object Path (one type of Path Name) then it is treated like a filter match such that all supported parameters in all objects below this point will be relevant for the subscription. * ObjectCreation: may be either a Path Name or Search Path as long as it only refers to a Multi-Instance Object; only the referenced Multi-Instance Objects will be relevant for the subscription. * ObjectDeletion: may be either a Path Name or Search Path as long as it only refers to instances of a Multi-Instance Object; only the referenced instances (wildcard references all instances over time) of the Multi-Instance Objects will be relevant for the subscription. * OperationComplete: may be either a Path Name, Search Path, or Command reference; if an Object Path (one type of Path Name) then it is treated like a filter match such that all supported data model commands in all objects below this point will be relevant for the subscription. * Event: may be either a Path Name, Search Path, or Event reference; if an Object Path (one type of Path Name) then it is treated like a filter match such that all supported Events in all objects below this point will be relevant for the subscription.",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 256
							}
						]
					}
				},
				"Persistent": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Determines whether or not this <<object>> remains after the USP Agent is restarted (either via a reset of the software or reboot of the underlying device). If <<true>>, this <<object>> stays in existence until either a Delete message removes it or the <<param|TimeToLive>> parameter expires. If <<false>>, this <<object>> is automatically removed by the USP Agent whenever it is restarted.",
					"default": "false",
					"datatype": "boolean"
				},
				"TimeToLive": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Specifies the duration of time (in <<units>>) that this <<object>> remains in existence. After <<param>> has expired, this <<object>> instance is automatically removed by the USP Agent. If the value of <<param>> is 0, then this parameter is ignored and this <<object>> stays in existence until either a Delete message removes it or the <<param|Persistent>> parameter determines that it needs to be removed. If the value of <<param>> is greater than 0, then this parameter determines the length of time (from <<object>> creation) until it will be automatically removed by the USP Agent (unless the <<param|Persistent>> parameter is <<false>> and the USP Agent is restarted, in which case it will be removed before the <<param>> expiration). NOTE: This parameter does not count down as time moves forward; it will always read back with the same value that it was last set to. If the USP Agent is incapable of maintaining absolute time then <<param>> will automatically expire if the USP Agent is restarted (either via a reset of the software or reboot of the underlying device) before <<param>> expiration.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "seconds"
				},
				"NotifRetry": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Specifies whether or not the USP Agent attempts to re-deliver the Notification in the event that it could not be delivered to the USP Controller. When <<param>> is <<true>>, the USP Agent MUST retry the delivery of the Notification. This implies that the Notification MUST be generated with the send_resp flag set to <<true>> such that the USP Agent knows when the Notification has been successfully delivered. The retry attempt(s) are performed using the retry algorithm defined in <<bibref|TR-369|Section Responses to Notifications and Notification Retry>>. When <<param>> is <<false>>, the USP Agent MUST NOT retry the delivery of the Notification, and SHOULD generate the notification with send_resp flag set to <<false>>.",
					"default": "false",
					"datatype": "boolean"
				},
				"NotifExpiration": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Specifies the duration of time (in <<units>>) that the Notification associated with this <<object>> will continue to be retried. After <<param>> has expired, if the Notification has still not been successfully delivered then the USP Agent MUST stop attempting to re-deliver the Notification. If <<param|NotifRetry>> is set to <<false>> then this parameter is ignored. If <<param|NotifRetry>> is set to <<true>> and the value of <<param>> is 0, then the USP Agent will attempt to re-deliver the Notification until it has been successfully delivered or until the USP Agent is restarted (either via a reset of the software or reboot of the underlying device). If <<param|NotifRetry>> is set to <<true>> and the value of <<param>> is greater than 0, then the USP Agent will attempt to re-deliver the Notification until either it has been successfully delivered, until the length of time (from the time the Notification was initially attempted to be delivered) specified in this parameter expires, or until the USP Agent is restarted (either via a reset of the software or reboot of the underlying device). NOTE: This parameter does not count down as time moves forward; it will always read back with the same value that it was last set to.",
					"default": "0",
					"datatype": "unsignedInt",
					"unit": "seconds"
				}
			},
			"Device.LocalAgent.Request.{i}.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "<<object>> instances are created using USP Operate messages. Only Operate messages with async=true will create a <<object>> instance in the data model. New instances of <<object>> are created with <<param|Status>> as <<enum|Requested|Status>>. Once the command of the Operate begins to be executed, then the the <<param|Status>> changes to <<enum|Active|Status>>. When the command of the Operate completes, then this <<object>> instance is removed from this table, but not before the <<param|Status>> transitions to either <<enum|Success|Status>> or <<enum|Error|Status>> depending on whether the command of the Operate completed successfully or not.",
				"uniqueKeys": [
					"Originator",
					"Command",
					"CommandKey",
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
					"datatype": "_AliasUSP"
				},
				"Originator": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The USP Endpoint Identifier that originated the command.",
					"datatype": "string"
				},
				"Command": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The command to be executed. This parameter is a Path Name that addresses a Command in an Object or Object Instance. The command is a result of the evaluation of the command argument of an Operate message.",
					"datatype": "string"
				},
				"CommandKey": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The command_key from the USP Operate message.",
					"datatype": "string"
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The operational status of the request to execute the command.",
					"datatype": "string",
					"enumerations": [
						"Requested",
						"Active",
						"Canceling",
						"Canceled",
						"Success",
						"Error"
					]
				},
				"Cancel()": {
					"type": "command",
					"async": false,
					"protocols": [
						"usp"
					]
				}
			}
		},
		"Device.Standby.": {
			"type": "object",
			"protocols": [
				"usp"
			],
			"description": "Capabilities of a Device as it pertains to entering a standby state.",
			"access": false,
			"array": false,
			"NetworkAware": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Indicates that the device is capable of maintaining a network connection and responding to communications via the network connection while in a standby state.",
				"datatype": "boolean"
			},
			"TimerAware": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Indicates that the device is capable of maintaining and responding to timers while in a standby state.",
				"datatype": "boolean"
			}
		},
		"Device.ProxiedDevice.{i}.": {
			"type": "object",
			"protocols": [
				"usp"
			],
			"description": "Each entry in the table is a ProxiedDevice object that is a mount point. Each ProxiedDevice represents distinct hardware Devices. ProxiedDevice objects are virtual and abstracted representation of functionality, that exists on hardware other than that which the Agent is running.",
			"uniqueKeys": [
				"Alias"
			],
			"access": false,
			"array": true,
			"Alias": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"usp"
				],
				"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
				"datatype": "_AliasUSP"
			},
			"Type": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Describes the type of Device that the <<object>> instance is representing. Enumeration of: Alarm, AntiTheft, Bell, Clock, Door, Fan, GarageDoor, HVAC, Light, Lock, Meter, Motor, Oven, PowerStrip, Sensor, SensorStrip, Siren, Thermostat. | Describes the type of Device that the <<object>> instance is representing. Enumeration of: Alarm, AntiTheft, Bell, Clock, Door, Fan, GarageDoor, HVAC, Light, Lock, Meter, Motor, Oven, PowerStrip, Sensor, SensorStrip, Siren, Thermostat.",
				"datatype": "IoTDeviceType",
				"enumerations": [
					"Alarm",
					"AntiTheft",
					"Bell",
					"Clock",
					"Door",
					"Fan",
					"GarageDoor",
					"HVAC",
					"Light",
					"Lock",
					"Meter",
					"Motor",
					"Oven",
					"PowerStrip",
					"Sensor",
					"SensorStrip",
					"Siren",
					"Thermostat"
				]
			},
			"Description": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			},
			"Name": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"usp"
				],
				"description": "A textual name of the instance, which can be assigned by the user. <<object>>.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"Online": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "This parameter provides the state of the <<object>> on the underlying (proxied) connected network.",
				"datatype": "boolean"
			},
			"LastTimeContacted": {
				"type": "dateTime",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "The date time of the last successful contact.",
				"datatype": "dateTime"
			},
			"InterfaceReference": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<reference|a protocol object that uses the <<param|ProxyProtocol>>>>.",
				"datatype": "string"
			},
			"ProxyProtocol": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "The protocol being used to communicate between the Agent and this Proxied Device. Enumeration of: Z-Wave, ZigBee, UPnP-DM. Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in <<bibref|TR-106|3.3>> MUST be adhered to.",
				"datatype": "string",
				"enumerations": [
					"Z-Wave",
					"ZigBee",
					"UPnP-DM"
				]
			},
			"NodeNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "<<numentries>>",
				"datatype": "unsignedInt"
			},
			"Device.ProxiedDevice.{i}.Node.{i}.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "Each Node instance represents distinct functional devices, which are virtual and abstracted representation of functionality.",
				"uniqueKeys": [
					"Alias"
				],
				"access": false,
				"array": true,
				"Alias": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
					"datatype": "_AliasUSP"
				},
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Describes the type of Device that the <<object>> instance is representing. Enumeration of: Alarm, AntiTheft, Bell, Clock, Door, Fan, GarageDoor, HVAC, Light, Lock, Meter, Motor, Oven, PowerStrip, Sensor, SensorStrip, Siren, Thermostat. | Describes the type of Device that the <<object>> instance is representing. Enumeration of: Alarm, AntiTheft, Bell, Clock, Door, Fan, GarageDoor, HVAC, Light, Lock, Meter, Motor, Oven, PowerStrip, Sensor, SensorStrip, Siren, Thermostat.",
					"datatype": "IoTDeviceType",
					"enumerations": [
						"Alarm",
						"AntiTheft",
						"Bell",
						"Clock",
						"Door",
						"Fan",
						"GarageDoor",
						"HVAC",
						"Light",
						"Lock",
						"Meter",
						"Motor",
						"Oven",
						"PowerStrip",
						"Sensor",
						"SensorStrip",
						"Siren",
						"Thermostat"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				}
			}
		},
		"Device.CWMPManagementServer.": {
			"type": "object",
			"protocols": [
				"usp"
			],
			"description": "",
			"access": false,
			"array": false,
			"EnableCWMP": {
				"type": "boolean",
				"read": true,
				"write": true,
				"protocols": [
					"usp"
				],
				"description": "Enables and disables the CPEs support for CWMP. <<false>> means that CWMP support in the CPE is disabled, in which case the device MUST NOT send any Inform messages to the ACS or accept any Connection Request notifications from the ACS. <<true>> means that CWMP support on the CPE is enabled. The subscriber can re-enable the CPEs CWMP support either by performing a factory reset or by using a LAN-side protocol to change the value of this parameter back to <<true>>.",
				"default": "true",
				"datatype": "boolean"
			}
		},
		"Device.IoTCapability.{i}.": {
			"type": "object",
			"protocols": [
				"usp"
			],
			"description": "This list of IoT capability objects.",
			"uniqueKeys": [
				"Alias",
				"Name"
			],
			"access": false,
			"array": true,
			"Alias": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"usp"
				],
				"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
				"datatype": "_AliasUSP"
			},
			"Name": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"usp"
				],
				"description": "A textual name of the instance, which can be assigned by the user.",
				"datatype": "string",
				"range": [
					{
						"max": 64
					}
				]
			},
			"Class": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Describes the type of functionality that <<object>> is representing. Depending on the functionality the corresponding sub-object is instantiated. Note: Only one of the defined sub-objects can exist in an <<object>> instance.",
				"datatype": "string",
				"enumerations": [
					"BinaryControl",
					"LevelControl",
					"EnumControl",
					"BinarySensor",
					"LevelSensor",
					"MultiLevelSensor",
					"EnumSensor",
					"BlobSensor"
				]
			},
			"Device.IoTCapability.{i}.BinaryControl.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "This capability provides a boolean function that is mapped to the type of function it represents. E.g. If the instance represents a door lock (<<param|Type>> is <<enum|Locked|Type>>), a <<param|Value>> of <<true>> says the door lock is locked.",
				"access": false,
				"array": false,
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Describes the type of functionality that <<object>> is representing.",
					"datatype": "string",
					"enumerations": [
						"Switch",
						"Locked"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Value": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Value of <<true>> or <<false>> that reflects the functionality.",
					"datatype": "boolean"
				},
				"Toggle()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					]
				}
			},
			"Device.IoTCapability.{i}.LevelControl.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "LevelController is used to model a control with a range of continuous states. These values are configurable via <<param|Value>> and measured in <<param|Unit>> and are restricted between a Min and Max values. Intensity profile - <<param|Value>> of intensity and ability to update that level through <<command|StepUp()>> and <<command|StepDown()>> commands with a configurable <<param|StepValue>>.",
				"access": false,
				"array": false,
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Describes the type of IoT Level Controller or Sensor that the <<object>> instance is representing. Enumeration of: Acceleration, Area, Battery, Brightness, Concentration, Conductivity, Distance, Energy, Flow, Humidity, Intensity, Luminance, Meter, Motion, Position, Power, Pressure, Radiation, Speed, Temperature, Volume, Weight, Depth, Counter, Duration. | Describes the type of IoT Level Controller or Sensor that the <<object>> instance is representing. Enumeration of: Acceleration, Area, Battery, Brightness, Concentration, Conductivity, Distance, Energy, Flow, Humidity, Intensity, Luminance, Meter, Motion, Position, Power, Pressure, Radiation, Speed, Temperature, Volume, Weight, Depth, Counter, Duration.",
					"datatype": "IoTLevelType",
					"enumerations": [
						"Acceleration",
						"Area",
						"Battery",
						"Brightness",
						"Concentration",
						"Conductivity",
						"Distance",
						"Energy",
						"Flow",
						"Humidity",
						"Intensity",
						"Luminance",
						"Meter",
						"Motion",
						"Position",
						"Power",
						"Pressure",
						"Radiation",
						"Speed",
						"Temperature",
						"Volume",
						"Weight",
						"Depth",
						"Counter",
						"Duration"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Value": {
					"type": "decimal",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The desired run value that this <<object>> will be between <<param|MinValue>> and <<param|MaxValue>>.",
					"datatype": "decimal"
				},
				"Unit": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Units in which <<param|Value>>, <<param|Value>>, <<param|MinValue>>, <<param|MaxValue>> and <<param|StepValue>> are expressed. Possible Unit types used for decimal values. Enumeration of: -, %, deg, degC, degF, K, km, m, cm, mm, h, min, s, ms, sq-km, sq-m, sq-cm, cu-m, l, cl, ml, kg, g, mg, Wh, kWh, W, A, Hz, V, N, Pa, C, F, ohm, S, Wb, T, H, lm, lx, mps, cd, mol, UV, RGB, ppm, Sv, J, rpm, pps, cu-m/s, liter/s, dB, dBm, eV. | Possible Unit types used for decimal values. Enumeration of: -, %, deg, degC, degF, K, km, m, cm, mm, h, min, s, ms, sq-km, sq-m, sq-cm, cu-m, l, cl, ml, kg, g, mg, Wh, kWh, W, A, Hz, V, N, Pa, C, F, ohm, S, Wb, T, H, lm, lx, mps, cd, mol, UV, RGB, ppm, Sv, J, rpm, pps, cu-m/s, liter/s, dB, dBm, eV. .",
					"datatype": "IoTUnitType",
					"enumerations": [
						"-",
						"%",
						"deg",
						"degC",
						"degF",
						"K",
						"km",
						"m",
						"cm",
						"mm",
						"h",
						"min",
						"s",
						"ms",
						"sq-km",
						"sq-m",
						"sq-cm",
						"cu-m",
						"l",
						"cl",
						"ml",
						"kg",
						"g",
						"mg",
						"Wh",
						"kWh",
						"W",
						"A",
						"Hz",
						"V",
						"N",
						"Pa",
						"C",
						"F",
						"ohm",
						"S",
						"Wb",
						"T",
						"H",
						"lm",
						"lx",
						"mps",
						"cd",
						"mol",
						"UV",
						"RGB",
						"ppm",
						"Sv",
						"J",
						"rpm",
						"pps",
						"cu-m/s",
						"liter/s",
						"dB",
						"dBm",
						"eV"
					]
				},
				"MinValue": {
					"type": "decimal",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Minimum allowed value for <<param|Value>>.",
					"datatype": "decimal"
				},
				"MaxValue": {
					"type": "decimal",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Maximum allowed value for <<param|Value>>.",
					"datatype": "decimal"
				},
				"StepValue": {
					"type": "decimal",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Number of <<param|Unit>> changes of each <<command|StepUp()>> and <<command|StepDown()>> command.",
					"datatype": "decimal"
				},
				"StepUp()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					]
				},
				"StepDown()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					]
				}
			},
			"Device.IoTCapability.{i}.EnumControl.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "The EnumControl reflects the Enumerated level Control functionality. The enumeration is defined by the <<param|ValidValues>> parameter. This will provide a comma-separated list of values that are available for configuring via the <<param|Value>> parameter.",
				"access": false,
				"array": false,
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Describes the type of IoT Enum Controller that the <<object>> instance is representing. Enumeration of: AlarmMode, DoorMode, FanMode, LockMode, OperatingMode, TemperatureMode, ThermostatMode. | Describes the type of IoT Enum Controller that the <<object>> instance is representing. Enumeration of: AlarmMode, DoorMode, FanMode, LockMode, OperatingMode, TemperatureMode, ThermostatMode.",
					"datatype": "IoTEnumControlType",
					"enumerations": [
						"AlarmMode",
						"DoorMode",
						"FanMode",
						"LockMode",
						"OperatingMode",
						"TemperatureMode",
						"ThermostatMode"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Value": {
					"type": "string",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "Current value representing the <<object>>; MUST be an element of <<param|ValidValues>>.",
					"datatype": "string"
				},
				"ValidValues": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "List of valid values from the control represented by the <<object>>.",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					}
				},
				"StepUp()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					]
				},
				"StepDown()": {
					"type": "command",
					"async": true,
					"protocols": [
						"usp"
					]
				}
			},
			"Device.IoTCapability.{i}.BinarySensor.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "BinarySensor is used to reflect the functionality of a sensor that reports a <<param|Value>>. The <<param|Sensitivity>> configures the degree of sensitivity that the sensor uses for detection. Timed BinarySensor profile - To provide the ability to add time based control over the <<param|Value>> attribute. How long the <<param|Value>> remains true is controlled by the <<param|HoldTime>>. <<param|RestTime>> controls how soon, after being activated, the sensor will respond to continuous events.",
				"access": false,
				"array": false,
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Describes the type of functionality that <<object>> is representing.",
					"datatype": "string",
					"enumerations": [
						"CarbonDioxideDetected",
						"CarbonMonoxideDetected",
						"DoorOpen",
						"MotionDetected",
						"SmokeDetected",
						"WindowOpen",
						"WaterDetected"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Value": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "If the <<object>> has been recently activated, the value would be true. For how long the state attribute remain true after being activated depends on the underlying sensor reports.",
					"datatype": "boolean"
				},
				"LastChange": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time in UTC when <<param|Value>> has been changed to the current value.",
					"datatype": "dateTime"
				},
				"LastContactTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time in UTC when the <<object>> has received data.",
					"datatype": "dateTime"
				},
				"Sensitivity": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "A 0 to 100 value indicating how reactive to changes the <<object>> should be, 0 being not sensible / disabled and 100 max sensitivity.",
					"datatype": "unsignedInt",
					"range": [
						{
							"max": 100
						}
					]
				},
				"HoldTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "After activation has been detected and the sensing attribute set to true, how soon, in <<units>> should the <<param|Value>> be reset to <<false>>.",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				},
				"RestTime": {
					"type": "unsignedInt",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "After activation has been detected and the <<param|Value>> set to <<true>>, how soon, in <<units>> should affected again per subsequent event.",
					"datatype": "unsignedInt",
					"unit": "milliseconds"
				}
			},
			"Device.IoTCapability.{i}.LevelSensor.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "LevelSensor is used to reflect the functionality of a sensor that reports a <<param|Value>> in <<param|Unit>>.",
				"access": false,
				"array": false,
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Describes the type of IoT Level Controller or Sensor that the <<object>> instance is representing. Enumeration of: Acceleration, Area, Battery, Brightness, Concentration, Conductivity, Distance, Energy, Flow, Humidity, Intensity, Luminance, Meter, Motion, Position, Power, Pressure, Radiation, Speed, Temperature, Volume, Weight, Depth, Counter, Duration. | Describes the type of IoT Level Controller or Sensor that the <<object>> instance is representing. Enumeration of: Acceleration, Area, Battery, Brightness, Concentration, Conductivity, Distance, Energy, Flow, Humidity, Intensity, Luminance, Meter, Motion, Position, Power, Pressure, Radiation, Speed, Temperature, Volume, Weight, Depth, Counter, Duration.",
					"datatype": "IoTLevelType",
					"enumerations": [
						"Acceleration",
						"Area",
						"Battery",
						"Brightness",
						"Concentration",
						"Conductivity",
						"Distance",
						"Energy",
						"Flow",
						"Humidity",
						"Intensity",
						"Luminance",
						"Meter",
						"Motion",
						"Position",
						"Power",
						"Pressure",
						"Radiation",
						"Speed",
						"Temperature",
						"Volume",
						"Weight",
						"Depth",
						"Counter",
						"Duration"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Value": {
					"type": "decimal",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The current value reading of this <<object>> in units defined in <<param|Unit>>.",
					"datatype": "decimal"
				},
				"LastChange": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time in UTC when <<param|Value>> has been changed to the current value.",
					"datatype": "dateTime"
				},
				"LastContactTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time in UTC when the <<object>> has received data.",
					"datatype": "dateTime"
				},
				"Unit": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Possible Unit types used for decimal values. Enumeration of: -, %, deg, degC, degF, K, km, m, cm, mm, h, min, s, ms, sq-km, sq-m, sq-cm, cu-m, l, cl, ml, kg, g, mg, Wh, kWh, W, A, Hz, V, N, Pa, C, F, ohm, S, Wb, T, H, lm, lx, mps, cd, mol, UV, RGB, ppm, Sv, J, rpm, pps, cu-m/s, liter/s, dB, dBm, eV. | Possible Unit types used for decimal values. Enumeration of: -, %, deg, degC, degF, K, km, m, cm, mm, h, min, s, ms, sq-km, sq-m, sq-cm, cu-m, l, cl, ml, kg, g, mg, Wh, kWh, W, A, Hz, V, N, Pa, C, F, ohm, S, Wb, T, H, lm, lx, mps, cd, mol, UV, RGB, ppm, Sv, J, rpm, pps, cu-m/s, liter/s, dB, dBm, eV. Unit in which <<param|Value>> is expressed.",
					"datatype": "IoTUnitType",
					"enumerations": [
						"-",
						"%",
						"deg",
						"degC",
						"degF",
						"K",
						"km",
						"m",
						"cm",
						"mm",
						"h",
						"min",
						"s",
						"ms",
						"sq-km",
						"sq-m",
						"sq-cm",
						"cu-m",
						"l",
						"cl",
						"ml",
						"kg",
						"g",
						"mg",
						"Wh",
						"kWh",
						"W",
						"A",
						"Hz",
						"V",
						"N",
						"Pa",
						"C",
						"F",
						"ohm",
						"S",
						"Wb",
						"T",
						"H",
						"lm",
						"lx",
						"mps",
						"cd",
						"mol",
						"UV",
						"RGB",
						"ppm",
						"Sv",
						"J",
						"rpm",
						"pps",
						"cu-m/s",
						"liter/s",
						"dB",
						"dBm",
						"eV"
					]
				},
				"LowLevel": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Low level indicator. Is set to <<true>> if <<param|Value>> is equal or less than the value defined in <<param|LowLevelThreshold>>.",
					"datatype": "boolean"
				},
				"LowLevelThreshold": {
					"type": "decimal",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The threshold value in for <<param|LowLevel>> expressed in the same units like <<param|Value>>.",
					"datatype": "decimal"
				},
				"HighLevel": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "High level indicator. Is set to <<true>> if <<param|Value>> is equal or higher than the value defined in <<param|HighLevelThreshold>>.",
					"datatype": "boolean"
				},
				"HighLevelThreshold": {
					"type": "decimal",
					"read": true,
					"write": true,
					"protocols": [
						"usp"
					],
					"description": "The threshold value in for <<param|HighLevel>> expressed in the same units like <<param|Value>>.",
					"datatype": "decimal"
				}
			},
			"Device.IoTCapability.{i}.MultiLevelSensor.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "MultiLevelSensor is used to reflect the functionality of a sensor that reports multiple <<param|Values>> with the same <<param|Unit>>.",
				"access": false,
				"array": false,
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Describes the type of functionality that <<object>> is representing.",
					"datatype": "string",
					"enumerations": [
						"RGB",
						"Location"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Values": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The current value reading of this <<object>> in units defined in <<param|Unit>>.",
					"list": {
						"datatype": "decimal",
						"item": {
							"min": 2
						}
					}
				},
				"ValueNames": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The names of the values expressed in <<param|Values>>.",
					"list": {
						"datatype": "string",
						"item": {
							"min": 2
						}
					}
				},
				"LastChange": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time when <<param|Values>> has been changed to the current values.",
					"datatype": "dateTime"
				},
				"LastContactTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time in UTC when the <<object>> has received data.",
					"datatype": "dateTime"
				},
				"Unit": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Possible Unit types used for decimal values. Enumeration of: -, %, deg, degC, degF, K, km, m, cm, mm, h, min, s, ms, sq-km, sq-m, sq-cm, cu-m, l, cl, ml, kg, g, mg, Wh, kWh, W, A, Hz, V, N, Pa, C, F, ohm, S, Wb, T, H, lm, lx, mps, cd, mol, UV, RGB, ppm, Sv, J, rpm, pps, cu-m/s, liter/s, dB, dBm, eV. | Possible Unit types used for decimal values. Enumeration of: -, %, deg, degC, degF, K, km, m, cm, mm, h, min, s, ms, sq-km, sq-m, sq-cm, cu-m, l, cl, ml, kg, g, mg, Wh, kWh, W, A, Hz, V, N, Pa, C, F, ohm, S, Wb, T, H, lm, lx, mps, cd, mol, UV, RGB, ppm, Sv, J, rpm, pps, cu-m/s, liter/s, dB, dBm, eV. Unit in which <<param|Values>> are expressed.",
					"datatype": "IoTUnitType",
					"enumerations": [
						"-",
						"%",
						"deg",
						"degC",
						"degF",
						"K",
						"km",
						"m",
						"cm",
						"mm",
						"h",
						"min",
						"s",
						"ms",
						"sq-km",
						"sq-m",
						"sq-cm",
						"cu-m",
						"l",
						"cl",
						"ml",
						"kg",
						"g",
						"mg",
						"Wh",
						"kWh",
						"W",
						"A",
						"Hz",
						"V",
						"N",
						"Pa",
						"C",
						"F",
						"ohm",
						"S",
						"Wb",
						"T",
						"H",
						"lm",
						"lx",
						"mps",
						"cd",
						"mol",
						"UV",
						"RGB",
						"ppm",
						"Sv",
						"J",
						"rpm",
						"pps",
						"cu-m/s",
						"liter/s",
						"dB",
						"dBm",
						"eV"
					]
				}
			},
			"Device.IoTCapability.{i}.EnumSensor.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "EnumSensor is used to reflect the functionality of a sensor that reports explicit non-continuous values.",
				"access": false,
				"array": false,
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Describes the type of IoT Enum Sensor that the <<object>> instance is representing. Enumeration of: AlarmState, DoorState, FanState, LockState, OperatingState, TemperatureState, ThermostatFanState. | Describes the type of IoT Enum Sensor that the <<object>> instance is representing. Enumeration of: AlarmState, DoorState, FanState, LockState, OperatingState, TemperatureState, ThermostatFanState.",
					"datatype": "IoTEnumSensorType",
					"enumerations": [
						"AlarmState",
						"DoorState",
						"FanState",
						"LockState",
						"OperatingState",
						"TemperatureState",
						"ThermostatFanState"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"Value": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The actual reading value; MUST be a member of the enumeration defined in <<param|ValidValues>>.",
					"datatype": "string"
				},
				"LastChange": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time when <<param|Value>> has been changed to the current value.",
					"datatype": "dateTime"
				},
				"LastContactTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time in UTC when the <<object>> has received data.",
					"datatype": "dateTime"
				},
				"ValidValues": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "List of valid values reported from the sensor represented by this <<object>>.",
					"list": {
						"datatype": "string",
						"range": [
							{
								"max": 64
							}
						]
					}
				}
			},
			"Device.IoTCapability.{i}.BlobSensor.": {
				"type": "object",
				"protocols": [
					"usp"
				],
				"description": "BlobSensor is a sensor that is able to send specific data as a string of bytes depending on its use. For example in case of traffic control Sensors, A Sensor can forward an image, a numberplate. RFID-Sensors forward an RFID. They have all in common that a string of bytes have been sent. To identify the type of bytes, the IoTBlobSensorType provides information about this string of bytes.",
				"access": false,
				"array": false,
				"Type": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Describes the type of IoT Blob Sensor that the <<object>> instance is representing.These are examples to identify a string of bytes that has been sent by a Sensor Enumeration of: ascii, base64, id, gif, jpeg, json, numberplate, text, url, raw, utf-8, utf-16, utf-32, uuid, xml, yaml. | Describes the type of IoT Blob Sensor that the <<object>> instance is representing.These are examples to identify a string of bytes that has been sent by a Sensor Enumeration of: ascii, base64, id, gif, jpeg, json, numberplate, text, url, raw, utf-8, utf-16, utf-32, uuid, xml, yaml.",
					"datatype": "IoTBlobSensorType",
					"enumerations": [
						"ascii",
						"base64",
						"id",
						"gif",
						"jpeg",
						"json",
						"numberplate",
						"text",
						"url",
						"raw",
						"utf-8",
						"utf-16",
						"utf-32",
						"uuid",
						"xml",
						"yaml"
					]
				},
				"Description": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>. A Blob value is to be considered as a string of bytes. The <<param|Type>> of this string of bytes is intended to be explained by <<param|Type>>. Examples do exist for Sensors used in traffic control, such as an image, numberplate, and face recognition, RFID readers and other areas where Sensors produce bytes.",
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					]
				},
				"LastChange": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time in UTC when <<param|Value>> has been changed to the current value.",
					"datatype": "dateTime"
				},
				"LastContactTime": {
					"type": "dateTime",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The date and time in UTC when the <<object>> has received data.",
					"datatype": "dateTime"
				},
				"Value": {
					"type": "base64",
					"read": true,
					"write": false,
					"protocols": [
						"usp"
					],
					"description": "The Value is typically a string of bytes and its meaning is described by <<param|Type>>. A string of bytes will use the base64 type. The current value reading of this <<object>>.",
					"datatype": "base64"
				}
			}
		},
		"Device.Node.{i}.": {
			"type": "object",
			"protocols": [
				"usp"
			],
			"description": "Each Node instance represents distinct functional devices, which are virtual and abstracted representation of functionality.",
			"uniqueKeys": [
				"Alias"
			],
			"access": false,
			"array": true,
			"Alias": {
				"type": "string",
				"read": true,
				"write": true,
				"protocols": [
					"usp"
				],
				"description": "A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix. | A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference. The following mandatory constraints MUST be enforced: * The value MUST NOT be empty. * The value MUST start with a letter. * If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an cpe- prefix.",
				"datatype": "_AliasUSP"
			},
			"Type": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Describes the type of Device that the <<object>> instance is representing. Enumeration of: Alarm, AntiTheft, Bell, Clock, Door, Fan, GarageDoor, HVAC, Light, Lock, Meter, Motor, Oven, PowerStrip, Sensor, SensorStrip, Siren, Thermostat. | Describes the type of Device that the <<object>> instance is representing. Enumeration of: Alarm, AntiTheft, Bell, Clock, Door, Fan, GarageDoor, HVAC, Light, Lock, Meter, Motor, Oven, PowerStrip, Sensor, SensorStrip, Siren, Thermostat.",
				"datatype": "IoTDeviceType",
				"enumerations": [
					"Alarm",
					"AntiTheft",
					"Bell",
					"Clock",
					"Door",
					"Fan",
					"GarageDoor",
					"HVAC",
					"Light",
					"Lock",
					"Meter",
					"Motor",
					"Oven",
					"PowerStrip",
					"Sensor",
					"SensorStrip",
					"Siren",
					"Thermostat"
				]
			},
			"Description": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"usp"
				],
				"description": "Human-readable description of the <<object>>. e.g. a more detailed description of <<param|Type>>.",
				"datatype": "string",
				"range": [
					{
						"max": 256
					}
				]
			}
		}
	}
}