diff --git a/onvif/services/devicemgmt.py b/onvif/services/devicemgmt.py
index 8a91175..fabec9d 100644
--- a/onvif/services/devicemgmt.py
+++ b/onvif/services/devicemgmt.py
@@ -104,6 +104,15 @@ def GetRemoteUser(self):
def SetRemoteUser(self, RemoteUser=None):
return self.operator.call("SetRemoteUser", RemoteUser=RemoteUser)
+ def GetUserRoles(self, UserRole=None):
+ return self.operator.call("GetUserRoles", UserRole=UserRole)
+
+ def SetUserRole(self, UserRole):
+ return self.operator.call("SetUserRole", UserRole=UserRole)
+
+ def DeleteUserRole(self, UserRole):
+ return self.operator.call("DeleteUserRole", UserRole=UserRole)
+
def GetUsers(self):
return self.operator.call("GetUsers")
diff --git a/onvif/wsdl/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl b/onvif/wsdl/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl
index a03000a..6d12711 100644
--- a/onvif/wsdl/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl
+++ b/onvif/wsdl/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl
@@ -750,7 +750,7 @@
- List of supported key algorithm like 'RSA' and 'ECC'. For a full list of definitions see tas:KeyAlgorithm.
+ List of supported key algorithm like 'RSA' and 'ECC'. For a full list of definitions see tas:KeyPairAlgorithm.
diff --git a/onvif/wsdl/ver10/device/wsdl/devicemgmt.wsdl b/onvif/wsdl/ver10/device/wsdl/devicemgmt.wsdl
index 4f2904a..fc0ccfe 100644
--- a/onvif/wsdl/ver10/device/wsdl/devicemgmt.wsdl
+++ b/onvif/wsdl/ver10/device/wsdl/devicemgmt.wsdl
@@ -272,6 +272,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
Supported hashing algorithms as part of HTTP and RTSP Digest authentication.Example: MD5,SHA-256
+
+
+ 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.
+
+
@@ -979,6 +984,53 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2619,6 +2671,24 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3220,6 +3290,24 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+
+ This operation deletes an editable user level in the device.
+
+
+
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
@@ -4018,6 +4106,33 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/onvif/wsdl/ver10/schema/onvif.xsd b/onvif/wsdl/ver10/schema/onvif.xsd
index bad3047..debc96b 100644
--- a/onvif/wsdl/ver10/schema/onvif.xsd
+++ b/onvif/wsdl/ver10/schema/onvif.xsd
@@ -4141,6 +4141,22 @@ decoding .A decoder shall decode every data it receives (according to its capabi
+
+
+
+
+ Name of the editable user level.
+
+
+
+
+ Names of the permitted function for the editable user level. The names must be prepended by the namespace prefix and colon.
+
+
+
+
+
+
@@ -4165,6 +4181,11 @@ decoding .A decoder shall decode every data it receives (according to its capabi
+
+
+ The names of the roles assigned to the user.
+
+
diff --git a/onvif/wsdl/ver10/uplink/wsdl/uplink.wsdl b/onvif/wsdl/ver10/uplink/wsdl/uplink.wsdl
index 8505d0e..5c7c307 100644
--- a/onvif/wsdl/ver10/uplink/wsdl/uplink.wsdl
+++ b/onvif/wsdl/ver10/uplink/wsdl/uplink.wsdl
@@ -86,8 +86,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
ID of the certificate to be used for client authentication.
-
- Authorization level that will be assigned to the uplink connection.
+
+ List of authorization levels and roles that will be used to restrict the commands that will be accepted through the uplink connection.
Current connection status (see tup:ConnectionStatus for possible values).