Skip to content

Device

Device (Core) service implementation.

Device

Bases: ONVIFService

0.0.1 1.0 get_onvif_version.py

Device service client.

Property Details
First introduced ONVIF 1.0 (November 2008)
Binding name DeviceBinding (ver10/device/wsdl/devicemgmt.wsdl)
Operations devicemgmt.wsdl
Spec Core

GetServiceCapabilities

GetServiceCapabilities()

Returns the capabilities of the device service.

The result is returned in a typed answer.

Output
  • Capabilities [DeviceServiceCapabilities]
    The capabilities for the device service is returned in the Capabilities element.
    • Network [NetworkCapabilities]
      Network capabilities.
      • IPFilter - optional; [boolean]
        Indicates support for IP filtering.
      • ZeroConfiguration - optional; [boolean]
        Indicates support for zeroconf.
      • IPVersion6 - optional; [boolean]
        Indicates support for IPv6.
      • DynDNS - optional; [boolean]
        Indicates support for dynamic DNS configuration.
      • Dot11Configuration - optional; [boolean]
        Indicates support for IEEE 802.11 configuration.
      • Dot1XConfigurations - optional; [int]
        Indicates the maximum number of Dot1X configurations supported by the device
      • HostnameFromDHCP - optional; [boolean]
        Indicates support for retrieval of hostname from DHCP.
      • NTP - optional; [int]
        Maximum number of NTP servers supported by the devices SetNTP command.
      • DHCPv6 - optional; [boolean]
        Indicates support for Stateful IPv6 DHCP.
    • Security [SecurityCapabilities]
      Security capabilities.
      • TLS1.0 - optional; [boolean]
        Indicates support for TLS 1.0.
      • TLS1.1 - optional; [boolean]
        Indicates support for TLS 1.1.
      • TLS1.2 - optional; [boolean]
        Indicates support for TLS 1.2.
      • OnboardKeyGeneration - optional; [boolean]
        Indicates support for onboard key generation.
      • AccessPolicyConfig - optional; [boolean]
        Indicates support for access policy configuration.
      • DefaultAccessPolicy - optional; [boolean]
        Indicates support for the ONVIF default access policy.
      • Dot1X - optional; [boolean]
        Indicates support for IEEE 802.1X configuration.
      • RemoteUserHandling - optional; [boolean]
        Indicates support for remote user configuration. Used when accessing another device.
      • X.509Token - optional; [boolean]
        Indicates support for WS-Security X.509 token.
      • SAMLToken - optional; [boolean]
        Indicates support for WS-Security SAML token.
      • KerberosToken - optional; [boolean]
        Indicates support for WS-Security Kerberos token.
      • UsernameToken - optional; [boolean]
        Indicates support for WS-Security Username token.
      • HttpDigest - optional; [boolean]
        Indicates support for WS over HTTP digest authenticated communication layer.
      • RELToken - optional; [boolean]
        Indicates support for WS-Security REL token.
      • JsonWebToken - optional; [boolean]
        Indicates support for JWT-based authentication with WS-Security Binary Security token.
      • SupportedEAPMethods - optional; [IntList]
        EAP Methods supported by the device. The int values refer to the IANA EAP Registry.
      • MaxUsers - optional; [int]
        The maximum number of users that the device supports.
      • MaxUserNameLength - optional; [int]
        Maximum number of characters supported for the username by CreateUsers.
      • MaxPasswordLength - optional; [int]
        Maximum number of characters supported for the password by CreateUsers and SetUser.
      • SecurityPolicies - optional; [StringList]
        Indicates which security policies are supported. Options are: ModifyPassword, PasswordComplexity, AuthFailureWarnings
      • MaxPasswordHistory - optional; [int]
        Maximum number of passwords that the device can remember for each user
      • HashingAlgorithms - optional; [StringList]
        Supported hashing algorithms as part of HTTP and RTSP Digest authentication.Example: MD5,SHA-256
      • MaxUserRoles - optional; [int]
        Whenever set to an integer greater than zero, it signals that the device supports editable user roles. It indicates the maximum number of editable user roles.
    • System [SystemCapabilities]
      System capabilities.
      • DiscoveryResolve - optional; [boolean]
        Indicates support for WS Discovery resolve requests.
      • DiscoveryBye - optional; [boolean]
        Indicates support for WS-Discovery Bye.
      • RemoteDiscovery - optional; [boolean]
        Indicates support for remote discovery.
      • SystemBackup - optional; [boolean]
        Indicates support for system backup through MTOM.
      • SystemLogging - optional; [boolean]
        Indicates support for retrieval of system logging through MTOM.
      • CloudFirmwareUpgrade - optional; [boolean]
        Indicates support for firmware upgrade through the cloud.
      • HttpFirmwareUpgrade - optional; [boolean]
        Indicates support for firmware upgrade through HTTP.
      • HttpSystemBackup - optional; [boolean]
        Indicates support for system backup through HTTP.
      • HttpSystemLogging - optional; [boolean]
        Indicates support for retrieval of system logging through HTTP.
      • HttpSupportInformation - optional; [boolean]
        Indicates support for retrieving support information through HTTP.
      • StorageConfiguration - optional; [boolean]
        Indicates support for storage configuration interfaces.
      • MaxStorageConfigurations - optional; [int]
        Indicates maximum number of storage configurations supported.
      • StorageConfigurationRenewal - optional; [boolean]
        Indicates support for renewal of storage configuration.
      • GeoLocationEntries - optional; [int]
        If present signals support for geo location. The value signals the supported number of entries.
      • AutoGeo - optional; [StringAttrList]
        List of supported automatic GeoLocation adjustment supported by the device. Valid items are defined by tds:AutoGeoMode.
      • StorageTypesSupported - optional; [StringAttrList]
        Enumerates the supported StorageTypes, see tds:StorageType.
      • DiscoveryNotSupported - optional; [boolean]
        Indicates no support for network discovery.
      • NetworkConfigNotSupported - optional; [boolean]
        Indicates no support for network configuration.
      • UserConfigNotSupported - optional; [boolean]
        Indicates no support for user configuration.
      • Addons - optional; [StringAttrList]
        List of supported Addons by the device.
      • HardwareType - optional; [string]
        Indicates what type of device this is. See tt:HardwareTypes for available options.
    • Misc - optional; [MiscCapabilities]
      Capabilities that do not fit in any of the other categories.
      • AuxiliaryCommands - optional; [StringAttrList]
        Lists of commands supported by SendAuxiliaryCommand.

GetCapabilities

GetCapabilities(Category=None)

This method has been replaced by the more generic GetServices method.

For capabilities of individual services refer to the GetServiceCapabilities methods.

Input
  • Category - optional, unbounded; [CapabilityCategory]
    List of categories to retrieve capability information on.
    Enum Value Enum Description
    All —
    Analytics —
    Device —
    Events —
    Imaging —
    Media —
    PTZ —
Output
  • Capabilities [Capabilities]
    Capability information.
    • Analytics - optional; [AnalyticsCapabilities]
      Analytics capabilities
      • XAddr [anyURI]
        Analytics service URI.
      • RuleSupport [boolean]
        Indicates whether or not rules are supported.
      • AnalyticsModuleSupport [boolean]
        Indicates whether or not modules are supported.
    • Device - optional; [DeviceCapabilities]
      Device capabilities
      • XAddr [anyURI]
        Device service URI.
      • Network - optional; [NetworkCapabilities]
        Network capabilities.
        • IPFilter - optional; [boolean]
          Indicates whether or not IP filtering is supported.
        • ZeroConfiguration - optional; [boolean]
          Indicates whether or not zeroconf is supported.
        • IPVersion6 - optional; [boolean]
          Indicates whether or not IPv6 is supported.
        • DynDNS - optional; [boolean]
          Indicates whether or not is supported.
        • Extension - optional; [NetworkCapabilitiesExtension]
          • Dot11Configuration - optional; [boolean]
          • Extension - optional; [NetworkCapabilitiesExtension2]
      • System - optional; [SystemCapabilities]
        System capabilities.
        • DiscoveryResolve [boolean]
          Indicates whether or not WS Discovery resolve requests are supported.
        • DiscoveryBye [boolean]
          Indicates whether or not WS-Discovery Bye is supported.
        • RemoteDiscovery [boolean]
          Indicates whether or not remote discovery is supported.
        • SystemBackup [boolean]
          Indicates whether or not system backup is supported.
        • SystemLogging [boolean]
          Indicates whether or not system logging is supported.
        • FirmwareUpgrade [boolean]
          Indicates whether or not firmware upgrade is supported.
        • SupportedVersions - unbounded; [OnvifVersion]
          Indicates supported ONVIF version(s).
          • Major [int]
            Major version number.
          • Minor [int]
            Two digit minor version number. If major version number is less than "16", X.0.1 maps to "01" and X.2.1 maps to "21" where X stands for Major version number. Otherwise, minor number is month of release, such as "06" for June.
        • Extension - optional; [SystemCapabilitiesExtension]
          • HttpFirmwareUpgrade - optional; [boolean]
          • HttpSystemBackup - optional; [boolean]
          • HttpSystemLogging - optional; [boolean]
          • HttpSupportInformation - optional; [boolean]
          • Extension - optional; [SystemCapabilitiesExtension2]
      • IO - optional; [IOCapabilities]
        I/O capabilities.
        • InputConnectors - optional; [int]
          Number of input connectors.
        • RelayOutputs - optional; [int]
          Number of relay outputs.
        • Extension - optional; [IOCapabilitiesExtension]
          • Auxiliary - optional; [boolean]
          • AuxiliaryCommands - optional, unbounded; [AuxiliaryData]
            Maximum length: 128
          • Extension [IOCapabilitiesExtension2]
      • Security - optional; [SecurityCapabilities]
        Security capabilities.
        • TLS1.1 [boolean]
          Indicates whether or not TLS 1.1 is supported.
        • TLS1.2 [boolean]
          Indicates whether or not TLS 1.2 is supported.
        • OnboardKeyGeneration [boolean]
          Indicates whether or not onboard key generation is supported.
        • AccessPolicyConfig [boolean]
          Indicates whether or not access policy configuration is supported.
        • X.509Token [boolean]
          Indicates whether or not WS-Security X.509 token is supported.
        • SAMLToken [boolean]
          Indicates whether or not WS-Security SAML token is supported.
        • KerberosToken [boolean]
          Indicates whether or not WS-Security Kerberos token is supported.
        • RELToken [boolean]
          Indicates whether or not WS-Security REL token is supported.
        • Extension - optional; [SecurityCapabilitiesExtension]
          • TLS1.0 [boolean]
          • Extension - optional; [SecurityCapabilitiesExtension2]
            • Dot1X [boolean]
            • SupportedEAPMethod - optional, unbounded; [int]
              EAP Methods supported by the device. The int values refer to the IANA EAP Registry.
            • RemoteUserHandling [boolean]
      • Extension - optional; [DeviceCapabilitiesExtension]
    • Events - optional; [EventCapabilities]
      Event capabilities
      • XAddr [anyURI]
        Event service URI.
      • WSSubscriptionPolicySupport [boolean]
        Indicates whether or not WS Subscription policy is supported.
      • WSPullPointSupport [boolean]
        Indicates whether or not WS Pull Point is supported.
      • WSPausableSubscriptionManagerInterfaceSupport [boolean]
        Indicates whether or not WS Pausable Subscription Manager Interface is supported.
    • Imaging - optional; [ImagingCapabilities]
      Imaging capabilities
      • XAddr [anyURI]
        Imaging service URI.
    • Media - optional; [MediaCapabilities]
      Media capabilities
      • XAddr [anyURI]
        Media service URI.
      • StreamingCapabilities [RealTimeStreamingCapabilities]
        Streaming capabilities.
        • RTPMulticast - optional; [boolean]
          Indicates whether or not RTP multicast is supported.
        • RTP_TCP - optional; [boolean]
          Indicates whether or not RTP over TCP is supported.
        • RTP_RTSP_TCP - optional; [boolean]
          Indicates whether or not RTP/RTSP/TCP is supported.
        • Extension - optional; [RealTimeStreamingCapabilitiesExtension]
      • Extension - optional; [MediaCapabilitiesExtension]
        • ProfileCapabilities [ProfileCapabilities]
          • MaximumNumberOfProfiles [int]
            Maximum number of profiles.
    • PTZ - optional; [PTZCapabilities]
      PTZ capabilities
      • XAddr [anyURI]
        PTZ service URI.
    • Extension - optional; [CapabilitiesExtension]
      • DeviceIO - optional; [DeviceIOCapabilities]
        • XAddr [anyURI]
        • VideoSources [int]
        • VideoOutputs [int]
        • AudioSources [int]
        • AudioOutputs [int]
        • RelayOutputs [int]
      • Display - optional; [DisplayCapabilities]
        • XAddr [anyURI]
        • FixedLayout [boolean]
          Indication that the SetLayout command supports only predefined layouts.
      • Recording - optional; [RecordingCapabilities]
        • XAddr [anyURI]
        • ReceiverSource [boolean]
        • MediaProfileSource [boolean]
        • DynamicRecordings [boolean]
        • DynamicTracks [boolean]
        • MaxStringLength [int]
      • Search - optional; [SearchCapabilities]
        • XAddr [anyURI]
        • MetadataSearch [boolean]
        • NLSearch - optional; [boolean]
          Indicates support for natural language based search.
        • ImageSearch - optional; [boolean]
          Indicates support for image based search.
      • Replay - optional; [ReplayCapabilities]
        • XAddr [anyURI]
          The address of the replay service.
      • Receiver - optional; [ReceiverCapabilities]
        • XAddr [anyURI]
          The address of the receiver service.
        • RTP_Multicast [boolean]
          Indicates whether the device can receive RTP multicast streams.
        • RTP_TCP [boolean]
          Indicates whether the device can receive RTP/TCP streams
        • RTP_RTSP_TCP [boolean]
          Indicates whether the device can receive RTP/RTSP/TCP streams.
        • SupportedReceivers [int]
          The maximum number of receivers supported by the device.
        • MaximumRTSPURILength [int]
          The maximum allowed length for RTSP URIs.
      • AnalyticsDevice - optional; [AnalyticsDeviceCapabilities]
        • XAddr [anyURI]
        • RuleSupport - optional; [boolean]
          Obsolete property.
        • Extension - optional; [AnalyticsDeviceExtension]
      • Extensions - optional; [CapabilitiesExtension2]

