diff --git a/doc/Core.xml b/doc/Core.xml
index 8d8bc1174..524b3bedc 100644
--- a/doc/Core.xml
+++ b/doc/Core.xml
@@ -1310,10 +1310,11 @@
stage process; first the client sends the StartFirmwareUpgrade command to instruct the
device to prepare for upgrade, then it sends the firmware image using HTTP POST.
The HTTP method is designed for resource-limited devices that may not be capable of receiving a new firmware image in its normal operating state.
- The second method applies to cloud connected devices and involves an interaction
- between the Operational Cloud Service (OCS), the Manufacturer Cloud Service (MCS) and the
- device, in order to trigger the firmware upgrade. For the complete description of the
- roles of the cloud clients, please refer to the Cloud Integration Specification.
+ The second method applies to cloud connected devices. A simple interface allows
+ upgrading firmware by providing a requested version. The device interacts via propriatary
+ means with its manufacturer cloud to perform the requested update. Available options can
+ be retrieved via the method GetAvailableFirmwares or the Manufacturer Cloud Service
+ (MCS).
System Restore
@@ -3170,6 +3171,14 @@ onvif://www.onvif.org/name/ARV-453
Section .
+
+
+ AvailableFirmwareListing
+
+
+ Indication if the device supports firmware listing as specified in Section .
+
+
SystemLogging
@@ -4945,7 +4954,8 @@ onvif://www.onvif.org/name/ARV-453
Cloud firmware upgrade may be achieved using the following steps:
- Client retrieves the list of available firmware versions from the MCS.
+ Client retrieves the list of available firmware versions via GetAvailableFirmwares
+ or from the MCS.
Client calls StartCloudFirmwareUpgrade, selecting the desired FW version.
@@ -4997,6 +5007,46 @@ onvif://www.onvif.org/name/ARV-453
In case it is not possible to provide exact figures for
ExpectedDownTime, the device shall provide best-effort estimates.
+
+ GetAvailableFirmwares
+ This operation retrieves a list of available firmware versions for the device.
+ The returned list contains firmware information including the firmware version string, description, and optional information about the release date, release information URI, and whether it is a beta version. The firmware version strings returned shall be valid values for the Version parameter of the UpgradeFirmware operation.
+ The device shall list only firmware versions that are valid upgrade or downgrade targets from the current firmware version. If no such firmware version exists, the response shall contain an empty list. If none of the returned firmware versions have the IsLatest flag set, the client may call this operation again after completing a firmware upgrade to obtain an updated list of available versions.
+ When requesting for old firmware using IncludePreviousVersions, listing old firmware versions is up to the device implementation; not all devices may support this.
+
+
+ request
+
+ IncludeBeta - optional [xs:boolean]
+ Optional flag to include beta firmware versions in the response. If not specified or set to false, only stable firmware versions are returned. Note that beta versions may not be available for devices via this channel.
+
+
+ IncludePreviousVersions - optional [xs:boolean]
+ Optional flag to include previous firmware versions in the response. If not specified or set to false, only newer firmware versions are returned.
+
+
+
+ response
+
+ FirmwareInfo [tds:FirmwareInfo] optional unbounded
+ List of available firmware versions.
+
+
+
+ faults
+
+
+ No command-specific faults.
+
+
+
+ access class
+
+ READ_SYSTEM
+
+
+
+
GetSystemLog
This operation gets a system log from a device. The device should support system log information retrieval through the GetSystemLog command. The exact format of the system logs is outside the scope of this standard.
diff --git a/wsdl/ver10/device/wsdl/devicemgmt.wsdl b/wsdl/ver10/device/wsdl/devicemgmt.wsdl
index e7456a3ef..0faee9d63 100644
--- a/wsdl/ver10/device/wsdl/devicemgmt.wsdl
+++ b/wsdl/ver10/device/wsdl/devicemgmt.wsdl
@@ -316,6 +316,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
Indicates support for firmware upgrade through the cloud.
+
+
+ Specifies support for retrieving the list of available firmware through GetAvailableFirmwares.
+
+
Indicates support for firmware upgrade through HTTP.
@@ -2494,6 +2499,70 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
+
+
+
+
+
+ Optional flag to include beta firmware versions in the response. If not passed, only stable firmware versions would be listed. Note that beta versions may not be available for devices via this channel.
+
+
+
+
+ Optional flag to include previous firmware versions in the response (for downgrade or rollback). If not passed, only newer firmware versions would be listed.
+
+
+
+
+
+
+
+
+
+
+ List of available firmware versions. If no valid upgrade or downgrade target exists, the list shall be empty.
+
+
+
+
+
+
+
+
+
+ Version identifier of the firmware.
+
+
+
+
+ Description of the firmware version.
+
+
+
+
+ The release date of the firmware version.
+
+
+
+
+ URI of release information for the firmware version, such as a release letter or release notes.
+
+
+
+
+
+
+ Indicates whether the firmware version is a beta release.
+
+
+
+
+ Indicates whether the firmware version is the latest official release.
+
+
+
+
+
@@ -3116,6 +3185,12 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
+
+
+
+
+
+
@@ -3771,6 +3846,13 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
+
+
+ This operation returns the list of firmware versions available for the device. The returned firmware version strings shall be valid values for the Version parameter of the UpgradeFirmware operation.
+
+
+
+