The service capabilities reflect optional functionality of a service. The information is static and does not change during device operation. The following capabilities are available: The maximum number of entries returned by a single Get<Entity>List or Get<Entity> request. The device shall never return more than this number of entities in a single response. Indicates the maximum number of authentication profiles the device supports. The device shall support at least one authentication profile. Indicates the maximum number of authentication policies per authentication profile supported by the device. Indicates the maximum number of security levels the device supports. The device shall support at least one security level. Indicates the maximum number of recognition groups per security level supported by the device. Indicates the maximum number of recognition methods per recognition group supported by the device. Indicates that the client is allowed to supply the token when creating authentication profiles and security levels. To enable the use of the commands SetAuthenticationProfile and SetSecurityLevel, the value must be set to true. A list of supported authentication modes (including custom modes). This field is optional, and when omitted, the client shall assume that the device supports "pt:SingleCredential" only. The AuthenticationProfileInfo structure contains information of a specific authentication profile instance. A user readable name. It shall be up to 64 characters. User readable description for the access profile. It shall be up to 1024 characters. The AuthenticationProfile structure shall include all properties of the AuthenticationProfileInfo structure and also a default security level, an authentication mode, and a list of AuthenticationProfile instances. The default security level is used if none of the authentication policies has a schedule covering the time of access (or if no authentication policies are defined). Each authentication policy associates a security level with a schedule (during which the specified security level will be required at the access point). The authentication policy is an association of a security level and a schedule. It defines when a certain security level is required to grant access to a credential holder. Each security level is given a unique priority. If authentication policies have overlapping schedules, the security level with the highest priority is used. Reference to the schedule used by the authentication policy. A list of security level constraint structures defining the conditions for what security level to use. Minimum one security level constraint must be specified. This structure defines what security level should be active depending on the state of the schedule. Corresponds to the Active field in the ScheduleState structure in [ONVIF Schedule Service Specification]. Corresponds to the SpecialDay field in the ScheduleState structure in [ONVIF Schedule Service Specification]. This field will be ignored if the device do not support special days. Defines the mode of authentication. Authentication modes starting with the prefix pt: are reserved to define ONVIF-specific authentication modes. For custom defined authentication modes, free text can be used. The following authentication modes are defined by ONVIF: pt:SingleCredential - Normal mode where only one credential holder is required to be granted access. pt:DualCredential - Two credential holders are required to be granted access Reference to the security level used by the authentication policy. Recognition is the action of identifying authorized users requesting access by the comparison of presented credential data with recorded credential data. A recognition method is either memorized, biometric or held within a physical credential. A recognition type is either a recognition method or a physical input such as a request-to-exit button. The requested type of recognition. The order value defines when this recognition method will be requested in relation to the other recognition methods in the same security level. A lower number indicates that the recognition method will be requested before recognition methods with a higher number. A list of recognition methods to request for at the access point. The SecurityLevelInfo structure contains information of a specific security level instance. A user readable name. It shall be up to 64 characters. A higher number indicates that the security level is considered more secure than security levels with lower priorities. The priority is used when an authentication profile have overlapping schedules with different security levels. When an access point is accessed, the authentication policies are walked through in priority order (highest priority first). When a schedule is found covering the time of access, the associated security level is used and processing stops. Two security levels cannot have the same priority. User readable description for the access profile. It shall be up to 1024 characters. The SecurityLevel structure shall include all properties of the SecurityLevelInfo structure and also a set of recognition groups. The recognition groups are used to define a logical OR between the groups. Each recognition group consists of one or more recognition methods. The recognition groups are used to define a logical OR between the groups. Each recognition group consists of one or more recognition methods. The capability response message contains the requested access rules service capabilities using a hierarchical XML capability structure. Tokens of AuthenticationProfileInfo items to get. List of AuthenticationProfileInfo items. Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device. Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset. StartReference to use in next call to get the following items. If absent, no more items to get. List of AuthenticationProfileInfo items. Tokens of AuthenticationProfile items to get. List of AuthenticationProfile items. Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device. Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset. StartReference to use in next call to get the following items. If absent, no more items to get. List of AuthenticationProfile items. The AuthenticationProfile to create. The Token of created AuthenticationProfile. The AuthenticationProfile to create or modify. The AuthenticationProfile to modify. The token of the AuthenticationProfile to delete. Tokens of SecurityLevelInfo items to get. List of SecurityLevelInfo items. Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device. Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset. StartReference to use in next call to get the following items. If absent, no more items to get. List of SecurityLevelInfo items. Tokens of SecurityLevel items to get. List of SecurityLevel items. Maximum number of entries to return. If not specified, less than one or higher than what the device supports, the number of items is determined by the device. Start returning entries from this start reference. If not specified, entries shall start from the beginning of the dataset. StartReference to use in next call to get the following items. If absent, no more items to get. List of SecurityLevel items. The SecurityLevel to create. The Token of created SecurityLevel. The SecurityLevel to create or modify. The SecurityLevel to modify. The token of the SecurityLevel to delete. This operation returns the capabilities of the authentication behavior service. This operation requests a list of AuthenticationProfileInfo items matching the given tokens. The device shall ignore tokens it cannot resolve and shall return an empty list if there are no items matching the specified tokens. The device shall not return a fault in this case. This operation requests a list of all of AuthenticationProfileInfo items provided by the device. A call to this method shall return a StartReference when not all data is returned and more data is available. The reference shall be valid for retrieving the next set of data. Please refer Access Control Service Specification for more details. The number of items returned shall not be greater than Limit parameter. This operation returns the specified AuthenticationProfile item matching the given tokens. The device shall ignore tokens it cannot resolve and shall return an empty list if there are no items matching specified tokens. The device shall not return a fault in this case. This operation requests a list of all of AuthenticationProfile items provided by the device. A call to this method shall return a StartReference when not all data is returned and more data is available. The reference shall be valid for retrieving the next set of data. Please refer Access Control Service Specification for more details. The number of items returned shall not be greater the Limit parameter. This operation creates the specified authentication profile in the device. The token field of the AuthenticationProfile structure shall be empty and the device shall allocate a token for the authentication profile. The allocated token shall be returned in the response. If the client sends any value in the token field, the device shall return InvalidArgVal as a generic fault code. This method is used to synchronize an authentication profile in a client with the device. If an authentication profile with the specified token does not exist in the device, the authentication profile is created. If an authentication profile with the specified token exists, then the authentication profile is modified. A call to this method takes an AuthenticationProfile structure as input parameter. The token field of the AuthenticationProfile shall not be empty. A device that signals support for the ClientSuppliedTokenSupported capability shall implement this command. This operation modifies the specified authentication profile. The token of the authentication profile to modify is specified in the token field of the AuthenticationProfile structure and shall not be empty. All other fields in the structure shall overwrite the fields in the specified authentication profile. This operation deletes the specified authentication profile. If the authentication profile is deleted, all authentication policies associated with the authentication profile will also be deleted. If it is associated with one or more entities some devices may not be able to delete the authentication profile, and consequently a ReferenceInUse fault shall be generated. This operation requests a list of SecurityLevelInfo items matching the given tokens. The device shall ignore tokens it cannot resolve and shall return an empty list if there are no items matching the specified tokens. The device shall not return a fault in this case. This operation requests a list of all of SecurityLevelInfo items provided by the device. A call to this method shall return a StartReference when not all data is returned and more data is available. The reference shall be valid for retrieving the next set of data. Please refer Access Control Service Specification for more details. The number of items returned shall not be greater than Limit parameter. This operation returns the specified SecurityLevel item matching the given tokens. The device shall ignore tokens it cannot resolve and shall return an empty list if there are no items matching specified tokens. The device shall not return a fault in this case. This operation requests a list of all of SecurityLevel items provided by the device. A call to this method shall return a StartReference when not all data is returned and more data is available. The reference shall be valid for retrieving the next set of data. Please refer Access Control Service Specification for more details. The number of items returned shall not be greater the Limit parameter. This operation creates the specified security level in the device. The token field of the SecurityLevel structure shall be empty and the device shall allocate a token for the security level. The allocated token shall be returned in the response. If the client sends any value in the token field, the device shall return InvalidArgVal as a generic fault code. This method is used to synchronize an security level in a client with the device. If an security level with the specified token does not exist in the device, the security level is created. If an security level with the specified token exists, then the security level is modified. A call to this method takes an SecurityLevel structure as input parameter. The token field of the SecurityLevel shall not be empty. A device that signals support for the ClientSuppliedTokenSupported capability shall implement this command. This operation modifies the specified security level. The token of the security level to modify is specified in the token field of the SecurityLevel structure and shall not be empty. All other fields in the structure shall overwrite the fields in the specified security level. This operation deletes the specified security level. If the security level is deleted, all authentication policies associated with the security level will also be deleted. If it is associated with one or more entities some devices may not be able to delete the security level, and consequently a ReferenceInUse fault shall be generated.