GetServices

GetServices(IncludeCapability)

Returns information about services on the device.

Input
  • IncludeCapability [boolean]
    Indicates if the service capabilities (untyped) should be included in the response.
Output
  • Service - unbounded; [Service]
    Each Service element contains information about one service.
    • Namespace [anyURI]
      Namespace of the service being described. This parameter allows to match the service capabilities to the service. Note that only one set of capabilities is supported per namespace.
    • XAddr [anyURI]
      The transport addresses where the service can be reached. The scheme and IP part shall match the one used in the request (i.e. the GetServices request).
    • Capabilities - optional; [complexType]
    • Version [OnvifVersion]
      The version of the service (not the ONVIF core spec version).
      • Major [int]
        Major version number.
      • Minor [int]
        Two digit minor version number. If major version number is less than "16", X.0.1 maps to "01" and X.2.1 maps to "21" where X stands for Major version number. Otherwise, minor number is month of release, such as "06" for June.

GetDeviceInformation

GetDeviceInformation()

This operation gets basic device information from the device.

Output
  • Manufacturer [string]
    The manufactor of the device.
  • Model [string]
    The device model.
  • FirmwareVersion [string]
    The firmware version in the device.
  • SerialNumber [string]
    The serial number of the device.
  • HardwareId [string]
    The hardware ID of the device.

SendAuxiliaryCommand

SendAuxiliaryCommand(AuxiliaryCommand)

Manage auxiliary commands supported by a device, such as controlling an Infrared (IR) lamp, a heater or a wiper or a thermometer that is connected to the device.

The supported commands can be retrieved via the AuxiliaryCommands capability.

Although the name of the auxiliary commands can be freely defined, commands starting with the prefix tt: are reserved to define frequently used commands and these reserved commands shall all share the "tt:command|parameter" syntax.

  • tt:Wiper|On - Request to start the wiper.
  • tt:Wiper|Off - Request to stop the wiper.
  • tt:Washer|On - Request to start the washer.
  • tt:Washer|Off - Request to stop the washer.
  • tt:WashingProcedure|On - Request to start the washing procedure.
  • tt:WashingProcedure|Off - Request to stop the washing procedure.
  • tt:IRLamp|On - Request to turn ON an IR illuminator attached to the unit.
  • tt:IRLamp|Off - Request to turn OFF an IR illuminator attached to the unit.
  • tt:IRLamp|Auto - Request to configure an IR illuminator attached to the unit so that it automatically turns ON and OFF.

A device that indicates auxiliary service capability shall support this command.

Input
  • AuxiliaryCommand [AuxiliaryData]
    Maximum length: 128
Output
  • AuxiliaryCommandResponse - optional; [AuxiliaryData]
    Maximum length: 128

SetSystemDateAndTime

SetSystemDateAndTime(
    DateTimeType,
    DaylightSavings,
    TimeZone=None,
    UTCDateTime=None,
)

This operation sets the device system date and time.

The device shall support the configuration of the daylight saving setting and of the manual system date and time (if applicable) or indication of NTP time (if applicable) through the SetSystemDateAndTime command.

If system time and date are set manually, the client shall include UTCDateTime in the request.

A TimeZone token which is not formed according to the rules of IEEE 1003.1 section 8.3 is considered as invalid timezone.

The DayLightSavings flag should be set to true to activate any DST settings of the TimeZone string. Clear the DayLightSavings flag if the DST portion of the TimeZone settings should be ignored.

Input
  • DateTimeType [SetDateTimeType]
    Defines if the date and time is set via NTP or manually.
    Enum Value Enum Description
    Manual Indicates that the date and time are set manually.
    NTP Indicates that the date and time are set through NTP
  • DaylightSavings [boolean]
    Automatically adjust Daylight savings if defined in TimeZone.
  • TimeZone - optional; [TimeZone]
    The time zone in POSIX 1003.1 format
    • TZ [token]
      Posix timezone string.
  • UTCDateTime - optional; [DateTime]
    Date and time in UTC. If time is obtained via NTP, UTCDateTime has no meaning
    • Time [Time]
      • Hour [int]
        Range is 0 to 23.
      • Minute [int]
        Range is 0 to 59.
      • Second [int]
        Range is 0 to 61 (typically 59).
    • Date [Date]
      • Year [int]
      • Month [int]
        Range is 1 to 12.
      • Day [int]
        Range is 1 to 31.

GetSystemDateAndTime

GetSystemDateAndTime()

This operation gets the device system date and time.

The device shall support the return of the daylight saving setting and of the manual system date and time (if applicable) or indication of NTP time (if applicable) through the GetSystemDateAndTime command.

A device shall provide the UTCDateTime information.

Output
  • SystemDateAndTime [SystemDateTime]
    Contains information whether system date and time are set manually or by NTP, daylight savings is on or off, time zone in POSIX 1003.1 format and system date and time in UTC and also local system date and time.
    • DateTimeType [SetDateTimeType]
      Indicates if the time is set manually or through NTP.
      Enum Value Enum Description
      Manual Indicates that the date and time are set manually.
      NTP Indicates that the date and time are set through NTP
    • DaylightSavings [boolean]
      Informative indicator whether daylight savings is currently on/off.
    • TimeZone - optional; [TimeZone]
      Timezone information in Posix format.
      • TZ [token]
        Posix timezone string.
    • UTCDateTime - optional; [DateTime]
      Current system date and time in UTC format. This field is mandatory since version 2.0.
      • Time [Time]
        • Hour [int]
          Range is 0 to 23.
        • Minute [int]
          Range is 0 to 59.
        • Second [int]
          Range is 0 to 61 (typically 59).
      • Date [Date]
        • Year [int]
        • Month [int]
          Range is 1 to 12.
        • Day [int]
          Range is 1 to 31.
    • LocalDateTime - optional; [DateTime]
      Date and time in local format.
      • Time [Time]
        • Hour [int]
          Range is 0 to 23.
        • Minute [int]
          Range is 0 to 59.
        • Second [int]
          Range is 0 to 61 (typically 59).
      • Date [Date]
        • Year [int]
        • Month [int]
          Range is 1 to 12.
        • Day [int]
          Range is 1 to 31.
    • Extension - optional; [SystemDateTimeExtension]

SetSystemFactoryDefault

SetSystemFactoryDefault(FactoryDefault)

This operation reloads the parameters on the device to their factory default values.

Input
  • FactoryDefault [FactoryDefaultType]
    Specifies the factory default action type.
    Enum Value Enum Description
    Hard Indicates that a hard factory default is requested.
    Soft Indicates that a soft factory default is requested.

UpgradeSystemFirmware

UpgradeSystemFirmware(Firmware)

This operation upgrades a device firmware version.

After a successful upgrade the response message is sent before the device reboots. The device should support firmware upgrade through the UpgradeSystemFirmware command. The exact format of the firmware data is outside the scope of this standard.

Input
  • Firmware [AttachmentData]
    • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
    • Include
Output
  • Message - optional; [string]

SystemReboot

SystemReboot()

This operation reboots the device.

Output
  • Message [string]
    Contains the reboot message sent by the device.

RestoreSystem

RestoreSystem(BackupFiles)

This operation restores the system backup configuration files(s) previously retrieved from a device.

The device should support restore of backup configuration file(s) through the RestoreSystem command. The exact format of the backup configuration file(s) is outside the scope of this standard. If the command is supported, it shall accept backup files returned by the GetSystemBackup command.

Input
  • BackupFiles - unbounded; [BackupFile]
    • Name [string]
    • Data [AttachmentData]
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Include

GetSystemBackup

GetSystemBackup()

This operation is retrieves system backup configuration file(s) from a device.

The device should support return of back up configuration file(s) through the GetSystemBackup command. The backup is returned with reference to a name and mime-type together with binary data. The exact format of the backup configuration files is outside the scope of this standard.

Output
  • BackupFiles - unbounded; [BackupFile]
    • Name [string]
    • Data [AttachmentData]
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Include

GetSystemLog

GetSystemLog(LogType)

This operation gets a system log from the device.

The exact format of the system logs is outside the scope of this standard.

Input
  • LogType [SystemLogType]
    Specifies the type of system log to get.
    Enum Value Enum Description
    System Indicates that a system log is requested.
    Access Indicates that a access log is requested.
Output
  • SystemLog [SystemLog]
    Contains the system log information.
    • Binary - optional; [AttachmentData]
      The log information as attachment data.
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Include
    • String - optional; [string]
      The log information as character data.

GetSystemSupportInformation

GetSystemSupportInformation()

This operation gets arbitrary device diagnostics information from the device.

Output
  • SupportInformation [SupportInformation]
    Contains the arbitary device diagnostics information.
    • Binary - optional; [AttachmentData]
      The support information as attachment data.
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Include
    • String - optional; [string]
      The support information as character data.

GetScopes

GetScopes()

This operation requests the scope parameters of a device.

The scope parameters are used in the device discovery to match a probe message, see Section 7.

The Scope parameters are of two different types:

  • Fixed
  • Configurable

Fixed scope parameters are permanent device characteristics and cannot be removed through the device management interface. The scope type is indicated in the scope list returned in the get scope parameters response. A device shall support retrieval of discovery scope parameters through the GetScopes command. As some scope parameters are mandatory, the device shall return a non-empty scope list in the response.

Output
  • Scopes - unbounded; [Scope]
    Contains a list of URI definining the device scopes. Scope parameters can be of two types: fixed and configurable. Fixed parameters can not be altered.
    • ScopeDef [ScopeDefinition]
      Indicates if the scope is fixed or configurable.
      Enum Value Enum Description
      Fixed —
      Configurable —
    • ScopeItem [anyURI]
      Scope item URI.

SetScopes

SetScopes(Scopes)

This operation sets the scope parameters of a device.

The scope parameters are used in the device discovery to match a probe message. This operation replaces all existing configurable scope parameters (not fixed parameters). If this shall be avoided, one should use the scope add command instead. The device shall support configuration of discovery scope parameters through the SetScopes command.

Input
  • Scopes - unbounded; [anyURI]
    Contains a list of scope parameters that will replace all existing configurable scope parameters.

AddScopes

AddScopes(ScopeItem)

This operation adds new configurable scope parameters to a device.

The scope parameters are used in the device discovery to match a probe message. The device shall support addition of discovery scope parameters through the AddScopes command.

Input
  • ScopeItem - unbounded; [anyURI]
    Contains a list of new configurable scope parameters that will be added to the existing configurable scope.

RemoveScopes

RemoveScopes(ScopeItem)

This operation deletes scope-configurable scope parameters from a device.

The scope parameters are used in the device discovery to match a probe message, see Section 7. The device shall support deletion of discovery scope parameters through the RemoveScopes command. Table

Input
  • ScopeItem - unbounded; [anyURI]
    Contains a list of URIs that should be removed from the device scope.
    Note that the response message always will match the request or an error will be returned. The use of the response is for that reason deprecated.
Output
  • ScopeItem - optional, unbounded; [anyURI]
    Contains a list of URIs that has been removed from the device scope

GetDiscoveryMode

GetDiscoveryMode()

This operation gets the discovery mode of a device.

See Section 7.2 for the definition of the different device discovery modes. The device shall support retrieval of the discovery mode setting through the GetDiscoveryMode command.

Output
  • DiscoveryMode [DiscoveryMode]
    Indicator of discovery mode: Discoverable, NonDiscoverable.
    Enum Value Enum Description
    Discoverable —
    NonDiscoverable —

SetDiscoveryMode

SetDiscoveryMode(DiscoveryMode)

This operation sets the discovery mode operation of a device.

See Section 7.2 for the definition of the different device discovery modes. The device shall support configuration of the discovery mode setting through the SetDiscoveryMode command.

Input
  • DiscoveryMode [DiscoveryMode]
    Indicator of discovery mode: Discoverable, NonDiscoverable.
    Enum Value Enum Description
    Discoverable —
    NonDiscoverable —

GetRemoteDiscoveryMode

GetRemoteDiscoveryMode()

This operation gets the remote discovery mode of a device.

See Section 7.4 for the definition of remote discovery extensions. A device that supports remote discovery shall support retrieval of the remote discovery mode setting through the GetRemoteDiscoveryMode command.

Output
  • RemoteDiscoveryMode [DiscoveryMode]
    Indicator of discovery mode: Discoverable, NonDiscoverable.
    Enum Value Enum Description
    Discoverable —
    NonDiscoverable —

SetRemoteDiscoveryMode

SetRemoteDiscoveryMode(RemoteDiscoveryMode)

This operation sets the remote discovery mode of operation of a device.

See Section 7.4 for the definition of remote discovery remote extensions. A device that supports remote discovery shall support configuration of the discovery mode setting through the SetRemoteDiscoveryMode command.

Input
  • RemoteDiscoveryMode [DiscoveryMode]
    Indicator of discovery mode: Discoverable, NonDiscoverable.
    Enum Value Enum Description
    Discoverable —
    NonDiscoverable —

GetDPAddresses

GetDPAddresses()

This operation gets the remote DP address or addresses from a device.

If the device supports remote discovery, as specified in Section 7.4, the device shall support retrieval of the remote DP address(es) through the GetDPAddresses command.

Output
  • DPAddress - optional, unbounded; [NetworkHost]
    • Type [NetworkHostType]
      Network host type: IPv4, IPv6 or DNS.
      Enum Value Enum Description
      IPv4 —
      IPv6 —
      DNS —
    • IPv4Address - optional; [IPv4Address]
      IPv4 address.
    • IPv6Address - optional; [IPv6Address]
      IPv6 address.
    • DNSname - optional; [DNSName]
      DNS name.
    • Extension - optional; [NetworkHostExtension]

GetEndpointReference

GetEndpointReference()

A client can ask for the device service endpoint reference address property that can be used to derive the password equivalent for remote user operation.

The device shall support the GetEndpointReference command returning the address property of the device service endpoint reference.

Output
  • GUID [string]

GetRemoteUser

GetRemoteUser()

This operation returns the configured remote user (if any).

A device supporting remote user handling shall support this operation. The user is only valid for the WS-UserToken profile or as an HTTP / RTSP user.

The algorithm to use for deriving the password is described in section 5.12.2.1 of the core specification.

Output
  • RemoteUser - optional; [RemoteUser]
    • Username [string]
    • Password - optional; [string]
    • UseDerivedPassword [boolean]

SetRemoteUser

SetRemoteUser(RemoteUser=None)

This operation sets the remote user.

A device supporting remote user handling shall support this operation. The user is only valid for the WS-UserToken profile or as an HTTP / RTSP user.

The password that is set shall always be the original (not derived) password.

If UseDerivedPassword is set password derivation shall be done by the device when connecting to a remote device.The algorithm to use for deriving the password is described in section 5.12.2.1 of the core specification.

To remove the remote user SetRemoteUser should be called without the RemoteUser parameter.

Input
  • RemoteUser - optional; [RemoteUser]
    • Username [string]
    • Password - optional; [string]
    • UseDerivedPassword [boolean]

GetUserRoles

GetUserRoles(UserRole=None)

0.2.7

This operation returns the editable user levels configured in the device.

Whenever an editable user level is passed in the request, information only about that level is returned.

Input
  • UserRole - optional; [string]
Output
  • UserRole - optional, unbounded; [UserRole]
    • Name [string]
      Name of the editable user level.
    • Functions [StringList]
      Names of the permitted function for the editable user level. The names must be prepended by the namespace prefix and colon.

SetUserRole

SetUserRole(UserRole)

0.2.7

This operation configures an editable user level in the device.

If the level passed in UserRole already exists in the device, its configuration is overwritten. Otherwise, a new editable user level is created.

Input
  • UserRole [UserRole]
    • Name [string]
      Name of the editable user level.
    • Functions [StringList]
      Names of the permitted function for the editable user level. The names must be prepended by the namespace prefix and colon.

DeleteUserRole

DeleteUserRole(UserRole)

0.2.7

This operation deletes an editable user level in the device.

Input
  • UserRole [string]

GetUsers

GetUsers()

This operation lists the registered users and corresponding credentials on a device.

The device shall support retrieval of registered device users and their credentials for the user token through the GetUsers command.

Output
  • User - optional, unbounded; [User]
    Contains a list of the onvif users and following information is included in each entry: username and user level.
    • Username [string]
      Username string.
    • Password - optional; [string]
      Password string.
    • UserLevel [UserLevel]
      User level string.
      Enum Value Enum Description
      Administrator —
      Operator —
      User —
      Anonymous —
      Extended —
    • Extension - optional; [UserExtension]
      • Roles [StringList]
        The names of the roles assigned to the user.

CreateUsers

CreateUsers(User)

This operation creates new device users and corresponding credentials on a device for authentication purposes.

The device shall support creation of device users and their credentials through the CreateUsers command. Either all users are created successfully or a fault message shall be returned without creating any user.

ONVIF compliant devices are recommended to support password length of at least 28 bytes, as clients may follow the password derivation mechanism which results in 'password equivalent' of length 28 bytes, as described in section 3.1.2 of the ONVIF security white paper.

Input
  • User - unbounded; [User]
    Creates new device users and corresponding credentials. Each user entry includes: username, password and user level. Either all users are created successfully or a fault message MUST be returned without creating any user. If trying to create several users with exactly the same username the request is rejected and no users are created. If password is missing, then fault message Too weak password is returned.
    • Username [string]
      Username string.
    • Password - optional; [string]
      Password string.
    • UserLevel [UserLevel]
      User level string.
      Enum Value Enum Description
      Administrator —
      Operator —
      User —
      Anonymous —
      Extended —
    • Extension - optional; [UserExtension]
      • Roles [StringList]
        The names of the roles assigned to the user.

DeleteUsers

DeleteUsers(Username)

This operation deletes users on a device.

The device shall support deletion of device users and their credentials through the DeleteUsers command. A device may have one or more fixed users that cannot be deleted to ensure access to the unit. Either all users are deleted successfully or a fault message shall be returned and no users be deleted.

Input
  • Username - unbounded; [string]
    Deletes users on an device and there may exist users that cannot be deleted to ensure access to the unit. Either all users are deleted successfully or a fault message MUST be returned and no users be deleted. If a username exists multiple times in the request, then a fault message is returned.

SetUser

SetUser(User)

This operation updates the settings for one or several users on a device for authentication purposes.

The device shall support update of device users and their credentials through the SetUser command. Either all change requests are processed successfully or a fault message shall be returned and no change requests be processed.

Input
  • User - unbounded; [User]
    Updates the credentials for one or several users on an device. Either all change requests are processed successfully or a fault message MUST be returned. If the request contains the same username multiple times, a fault message is returned.
    • Username [string]
      Username string.
    • Password - optional; [string]
      Password string.
    • UserLevel [UserLevel]
      User level string.
      Enum Value Enum Description
      Administrator —
      Operator —
      User —
      Anonymous —
      Extended —
    • Extension - optional; [UserExtension]
      • Roles [StringList]
        The names of the roles assigned to the user.

GetWsdlUrl

GetWsdlUrl()

This method allows to provide a URL where product specific WSDL and schema definitions can be retrieved.

This method is deprecated.

Output
  • WsdlUrl [anyURI]

GetPasswordComplexityOptions

GetPasswordComplexityOptions()

This method allows retrieval of all the available parameters and their valid ranges for the password complexity configuration.

Output
  • MinLenRange - optional; [IntRange]
    • Min [int]
    • Max [int]
  • UppercaseRange - optional; [IntRange]
    • Min [int]
    • Max [int]
  • NumberRange - optional; [IntRange]
    • Min [int]
    • Max [int]
  • SpecialCharsRange - optional; [IntRange]
    • Min [int]
    • Max [int]
  • BlockUsernameOccurrenceSupported - optional; [boolean]
  • PolicyConfigurationLockSupported - optional; [boolean]

GetPasswordComplexityConfiguration

GetPasswordComplexityConfiguration()

This method allows retrieval of the current password complexity configuration settings.

Output
  • MinLen - optional; [int]
  • Uppercase - optional; [int]
  • Number - optional; [int]
  • SpecialChars - optional; [int]
  • BlockUsernameOccurrence - optional; [boolean]
  • PolicyConfigurationLocked - optional; [boolean]

SetPasswordComplexityConfiguration

SetPasswordComplexityConfiguration(
    MinLen=None,
    Uppercase=None,
    Number=None,
    SpecialChars=None,
    BlockUsernameOccurrence=None,
    PolicyConfigurationLocked=None,
)

This method allows setting of the password complexity configuration.

Input
  • MinLen - optional; [int]
  • Uppercase - optional; [int]
  • Number - optional; [int]
  • SpecialChars - optional; [int]
  • BlockUsernameOccurrence - optional; [boolean]
  • PolicyConfigurationLocked - optional; [boolean]

GetPasswordHistoryConfiguration

GetPasswordHistoryConfiguration()

This method allows retrieval of the current password history configuration settings.

Output
  • Enabled [boolean]
  • Length [int]

SetPasswordHistoryConfiguration

SetPasswordHistoryConfiguration(Enabled, Length)

This method allows setting of the password history configuration.

Input
  • Enabled [boolean]
  • Length [int]

GetAuthFailureWarningOptions

GetAuthFailureWarningOptions()

This method allows retrieval of all the available parameters and their valid ranges for the authentication failure warning configuration.

Output
  • MonitorPeriodRange [IntRange]
    • Min [int]
    • Max [int]
  • AuthFailureRange [IntRange]
    • Min [int]
    • Max [int]

GetAuthFailureWarningConfiguration

GetAuthFailureWarningConfiguration()

This method allows retrieval of the current authentication failure warning configuration settings.

Output
  • Enabled [boolean]
  • MonitorPeriod [int]
  • MaxAuthFailures [int]

SetAuthFailureWarningConfiguration

SetAuthFailureWarningConfiguration(
    Enabled, MonitorPeriod, MaxAuthFailures
)

This method allows setting of the authentication failure warning configuration.

Input
  • Enabled [boolean]
  • MonitorPeriod [int]
  • MaxAuthFailures [int]

SetHashingAlgorithm

SetHashingAlgorithm(Algorithm)

This operation sets the hashing algorithm(s) used in HTTP and RTSP Digest Authentication.

Input
  • Algorithm [StringList]
    Hashing algorithm(s) used in HTTP and RTSP Digest Authentication.

SetDPAddresses

SetDPAddresses(DPAddress=None)

This operation sets the remote DP address or addresses on a device.

If the device supports remote discovery, as specified in Section 7.4, the device shall support configuration of the remote DP address(es) through the SetDPAddresses command.

Input
  • DPAddress - optional, unbounded; [NetworkHost]
    • Type [NetworkHostType]
      Network host type: IPv4, IPv6 or DNS.
      Enum Value Enum Description
      IPv4 —
      IPv6 —
      DNS —
    • IPv4Address - optional; [IPv4Address]
      IPv4 address.
    • IPv6Address - optional; [IPv6Address]
      IPv6 address.
    • DNSname - optional; [DNSName]
      DNS name.
    • Extension - optional; [NetworkHostExtension]

GetHostname

GetHostname()

This operation is used by an endpoint to get the hostname from a device.

The device shall return its hostname configurations through the GetHostname command.

Output
  • HostnameInformation [HostnameInformation]
    Contains the hostname information.
    • FromDHCP [boolean]
      Indicates whether the hostname has been obtained from DHCP or not.
    • Name - optional; [token]
      Indicates the device hostname or an empty string if no hostname has been assigned.
    • Extension - optional; [HostnameInformationExtension]

SetHostname

SetHostname(Name)

This operation sets the hostname on a device.

It shall be possible to set the device hostname configurations through the SetHostname command.

A device shall accept string formatted according to RFC 1123 section 2.1 or alternatively to RFC 952, other string shall be considered as invalid strings.

Input
  • Name [token]
    The hostname to set.

SetHostnameFromDHCP

SetHostnameFromDHCP(FromDHCP)

This operation controls whether the hostname is set manually or retrieved via DHCP.

Input
  • FromDHCP [boolean]
    True if the hostname shall be obtained via DHCP.
Output
  • RebootNeeded [boolean]
    Indicates whether or not a reboot is required after configuration updates.

GetDNS

GetDNS()

This operation gets the DNS settings from a device.

The device shall return its DNS configurations through the GetDNS command.

Output
  • DNSInformation [DNSInformation]
    DNS information.
    • FromDHCP [boolean]
      Indicates whether or not DNS information is retrieved from DHCP.
    • SearchDomain - optional, unbounded; [token]
      Search domain.
    • DNSFromDHCP - optional, unbounded; [IPAddress]
      List of DNS addresses received from DHCP.
      • Type [IPType]
        Indicates if the address is an IPv4 or IPv6 address.
        Enum Value Enum Description
        IPv4 —
        IPv6 —
      • IPv4Address - optional; [IPv4Address]
        IPv4 address.
      • IPv6Address - optional; [IPv6Address]
        IPv6 address
    • DNSManual - optional, unbounded; [IPAddress]
      List of manually entered DNS addresses.
      • Type [IPType]
        Indicates if the address is an IPv4 or IPv6 address.
        Enum Value Enum Description
        IPv4 —
        IPv6 —
      • IPv4Address - optional; [IPv4Address]
        IPv4 address.
      • IPv6Address - optional; [IPv6Address]
        IPv6 address
    • Extension - optional; [DNSInformationExtension]

SetDNS

SetDNS(FromDHCP, SearchDomain=None, DNSManual=None)

This operation sets the DNS settings on a device.

It shall be possible to set the device DNS configurations through the SetDNS command.

Input
  • FromDHCP [boolean]
    Indicate if the DNS address is to be retrieved using DHCP.
  • SearchDomain - optional, unbounded; [token]
    DNS search domain.
  • DNSManual - optional, unbounded; [IPAddress]
    DNS address(es) set manually.
    • Type [IPType]
      Indicates if the address is an IPv4 or IPv6 address.
      Enum Value Enum Description
      IPv4 —
      IPv6 —
    • IPv4Address - optional; [IPv4Address]
      IPv4 address.
    • IPv6Address - optional; [IPv6Address]
      IPv6 address

GetNTP

GetNTP()

This operation gets the NTP settings from a device.

If the device supports NTP, it shall be possible to get the NTP server settings through the GetNTP command.

Output
  • NTPInformation [NTPInformation]
    NTP information.
    • FromDHCP [boolean]
      Indicates if NTP information is to be retrieved by using DHCP.
    • NTPFromDHCP - optional, unbounded; [NetworkHost]
      List of NTP addresses retrieved by using DHCP.
      • Type [NetworkHostType]
        Network host type: IPv4, IPv6 or DNS.
        Enum Value Enum Description
        IPv4 —
        IPv6 —
        DNS —
      • IPv4Address - optional; [IPv4Address]
        IPv4 address.
      • IPv6Address - optional; [IPv6Address]
        IPv6 address.
      • DNSname - optional; [DNSName]
        DNS name.
      • Extension - optional; [NetworkHostExtension]
    • NTPManual - optional, unbounded; [NetworkHost]
      List of manually entered NTP addresses.
      • Type [NetworkHostType]
        Network host type: IPv4, IPv6 or DNS.
        Enum Value Enum Description
        IPv4 —
        IPv6 —
        DNS —
      • IPv4Address - optional; [IPv4Address]
        IPv4 address.
      • IPv6Address - optional; [IPv6Address]
        IPv6 address.
      • DNSname - optional; [DNSName]
        DNS name.
      • Extension - optional; [NetworkHostExtension]
    • Extension - optional; [NTPInformationExtension]

SetNTP

SetNTP(FromDHCP, NTPManual=None)

This operation sets the NTP settings on a device.

If the device supports NTP, it shall be possible to set the NTP server settings through the SetNTP command.

A device shall accept string formatted according to RFC 1123 section 2.1 or alternatively to RFC 952, other string shall be considered as invalid strings.

Changes to the NTP server list will not affect the clock mode DateTimeType. Use SetSystemDateAndTime to activate NTP operation.

Input
  • FromDHCP [boolean]
    Indicate if NTP address information is to be retrieved using DHCP.
  • NTPManual - optional, unbounded; [NetworkHost]
    Manual NTP settings.
    • Type [NetworkHostType]
      Network host type: IPv4, IPv6 or DNS.
      Enum Value Enum Description
      IPv4 —
      IPv6 —
      DNS —
    • IPv4Address - optional; [IPv4Address]
      IPv4 address.
    • IPv6Address - optional; [IPv6Address]
      IPv6 address.
    • DNSname - optional; [DNSName]
      DNS name.
    • Extension - optional; [NetworkHostExtension]

GetDynamicDNS

GetDynamicDNS()

This operation gets the dynamic DNS settings from a device.

If the device supports dynamic DNS as specified in [RFC 2136] and [RFC 4702], it shall be possible to get the type, name and TTL through the GetDynamicDNS command.

Output
  • DynamicDNSInformation [DynamicDNSInformation]
    Dynamic DNS information.
    • Type [DynamicDNSType]
      Dynamic DNS type.
      Enum Value Enum Description
      NoUpdate —
      ClientUpdates —
      ServerUpdates —
    • Name - optional; [DNSName]
      DNS name.
    • TTL - optional; [duration]
      Time to live.
    • Extension - optional; [DynamicDNSInformationExtension]

SetDynamicDNS

SetDynamicDNS(Type, Name=None, TTL=None)

This operation sets the dynamic DNS settings on a device.

If the device supports dynamic DNS as specified in [RFC 2136] and [RFC 4702], it shall be possible to set the type, name and TTL through the SetDynamicDNS command.

Input
  • Type [DynamicDNSType]
    Dynamic DNS type.
    Enum Value Enum Description
    NoUpdate —
    ClientUpdates —
    ServerUpdates —
  • Name - optional; [DNSName]
    DNS name.
  • TTL - optional; [duration]
    DNS record time to live.

GetNetworkInterfaces

GetNetworkInterfaces()

This operation gets the network interface configuration from a device.

The device shall support return of network interface configuration settings as defined by the NetworkInterface type through the GetNetworkInterfaces command.

Output
  • NetworkInterfaces - unbounded; [NetworkInterface]
    List of network interfaces.
    • Enabled [boolean]
      Indicates whether or not an interface is enabled.
    • Info - optional; [NetworkInterfaceInfo]
      Network interface information
      • Name - optional; [string]
        Network interface name, for example eth0.
      • HwAddress [HwAddress]
        Network interface MAC address.
      • MTU - optional; [int]
        Maximum transmission unit.
    • Link - optional; [NetworkInterfaceLink]
      Link configuration.
      • AdminSettings [NetworkInterfaceConnectionSetting]
        Configured link settings.
        • AutoNegotiation [boolean]
          Auto negotiation on/off.
        • Speed [int]
          Speed.
        • Duplex [Duplex]
          Duplex type, Half or Full.
          Enum Value Enum Description
          Full —
          Half —
      • OperSettings [NetworkInterfaceConnectionSetting]
        Current active link settings.
        • AutoNegotiation [boolean]
          Auto negotiation on/off.
        • Speed [int]
          Speed.
        • Duplex [Duplex]
          Duplex type, Half or Full.
          Enum Value Enum Description
          Full —
          Half —
      • InterfaceType [IANA-IfTypes]
        Integer indicating interface type, for example: 6 is ethernet.
    • IPv4 - optional; [IPv4NetworkInterface]
      IPv4 network interface configuration.
      • Enabled [boolean]
        Indicates whether or not IPv4 is enabled.
      • Config [IPv4Configuration]
        IPv4 configuration.
        • Manual - optional, unbounded; [PrefixedIPv4Address]
          List of manually added IPv4 addresses.
          • Address [IPv4Address]
            IPv4 address
          • PrefixLength [int]
            Prefix/submask length
        • LinkLocal - optional; [PrefixedIPv4Address]
          Link local address.
          • Address [IPv4Address]
            IPv4 address
          • PrefixLength [int]
            Prefix/submask length
        • FromDHCP - optional; [PrefixedIPv4Address]
          IPv4 address configured by using DHCP.
          • Address [IPv4Address]
            IPv4 address
          • PrefixLength [int]
            Prefix/submask length
        • DHCP [boolean]
          Indicates whether or not DHCP is used.
    • IPv6 - optional; [IPv6NetworkInterface]
      IPv6 network interface configuration.
      • Enabled [boolean]
        Indicates whether or not IPv6 is enabled.
      • Config - optional; [IPv6Configuration]
        IPv6 configuration.
        • AcceptRouterAdvert - optional; [boolean]
          Indicates whether router advertisement is used.
        • DHCP [IPv6DHCPConfiguration]
          DHCP configuration.
          Enum Value Enum Description
          Auto —
          Stateful —
          Stateless —
          Off —
        • Manual - optional, unbounded; [PrefixedIPv6Address]
          List of manually entered IPv6 addresses.
          • Address [IPv6Address]
            IPv6 address
          • PrefixLength [int]
            Prefix/submask length
        • LinkLocal - optional, unbounded; [PrefixedIPv6Address]
          List of link local IPv6 addresses.
          • Address [IPv6Address]
            IPv6 address
          • PrefixLength [int]
            Prefix/submask length
        • FromDHCP - optional, unbounded; [PrefixedIPv6Address]
          List of IPv6 addresses configured by using DHCP.
          • Address [IPv6Address]
            IPv6 address
          • PrefixLength [int]
            Prefix/submask length
        • FromRA - optional, unbounded; [PrefixedIPv6Address]
          List of IPv6 addresses configured by using router advertisement.
          • Address [IPv6Address]
            IPv6 address
          • PrefixLength [int]
            Prefix/submask length
        • Extension - optional; [IPv6ConfigurationExtension]
    • Extension - optional; [NetworkInterfaceExtension]
      • InterfaceType [IANA-IfTypes]
      • Dot3 - optional, unbounded; [Dot3Configuration]
        Extension point prepared for future 802.3 configuration.
      • Dot11 - optional, unbounded; [Dot11Configuration]
        • SSID [Dot11SSIDType]
          Minimum length: 1
          Maximum length: 32
        • Mode [Dot11StationMode]
          Enum Value Enum Description
          Ad-hoc —
          Infrastructure —
          Extended —
        • Alias [Name]
          Maximum length: 64
        • Priority [NetworkInterfaceConfigPriority]
          Minimum value: 0
          Maximum value: 31
        • Security [Dot11SecurityConfiguration]
          • Mode [Dot11SecurityMode]
            Enum Value Enum Description
            None —
            WEP —
            PSK —
            Dot1X —
            Extended —
          • Algorithm - optional; [Dot11Cipher]
            Enum Value Enum Description
            CCMP —
            TKIP —
            Any —
            Extended —
          • PSK - optional; [Dot11PSKSet]
            • Key - optional; [Dot11PSK]
              According to IEEE802.11-2007 H.4.1 the RSNA PSK consists of 256 bits, or 64 octets when represented in hex
              Either Key or Passphrase shall be given, if both are supplied Key shall be used by the device and Passphrase ignored.
              Exact length: 32
            • Passphrase - optional; [Dot11PSKPassphrase]
              According to IEEE802.11-2007 H.4.1 a pass-phrase is a sequence of between 8 and 63 ASCII-encoded characters and each character in the pass-phrase must have an encoding in the range of 32 to 126 (decimal),inclusive.
              If only Passphrase is supplied the Key shall be derived using the algorithm described in IEEE802.11-2007 section H.4
              Pattern: [ -~]{8,63}
            • Extension - optional; [Dot11PSKSetExtension]
          • Dot1X - optional; [ReferenceToken]
            Maximum length: 64
          • Extension - optional; [Dot11SecurityConfigurationExtension]
      • Extension - optional; [NetworkInterfaceExtension2]

SetNetworkInterfaces

SetNetworkInterfaces(InterfaceToken, NetworkInterface)

This operation sets the network interface configuration on a device.

The device shall support network configuration of supported network interfaces through the SetNetworkInterfaces command.

For interoperability with a client unaware of the IEEE 802.11 extension a device shall retain its IEEE 802.11 configuration if the IEEE 802.11 configuration element isn't present in the request.

Input
  • InterfaceToken [ReferenceToken]
    Symbolic network interface name.
    Maximum length: 64
  • NetworkInterface [NetworkInterfaceSetConfiguration]
    Network interface name.
    • Enabled - optional; [boolean]
      Indicates whether or not an interface is enabled.
    • Link - optional; [NetworkInterfaceConnectionSetting]
      Link configuration.
      • AutoNegotiation [boolean]
        Auto negotiation on/off.
      • Speed [int]
        Speed.
      • Duplex [Duplex]
        Duplex type, Half or Full.
        Enum Value Enum Description
        Full —
        Half —
    • MTU - optional; [int]
      Maximum transmission unit.
    • IPv4 - optional; [IPv4NetworkInterfaceSetConfiguration]
      IPv4 network interface configuration.
      • Enabled - optional; [boolean]
        Indicates whether or not IPv4 is enabled.
      • Manual - optional, unbounded; [PrefixedIPv4Address]
        List of manually added IPv4 addresses.
        • Address [IPv4Address]
          IPv4 address
        • PrefixLength [int]
          Prefix/submask length
      • DHCP - optional; [boolean]
        Indicates whether or not DHCP is used.
    • IPv6 - optional; [IPv6NetworkInterfaceSetConfiguration]
      IPv6 network interface configuration.
      • Enabled - optional; [boolean]
        Indicates whether or not IPv6 is enabled.
      • AcceptRouterAdvert - optional; [boolean]
        Indicates whether router advertisement is used.
      • Manual - optional, unbounded; [PrefixedIPv6Address]
        List of manually added IPv6 addresses.
        • Address [IPv6Address]
          IPv6 address
        • PrefixLength [int]
          Prefix/submask length
      • DHCP - optional; [IPv6DHCPConfiguration]
        DHCP configuration.
        Enum Value Enum Description
        Auto —
        Stateful —
        Stateless —
        Off —
    • Extension - optional; [NetworkInterfaceSetConfigurationExtension]
      • Dot3 - optional, unbounded; [Dot3Configuration]
      • Dot11 - optional, unbounded; [Dot11Configuration]
        • SSID [Dot11SSIDType]
          Minimum length: 1
          Maximum length: 32
        • Mode [Dot11StationMode]
          Enum Value Enum Description
          Ad-hoc —
          Infrastructure —
          Extended —
        • Alias [Name]
          Maximum length: 64
        • Priority [NetworkInterfaceConfigPriority]
          Minimum value: 0
          Maximum value: 31
        • Security [Dot11SecurityConfiguration]
          • Mode [Dot11SecurityMode]
            Enum Value Enum Description
            None —
            WEP —
            PSK —
            Dot1X —
            Extended —
          • Algorithm - optional; [Dot11Cipher]
            Enum Value Enum Description
            CCMP —
            TKIP —
            Any —
            Extended —
          • PSK - optional; [Dot11PSKSet]
            • Key - optional; [Dot11PSK]
              According to IEEE802.11-2007 H.4.1 the RSNA PSK consists of 256 bits, or 64 octets when represented in hex
              Either Key or Passphrase shall be given, if both are supplied Key shall be used by the device and Passphrase ignored.
              Exact length: 32
            • Passphrase - optional; [Dot11PSKPassphrase]
              According to IEEE802.11-2007 H.4.1 a pass-phrase is a sequence of between 8 and 63 ASCII-encoded characters and each character in the pass-phrase must have an encoding in the range of 32 to 126 (decimal),inclusive.
              If only Passphrase is supplied the Key shall be derived using the algorithm described in IEEE802.11-2007 section H.4
              Pattern: [ -~]{8,63}
            • Extension - optional; [Dot11PSKSetExtension]
          • Dot1X - optional; [ReferenceToken]
            Maximum length: 64
          • Extension - optional; [Dot11SecurityConfigurationExtension]
      • Extension - optional; [NetworkInterfaceSetConfigurationExtension2]
Output
  • RebootNeeded [boolean]
    Indicates whether or not a reboot is required after configuration updates. If a device responds with RebootNeeded set to false, the device can be reached via the new IP address without further action. A client should be aware that a device may not be responsive for a short period of time until it signals availability at the new address via the discovery Hello messages. If a device responds with RebootNeeded set to true, it will be further available under its previous IP address. The settings will only be activated when the device is rebooted via the SystemReboot command.

GetNetworkProtocols

GetNetworkProtocols()

This operation gets defined network protocols from a device.

The device shall support the GetNetworkProtocols command returning configured network protocols.

Output
  • NetworkProtocols - optional, unbounded; [NetworkProtocol]
    Contains an array of defined protocols supported by the device. There are three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be retrieved for each protocol: port and enable/disable.
    • Name [NetworkProtocolType]
      Network protocol type string.
      Enum Value Enum Description
      HTTP —
      HTTPS —
      RTSP —
    • Enabled [boolean]
      Indicates if the protocol is enabled or not.
    • Port - unbounded; [int]
      The port that is used by the protocol.
    • Extension - optional; [NetworkProtocolExtension]

SetNetworkProtocols

SetNetworkProtocols(NetworkProtocols)

This operation configures defined network protocols on a device.

The device shall support configuration of defined network protocols through the SetNetworkProtocols command.

Input
  • NetworkProtocols - unbounded; [NetworkProtocol]
    Configures one or more defined network protocols supported by the device. There are currently three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be set for each protocol: port and enable/disable.
    • Name [NetworkProtocolType]
      Network protocol type string.
      Enum Value Enum Description
      HTTP —
      HTTPS —
      RTSP —
    • Enabled [boolean]
      Indicates if the protocol is enabled or not.
    • Port - unbounded; [int]
      The port that is used by the protocol.
    • Extension - optional; [NetworkProtocolExtension]

GetNetworkDefaultGateway

GetNetworkDefaultGateway()

This operation gets the default gateway settings from a device.

The device shall support the GetNetworkDefaultGateway command returning configured default gateway address(es).

Output
  • NetworkGateway [NetworkGateway]
    Gets the default IPv4 and IPv6 gateway settings from the device.
    • IPv4Address - optional, unbounded; [IPv4Address]
      IPv4 address string.
    • IPv6Address - optional, unbounded; [IPv6Address]
      IPv6 address string.

SetNetworkDefaultGateway

SetNetworkDefaultGateway(
    IPv4Address=None, IPv6Address=None
)

This operation sets the default gateway settings on a device.

The device shall support configuration of default gateway through the SetNetworkDefaultGateway command.

Input
  • IPv4Address - optional, unbounded; [IPv4Address]
    Sets IPv4 gateway address used as default setting.
  • IPv6Address - optional, unbounded; [IPv6Address]
    Sets IPv6 gateway address used as default setting.

GetZeroConfiguration

GetZeroConfiguration()

This operation gets the zero-configuration from a device.

If the device supports dynamic IP configuration according to [RFC3927], it shall support the return of IPv4 zero configuration address and status through the GetZeroConfiguration command.

Devices supporting zero configuration on more than one interface shall use the extension to list the additional interface settings.

Output
  • ZeroConfiguration [NetworkZeroConfiguration]
    Contains the zero-configuration.
    • InterfaceToken [ReferenceToken]
      Unique identifier of network interface.
      Maximum length: 64
    • Enabled [boolean]
      Indicates whether the zero-configuration is enabled or not.
    • Addresses - optional, unbounded; [IPv4Address]
      The zero-configuration IPv4 address(es)
    • Extension - optional; [NetworkZeroConfigurationExtension]
      • Additional - optional, unbounded; [NetworkZeroConfiguration]
        Optional array holding the configuration for the second and possibly further interfaces.
      • Extension - optional; [NetworkZeroConfigurationExtension2]

SetZeroConfiguration

SetZeroConfiguration(InterfaceToken, Enabled)

This operation sets the zero-configuration.

Use GetCapabilities to get if zero-configuration is supported or not.

Input
  • InterfaceToken [ReferenceToken]
    Unique identifier referencing the physical interface.
    Maximum length: 64
  • Enabled [boolean]
    Specifies if the zero-configuration should be enabled or not.

GetIPAddressFilter

GetIPAddressFilter()

This operation gets the IP address filter settings from a device.

If the device supports device access control based on IP filtering rules (denied or accepted ranges of IP addresses), the device shall support the GetIPAddressFilter command.

Output
  • IPAddressFilter [IPAddressFilter]
    • Type [IPAddressFilterType]
      Enum Value Enum Description
      Allow —
      Deny —
    • IPv4Address - optional, unbounded; [PrefixedIPv4Address]
      • Address [IPv4Address]
        IPv4 address
      • PrefixLength [int]
        Prefix/submask length
    • IPv6Address - optional, unbounded; [PrefixedIPv6Address]
      • Address [IPv6Address]
        IPv6 address
      • PrefixLength [int]
        Prefix/submask length
    • Extension - optional; [IPAddressFilterExtension]

SetIPAddressFilter

SetIPAddressFilter(IPAddressFilter)

This operation sets the IP address filter settings on a device.

If the device supports device access control based on IP filtering rules (denied or accepted ranges of IP addresses), the device shall support configuration of IP filtering rules through the SetIPAddressFilter command.

Input
  • IPAddressFilter [IPAddressFilter]
    • Type [IPAddressFilterType]
      Enum Value Enum Description
      Allow —
      Deny —
    • IPv4Address - optional, unbounded; [PrefixedIPv4Address]
      • Address [IPv4Address]
        IPv4 address
      • PrefixLength [int]
        Prefix/submask length
    • IPv6Address - optional, unbounded; [PrefixedIPv6Address]
      • Address [IPv6Address]
        IPv6 address
      • PrefixLength [int]
        Prefix/submask length
    • Extension - optional; [IPAddressFilterExtension]

AddIPAddressFilter

AddIPAddressFilter(IPAddressFilter)

This operation adds an IP filter address to a device.

If the device supports device access control based on IP filtering rules (denied or accepted ranges of IP addresses), the device shall support adding of IP filtering addresses through the AddIPAddressFilter command.

Input
  • IPAddressFilter [IPAddressFilter]
    • Type [IPAddressFilterType]
      Enum Value Enum Description
      Allow —
      Deny —
    • IPv4Address - optional, unbounded; [PrefixedIPv4Address]
      • Address [IPv4Address]
        IPv4 address
      • PrefixLength [int]
        Prefix/submask length
    • IPv6Address - optional, unbounded; [PrefixedIPv6Address]
      • Address [IPv6Address]
        IPv6 address
      • PrefixLength [int]
        Prefix/submask length
    • Extension - optional; [IPAddressFilterExtension]

RemoveIPAddressFilter

RemoveIPAddressFilter(IPAddressFilter)

This operation deletes an IP filter address from a device.

If the device supports device access control based on IP filtering rules (denied or accepted ranges of IP addresses), the device shall support deletion of IP filtering addresses through the RemoveIPAddressFilter command.

Input
  • IPAddressFilter [IPAddressFilter]
    • Type [IPAddressFilterType]
      Enum Value Enum Description
      Allow —
      Deny —
    • IPv4Address - optional, unbounded; [PrefixedIPv4Address]
      • Address [IPv4Address]
        IPv4 address
      • PrefixLength [int]
        Prefix/submask length
    • IPv6Address - optional, unbounded; [PrefixedIPv6Address]
      • Address [IPv6Address]
        IPv6 address
      • PrefixLength [int]
        Prefix/submask length
    • Extension - optional; [IPAddressFilterExtension]

GetAccessPolicy

GetAccessPolicy()

Access to different services and sub-sets of services should be subject to access control.

The WS-Security framework gives the prerequisite for end-point authentication. Authorization decisions can then be taken using an access security policy. This standard does not mandate any particular policy description format or security policy but this is up to the device manufacturer or system provider to choose policy and policy description format of choice. However, an access policy (in arbitrary format) can be requested using this command. If the device supports access policy settings based on WS-Security authentication, then the device shall support this command.

Output
  • PolicyFile [BinaryData]
    • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
    • Data [base64Binary]
      base64 encoded binary data.

SetAccessPolicy

SetAccessPolicy(PolicyFile)

This command sets the device access security policy (for more details on the access security policy see the Get command).

If the device supports access policy settings based on WS- Security authentication, then the device shall support this command.

Input
  • PolicyFile [BinaryData]
    • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
    • Data [base64Binary]
      base64 encoded binary data.

CreateCertificate

CreateCertificate(
    CertificateID=None,
    Subject=None,
    ValidNotBefore=None,
    ValidNotAfter=None,
)

This operation creates a new certificate on the device.

Input
  • CertificateID - optional; [token]
    Certificate id.
  • Subject - optional; [string]
    Identification of the entity associated with the public-key.
  • ValidNotBefore - optional; [dateTime]
    Certificate validity start date.
  • ValidNotAfter - optional; [dateTime]
    Certificate expiry start date.
Output
  • NvtCertificate [Certificate]
    base64 encoded DER representation of certificate.
    • CertificateID [token]
      Certificate id.
    • Certificate [BinaryData]
      base64 encoded DER representation of certificate.
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Data [base64Binary]
        base64 encoded binary data.

GetCertificates

GetCertificates()

This operation gets the list of certificates on the device.

Output
  • NvtCertificate - optional, unbounded; [Certificate]
    Id and base64 encoded DER representation of all available certificates.
    • CertificateID [token]
      Certificate id.
    • Certificate [BinaryData]
      base64 encoded DER representation of certificate.
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Data [base64Binary]
        base64 encoded binary data.

GetCertificatesStatus

GetCertificatesStatus()

This operation gets the status of the certificates on the device.

Output
  • CertificateStatus - optional, unbounded; [CertificateStatus]
    Indicates if a certificate is used in an optional HTTPS configuration of the device.
    • CertificateID [token]
      Certificate id.
    • Status [boolean]
      Indicates whether or not a certificate is used in an HTTPS configuration.

SetCertificatesStatus

SetCertificatesStatus(CertificateStatus=None)

This operation sets the status of the certificates on the device.

Input
  • CertificateStatus - optional, unbounded; [CertificateStatus]
    Indicates if a certificate is to be used in an optional HTTPS configuration of the device.
    • CertificateID [token]
      Certificate id.
    • Status [boolean]
      Indicates whether or not a certificate is used in an HTTPS configuration.

DeleteCertificates

DeleteCertificates(CertificateID)

This operation deletes a certificate on the device.

Input
  • CertificateID - unbounded; [token]
    List of ids of certificates to delete.

GetPkcs10Request

GetPkcs10Request(
    CertificateID, Subject=None, Attributes=None
)

This operation gets the PKCS#10 request for a certificate on the device.

Input
  • CertificateID [token]
    List of ids of certificates to delete.
  • Subject - optional; [string]
    Relative Dinstinguished Name(RDN) CommonName(CN).
  • Attributes - optional; [BinaryData]
    Optional base64 encoded DER attributes.
    • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
    • Data [base64Binary]
      base64 encoded binary data.
Output
  • Pkcs10Request [BinaryData]
    base64 encoded DER representation of certificate.
    • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
    • Data [base64Binary]
      base64 encoded binary data.

LoadCertificates

LoadCertificates(NVTCertificate)

This operation loads certificates onto the device.

Input
  • NVTCertificate - unbounded; [Certificate]
    Optional id and base64 encoded DER representation of certificate.
    • CertificateID [token]
      Certificate id.
    • Certificate [BinaryData]
      base64 encoded DER representation of certificate.
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Data [base64Binary]
        base64 encoded binary data.

GetClientCertificateMode

GetClientCertificateMode()

This operation gets the client certificate mode.

Output
  • Enabled [boolean]
    Indicates whether or not client certificates are required by device.

SetClientCertificateMode

SetClientCertificateMode(Enabled)

This operation sets the client certificate mode.

Input
  • Enabled [boolean]
    Indicates whether or not client certificates are required by device.

GetCACertificates

GetCACertificates()

This operation gets the list of CA certificates on the device.

Output
  • CACertificate - optional, unbounded; [Certificate]
    • CertificateID [token]
      Certificate id.
    • Certificate [BinaryData]
      base64 encoded DER representation of certificate.
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Data [base64Binary]
        base64 encoded binary data.

LoadCertificateWithPrivateKey

LoadCertificateWithPrivateKey(CertificateWithPrivateKey)

This operation loads a certificate with private key onto the device.

Input
  • CertificateWithPrivateKey - unbounded; [CertificateWithPrivateKey]
    • CertificateID - optional; [token]
    • Certificate [BinaryData]
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Data [base64Binary]
        base64 encoded binary data.
    • PrivateKey [BinaryData]
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Data [base64Binary]
        base64 encoded binary data.

GetCertificateInformation

GetCertificateInformation(CertificateID)

This operation gets the information of a specific certificate.

Input
  • CertificateID [token]
Output
  • CertificateInformation [CertificateInformation]
    • CertificateID [token]
    • IssuerDN - optional; [string]
    • SubjectDN - optional; [string]
    • KeyUsage - optional; [CertificateUsage]
      • Critical - required; [boolean]
    • ExtendedKeyUsage - optional; [CertificateUsage]
      • Critical - required; [boolean]
    • KeyLength - optional; [int]
    • Version - optional; [string]
    • SerialNum - optional; [string]
    • SignatureAlgorithm - optional; [string]
      Validity Range is from "NotBefore" to "NotAfter"; the corresponding DateTimeRange is from "From" to "Until"
    • Validity - optional; [DateTimeRange]
      • From [dateTime]
      • Until [dateTime]
    • Extension - optional; [CertificateInformationExtension]

LoadCACertificates

LoadCACertificates(CACertificate)

This operation loads CA certificates onto the device.

Input
  • CACertificate - unbounded; [Certificate]
    • CertificateID [token]
      Certificate id.
    • Certificate [BinaryData]
      base64 encoded DER representation of certificate.
      • {http://www.w3.org/2005/05/xmlmime}contentType - optional;
      • Data [base64Binary]
        base64 encoded binary data.

GetRelayOutputs

GetRelayOutputs()

This operation gets a list of all available relay outputs and their settings.

This method has been deprecated with version 2.0. Refer to the DeviceIO service.

Output
  • RelayOutputs - optional, unbounded; [RelayOutput]
    • Properties [RelayOutputSettings]
      • Mode [RelayMode]
        'Bistable' or 'Monostable'
        • Bistable - After setting the state, the relay remains in this state.
        • Monostable - After setting the state, the relay returns to its idle state after the specified time.
        Enum Value Enum Description
        Monostable —
        Bistable —
      • DelayTime [duration]
        Time after which the relay returns to its idle state if it is in monostable mode. If the Mode field is set to bistable mode the value of the parameter can be ignored.
      • IdleState [RelayIdleState]
        'open' or 'closed'
        • 'open' means that the relay is open when the relay state is set to 'inactive' through the trigger command and closed when the state is set to 'active' through the same command.
        • 'closed' means that the relay is closed when the relay state is set to 'inactive' through the trigger command and open when the state is set to 'active' through the same command.
        Enum Value Enum Description
        closed —
        open —

SetRelayOutputSettings

SetRelayOutputSettings(RelayOutputToken, Properties)

This operation sets the settings of a relay output.

This method has been deprecated with version 2.0. Refer to the DeviceIO service.

Input
  • RelayOutputToken [ReferenceToken]
    Maximum length: 64
  • Properties [RelayOutputSettings]
    • Mode [RelayMode]
      'Bistable' or 'Monostable'
      • Bistable - After setting the state, the relay remains in this state.
      • Monostable - After setting the state, the relay returns to its idle state after the specified time.
      Enum Value Enum Description
      Monostable —
      Bistable —
    • DelayTime [duration]
      Time after which the relay returns to its idle state if it is in monostable mode. If the Mode field is set to bistable mode the value of the parameter can be ignored.
    • IdleState [RelayIdleState]
      'open' or 'closed'
      • 'open' means that the relay is open when the relay state is set to 'inactive' through the trigger command and closed when the state is set to 'active' through the same command.
      • 'closed' means that the relay is closed when the relay state is set to 'inactive' through the trigger command and open when the state is set to 'active' through the same command.
      Enum Value Enum Description
      closed —
      open —

SetRelayOutputState

SetRelayOutputState(RelayOutputToken, LogicalState)

This operation sets the state of a relay output.

This method has been deprecated with version 2.0. Refer to the DeviceIO service.

Input
  • RelayOutputToken [ReferenceToken]
    Maximum length: 64
  • LogicalState [RelayLogicalState]
    Enum Value Enum Description
    active —
    inactive —

CreateDot1XConfiguration

CreateDot1XConfiguration(Dot1XConfiguration)

This operation creates a new 802.1X configuration on the device.

Input
  • Dot1XConfiguration [Dot1XConfiguration]
    • Dot1XConfigurationToken [ReferenceToken]
      Maximum length: 64
    • Identity [string]
    • AnonymousID - optional; [string]
    • EAPMethod [int]
      EAP Method type as defined in IANA EAP Registry.
    • CACertificateID - optional, unbounded; [token]
    • EAPMethodConfiguration - optional; [EAPMethodConfiguration]
      • TLSConfiguration - optional; [TLSConfiguration]
        Configuration information for TLS Method.
        • CertificateID [token]
      • Password - optional; [string]
        Password for those EAP Methods that require a password. The password shall never be returned on a get method.
      • Extension - optional; [EapMethodExtension]
    • Extension - optional; [Dot1XConfigurationExtension]

SetDot1XConfiguration

SetDot1XConfiguration(Dot1XConfiguration)

This operation sets the 802.1X configuration on the device.

Input
  • Dot1XConfiguration [Dot1XConfiguration]
    • Dot1XConfigurationToken [ReferenceToken]
      Maximum length: 64
    • Identity [string]
    • AnonymousID - optional; [string]
    • EAPMethod [int]
      EAP Method type as defined in IANA EAP Registry.
    • CACertificateID - optional, unbounded; [token]
    • EAPMethodConfiguration - optional; [EAPMethodConfiguration]
      • TLSConfiguration - optional; [TLSConfiguration]
        Configuration information for TLS Method.
        • CertificateID [token]
      • Password - optional; [string]
        Password for those EAP Methods that require a password. The password shall never be returned on a get method.
      • Extension - optional; [EapMethodExtension]
    • Extension - optional; [Dot1XConfigurationExtension]

GetDot1XConfiguration

GetDot1XConfiguration(Dot1XConfigurationToken)

This operation gets the 802.1X configuration from the device.

Input
  • Dot1XConfigurationToken [ReferenceToken]
    Maximum length: 64
Output
  • Dot1XConfiguration [Dot1XConfiguration]
    • Dot1XConfigurationToken [ReferenceToken]
      Maximum length: 64
    • Identity [string]
    • AnonymousID - optional; [string]
    • EAPMethod [int]
      EAP Method type as defined in IANA EAP Registry.
    • CACertificateID - optional, unbounded; [token]
    • EAPMethodConfiguration - optional; [EAPMethodConfiguration]
      • TLSConfiguration - optional; [TLSConfiguration]
        Configuration information for TLS Method.
        • CertificateID [token]
      • Password - optional; [string]
        Password for those EAP Methods that require a password. The password shall never be returned on a get method.
      • Extension - optional; [EapMethodExtension]
    • Extension - optional; [Dot1XConfigurationExtension]

GetDot1XConfigurations

GetDot1XConfigurations()

This operation gets the list of 802.1X configurations from the device.

Output
  • Dot1XConfiguration - optional, unbounded; [Dot1XConfiguration]
    • Dot1XConfigurationToken [ReferenceToken]
      Maximum length: 64
    • Identity [string]
    • AnonymousID - optional; [string]
    • EAPMethod [int]
      EAP Method type as defined in IANA EAP Registry.
    • CACertificateID - optional, unbounded; [token]
    • EAPMethodConfiguration - optional; [EAPMethodConfiguration]
      • TLSConfiguration - optional; [TLSConfiguration]
        Configuration information for TLS Method.
        • CertificateID [token]
      • Password - optional; [string]
        Password for those EAP Methods that require a password. The password shall never be returned on a get method.
      • Extension - optional; [EapMethodExtension]
    • Extension - optional; [Dot1XConfigurationExtension]

DeleteDot1XConfiguration

DeleteDot1XConfiguration(Dot1XConfigurationToken=None)

This operation deletes an 802.1X configuration from the device.

Input
  • Dot1XConfigurationToken - optional, unbounded; [ReferenceToken]
    Maximum length: 64

GetDot11Capabilities

GetDot11Capabilities()

This operation returns the IEEE802.11 capabilities.

The device shall support this operation.

Output
  • Capabilities [Dot11Capabilities]
    • TKIP [boolean]
    • ScanAvailableNetworks [boolean]
    • MultipleConfiguration [boolean]
    • AdHocStationMode [boolean]
    • WEP [boolean]

GetDot11Status

GetDot11Status(InterfaceToken)

This operation returns the status of a wireless network interface.

The device shall support this command.

Input
  • InterfaceToken [ReferenceToken]
    Maximum length: 64
Output
  • Status [Dot11Status]
    • SSID [Dot11SSIDType]
      Minimum length: 1
      Maximum length: 32
    • BSSID - optional; [string]
    • PairCipher - optional; [Dot11Cipher]
      Enum Value Enum Description
      CCMP —
      TKIP —
      Any —
      Extended —
    • GroupCipher - optional; [Dot11Cipher]
      Enum Value Enum Description
      CCMP —
      TKIP —
      Any —
      Extended —
    • SignalStrength - optional; [Dot11SignalStrength]
      Enum Value Enum Description
      None —
      Very Bad —
      Bad —
      Good —
      Very Good —
      Extended —
    • ActiveConfigAlias [ReferenceToken]
      Maximum length: 64

ScanAvailableDot11Networks

ScanAvailableDot11Networks(InterfaceToken)

This operation returns a lists of the wireless networks in range of the device.

A device should support this operation.

Input
  • InterfaceToken [ReferenceToken]
    Maximum length: 64
Output
  • Networks - optional, unbounded; [Dot11AvailableNetworks]
    • SSID [Dot11SSIDType]
      Minimum length: 1
      Maximum length: 32
    • BSSID - optional; [string]
    • AuthAndMangementSuite - optional, unbounded; [Dot11AuthAndMangementSuite]
      See IEEE802.11 7.3.2.25.2 for details.
      Enum Value Enum Description
      None —
      Dot1X —
      PSK —
      Extended —
    • PairCipher - optional, unbounded; [Dot11Cipher]
      Enum Value Enum Description
      CCMP —
      TKIP —
      Any —
      Extended —
    • GroupCipher - optional, unbounded; [Dot11Cipher]
      Enum Value Enum Description
      CCMP —
      TKIP —
      Any —
      Extended —
    • SignalStrength - optional; [Dot11SignalStrength]
      Enum Value Enum Description
      None —
      Very Bad —
      Bad —
      Good —
      Very Good —
      Extended —
    • Extension - optional; [Dot11AvailableNetworksExtension]

GetSystemUris

GetSystemUris()

This operation is used to retrieve URIs from which system information may be downloaded using HTTP.

URIs may be returned for the following system information:

System Logs. Multiple system logs may be returned, of different types. The exact format of the system logs is outside the scope of this specification.

Support Information. This consists of arbitrary device diagnostics information from a device. The exact format of the diagnostic information is outside the scope of this specification.

System Backup. The received file is a backup file that can be used to restore the current device configuration at a later date. The exact format of the backup configuration file is outside the scope of this specification.

If the device allows retrieval of system logs, support information or system backup data, it should make them available via HTTP GET. If it does, it shall support the GetSystemUris command.

Output
  • SystemLogUris - optional; [SystemLogUriList]
    • SystemLog - optional, unbounded; [SystemLogUri]
      • Type [SystemLogType]
        Enum Value Enum Description
        System Indicates that a system log is requested.
        Access Indicates that a access log is requested.
      • Uri [anyURI]
  • SupportInfoUri - optional; [anyURI]
  • SystemBackupUri - optional; [anyURI]
  • Extension - optional; [complexType]

StartFirmwareUpgrade

StartFirmwareUpgrade()

This operation initiates a firmware upgrade using the HTTP POST mechanism.

The response to the command includes an HTTP URL to which the upgrade file may be uploaded. The actual upgrade takes place as soon as the HTTP POST operation has completed. The device should support firmware upgrade through the StartFirmwareUpgrade command. The exact format of the firmware data is outside the scope of this specification. Firmware upgrade over HTTP may be achieved using the following steps:

  1. Client calls StartFirmwareUpgrade.
  2. Server responds with upload URI and optional delay value.
  3. Client waits for delay duration if specified by server.
  4. Client transmits the firmware image to the upload URI using HTTP POST.
  5. Server reprograms itself using the uploaded image, then reboots.

If the firmware upgrade fails because the upgrade file was invalid, the HTTP POST response shall be "415 Unsupported Media Type". If the firmware upgrade fails due to an error at the device, the HTTP POST response shall be "500 Internal Server Error".

The value of the Content-Type header in the HTTP POST request shall be "application/octetstream".

Output
  • UploadUri [anyURI]
  • UploadDelay [duration]
  • ExpectedDownTime [duration]

UpgradeFirmware

UpgradeFirmware(Version)

0.2.6

This operation initiates a firmware upgrade using between the device and the MCS, without further actions from the client.

Cloud firmware upgrade may be achieved using the following steps:

  1. Client retrieves the list of available firmware versions from the MCS.
  2. Client calls UpgradeFirmware, selecting the desired FW version.
  3. Device service responds with a downtime value.
  4. Device and MCS perform the firmware upgrade procedure without further interaction from the Client.
  5. Device notifies the Client of the result by emitting the appropriate CloudFirmwareUpgrade event

After applying a firmware upgrade the device shall keep the basic network configuration like IP address, subnet mask and gateway or DHCP settings, as well as all the parameters of the Uplink and Security service unchanged, so that it can connect to the cloud. Additionally a firmware upgrade shall not change user credentials.

Input
  • Version [string]
Output
  • ExpectedDownTime [duration]

StartSystemRestore

StartSystemRestore()

This operation initiates a system restore from backed up configuration data using the HTTP POST mechanism.

The response to the command includes an HTTP URL to which the backup file may be uploaded. The actual restore takes place as soon as the HTTP POST operation has completed. Devices should support system restore through the StartSystemRestore command. The exact format of the backup configuration data is outside the scope of this specification.

System restore over HTTP may be achieved using the following steps:

  1. Client calls StartSystemRestore.
  2. Server responds with upload URI.
  3. Client transmits the configuration data to the upload URI using HTTP POST.
  4. Server applies the uploaded configuration, then reboots if necessary.

If the system restore fails because the uploaded file was invalid, the HTTP POST response shall be "415 Unsupported Media Type". If the system restore fails due to an error at the device, the HTTP POST response shall be "500 Internal Server Error".

The value of the Content-Type header in the HTTP POST request shall be "application/octetstream".

Output
  • UploadUri [anyURI]
  • ExpectedDownTime [duration]

GetStorageConfigurations

GetStorageConfigurations()

This operation lists all existing storage configurations for the device.

Output
  • StorageConfigurations - optional, unbounded; [StorageConfiguration]
    • Data [StorageConfigurationData]
      • type - required; [string]
        tds:StorageType lists the acceptable values for type attribute
      • Region - optional; [string]
        Optional region of the storage server
      • LocalPath - optional; [anyURI]
        Local path
      • StorageUri - optional; [anyURI]
        Storage server address
      • User - optional; [UserCredential]
        User credential for the storage server
        • UserName [string]
          User name
        • Password - optional; [string]
          optional password, device shall not return the credentials (password) in the reply.
        • Extension - optional; [complexType]
        • Token - optional; [string]
          optional access token, device shall not return the credentials (token) in the reply.
      • Extension - optional; [complexType]
      • CertPathValidationPolicyID - optional; [string]
        The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service.
      • ConfigurationRenewal - optional; [complexType]
        • RenewalEndpoint [anyURI]
          Remote URL to be queried by the device to renew the storage configuration.
        • AuthorizationServer [ReferenceToken]
          AuthorizationServer token referring to the server that provides access tokens to authorize with the the renewal endpoint.
          Maximum length: 64
        • CertPathValidationPolicyID - optional; [string]
          CertPathValidationPolicyID used to validate the renewal endpoint server certificate. If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all.
        • Error - optional; [string]
          Optional user readable error information (readonly).

CreateStorageConfiguration

CreateStorageConfiguration(StorageConfiguration)

This operation creates a new storage configuration.

The configuration data shall be created in the device and shall be persistent (remain after reboot).

Input
  • StorageConfiguration [StorageConfigurationData]
    • type - required; [string]
      tds:StorageType lists the acceptable values for type attribute
    • Region - optional; [string]
      Optional region of the storage server
    • LocalPath - optional; [anyURI]
      Local path
    • StorageUri - optional; [anyURI]
      Storage server address
    • User - optional; [UserCredential]
      User credential for the storage server
      • UserName [string]
        User name
      • Password - optional; [string]
        optional password, device shall not return the credentials (password) in the reply.
      • Extension - optional; [complexType]
      • Token - optional; [string]
        optional access token, device shall not return the credentials (token) in the reply.
    • Extension - optional; [complexType]
    • CertPathValidationPolicyID - optional; [string]
      The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service.
    • ConfigurationRenewal - optional; [complexType]
      • RenewalEndpoint [anyURI]
        Remote URL to be queried by the device to renew the storage configuration.
      • AuthorizationServer [ReferenceToken]
        AuthorizationServer token referring to the server that provides access tokens to authorize with the the renewal endpoint.
        Maximum length: 64
      • CertPathValidationPolicyID - optional; [string]
        CertPathValidationPolicyID used to validate the renewal endpoint server certificate. If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all.
      • Error - optional; [string]
        Optional user readable error information (readonly).
Output
  • Token [ReferenceToken]
    Maximum length: 64

GetStorageConfiguration

GetStorageConfiguration(Token)

This operation retrieves the Storage configuration associated with the given storage configuration token.

Input
  • Token [ReferenceToken]
    Maximum length: 64
Output
  • StorageConfiguration [StorageConfiguration]
    • Data [StorageConfigurationData]
      • type - required; [string]
        tds:StorageType lists the acceptable values for type attribute
      • Region - optional; [string]
        Optional region of the storage server
      • LocalPath - optional; [anyURI]
        Local path
      • StorageUri - optional; [anyURI]
        Storage server address
      • User - optional; [UserCredential]
        User credential for the storage server
        • UserName [string]
          User name
        • Password - optional; [string]
          optional password, device shall not return the credentials (password) in the reply.
        • Extension - optional; [complexType]
        • Token - optional; [string]
          optional access token, device shall not return the credentials (token) in the reply.
      • Extension - optional; [complexType]
      • CertPathValidationPolicyID - optional; [string]
        The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service.
      • ConfigurationRenewal - optional; [complexType]
        • RenewalEndpoint [anyURI]
          Remote URL to be queried by the device to renew the storage configuration.
        • AuthorizationServer [ReferenceToken]
          AuthorizationServer token referring to the server that provides access tokens to authorize with the the renewal endpoint.
          Maximum length: 64
        • CertPathValidationPolicyID - optional; [string]
          CertPathValidationPolicyID used to validate the renewal endpoint server certificate. If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all.
        • Error - optional; [string]
          Optional user readable error information (readonly).

SetStorageConfiguration

SetStorageConfiguration(StorageConfiguration)

This operation modifies an existing Storage configuration.

Input
  • StorageConfiguration [StorageConfiguration]
    • Data [StorageConfigurationData]
      • type - required; [string]
        tds:StorageType lists the acceptable values for type attribute
      • Region - optional; [string]
        Optional region of the storage server
      • LocalPath - optional; [anyURI]
        Local path
      • StorageUri - optional; [anyURI]
        Storage server address
      • User - optional; [UserCredential]
        User credential for the storage server
        • UserName [string]
          User name
        • Password - optional; [string]
          optional password, device shall not return the credentials (password) in the reply.
        • Extension - optional; [complexType]
        • Token - optional; [string]
          optional access token, device shall not return the credentials (token) in the reply.
      • Extension - optional; [complexType]
      • CertPathValidationPolicyID - optional; [string]
        The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service.
      • ConfigurationRenewal - optional; [complexType]
        • RenewalEndpoint [anyURI]
          Remote URL to be queried by the device to renew the storage configuration.
        • AuthorizationServer [ReferenceToken]
          AuthorizationServer token referring to the server that provides access tokens to authorize with the the renewal endpoint.
          Maximum length: 64
        • CertPathValidationPolicyID - optional; [string]
          CertPathValidationPolicyID used to validate the renewal endpoint server certificate. If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all.
        • Error - optional; [string]
          Optional user readable error information (readonly).

DeleteStorageConfiguration

DeleteStorageConfiguration(Token)

This operation deletes the given storage configuration and configuration change shall always be persistent.

Input
  • Token [ReferenceToken]
    Maximum length: 64

GetGeoLocation

GetGeoLocation()

This operation lists all existing geo location configurations for the device.

Output
  • Location - optional, unbounded; [LocationEntity]
    • Entity - optional; [string]
      Entity type the entry refers to, use a value from the tt:Entity enumeration.
    • Token - optional; [ReferenceToken]
      Optional entity token.
    • Fixed - optional; [boolean]
      If this value is true the entity cannot be deleted.
    • GeoSource - optional; [anyURI]
      Optional reference to the XAddr of another devices DeviceManagement service.
    • AutoGeo - optional; [boolean]
      If set the geo location is obtained internally.
    • GeoLocation - optional; [GeoLocation]
      Location on earth.
      • lon - optional; [double]
        East west location as angle.
      • lat - optional; [double]
        North south location as angle.
      • elevation - optional; [float]
        Height in meters above sea level.
    • GeoOrientation - optional; [GeoOrientation]
      Orientation relative to earth.
      • roll - optional; [float]
        Rotation around the x axis.
      • pitch - optional; [float]
        Rotation around the y axis.
      • yaw - optional; [float]
        Rotation around the z axis.
    • LocalLocation - optional; [LocalLocation]
      Indoor location offset.
      • x - optional; [float]
        East west location as angle.
      • y - optional; [float]
        North south location as angle.
      • z - optional; [float]
        Offset in meters from the sea level.
    • LocalOrientation - optional; [LocalOrientation]
      Indoor orientation offset.
      • pan - optional; [float]
        Rotation around the y axis.
      • tilt - optional; [float]
        Rotation around the z axis.
      • roll - optional; [float]
        Rotation around the x axis.

SetGeoLocation

SetGeoLocation(Location)

This operation allows to modify one or more geo configuration entries.

Input
  • Location - unbounded; [LocationEntity]
    • Entity - optional; [string]
      Entity type the entry refers to, use a value from the tt:Entity enumeration.
    • Token - optional; [ReferenceToken]
      Optional entity token.
    • Fixed - optional; [boolean]
      If this value is true the entity cannot be deleted.
    • GeoSource - optional; [anyURI]
      Optional reference to the XAddr of another devices DeviceManagement service.
    • AutoGeo - optional; [boolean]
      If set the geo location is obtained internally.
    • GeoLocation - optional; [GeoLocation]
      Location on earth.
      • lon - optional; [double]
        East west location as angle.
      • lat - optional; [double]
        North south location as angle.
      • elevation - optional; [float]
        Height in meters above sea level.
    • GeoOrientation - optional; [GeoOrientation]
      Orientation relative to earth.
      • roll - optional; [float]
        Rotation around the x axis.
      • pitch - optional; [float]
        Rotation around the y axis.
      • yaw - optional; [float]
        Rotation around the z axis.
    • LocalLocation - optional; [LocalLocation]
      Indoor location offset.
      • x - optional; [float]
        East west location as angle.
      • y - optional; [float]
        North south location as angle.
      • z - optional; [float]
        Offset in meters from the sea level.
    • LocalOrientation - optional; [LocalOrientation]
      Indoor orientation offset.
      • pan - optional; [float]
        Rotation around the y axis.
      • tilt - optional; [float]
        Rotation around the z axis.
      • roll - optional; [float]
        Rotation around the x axis.

DeleteGeoLocation

DeleteGeoLocation(Location)

This operation deletes the given geo location entries.

Input
  • Location - unbounded; [LocationEntity]
    • Entity - optional; [string]
      Entity type the entry refers to, use a value from the tt:Entity enumeration.
    • Token - optional; [ReferenceToken]
      Optional entity token.
    • Fixed - optional; [boolean]
      If this value is true the entity cannot be deleted.
    • GeoSource - optional; [anyURI]
      Optional reference to the XAddr of another devices DeviceManagement service.
    • AutoGeo - optional; [boolean]
      If set the geo location is obtained internally.
    • GeoLocation - optional; [GeoLocation]
      Location on earth.
      • lon - optional; [double]
        East west location as angle.
      • lat - optional; [double]
        North south location as angle.
      • elevation - optional; [float]
        Height in meters above sea level.
    • GeoOrientation - optional; [GeoOrientation]
      Orientation relative to earth.
      • roll - optional; [float]
        Rotation around the x axis.
      • pitch - optional; [float]
        Rotation around the y axis.
      • yaw - optional; [float]
        Rotation around the z axis.
    • LocalLocation - optional; [LocalLocation]
      Indoor location offset.
      • x - optional; [float]
        East west location as angle.
      • y - optional; [float]
        North south location as angle.
      • z - optional; [float]
        Offset in meters from the sea level.
    • LocalOrientation - optional; [LocalOrientation]
      Indoor orientation offset.
      • pan - optional; [float]
        Rotation around the y axis.
      • tilt - optional; [float]
        Rotation around the z axis.
      • roll - optional; [float]
        Rotation around the x axis.