Face Recognition Dev Guide Clean
Face Recognition Dev Guide Clean
im
Co en
ng ez
el .c
ad on
os fr
y ema
Fr rc
es a@
co gr
s up
Ma oc
ri on
no fr
s, em
C. arc
A a.
co
m
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE DOCUMENT IS PROVIDED "AS IS" AND "WITH ALL
FAULTS AND ERRORS". OUR COMPANY MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT. IN NO EVENT WILL OUR COMPANY BE LIABLE FOR ANY SPECIAL, CONSEQUENTIAL,
INCIDENTAL, OR INDIRECT DAMAGES, INCLUDING, AMONG OTHERS, DAMAGES FOR LOSS OF BUSINESS PROFITS,
BUSINESS INTERRUPTION OR LOSS OF DATA, CORRUPTION OF SYSTEMS, OR LOSS OF DOCUMENTATION,
WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, IN CONNECTION
WITH THE USE OF THE DOCUMENT, EVEN IF OUR COMPANY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES OR LOSS.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
1 Reading Guide
Chapter Description
Includes the ISAPI overview, applicable products, terms and definitions, abbreviations, and update
Overview
history.
ISAPI
Read the chapter to take a quick look at the ISAPI framework and basic functions.
Framework
m
Quick Start Read the chapter to quickly understand the programming process of basic functions such as
co
Guide authentication, message parsing, real-time live view, playback, and event uploading.
a.
API
Start programming according to API definitions.
C. arc
Reference
s, em
2 Overview
A
no fr
2.1 Introduction
ri on
Intelligent Security API (hereinafter referred to as ISAPI) is an application layer protocol based on HTTP (Hypertext
Ma oc
Transfer Protocol) and adopts the REST (Representational State Transfer) architecture for communication between
up
security devices (cameras, DVRs, NVRs, etc.) and the platform or client software.
Since established in 2013, ISAPI has included more than 11,000 APIs for different functions, including device
co gr
management, vehicle recognition, parking lot management, intelligent facial application, access control management,
es a@
interrogation management, and recording management. It is applicable to industries such as traffic, fire protection,
education, and security inspection.
Fr rc
When you integrate devices via ISAPI, the device acts as the server to listen on the fixed port and the user's application
os fr
acts as the client to actively log in to the device for communication. To achieve the above goals, the device should be
configured with a fixed IP address and the requests from the client can reach the server.
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
2.2 Product Scope
no fr
Face Recognition Terminals
ri on
Pro Series
Ma oc
DS-K1T607, DS-K1T607E, DS-K1T642, DS-K1T642E, DS-K1T642EF, DS-K1T642EFW, DS-K1T642EW, DS-
up
K1T642M, DS-K1T642MF, DS-K1T642MFW, DS-K1T642MW, DS-K1T643MWX-T, DS-K1T643MX-T, DS-
co gr
2.3.3 Event
os fr
It refers to the information uploaded by the device. The event is uploaded by the device in real time for the immediate
ad on
response from the client or the platform. If the device is offline, the event will be stored in the cache first and then it will
be uploaded again when the connection is restored.
el .c
2.3.2 Arming
ez
Arming means that the client establishes connection with the device so that events can be uploaded to the client via the
en
connection. The client can subscribe to some event types, and the device will upload the specified events only,
im
otherwise the device will upload all types of events to the client.
ng
Aj
2.3.4 Listen
Co
After the platform starts listening service, when an event occurs, the event information will be sent to the listening port
of the platform based on the IP address and port No., then the connection will be closed.
2.3.6 Center
A group of independent services, including at least one device access service and one or multiple application platforms.
m
Users can set who can open which doors at what time. The access permission contains information about the person,
co
time, and door.
a.
2.3.11 Credential Type
C. arc
Credentials are the data which are used for recognizing specific persons. Cards, fingerprints, and face pictures can be
the credentials and linked to the specified persons. When the device detects the credential, it can recognize the person
s, em
whom the credential links to via the comparison algorithm.
A
no fr
2.3.12 Person Type
ri on
Persons can be divided into normal persons, visitors, and blocklist persons according to different areas. In the access
control system, normal persons have permanent permissions to access the specified areas, visitors have temporary
Ma oc
permissions to access the specified areas, and blocklist persons do not have the permissions to access the specified
up
areas.
co gr
2.3.13 Group
es a@
A group of persons which is used in multi-factor authentication. The same person can belong to different groups at the
same time. Up to 4 groups can be added at the same time.
Fr rc
s
y ema
The platform verifies the event uploaded by the device and applies the verification result to the device for controlling
the door after completing verification.
ez
en
2.3.22 Device ID
The device ID of the location of room. It is an 11-digit number contains the phase No., building No., unit No., floor No.,
im
serial No. and Community No. It is a unique ID of the device for calling and receiving.
ng
Aj
Co
m
co
SDP: Session Description Protocol.
a.
ACS: Access Control System. The access control system controls the entrance and exit channels. The system consists of
card readers, access controllers, electric locks, exit buttons, cards, application software, etc.
C. arc
None.
APK: Android Application Package
s, em
HEOP: Embedded Open Platform
A
no fr
HiCore: Core Applications
ri on
2.5 Update History
No update record
Ma oc
up
3 ISAPI Framework
co gr
es a@
3.1 Overview
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
Notes:
ng
Aj
In general, ISAPI refers to the communication protocol based on the HTTP standard. As ISAPI is usually used along with
Co
RTSP (Real-Time Streaming Protocol), the RTSP standard is brought into the ISAPI system.
The metadata scheme for transmitting additional information of the stream is extended based on the RTSP standard to
transmit the video stream and the structured intelligent information of the stream simultaneously. It is compatible with
the RTSP standard.
3.2 Activation
The purpose of activation is to ensure that the user can set the password for the device and the password meets the
security requirement. After the device is activated, you can use the related functions.
ISAPI is a communication protocol running on the application layer. When activating the device via ISAPI, you should
know the device's IP address and make sure that the device is connected to the client.
The web application built in the device supports activating the device via ISAPI. When you enter the device's IP address
in the address bar of the web browser on the PC, you can activate the device according to the activation guide.
If you want to activate the device on your own application, you need to integrate the activation function via ISAPI. The
API calling flow and related APIs are shown below.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
1. The client generates a public and private key pair (1024 bits), and gets the 128-byte modulus in the public key
ez
(hereinafter referred to as public key modulus). If the length is longer than 128, the leading 0 needs to be removed.
2. The client converts the public key modulus to a 256-byte public key string via bytesToHexstring and sends the
en
public key string to the device in XML message (related URI: POST /ISAPI/Security/challenge ) after being
im
encoded by Base64.
ng
3. The device parses the request to obtain a 256-byte public key string decoded by Base64 and converts it to a 128-
Aj
byte public key modulus via hexStringToBytes. The complete public key is the combination of obtained public key
Co
m
but need to ensure that the device and the application running SADP are connected to the same router. SADP also
co
supports discovering devices in the LAN, changing the password of the devices, and so on. The HCSadpSDK is
a.
provided for SADP integration, including the developer guide, plug-in, and sample demo which can be used as a
simple SADP tool.
C. arc
3.3 Security Mechanism
s, em
A
3.3.1 Authentication
no fr
When the client applications send requests to devices, they need to use digest authentication (see details in RFC 7616)
ri on
for identity authentication.
Ma oc
Currently, all mainstream request class libraries of HTTP have encapsulated digest authentication. See details in
Authentication of Quick Start Guide.
up
3.3.2 User Permission
co gr
There are three kinds of users with different permissions for access control and management.
es a@
Administrator: Has the permission to access all supported resources and should keep activated all the time. It is also
Fr rc
known as "admin".
y ema
Operator: Has the permission to access general resources and a part of advanced resources.
Normal User: Only has the permission to access general resources.
os fr
During ISAPI integration, the HTTPS service of devices is enabled by default. When the client applications communicate
el .c
ISAPI supports getting and setting stream media parameters of the device, such as video resolution, encoding format,
ng
Aj
and stream.
Co
Cameras support standard RTSP (Real-Time Streaming Protocol, see details in RFC 7826). Client applications can get
the stream from devices via RTSP.
For details about real-time streaming and video playback, refer to Real-Time Live View and Playback in Quick Start
Guide.
3.4.2 Metadata
The metadata is the structured intelligent information generated by intelligent devices. When the client applications get
the audio and/or video stream from devices via RTSP, the metadata will be returned by the device at the same time. For
example, to display the face target frame, face information, vehicle target frame, license plate number, vehicle
information, and other information on the video stream, the client applications can overlay the above information on
the video image.
Before using the metadata, you need to enable the metadata function of the device and then get the stream from the
device via RTSP. Some devices support subscribing to the metadata by type. For details about the process of integrating
the metadata function, refer to Metadata Management.
m
7616) for identity authentication.
co
Client applications only need to call APIs of the class library to implement the digest authentication. The sample code is
a.
shown below.
C. arc
4.1.1 C/C++ (libcurl)
s, em
// #include <curl/curl.h>
A
// Callback Function
no fr
static size_t OnWriteData(void* buffer, size_t size, size_t nmemb, void* lpVoid)
{
std::string* str = dynamic_cast<std::string*>((std::string *)lpVoid);
ri on
if( NULL == str || NULL == buffer )
{
return -1;
Ma oc
} up
char* pData = (char*)buffer;
str->append(pData, size * nmemb);
return nmemb;
co gr
std::string strResponseData;
CURL *pCurlHandle = curl_easy_init();
curl_easy_setopt(pCurlHandle, CURLOPT_CUSTOMREQUEST, "GET");
Fr rc
// Timeout settings for receiving the data. If receiving data is not completed within 5 seconds, the application will exit directly
curl_easy_setopt(pCurlHandle, CURLOPT_TIMEOUT, 5);
// Set the redirection times to avoid too many redirections
el .c
if (0 == nRet)
{
// Output the received message
im
curl_easy_cleanup(pCurlHandle);
Co
4.1.2 C# (WebClient)
// using System.Net;
// using System.Net.Security;
try
{
string strUrl = "http://192.168.18.84:80/ISAPI/System/deviceInfo";
WebClient client = new WebClient();
// Set the user name and password
client.Credentials = new NetworkCredential("admin", "admin12345");
byte[] responseData = client.DownloadData(strUrl);
string strResponseData = Encoding.UTF8.GetString(responseData);
// Output received information
Console.WriteLine(strResponseData);
}
catch (Exception ex)
m
{
Console.WriteLine(ex.Message);
co
}
a.
4.1.3 Java (HttpClient)
C. arc
// import org.apache.commons.httpclient.HttpClient;
s, em
String url = "http://192.168.18.84:80/ISAPI/System/deviceInfo";
HttpClient client = new HttpClient();
A
// Set the user name and password
no fr
UsernamePasswordCredentials creds = new UsernamePasswordCredentials("admin", "admin12345");
client.getState().setCredentials(AuthScope.ANY, creds);
GetMethod method = new GetMethod(url);
ri on
method.setDoAuthentication(true);
int statusCode = client.executeMethod(method);
Ma oc
byte[] responseData = method.getResponseBodyAsString().getBytes(method.getResponseCharSet());
String strResponseData = new String(responseData, "utf-8");
method.releaseConnection();
up
// Output received information
System.out.println(strResponseData);
co gr
es a@
import requests
request_url = 'http://192.168.18.84:80/ISAPI/System/deviceInfo'
# Set the authentication information
auth = requests.auth.HTTPDigestAuth('admin', 'admin12345')
os fr
print(response.text)
el .c
During the process of communication and interaction via ISAPI, the request and response messages are often text data
ng
in XML or JSON format. Besides that, the data of firmware packages and configuration files is in binary format. A
Aj
request can also be in form format with multiple formats of data (multipart/form-data).
Co
4.2.1.1 XML
Generally, the Content-Type in the headers of the HTTP request is application/xml; charset="UTF-8" .
Request and response messages in XML format are all encoded with UTF-8 standards in ISAPI.
The namespace http://www.isapi.org/ver20/XMLSchema and ISAPI version number 2.0 of XML messages are
configured by default, see the example below.
<?xml version="1.0" encoding="UTF-8"?>
<NodeList xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
<Node>
<id>1</id>
<enabled>true</enabled>
<nodeName>nodeName</nodeName>
<level>level1</level>
</Node>
</NodeList>
4.2.1.2 JSON
m
The Content-Type in the headers of the HTTP request is often application/json .
co
To distinguish between APIs with XML messages and those with JSON messages, ISAPI adds the query parameter
a.
format=json to all request URLs with JSON messages, e.g.,
http://192.168.1.1:80/ISAPI/System/Sensor/thermometrySensor?format=json . Messages of request URLs without
C. arc
the query parameter format=json are usually in XML format. However, there may be some exceptions, and the message
format is subject to the API definition.
s, em
Request and response messages in JSON format are all encoded by UTF-8 in ISAPI.
A
no fr
4.2.1.3 Binary Data
ri on
For the firmware and configuration files, the Content-Type in the header of an HTTP request is often
Ma oc
application/octet-stream . up
4.2.1.4 Form (multipart/form-data)
co gr
When multiple pieces of data are submitted at the same time in an ISAPI request (e.g., the person information and face
picture need to be submitted at the same time when a face record is added to the face picture library), the Content-
es a@
Type in the header of the corresponding HTTP request is usually multipart/form-data, boundary=AaB03x , where the
boundary is a variable used to separate the entire HTTP body into multiple units and each unit is a piece of data with its
Fr rc
own headers and body. In Content-Disposition of form unit headers, the name property refers to the form unit name,
y ema
which is required for all form units; the filename property refers to the file name of form unit body, which is required
only when the form unit body is a file. In headers of form units, Content-Length refers to the body length, which starts
after CRLF( \r\n ) and ends before two hyphens ( -- ) of next form. There should be a CRLF used as the delimiter of two
os fr
form units before two hyphens ( -- ), and the Content-Length of previous form unit does not include the CRLF length.
ad on
For the detailed format description, refer to RFC 1867 (Form-Based File Upload in HTML). Pay attention to two hyphens
( -- ) before and after the boundary.
el .c
Notes
ez
In RFC specifications, it is strongly recommended to contain the field Content-Length in the entity header, and
en
there is no requirement that the field Content-Length should be contained in the header of each form element.
The absence of field Content-Length in the header should be considered when the client and device programs
im
To avoid the conflict between message content and boundary value, it is recommended to use a longer and more
Co
--e5c2f8c5461142aea117791dade6414d
Content-Disposition: form-data; name="PictureUploadData";
Content-Type: application/xml
Content-Length: 1234
<PictureUploadData/>
--e5c2f8c5461142aea117791dade6414d
Content-Disposition: form-data; name="face_picture"; filename="face_picture.jpg";
Content-Type: image/jpeg
Content-Length: 34567
m
Picture Data
co
--e5c2f8c5461142aea117791dade6414d--
a.
The example of ISAPI form data responded from a device to a client is as follows.
C. arc
In ISAPI messages, when there are multiple form units, three nodes ( pid , contentid , and filename ) are used for linking
form units. The corresponding relations are as follows:
s, em
Node Form
A
Description
no fr
Name Field
ri on
pid in XML/JSON messages corresponds to the name property of Content-Disposition in
pid name
form headers.
Content-
Ma oc
up
contentid contentid in XML/JSON messages corresponds to Content-ID in form headers.
ID
co gr
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
HTTP/1.1 200 OK
Content-Type: multipart/form-data; boundary=136a73438ecc4618834b999409d05bb9
Content-Length: 56789
--136a73438ecc4618834b999409d05bb9
Content-Disposition: form-data; name="mixedTargetDetection";
Content-Type: application/json
Content-Length: 811
{
"ipAddress": "172.6.64.7",
"macAddress": "01:17:24:45:D9:F4",
"channelID": 1,
"dateTime": "2009-11-14T15:27+08:00",
m
"eventType": "mixedTargetDetection",
"eventDescription": "Mixed target detection",
co
"deviceID": "123456789",
"CaptureResult": [{
a.
"targetID": 1,
"Human": {
"Rect": {
C. arc
"height": 1.0,
"width": 1.0,
"x": 0.0,
"y": 0.0
s, em
},
"contentID1": "humanImage", /*human body thumbnail*/
A
"contentID2": "humanBackgroundImage", /*human body background picture*/
no fr
"pId1": "9d48a26f7b8b4f2390c16808f93f3534", /*human body thumbnail ID */
"pId2": "5EE7078E07BB47CF860DE8E4E9A85F28" /*ID of human body background picture*/
}
ri on
}]
}
Ma oc
--136a73438ecc4618834b999409d05bb9
Content-Disposition: form-data; name="9d48a26f7b8b4f2390c16808f93f3534"; filename="humanImage.jpg";
Content-Type: image/jpeg
up
Content-Length: 34567
Content-ID: humanImage
co gr
Picture Data
--136a73438ecc4618834b999409d05bb9
es a@
Content-ID: humanBackgroundImage
Picture Data
y ema
--136a73438ecc4618834b999409d05bb9--
os fr
4.2.2 Annotation
ad on
The field descriptions of ISAPI request and response messages are marked as annotations in the example messages as
shown below.
el .c
ez
<!--ro, req, object, node list, attr:version{req, string, version No., range:[,]}-->
<Node>
im
</id>
<enabled>
Co
m
}
co
Key annotations are shown in the table below.
a.
Annotation Description Remark
C. arc
Attribute: Read-
ro This field can only be obtained and cannot be edited.
Only
s, em
A
Attribute: Write-
no fr
wo This field can only be edited and cannot be obtained.
Only
ri on
Attribute: This field is required for request messages sent to the device and response
req
Ma oc
Required up messages returned from the device.
Attribute: This field is optional for request messages sent to the device and response
opt
Optional messages returned from the device.
co gr
Attribute:
es a@
dep This field is valid and required when specific conditions are satisfied.
Dependent
Fr rc
object Field Type: Object The field of type object contains multiple sub-fields.
y ema
list Field Type: List The subType following it refers to the data type of sub-items in the list.
The range following it refers to the maximum and the minimum string size of the
os fr
int Field Type: Int The range following it refers to the maximum and the minimum value of the field.
el .c
float Field Type: Float The range following it refers to the maximum and the minimum value of the field.
ez
Field Type:
bool The value can be true or false.
en
Boolean
im
Field Type: The subType following it indicates that the enumerators are of type string or int.
enum
ng
When the type of field is list or enum, the value of subType is the data type of each
subType Sub-Type of Field
sub-object.
desc Field Description The detailed description of the field.
m
}
co
The value range of the field: the maximum value, minimum value, the maximum size, the minimum size, options,
a.
and so on of each field of the API.
C. arc
{
"boolType": {
/*req, object, example of the capability of type bool*/
s, em
"@opt": [true, false]
A
/*req, array, options, subType: bool*/
no fr
},
"integerType": {
/*req, object, example of the capability of type integer*/
ri on
"@min": 0,
/*ro, req, int, the minimum value*/
"@max": 100
Ma oc
/*ro, req, int, the maximum value*/
},
up
"stringType": {
/*req, object, example of the capability of type string*/
"@min": 0,
co gr
},
"enumType": {
Fr rc
}
}
os fr
Note: For the same capability set, devices of different models and versions may return different results. The values
shown in this document are only examples for reference. The capability set actually returned by the device takes
ad on
precedence.
el .c
ISAPI adopts ISO 8601 Standard Time Format, which is the same as W3C Standard Date and Time Formats.
en
Format: YYYY-MM-DDThh:mm:ss.sTZD
im
ng
MM = the month consisting of two decimal digits (01-January, 02-February, and so forth)
DD = the day consisting of two decimal digits (01 to 31)
Co
hh = the hour consisting of two decimal digits (00 to 23, a.m. and p.m. are not allowed)
mm = the minute consisting of two decimal digits (00 to 59)
ss = the second consisting of two decimal digits (00 to 59)
s = one or more digits representing the fractional part of a second
TZD = time zone identifier (Z or +hh:mm or -hh:mm)
Example: 2017-08-16T20:17:06.123+08:00 refers to 20:17:06.123 on August 16, 2017 (local time which is 8 hours
ahead of UTC). The plus sign (+) indicates that the local time is ahead of UTC, and the minus sign (-) means that the
local time is behind UTC.
After the DST is enabled, the local time and time difference will change compared with UTC, and the values of related
fields also need to be changed. Disabling the DST will bring into the opposite effect.
Example: In 1986, the DST was in effect from May 4 at 2:00 a.m. (GMT+8). During the DST period, the clocks were
moved one hour ahead, which means that there was one less hour on that day. When the DST ends at 2:00 a.m. on
September 14, 1986, the clocks were moved one hour back and there was an extra hour on that day. The changes of the
time are as follows:
DST Starts: 1986-05-04T02:00:00+08:00 --> 1986-05-04T03:00:00+09:00
DST Ends: 1986-09-14T02:00:00+09:00 --> 1986-09-14T01:00:00+08:00
Notes:
m
The time difference cannot be simply used to determine the time zone. Because when the DST starts, the time
co
difference will change and it cannot represent the actual time zone.
a.
Both TZ (UTC time, e.g., 1986-05-03T18:00:00Z) and TD (local time and time difference, e.g., 1986-05-
04T02:00:00+08:00) meet the time format standards of ISO 8601. In ISAPI, the TD format is recommended to be
C. arc
used in messages sent from the user applications and the devices.
A few old-version devices will return the time in TZ format. For representing the time difference information and
s, em
forward compatibility, an extra field timeDiff is added as shown in the example below. User applications need to
A
support both TD format and TZ format when parsing the time in the messages returned by devices.
no fr
ri on
{
"dateTime": "1986-05-03T18:00:00Z", /*device time. The value in TZ format is the UTC time and the value in TD format is the time difference between the
device's local time and UTC*/
Ma oc
"timeDiff": "+08:00" /*optional, time difference between the local time and UTC time. If this field does not exist, the user application will convert
the dateTime into the local time for use*/
up
}
co gr
To prevent characters not commonly used from resulting in exceptions in device programs and user applications, ISAPI
Fr rc
limits the valid field values of type string to a specific range of characters. Character sets allowed to be used in the fields
s
Single-byte character set: lowercase letters ( a-z ), uppercase letters ( A-Z ), digits ( 0-9 ), and special characters (see
details in the table below).
os fr
Multi-byte character set: language characters based on Unicode and encoded by UTF-8 (UTF-8 encoding is a
ad on
transformation format of Unicode character set. For details, refer to RFC 2044).
el .c
ez
en
im
ng
Aj
Co
No. Name Special Character No. Name Special Character
1 Open Parenthesis ( 18 Dollar Sign $
2 Close Parenthesis ) 19 Percent Sign %
3 Plus Sign + 20 Ampersand &
4 Comma , 21 Close Single Quotation Mark '
5 Minus Sign - 22 Asterisk *
m
6 Period . 23 Slash /
co
7 Semicolon ; 24 Smaller Than <
a.
8 Equal Sign = 25 Greater Than >
C. arc
9 At Sign @ 26 Question Mark ?
s, em
10 Open Square Bracket [ 27 Caret ^
A
no fr
11 Close Square Bracket ] 28 Open Single Quotation Mark '
ri on
12 Underscore _ 29 Vertical Bar |
Ma oc
13 Open Brace { 30 Tilde ~
up
14 Close Brace } 31 Double Quotation Marks "
co gr
15 Space 32 Colon :
es a@
17 Octothorpe #
y ema
The valid characters that can be used in some special fields are listed below.
User name: lowercase letters ( a-z ), uppercase letters ( A-Z ), digits ( 0-9 ), and characters from No. 1 to No. 30 in the
os fr
Password: User Name: lowercase letters ( a-z ), uppercase letters ( A-Z ), digits ( 0-9 ), and characters from No. 1 to
No. 33 in the special character table.
el .c
Names displayed on the UI (device name, person name, face picture library name, etc.): lowercase letters ( a-z ),
ez
uppercase letters ( A-Z ), digits ( 0-9 ), characters from No. 1 to No. 15 in the special character table, and multi-byte
characters.
en
Normal fields of type string support lowercase letters ( a-z ), uppercase letters ( A-Z ), digits ( 0-9 ), characters from
im
No. 1 to No. 15 in the special character table, and multi-byte characters by default.
ng
Aj
When requesting via ISAPI failed (the HTTP status code is not 200), the device will return the HTTP status code and
ISAPI error code. For HTTP status codes, refer to 10 Status Code Definitions in RFC 2616. For ISAPI error codes, refer to
Error Code Dictionary.
Message Example:
HTTP/1.1 403 Forbidden
Content-Type: application/json; charset="UTF-8"
Date: Thu, 15 Jul 2021 20:43:30 GMT
Content-Length: 229
Connection: Keep-Alive
{
"requestURL": "/ISAPI/Event/triggers/notifications/channels/whiteLightAlarm",
"statusCode": 4,
"statusString": "Invalid Operation",
"subStatusCode": "notSupport",
"errorCode": 1073741825,
"errorMsg": "notSupport"
}
m
co
4.3 Real-Time Live View
a.
C. arc
4.3.1 Introduction to the Function
Supports getting and setting stream media parameters of devices such as resolution, coding format, and stream type.
s, em
Supports streaming from products via RTSP (Real Time Streaming Protocol, see details in RFC 7826).
A
no fr
4.3.2 API Calling Flow
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
1. A client sends RTSP DESCRIBE commands such as DESCRIBE /ISAPI/Streaming/channels/101 RTSP/1.0 . Digest
authentication with devices is required before this step.
2. The client parses the media SDP information returned by the device.
3. Set RTSP play parameters, that is to set the track ID parsed from SDP information via SETUP commands. For
example, trackID=1 indicates videos while trackID=2 indicates audios.
4. The client sends an RTSP PLAY command, and the device will send audio stream, video stream, and metadata in
the format of PLAY /ISAPI/Streaming/channels/101 RTSP/1.0 .
5. The client receives the RTP packet sent by the device. Divided RTP packets should be assembled on the client
before being parsed.
6. The client sends the command RTSP TEARDOWN to stop streaming.
Notes:
m
Digest authentication is required in RTSP playback. The method is the same as that of ISAPI digest authentication.
co
The address format for streaming from devices is rtsp:// <host>[:port]/ISAPI/Streaming/channels/<ID> , of
a.
which <host> is the device IP address; [:port] is optional, and 554 by default; <ID> is the device channel ID * 100
+ stream type (1-main stream, 2-sub-stream, 3-third stream). For example, the IP address of the target device is
C. arc
172.7.203.11 , and the streaming address of main stream for channel 17 will be
rtsp://172.7.203.11:554/ISAPI/Streaming/channels/1701 .
s, em
RTSP also supports containing user names and passwords in URL. The format is
A
rtsp://username:password@[address]:[port]/Streaming/Channels/[id](?parm1=value1&parm2-=value2…) ,
no fr
such as /Streaming/Channels/101?transportmode=unicast .
ri on
4.3.3 Example
Ma oc
1. A client sends an RTSP DESCRIBE command.
up
DESCRIBE rtsp://10.21.84.147:554/ISAPI/Streaming/channels/101 RTSP/1.0
co gr
CSeq:0
Accept:application/sdp
es a@
User-Agent:NKPlayer-1.00.00.081112
Fr rc
3. The client sends an RTSP DESCRIBE request with authentication information again.
el .c
CSeq:1
Accept:application/sdp
Authorization: Digest username="admin", realm="3521781c29acb312330dd668", nonce="026019333", uri="rtsp://10.21.84.147:554/ISAPI/Streaming/channels/101",
en
response="76a2c9c5b8edbd49838013cf1cf27941"
User-Agent:NKPlayer-1.00.00.081112
im
ng
v=0
o=- 1109162014219182 0 IN IP4 0.0.0.0
s= Media Server V4.22.126
i= Media Server Session Description : standard
e=NONE
c=IN IP4 0.0.0.0
t=0 0
a=control:*
m
b=AS:6154
a=range:npt=now-
co
m=video 0 RTP/AVP 96
i=Video Media
a.
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=4D0014;packetization-mode=0
a=control:trackID=1
C. arc
b=AS:6144
m=audio 0 RTP/AVP 8
i=Audio Media
a=rtpmap:8 PCMA/8000
s, em
a=control:trackID=2
b=AS:10
A
a=Media_header:MEDIAINFO=494D4B48020100000200000111710110401F000000FA000000000000000000000000000000000000;
no fr
a=appversion:1.0
ri on
5. The client sends RTSP SETUP requests, and the server responds to them.
Ma oc
SETUP rtsp://10.21.84.147:554/ISAPI/Streaming/channels/101/trackID=1 RTSP/1.0
up
CSeq:2
Authorization: Digest username="admin", realm="3521781c29acb312330dd668", nonce="026019333", uri="rtsp://10.21.84.147:554/ISAPI/Streaming/channels/101",
co gr
response="ff343f5ff82deb028dd9b4932cc44201"
Transport:RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=0
User-Agent:NKPlayer-1.00.00.081112
es a@
Fr rc
RTSP/1.0 200 OK
Session: 1127293610;timeout=60
y ema
Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=433122aa
CSeq: 2
Accept-Ranges: NPT
Media-Properties: No-Seeking, Time-Progressing, Time-Duration=0
os fr
CSeq:3
Authorization: Digest username="admin", realm="3521781c29acb312330dd668", nonce="026019333", uri="rtsp://10.21.84.147:554/ISAPI/Streaming/channels/101",
ez
response="ff343f5ff82deb028dd9b4932cc44201"
Session:1127293610;timeout=60
Transport:RTP/AVP/TCP;unicast;interleaved=2-3;ssrc=0
en
User-Agent:NKPlayer-1.00.00.081112
im
ng
RTSP/1.0 200 OK
Aj
Session: 1127293610;timeout=60
Co
Transport: RTP/AVP/TCP;unicast;interleaved=2-3;ssrc=433122ab
CSeq: 3
Accept-Ranges: NPT
Media-Properties: No-Seeking, Time-Progressing, Time-Duration=0
Date: Tue, 17 Nov 2020 02:09:45 GMT
$. .....d1.w....c....".T....g....).i.........a....7.S..~J............X....X.
8. The client sends an RTSP TEARDOWN request, and the server responds to it.
m
Authorization: Digest username="admin", realm="3521781c29acb312330dd668", nonce="026019333", uri="rtsp://10.21.84.147:554/ISAPI/Streaming/channels/101",
response="24edf8a6ff3ef767f7c49d1c847200bd"
co
Session:1127293610;timeout=60
Range:npt=0.000000-0.000000
a.
User-Agent:NKPlayer-1.00.00.081112
C. arc
RTSP/1.0 200 OK
Session: 1127293610
s, em
CSeq: 5
Date: Tue, 17 Nov 2020 02:09:50 GMT
A
no fr
ri on
4.4 Playback
4.4.1 Introduction to the Function
Ma oc
up
Devices such as cameras and NVRs can store videos. Storage mediums such as SD card, TF card and HDDs are needed
before recording videos. The process of playback starts with searching for footages and then getting video stream via
co gr
Below is an example of playback on a web client. The calendar in the bottom-left corner shows the results of searching
for videos. Dates with videos are shown on the calendar and you can click a date to play back searched videos of the
Fr rc
corresponding day.
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
4.4.3 Example
m
co
4.4.3.1 Search for Videos According to Calendar
a.
Request from Client
C. arc
POST /ISAPI/ContentMgmt/record/tracks/101/dailyDistribution HTTP/1.1
Host: 10.14.97.40
Connection: keep-alive
s, em
Content-Length: 119
Cache-Control: max-age=0
A
no fr
Accept: */*
X-Requested-With: XMLHttpRequest
If-Modified-Since: 0
ri on
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: http://10.14.97.40
Ma oc
Referer: http://10.14.97.40/doc/index.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
up
Cookie: WebSession_78aedfcc66=3b451c9d37cb637827da0815086e7ecfd9984b0095b3cb7198e8197a424a3279
co gr
<monthOfYear>08</monthOfYear>
</trackDailyParam>
Fr rc
m
<day><id>1</id><dayOfMonth>1</dayOfMonth><record>true</record><recordType>time</recordType></day>
<day><id>2</id><dayOfMonth>2</dayOfMonth><record>true</record><recordType>time</recordType></day>
co
<day><id>3</id><dayOfMonth>3</dayOfMonth><record>true</record><recordType>time</recordType></day>
<day><id>4</id><dayOfMonth>4</dayOfMonth><record>true</record><recordType>time</recordType></day>
a.
<day><id>5</id><dayOfMonth>5</dayOfMonth><record>true</record><recordType>time</recordType></day>
<day><id>6</id><dayOfMonth>6</dayOfMonth><record>true</record><recordType>time</recordType></day>
<day><id>7</id><dayOfMonth>7</dayOfMonth><record>true</record><recordType>time</recordType></day>
C. arc
<day><id>8</id><dayOfMonth>8</dayOfMonth><record>true</record><recordType>time</recordType></day>
<day><id>9</id><dayOfMonth>9</dayOfMonth><record>true</record><recordType>time</recordType></day>
<day><id>10</id><dayOfMonth>10</dayOfMonth><record>true</record><recordType>time</recordType></day>
<day><id>11</id><dayOfMonth>11</dayOfMonth><record>true</record><recordType>time</recordType></day>
s, em
<day><id>12</id><dayOfMonth>12</dayOfMonth><record>true</record><recordType>time</recordType></day>
<day><id>13</id><dayOfMonth>13</dayOfMonth><record>true</record><recordType>time</recordType></day>
A
<day><id>14</id><dayOfMonth>14</dayOfMonth><record>false</record></day>
no fr
<day><id>15</id><dayOfMonth>15</dayOfMonth><record>false</record></day>
<day><id>16</id><dayOfMonth>16</dayOfMonth><record>false</record></day>
<day><id>17</id><dayOfMonth>17</dayOfMonth><record>false</record></day>
ri on
<day><id>18</id><dayOfMonth>18</dayOfMonth><record>true</record><recordType>time</recordType></day>
<day><id>19</id><dayOfMonth>19</dayOfMonth><record>false</record></day>
Ma oc
<day><id>20</id><dayOfMonth>20</dayOfMonth><record>false</record></day>
<day><id>21</id><dayOfMonth>21</dayOfMonth><record>false</record></day>
<day><id>22</id><dayOfMonth>22</dayOfMonth><record>false</record></day>
up
<day><id>23</id><dayOfMonth>23</dayOfMonth><record>false</record></day>
<day><id>24</id><dayOfMonth>24</dayOfMonth><record>false</record></day>
<day><id>25</id><dayOfMonth>25</dayOfMonth><record>false</record></day>
co gr
<day><id>26</id><dayOfMonth>26</dayOfMonth><record>false</record></day>
<day><id>27</id><dayOfMonth>27</dayOfMonth><record>false</record></day>
es a@
<day><id>28</id><dayOfMonth>28</dayOfMonth><record>false</record></day>
<day><id>29</id><dayOfMonth>29</dayOfMonth><record>false</record></day>
<day><id>30</id><dayOfMonth>30</dayOfMonth><record>false</record></day>
Fr rc
<day><id>31</id><dayOfMonth>31</dayOfMonth><record>false</record></day>
</dayList>
</trackDailyDistribution>
y ema
Content-Length: 486
Cache-Control: max-age=0
Accept: */*
en
X-Requested-With: XMLHttpRequest
If-Modified-Since: 0
im
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
ng
Origin: http://10.14.97.40
Aj
Referer: http://10.14.97.40/doc/index.html
Accept-Encoding: gzip, deflate
Co
Accept-Language: zh-CN,zh;q=0.9
Cookie: WebSession_78aedfcc66=3b451c9d37cb637827da0815086e7ecfd9984b0095b3cb7198e8197a424a3279
HTTP/1.1 200 OK
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
Content-Type: application/xml; charset="UTF-8"
X-Content-Type-Options: nosniff
Date: Wed, 18 Aug 2021 15:19:13 GMT
Content-Length: 1021
X-XSS-Protection: 1; mode=block
Connection: Keep-Alive
Accept-Ranges: bytes
m
<CMSearchResult version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<searchID>{88c2cd4d-d3fa-4ad4-bd80-555c18205dcc}</searchID>
co
<responseStatus>true</responseStatus>
<responseStatusStrg>OK</responseStatusStrg>
a.
<numOfMatches>1</numOfMatches>
<matchList>
<searchMatchItem>
C. arc
<sourceID>{00000000-0000-0000-0000-000000000000}</sourceID>
<trackID>101</trackID>
<timeSpan>
<startTime>2021-08-18T15:18:15Z</startTime>
s, em
<endTime>2021-08-18T15:19:08Z</endTime>
</timeSpan>
A
<mediaSegmentDescriptor>
no fr
<contentType>video</contentType>
<codecType>H.264-BP</codecType>
ri on
<playbackURI>rtsp://10.14.97.40/Streaming/tracks/101/?
starttime=20210818T151815Z&endtime=20210818T151908Z&name=00000004667000100&size=1400788</playbackURI>
<lockStatus>unlock</lockStatus>
Ma oc
<name>00000004667000100</name>
</mediaSegmentDescriptor>
<metadataMatches>
up
<metadataDescriptor>recordType.meta..com/timing</metadataDescriptor>
</metadataMatches>
co gr
</searchMatchItem>
</matchList>
</CMSearchResult>
es a@
Fr rc
starttime=20210818T151815Z&endtime=20210818T151908Z&name=00000004667000100&size=1400788", response="883546f4c19dd156fb3a490266c99715"
User-Agent: LibVLC/3.0.3 (LIVE555 Streaming Media v2016.11.28)
el .c
3. The client sends an RTSP DESCRIBE request with authentication information again.
Co
v=0
o=- 1109162014219182 0 IN IP4 0.0.0.0
s= Media Server V4.60.000
i= Media Server Session Description : standard
e=NONE
c=IN IP4 0.0.0.0
t=0 0
a=control:*
m
b=AS:4106
a=range:clock=20210818T151815Z-20210818T151908Z
co
m=video 0 RTP/AVP 96
i=Video Media
a.
a=rtpmap:96 H265/90000
a=control:trackID=video
b=AS:4096
C. arc
m=audio 0 RTP/AVP 8
i=Audio Media
a=rtpmap:8 PCMA/8000
a=control:trackID=audio
s, em
b=AS:10
a=Media_header:MEDIAINFO=494D4B48020100000400050011710110401F000000FA000000000000000000000000000000000000;
A
a=appversion:1.0
no fr
ri on
5. The client sends RTSP SETUP commands two times, and the server responds to them.
Ma oc
SETUP rtsp://10.14.97.40:554/Streaming/tracks/101/?starttime=20210818T151815Z&endtime=20210818T151908Z&name=00000004667000100&size=1400788/trackID=video
RTSP/1.0
up
CSeq: 8
Authorization: Digest username="admin", realm="323852ae0234c718f2d4198b", nonce="55e5895b9", uri="rtsp://10.14.97.40:554/Streaming/tracks/101/?
co gr
starttime=20210818T151815Z&endtime=20210818T151908Z&name=00000004667000100&size=1400788", response="44d97a3758b7f19f1a31fe042b1464b5"
User-Agent: LibVLC/3.0.3 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;unicast;client_port=61048-61049
es a@
Fr rc
RTSP/1.0 200 OK
Session: 225263317;timeout=60
y ema
Transport: RTP/AVP;unicast;client_port=61048-61049;server_port=62000-62001;ssrc=d6d3ed5
CSeq: 8
Accept-Ranges: UTC
Media-Properties: Random-Access=1.0s, Unlimited, Immutable,Scales="-1, 0.5, 0.25, 0.125,:1, 2, 4"
os fr
SETUP rtsp://10.14.97.40:554/Streaming/tracks/101/?starttime=20210818T151815Z&endtime=20210818T151908Z&name=00000004667000100&size=1400788/trackID=audio
el .c
RTSP/1.0
CSeq: 9
ez
Transport: RTP/AVP;unicast;client_port=61050-61051
Session: 225263317
im
ng
Aj
RTSP/1.0 200 OK
Co
Session: 225263317;timeout=60
Transport: RTP/AVP;unicast;client_port=61050-61051;server_port=62002-62003;ssrc=d6d3ed6
CSeq: 9
Accept-Ranges: UTC
Media-Properties: Random-Access=1.0s, Unlimited, Immutable,Scales="-1, 0.5, 0.25, 0.125,:1, 2, 4"
Date: Wed, 18 Aug 2021 07:29:25 GMT
6. The client sends an RTSP PLAY request, and the server starts to push streams for playback.
m
starttime=20210818T151815Z&endtime=20210818T151908Z&name=00000004667000100&size=1400788", response="1d3f6f8d07d7087d341560b125445456"
User-Agent: LibVLC/3.0.3 (LIVE555 Streaming Media v2016.11.28)
co
Session: 225263317
a.
C. arc
RTSP/1.0 200 OK
CSeq: 11
Date: Wed, 18 Aug 2021 07:29:38 GMT
Session: 225263317
s, em
Connection: close
A
no fr
4.5 Event Uploading
ri on
When the rules configured on the device are triggered, the device will generate event messages (e.g., motion detection,
Ma oc
etc.) and actively upload them to the client. ISAPI supports three methods to receive event messages uploaded by the
up
device, that is, in arming mode, in listening mode, and via subscription.
co gr
4.5.1 Arming
es a@
The client establishes a HTTP persistent connection with the device to receive event messages from the device.
There are two methods (arming with subscription and arming without subscription) to receive events from the device.
Fr rc
The arming without subscription is to get all event messages from the device via HTTP GET method, while the arming
y ema
with subscription is to get messages of subscribed events via HTTP POST method.
Notes
os fr
ISAPI arming (with or without subscription) uses the HTTP/HTTPS persistent connection. Due to the simplex
channel communication mode of HTTP, after establishing the arming connection, the device will send event
ad on
messages continuously, while it's not supported for clients to send any message to the device via the connection.
el .c
When the heartbeat timed out and no message is received from the device, you should terminate the arming
connection and try establishing a new one.
ez
en
the connection alive via configuring Connection: keep-alive in HTTP headers on the client.
ng
Aj
2. Receive events sent by the device. The event message will be separated and parsed by boundary. For parsing
Co
m
Authorization: Digest username="admin",realm="IP
Camera(C2183)",nonce="4e5468694e7a42694e7a4d364f4449354d7a6b354d54513d",uri="/ISAPI/Event/notification/alertStream",cnonce="3d183a245b8729121ae4ca3d41b90f18
co
",nc=00000001,qop="auth",response="f2e0728991bb031f83df557a8f185178"
Host: 10.6.165.192
a.
HTTP/1.1 200 OK
MIME-Version: 1.0
C. arc
Connection: close
Content-Type: multipart/mixed; boundary=<frontier>
--<frontier>
s, em
Content-Type: application/xml; charset="UTF-8" <!--some event messages are uploaded in JSON format, and the upper layer needs to distinguish the message
format accroding to Content-Type when parsing event messages-->
A
Content-Length: text_length
no fr
<EventNotificationAlert/>
--<frontier>
ri on
Content-Disposition: form-data; name="Picture_Name"
Content-Type: image/pjpeg
Ma oc
Content-Length: image_length
[Picture Data]
up
--<frontier>
co gr
Note: <data_gateway_ip> and <frontier> are variables, [Picture Data] indicates the raw data of a picture.
es a@
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
2. Check if event subscription is supported: isSupportSubscribeEvent exists and its value is true . When
isSupportSubscribeEvent does not exist or its value is false, the device does not support event subscription.
m
co
Event Messages Parsing:
a.
Client Creates Arming with Subscription
C. arc
POST /ISAPI/Event/notification/subscribeEvent HTTP/1.1
Authorization: Digest username="admin",realm="IP
Camera(C2183)",nonce="4e5468694e7a42694e7a4d364f4449354d7a6b354d54513d",uri="/ISAPI/Event/notification/alertStream",cnonce="3d183a245b8729121ae4ca3d41b90f18
",nc=00000001,qop="auth",response="f2e0728991bb031f83df557a8f185178"
s, em
Host: device_ip
A
<SubscribeEvent/>
no fr
ri on
Server Responds to Request and Push Event Message
Ma oc
When the client sends a request to the device for establishing an arming connection, the device sends data in HTTP
form format (multipart/form-data). In HTTP request headers, the Content-Type is multipart/form-data,
up
boundary=AaB03x , of which the boundary is a variable used to divide the HTTP body into multiple units, and each unit
has its headers and body. For detailed format description, see RFC 1867 (Form-based File Upload in HTML). An example
co gr
is shown below. Please note two hyphens -- before and after boundary. In normal conditions, devices will not close the
es a@
arming link actively, and the end mark --AaB03x-- will not be sent on the arming link.
Fr rc
HTTP/1.1 200 OK
Content-Type: multipart/form-data; boundary=AaB03x
y ema
Connection: keep-alive
--AaB03x
Content-Disposition: form-data; name="ANPR.xml"; filename="ANPR.xml";
Content-Type: application/xml
os fr
Content-Length: 9
<ANPR/>
ad on
--AaB03x
Content-Disposition: form-data; name="licensePlatePicture.jpg"; filename="licensePlatePicture.jpg";
el .c
Content-Type: image/jpeg
Content-Length: 14
ez
Picture Data
--AaB03x--
en
m
co
a.
C. arc
s, em
A
no fr
ri on
Notes: Ma oc
up
The client and event service can be the same program.
co gr
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
<security>&iv=<iv> ;
m
/ISAPI/Event/notification/httpHosts/<hostID>/uploadCtrl .
co
4.5.2.2 Event Messages
a.
When an event occurs or an alarm is triggered in listening mode, the event/alarm information can be uploaded with
C. arc
binary data (such as pictures) and without binary data.
1. Without Binary Data:
s, em
The Content-Type in headers of the HTTP request sent by the device is usually application/xml or application/json
A
no fr
as follows:
ri on
Alarm Message Sent by the Device
Ma oc
POST Request_URI HTTP/1.1 <!--Request_URI, related URI: POST /ISAPI/Event/notification/httpHosts-->
Host: data_gateway_ip:port <!--HTTP server's domain name / IP address and port No., related URI: POST /ISAPI/Event/notification/httpHosts-->
up
Accept-Language: en-us
Date: YourDate
Content-Type: application/xml; <!--Content Type, which is used for the upper layer to distinguish different formats when parsing the message-->
co gr
Content-Length: text_length
Connection: keep-alive <!--maintain the connection between the device and the server for better transmission performance-->
es a@
<EventNotificationAlert/>
Fr rc
HTTP/1.1 200 OK
Date: YourDate
os fr
Connection: close
ad on
The format of the data sent by the device is HTTP form (multipart/form-data). The Content-Type in headers of the HTTP
request is usually multipart/form-data, boundary=<frontier> , of which boundary is a variable used to divide the
ez
HTTP body into multiple units, and each unit has its headers and body. See details in RFC 1867 (Form-based File
en
Upload in HTML). An example is shown below. Please note two hyphens -- before and after the boundary.
Alarm Message Sent by the Device
im
ng
Aj
Accept-Language: en-us
Date: YourDate
Content-Type: multipart/form-data;boundary=<frontier>
Content-Length: text_length
Connection: keep-alive <!--maintain the connection between the device and the server for better transmission performance-->
--<frontier>
Content-Disposition: form-data; name="Event_Type"
Content-Type: text/xml <!--some event messages are uploaded in JSON format, and the upper layer needs to distinguish the message format accroding to
Content-Type when parsing event messages-->
<EventNotificationAlert/>
--<frontier>
Content-Disposition: form-data; name="Picture_Name"
Content-Length: image_length
Content-Type: image/jpeg
[Picture Data]
--<frontier>--
m
Delimiter of the form message. A form message which starts with --
co
boundary frontier
boundary and ends with --boundary-- .
a.
Content- form-data;
Content description. form-data is a piece of form data.
C. arc
Disposition name="Picture_Name";
filename "Picture_Name" File name. The file refers to the form message.
s, em
A
Content-
no fr
10 Content length, starting from the next \r\n to the next --boundary .
Length
ri on
4.5.2.3 Exception Handling
Error Codes
Ma oc
up
statusCode statusString subStatusCode errorCode Description
co gr
s
y ema
The device will generate many logs during running. A type of logs are stored in the device database by structured data,
including:
el .c
Operation records of the device, such as startup, reboot, PTZ control, etc.
ez
Events generated by the device, such as the start of motion detection, the end of motion detection, face capture, etc.
en
Device status exception, such as network disconnection, network recovery, IP address conflict, etc.
Device triggering information, such as start recording, stop recording, and record HDD status information
im
regularly.
ng
Aj
Structured log search contains log search and security log search. The two methods share some features, and have
Co
differences:
Log search is used for searching for running status and operation records of the device.
Security log search is used for searching for the security-related status and operation records of the device, such as
user login/logout records, device SSH service enabling/shutdown records, etc.
Structured logs can be displayed on the device web page, remote client, and platform/software by structure tabs.
m
co
1. Get the capability of accessing syslog parameters, and check whether the device supports syslog function and set
the value range of parameters.
a.
2. Set log server parameters: PUT /ISAPI/System/logServer ; edit the device log server configuration, including IP
C. arc
address, port No., certificate, etc.;
3. Device logs will be sent to Syslog server through Syslog protocol. You can view device logs in Syslog server.
s, em
5.3 Arming and Subscription
A
no fr
5.3.1 Introduction to the Function
ri on
With arming and subscription, the client can establish HTTP persistent connection with the device, and continuously
receive the event messages from the device.
Ma oc
For ISAPI event arming, the client can receive all types of events by GET method, or receive the subscribed events only
up
by POST method.
co gr
1. Establish a connection for arming: GET /ISAPI/Event/notification/alertStream . You need to set Connection:
y ema
5.3.2.2 Subscription
el .c
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
2. Check if event subscription is supported: isSupportSubscribeEvent exists and its value is true . When
isSupportSubscribeEvent does not exist or its value is false, the device does not support event subscription.
m
co
5.3.2.2.2 Example
a.
POST /ISAPI/Event/notification/subscribeEvent HTTP/1.1
C. arc
Host: device_ip
Accept-Language: zh-cn
Date: YourDate
Content-Type: application/xml;
s, em
Content-Length: text_length
Connection: Keep-Alive
A
no fr
<SubscribeEvent/>
HTTP/1.1 401 Unauthorized
ri on
Date: Sun, 01 Apr 2018 18:58:53 GMT
Server:
Content-Length: 178
Ma oc
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=99
up
WWW-Authenticate: Digest qop="auth", realm="IP Camera(C2183)", nonce="4e5468694e7a42694e7a4d364f4449354d7a6b354d54513d", stale="FALSE"
",nc=00000001,qop="auth",response="f2e0728991bb031f83df557a8f185178"
Host: device_ip
Fr rc
<SubscribeEvent/>
HTTP/1.1 200 OK
MIME-Version: 1.0
y ema
Connection: close
Content-Type: multipart/mixed; boundary=<frontier>
--<frontier>
os fr
Content-Type: application/xml; charset="UTF-8" <!--some event messages are uploaded in JSON format, and the upper layer needs to distinguish the message
format accroding to Content-Type when parsing event messages-->
ad on
Content-Length: text_length
<SubscribeEventResponse/>
el .c
--<frontier>
Content-Type: application/xml; charset="UTF-8" <!--some event messages are uploaded in JSON format, and the upper layer needs to distinguish the message
format accroding to Content-Type when parsing event messages-->
ez
Content-Length: text_length
en
<EventNotificationAlert/>
--<frontier>
Content-Disposition: form-data; name="Picture_Name"
im
Content-Type: image/pjpeg
Content-Length: image_length
ng
Aj
[Picture Data]
--<frontier>
Co
<ANPR/>
--AaB03x
Content-Disposition: form-data; name="licensePlatePicture.jpg"; filename="licensePlatePicture.jpg";
Content-Type: image/jpeg
Content-Length: 14
m
Image Data
--AaB03x--
co
a.
The description of some keywords are as follows:
C. arc
Keyword Example Description
Content- multipart/form-data; Content type. multipart/form-data means the message is in form
s, em
Type boundary=AaB03x format.
A
no fr
Delimiter of the form message. --boundary is the start of a form. --
boundary AaB03x
boundary-- is the end of the whole HTTP form message.
ri on
Content- form-data; name="ANPR.xml";
Ma oc
Content description.
Disposition filename="ANPR.xml";
up
name "ANPR.xml" Form name.
co gr
Content-
9 Content length, starting from the next \r\n to the next --boundary.
Fr rc
Length
s
y ema
channel communication mode of HTTP, after establishing the arming connection, the device will send out event
ad on
messages continuously, while you cannot send any message to the device via the connection.
After the heartbeat time, if you do not receive any message from the device, you should disable the arming connection
el .c
Camera(C2183)",nonce="4e5468694e7a42694e7a4d364f4449354d7a6b354d54513d",uri="/ISAPI/Event/notification/alertStream",cnonce="3d183a245b8729121ae4ca3d41b90f18
",nc=00000001,qop="auth",response="f2e0728991bb031f83df557a8f185178"
Host: device_ip
<SubscribeEvent/>
--<frontier>
Content-Type: application/xml; charset="UTF-8" <!--Some alarm messages are in JSON format, so when parsing messages, the upper-layer should distinguish
them according to the Content-Type field.-->
Content-Length: text_length
<SubscribeEventResponse/>
--<frontier>
Content-Type: application/xml; charset="UTF-8" <!--Some alarm messages are in JSON format, so when parsing messages, the upper-layer should distinguish
them according to the Content-Type field.-->
m
Content-Length: text_length
co
<EventNotificationAlert version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<ipAddress>10.17.133.46</ipAddress>
a.
<portNo>80</portNo>
<protocol>HTTP</protocol>
<macAddress>44:19:b6:6d:24:85</macAddress>
C. arc
<channelID>1</channelID>
<dateTime>2017-05-04T11:20:02+08:00</dateTime>
<activePostCount>0</activePostCount>
<eventType>heartBeat</eventType>
s, em
<eventState>active</eventState>
<eventDescription>heartBeat</eventDescription>
A
</EventNotificationAlert>
no fr
--<frontier>
Content-Disposition: form-data; name="Picture_Name"
Content-Type: image/pjpeg
ri on
Content-Length: image_length
Content-ID: image_ID
[Picture Data]
--<frontier>
Ma oc
up
co gr
Hardware assets: the host assets (CPU, memory, and HDD) and peripheral assets (hardware connected to the host
y ema
branch to collect the number, operation status, and other basic information of deployed host/storage/peripheral
cameras.
ad on
Extended application: management of industry-related service applications for assets customized by the industry
platform (e.g., information and software assets, person assets, and service assets) based on the hardware asset
el .c
integration.
ez
1. Get the search capability of the device hardware asset data via GET /ISAPI/System/deviceInfo/capabilities : when
im
isSupportSearchHardwareAssets is true, it indicates the device supports searching for asset data.
ng
2. Search for device hardware asset data via GET /ISAPI/System/deviceInfo/ExportDeviceAssets?format=json to get
Aj
the information of hardware assets on device including host assets, connected sub-device assets, HDD assets, etc.
Co
3. Export the device hardware asset information in binary data in Excel format.
1. Get the device system capability GET /ISAPI/System/capabilities and check whether the device supports
Fr rc
upgrading peripherals. If the field isSupportAcsUpdate is returned and its value is true, it indicates that the device
supports this function, otherwise, the device does not support this function.
y ema
2. Get the capability of upgrading the peripherals module GET /ISAPI/System/AcsUpdate/capabilities , and get the
types and IDs of peripherals that support upgrading.
os fr
<moduleAddress>&id=<indexID> . In the URL type refers to the peripheral type, moduleAddress refers to the
peripheral module address, and indexID refers to the ID of peripheral to be upgraded. The platform will apply the
el .c
Time sync is a method to synchronize the time of all devices connecting to the NTP server, so that all devices can share the same clock time for
providing related functions based on time. Supported time sync types: NTP time sync, manual sync, satellite time sync, platform time synchronization,
GB28181 time sync, etc. The following describes the method of NTP time sync.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
The working process of system clock synchronization is as follows:
Device A sends an NTP message to Device B with a timestamp of 10:00:00 am (T1) that is when it leaves Device A.
co gr
When the NTP message reaches Device B. Device B will add its own timestamp, which is 11:00:01 am (T2).
es a@
Then the NTP message leaves Device B with Device B's timestamp, which is 11:00:02 am (T3).
Fr rc
Device A receives the response message, and the local time of Device A is 10:00:03 am (T4).
y ema
sync, satellite time sync, Connect platform time sync, and GB28181 time sync.
ng
Aj
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
1. Check whether the device supports synchronizing time via NTP server Get the capability of the device: GET
/ISAPI/System/time/capabilities ; and check whether timeMode supports NTP .
2. Set access parameters of the NTP server
Supports accessing the NTP server by IP address to synchronize the device time.
Get the access parameter capability of the NTP server: GET /ISAPI/System/time/ntpServers/capabilities
Set access parameters of the NTP server: PUT /ISAPI/System/time/ntpServers
Get access parameters of the NTP server: GET /ISAPI/System/time/ntpServers
3. Set the time mode of the device to NTP
Supports setting the value of timeMode to NTP .
Get device time synchronization management parameters: GET /ISAPI/System/time Set device time synchronization
management parameters: PUT /ISAPI/System/time
m
5.6.2.2 NTP Time Sync (Server Mode)
co
The local system running the NTP server can receive sync information from other clock sources (self as client), sync
a.
other clocks (self as server) as clock sources, and sync with other devices. Calling flow (self as server):
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
1. Check whether the device supports configuring NTP service Get the capability of device time synchronization
management: GET /ISAPI/System/time/capabilities ; If isSupportNtp is returned, it indicates that the device
supports time synchronization management.
2. Set NTP server to the server mode
Supports setting the value of mode to server .
Get the capability of server mode: GET /ISAPI/System/time/ntp/capabilities?format=json
Set NTP to server mode: PUT /ISAPI/System/time/ntp?format=json
Get parameters of NTP server mode: GET /ISAPI/System/time/ntp?format=json
3. Set the parameters of NTP server
Supports setting the IP address of the NTP server.
Get the capability of NTP server: GET /ISAPI/System/time/NTPService/capabilitis?format=json
m
co
Set the NTP server parameters: PUT /ISAPI/System/time/NTPService?format=json
a.
Get the parameters of the NTP server: GET /ISAPI/System/time/NTPService?format=json
4. Synchronize the device’s NTP service information with other devices
C. arc
Supports synchronizing the time information to the camera.
Get the capability set of synchronizing device’s NTP service information with the camera: GET
s, em
/ISAPI/System/time/SyncDeviceNTPInfoToCamera/capabilities?format=json
A
no fr
Synchronize device’s NTP service information with the camera: PUT
ri on
/ISAPI/System/time/SyncDeviceNTPInfoToCamera?format=json
Get the progress of synchronizing device’s NTP service information with the camera: GET
Ma oc
/ISAPI/System/time/SyncDeviceNTPInfoToCamera/Progress?format=json
up
Search for the results of synchronizing device’s NTP service information with the camera: POST
/ISAPI/System/time/SyncDeviceNTPInfoToCamera/SearchResult?format=json
co gr
es a@
The platform or client software or web client under the LAN upgrades devices via ISAPI.
s
y ema
os fr
ad on
1. Upgrade devices.
el .c
3. Reboot devices.
ng
Aj
m
5.9 I/O Input
co
a.
5.9.1 Introduction to the Function
C. arc
Configure I/O input parameters of I/O input ports.
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
Get device system capabilities: GET /ISAPI/System/capabilities . If the node <IOCap> and sub node
im
<IOInputPortNums> are returned in the response message, the device supports I/O input configuration.
ng
Aj
m
4. Set I/O signal arming schedule:
co
Set the arming schedule of alarm inputs for all channels: PUT /ISAPI/Event/schedules/inputs
a.
Get the arming schedule of alarm inputs for all channels: GET /ISAPI/Event/schedules/inputs
C. arc
Set the arming schedule of alarm inputs for a specified channel: PUT
s, em
/ISAPI/Event/schedules/inputs/<alarmInID>
A
no fr
Get the arming schedule of alarm inputs for a specified channel: GET
/ISAPI/Event/schedules/inputs/<alarmInID>
ri on
5. Receive I/O alarm: When I/O input alarm is triggered within the arming schedule, the linked terminal will
Ma oc
response and the device will upload the alarm. The eventType is IO , and inputIOPortID or dynInputIOPortID is
up
valid.
co gr
This solution applies to the upgrade of devices and sub-devices connected via ISAPI. If the device is connected via ISAPI
y ema
protocols, it is required to set up HTTP(s) service to store device upgrade package and generate URL for downloading
upgrade package. If the device is connected via HCNetSDK, you can implement the device upgrade via transmitting
os fr
ISAPI.
ad on
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
5.11.2 API Calling Flow
co
1. Check whether the device supports information management of devices access the serial port: GET
a.
/ISAPI/System/Serial/capabilities ; If <isSupportDeviceInfo> is returned, it indicates that the device supports
information configuration of devices access the serial port.
C. arc
3. Set the information of devices access the serial port:
s, em
Get the capability of device information parameters of a single serial port: GET
A
/ISAPI/System/Serial/ports/<portID>/deviceInfo?format=json ;
no fr
Get device information parameters access single serial port: GET /ISAPI/System/Serial/ports/<portID>/deviceInfo?
ri on
format=json ;
Set device information parameter of single serial port: PUT /ISAPI/System/Serial/ports/<portID>/deviceInfo?
format=json ;
Ma oc
up
4. Check whether the device supports linking information of devices access the serial port: GET
/ISAPI/System/Serial/capabilities ; If <isSupportSearchDeviceInfoRelations> is returned, it indicates that the
co gr
device supports searching for linked information od devices access the serial port.
es a@
Get the capability of searching for linked parameters of information of devices access a single serial port: GET
/ISAPI/System/Serial/ports/<portID>/searchDeviceInfoRelations/capabilities?format=json ;
y ema
Search for linked parameters of information of devices access a single serial port:POST
/ISAPI/System/Serial/ports/<portID>/searchDeviceInfoRelations?format=json ;
os fr
Some functions are mutually exclusive due to the device performance (for example, function A and function B cannot
run at the same time, and only one of them is allowed at one time).
en
The following three APIs are available for getting the mutually exclusive function information:
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
4. After the device upgrade is finished, the device will upload the "onlineUpgradeStatus" and reboot automatically.
5. After both upgrade and reboot are finished, you can get the latest device version information on the platform.
Get the device (e.g., NVR) version information: GET /ISAPI/System/deviceInfo .
Get the sub-device (e.g., IPC) version information: GET /ISAPI/ContentMgmt/InputProxy/channels?security=
m
<security>&iv=<iv> .
co
5.14 Platform Upgrade Deployment Based on Localization
a.
C. arc
5.14.1 Introduction to the Function
This solution applies to the upgrade of devices and sub-devices connected via ISAPI and ISUP. If via ISAPI, it is required
s, em
to set up HTTP(s) service or transfer binary upgrade package files so as to store device upgrade package and generate
A
URL for downloading upgrade package. If via ISUP, it is required to set up FTP service to store device upgrade package
no fr
and generate URL for downloading upgrade package. If the device is connected via HCNetSDK protocols, you can
ri on
realize device upgrade via transmitting ISAPI.
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
2. Search for the device upgrade information in DAC by device firmware ID on the platform. If there is an available
el .c
new version, DAC will trigger an upgrade task and apply it to the device: POST
/ISAPI/System/onlineUpgrade/task?format=json . You can specify to upgrade device (e.g., NVR) or sub-device
ez
3. During the upgrade, you can get the real-time upgrade progress on the platform: GET
im
/ISAPI/System/onlineUpgrade/status .
ng
Aj
4. After the device upgrade is finished, the device will upload the "onlineUpgradeStatus" (upgrade status), and will
Co
reboot automatically.
5. After the upgrade and reboot are finished, you can get the latest device version information on the platform.
Get the device (e.g., NVR) version information: GET /ISAPI/System/deviceInfo .
Get the sub-device (e.g., IPC) version information: GET /ISAPI/ContentMgmt/InputProxy/channels?security=
<security>&iv=<iv> .
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
3. During the inspection, the WEB client can get the real-time inspection progress: GET
/ISAPI/System/onlineUpgrade/PatrolInspection/Status?format=json .
4. After the device inspection is finished, search for the device and sub-device upgrade information: GET
/ISAPI/System/onlineUpgrade/SearchDevInfo?format=json .
7. You can cancel the upgrade during the upgrade: PUT /ISAPI/System/onlineUpgrade/CancelUpgrade?
format=json .
8. After the upgrade and reboot are finished, you can get the latest device version information.
Get the device (e.g., NVR) version information: GET /ISAPI/System/deviceInfo .
Get the sub-device (e.g., IPC) version information: GET /ISAPI/ContentMgmt/InputProxy/channels?security=
m
<security>&iv=<iv> .
co
5.16 Serial Port Data Transparent Transmission
a.
C. arc
5.16.1 Introduction to the Function
RS485, RS422 and RS232 serial ports external to the device are used as transparent channels to transmit serial port
s, em
data.
A
no fr
5.16.2 API Calling Flow
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
Get the capability of the device serial port: GET /ISAPI/System/capabilities . If SerialCap is returned and the value is
ng
true, it indicates that the device supports the functions of the serial port.
Aj
m
co
1. Check whether the device supports configuring parameters of the serial port:
Get the capability of device serial port: GET /ISAPI/System/capabilities;如果报文返回节点 . If is returned and its value
a.
is true, it indicates that the device supports functions of serial port.
C. arc
3. Get parameters of all serial ports:
Get the capability of all serial ports: GET /ISAPI/System/Serial/capabilities ;
s, em
Get control parameters of all serial ports: GET /ISAPI/System/Serial/ports?permissionController=<indexID> ;
A
no fr
4. Set control parameters of single serial port:
Get control parameters of single serial port: GET /ISAPI/System/Serial/ports/<portID>?permissionController=
ri on
<indexID> ;
Ma oc
Configure control parameters of single serial port: PUT /ISAPI/System/Serial/ports/<portID>?
up
permissionController=<indexID> ;
5. Get the status of single serial port:GET /ISAPI/System/Serial/ports/<portID>/status
co gr
es a@
When the device is activated, you can log in to it via the admin account and corresponding password, and manage users
as needed, including:
os fr
1. Change the password of the admin account. The user name cannot be edited.
2. Add, edit, and delete other users, including the user type, password, user name, and so on. A Non-admin user can
ad on
Remarks
ez
Operator ( operator ): has the permission to view. Their operation permissions are assigned by admin .
ng
User ( viewer ): has the permission to view only. They have no operation permission. User accounts are created
Co
m
arm/disarm (including alarm clearing), or operate relays.
co
Installer Administrator ( installerAdmin ) : User on the installer business application, created on the business
a.
platform (e.g. HPC deployed in the cloud) and then synchronized to the device for remote device management
by the business platform’s admin. By default, an installerAdmin has the permission to access the device and
C. arc
perform all functions supported by the device. To facilitate installation management, when the business
platform sets installerAdmin as the highest authority and synchronizes to the device, installerAdmin is
s, em
allowed to modify user permissions of localAdmin and cloudAdmin .
A
Installer Employee ( installerEmployee ) : User on the installer business application, created on the business
no fr
platform (e.g. HPC deployed in the cloud) and then synchronized to the device for the employees on the
ri on
business platform to remotely install and debug the device. By default, an installerEmployee has the
permission to access the device and perform all functions supported by the device.
3. User password:
Ma oc
up
To ensure the security of account information, it is recommended to create a password using eight to sixteen
characters, including at least two kinds of the following categories: digits, lower case letters, upper case letters,
co gr
and special characters, and the user name is not allowed in the password.
es a@
Risky passwords include the following categories: less than 8 characters, containing only one type of
characters, same as the user name or reversed user name. To protect user data privacy and improve security,
Fr rc
characters, upper case letters and special characters, or lower case letters and upper case letters.
el .c
c. Weak password: a combination of digits and lower case letters or digits and upper case letters.
ez
/ISAPI/Security/users/<indexID>/capabilities .
ng
Aj
Remarks:
Only admin can create other types of users, and creating users requires login password verification
( <loginPassword> ) of admin .
If the user account is inactivated, it's required to log in to the account and change the user password ( PUT
/ISAPI/Security/users/<indexID>?security=<security>&iv=<iv> ). The account is activated when the
password is changed.
When the account is inactivated, it's not allowed to perform any operations except changing the user
password. Otherwise, an error ( 0x0020000f ) will be returned.
3. Edit the user information on the client: PUT /ISAPI/Security/users/<indexID>?security=<security>&iv=<iv> .
Remarks:
It requires password verification of admin when admin changes the user password. The account turns
inactivated when the user password is changed by admin . Once logging out, the user needs to change the
password first before the next login.
When non-admin users changed their passwords, the account remains activated.
4. Delete users on the client: DELETE /ISAPI/Security/users?loginPassword=<loginPassword>&security=
<security>&iv=<iv> .
Remarks:
Only admin can delete users, and deleting users requires login password verification of admin .
m
co
5. Get the user information, including user name, activation status ( <userActivationStatus> ), and so on.
a.
Get a single user information: GET /ISAPI/Security/users/<indexID>?security=<security>&iv=<iv> .
C. arc
Get the information of all users: GET /ISAPI/Security/users?security=<security>&iv=<iv> .
Get the information of online users: GET /ISAPI/Security/onlineUser . Online users refer to users who have
s, em
logged in to the device. The information such as user name, user type, and IP address can be obtained.
A
no fr
Remarks:
ri on
If multiple attempts of admin login password verification failed in the process of adding, editing, or deleting users,
the admin will be locked. The remaining attempts are defined by the field retryTimes in the response message.
Ma oc
The new password cannot be the same as the last password. Otherwise, an error ( 0x400010E8 ) will be returned.
up
5.18.3 Exception Handling
co gr
Error Code
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
statusCode statusString subStatusCode errorCode errorMsg Description
The account
Invalid
4 theAccountIsNotActivated 0x0020000f is not
Operation
activated.
Incorrect
Invalid
4 loginPasswordError 0x4000000C login
Operation
password.
m
The answer
co
to the user Please set a
Invalid
4 theAnswerToTheUserSecurityQuestionIsDuplicate 0x4000A0B6 security different
a.
Operation
question is answer.
C. arc
duplicate.
The answer
s, em
to the user Please set a
Invalid
A
4 theAnswerToTheUserSecurityQuestionIsTooShort 0x4000A0B7 security longer
no fr
Operation
question is answer.
ri on
too short.
Ma oc
New
password Please set a
up
Invalid
4 cannotSameAsOldPassword 0x400010E8 cannot be the different
Operation
co gr
Please enter
Fr rc
the correct
password. If
y ema
Content
password. password,
you can
ad on
reset the
el .c
password.
ez
en
For different application scenarios, e.g., local environment, cloud environment, and HPP installer environment, users
Aj
related to the installer can be classified into seven types: localAdmin , localInstaller , localOperator , cloudAdmin ,
Co
Ma oc
In a cloud environment, four types of users are involved: cloudAdmin , cloudOperator , localInstaller , and
localOperator . After logging in to the device on HC application via cloud, a cloudAdmin can be created. Then, the
up
cloudAdmin can share the device to create a cloudOperator . Note that after a cloudAdmin is created, the existing
co gr
localAdmin will expire. Users who have been set with the keypad password can log via keypad.
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
s
y ema
Arming √ √ √ √ √ √ √
ad on
Disarming (Alarm
√ √ √ √ √ √ √
Clearing)
el .c
Bypass √ √ × √ √ √ √
ez
√ √ × √ √ √ √
status
im
Configure
ng
√ √ × √ × √ √
Aj
parameters
Co
Manage partitions √ √ × √ × √ √
one-time local operator:
Operate relays √ √ × temporary local √ √ √ √
operator: √
Edit localAdmin's
√ √ × × × √ √
keypad password
Edit cloudAdmin's
× √ × √ × √ √
keypad password
Edit localInstaller's
× √ × × × × ×
keypad password
Edit
Edit
installerAdmin's × × × × × √ ×
keypad password
√ (only the
Edit
employee's
installerEmployee's × × × × × √
own
keypad password
password)
Edit
localOperator's √ √ × √ × √ √
m
keypad password
co
Edit √ (only the
a.
cloudOperator's × √ × √ operator's own √ √
C. arc
keypad password password)
Edit localAdmin's
× × × × × × ×
s, em
permission
A
no fr
Edit cloudAdmin's
× × × × × × ×
permission
ri on
Edit localInstaller's
Ma oc
√ × × √ × × ×
permission
up
Edit
co gr
installerAdmin's √ × × √ × × ×
permission
es a@
Edit
Fr rc
installerEmployee's √ × × √ × × ×
permission
y ema
Edit
os fr
localOperator's √ √ × √ × √ √
permission
ad on
Edit
el .c
cloudOperator's × √ × √ × √ √
permission
ez
en
Note: "Configure parameters" includes parameters of zones, sounders, keypads, card readers, keyfobs, cards, relays,
repeaters, transmitters, network cameras, partitions, and so on.
im
ng
s
y ema
os fr
3. Get information of all users: GET /ISAPI/Security/users?security=&iv=. The nodes phoneNum, emailAddress,
password, duressPassword, keypadPassword, and loginPassword in the message will be encrypted.
ez
4. Get information of a single user: GET /ISAPI/Security/users/?security=&iv=. The index in the URL is the user ID.
en
5. Set permissions for a single user: PUT /ISAPI/Security/users/?security=&iv=. The index in the URL is the user ID.
im
6. (Optional) Set information of all users: PUT /ISAPI/Security/users?security=&iv=. This API can be called for batch
ng
indexID, and loginPassword is required for deleting the user. The loginPassword should be encrypted.
8. (Optional) Delete all users: DELETE /ISAPI/Security/users?loginPassword=&security=&iv=. loginPassword should
be encrypted.
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
1. Check whether the device supports cloud user management: GET /SDK/capabilities. If the node value of
isSupportCloudUserManage is true, cloud user management is supported in these URLs:
/ISAPI/Security/CloudUserManage/users/capabilities?format=json
/ISAPI/Security/CloudUserManage/users/?format=json
/ISAPI/Security/CloudUserManage/users?format=json
2. Get the capability of cloud user management: GET /ISAPI/Security/CloudUserManage/users/capabilities?
format=json. If the node value of isSupportAddCloudUserList is true, it supports batch adding cloud users.
3. Add a single cloud user: POST /ISAPI/Security/CloudUserManage/users?format=json. The following cloud users
need to create the user accounts on their own: coludAdmin, installerAdmin, installerEmployee, and cloudOperator,
which is different from localOperator who needs to be created by admin users. Enter information such as user
name, password, e-mail, and phone number to create a user account and put into use.
name, password, e-mail, and phone number to create a user account and put into use.
4. (Optional) Add cloud users in a batch: POST /ISAPI/Security/CloudUserManage/usersBatch?format=json. For
installerEmployee users that has been created on HPC, use this URL to apply them to the device and synchronize
user information.
5. Get information of all cloud users: GET /ISAPI/Security/CloudUserManage/users?format=json
6. Get information of a single cloud user: GET /ISAPI/Security/CloudUserManage/users/?format=json
7. Search for information of a single cloud user (by type): /ISAPI/Security/CloudUserManage/users/byType?
m
format=json. Support searching by e-mail, phone number, and user name.
co
a.
8. Set information of a single cloud user: PUT /ISAPI/Security/CloudUserManage/users/?format=json
C. arc
9. Delete a single cloud user: DELETE /ISAPI/Security/CloudUserManage/users/?format=json. Delete the user by
specifying the user's indexID.
s, em
10. Delete cloud users in a batch: PUT /ISAPI/Security/CloudUserManage/users/delete?format=json. Support batch
A
deleting by user names, user types, phone numbers, and e-mails.
no fr
ri on
5.19.4 Manage User Permissions
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
1. Check whether the device supports configuring permissions of a specific type of users: GET
/ISAPI/Security/capabilities?username=. If the node value of isSupportInstallerCap is true, the installer users'
permissions can be configured. There is no specific capability node for operator type users, and by default their
permissions can be configured.
2. Get the default permission capabilities of a specific type of users.
For installer users: GET /ISAPI/Security/UserPermission/installer/capabilities?format=json
For operator users: GET /ISAPI/Security/UserPermission/operatorCap
3. Get user permissions of all users: GET /ISAPI/Security/UserPermission
4. (Optional) Get user permissions of a single user: GET /ISAPI/Security/UserPermission/. The index in the URL is the
user ID.
5. Set user permissions of a single user: PUT /ISAPI/Security/UserPermission/
6. (Optional) Set user permissions of all users: PUT /ISAPI/Security/UserPermission
m
6 Network Configuration
co
a.
6.1 ISUP Multi-Center Management
C. arc
6.1.1 Introduction to the Function
s, em
When connected to the IoT, a device may be simultaneously connected to multiple centers. For example, the device may
A
no fr
be connected to a third-party business center and a device maintenance management center simultaneously as shown
in the figure below.
ri on
Note: A center is different from a platform. A center may contain more than one platform.
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
In pull mode, the center logs in to the device if the device is connected to the center via protocols like ISAPI, device
Co
Configure the address of CMS1 and CMS2 in ISUP multi-center via ISAPI.
Fr rc
1. Check whether the device supports ISUP: GET /ISAPI/System/Network/capabilities . If the node
y ema
isSupportCaptureFingerPrint is returned and its value is true, it indicates that the device supports ISUP.
2. Check whether the device supports multiple ISUP centers: GET /ISAPI/System/Network/Ehome/capabilities . If
os fr
the node ISUPID is returned, it indicates that the device supports multiple ISUP centers.
ad on
Note:
ez
ISUPID represents the ID of CMS 1 and CMS 2, and it is required to configure the address of each CMS respectively.
en
After the address configuration of CMS 1 and CMS 2 is finished and the device is connected to CMS 1 and
ng
CMS 2 via ISUP, configure the AMS address for CMS 1 and CMS 2 respectively via ISUP.
Aj
1. Call GET /ISAPI/Event/notification/httpHosts to get all configured HTTP/HTTPS listening center addresses and
Co
their AMS addresses via the corresponding communication link with the CMS.
Example:
(1) id=1 represents the AMS 1 address of the CMS 1 (the protocolType is EHome), id=2 represents the AMS 2 address
of the CMS 2 (the protocolType is EHome), and id=3 represents the address of HTTP listening center (protocolType is
HTTP).
(2) When the CMS 1 requests to get the address information, the device will return the AMS 1 address of the CMS 1
and the address of HTTP listening center.
(3) When the CMS 2 requests to get the address information, the device will return the AMS 2 address of the CMS 2
and the address of HTTP listening center.
2. For the obtained address list:
(1) If an AMS address already exists (the protocolType contains EHome), call PUT
/ISAPI/Event/notification/httpHosts/<ID> to edit the AMS address.
(2) If an AMS address does not exist (the protocolType does not contain EHome), call
POST /ISAPI/Event/notification/httpHosts to create an AMS address.
3. Connect the device to the AMS.
Note:
(1) When calling the API ( DELETE /ISAPI/Event/notification/httpHosts ) via ISAPI, delete the HTTP/HTTPS center
only and do not perform any operations on the ISUP AMS center.
m
co
(2) When calling the API ( PUT /ISAPI/Event/notification/httpHosts ) via ISUP, if there are two or above AMS
addresses (protocolType is EHome) in the list, it indicates that a parameter configuration error occurs and the API will
a.
report the error.
C. arc
(3) When calling the API ( PUT /ISAPI/Event/notification/httpHosts/<ID> ) via ISUP, and the protocolType is EHome,
the returned represents the AMS address of corresponding link.
s, em
6.1.2.4 Get ISUP Information
A
no fr
Get the CMS and AMS address for the device to access the ISUP multi-center via ISAPI.
ri on
1. Check whether the device supports getting ISUP information: GET /ISAPI/System/Network/Ehome/capabilities .
If isSupportISUPServerInfo is returned and its value is true, it indicates that the device supports getting ISUP
information.
Ma oc
up
2. Get ISUP information (including the address list of the configured CMS and AMS): GET
co gr
/ISAPI/System/Network/ISUPServerInfo?format=json .
es a@
URL: /ISAPI/System/Network/ISUPServerInfo?format=json .
y ema
Method: GET .
Message Example:
os fr
{
ad on
"ISUPServerInfoList":[{
"ID":1, //req, int, ID, range:[1,2]
"enabled":true, //req, boolean, whether it is enabled
el .c
"CMSInfo":{
"addressingFormatType":"ipaddress", //opt, string, address type: ("ipaddress, "hostname")
"hostName":"", //opt, string, domain name(it is valid when the addressingFormatType is hostname)
ez
"ipV4Address":"", //opt, string, IPv4 address(it is valid when the addressingFormatType is ipaddress)
"ipV6Address":"", //opt, string, IPv6 address(it is valid when the addressingFormatType is ipaddress)
en
},
"AMSInfo":{
ng
"hostName":"", //opt, string, domain name(it is valid when the addressingFormatType is hostname)
"ipV4Address":"", //opt, string, IPv4 address(it is valid when the addressingFormatType is ipaddress)
Co
"ipV6Address":"", //opt, string, IPv6 address(it is valid when the addressingFormatType is ipaddress)
"portNo":1 //opt, integer, port No., range:[0,65535]
}
}]
}
m
co
Get the parameters of all listening hosts: GET /ISAPI/Event/notification/httpHosts?security=<security>&iv=
<iv> ;
a.
Configure the parameters of a listening host: PUT /ISAPI/Event/notification/httpHosts/<hostID>?security=
C. arc
<security>&iv=<iv> ;
s, em
<security>&iv=<iv> ;
A
no fr
3. Enable the listening service:
ri on
The user needs to enable the listening service of the listening host.
Ma oc
4. (Optional) Test the listening service:
up
The platform applies the command to the device to test whether the listening host is available for the device: POST
co gr
/ISAPI/Event/notification/httpHosts/<hostID>/test .
es a@
When an event occurs, the device creates connection with the client and uploads alarm information. Meanwhile,
y ema
the listening host receives data from the device. See details in Event Message Grammar.
Remark: You can also configure the listening parameters such as the timeout.
os fr
When an event occurs or an alarm is triggered, the event/alarm information can be with binary data (such as pictures)
el .c
The Content-Type in the Headers of the HTTP request sent by the device is usually application/xml or
application/json as follows:
im
<EventNotificationAlert/>
HTTP/1.1 200 OK
Date: YourDate
Connection: close
m
Content-Length: text_length
co
Connection: keep-alive <!--maintain the connection between the device and the server for better transmission performance-->
--<frontier>
a.
Content-Disposition: form-data; name="Event_Type"
Content-Type: text/xml <!--maintain the connection between the device and the server for better transmission performance-->
C. arc
<EventNotificationAlert/>
--<frontier>
Content-Disposition: form-data; name="Picture_Name"
Content-Length: image_length
s, em
Content-Type: image/jpeg
A
no fr
[picture data]
--<frontier>--
ri on
Response by the Listening Host
HTTP/1.1 200 OK
Ma oc
up
Date: YourDate
Connection: close
co gr
multipart/form-data;
y ema
Content- form-data;
el .c
filename "Picture_Name" File name. The file refers to the form message.
en
Content- Content length. The length of the content which starts from \r\n to the
10
Length next --boundary.
im
ng
Aj
m
Get Wi-Fi parameters: GET /ISAPI/System/Network/interfaces/<interfaceID>/wireless ;
co
Configure Wi-Fi parameters: PUT /ISAPI/System/Network/interfaces/<interfaceID>/wireless ;
a.
Get Wi-Fi quality parameters: GET /ISAPI/System/Network/wifiQuality?format=json ;
C. arc
2. Wi-Fi area parameter configuration:
Check whether the device supports Wi-Fi area parameters: GET /ISAPI/System/capabilities ; if
s, em
<isSupportWifiRegion> is returned and its value is true, it indicates that device supports Wi-Fi area configuration.
A
Get the capability of configuring Wi-Fi area parameters: GET
no fr
/ISAPI/System/Network/wirelessServer/Region/Capabilities ;
ri on
Get Wi-Fi area parameters: GET /ISAPI/System/Network/wirelessServer/Region ;
Ma oc
Configure Wi-Fi area parameters: PUT /ISAPI/System/Network/wirelessServer/Region ;
3. Wi-Fi connection parameters:
up
Get the capability of configuring Wi-Fi connection parameters:GET
co gr
/ISAPI/System/Network/interfaces/<interfaceID>/wirelessStatus/capabilities ;
es a@
/ISAPI/System/Network/interfaces/<interfaceID>/wirelessStatus ;
Get Wi-Fi connection status of single network interface: GET
os fr
/ISAPI/System/Network/interfaces/<interfaceID>/wireless/connectStatus ;
ad on
/ISAPI/System/Network/interfaces/<interfaceID>/wireless/transmission ;
Get the Wi-Fi transmission status of the specific network interface: GET
im
/ISAPI/System/Network/interfaces/<interfaceID>/wireless/transmission/<indexID> ;
ng
Aj
/ISAPI/System/Network/interfaces/<interfaceID>/wireless/transmissionList ;
7 Video (General)
7.1 . Compression of Stream Transcoding
7.1.1 Introduction to the Function
When a device is deployed in a single network access point and needs to access the platform through the mobile
network, the uplink network bandwidth of the device will be insufficient, which cannot meet the requirement of high-
definition live view. The above problem can be solved via stream transcoding. The bit rate of network transmitted video
stream is reduced to improve the resolution of the video stream, so as to achieve the high-definition live view.
7.1.2 API Calling Flow
1. Check whether the device supports compression configurations of stream transcoding: GET
/ISAPI/System/capabilities . If the field isSupportCompressedTranscode is returned and its value is true , it
indicates that the function is supported.
2. Get the capability of compression parameters of stream transcoding for a specified channel: GET
/ISAPI/Streaming/channels/<channelID>/TranscodeCfg/capabilities?format=json .
3. Get the compression parameters of stream transcoding for a specified channel: GET
m
/ISAPI/Streaming/channels/<channelID>/TranscodeCfg?format=json .
co
4. Set the compression parameters of stream transcoding for a specified channel: PUT
a.
/ISAPI/Streaming/channels/<channelID>/TranscodeCfg?format=json .
C. arc
Remarks:
The transcoding compression parameters of the live view stream and the playback stream can be different.
s, em
The compression parameters configuration of stream transcoding has no influence on encoding parameters
A
no fr
of normal videos/audios.
ri on
7.2 . OSD
7.2.1 Introduction to the Function
Ma oc
up
On-screen display is applied in the display interface of cameras, and is used to display some characters or graphics on
co gr
the video to provide some information to the audience. After OSD configurations on the client software, the configured
information text will be overlaid on the video stream of cameras and displayed on the screen.
es a@
The typical application scenarios of dynamic OSD: elevator floor number overlay for elevator monitoring, characters
Fr rc
overlay for toll stations on highway/road, notification information overlay during live video programs. The typical
application scenarios of static OSD: fixed information (such as camera position, date, time) overlay on the video signal.
y ema
7.2.2.1 OSD
ad on
1. The client software gets the OSD capability of a specified channel: GET
el .c
/ISAPI/System/Video/inputs/channels/<channelID>/overlays/capabilities .
ez
2. The client software configures OSD parameters, including whether to enable OSD, custom text overlay, time
overlay, and overlay format, for a specified channel.
en
Remarks:
The configuration URL supports various parameters, including custom text overlay, channel name overlay,
time overlay, overlay format, and so on. Some of these parameters can also be configured by other URLs, as
shown below: TextOverlayList can also be configured via URL of custom text overlay.
channelNameOverlay can also be configured via URL of channel name overlay.
The overlaid information alignment mode (defined by alignment ) refers to the alignment mode of custom
text:
customize : custom mode. The client software sends the overlay position coordinates of custom text to the
device, and the device will overlay the characters on the stream for display according to the position
coordinates.
alignRight : right align. The device will display custom text on the right boundary of screen.
alignLeft : left align. The device will display custom text on the left boundary of screen.
allRight : all right align. The device will display all overlay contents, including custom text, the channel name,
the time on the right boundary of screen.
allLeft :all left align. The device will display all overlay contents, including custom text, the channel name,
the time on the left boundary of screen.
m
co
7.2.2.2 Custom Text Overlay
a.
1. The client software gets the OSD capability of a specified channel: GET
C. arc
/ISAPI/System/Video/inputs/channels/<channelID>/overlays/capabilities . If TextOverlayList is returned, it
indicates that custom text overlay is supported and size defines the maximum number of custom texts.
s, em
2. The client software configures custom text OSD. textID refers to the custom text No., and the value range is: [1,
A
no fr
size ]:
ri on
Create a custom text for a specified channel: POST
/ISAPI/System/Video/inputs/channels/<channelID>/overlays/text .
Ma oc
Get overlay parameters of a custom text for a specified channel: GET
up
/ISAPI/System/Video/inputs/channels/<channelID>/overlays/text/<textID> .
co gr
/ISAPI/System/Video/inputs/channels/<channelID>/overlays/text/<textID> .
Fr rc
Get overlay parameters of all custom texts for a specified channel: GET
/ISAPI/System/Video/inputs/channels/<channelID>/overlays/text .
os fr
Set overlay parameters of all custom texts for a specified channel: PUT
ad on
/ISAPI/System/Video/inputs/channels/<channelID>/overlays/text .
el .c
1. The client software gets the OSD capability of a specified channel: GET
im
/ISAPI/System/Video/inputs/channels/<channelID>/overlays/capabilities . If channelNameOverlay is
ng
Aj
2. The client software configures the channel name overlay, including whether to enable channel name overlay,
overlay position, and so on.
Get channel name overlay parameters: GET
/ISAPI/System/Video/inputs/channels/<channelID>/overlays/channelNameOverlay .
m
co
7.3.1 Introduction to the Function
a.
The existing video encoding parameters are complicated to some degree, and might not be user-friendly. Users' main
focus is on image quality and the required storage capacity. Therefore, video encoding service plan is introduced to
C. arc
facilitate user configuration by organizing the parameters into different plans. If you configure a plan, the previous
manual configurations will be overwritten. If you keep the previous manual configurations, they will be recognized as in
s, em
a custom plan.
A
no fr
7.3.2 API Calling Flow
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Get the capability of getting video encoding service plan parameters: GET
/ISAPI/Streaming/channels/<channelID>/SearchVideoCodeMealParams/capabilities?format=json .
m
co
8 Facial Recognition
a.
8.1 Face Picture Library Management
C. arc
8.1.1 Face Picture Library Management
s, em
A
8.1.1.1 Introduction to the Function
no fr
This function is mainly used to manage operations on face picture libraries on the device, such as adding, deleting,
ri on
editing, or searching for the face picture libraries, importing face pictures and additional person information to the
libraries, editing, deleting, or searching for face pictures and additional person information in the libraries, and face
Ma oc
picture modeling. This function is also the prerequisite of other face picture library functions such as face picture library
up
comparison.
co gr
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
1. Get the capability of managing face picture libraries for checking functions supported by the device: GET
el .c
/ISAPI/Intelligent/FDLib/capabilities .
ez
i. Create a face picture library: POST /ISAPI/Intelligent/FDLib . After the face picture library is created, the
im
device will automatically generate the face picture library ID (that is, FDID is returned in the message
ng
< FDLibInfoList >). If you need to manage the face picture library ID by yourself, you can configure the
Aj
custom face picture library ID ( customFaceLibID ) in the request message < CreateFDLibList > as needed.
Co
Afterwards, you can perform operations on the face picture library by the custom ID instead of FDID .
ii. Edit parameters of the face picture library: PUT /ISAPI/Intelligent/FDLib/<FDID> . If you have added the
custom face picture library ID in the above steps, you can also call PUT
/ISAPI/Intelligent/FDLib/<customFaceLibID>?FDType=custom to configure parameters using
customFaceLibID .
iii. Get parameters of the face picture library: GET /ISAPI/Intelligent/FDLib/<FDID> . Operations involved with
the custom face picture library ID are the same as those mentioned above.
iv. Delete the face picture library: DELETE /ISAPI/Intelligent/FDLib/<FDID> . Operations involved with the
custom face picture library ID are the same as those mentioned above.
3. Import data of the face picture library.
i. Import face picture data and automatically perform modeling, POST
/ISAPI/Intelligent/FDLib/pictureUpload . By repeatedly applying the previous API, you can import the face
picture data (including the face picture and additional face picture information FaceAppendData ) to the
corresponding face picture library; after it is successfully imported, the device will automatically model on the
picture which could take some time, then the a face picture ID will be automatically generated (i.e., PID is
returned in response parameters MaskInfo ) by device after modeling succeeds; if you want to manually
manage the face picture ID, you can add customized face picture ID ( customHumanID ) as needed when
applying the request parameter PictureUploadData . PID can be replaced with customized face picture ID for
subsequent face-picture-related operations.
m
ii. Import face picture library data in concurrent operation mode, POST
co
/ISAPI/Intelligent/FDLib/pictureUpload?type=concurrent . If you want to improve the import efficiency,
you can apply concurrent operation that the device will only store the picture not model on the picture. You
a.
will need to manually model on the picture (refer to Face Picture Library Data Modeling Management Flow for
C. arc
details). Note: Back-end DeepinMind devices will automatically perform modeling after data is imported even
though under concurrent operation circumstances; if you demand to manually perform modeling, you can still
s, em
apply modeling management.
A
no fr
4. (Optional) Manage face picture library data modeling. If you imported face picture library data in concurrent
operation mode, you can select a time for device data modeling management after importing completed:
ri on
i. Modeling on registered face pictures, GET /ISAPI/Intelligent/FDLib/manualModeling ;
Ma oc
ii. Search for modeling control results, GET /ISAPI/Intelligent/FDLib/manualModelingRangeTask ;
up
iii. Get modeling progress status, GET /ISAPI/Intelligent/FDLib/manualModeling/progressState .
co gr
5. (Optional) Manage data in the face picture library. You can search, edit, and delete data in the face picture library.
i. Search for face picture data: POST /ISAPI/Intelligent/FDLib/FDSearch ;
es a@
ii. Edit face picture data: PUT /ISAPI/Intelligent/FDLib/FDModify?format=json , it is for editing data of
Fr rc
<FDID>&faceLibType=<FDType> .
ad on
1 OK ok 0x00000001
im
ng
Not enough
2 Device Busy noMemory 0x20000001
Aj
memory.
Co
Invalid Not
4 notSupport 0x40000001
Operation supported.
Face picture
Invalid library
4 faceLibDiskFull 0x400020F4
Operation storage
media is full.
The face
Invalid picture
4 faceLibraryIDNotExis 0x400020FD
Operation library does
not exist.
The face
picture
picture
Invalid
4 faceLibInitializing 0x40002136 library is
Operation
initializing.
Please wait.
Face picture
Invalid
4 notMatchFacelib 0x4000a004 library is not
Operation
matched.
Face picture
Invalid library with
m
4 existSameNameFacelib 0x4000a00a
co
Operation duplicate
name exists.
a.
Deleting the
C. arc
Invalid face picture
4 delFacelibFailed 0x4000a00b
Operation library
s, em
failed.
A
no fr
Editing the
Invalid face picture
ri on
4 modifyFacelibFailed 0x4000a00c
Operation library
failed.
Ma oc Creating a
up
Invalid face picture
4 createFacelibFailed 0x4000a00d
co gr
Operation library
failed.
es a@
The face
Fr rc
Invalid picture
4 facelibAlreadyUsed 0x4000a010
y ema
Database
version of
ad on
Invalid
6 faceLibraryDatabaseError 0x60000032 face picture
Content
el .c
library
mismatch.
ez
6 faceLibraryError 0x60000034
Content library error.
im
Multiple
ng
Aj
faces are
recognized
Co
in the
Invalid
6 multipleFaceObjectError 0x60000035 pictures to
Content
be imported
into the face
picture
library.
Importing
Invalid
6 faceLibPicImportingError 0x6000003A picture into
Content
library...
No data
Invalid found in
6 faceLibraryNoData 0x60000069
Content face picture
library.
There is no
data to be
Invalid modeled in
6 NoDataForModelingError 0x6000006B
Content the face
picture
library.
Duplicate ID
m
Invalid of custom
co
6 customFaceLibIDRepeat 0x6000006C
Content face picture
library.
a.
Deleting
C. arc
original
customized
s, em
face picture
A
no fr
library data...
The upper
Invalid
ri on
6 customFaceDataDeleteing 0x600000A1 level cannot
Content
duplicate
Ma oc the
up
customized
face picture
co gr
library of
es a@
this ID.
Fr rc
Importing
s
face picture
y ema
Invalid
6 analysisEnginesFacelibImporting 0x60001005 library to
Content
analysis
os fr
engine...
ad on
Processing
Invalid
6 facelibDataProcessing 0x6000100b face picture
el .c
Content
library data.
ez
Customized
tag for face
en
Invalid picture
6 personInfoExtendValueIsTooLong 0x60001083
im
Content library
ng
exceeded
Aj
limit.
Co
Customized
tag for face
picture
Invalid
6 personInfoExtendValueContainsInvalidChar 0x60001084 library
Content
contains
invalid
character(s).
m
Cookie: language=zh; WebSession=48b693ca2b7301e3119d; sdMarkMenu=14%3AfaceSnapLib; sdMarkTab_1_0=0%3AsettingBasic
co
-----------------------------7e27010d1dba
Content-Disposition: form-data; name="PictureUploadData"
a.
<?xml version='1.0' encoding='UTF-8'?
><PictureUploadData><FDID>55869AFEA1E840958120C97054720372</FDID><FaceAppendData><name>20171222103007395_2</name></FaceAppendData></PictureUploadData>
C. arc
-----------------------------7e27010d1dba
Content-Disposition: form-data; name="importImage"; filename="20171222103007395_2.jpeg"
Content-Type: image/jpeg
s, em
【Picture data in binary format】
-----------------------------7e27010d1dba--
A
no fr
ri on
9 Video Recognition
9.1 Face Picture Library Management Ma oc
up
co gr
Scene application: Search for similar person in face picture library, which can be used for identity confirmation.
y ema
format=json . If the node isSuportFSSearchByPic is returned and its value is true , it indicates that searching via
picture comparison synchronously is supported.
os fr
Note: For some devices supporting searching via picture comparison synchronously, the API for getting the
ad on
By URL:
en
Based on the picture storage server, picture can be uploaded and you can get the picture URL to download the
im
By model data:
Co
By binary picture:
Read binary picture files.
3. Submit synced face picture library to use picture to search picture
Search via picture comparison in face capture library: POST /ISAPI/Intelligent/FDLib/searchByPic?
format=json ;
Note: Input parameter node dataType include three modes. Picture URL corresponds to faceURL , model data
corresponds to targetModelData , binary data mode is in form of form, and its JSON data is followed by binary
picture data.
The request message example of binary picture data is as follows:
POST /ISAPI/Intelligent/FDLib/searchByPic?format=json
Host: device_ip:port
Accept-Language: zh-cn
Date: YourDate
Content-Type: multipart/form-data;boundary=<frontier>
Content-Length: text_length
m
Connection: keep-alive
co
--<frontier>
Content-Disposition: form-data; name=""
a.
Content-Type: application/json
[JSON message]
C. arc
--<frontier>
Content-Disposition: form-data; name="Picture_Name"
Content-Length: image_length
Content-Type: image/jpeg
s, em
[Picture data]
A
no fr
--<frontier>--
ri on
10 Audio (General)
Ma oc
up
10.1 Real-Time Audio Streaming
co gr
The client can get real-time audio data via RTSP to listen to the device.
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
1. Get system capabilities: GET /ISAPI/System/capabilities . If isSupportRTSPAudio is returned and its value is true,
then the device supports real-time audio streaming via RTSP.
2. Get audio streaming capabilities: GET /ISAPI/System/Audio/capabilities . If isSupportRTSPAudio is returned
and its value is true, the device supports RTSP real-time audio streaming.
3. (Optional) Send an RTSP OPTION command to get RTSP methods supported by the device: OPTION rtsp://IP
address/ISAPI/Streaming/audio/<audioID> RTSP/1.0 .
m
co
10.1.3 Message Example
a.
10.1.3.1 Send an RTSP OPTION Request
C. arc
OPTIONS rtsp://10.17.114.136/ISAPI/Streaming/audio/1 RTSP/1.0
CSeq: 0
s, em
User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)
A
no fr
Response from the device
ri on
RTSP/1.0 200 OK
CSeq: 0
Ma oc
Public: OPTIONS, DESCRIBE, PLAY, SETUP, TEARDOWN, SET_PARAMETER, GET_PARAMETER
up
10.1.3.2 Send an RTSP DESCRIBE Request
co gr
es a@
User-Agent:NKPlayer-1.00.00.081112
y ema
The client resends an RTSP DESCRIBE request with the authentication information.
ez
CSeq:2
Accept:application/sdp
Authorization: Digest username="admin", realm="3521781c29acb312330dd668", nonce="026019333", uri="rtsp://10.21.84.147:554/ISAPI/Streaming/audio/1",
im
response="76a2c9c5b8edbd49838013cf1cf27941"
User-Agent:NKPlayer-1.00.00.081112
ng
Aj
Co
v=0
o=- 1633703084091356 1633703084091356 IN IP4 10.17.114.136
s=Media Presentation
e=NONE
b=AS:5100
t=0 0
a=control:rtsp://10.17.114.136/ISAPI/Streaming/audio/1/
m=audio 0 RTP/AVP 8
m
c=IN IP4 0.0.0.0
b=AS:5000
co
a=recvonly
a=x-dimensions:2560,1440
a.
m=audio 0 RTP/AVP 8
c=IN IP4 0.0.0.0
b=AS:50
C. arc
a=recvonly
a=control:rtsp://10.17.114.136/ISAPI/Streaming/audio/1/trackID=1
a=rtpmap:8 PCMA/8000
a=Media_header:MEDIAINFO=494D4B48010300000400000111710110401F000000FA000000000000000000000000000000000000;
s, em
a=appversion:1.0
A
no fr
10.1.3.3 Send an RTSP SETUP Request
ri on
SETUP rtsp://10.21.84.147:554/ISAPI/Streaming/audio/1/trackID=1 RTSP/1.0
Ma oc
CSeq:3
Authorization: Digest username="admin", realm="3521781c29acb312330dd668", nonce="026019333", uri="rtsp://10.21.84.147:554/ISAPI/Streaming/audio/1/",
up
response="ff343f5ff82deb028dd9b4932cc44201"
Transport:RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=0
User-Agent:NKPlayer-1.00.00.081112
co gr
es a@
RTSP/1.0 200 OK
Session: 1127293610;timeout=60
y ema
Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=433122aa
CSeq: 3
Accept-Ranges: NPT
Media-Properties: No-Seeking, Time-Progressing, Time-Duration=0
os fr
CSeq:4
Authorization: Digest username="admin", realm="3521781c29acb312330dd668", nonce="026019333", uri="rtsp://10.21.84.147:554/ISAPI/Streaming/audio/1",
en
response="24edf8a6ff3ef767f7c49d1c847200bd"
Session:1127293610;timeout=60
Range:npt=0.000000-0.000000
im
User-Agent:NKPlayer-1.00.00.081112
ng
Aj
RTSP/1.0 200 OK
Session: 1127293610
CSeq: 4
Date: Tue, 17 Nov 2020 02:09:45 GMT
$. .....d1.w....c....".T....g....).i.........a....7.S..~J............X....X.
RTSP/1.0 200 OK
Session: 1127293610
m
CSeq: 5
co
Date: Tue, 17 Nov 2020 02:09:50 GMT
a.
11 Two-Way Audio
C. arc
s, em
11.1 Two-Way Audio
A
no fr
11.1.1 Introduction to the Function
ri on
This function is for the two-way audio between the client and device. When you call the API to implement the two-way
audio, it requires the client to collect and encode the local audios and to decode the device audio data.
Ma oc
Note: Before starting two-way audio, check whether the way of collecting device audio data, audio encoding format,
up
volume, etc., is correct or not. The audio encoding format of the client should be consistent with the device audio
encoding format.
co gr
es a@
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
1. Get the capability of configuring audio parameters for all two-way audio channels: GET
/ISAPI/System/TwoWayAudio/channels/capabilities . Check whether the device supports two-way audio. If the
ez
HTTP status code 200 OK is returned, then the device supports two-way audio.
en
2. Get the audio parameters of all two-way audio channels: GET /ISAPI/System/TwoWayAudio/channels . Get the No.
im
of two-way audio channel for response and parsing <id> , audio type <audioCompressionType> , frame rate
<audioBitRate> , sampling rate <audioSamplingRate> and so on, to ensure the consistent of audio format during
ng
Aj
3. Set the audio parameters of one two-way audio channel: PUT /ISAPI/System/TwoWayAudio/channels/<audioID> .
This step is optional, and the <audioID> is the channel No. <id> responded and parsed in step 2.
4. Start two-way audio: PUT /ISAPI/System/TwoWayAudio/channels/<audioID>/open .
5. Create an HTTP persistent connection to receive the two-way audio data: GET
/ISAPI/System/TwoWayAudio/channels/<audioID>/audioData .
6. Create an HTTP persistent connection to send the two-way audio data: PUT
/ISAPI/System/TwoWayAudio/channels/<audioID>/audioData .
7. When the two-way audio ends, the client disables the persistent connections in steps 6 and 7 and sends the
message of stopping the two-way audio: PUT /ISAPI/System/TwoWayAudio/channels/<audioID>/close .
Note:
Two-way audio over ISAPI supports digest authentication.
It supports the two-way audio mode or sending only mode (the platform only call PUT
/ISAPI/System/TwoWayAudio/channels/<audioID>/audioData to send the audio data to devices).
The <audioID> in step 3, 4, 5, 6, and 7 is the two-way audio channel No. which starts from 1. It can be parsed from
the <id> in the device response message of the step 2.
The audio type <audioCompressionType> , frame rate <audioBitRate> , and sampling rate <audioSamplingRate>
can be parsed from the device response message of the step 2 for audio playing and collection in the step 5 and 6.
The step 6 and 7 use persistent connections. In the HTTP request headers, you don't need to set Content-Legth ,
but need to set the Connection: keep-alive and Content-Type: application/octet-stream .
When the encoding format of audio data in the step 5 and 6 is AAC/MP2L2/MP3, the audio data length is variable,
m
co
so the frame header should be lengthened by 4 bytes. When the encoding format is
G.722.1/G.711alaw/G.711ulaw/G.726/G.729/G.729a/G.729b/PCM/ADPCM/Opus, the audio data length is fixed,
a.
there is no need to lengthen the frame header. For example, if the content length of a frame of MP3 audio data is
576 bytes and the header length is 4 bytes, the big end data is 0x00000240, the total length is 580 bytes.
C. arc
The damaged audio file in the AC3 format is usually incompatible when using. Currently, the audio algorithm
library does not support this format.
s, em
A
Statistics of audio types with fixed lengths: |Audio Type |Fixed Length|Frame Interval | |---------|-------|---------| |G.722.1
no fr
|80 |40ms | |G.711alaw|160/320|20ms/40ms| |G.711ulaw|160/320|20ms/40ms| |G.726 |80 |40ms | |G.729 |10 |10ms |
ri on
|G.729a |10 |10ms | |G.729b |10 |10ms | |PCM |1920 |None | |ADPCM |80 |20ms | |Opus |32/64 |20ms/40ms|
Ma oc
11.1.3 Exception Handling up
11.1.3.1 Error Codes
co gr
The
operation
Fr rc
is not
y ema
allowed.
Two-way
os fr
again
ez
after
two-way
en
audio
im
stopped.
ng
Aj
Co
HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: application/octet-stream
//The following are the two-way audio data sent by the device.
//The following are the two-way audio data sent by the client.
m
12.1 . Configure Parameters of Stand-Alone Anti-Passback
co
12.1.1 Introduction to the Function
a.
Anti-passback function allows person to pass entrance and exit by specific route. For areas with multiple entrance/exit,
C. arc
person need to authenticate and pass specific doors. Only one time of authentication and passing is allowed for each
door, that is the person need to follow the specific order to pass the doors. Stand-alone anti-passback is designed to
s, em
minimize the misuse or fraudulent use of access credentials such as passing back card to an unauthorized person, or
A
tailed access. It is applicable to exhibitions, scenic spots, or metro entrances where one card one person is required.
no fr
12.1.2 API Calling Flow
ri on
Calling Flow:
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
/ISAPI/AccessControl/CardReaderAntiSneakCfg/<cardReaderID>?format=json ; Set anti-passing back
co
parameters of a card reader: PUT /ISAPI/AccessControl/CardReaderAntiSneakCfg/<cardReaderID>?
a.
format=json ; the node cardReaderID refers to the card reader No. The person's passing route will follow the card
reader No. in the API. Note: the anti-passback route should be closed-loop. Improper configuration will affect
C. arc
normal door opening. For example: card reader 1 -> card reader 2 -> card reader 3. The card reader 1 should be
set after card reader 3, or authentication in card reader 1 after one loop will fail. Get the configuration capability of
s, em
anti-passing back parameters of card readers: GET
A
/ISAPI/AccessControl/CardReaderAntiSneakCfg/capabilities?format=json .
no fr
5. Get the capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
ri on
isSupportClearAntiSneakCfg is returned and its value is "true", it indicates that the device supports clearing
parameters of anti-passback.
6.
Ma oc
Clear anti-passing back parameters: PUT /ISAPI/AccessControl/ClearAntiSneakCfg?format=json ; Get the
up
capability of clearing anti-passback parameters: GET /ISAPI/AccessControl/ClearAntiSneakCfg/capabilities?
format=json , set the value of antiSneak to false to disable the anti-passback function.
co gr
isSupportClearAntiSneak is returned and its value is "true", it indicates that the device supports clearing records of
anti-passback.
Fr rc
clearing anti-passback records by person ID. Get the capability of clearing anti-passback records: GET
/ISAPI/AccessControl/ClearAntiSneak/capabilities?format=json .
os fr
Note: clear the historic anti-passback parameters before configuring new parameters.
ad on
The device supports getting the arming information, such as the armed device IP and port, arming type, and protocol
en
type.
im
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
Co
isSupportDeployInfo is returned and its value is "true", it indicates that the device supports getting arming
information.
2. Get arming information capability: GET /ISAPI/AccessControl/DeployInfo/capabilities .
3. Get arming information: GET /ISAPI/AccessControl/DeployInfo .
m
For Person Management of Person and Credential Management, the priority of the authentication method for person is
co
higher than that of the authentication schedule. If the authentication method (the node is userVerifyMode) is applied to
a.
a person, the person can access according to the authentication method for person.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
1. Check whether the device supports configuring control schedules of card reader authentication mode: GET
/ISAPI/AccessControl/capabilities ; if the node isSupportCardReaderPlan is returned and its value is "true", it
en
indicates that the device supports configuring acontrol schedules of card reader authentication mode (and the
device also supports configuring schedule templates of the card reader authentication mode).
im
ng
s
y ema
os fr
ad on
el .c
it indicates that the device supports configuring schedule templates of the card reader authentication mode (and
the device also supports configuring weekly schedules of the card reader authentication mode).
im
2. Set the schedule template parameters of the card reader authentication mode: [GET/PUT]
ng
Aj
/ISAPI/AccessControl/VerifyPlanTemplate/<planTemplateID>?format=json .
Co
3. If the node isSupportVerifyPlanTemplate is returned and its value is "false", it indicates that the device does not
support configuring schedule templates of the card reader authentication mode.
s
y ema
os fr
ad on
el .c
1. Check whether the device supports configuring weekly schedules of the card reader authentication mode: GET
/ISAPI/AccessControl/capabilities ; if the node isSupportCardRightWeekPlanCfg is returned and its value is
en
"true", it indicates that the device supports configuring weekly schedules of the card reader authentication mode.
im
2. Set the weekly schedule parameters of the card reader authentication mode: [GET/PUT]
ng
/ISAPI/AccessControl/VerifyWeekPlanCfg/<weekPlanID>?format=json .
Aj
3. If the node isSupportVerifyWeekPlanCfg is returned and its value is "false", it indicates that the device does not
Co
s
y ema
os fr
ad on
el .c
1. Check whether the device supports configuring holiday groups of control schedule of card reader authentication
mode: GET /ISAPI/AccessControl/capabilities ; if the node isSupportVerifyHolidayGroupCfg is returned and its
en
value is "true", it indicates that the device supports configuring holiday groups of control schedule of card reader
authentication mode (and the device also supports configuring holiday schedules of card reader authentication
im
mode).
ng
Aj
2. Set holiday group parameters of control schedule of card reader authentication mode: [GET/PUT]
Co
/ISAPI/AccessControl/VerifyHolidayGroupCfg/<holidayGroupID>?format=json .
3. If the node isSupportVerifyHolidayGroupCfg is returned and its value is "false", it indicates that the device does not
support configuring holiday groups of control schedule of card reader authentication mode.
s
y ema
os fr
ad on
el .c
"true", it indicates that the device supports configuring holiday schedules of card reader authentication mode.
2. Set holiday schedule parameters of card reader authentication mode: [GET/PUT]
im
/ISAPI/AccessControl/VerifyHolidayPlanCfg/<holidayPlanID>?format=json .
ng
Aj
3. If the node isSupportVerifyHolidayPlanCfg is returned and its value is "false", it indicates that the device does not
Co
m
saved to the database of the platform. Notes: For security, the QR code key should be encrypted before been
co
saved to the platform and the device; if you need to open multiple doors by scanning the QR codes, the
a.
device key of the multiple doors should be the same.
C. arc
2. The platform applies persons' permissions to the device via person-based function. The QR code is linked with
employee No., so the permission of opening a door is decided by whether a person's employee No. is
authenticated.
s, em
3. Before entering the controlled areas, the visitors need to register on the platform. The platform will generate QR
A
no fr
code strings according to the registered information, QR code key, and QR code protocol, for converting QR code
strings to QR code pictures, and sending to visitors' phones.
ri on
4. When the visitors enter the controlled areas, they can scan the QR codes via the devices. Then, the device can get
Ma oc
the encrypted data, decrypt the data by QR code key and protocol, and check whether the door can be opened. If
yes, the door will open; if no, the door will not open and the device will prompt the message "No permission".
up
12.4.1.2 API Calling Flow
co gr
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
es a@
isSupportQRCodeEncryption is returned and its value is "true", it indicates that the device supports QR code
Fr rc
encryption.
s
format=json .
3. Set the parameters of QR code encryption: PUT /ISAPI/AccessControl/QRCodeEncryption?
os fr
4. Get the related APIs of Person and Credential Management for applying certain persons' permissions to open the
el .c
doors. So the permission of opening a door is decided by whether a person's employee No. is authenticated.
ez
5. After generating QR code strings by Base64 and generating QR code pictures based on QR code strings, the
platform for sending the pictures to visitors' phones. The visitors can access the area after scanning the QR code
en
pictures.
im
1. After an access control device is deployed, you can log in to the device via the Web / iVMS-4200 client software,
and set a QR code key for the device (saving the QR code key is not necessary). Notes: to ensure security, the
QR code key should be encrypted before saving to the device; if multiple doors need to be opened via
the QR code, the devices of the multiple doors should be configured a same key.
2. By calling the APIs of person-based functions, the Web / iVMS-4200 client software applies persons' permission to
the device. So the permission of opening a door is decided by whether a person's employee No. is authenticated.
m
co
a.
C. arc
s, em
A
no fr
3. Before visitors enter the controlled areas, the inviters need to upload the visitor information to EZ and apply the
information to the device. The device will generate QR code strings according to the visitor information, QR code
ri on
key, and QR code protocol, and send back to the inviters. The inviters' phones will convert QR code strings to QR
code pictures, and forward the pictures to visitors' phones.
Ma oc
4. When the visitors enter the controlled areas, they can scan the QR codes via the devices. Then, the device can get
up
the encrypted data, decrypt the data by QR code key and protocol, and check whether the door can be opened. If
co gr
yes, the door will open; if no, the door will not open and prompt the message "No permission". Note: for
usability and security, APIs of generating QR codes by the platform are not accessible, only APIs of
es a@
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the nodes
isSupportQRCodeEncryption and isSupportQRCodeInfo are returned and the value is "true", it indicates that the
os fr
format=json .
3. Set the parameters of QR code encryption: PUT /ISAPI/AccessControl/QRCodeEncryption?
ez
initialization vector.
4. Get the related APIs of Person and Credential Management for applying certain persons' permissions to open the
im
doors. The permission of opening a door will be decided by whether a person's employee No. is authenticated.
ng
Aj
<security>&iv=<iv> ; then the device will send the QR code strings to the phones of the inviters.
6. Inviters' phones convert the QR code strings to QR code pictures, and send to visitors' phones.
7. The visitors can access the area by scanning the QR code pictures in their phones.
12.4.3 Remarks
The device will send AccessControllerEvent (contains QRCodeInfo) for QR code authentication. If the authentication
succeed, the returned event type will be 0x9c, if the authentication failed, the returned event type will be 0x9d.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
Before calling the API for card management, make sure that the device supports card management.
en
1. Check whether the device supports card management: GET /ISAPI/AccessControl/capabilities ; if the node
im
isSupportCardInfo is returned and its value is “true”, it indicates that the device supports card management.
ng
3. If the node isSupportCardInfo is returned and its value is “false”, it indicates that the device does not support card
Co
management.
Note:
Before applying, adding, or editing cards on the device, make sure that the related person information linked to the
person ID has been applied to the device.
The value of the node numberPerPerson returned by calling GET
/ISAPI/AccessControl/CardInfo/capabilities?format=json is the maximum number of cards supported per
person. If the value returned is 255, it indicates that the number of cards per person is unlimited. If the node is not
returned, it indicates that the maximum number of cards can be applied is 5.
Manage cards of different card number lengths by calling [GET/PUT]
/ISAPI/AccessControl/CardVerificationRule?format=json .
Aj
im
Co en
12.5.2.2 Card Search
ng ez
el .c
ad on
os fr
y ema
Fr rc
es a@
co gr
s up
Ma oc
ri on
no fr
s, em
C. arc
A a.
co
m
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The card search function is for searching the number of cards and card information applied to the device.
1. Check whether the device supports card search: GET /ISAPI/AccessControl/CardInfo/capabilities?
format=json ; if the value of the node supportFunction contains “get”, it indicates that the device supports card
search.
2. Search the number of specified persons’ cards: GET /ISAPI/AccessControl/CardInfo/Count?
format=json&employeeNo=<employeeNo> ; the returned value of the node cardNumber is the number of the cards
added to the specified persons.
3. Search the number of all persons’ cards: GET /ISAPI/AccessControl/CardInfo/Count?format=json ; the returned
value of the node cardNumber is the number of the cards added to all persons.
m
4. Search card information: POST /ISAPI/AccessControl/CardInfo/Search?format=json ; the card information is
co
returned by page.
5. If the value of the node supportFunction does not contain “get”, it indicates that the device does not support card
a.
search.
C. arc
Note:
The value of the node maxRecordNum returned by calling GET /ISAPI/AccessControl/CardInfo/capabilities?
s, em
format=json is the maximum number of cards supported by the device.
A
no fr
12.5.2.3 Card Applying
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Card information can be applied to the device via the card applying function. If the card has been added to
Aj
the device, the card information will be edited; if the card has not been added to the device, the card
Co
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Card information can be added to the device via the card adding function. If the card has been added to the
Aj
device, the device will report an error; if the card has not been added to the device, the card information will
Co
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Card information on the device can be edited via the card information editing function. If the card has been
Co
added to the device, the card information will be edited; if the card has not been added to the device, the
device will report an error.
1. Check whether the device supports card information editing: GET
/ISAPI/AccessControl/CardInfo/capabilities?format=json ; if the value of the node supportFunction contains
“put”, it indicates that the device supports card information editing.
2. Edit card information: PUT /ISAPI/AccessControl/CardInfo/Modify?format=json .
3. If the value of the node supportFunction does not contain “put”, it indicates that the device does not support card
information editing.
Note:
Check whether the card has been added to the device via the node cardNo returned after calling the API for card
information editing.
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The card information on the device can be deleted via the card deleting function. The device will not report
an error if the card information to be deleted is not added to the device.
1. Check whether the device supports card deleting: GET /ISAPI/AccessControl/CardInfo/capabilities?
format=json ; if the value of the node supportFunction contains “delete”, it indicates that the device supports card
deleting.
2. Delete cards: PUT /ISAPI/AccessControl/CardInfo/Delete?format=json ; if calling succeeded, it indicates that the
device has deleted the cards.
3. If the value of the node supportFunction does not contain “delete”, it indicates that the device does not support
card deleting.
s
y ema
os fr
ad on
el .c
ez
en
The card collecting function is for collecting the card No., card type, etc.
im
ng
1. Check whether the device supports card collecting: GET /ISAPI/AccessControl/capabilities ; if the node
Aj
isSupportCaptureCardInfo is returned and its value is “true”, it indicates that the device supports card collecting.
Co
isSupportAntiPassbackTimeRange is returned and its value is "true", it indicates that the device supports
es a@
You can configure TTS texts or audio files of access authentication for daily schedule. The priority of holiday schedule is
en
higher than that of daily schedule. If the current day is in holiday schedule, voice prompt for holiday schedule will be
played; if the current day is not in holiday schedule, voice prompt for daily schedule will be played.
im
ng
s
y ema
os fr
ad on
el .c
ez
en
im
ng
ISAPI Protocol Calling Flow: 1.Check whether the device supports daily schedule of voice prompt (get the capability
Aj
and its value is "true", it indicates that the device supports daily schedule management of voice prompt; 2.Get the
capability of daily schedule parameters of voice prompt: GET
/ISAPI/AccessControl/Verification/ttsText/capabilities?format=json ; 3.Get and configure daily schedule of
voice prompt: GET/PUT /ISAPI/AccessControl/Verification/ttsText?format=json ;
m
co
a.
C. arc
s, em
A
no fr
ri on
12.8.2 API Calling Flow
Ma oc
up
12.8.2.1 Configure Door Control Schedule
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
if the node isSupportDoorStatusPlan is returned and its value is "true", it indicates that the device supports
en
configuring door control schedule (and the device also supports configuring schedule template of door control).
2. Set door control schedule: [GET/PUT] /ISAPI/AccessControl/DoorStatusPlan/<doorID>?format=json .
im
3. If the node isSupportDoorStatusPlan is returned and its value is "false", it indicates that the device does not
ng
Aj
s
y ema
os fr
ad on
1. Check whether the device supports configuring door control schedule template:GET
ez
"true", it indicates that the device supports configuring door control schedule template (and the device should also
supports configuring door status schedule template).
im
/ISAPI/AccessControl/DoorStatusPlanTemplate/<planTemplateID>?format=json .
Co
3. If the node isSupportDoorStatusPlanTemplate is returned and its value is "false", it indicates that the device does
not support configuring door control schedule template.
s
y ema
os fr
ad on
1. Check whether the device supports configuring door control weekly schedule: GET
ez
/ISAPI/AccessControl/DoorStatusWeekPlanCfg/<weekPlanID>?format=json .
ng
Aj
3. If the node isSupportDoorStatusWeekPlanCfg is returned and its value is "false", it indicates that the device does
Co
s
y ema
os fr
ad on
1. Check whether the device supports configuring door control holiday group: GET
ez
is "true", it indicates that the device supports configuring door control holiday group (and the device also supports
configuring door control holiday schedule).
im
2. Set the holiday group configuration parameters of the door control schedule: [GET/PUT]
ng
Aj
/ISAPI/AccessControl/DoorStatusHolidayGroupCfg/<holidayGroupID>?format=json .
Co
3. If the node isSupportDoorStatusHolidayGroupCfg is returned and its value is "false", it indicates that the device
does not support this function.
s
y ema
os fr
ad on
1. Check whether the device supports configuring door control holiday schedule: GET
ez
/ISAPI/AccessControl/DoorStatusHolidayPlanCfg/<holidayPlanID>?format=json .
ng
Aj
3. If the node isSupportDoorStatusHolidayPlanCfg is returned and its value is "false", it indicates that the device does
Co
3. Get and set the parameters of event and card linkage: GET|PUT
/ISAPI/AccessControl/EventCardLinkageCfg/<ACEID>?format=json .
m
12.9.2.2 Search for Parameters of Event and Card Linkage
co
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
a.
isSupportEventCardLinkageCfgSearch is returned and its value is "true", it indicates that the device supports
C. arc
searching for the parameters of event and card linkage.
2. Get the capability of searching for parameters of event and card linkage: GET
s, em
/ISAPI/AccessControl/EventCardLinkageCfg/search/capabilities?format=json .
A
no fr
3. Search for parameters of event and card linkage: POST /ISAPI/AccessControl/EventCardLinkageCfg/search?
format=json .
ri on
Ma oc
12.9.2.3 Delete Parameters of Specific Event and Card Linkage
up
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportEventCardLinkageCfgDelete is returned and its value is "true", it indicates that the device supports
co gr
format=json .
s
y ema
isSupportEventCardNoList is returned and its value is true, it indicates that the device supports getting events and
the card linkage ID list.
ad on
2. Get the capability of the list of event and card linkage ID: GET
el .c
/ISAPI/AccessControl/EventCardNoList/capabilities?format=json .
ez
3. Get the list of event and card linkage ID: GET /ISAPI/AccessControl/EventCardNoList?format=json .
en
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
Aj
iisSupportEventOptimizationCfg is returned and its value is "true", it indicates that the device supports event
Co
optimization.
2. Get the configuration capability of event optimization: GET
/ISAPI/AccessControl/EventOptimizationCfg/capabilities?format=json .
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
Before calling the API for face picture management, make sure that the device supports face picture
en
management.
1. Check whether the device supports face picture management: GET /ISAPI/AccessControl/capabilities ; if the
im
node isSupportFDLib is returned and its value is “true”, it indicates that the device supports face picture
ng
Aj
management.
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
The face picture search function is for searching the number of face pictures and face picture information
added to the device.
C. arc
1. Check whether the device supports face picture search: GET /ISAPI/Intelligent/FDLib/capabilities?
format=json ; if the value of the node supportFunction contains “get”, it indicates that the device supports face
s, em
picture search.
A
no fr
2. Search the number of face pictures in the specified face picture libraries: GET /ISAPI/Intelligent/FDLib/Count?
format=json&FDID=<FDID>&faceLibType=<faceLibType> ; the returned value of the node recordDataNumber is the
ri on
number of the added face pictures of the specified face picture libraries.
Ma oc
3. Search the number of face pictures in all face picture libraries: GET /ISAPI/Intelligent/FDLib/Count?
format=json ; the returned value of the node recordDataNumber is the number of face pictures in all face picture
up
libraries.
co gr
5. If the value of the node supportFunction does not contain “get”, it indicates that the device does not support face
Fr rc
picture search.
y ema
Note:
The value of the node FDRecordDataMaxNum returned by calling GET /ISAPI/Intelligent/FDLib/capabilities?
os fr
s
y ema
os fr
ad on
el .c
ez
en
Face picture information can be applied to the device via the face picture applying function. If the face
im
picture has been added to the device, the face picture information will be edited; if the face picture has not
ng
Aj
been added to the device, the face picture information will be added to the device.
Co
1. Check whether the device supports face picture applying: GET /ISAPI/Intelligent/FDLib/capabilities?
format=json ; if the value of the node supportFunction contains “setUp”, it indicates that the device supports face
picture applying.
2. Apply face picture information: PUT /ISAPI/Intelligent/FDLib/FDSetUp?format=json .
3. If the value of the node supportFunction does not contain “setUp”, it indicates that the device does not support face
picture applying.
Note:
Check whether the face picture has been added to the device via the node FPID returned by calling the API for face
picture applying, and link the face picture to the person information via the node FPID in face picture management and
the node employeeNo in person management.
s
y ema
os fr
ad on
el .c
ez
en
Face picture information can be added to the device via the face picture adding function. If the face picture
im
has been added to the device, the device will report an error; if the face picture has not been added to the
ng
1. Check whether the device supports face picture adding: GET /ISAPI/Intelligent/FDLib/capabilities?
format=json ; if the value of the node supportFunction contains “post”, it indicates that the device supports face
picture adding.
2. Add face picture information: POST /ISAPI/Intelligent/FDLib/FaceDataRecord?format=json .
3. If the value of the node supportFunction does not contain “post”, it indicates that the device does not support face
picture adding.
Note:
Check whether the face picture has been added to the device via the node FPID returned by calling the API for face
picture adding, and link the face picture to the person information via the node FPID in face picture management and
the node employeeNo in person management.
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Face picture information on the device can be edited via the face picture information editing function. If the
Aj
face picture has been added to the device, the face picture information will be edited; if the face picture has
Co
not been added to the device, the device will report an error.
1. Check whether the device supports face picture information editing: GET
/ISAPI/Intelligent/FDLib/capabilities?format=json ; if the value of the node supportFunction contains “put”,
it indicates that the device supports face picture information editing.
2. Edit face picture information: PUT /ISAPI/Intelligent/FDLib/FDModify?format=json .
3. If the value of the node supportFunction does not contain “put”, it indicates that the device does not support face
picture information editing.
Note:
Check whether the face picture has been added to the device via the node FPID returned by calling the API for face
picture information editing, and link the face picture to the person information via the node FPID in face picture
management and the node employeeNo in person management.
12.10.2.6 Face Picture Deleting
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
The face picture information on the device can be deleted via the face picture deleting function. The device
Co
will not report an error if the face picture to be deleted is not added to the device.
1. Check whether the device supports face picture deleting: GET /ISAPI/Intelligent/FDLib/capabilities?
format=json ; if the value of the node supportFunction contains “delete”, it indicates that the device supports face
picture deleting.
2. Delete face pictures: PUT /ISAPI/Intelligent/FDLib/FDSearch/Delete?format=json&FDID=<FDID>&faceLibType=
<FDType> ; if calling succeeded, it indicates that the device has deleted the face pictures.
3. If the value of the node supportFunction does not contain “delete”, it indicates that the device does not support
face picture deleting.
Note:
All the face picture libraries and the face picture information in the libraries on the device can be deleted by calling
DELETE /ISAPI/Intelligent/FDLib?format=json .
12.10.2.7 Face Picture Collecting
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Face picture data, face picture quality grades, etc., can be collected via the face picture collecting function.
1. Check whether the device supports face picture collecting: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportCaptureFace is returned and its value is “true”, it indicates that the device supports face picture (captured
in visible light) collecting. If the node isSupportCaptureInfraredFace is returned and its value is “true”, it indicates
that the device supports face picture (captured in infrared light) collecting.
2. Collect face picture information: POST /ISAPI/AccessControl/CaptureFaceData .
If the node captureProgress is returned, and the value is 100, it indicates that the face picture has been collected,
and the binary data or URL of the collected face picture will be parsed.
If the node captureProgress is returned and the value is 0, it indicates that the face picture has not been collected,
and you need to get the progress of face picture collecting.
3. Get the progress of face picture collecting: GET /ISAPI/AccessControl/CaptureFaceData/Progress ; repeatedly
call this API to get the progress of face picture collecting.
Repeatedly call this API until the node captureProgress is returned and its value is 100, which indicates that the
face picture has been collected and the binary data and URL of the face picture will be parsed.
If the value of the node captureProgress is 0 and the value of the isCurRequestOver is true, which indicates that the
face picture collecting failed, stop calling the API.
m
4. If the node isSupportCaptureFace is returned and its value is “false”, it indicates that the device does not support
co
face picture collecting.
a.
12.11 Fingerprint Management
C. arc
12.11.1 Introduction to the Function
Fingerprint management includes searching, applying, deleting, and collecting fingerprints.
s, em
A
12.11.2 API Calling Flow
no fr
ri on
12.11.2.1 Check Whether the Device Supports Fingerprint Management
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
Before calling the API for fingerprint management, make sure that the device supports fingerprint
en
management.
im
1. Check whether the device supports fingerprint management: GET /ISAPI/AccessControl/capabilities ; if the
ng
node isSupportFingerPrintCfg is returned and its value is “true”, it indicates that the device supports fingerprint
Aj
management.
Co
m
the returned value of the node numberOfFP is the number of the added fingerprints of all persons.
co
4. Search fingerprint information: POST /ISAPI/AccessControl/FingerPrintUpload?format=json ; the fingerprint
a.
information is returned by page. If the value of the child node status of the node FingerPrintInfo is “NoFP”, it
indicates that all fingerprint information are returned.
C. arc
5. If calling failed, it indicates that the device does not support fingerprint search.
s, em
Note:
A
no fr
The value of the node fingerPrintCapacity returned by calling GET
/ISAPI/AccessControl/CardReaderCfg/<cardReaderID>?format=json is the maximum number of fingerprints
ri on
supported by the card reader.
Ma oc
The value of the node fingerPrintNum returned by calling GET
up
/ISAPI/AccessControl/CardReaderCfg/<cardReaderID>?format=json is the number of fingerprints added to the
card reader.
co gr
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Fingerprint information can be applied to the device via the fingerprint applying function. If the fingerprint
Aj
has been added to the device, the fingerprint information will be edited; if the fingerprint has not been
Co
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Fingerprint information can be added to the device via the fingerprint adding function. If the fingerprint has
been added to the device, the device will report an error; if the fingerprint has not been added to the device,
the fingerprint will be added to the device.
1. Check whether the device supports fingerprint adding: GET
/ISAPI/AccessControl/FingerPrintCfg/capabilities?format=json ; if calling succeeded, it indicates that the
device supports fingerprint adding.
2. Add fingerprint information: POST /ISAPI/AccessControl/FingerPrintDownload?format=json ; if calling
succeeded, it indicates that the device has started to execute fingerprint adding, but it does not indicate that the
device has added the fingerprint.
3. Get the progress of fingerprint adding: GET /ISAPI/AccessControl/FingerPrintProgress?format=json ;
repeatedly call this API to get the progress of fingerprint adding.
4. If calling failed, it indicates that the device does not support fingerprint adding.
Note:
Check whether the fingerprint has been added to the device via the nodes employeeNo and fingerPrintID returned after
calling the API for fingerprint adding.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The fingerprint information on the device can be edited via the fingerprint information editing function. If
the fingerprint has been added to the device, the fingerprint information will be edited; if the fingerprint
has not been added to the device, the device will report an error.
1. Check whether the device supports fingerprint information editing: GET
/ISAPI/AccessControl/FingerPrintCfg/capabilities?format=json ; if calling succeeded, it indicates that the
device supports fingerprint information editing.
2. Edit fingerprint information: POST /ISAPI/AccessControl/FingerPrintModify?format=json .
3. If calling failed, it indicates that the device does not support fingerprint information editing.
Note:
Check whether the fingerprint has been added to the device via the nodes employeeNo and fingerPrintID returned
after calling the API for fingerprint information editing.
When the fingerprint information is edited, only the fingerprint parameters will be edited; the fingerprint data will
not be edited.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The fingerprint information on the device can be deleted via the fingerprint deleting function. The device
will not report an error if the fingerprint information to be deleted is not added to the device.
1. Check whether the device supports fingerprint deleting: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportFingerPrintDelete is returned and its value is “true”, it indicates that the device supports fingerprint
deleting.
2. Delete fingerprint information: PUT /ISAPI/AccessControl/FingerPrint/Delete?format=json ; if calling
succeeded, it indicates that the device has started to execute fingerprint deleting, but it does not indicate that the
device has deleted the fingerprints.
3. Get the progress of fingerprint deleting: GET /ISAPI/AccessControl/FingerPrint/DeleteProcess?format=json ;
repeatedly call this API to get the progress of fingerprint deleting.
4. If the node isSupportFingerPrintDelete is returned and its value is “false”, it indicates that the device does not
support fingerprint deleting.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The fingerprint collecting function is for collecting the fingerprint data, fingerprint quality, etc.
1. Check whether the device supports fingerprint collecting: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportCaptureFingerPrint is returned and its value is “true”, it indicates that the device supports fingerprint
collecting.
2. Collect fingerprint information: POST /ISAPI/AccessControl/CaptureFingerPrint .
3. If the node isSupportCaptureFingerPrint is returned and its value is “false”, it indicates that the device does not
support fingerprint collecting.
12.12 Holiday Schedule of Voice Prompt
12.12.1 Introduction to the Function
You can configure TTS texts or audio files of access authentication for holiday schedule.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Aj
im
Co en
ng ez
el .c
ad on
os fr
y ema
Fr rc
es a@
co gr
s up
Ma oc
ri on
no fr
s, em
C. arc
A a.
co
m
ISAPI Protocol Calling Flow: 1.Check whether the device supports holiday schedule of voice prompt (get the
capability of access control): GET /ISAPI/AccessControl/capabilities?format=json ; if the node
isSupportTTSTextHolidayPlan is returned and its value is "true", it indicates that the device supports holiday schedule
management of voice prompt; 2.Get the capability of holiday schedule parameters of voice prompt: GET
/ISAPI/AccessControl/Verification/ttsText/holidayPlan/capabilities?format=json ; 3.Get holiday schedule of
voice prompt: GET /ISAPI/AccessControl/Verification/ttsText/holidayPlan/<holidayPlanID>?format=json ;
configureholiday schedule of voice prompt: PUT
/ISAPI/AccessControl/Verification/ttsText/holidayPlan/<holidayPlanID>?format=json ; delete holiday schedule
of voice prompt: DELETE /ISAPI/AccessControl/Verification/ttsText/holidayPlan/<holidayPlanID>?
m
format=json ; 4.Check whether the device supports searching for holiday schedule of voice prompt (get the capability of
co
access control): GET /ISAPI/AccessControl/capabilities?format=json ; if the node
isSupportTTSTextSearchHolidayPlan is returned and its value is "true", it indicates that the device supports searching for
a.
holiday schedule parameters; 5.Get the capability of searching for holiday schedule parameters of voice prompt: GET
C. arc
/ISAPI/AccessControl/Verification/ttsText/holidayPlan/capabilities?format=json ; 6.Search for holiday
schedule of voice prompt: POST /ISAPI/AccessControl/Verification/ttsText/searchHolidayPlan?format=json ;
s, em
12.13 ID Card Allowlist Management
A
no fr
12.13.1 Introduction to the Function
ri on
The device supports importing, clearing, and verifying the ID card blocklist, which is used for verifying whether the card
Ma oc
holder is in the list, e.g., when people are checking-in to an examination, they can be verified by their ID cards since the
device of each examination hall is applied different list of ID cards.
up
co gr
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the nodes
s
isSupportIDAllowListTask are returned and the value is "true", it indicates that the device supports exporting the ID
card allowlist template in URL, exporting the ID card allowlist template in binary format, and importing the ID card
os fr
allowlist.
2. Get the ID card allowlist template in binary format: GET
ad on
/ISAPI/AccessControl/IDAllowList/ExportTemplateByURL?format=json .
en
creating tasks, searching task status, and searching task results, etc.
ng
Aj
m
/ISAPI/AccessControl/IDAllowList/ParamCfg?format=json .
co
a.
12.14 ID Card Blocklist Management
C. arc
12.14.1 Introduction to the Function
The device supports importing, clearing, and verifying the ID card blocklist, which is used for verifying whether the card
s, em
holder is in the list, e.g., before a person registers in a hotel, his/her ID card need to be checked for verifying if the
A
no fr
person is in the wanted suspect list.
ri on
12.14.2 API Calling Flow
12.14.2.1 Apply ID Card Blocklist
Ma oc
up
12.14.2.1.1 Apply Single ID Card of Blocklist
co gr
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the nodes
isSupportIDBlackListTemplate and isSupportIDBlackListCfg are returned and the value is "true", it indicates that the
es a@
device supports exporting the ID card blocklist template and applying the ID card blocklist.
Fr rc
s
y ema
os fr
ad on
el .c
ez
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the nodes
en
isSupportIDBlackListTemplate and isSupportIDBlackListCfg are returned and the value is "true", it indicates that the
device supports exporting the ID card blocklist template and applying the ID card blocklist.
im
format=json ; get whether the device supports creating tasks, searching task status, and searching task results, etc.
4. Create the task of importing the ID card blocklist: POST /ISAPI/AccessControl/IDBlockList/Task?format=json .
5. Search the task status of importing the ID card blocklist: POST
/ISAPI/AccessControl/IDBlockList/SearchTaskProgress?format=json ; the task progress and status will be
returned by the device. Repeatedly calling this API until the value of the node "percent" returns 100%, and the
value of the node "taskExecutionStatus" returns "completed".
6. Search for the task results of applying the ID card blocklist: POST
/ISAPI/AccessControl/IDBlockList/SearchTaskResult?format=json&security=<security>&iv=<iv> ;
information such a s name, address, and ID card No. should be encrypted.
m
co
3. Get and configure the parameters of the ID card blocklist: GET|PUT /ISAPI/AccessControl/IDBlackListParamCfg?
format=json .
a.
12.15 ID Card Software Decoding
C. arc
12.15.1 Introduction to the Function
s, em
If this function is enabled, the device can get information via the software decoding such as ID card No. and pictures; if
A
no fr
this function is disabled, the device can only get the card serial No.
ri on
12.15.2 API Calling Flow
Ma oc
1. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportIDCardSoftSolutionParams is returned and its value is "true", it indicates that the device supports
up
software decoding ID cards.
co gr
3. Get and configure the parameters of the software decoding ID cards: GET|PUT
Fr rc
/ISAPI/AccessControl/IDCardMgr/IDCardSoftSolutionParams?format=json .
y ema
Iris data management includes searching, applying, adding, editing, deleting, and collecting iris data.
el .c
s
y ema
os fr
ad on
Before calling the API for iris data management, make sure that the device supports iris data management:
el .c
1. Check whether the device supports iris data management: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportIrisInfo is returned and its value is true, it indicates that the device supports iris data management.
ez
3. If the node isSupportIrisInfo is returned and its value is false, it indicates that the device does not support iris data
management.
im
ng
Note:
Aj
Co
Before applying, adding, and editing the iris data on the device, make sure that the related person information
linked to the person ID has been applied to the device.
Data for up to two irises of each person (two eyes of each person) can be applied to the device.
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The iris data search function is for searching the number of irises and iris information added to the device.
1. Check whether the device supports iris data search: GET /ISAPI/AccessControl/IrisInfo/capabilities?
format=json ; if the node supportFunction is returned, and the value contains “get”, it indicates that the device
supports iris data search.
2. Search the number of irises: GET /ISAPI/AccessControl/IrisInfo/count?format=json ; the value of the node
IrisNumber is the number of added irises on the device.
3. Search iris information: POST /ISAPI/AccessControl/IrisInfo/search?format=json ; the searched iris
information will be returned by page.
4. If the value of the node supportFunction does not contain “get”, it indicates that the device does not support iris
data search.
Note:
The value of the node maxRecordNum returned by calling GET /ISAPI/AccessControl/IrisInfo/capabilities?
format=json is the maximum number of irises supported by the device.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The iris data applying function is for applying iris information to the device. If the iris data has already been
applied to the device, the information about the iris will be edited; if the iris data has not been applied to
the device, the iris information will be added to the device.
1. Check whether the device supports iris data applying: GET /ISAPI/AccessControl/IrisInfo/capabilities?
format=json ; if the node supportFunction is returned and the value contains “setUp”, it indicates that the device
supports iris data applying.
2. Iris Data Applying: PUT /ISAPI/AccessControl/IrisInfo/setup?format=json .
3. If the value of the node supportFunction does not contain “setUp”, it indicates that the device does not support iris
data applying.
Note:
Check whether the iris data have been applied to the device via the nodes employeeNo and id returned by calling the
API for iris data applying.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The iris data adding function is for adding the iris data to the device. If the iris data have already been
added to the device, the device will report an error; if the iris data have not been added to the device, the
iris data will be added to the device.
1. Check whether the device supports iris data adding: GET /ISAPI/AccessControl/IrisInfo/capabilities?
format=json ; if the value of the node supportFunction contains “post”, it indicates that the device supports iris data
applying.
2. Add iris data: POST /ISAPI/AccessControl/IrisInfo/record?format=json .
3. If the value of the node supportFunction does not contain “post”, it indicates that the device does not support iris
data applying.
Note:
Check whether the iris data have been applied to the device via the nodes employeeNo and id returned by calling the
API for iris data adding.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The iris data editing function is for editing the applied iris information on the device. If the iris data have
already been added to the device, the iris information will be edited; if the iris data have not been added to
the device, the device will report an error.
1. Check whether the device supports iris data editing: GET /ISAPI/AccessControl/IrisInfo/capabilities?
format=json ; if the value of the node supportFunction contains “put”, it indicates that the device supports iris data
editing.
2. Edit iris information: PUT /ISAPI/AccessControl/IrisInfo/modify?format=json .
3. If the value of the node supportFunction does not contain “put”, it indicates that the device does not support iris
data editing.
Note:
Check whether the iris data have been applied to the device via the nodes employeeNo and id returned by calling the
API for iris data editing.
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
The iris data deleting function is for deleting the applied iris information on the device. If the iris data to be
Co
deleted have not been applied to the device, the device will not report an error.
1. Check whether the device supports iris data deleting: GET /ISAPI/AccessControl/IrisInfo/capabilities?
format=json ; if the value of the node supportFunction contains “delete”, it indicates that the device supports iris
data deleting.
2. Delete iris information: PUT /ISAPI/AccessControl/IrisInfo/delete?format=json ; if calling succeeded, it
indicates that the iris information has been deleted.
3. If the value of the node supportFunction does not contain “delete”, it indicates that the device does not support iris
data deleting.
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The iris data collecting function is for collecting iris data and information.
1. Check whether the device supports iris data collecting: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportCaptureIrisData is returned and its value is “true”, it indicates that the device supports iris data collecting.
2. Collect iris information: POST /ISAPI/AccessControl/captureIrisData?format=json ; if calling succeeded, it
indicates that the device has started to execute the collection.
3. Get the progress of iris data collecting: GET /ISAPI/AccessControl/captureIrisData/progress?format=json ;
repeatedly call this API until the value of captureProgress is returned and is 100, which indicates that the collecting
completed.
4. If the node isSupportCaptureIrisData is returned and its value is “false”, it indicates that the device does not
support iris data collecting.
12.17 Multi-Factor Authentication
12.17.1 Introduction to the Function
In some scenarios with higher security levels, you can set rules that the door will only open when different persons
authenticate in the access control point during fixed time.
m
For example, in a bank, a door will only open after two or more persons are authenticated (such as swiping card,
co
authenticated by fingerprint, face picture, iris, etc.). If a door is configured multi-factor authentication, the number
authentication persons, authentication order, and authentication methods should follow the rules.
a.
12.17.2 API Calling Flow
C. arc
12.17.2.1 Group Parameter Configuration
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
3. Edit person information: PUT /ISAPI/AccessControl/UserInfo/Modify?format=json
No more than 4 groups can be linked to one person.
a.
C. arc
12.17.2.3 Multi-Factor Authentication Mode Configuration
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
This document mainly introduces the calling flows for person management and credential management (card,
fingerprint, face picture, iris data management). For details about the calling flow for permission schedule management,
co gr
refer to the “Management of Permission Schedules for Persons and Access Points”.
es a@
Person management includes searching, applying, adding, editing, and deleting persons.
os fr
s
y ema
os fr
ad on
el .c
ez
Before calling the API for person management, make sure that the device supports person management.
en
1. Check whether the device supports person management: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportUserInfo is returned and its value is true, it indicates that the device supports person management.
im
3. If the node isSupportUserInfo is returned and its value is false, it indicates that the device does not support person
Co
management.
Note:
The person ID (EmployeeNo) is the unique identifier for person and credential management. After calling GET
/ISAPI/AccessControl/capabilities , through the child nodes of EmployeeNoInfo which are employeeNo,
characterType, and isSupportCompress, the maximum string length and character types of the person ID supported by
the device can be checked. Generally, devices support up to 32 bytes and any type of characters. But for access
controllers and distribution-type access control devices, check through the child nodes mentioned above.
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The person search function is for searching the number of persons and person information added to the
device.
1. Check whether the device supports person search: GET /ISAPI/AccessControl/UserInfo/capabilities?
format=json ; if the value of the node supportFunction contains “get”, it indicates that the device supports person
search.
2. Search the number of persons: GET /ISAPI/AccessControl/UserInfo/Count?format=json ; the returned value of
the node userNumber is the number of the persons added to the device.
3. Search person information: POST /ISAPI/AccessControl/UserInfo/Search?format=json ; the person information
is returned by page.
4. If the value of the node supportFunction does not contain “get”, it indicates that the device does not support
person search.
Note:
The value of the node maxRecordNum returned by calling GET /ISAPI/AccessControl/UserInfo/capabilities?
m
format=json is the maximum number of persons supported by the device.
co
12.19.2.3 Person Applying
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Person information can be applied to the device via the person applying function. If the person has been
added to the device, the person information will be edited; if the person has not been added to the device,
the person information will be applied to the device.
1. Check whether the device supports person applying: GET /ISAPI/AccessControl/UserInfo/capabilities?
format=json ; if the value of the node supportFunction contains “setUp”, it indicates that the device supports
person applying.
2. Apply person information: PUT /ISAPI/AccessControl/UserInfo/SetUp?format=json .
3. If the value of the node supportFunction does not contain setUp, it indicates that the device does not support
person applying.
Note:
Check whether the person has been added to the device via the node employeeNo returned after calling the API for
person applying.
m
co
12.19.2.4 Person Adding
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Person can be added to the device via the person adding function. If the person has been added to the
device, the device will report an error; if the person has not been added to the device, the person will be
added to the device.
1. Check whether the device supports person adding: GET /ISAPI/AccessControl/UserInfo/capabilities?
format=json ; if the value of the node supportFunction contains “post”, it indicates that the device supports person
adding.
2. Add persons: POST /ISAPI/AccessControl/UserInfo/Record?format=json .
3. If the value of the node supportFunction does not contain “post”, it indicates that the device does not support
person adding.
Note:
Check whether the person has been added to the device via the node employeeNo returned after calling the API for
m
person adding.
co
12.19.2.5 Person Information Editing
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Person information added to the device can be edited via the person information editing function. If the
person has been added to the device, the person information will be edited; if the person has not been
added to the device, the device will report an error.
1. Check whether the device supports person information editing: GET
/ISAPI/AccessControl/UserInfo/capabilities?format=json ; if the value of the node supportFunction contains
“put”, it indicates that the device supports person information editing.
2. Edit Person Information: PUT /ISAPI/AccessControl/UserInfo/Modify?format=json .
3. If the value of the node supportFunction does not contain “put”, it indicates that the device does not support
person information editing.
m
co
Note:
a.
Check whether the person has been added to the device via the node employeeNo returned after calling the API for
person information editing.
C. arc
12.19.2.6 Person Deleting
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
The person added to the device can be deleted via the person deleting function. The device will not report
an error if the person to be deleted is not added to the device.
1. Check whether the device supports person deleting: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportUserInfoDetailDelete is returned and its value is “true”, it indicates that the device supports person
deleting.
2. Delete persons: PUT /ISAPI/AccessControl/UserInfoDetail/Delete?format=json ; if calling succeeded, it
indicates that the device has started to execute person deleting, but it does not indicate that the device has deleted
the person.
3. Get the progress of deleting person information: GET /ISAPI/AccessControl/UserInfoDetail/DeleteProcess ;
repeatedly call this API to get the progress of person deleting.
4. If the node isSupportUserInfoDetailDelete is returned and its value is “false”, it indicates that the device does not
support person deleting.
Note:
When the person is deleted, the information on the credentials (the card, fingerprint, face picture, and iris data) linked
via the person ID will also be deleted.
m
For scenes with high-level security/protection requirements, it requires not only the device's local authentication but
co
also the platform's verification before enabling door controlling.
a.
For example, in scenes such as pandemic control and prevention, after completing authentication/temperature
measurement of the person, the device will upload the event to the platform, and the platform will search for the
C. arc
person's recent trip information according to the uploaded information and apply the verification result to the device
for controlling door after confirming the person's trip does not involve risk areas.
s, em
A
12.20.2 API Calling Flow
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
The API calling flow is as follow:
up
1. Check whether the device supports remote verification: GET /ISAPI/AccessControl/capabilities . If the node
isSupportRemoteCheck is returned and its value is true, it indicates that the device supports remote verification.
co gr
verification parameters via the nodes including remoteCheckDoorEnabled, checkChannelType, channelIp and
needDeviceCheck.
Fr rc
3. Upload events to be verified: when the node remoteCheck of the following events (AccessControllerEvent/
y ema
1. Reset by authentication interval. This function will take effect in specific time period after the anti-passbak is
ng
triggered. If the user trigger the function by swiping a card by route, the anti-passback flag will be reset in certain
Aj
time.
Co
2. Reset by time. The anti-passback flag will be reset automatically in certain time.
3. Invalid mode. The resetting rule is disabled.
Application scenarios: The anti-passback function will be help to reduce the cost of manual monitoring. Anti-passback
by time period and by time cannot set at the same time.
isSupportAntiPassbackResetRules is returned and its value is "true", it indicates that the device supports resetting
es a@
rules of anti-passback.
2. Get resetting rules of anti-passback: GET /ISAPI/AccessControl/AntiPassback/resetRules?format=json ;
Fr rc
It is required to connect to door permission and schedule template of access permission related to each door before
applying permissions to persons. For applying permissions to persons, see calling flow of Person Management of
el .c
Person and Credential Management. Configuring schedules of persons' access permission is required, or the related
ez
1 weekly schedule and 4 holiday groups can be added in each schedule template. The priority of holiday schedule is
higher than that of weekly schedule. Weekly schedule can be configured by day of a week and 8 different time period of
im
a day. 16 holiday schedules can be added to a holiday group schedule. Each holiday schedule has its start and end day,
ng
and the time period is same in the holiday range (8 time periods can be added). The access control can follow the
Aj
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Calling Flow:
1. Check whether the device supports schedule template configuration of person's permission: GET
/ISAPI/AccessControl/capabilities ; if the node isSupportUserRightPlanTemplate is returned and its value is
"true", it indicates that the device supports schedule template configuration of person's permission (if it supports, it
also supports weekly schedule configuration of persons' permission).
2. Schedule template configuration of persons' permission: [GET/PUT]
/ISAPI/AccessControl/UserRightPlanTemplate/<planTemplateID>?format=json .
3. Configuring schedule template of persons' access permission control for the device is not supported.
12.22.2.2 Weekly Schedule of Persons' Access Permission
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Calling Flow:
1. Check whether the device supports weekly schedule configuration of persons' permissions: GET
/ISAPI/AccessControl/capabilities ; if the node isSupportCardRightWeekPlanCfg is returned and its value is
"true", it indicates that the device supports weekly schedule configuration of person's permissions.
2. Weekly schedule configuration of persons' permissions:[GET/PUT]
/ISAPI/AccessControl/UserRightWeekPlanCfg/<weekPlanID>?format=json .
3. Configuring weekly schedule of persons' access permission control for the device is not supported.
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Calling Flow:
Co
1. Check whether the device supports holiday group configuration of person's permissions: GET
/ISAPI/AccessControl/capabilities ; if the nodeisSupportUserRightHolidayGroupCfg is returned and its value is
"true", it indicates that the device supports holiday group configuration of person's permission (if it supports, it
also supports holiday schedule configuration of persons' permissions).
2. Holiday group configuration of persons' permissions:[GET/PUT]
/ISAPI/AccessControl/UserRightHolidayGroupCfg/<holidayGroupID>?format=json .
3. Configuring holiday groups of persons' access permission control for the device is not supported.
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
Calling Flow:
1. Check whether the device supports holiday schedule configuration of persons' permissions: GET
/ISAPI/AccessControl/capabilities ; if the node isSupportCardRightHolidayPlanCfg is returned and its value is
"true", it indicates that the device supports holiday schedule configuration of person's permissions.
2. Holiday schedule configuration of persons' permissions:[GET/PUT]
/ISAPI/AccessControl/UserRightHolidayPlanCfg/<holidayPlanID>?format=json .
3. Configuring holiday schedule of persons' access permission control for the device is not supported.
12.23 Search for QR Code Scanning Event
4. Get the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportQRCodeEvent is returned and its value is "true", it indicates that the device supports searching for QR
code scanning events.
5. Get the capability of searching for QR code scanning events: GET
/ISAPI/AccessControl/QRCodeEvent/capabilities?format=json .
6. Search for QR code scanning events: POST /ISAPI/AccessControl/QRCodeEvent?format=json . Notes: the device
m
displays QR code rather than authentication information.
co
12.24 Store and Search for Access Control Event
a.
C. arc
12.24.1 Introduction to the Function
The device supports configuring storage parameters of access control event, searching for access control events, and
s, em
searching for the amount of access control events. There are three storage modes: deleting old events periodically,
A
deleting old events by specified time and overwriting.
no fr
ri on
12.24.2 API Calling Flow
Ma oc
12.24.2.1 Configure Storage Parameters of Access Control Events
up
1. Call the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
isSupportEventStorageCfg is returned and its value is "true", it indicates that the device supports configuring the
co gr
/ISAPI/AccessControl/AcsEvent/StorageCfg/capabilities?format=json .
y ema
3. Get and set storage parameters of access control events: GET|PUT /ISAPI/AccessControl/AcsEvent/StorageCfg?
format=json .
os fr
1. Call the functional capability of access control: GET /ISAPI/AccessControl/capabilities ; if the node
el .c
isSupportAcsEvent is returned and its value is "true", it indicates that the device supports searching for access
control events.
ez
2. Get the capability of searching for access control events: GET /ISAPI/AccessControl/AcsEvent/capabilities?
en
format=json .
im
3. Get the total number of access control events by specific conditions: POST
/ISAPI/AccessControl/AcsEventTotalNum?format=json .
m
device ID and new device ID.
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
14 Digital Signage
14.1 Material Management
m
14.1.1 Introduction to the Function
co
Upload static materials to the device.
a.
14.1.2 API Calling Flow
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
co
a.
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
m
the schedule to the device. After the schedule is applied to the device, the device will play the specified program as
co
scheduled.
a.
14.2.2 API Calling Flow
C. arc
s, em
A
no fr
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
3. The client applies program information to the device for each program, including program parameters, name, type,
etc. POST /ISAPI/Publish/ProgramMgr/program .
etc. POST /ISAPI/Publish/ProgramMgr/program .
4. Apply parameters for each page: POST /ISAPI/Publish/ProgramMgr/program/<programID>/page .
5. The client repeatedly applies material description information to the device. For materials stored in the local
storage: POST /ISAPI/Publish/MaterialMgr/material/<materialID>/upload . For materials stored in the storage
server, apply related material information (such as URL, IP address, etc.) to the information release terminal: POST
/ISAPI/Publish/MaterialMgr/material .
m
15 Zone Alarm
co
a.
15.1 Peripheral Management
C. arc
15.1.1 Peripheral No.
s, em
The peripheral No. is used to specify a certain peripheral (such as detector, network camera, relay, and sounder) when
A
no fr
you perform operations including configuring parameters and upgrading devices. For details about rules, see the
picture below:
ri on
Ma oc
up
co gr
es a@
Fr rc
s
y ema
os fr
ad on
el .c
ez
map fences), 7 (access wireless detectors by connecting the RS-485 bus with R3/RX receivers), 8 (access wired
detectors via multi-channel wired zone modules), 10 (access wired detectors via keypads), 11 (access wired detectors
es a@
The wireless security control panel can access detectors in the following ways:
y ema
1 (access wired detectors via onboard transmitters), 3 (access wireless detectors via internal wireless receivers), 4
(access 1 to 2 wired detectors by enabling the function of extending zones for some magnetic contact detectors), 9
os fr
(access wired detectors by connecting wireless receivers with single-channel / multi-channel transmitters)
ad on
The wireless security control panel can access peripherals in the following ways:
1 (access keypas via wireless network), 3 (access wireless sounders via internal wireless receivers), 4 (access wired
m
relays via onboard transmitters), 6 (access card readers via wireless network), 7 (access repeaters via wireless network),
co
8 (access keyfobs via wireless network), 9 (access wired relays by connecting wireless receivers with single-channel /
a.
multi-channel transmitters), 10 (access wired relays by connecting wireless receivers with wireless output modules), 13
(access network cameras by login via the network)
C. arc
16 API Reference
s, em
A
no fr
16.1 Device Management (General)
ri on
16.1.1 Accessing via Protocol
Ma oc
16.1.1.1 Set the parameters of a specific protocol that supported by device
up
Request URL
co gr
PUT /ISAPI/Security/adminAccesses/<indexID>
es a@
Query Parameter
Fr rc
indexID string --
Request Message
os fr
ad on
el .c
ez
en
im
ng
Aj
Co
<?xml version="1.0" encoding="UTF-8"?>
m
<!--opt, bool, whether to automatically go to HTTPS when connecting to HTTP port and HTTPS is enabled, desc:whether to automatically go to HTTPS when
connecting to HTTP port and HTTPS is enabled-->true
co
</redirectToHttps>
<streamOverTls>
a.
<!--opt, bool, whether to enable encryption of stream, desc:whether to enable encryption of stream-->true
</streamOverTls>
<portNo>
C. arc
<!--req, int, port No., range:[1,65535], desc:port No.-->80
</portNo>
<TLS1_1Enable>
<!--opt, bool, dep:and,{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,HTTPS},
s, em
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocket},{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocketS},
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,SDK_OVER_TLS}-->true
A
</TLS1_1Enable>
no fr
<TLS1_2Enable>
<!--opt, bool, dep:and,{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,HTTPS},
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocket},{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocketS},
ri on
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,SDK_OVER_TLS}-->true
</TLS1_2Enable>
Ma oc
<TLS1_3Enable>
<!--opt, bool, dep:and,{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,HTTPS},
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocket},{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocketS},
up
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,SDK_OVER_TLS}-->true
</TLS1_3Enable>
</AdminAccessProtocol>
co gr
es a@
Response Message
Fr rc
</requestURL>
<statusCode>
<!--ro, req, enum, status code, subType:int, desc:0 (OK), 1 (OK), 2 (Device Busy), 3 (Device Error), 4 (Invalid Operation), 5 (Invalid XML Format), 6
ad on
<statusString>
<!--ro, req, enum, status information, subType:string, desc:"OK" (succeeded), "Device Busy", "Device Error", "Invalid Operation", "Invalid XML Format",
"Invalid XML Content", "Reboot" (reboot device)-->OK
ez
</statusString>
<subStatusCode>
<!--ro, req, string, sub status code, which describes the error in details, desc:sub status code, which describes the error in details-->OK
en
</subStatusCode>
</ResponseStatus>
im
ng
Aj
Request URL
GET /ISAPI/Security/adminAccesses/<indexID>
Query Parameter
Parameter Name Parameter Type Description
indexID string
Request Message
None
Response Message
<?xml version="1.0" encoding="UTF-8"?>
m
<!--ro, opt, bool, whether to enable HTTPS redirection, desc:this node is valid when the protocol type is "HTTPS"-->true
</redirectToHttps>
co
<streamOverTls>
<!--ro, opt, bool, whether to enable encryption of stream, desc:this node is valid when the protocol type is "SDK_OVER_TLS"-->true
a.
</streamOverTls>
<portNo>
<!--ro, req, int, Port No., range:[1,65535], desc:Port No.-->80
C. arc
</portNo>
<TLS1_1Enable>
<!--ro, opt, bool, dep:and,{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,HTTPS},
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocket},{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocketS},
s, em
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,SDK_OVER_TLS}-->true
</TLS1_1Enable>
A
<TLS1_2Enable>
no fr
<!--ro, opt, bool, dep:and,{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,HTTPS},
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocket},{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocketS},
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,SDK_OVER_TLS}-->true
ri on
</TLS1_2Enable>
<TLS1_3Enable>
Ma oc
<!--ro, opt, bool, dep:and,{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,HTTPS},
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocket},{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,WebSocketS},
{$.AdminAccessProtocolList.AdminAccessProtocol.protocol,eq,SDK_OVER_TLS}-->true
up
</TLS1_3Enable>
</AdminAccessProtocol>
co gr
es a@
GET /ISAPI/Security/adminAccesses/capabilities
y ema
Query Parameter
None
os fr
Request Message
ad on
None
el .c
Response Message
ez
en
im
ng
Aj
Co
<?xml version="1.0" encoding="UTF-8"?>
m
</protocol>
<redirectToHttps opt="true,false">
co
<!--ro, opt, bool, attr:opt{req, string}-->true
</redirectToHttps>
a.
<streamOverTls opt="true,false">
<!--ro, opt, bool, this node is valid when the protocol type is "SDK_OVER_TLS", attr:opt{req, string}-->true
</streamOverTls>
C. arc
<portNo min="1" max="65535" default="8443">
<!--ro, req, int, range:[1,65535], attr:min{req, int},max{req, int},default{opt, int}-->1
</portNo>
<TLS1_1Enable opt="true,false">
s, em
<!--ro, opt, bool, attr:opt{req, string}-->true
</TLS1_1Enable>
A
<TLS1_2Enable opt="true,false">
no fr
<!--ro, opt, bool, attr:opt{req, string}-->true
</TLS1_2Enable>
<TLS1_3Enable opt="true,false">
ri on
<!--ro, opt, bool, attr:opt{req, string}-->true
</TLS1_3Enable>
Ma oc
<TLS1_1SecurityPrompt opt="Only when the video output mode is Panorama, the device supports the VCA functions except Monitoring">
<!--ro, opt, string, attr:opt{req, string}-->Only when the video output mode is Panorama, the device supports the VCA functions except Monitoring
</TLS1_1SecurityPrompt>
up
<connectTime min="1" max="999" def="10">
<!--ro, opt, int, range:[1,999], step:1, unit:min, attr:min{req, int},max{req, int},def{req, int}-->10
</connectTime>
co gr
</AdminAccessProtocol>
</AdminAccessProtocolList>
es a@
Fr rc
GET /ISAPI/System/deviceInfo/capabilities
ad on
Query Parameter
el .c
None
Request Message
ez
None
en
Response Message
im
ng
m
<bootReleasedDate min="1" max="16">
co
<!--ro, opt, string, release date of boot, range:[1,16], attr:min{opt, string},max{opt, string}-->100316
</bootReleasedDate>
<hardwareVersion min="1" max="16">
a.
<!--ro, opt, string, hardware version, range:[1,16], attr:min{opt, string},max{opt, string}-->0x0
</hardwareVersion>
<subDeviceType
C. arc
opt="accessControlTerminal,attendanceCheckDevice,multiChannelAccessController,personAndIdCardDevice,doorStation,mainStation,swingBarrier,flapBarrier,tripodT
urnstile">
<!--ro, opt, string, attr:opt{req, string}-->accessControlTerminal
</subDeviceType>
s, em
<telecontrolID min="1" max="16">
<!--ro, opt, int, remote control ID, range:[1,16], attr:min{opt, string},max{opt, string}-->8
A
</telecontrolID>
no fr
<subChannelEnabled>
<!--ro, opt, bool, whether to enable two channels-->true
ri on
</subChannelEnabled>
<thrChannelEnabled>
<!--ro, opt, bool, whether to enable three channels-->true
Ma oc
</thrChannelEnabled>
<powerOnMode opt="button,adapter" def="button">
<!--ro, opt, enum, device startup mode, subType:string, attr:opt{opt, string},def{opt, string}, desc:"button", "adapter"-->button
up
</powerOnMode>
<customizedInfo min="0" max="128">
co gr
<!--ro, opt, string, device custom No., range:[0,128], attr:min{req, int},max{req, int}, desc:for baseline devices, returing this node is not required--
>test
</customizedInfo>
es a@
<languageType
opt="chinese,english,spanish,portuguese,italian,french,russian,turkish,greek,czech,brazilianPortuguese,slovenian,swedish,norwegian,romanian,danish,german,po
lish,dutch,hungarian,slovak,serbian,southAmericanSpanish,ukrainian,croatian,irish,bulgarian,hebrew,thai,indonesian,arabic,traditionalChinese,lithuanian,angl
Fr rc
icism,estonian">
<!--ro, opt, string, language type, range:[1,32], attr:opt{opt, string}, desc:"chinese", "english", "spanish", "portuguese", "italian", "french",
y ema
"russian", "turkish", "greek", "czech", "brazilianPortuguese", "slovenian", "swedish", "norwegian", "romanian", "danish", "german", "polish", "dutch",
"hungarian", "slovak", "serbian", "southAmericanSpanish", "ukrainian", "croatian", "irish", "bulgarian", "hebrew", "thai", "indonesian", "arabic",
"traditionalChinese"-->chinese
</languageType>
os fr
</electroLockNum>
<sirenNum min="0" max="16">
<!--ro, opt, int, number of sirens, range:[0,16], attr:min{opt, string},max{opt, string}-->1
im
</sirenNum>
<alarmLamp min="0" max="16">
ng
<!--ro, opt, int, number of strobe lights, range:[0,16], attr:min{opt, string},max{opt, string}-->1
Aj
</alarmLamp>
Co
m
<securityModuleVersion>
co
<!--ro, opt, string, security module version No., range:[1,32]-->1.0
</securityModuleVersion>
<securityChipVersion>
a.
<!--ro, opt, string, security chip version No., range:[1,32]-->1.0
</securityChipVersion>
C. arc
<securityModuleKeyVersion>
<!--ro, opt, string, security module key version No., range:[1,32]-->1.0
</securityModuleKeyVersion>
<UIDLampRecognition>
s, em
<!--ro, opt, object, recognize the device information by UID-->
<enabled opt="true,false">
A
<!--ro, opt, bool, whether to enable, attr:opt{opt, string}-->true
no fr
</enabled>
</UIDLampRecognition>
<confDeviceIdPrefix opt="true,false">
ri on
<!--ro, opt, bool, whether the meeting uses the device name as its prefix, attr:opt{opt, string}-->true
</confDeviceIdPrefix>
Ma oc
<simpleAlgorithmVersion min="0" max="10">
<!--ro, opt, string, single algorithm version, attr:min{req, int},max{req, int}-->test
</simpleAlgorithmVersion>
up
<bootTime>
<!--ro, opt, datetime, system boot time-->1970-01-01T00:00:00+08:00
</bootTime>
co gr
<isSupportNewVersionDevlanguageSwitch>
<!--ro, opt, bool, whether it supports switching languages for the new protocol version-->true
es a@
</isSupportNewVersionDevlanguageSwitch>
<intelligentAnalysisEngineModel>
<!--ro, opt, string, engine model, range:[1,32]-->K81
Fr rc
</intelligentAnalysisEngineModel>
s
<marketType opt="0,1,2">
<!--ro, opt, enum, market type, subType:int, attr:opt{req, string}, desc:0 (invalid), 1 (distribution type), 2 (industry type)-->0
y ema
</marketType>
<protocolFileURL min="1" max="32">
<!--ro, opt, string, protocol notice URI, attr:min{opt, string},max{opt, string}-->test
</protocolFileURL>
os fr
<recycleRecordEnabled opt="true,false">
<!--ro, opt, bool, whether to enable overwritten recording, attr:opt{req, string}-->false
</recycleRecordEnabled>
ad on
<decordChannelNums>
<!--ro, opt, int, number of decoding channels-->0
el .c
</decordChannelNums>
<VGANums>
<!--ro, opt, int, number of VGA ports-->0
ez
</VGANums>
<USBNums>
<!--ro, opt, int, number of USB ports-->0
en
</USBNums>
<auxoutNums>
im
<!--ro, opt, string, extension board version information, range:[0,32], attr:min{req, int},max{req, int}-->test
</expansionBoardVersion>
Co
<initWizzardDisplay opt="true,false">
<!--ro, opt, bool, whether it displays initialization wizard, attr:opt{req, string}, desc:it is only used for displaying configuration of applications
integrated to the wizard, such as local GUI and Hik-Connect app. By default, the value is true; it is false after the wizard is configured on the local GUI-
->true
</initWizzardDisplay>
<beaconID min="0" max="32">
<!--ro, opt, string, device RF program version No., range:[0,32], attr:min{req, int},max{req, int}, desc:by default, it is the current value-->test
</beaconID>
<isResetDeviceLanguage opt="true,false">
<!--ro, opt, bool, whether to reset the language, attr:opt{req, string}, desc:only available for Admin/Installer: true-after the language reset, the
device information will be displayed in the target language on Hik-Connect Mobile Client and Web Client; false-after the language reset, the device
information will be displayed in the original language on Hik-Connect Mobile Client and Web Client-->false
</isResetDeviceLanguage>
<dispalyNum>
<!--ro, opt, int, number of device screens-->2
</dispalyNum>
<bspVersion min="1" max="1">
<!--ro, opt, string, BSP version, attr:min{req, int},max{req, int}-->test
</bspVersion>
<dspVersion min="1" max="1">
<!--ro, opt, string, DSP version, attr:min{req, int},max{req, int}-->test
</dspVersion>
<localUIVersion min="1" max="1">
<!--ro, opt, string, local UI version, attr:min{req, int},max{req, int}-->test
</localUIVersion>
<OPCASubType opt="PDA,pump,column,autoSampler,SOC">
<!--ro, opt, enum, the sub type of optical physical and chemical analyzer, subType:string, attr:opt{req, string}, desc:"detector"; "pump"; "columnOven"
(column oven); "autoSampler" (auto sampler)-->detector
</OPCASubType>
<wiegandOutNum min="0" max="1">
<!--ro, opt, int, number of Wiegand outputs, range:[0,1], attr:min{opt, string},max{opt, string}-->1
</wiegandOutNum>
<ChipVersionInfoList size="6">
<!--ro, opt, object, chip version information list, attr:size{req, int}-->
<ChipVersionInfo>
<!--ro, opt, object, chip version information-->
<ID min="0" max="1">
<!--ro, req, int, chip No., range:[0,1], attr:min{req, int},max{req, int}, desc:the No.s of chips of different types can be duplicate. Users can
distinguish them by chip type and chip No. together-->1
m
</ID>
co
<firmwareVersion min="0" max="64">
<!--ro, req, string, chip firmware version, range:[0,64], attr:min{req, int},max{req, int}-->1.0.0
</firmwareVersion>
a.
<chipName min="0" max="32">
<!--ro, opt, string, range:[0,32], attr:min{req, int},max{req, int}-->test
</chipName>
C. arc
</ChipVersionInfo>
</ChipVersionInfoList>
<personBagLinkAlgoEngineVersion min="0" max="64">
<!--ro, opt, string, engine version of the person & package linkage module, range:[0,64], attr:min{req, int},max{req, int}, desc:this node is for
s, em
analyzer (security inspection)-->1.0.0
A
</personBagLinkAlgoEngineVersion>
no fr
<BIOSVersion min="0" max="16">
<!--ro, opt, string, BIOS version, range:[0,16], attr:min{req, int},max{req, int}-->V1.3.4
</BIOSVersion>
ri on
<contactInformation min="0" max="64">
<!--ro, opt, string, contact information, range:[0,64], attr:min{req, int},max{req, int}-->test
</contactInformation>
Ma oc
<PedestrianWarningModuleVersion>
<!--ro, opt, object, pedestrian warning module information, desc:this node is returned only for pedestrian warning devices-->
up
<pedestrianWarningMCUVersion min="1" max="32">
<!--ro, opt, string, MCU program version, range:[0,16], attr:min{req, int},max{req, int}-->V1.3.4
</pedestrianWarningMCUVersion>
co gr
</PedestrianWarningModuleVersion>
<encryptionModel min="0" max="16">
y ema
<!--ro, opt, string, device encryption model, range:[0,16], attr:min{req, int},max{req, int}, desc:it cannot be modified and is a hexadecimal digit
currently-->test
</encryptionModel>
<UWBVersion min="1" max="32">
os fr
</audioBoardModel>
<audioBoardVersion min="0" max="32">
ez
<!--ro, opt, string, audio board version, range:[0,32], attr:min{req, int},max{req, int}-->V1.0.0 build 211210
</audioBoardVersion>
</audioBoard>
en
</materialScanAlgorithmVersion>
<productionDate>
ng
Aj
m
Request URL
co
GET /ISAPI/System/deviceInfo?serialNumber=<serialNumber>
a.
Query Parameter
C. arc
Parameter Name Parameter Type Description
serialNumber string --
s, em
A
Request Message
no fr
None
ri on
Response Message
Ma oc
<?xml version="1.0" encoding="UTF-8"?>
up
<DeviceInfo xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
<!--ro, req, object, device information, attr:version{opt, string, protocolVersion}-->
<deviceName>
co gr
<deviceDescription>
s
<deviceLocation>
<!--ro, opt, string, device location, range:[1,128]-->hangzhou
</deviceLocation>
<deviceStatus>
os fr
<!--ro, opt, object, error status details, desc:it is valid only when deviceStatus is "abnormal"-->
<hardDiskFull>
el .c
</ipaddrConflict>
Aj
<illegalAccess>
<!--ro, opt, bool, illegal access-->true
Co
</illegalAccess>
<recordError>
<!--ro, opt, bool, recording exception-->true
</recordError>
<raidLogicDiskError>
<!--ro, opt, bool, virtual disk exception in the array-->true
</raidLogicDiskError>
<spareWorkDeviceError>
<!--ro, opt, bool, hot spare active device exception-->true
</spareWorkDeviceError>
</DetailAbnormalStatus>
<systemContact>
<!--ro, opt, string, manufacturer, range:[1,32]-->STD-CGI
</systemContact>
<model>
<!--ro, req, string, device model, range:[1,64]-->iDS-9632NX-I8/X
</model>
<serialNumber>
<!--ro, req, string, device serial No., range:[1,48]-->iDS-9632NX-I8/X1620181209CCRRC77605411WCVU
</serialNumber>
<macAddress>
<!--ro, req, string, MAC address, range:[1,64]-->44:47:cc:c8:d9:e4
</macAddress>
<firmwareVersion>
<firmwareVersion>
<!--ro, req, string, device firmware version, range:[1,64]-->V4.1.40
</firmwareVersion>
<firmwareReleasedDate>
<!--ro, opt, string, Firmware Version-->2019-11-01
</firmwareReleasedDate>
<encoderVersion>
<!--ro, opt, string, device encoder version No., range:[1,32]-->V7.3
</encoderVersion>
<encoderReleasedDate>
<!--ro, opt, string, compile date of the device encoder version-->2019-11-02
</encoderReleasedDate>
<bootVersion>
<!--ro, opt, string, boot version, range:[1,16]-->V1.3.4
</bootVersion>
<bootReleasedDate>
m
<!--ro, opt, string, release date of boot-->2019-11-03
co
</bootReleasedDate>
<panelVersion>
<!--ro, opt, string, panel version, range:[1,32]-->V1.0
a.
</panelVersion>
<hardwareVersion>
<!--ro, opt, string, hardware version, range:[1,24]-->0x0
C. arc
</hardwareVersion>
<decoderVersion>
<!--ro, opt, string, device decoder version, range:[1,32]-->V1.0
</decoderVersion>
s, em
<decoderReleasedDate>
<!--ro, opt, string, compile date of the device decoder version-->2019-01-01
A
</decoderReleasedDate>
no fr
<softwareVersion>
<!--ro, opt, string, software version, range:[1,32]-->V1.23
ri on
</softwareVersion>
<capacity>
<!--ro, opt, int, device capacity, range:[1,10240], desc:unit), " MB-->1
Ma oc
</capacity>
<usedCapacity>
<!--ro, opt, int, used capacity of the device, range:[1,10240], desc:unit: MB-->1
up
</usedCapacity>
<subDeviceType>
co gr
<!--ro, opt, enum, device sub type, subType:string, desc:"accessControlTerminal" (access control terminal; it is valid when the value of deviceType is
"ACS"), "attendanceCheckDevice" (attendance check devices; it is valid when the value of deviceType is "ACS"), "multiChannelAccessController" (multi-channel
access controller; it is valid when the value of deviceType is "ACS"), "personAndIdCardDevice" (person and ID card device; it is valid when the value of
es a@
deviceType is "ACS"), "doorStation" (door station; it is valid when the value of deviceType is "VIS"), "indoor" (indoor station; it is valid when the value
of deviceType is "VIS"), "mainStation" (main station; it is valid when the value of deviceType is "VIS"), "dropGate" (swing barrier; it is valid when the
value of deviceType is "PersonnelChannel"), "wingGate" (flap barrier; it is valid when the value of deviceType is "PersonnelChannel"), "threeRollerGate"
Fr rc
<telecontrolID>
<!--ro, opt, int, remote control ID, range:[1,255]-->1
</telecontrolID>
<supportBeep>
<!--ro, opt, bool, whether to support buzzer-->true
os fr
</supportBeep>
<supportVideoLoss>
ad on
<localZoneNum>
<!--ro, opt, int, number of local zones, range:[0,16]-->1
</localZoneNum>
im
<alarmOutNum>
<!--ro, opt, int, number of alarm outputs, range:[0,16]-->1
ng
</alarmOutNum>
Aj
<alarmInNum>
Co
m
</subversion>
co
<upgradeversion>
<!--ro, opt, int, updated version No., range:[1,255]-->1
</upgradeversion>
a.
<customizeversion>
<!--ro, opt, int, customized version No., range:[1,255]-->1
C. arc
</customizeversion>
<companyName>
<!--ro, opt, string, manufacturer name, range:[1,32]-->test
</companyName>
s, em
<copyright>
<!--ro, opt, string, copyright Information, range:[1,32]-->test
A
</copyright>
no fr
<systemName>
<!--ro, opt, enum, storage system name, subType:string, desc:"storageManagement" (storage management system), "distributedStorageManagement"
(distributed storage management system)-->storageManagement
ri on
</systemName>
<systemStatus>
Ma oc
<!--ro, opt, enum, system status, subType:string, desc:“configured”, “unConfigured” (not configured)-->configured
</systemStatus>
<isLeaderDevice>
up
<!--ro, opt, bool, whether it is the corresponding device of the resource IP address-->true
</isLeaderDevice>
<clusterVersion>
co gr
<!--ro, opt, string, system cluster version, range:[1,32], desc:this node is valid when the value of isLeaderDevice is true-->test
</clusterVersion>
<centralStorageVersion>
es a@
<powerOnMode>
s
<!--ro, opt, enum, startup mode, subType:string, desc:“button” (press button to power on), “adapter” (connect adapter to power on)-->button
</powerOnMode>
y ema
<customizedInfo>
<!--ro, opt, string, customized project No., range:[1,32], desc:no value will be returned if it is baseline device. custom project No. will be returned
if is custom device-->test
</customizedInfo>
os fr
<verificationCode>
<!--ro, opt, string, device verification code-->test
</verificationCode>
ad on
<supportUrl>
<!--ro, opt, string, service portal-->test
el .c
</supportUrl>
<subSerialNumber>
<!--ro, opt, string, sub serial No.-->test
ez
</subSerialNumber>
<languageType opt="chinese,english,spanish,portuguese,italian,french,russian,turkish,greek,czech,brazilianPortuguese">
<!--ro, opt, enum, language type, subType:string, attr:opt{req, string}, desc:"chinese", "english", "spanish", "portuguese", "italian", "french",
en
"russian", "turkish", "greek", "czech", "brazilianPortuguese", "slovenian", "swedish", "norwegian", "romanian", "danish", "german", "polish", "dutch",
"hungarian", "slovak", "serbian", "southAmericanSpanish", "ukrainian", "croatian", "irish", "bulgarian", "hebrew", "thai", "indonesian", "arabic",
im
<DockStation>
Aj
m
<confDeviceIdPrefix>
co
<!--ro, opt, bool, whether the meeting uses the device name as its prefix-->true
</confDeviceIdPrefix>
<OEMCode>
a.
<!--ro, opt, enum, manufacturer OME code, subType:int, desc:1 (standard device), 0 (neutral device)-->1
</OEMCode>
<simpleAlgorithmVersion>
C. arc
<!--ro, opt, string, single algorithm version, desc:for fire control analyzer, it only supports one recognition algorithm if this node is returned to
the device information-->test
</simpleAlgorithmVersion>
<bootTime>
s, em
<!--ro, opt, datetime, system boot time, desc:ISO8601 time (TD format, local time and time difference)-->1970-01-01T08:00:00+08:00
</bootTime>
A
no fr
<intelligentAnalysisEngineModel>
<!--ro, opt, string, engine model, range:[1,32]-->test
</intelligentAnalysisEngineModel>
ri on
<marketType>
<!--ro, opt, enum, market type, subType:int, desc:0 (invalid), 1 (distribution type), 2 (industry type)-->0
</marketType>
Ma oc
<algorithmVersion>
<!--ro, opt, string, HCNN algorithm version, desc:its Data Dictionary is provided by research institute for matching the algorithm model-->test
</algorithmVersion>
up
<firmware>
<!--ro, opt, string, firmware version, desc:its Data Dictionary is provided by research institute for matching the algorithm model-->test
co gr
</firmware>
<engineList>
<!--ro, opt, object, list of device computing power, desc:it returns engine No. by number of GPU chips-->
es a@
<engine>
<!--ro, opt, int, returned engine No.-->1
</engine>
Fr rc
</engineList>
<platform>
y ema
<!--ro, opt, enum, platform type, subType:int, desc:1 (TX1), 2 (P4), 3 (3559), 4 (3519), 5 (3516)-->1
</platform>
<platformName>
<!--ro, opt, string, the platform where the algorithm runs, desc:"TX1/K81" (NVR), "KT" (data center), "H5" (front-end device), "H7" (front-end device),
os fr
<recycleRecordEnabled>
<!--ro, opt, bool, whether to enable overwritten recording-->false
</recycleRecordEnabled>
en
<decordChannelNums>
<!--ro, opt, int, number of decoding channels-->0
</decordChannelNums>
im
<VGANums>
<!--ro, opt, int, number of VGA ports-->0
ng
</VGANums>
Aj
<USBNums>
Co
m
<!--ro, opt, array, chip version information list, subType:object, range:[1,6]-->
<ChipVersionInfo>
co
<!--ro, opt, object, chip version information-->
<ID>
a.
<!--ro, req, int, chip No., range:[0,1], desc:the No.s of chips of different types can be duplicate. Users can distinguish them by chip type and
chip No. together-->1
</ID>
C. arc
<firmwareVersion>
<!--ro, req, string, chip firmware version, range:[0,64]-->1.0.0
</firmwareVersion>
<algorithmVersion>
s, em
<!--ro, opt, string-->1.0.0
</algorithmVersion>
A
<chipName>
no fr
<!--ro, opt, string, chip name, range:[0,32], desc:chip name-->test
</chipName>
</ChipVersionInfo>
ri on
</ChipVersionInfoList>
<personBagLinkAlgoEngineVersion>
Ma oc
<!--ro, opt, string, engine version of the person & package linkage module, range:[0,64], desc:this node is for analyzer (security inspection)-->1.0.0
</personBagLinkAlgoEngineVersion>
<BIOSVersion>
up
<!--ro, opt, string, BIOS version, range:[0,16]-->V1.3.4
</BIOSVersion>
<contactInformation>
co gr
<temperatureModuleVersionInfo>
<!--ro, opt, string, temperature measurement component version-->test
</temperatureModuleVersionInfo>
Fr rc
<PedestrianWarningModuleVersion>
<!--ro, opt, object, pedestrian warning module information, desc:this node is returned only for pedestrian warning devices-->
<pedestrianWarningMCUVersion>
y ema
</pedestrianWarningRadarVersion>
<pedestrianRangingModuleVersion>
ad on
<!--ro, opt, string, the program version of the pedestrian distance measurement module, range:[0,32]-->V1.3.4
</pedestrianRangingModuleVersion>
</PedestrianWarningModuleVersion>
el .c
<encryptionModel>
<!--ro, opt, string, device encryption model, range:[0,16], desc:it cannot be modified and is a hexadecimal digit currently-->test
</encryptionModel>
ez
<UWBVersion>
<!--ro, opt, string, UWB version, range:[1,32]-->V1.3.0
</UWBVersion>
en
<audioBoard>
<!--ro, opt, object, audio board information-->
im
<audioBoardModel>
<!--ro, opt, string, audio board model, range:[0,32], desc:currently only C8 and R8 are supported-->C8
ng
</audioBoardModel>
Aj
<audioBoardVersion>
<!--ro, opt, string, audio board version, range:[0,32]-->V1.0.0 build 211210
Co
</audioBoardVersion>
</audioBoard>
<materialScanAlgorithmVersion>
<!--ro, opt, string, material scanning algorithm version, range:[0,64], desc:material scanning algorithm version-->test
</materialScanAlgorithmVersion>
<regionVersion>
<!--ro, opt, enum, N/A, subType:string, desc:N/A-->basic
</regionVersion>
<productionDate>
<!--ro, opt, date, date of manufacture-->2022-04-02
</productionDate>
<wifiModuleMACAddress>
<!--ro, opt, string, Mac address of Wi-Fi module, range:[1,48]-->44:47:cc:c8:d9:e4
</wifiModuleMACAddress>
<displayInterfaceSize>
<!--ro, opt, float, display interface size, range:[0.0,16.0], unit:in, desc:diagonal length of display interface for video intercom devices-->0
</displayInterfaceSize>
<releaseRegion>
<!--ro, opt, enum, N/A, subType:string, desc:N/A-->China
</releaseRegion>
<shortSerialNumber>
<!--ro, opt, string, short serial No., range:[1,9]-->test
</shortSerialNumber>
<audioVersion>
<!--ro, opt, string, audio version, range:[1,32]-->test
</audioVersion>
<communicationFrequency>
<!--ro, opt, enum, device wireless communication frequency, subType:string, desc:"433MHz", "868MHz"-->433MHz
</communicationFrequency>
<OSCoreVersionInfo>
<!--ro, opt, object, OS/core component version information-->
<OSCoreVersion>
<!--ro, req, string, OS/core component version No., range:[1,32]-->1.0.0
</OSCoreVersion>
<minisysVersion>
<!--ro, opt, string, minisys version No., range:[1,32]-->1.0.0
</minisysVersion>
<networkServiceVersion>
<!--ro, opt, string, network service version No., range:[1,32]-->1.0.0
m
</networkServiceVersion>
co
<upgradeServiceVersion>
<!--ro, opt, string, upgrade service version No., range:[1,32]-->1.0.0
</upgradeServiceVersion>
a.
</OSCoreVersionInfo>
<xTransVersion>
<!--ro, opt, string, version No. of xtrans chip communication component, range:[1,32], desc:this node is for analyzer-->1.0.0
C. arc
</xTransVersion>
<deviceMaintenanceInfoQRCode>
<!--ro, opt, string, range:[0,64]-->http://support.hikvision.com:8085/?QD=02&SN=序列号"
</deviceMaintenanceInfoQRCode>
s, em
<batteryFirmwareVersion>
A
<!--ro, opt, string, range:[1,32]-->1.0.0
no fr
</batteryFirmwareVersion>
<radarVideoMapInfoList>
<!--ro, opt, array, subType:object, range:[1,32]-->
ri on
<radarVideoMapInfo>
<!--ro, opt, object-->
<devIndex>
Ma oc
<!--ro, opt, string, range:[0,64]-->123456789
</devIndex>
up
<radarVideoMapVersion>
<!--ro, opt, string, range:[1,32]-->1.0.0
</radarVideoMapVersion>
co gr
</radarVideoMapInfo>
</radarVideoMapInfoList>
<screenVersionInfo>
es a@
</screenAndroidOSVersion>
<screenAndroidAPPVersion>
y ema
<movementSoftVersion>
<!--ro, opt, string, range:[1,32]-->test
</movementSoftVersion>
en
<movementHardVersion>
<!--ro, opt, string, range:[1,32]-->test
</movementHardVersion>
im
</DeviceInfo>
ng
Aj
Co
m
<!--ro, opt, enum, device status, subType:string, desc:"normal", "abnormal"-->normal
co
</deviceStatus>
<DetailAbnormalStatus>
<!--ro, opt, object, error status details,it is valid only when deviceStatus is "abnormal", desc:it is valid only when deviceStatus is abnormal-->
a.
<hardDiskFull>
<!--ro, opt, bool, read-only,whether the error of "HDD full" occurred: "true"-yes,"false"-no-->true
C. arc
</hardDiskFull>
<hardDiskError>
<!--ro, opt, bool, read-only,whether the error of "HDD error" occurred: "true"-yes,"false"-no-->true
</hardDiskError>
s, em
<ethernetBroken>
<!--ro, opt, bool, read-only,whether the error of "network disconnected" occurred: "true"-yes,"false"-no-->true
A
</ethernetBroken>
no fr
<ipaddrConflict>
<!--ro, opt, bool, IP address is conflicted.-->true
</ipaddrConflict>
ri on
<illegalAccess>
<!--ro, opt, bool, illegal access-->true
</illegalAccess>
Ma oc
<recordError>
<!--ro, opt, bool, read-only,whether the error of "recording exception" occurred: "true"-yes,"false"-no-->true
up
</recordError>
<raidLogicDiskError>
<!--ro, opt, bool, read-only,whether the error of "RAID exception" occurred: "true"-yes,"false"-no-->true
co gr
</raidLogicDiskError>
<spareWorkDeviceError>
<!--ro, opt, bool, read-only,whether the error of "working device exception" occurred: "true"-yes,"false"-no-->true
es a@
</spareWorkDeviceError>
</DetailAbnormalStatus>
Fr rc
<systemContact>
s
<model>
<!--ro, req, string, device model, range:[1,64]-->iDS-9632NX-I8/X
</model>
<serialNumber>
os fr
<firmwareVersion>
<!--ro, req, string, device firmware version, range:[1,64]-->V4.1.40
</firmwareVersion>
ez
<firmwareReleasedDate>
<!--ro, opt, string, compile date of the device firmware version-->2019-11-01
</firmwareReleasedDate>
en
<encoderVersion>
<!--ro, opt, string, device encoder version No., range:[1,32]-->V7.3
im
</encoderVersion>
<encoderReleasedDate>
ng
</encoderReleasedDate>
<bootVersion>
Co
m
<!--ro, opt, int, actual number of floors,which is between 1 and 128, range:[1,128]-->1
co
</actualFloorNum>
<localZoneNum>
<!--ro, opt, int, number of zones (local), range:[0,16]-->1
a.
</localZoneNum>
<alarmOutNum>
<!--ro, opt, int, number of alarm outputs, range:[0,16]-->1
C. arc
</alarmOutNum>
<distanceResolution>
<!--ro, opt, float, distance resolution, range:[0.000,0.999]-->0.000
</distanceResolution>
s, em
<angleResolution>
<!--ro, opt, float, angle resolution, range:[0.000,0.999]-->0.000
A
</angleResolution>
no fr
<speedResolution>
<!--ro, opt, float, resolution of speed,unit: m/s, range:[0.000,0.999]-->0.000
ri on
</speedResolution>
<detectDistance>
<!--ro, opt, float, detection distance, range:[0.000,0.999]-->0.000
Ma oc
</detectDistance>
<relayNum>
<!--ro, opt, int, number of relays (local), range:[0,16]-->1
up
</relayNum>
<electroLockNum>
co gr
<RS485Num>
<!--ro, opt, int, number of 485, range:[0,16]-->1
</RS485Num>
<radarVersion>
os fr
<upgradeversion>
<!--ro, opt, int, update version No., range:[1,255]-->1
</upgradeversion>
im
<customizeversion>
<!--ro, opt, int, custom version No., range:[1,255]-->1
ng
</customizeversion>
Aj
<companyName>
Co
m
"hungarian", "slovak", "serbian", "southAmericanSpanish", "ukrainian", "croatian", "irish", "bulgarian", "hebrew", "thai", "indonesian", "arabic",
co
"traditionalChinese"-->chinese
</languageType>
<DockStation>
a.
<!--ro, opt, object, dock station configuration-->
<Platform>
C. arc
<!--ro, opt, object, platform configuration-->
<ip>
<!--ro, opt, string, IP address, range:[1,32]-->test
</ip>
s, em
<port>
<!--ro, opt, int, communication port, range:[1,65535]-->1
A
</port>
no fr
<userName>
<!--ro, req, string, user name,which is used for the dock station to log in to platform, range:[1,32]-->test
</userName>
ri on
<password>
<!--ro, req, string, password, range:[1,16]-->test
Ma oc
</password>
</Platform>
<centralStorageBackupEnabled>
up
<!--ro, opt, bool, whether to enable central storage backup-->true
</centralStorageBackupEnabled>
</DockStation>
co gr
<webVersion>
<!--ro, opt, string, Web version No., range:[1,32]-->test
es a@
</webVersion>
<deviceRFProgramVersion>
<!--ro, opt, string, device RF program version, range:[1,32]-->test
Fr rc
</deviceRFProgramVersion>
s
<securityModuleSerialNo>
<!--ro, opt, string, security module serial No., range:[1,32]-->test
y ema
</securityModuleSerialNo>
<securityModuleVersion>
<!--ro, opt, string, security module version, range:[1,32]-->test
</securityModuleVersion>
os fr
<securityChipVersion>
<!--ro, opt, string, security chip version, range:[1,32]-->test
</securityChipVersion>
ad on
<securityModuleKeyVersion>
<!--ro, opt, string, security module key version, range:[1,32]-->test
el .c
</securityModuleKeyVersion>
<UIDLampRecognition>
<!--ro, opt, object, recognize the device information by UID-->
ez
<enabled>
<!--ro, opt, bool, whether to enable the function-->true
</enabled>
en
</UIDLampRecognition>
<confDeviceIdPrefix>
im
<!--ro, opt, bool, whether the meeting uses the device name as its prefix-->true
</confDeviceIdPrefix>
ng
<OEMCode>
Aj
<!--ro, opt, enum, manufacturer OME code, subType:int, desc:1 (standard device), 0 (neutral device)-->1
</OEMCode>
Co
<simpleAlgorithmVersion>
<!--ro, opt, string, single algorithm version, desc:for fire control analyzer, it only supports one recognition algorithm if this node is returned to
the device information-->test
</simpleAlgorithmVersion>
<bootTime>
<!--ro, opt, datetime, boot time-->1970-01-01T00:00:00+08:00
</bootTime>
<intelligentAnalysisEngineModel>
<!--ro, opt, string, engine model, range:[1,32]-->test
</intelligentAnalysisEngineModel>
<marketType>
<!--ro, opt, enum, market type, subType:int, desc:0 (invalid), 1 (distribution type), 2 (industry type)-->0
</marketType>
<algorithmVersion>
<!--ro, opt, string, HCNN algorithm version, desc:its Data Dictionary is provided by research institute for matching the algorithm model-->test
</algorithmVersion>
<firmware>
<!--ro, opt, string, firmware version, desc:its Data Dictionary is provided by research institute for matching the algorithm model-->test
</firmware>
<engineList>
<!--ro, opt, object, list of device computing power, desc:it returns engine No. by number of GPU chips-->
<engine>
<!--ro, opt, int, returned engine No.-->1
</engine>
</engineList>
<platform>
<!--ro, opt, enum, platform type, subType:int, desc:1 (TX1), 2 (P4), 3 (3559), 4 (3519), 5 (3516)-->1
</platform>
<platformName>
<!--ro, opt, string, the platform where the algorithm runs, desc:TX1/K81: NVR, KT: data center,H5: front-end device, H7: front-end device, K82: NVR, G3:
front-end device-->test
</platformName>
<touchScreenVersionInfo>
<!--ro, opt, string, touch screen module version-->test
</touchScreenVersionInfo>
<protocolFileURL>
<!--ro, opt, string, protocol notice URI, range:[1,32]-->test
</protocolFileURL>
<recycleRecordEnabled>
m
<!--ro, opt, bool, whether to enable overwritten recording-->false
co
</recycleRecordEnabled>
<decordChannelNums>
<!--ro, opt, int, number of decoding channels-->0
a.
</decordChannelNums>
<VGANums>
<!--ro, opt, int, number of VGA ports-->0
C. arc
</VGANums>
<USBNums>
<!--ro, opt, int, number of USB ports-->0
</USBNums>
s, em
<auxoutNums>
A
<!--ro, opt, int, number of auxiliary ports-->0
no fr
</auxoutNums>
<expansionBoardVersion>
<!--ro, opt, string, extension board version information, range:[1,32]-->test
ri on
</expansionBoardVersion>
<initWizzardDisplay>
<!--ro, opt, bool, whether it displays initialization wizard, desc:it is only used for displaying configuration of applications integrated to the
Ma oc
wizard, such as local GUI and Hik-Connect app by default, the value is true. it is false after the local GUI configures the wizard-->true
</initWizzardDisplay>
up
<beaconID>
<!--ro, opt, string, device RF program version No., range:[0,32], desc:by default, it is the current value-->test
</beaconID>
co gr
<isResetDeviceLanguage>
<!--ro, opt, bool, whether it supports resetting the device language (only for Admin and Installer), desc:if the value is true, the Hik-Connect app and
the Web Client display device information in the target language; if the value is false, the Hik-Connect app and the Web Client display the original device
es a@
information-->false
</isResetDeviceLanguage>
<dispalyNum>
Fr rc
<bspVersion>
<!--ro, opt, string, BSP software version-->test
</bspVersion>
<dspVersion>
os fr
<wiegandOutNum>
<!--ro, opt, int, number of Wiegand outputs, range:[0,1]-->1
</wiegandOutNum>
en
<ChipVersionInfoList>
<!--ro, opt, array, subType:object, range:[1,6]-->
<ChipVersionInfo>
im
<firmwareVersion>
<!--ro, req, string, range:[0,64]-->1.0.0
</firmwareVersion>
</ChipVersionInfo>
</ChipVersionInfoList>
<personBagLinkAlgoEngineVersion>
<!--ro, opt, string, engine version of the person & package linkage module, range:[0,64], desc:this node is for analyzer (security inspection)-->1.0.0
</personBagLinkAlgoEngineVersion>
<BIOSVersion>
<!--ro, opt, string, BIOS version, range:[0,16]-->test
</BIOSVersion>
<contactInformation>
<!--ro, opt, string, contact information, range:[0,64]-->test
</contactInformation>
<materialScanAlgorithmVersion>
<!--opt, string, material scan algorithm version, range:[0,64], desc:algorithm version of imaging radar panel for material scan-->test
</materialScanAlgorithmVersion>
<audioVersion>
<!--ro, opt, string, range:[1,32]-->test
</audioVersion>
</DeviceInfo>
Response Message
m
"Invalid XML Content", "Reboot" (reboot device)-->OK
</statusString>
co
<subStatusCode>
<!--ro, req, string, sub status code, desc:sub status code-->OK
a.
</subStatusCode>
<description>
<!--ro, opt, string, range:[0,1024]-->badXmlFormat
C. arc
</description>
</ResponseStatus>
s, em
16.1.2.4 Get firmware code list
A
no fr
Request URL
ri on
GET /ISAPI/System/firmwareCodeV2?startIndex=<startIndex>&maxNumber=<maxNumber>
Ma oc
Query Parameter up
Parameter Parameter
Description
Name Type
co gr
To control the message size, the quantity of returned firmware IDs returned by device
es a@
depends on the client request. For example, if there are 100 firmware IDs of a device, and
startIndex string up to 32 IDs are allowed in every request, then the device returns only 32 IDs according to
Fr rc
startIndex=1&maxNumber=32
To control the message size, the quantity of returned firmware IDs returned by device
os fr
depends on the client request. For example, if there are 100 firmware IDs of a device, and
maxNumber string up to 32 IDs are allowed in every request, then the device returns only 32 IDs according to
ad on
startIndex=1&maxNumber=32
ez
Request Message
en
None
Response Message
im
ng
Aj
Co
<?xml version="1.0" encoding="UTF-8"?>
m
</version>
<channel>
co
<!--ro, opt, int, channel No., desc:this node is for IP channel-->1
</channel>
a.
<devTypeName>
<!--ro, opt, string, device model name which IP channel corresponds to, desc:device model name which IP channel corresponds to-->test
</devTypeName>
C. arc
<moduleType>
<!--ro, opt, enum, device component type, subType:string, desc:"cardReader" (card reader), "FPModule" (fingerprint module), "securityModule" (security
module), "extendModule" (I/O extended module), "channelController" (lane controller), "IRModule" (infrared module), "lampModule" (indicator module),
"elevatorController" (sub elevator controller), "FPAlgorithmProgram" (fingerprint algorithm programma of card reader), "dockStationHost" (dock station
s, em
host), "dockStationScreen" (dock station screen)-->cardReader
</moduleType>
A
<moduleID>
no fr
<!--ro, opt, int, device component No., desc:it depends on the value of moduleType-->1
</moduleID>
</FirmwareCode>
ri on
</FirmwareCodeList>
GET /ISAPI/Event/notification/subscribeEventCap
Fr rc
Query Parameter
y ema
None
Request Message
os fr
None
ad on
Response Message
el .c
</heartbeat>
Aj
<channelMode opt="all,list">
<!--ro, opt, enum, channel subscription mode, subType:string, attr:opt{req, string}, desc:"all" (subscribe to all channels), "list" (subscribe to
Co
m
"videoloss", "violationAlarm", "violentMotion"(violent motion detection), "yardTarry"(playground overstay detection), "AccessControllerEvent",
co
"IDCardInfoEvent", "FaceTemperatureMeasurementEvent", "QRCodeEvent"(QR code event of access control), "CertificateCaptureEvent"(person ID capture comparison
event), "UncertificateCompareEvent", "ConsumptionAndTransactionRecordEvent", "ConsumptionEvent", "TFS" (traffic enforcement event),
"TransactionRecordEvent", "HealthInfoSyncQuery" (health information search event), "SetMealQuery"(searching consumption set meals), "ConsumptionStatusQuery"
a.
(searching the consumption status), "certificateRevocation" (certificate expiry), "humanBodyComparison" (human body comparison),
"regionTargetNumberCounting" (regional target statistics)-->mixedTargetDetection
</type>
C. arc
<minorAlarm opt="0x400,0x401,0x402,0x403">
<!--ro, opt, string, minor alarm type, attr:opt{req, string}, desc:"IDCardInfoEvent" is required when the type of event is "AccessControllerEvent"--
>0x400,0x401
</minorAlarm>
s, em
<minorException opt="0x400,0x401,0x402,0x403">
<!--ro, opt, string, minor exception type, attr:opt{req, string}, desc:"IDCardInfoEvent" is required when the type of event is
A
"AccessControllerEvent"-->0x400,0x401
no fr
</minorException>
<minorOperation opt="0x400,0x401,0x402,0x403">
ri on
<!--ro, opt, string, minor operation type, attr:opt{req, string}, desc:"IDCardInfoEvent" is required when the type of event is
"AccessControllerEvent"-->0x400,0x401
</minorOperation>
Ma oc
<minorEvent opt="0x01,0x02,0x03,0x04">
<!--ro, opt, string, minor event type, attr:opt{req, string}, desc:"IDCardInfoEvent" is required when the type of event is "AccessControllerEvent"--
>0x400,0x401
up
</minorEvent>
<pictureURLType opt="binary,localURL,cloudStorageURL,multipart" def="cloudStorageURL">
co gr
<!--ro, opt, enum, alarm picture format, subType:string, attr:opt{req, string},def{req, string}, desc:"binary" (binary), "localURL" (device local
URL), "cloudStorageURL" (cloud storage URL)-->cloudStorageURL
</pictureURLType>
es a@
<channels>
<!--ro, opt, string, channel information linked to event, desc:it supports multiple channels, which are separated by commas-->1,2,3,4
</channels>
Fr rc
<ConferenceIDList size="1">
<!--ro, opt, array, video conference ID list, subType:object, attr:size{req, int}, desc:when this node does not exist, it indicates to subscribe to
y ema
all conferences-->
<ConferenceID min="1" max="32">
<!--ro, opt, string, ID of subscribed video conference, range:[1,32], attr:min{req, int},max{req, int}-->test
</ConferenceID>
os fr
</ConferenceIDList>
<uploadAllTarget opt="true,false">
<!--ro, opt, bool, whether to upload all detected targets, attr:opt{req, string}, desc:the default value is false. In perimeter protection, this
ad on
node is used for NVR to get all targets detected by the network camera-->false
</uploadAllTarget>
<uploadMEFData opt="true,false">
el .c
<!--ro, opt, bool, whether to upload the electronic fence data related to the event, attr:opt{req, string}, desc:true by default-->true
</uploadMEFData>
<minorType opt="success,failed">
ez
2. There is the requirement to only subscribe to the failure or success of an event, for example, security inspection at the railway station and the hotel
check-in.-->success
</minorType>
im
</childDevID>
</childDevIDList>
<radarChannels>
<!--ro, opt, string-->1,2,3,4
</radarChannels>
<audioChannels>
<!--ro, opt, string-->1,2,3,4
</audioChannels>
</Event>
</EventList>
<channels>
<!--ro, opt, string, unified arming of all channels, desc:if this node is applied, <channels> in <Event> will be invalid. If the value of <channelMode>
is all, this node should not be applied. To arm a part of channels, you can list the channel numbers. Multiple channels are separated by commas-->1,2,3,4
</channels>
<pictureURLType opt="binary,localURL,cloudStorageURL,multipart" def="cloudStorageURL">
<!--ro, opt, enum, format unified configuration of alarm pictures, subType:string, attr:opt{req, string},def{req, string}, desc:"binary", "localURL"
(device local URL), "cloudStorageURL" (cloud storage URL). The node indicates the upload mode of all event pictures. If the node is applied, the
<pictureURLType> of the <Event> will be invalid. If the node is not applied, the pictures are uploaded in the default mode. The default data type of
uploaded pictures for front-end devices is binary, and for back-end devices is local URL of the device-->cloudStorageURL
</pictureURLType>
<ChangedUploadSub>
<!--ro, opt, object, subscribe to the uploaded information of device status changed event-->
<interval>
<!--ro, opt, int, the lifecycle of arming GUID, range:[1,300], unit:s, desc:the default value is 5 (unit: minute). Within the interval, if the client
<!--ro, opt, int, the lifecycle of arming GUID, range:[1,300], unit:s, desc:the default value is 5 (unit: minute). Within the interval, if the client
software does not reconnect to the device, a new GUID will be generated by the device-->300
</interval>
<StatusSub>
<!--ro, opt, bool, status information-->true
<all>
<!--ro, opt, bool, whether to subscribe to the changing status of all channels, HDDs, and capability sets-->false
</all>
<channel>
<!--ro, opt, bool, status of subscribed channels, desc:reporting is not required if all is true-->true
</channel>
<hd>
<!--ro, opt, bool, subscribe to HDD status, desc:reporting is not required if all is true-->true
</hd>
<capability>
<!--ro, opt, bool, subscribe to changing status of capability set, desc:reporting is not required if all is true-->true
</capability>
m
<ChanStatus>
co
<!--ro, opt, object, channel status subscription of uploaded device status changed event, desc:it is valid when the value of <channel> is true. When
this node does not exist, it indicates to upload all channel status changes. For example, the recording status is uploaded frequently, and the platform
focuses more on the device online status and arming status, thus the recording status needs to be unsubscribed-->
a.
<online opt="true,false">
<!--ro, opt, bool, whether the channel online status is subscribed, attr:opt{req, string}, desc:if this node does not exist, it indicates there
C. arc
will be no related alarm-->true
</online>
<record opt="true,false">
<!--ro, opt, bool, whether the recording status (the device is recording) is subscribed, attr:opt{req, string}, desc:if this node does not exist,
s, em
it indicates there will be no related alarm-->true
</record>
A
<recordStatus opt="true,false">
no fr
<!--ro, opt, bool, whether the recording status is subscribed, attr:opt{req, string}, desc:if this node does not exist, it indicates there will be
no related alarm-->true
</recordStatus>
ri on
<signal opt="true,false">
<!--ro, opt, bool, whether the signal status is subscribed, attr:opt{req, string}, desc:if this node does not exist, it indicates there will be no
Ma oc
related alarm-->true
</signal>
<arming opt="true,false">
up
<!--ro, opt, bool, whether the camera arming status (armed by NVR) is subscribed, attr:opt{req, string}, desc:if this node does not exist, it
indicates there will be no related alarm-->true
</arming>
co gr
</ChanStatus>
</StatusSub>
es a@
</ChangedUploadSub>
<identityKey max="64">
<!--ro, opt, string, subscription connection interaction key, range:[1,64], attr:max{req, int}, desc:N/A-->test
Fr rc
</identityKey>
s
<ConferenceIDList size="1">
<!--ro, opt, array, video conference ID list, subType:object, attr:size{req, int}-->
y ema
<isSupportModifySubscribeEvent>
<!--ro, opt, bool, whether the device supports the management of arming subscription, desc:related API: /ISAPI/Event/notification/subscribeEvent/<ID>--
>true
ad on
</isSupportModifySubscribeEvent>
<subscribeEventID min="1" max="128">
el .c
<!--ro, opt, string, custom subscription ID. The platform should guarantee the uniqueness of ID when applying it. The automatic network replenishment of
events will be enabled by default after the node is applied, range:[1,128], attr:min{req, int},max{req, int}, desc:when an event/alarm is subscribed
(related URL: POST /ISAPI/Event/notification/subscribeEvent), if this node is applied, it can be used to replace <id> (subscription ID) returned in message
ez
SubscribeEventResponse-->test
</subscribeEventID>
<level opt="high,middle,low">
en
<!--ro, opt, enum, arming level, subType:string, attr:opt{req, string}, desc:"high" (default value), "middle", "low"-->high
</level>
im
<middleLevelPictureEnabeld opt="true,false">
<!--ro, opt, bool, whether to enable picture uploading for middle-level arming, attr:opt{req, string}, desc:the default value is true-->true
ng
</middleLevelPictureEnabeld>
Aj
<deployID opt="1,2">
<!--ro, opt, enum, arming type, subType:int, attr:opt{req, string}, desc:0 (by client software), 1 (real-time)-->0
Co
</deployID>
<childDevIDList min="1" max="8">
<!--ro, opt, array, subType:object, attr:min{req, int},max{req, int}-->
<childDevID min="1" max="128">
<!--ro, opt, string, range:[1,128], attr:min{req, int},max{req, int}-->test
</childDevID>
</childDevIDList>
<SubscribeISAPIMessage>
<!--ro, opt, object-->
<eventType opt="AIOP_Video,AIOP_Polling_Video,AIOP_Picture,AIOP_Polling_Snap,TPS">
<!--ro, req, enum, subType:string, attr:opt{req, string}-->AIOP_Video
</eventType>
<eventPicUploadType opt="AIOP_Picture">
<!--ro, opt, enum, subType:string, attr:opt{req, string}-->AIOP_Picture
</eventPicUploadType>
</SubscribeISAPIMessage>
<radarChannels>
<!--ro, opt, string-->1,2,3,4
</radarChannels>
<qosLevel>
<!--ro, opt, object-->
<defaultLevel opt="0,1,2">
<!--ro, req, enum, subType:int, attr:opt{req, string}-->0
</defaultLevel>
<eventList>
<!--ro, opt, array, subType:object-->
<event>
<!--ro, opt, object-->
<eventType>
<!--ro, req, string, range:[0,64]-->test
</eventType>
<level opt="0,1,2">
<!--ro, req, enum, subType:int, attr:opt{req, string}-->1
</level>
<channels>
<!--ro, opt, string, range:[0,256]-->0,1,2
</channels>
</event>
</eventList>
m
</qosLevel>
co
<isSupportUnSubscribeEvent>
<!--ro, opt, bool-->true
</isSupportUnSubscribeEvent>
a.
<audioChannels>
<!--ro, opt, string-->1,2,3,4
</audioChannels>
C. arc
</SubscribeEventCap>
s, em
16.1.3.2 Cancel subscribing alarm/event
A
no fr
Request URL
ri on
PUT /ISAPI/Event/notification/unSubscribeEvent?ID=<subscribeEventID>
Query Parameter
Ma oc
Parameter Name Parameter Type Description
up
subscribeEventID string --
co gr
Request Message
es a@
None
Fr rc
Response Message
y ema
<!--ro, req, enum, status code, subType:int, desc:0 (OK), 1 (OK), 2 (Device Busy), 3 (Device Error), 4 (Invalid Operation), 5 (Invalid XML Format), 6
(Invalid XML Content), 7 (Reboot Required)-->0
</statusCode>
ez
<statusString>
<!--ro, req, enum, status information, subType:string, desc:"OK" (succeeded), "Device Busy", "Device Error", "Invalid Operation", "Invalid XML Format",
en
<!--ro, req, string, sub status code, which describes the error in details, desc:sub status code, which describes the error in details-->OK
</subStatusCode>
ng
</ResponseStatus>
Aj
Co
m
<!--ro, opt, enum, transmission communication protocol type, subType:string, desc:when ISAPI protocol is transmitted via HCNetSDK, the channel No. is
the video channel No. of private protocol. When ISAPI protocol is transmitted via EZ protocol, the channel No. is the video channel No. of EZ protocol. When
co
ISAPI protocol is transmitted via ISUP, the channel No. is the video channel No. of ISUP-->HTTP
</protocol>
a.
<macAddress>
<!--ro, opt, string, MAC address-->01:17:24:45:D9:F4
</macAddress>
C. arc
<channelID>
<!--ro, opt, int, channel No. of the device that triggers the alarm, desc:video channel No. that triggers the alarm-->1
</channelID>
<dateTime>
s, em
<!--ro, req, datetime, alarm trigger time-->2004-05-03T17:30:08+08:00
</dateTime>
A
<activePostCount>
no fr
<!--ro, opt, int, times that the same alarm has been uploaded, desc:event triggering frequency-->1
</activePostCount>
<eventType>
ri on
<!--ro, req, string, event type-->heartBeat
</eventType>
Ma oc
<eventState>
<!--ro, req, enum, event status, subType:string, desc:for durative event: "active" (valid), "inactive" (invalid)-->active
</eventState>
up
<eventDescription>
<!--ro, req, string, event description-->heartBeat
</eventDescription>
co gr
<channelName>
<!--ro, opt, string, channel name, range:[1,64]-->test
es a@
</channelName>
<deviceID>
<!--ro, opt, string, device ID, desc:it should be returned for ISUP alarms, e.g., test0123 (Ehome2.0, Ehome4.0, and ISUP5.0)-->12345
Fr rc
</deviceID>
</EventNotificationAlert>
y ema
Request URL
el .c
GET /ISAPI/System/IO
ez
Query Parameter
None
en
Request Message
im
None
ng
Aj
Response Message
Co
m
</CombinationAlarm>
co
</IOInputPort>
</IOInputPortList>
<IOOutputPortList>
a.
<!--ro, opt, object-->
<IOOutputPort>
<!--ro, opt, object-->
C. arc
<id>
<!--ro, req, int-->1
</id>
<IODescriptor>
s, em
<!--ro, opt, object-->
<userName>
A
<!--ro, req, string, user name-->name
no fr
</userName>
<addressingFormatType>
ri on
<!--ro, req, enum, address type, subType:string, desc:"ipaddress", "hostname"-->ipaddress
</addressingFormatType>
<hostName>
Ma oc
<!--ro, opt, string, host name-->hostName
</hostName>
<ipAddress>
up
<!--ro, opt, string, IPv4 address-->172.6.64.7
</ipAddress>
co gr
<ipv6Address>
<!--ro, opt, string, IPv6 address-->1080:0:0:0:8:800:200C:417A
</ipv6Address>
es a@
<managePortNo>
<!--ro, req, int-->1
</managePortNo>
Fr rc
<innerIOPortID>
<!--ro, req, int-->1
y ema
</innerIOPortID>
</IODescriptor>
<PowerOnState>
<!--ro, req, object-->
os fr
<defaultState>
<!--ro, req, enum, subType:string, desc:"high"-high level, "low"-low level. Both the high level and the low level can trigger continuously-->high
</defaultState>
ad on
<outputState>
<!--ro, req, enum, subType:string-->high
</outputState>
el .c
<pulseDuration>
<!--ro, opt, int-->1000
</pulseDuration>
ez
</PowerOnState>
<name>
en
<normalStatus>
Aj
</normalStatus>
<enabled>
<!--ro, opt, bool, whether to enable the function-->true
</enabled>
<IOType>
<!--ro, opt, enum, subType:string-->local
</IOType>
</IOOutputPort>
</IOOutputPortList>
</IOPortList>
m
<!--ro, opt, int, number of device local outputs-->0
co
</IOOutputPortNums>
<isSupportStrobeLamp>
<!--ro, opt, bool, whether the device supports configuring the output of the gate's light, desc:whether the device supports configuring the output of
a.
the gate's light-->true
</isSupportStrobeLamp>
<SoftIOInputPortNums>
C. arc
<!--ro, opt, int, number of device soft inputs, desc:number of device soft inputs-->0
</SoftIOInputPortNums>
<isSupportIOOutputAdvanceParameter>
<!--ro, opt, bool, whether supports configuration of alarm input advanced parameters, desc:related URI:
s, em
/ISAPI/System/IO/outputs/advanceParameter/capabilities?format=json-->true
</isSupportIOOutputAdvanceParameter>
A
no fr
<isSupportSetAllIOOutput>
<!--ro, opt, bool, whether the device supports configuring all outputs, desc:whether the device supports configuring all outputs-->true
</isSupportSetAllIOOutput>
ri on
<isSupportCombinationAlarm>
<!--ro, opt, bool, whether supports combined alarm, desc:see details in related URI: /ISAPI/System/IO/inputs/capabilities中CombinationAlarmCap-->true
</isSupportCombinationAlarm>
Ma oc
<enabledIOOutputPortNums>
<!--ro, opt, int, number of enabled alarm output ports-->0
</enabledIOOutputPortNums>
up
<isSupportAlarmKeyParam>
<!--ro, opt, bool, whether supports configuring the physical keys of one-push alarm, desc:related URI:
co gr
/ISAPI/System/IO/inputs/<IOInputID>/AlarmKeyParam/capabilities?format=json-->true
</isSupportAlarmKeyParam>
</IOCap>
es a@
Fr rc
GET /ISAPI/System/IO/inputs
ad on
Query Parameter
el .c
None
ez
Request Message
None
en
Response Message
im
ng
Aj
Co
<?xml version="1.0" encoding="UTF-8"?>
m
level-->high
</triggering>
co
<name>
<!--ro, opt, string, I/O port name-->name
a.
</name>
<IOUseType>
<!--ro, opt, enum, subType:string-->disable
C. arc
</IOUseType>
<inputType>
<!--ro, opt, enum, input mode, subType:string, desc:input mode-->switch
</inputType>
s, em
<CombinationAlarm>
<!--ro, opt, object-->
A
<channel>
no fr
<!--ro, req, int, channel No.-->1
</channel>
<EventTypeList>
ri on
<!--ro, req, array, event type list, subType:object-->
<eventType>
Ma oc
<!--ro, opt, enum, event type, subType:string, desc:"VMD" (motion detection), "shelteralarm" (video tampering alarm), "facedetection" (face
detection), "fielddetection" (intrusion detection), "linedetection" (line crossing detection), "regionEntrance" (region entrance), "regionExitings" (region
exiting), "loitering"(loitering detection), "group"(people gathering), "rapidMove" (fast moving), "parking" (parking detection), "unattendedBaggage"
up
(unattended baggage), "attendedBaggage" (object removal), "ANPR" (license plate recognition), "audioexception"(audio exception detection),
"barrierGateStatus" (barrier status)-->VMD
</eventType>
co gr
</EventTypeList>
</CombinationAlarm>
es a@
</IOInputPort>
</IOInputPortList>
Fr rc
Request URL
ad on
POST /ISAPI/ContentMgmt/logSearch
el .c
Query Parameter
None
ez
Request Message
en
im
ng
Aj
Co
<?xml version="1.0" encoding="UTF-8"?>
m
<metaId>
<!--req, enum, log type, subType:string, desc:{log.std-cgi.com/<majorType>/<minorType>}, <majorType>-major type of log, <minorType>-minor type of log,
co
see remarks for detailed log type definitions; "log.std-cgi.com/Alarm/methaneConcentrationException", "log.std-
cgi.com/Alarm/methaneLightIntensityException", "log.std-cgi.com/Alarm/fishingShipDetection"-->log.std-cgi.com/Alarm/methaneConcentrationException
a.
</metaId>
<timeSpanList>
<!--opt, array, list of time periods, subType:object, desc:list of time periods-->
C. arc
<timeSpan>
<!--opt, object, time period, desc:time period-->
<startTime>
<!--req, datetime, start time-->1970-01-01T00:00:00Z
s, em
</startTime>
<endTime>
A
<!--req, datetime, end time-->1970-01-01T01:00:00Z
no fr
</endTime>
</timeSpan>
</timeSpanList>
ri on
<searchResultPostion>
<!--opt, int, the start position of the search result, desc:the start position of the search result in the result list-->100
Ma oc
</searchResultPostion>
<maxResults>
<!--opt, int, the maximum number of records supported in this search, range:[0,100]-->0
up
</maxResults>
<onlySmart>
<!--opt, bool, whether to search for logs with smart information, desc:the value of this node is false by default-->false
co gr
</onlySmart>
<logLevel>
es a@
Response Message
os fr
the previous one. If they are the same, the search record will be stored in the device for faster search next time-->test
</searchID>
<responseStatus>
en
<responseStatusStrg>
<!--ro, req, enum, search status string, subType:string, desc:"OK" (search completed), "NO MATCHES" (no matched data), "MORE" (more data waiting to be
ng
searched)-->OK
Aj
</responseStatusStrg>
<totalMatches>
Co
m
<VisAlarmRecord>
co
<!--ro, opt, object, video intercom alarm record-->
<type>
<!--ro, req, enum, alarm type, subType:string, desc:"zone" (zone alarm), "dismantle" (tampering alarm), "hijack" (duress alarm), "passwordErr"
a.
(password error alarm), "doorNotOpen" (unlocking-door-failed alarm), "doorNotClose" (locking-door-failed alarm), "SOS" (SOS alarm), "callReq" (device call
request alarm), "smartLockHijackFingerPrint" (smart lock duress alarm (fingerprint)), ‘smartLockHijackPassword" (smart lock duress alarm (password)),
"smartLockBreaking" (forced-open door alarm), "smartLockBeLocked" (lock-up door alarm), "smartLockLowBattery" (smart-lock-battery-low alarm)-->zone
C. arc
</type>
</VisAlarmRecord>
</logInfo>
<ipAddress>
s, em
<!--ro, opt, string, device IP address, range:[1,32]-->10.20.30.10
</ipAddress>
A
no fr
<object>
<!--ro, opt, enum, operation object, subType:string, desc:"network", "keypad", "remoteCtrl" (remote control), "card"-->network
</object>
ri on
<params>
<!--ro, opt, string, log parameters, desc:parameters (zone No., etc.)-->test
</params>
Ma oc
<seq>
<!--ro, opt, string, device serial No., range:[1,32]-->test
</seq>
up
<additionInformation>
<!--ro, opt, string, additional information, range:[1,128], desc:additional information of log-->test
co gr
</additionInformation>
<panelUser>
<!--ro, opt, string, user name of the operation panel, range:[0,16]-->admin
es a@
</panelUser>
<diskNumber>
<!--ro, opt, int, HDD No., range:[0,10000]-->0
Fr rc
</diskNumber>
<alarmInPort>
y ema
</alarmOutPort>
<remoteHostIPAddress>
<!--ro, opt, string, remote host IP address, range:[1,32]-->10.12.25.23
ad on
</remoteHostIPAddress>
<logLevel>
<!--ro, opt, enum, subType:string-->emergency
el .c
</logLevel>
<alarmLevel>
ez
</searchMatchItem>
</matchList>
ng
</CMSearchResult>
Aj
Co
m
<upgradePercent min="0" max="100">
co
<!--ro, req, int, upgrade progress capability in percentage, attr:min{req, int},max{req, int}-->1
</upgradePercent>
<Version>
a.
<!--ro, opt, object, upgrade package version information-->
<newVersion max="64">
C. arc
<!--ro, req, string, version information of the new upgrade package, attr:max{req, int}-->test
</newVersion>
<changeLog max="64">
<!--ro, req, string, log of the new upgrade package, attr:max{req, int}-->test
s, em
</changeLog>
</Version>
A
<rebootAfterUpgrade>
no fr
<!--ro, opt, enum, upgrade options after device reboot, subType:string, desc:"auto" (auto upgrade), "manual" (manual upgrade)-->auto
</rebootAfterUpgrade>
<DeviceParameter>
ri on
<!--ro, opt, object, online upgrade parameters-->
<isSupportAutoDownloadPackage>
<!--ro, opt, bool, whether it supports automatic download of upgrade package-->true
Ma oc
</isSupportAutoDownloadPackage>
<notSupportAutoUpgrade>
up
<!--ro, opt, bool, whether it no longer supports automatic download of upgrade package and automatic upgrade, desc:corresponding URL: PUT
/ISAPI/System/onlineUpgrade/upgrade-->true
</notSupportAutoUpgrade>
co gr
<isSupportTimingUpgrade>
<!--ro, opt, bool, whether it supports scheduled upgrade-->true
</isSupportTimingUpgrade>
es a@
</DeviceParameter>
<ManualDownloadPackage>
Fr rc
<supportOperation opt="start,cancel,pause,resume">
<!--ro, opt, enum, supported operations, subType:string, attr:opt{req, string}, desc:"start", "cancel", "pause", "resume"-->start
y ema
</supportOperation>
</ManualDownloadPackage>
<isSupportIgnoreCurrentVersion>
<!--ro, opt, bool, whether it supports ignoring the current version-->true
os fr
</isSupportIgnoreCurrentVersion>
<UpgradePackageTask>
<!--ro, opt, object, whether the device supports applying upgrade tasks, desc:if this node is returned, it indicates that the following URLs are also
ad on
<!--ro, opt, bool, whether the device supports upgrading sub modules-->true
</isSupportUpgradeModules>
<isSupportUpgradeChannels>
ez
<!--ro, opt, bool, whether the device supports upgrading sub channels-->true
</isSupportUpgradeChannels>
<isSupportDownloadStrategy>
en
<!--ro, opt, bool, whether the device supports strategy parameters of downloading upgrade package, desc:corresponding filed is "downloadStrategy" of
URL (/ISAPI/System/onlineUpgrade/task?format=json)-->true
im
</isSupportDownloadStrategy>
<isSupportDelayedUpgradeByDateTime>
ng
<!--ro, opt, bool, whether the device supports delaying the upgrade by time, desc:corresponding filed is "delayedUpgradeDateTime" of URL
Aj
(/ISAPI/System/onlineUpgrade/task?format=json)-->true
</isSupportDelayedUpgradeByDateTime>
Co
m
co
None
Response Message
a.
C. arc
{
"DownloadPackageStatus": {
/*ro, req, object, upgrade package downloading status*/
"status": "notDownload",
s, em
/*ro, req, enum, download status, subType:string, desc:"notDownload", "downloading", "downloadFailed", "pause", "finish", "incorrectPackage"
(incorrect upgrade package format), "hdOperationFailed" (HD operation failed)*/
A
"total": 0.0,
no fr
/*ro, opt, float, upgrade package total size, desc:unit: MB, corrects to one decimal place*/
"remain": 0.0,
/*ro, opt, float, remaining space, desc:unit: MB, corrects to one decimal place*/
ri on
"speed": 0.0,
/*ro, opt, float, download speed, desc:unit: MB, corrects to one decimal place*/
Ma oc
"remainTime": 0,
/*ro, opt, int, estimated remaining time, unit:s*/
"progress": 0
up
/*ro, req, int, progress, range:[0,100]*/
}
}
co gr
es a@
Request URL
y ema
PUT /ISAPI/System/onlineUpgrade/downloadPackage?format=json
Query Parameter
os fr
None
ad on
Request Message
None
el .c
Response Message
ez
{
en
"statusCode": 1,
/*ro, opt, int, status code, desc:1 (succeeded). It is required when an error occurred*/
im
"statusString": "ok",
/*ro, opt, string, status description, range:[1,64], desc:"ok" (succeeded). It is required when an error occurred*/
ng
"subStatusCode": "ok",
Aj
/*ro, opt, string, sub status code, range:[1,64], desc:"ok" (succeeded). It is required when an error occurred*/
"errorCode": 1,
Co
/*ro, opt, int, error code, desc:it is required when the value of statusCode is not 1, it corresponds to subStatusCode*/
"errorMsg": "ok"
/*ro, opt, string, error information, desc:this node is required when the value of statusCode is not 1*/
}
m
</percent>
<onlineUpdateDevInfoList>
co
<!--ro, opt, object, online upgrade device information, desc:containing the online upgrade status of sub devices, sub modules, or sub channels-->
<onlineUpdateDevInfo>
a.
<!--ro, opt, object, online upgrade device information-->
<moduleType>
<!--ro, req, enum, module type, subType:string, desc:"keypad", "detector", "cardReader" (card reader), "siren" (sounder), "relay", "transmitter"
C. arc
(transmitter), "remoteCtrl" (remote control),"repeater" (repeater), "SSD", "extensionModule" (extension module)-->keypad
</moduleType>
<moduleID>
<!--ro, req, int, module ID, range:[1,128], step:1-->1
s, em
</moduleID>
<model>
A
<!--ro, opt, string, model, range:[1,32]-->test
no fr
</model>
<status>
ri on
<!--ro, opt, enum, upgrade status, subType:string, desc:"allowance" (upgradeable, the upgrade command is not triggered), "ready" (waiting for
upgrade, the upgrade command has been triggered), "upgriding" (upgrading), "success" (upgraded), "failed" (upgrade failed)-->allowance
</status>
Ma oc
<percent>
<!--ro, opt, int, current upgrade percentage, range:[0,100]-->1
</percent>
up
<updateTime>
<!--ro, opt, datetime, upgrade completion time-->2004-05-03T17:30:08+08:00
</updateTime>
co gr
</onlineUpdateDevInfo>
</onlineUpdateDevInfoList>
es a@
</OnlineUpgradeStatus>
Fr rc
Request URL
GET /ISAPI/System/Serial/capabilities
ad on
Query Parameter
el .c
None
ez
Request Message
en
None
Response Message
im
ng
Aj
Co
<?xml version="1.0" encoding="UTF-8"?>
m
<!--ro, opt, int, the maximum number of RS-232 serial ports supported by the device-->0
</rs232PortNums>
co
<rs485WorkMode opt="Led, CaptureTrigger,transparent">
<!--ro, opt, string, range of RS-485 serial port No. supported by the device, attr:opt{req, string}-->test
a.
</rs485WorkMode>
<rs232SerialNumber opt="1,2,3">
<!--ro, opt, int, range of RS-232 serial port numbers supported by the device, attr:opt{req, string}-->1
C. arc
</rs232SerialNumber>
<rs485SerialNumber opt="4,5,6">
<!--ro, opt, int, range of RS-485 serial port numbers supported by the device, attr:opt{req, string}-->1
</rs485SerialNumber>
s, em
<isSupportAuthenticationService>
<!--ro, opt, bool, whether the device supports the serial port authentication service-->true
A
</isSupportAuthenticationService>
no fr
<isSupportDeviceInfo>
<!--ro, opt, bool, whether the device supports configuring the information about the serial port device-->true
</isSupportDeviceInfo>
ri on
<isSupportSearchDeviceInfoRelations>
<!--ro, opt, bool, whether the device supports searching the linkage information of the serial port device-->true
Ma oc
</isSupportSearchDeviceInfoRelations>
</SerialCap>
up
16.1.8.2 Get the capability of a specific serial port
co gr
Request URL
es a@
GET /ISAPI/System/Serial/ports/<portID>/capabilities
Fr rc
Query Parameter
y ema
Request Message
None
el .c
Response Message
ez
</id>
Aj
<enabled opt="true,false">
<!--ro, opt, bool, whether to enable, attr:opt{req, string}-->true
Co
</enabled>
<encryptKey min="0" max="10">
<!--ro, opt, string, key, attr:min{req, int},max{req, int}, desc:key-->test
</encryptKey>
<serialNumber opt="1,2,3,4,5">
<!--ro, opt, int, serial No., attr:opt{req, string}-->0
</serialNumber>
<serialPortType opt="RS485,RS422,RS232">
<!--ro, opt, string, serial port type, attr:opt{req, string}-->RS485
</serialPortType>
<serialAddress min="0" max="10">
<!--ro, opt, int, serial port address, attr:min{req, int},max{req, int}, desc:serial port address-->1
</serialAddress>
<duplexMode opt="half,full">
<!--ro, opt, string, duplex mode of the serial port, attr:opt{req, string}-->half
</duplexMode>
<direction opt="monodirectional,bdirectional">
<!--ro, opt, string, attr:opt{req, string}-->monodirectional
</direction>
<baudRate opt="1200,2400,4800,9600,19200,38400,57600,115200">
<!--ro, opt, int, attr:opt{req, string}-->1200
</baudRate>
<dataBits opt="6,7,8">
<!--ro, opt, int, attr:opt{req, string}-->6
<!--ro, opt, int, attr:opt{req, string}-->6
</dataBits>
<parityType opt="none,even,odd,mark,space">
<!--ro, opt, string, attr:opt{req, string}-->none
</parityType>
<stopBits opt="1,1.5,2">
<!--ro, opt, string, stop bit, attr:opt{req, string}-->1
</stopBits>
<workMode opt="console,transparent,audiomixe,screenCtrl,ptzCtrl,keyboard,matrix,audioMixers">
<!--ro, opt, string, working mode, attr:opt{req, string}-->console
</workMode>
<flowCtrl opt="none,software,hardware">
<!--ro, opt, string, flowCtrl, attr:opt{req, string}-->none
</flowCtrl>
<deviceName min="0" max="32">
<!--ro, opt, string, attr:min{req, int},max{req, int}-->test
m
</deviceName>
<deviceProtocol min="0" max="10">
co
<!--ro, opt, int, attr:min{req, int},max{req, int}-->0
</deviceProtocol>
a.
<mode opt="readerMode,clientMode,externMode,stairsControl,accessControlHost,disabled,custom,cardReceiver,QRCodeReader">
<!--ro, opt, string, working mode, attr:opt{req, string}-->readerMode
</mode>
C. arc
<modeChangeReboot>
<!--ro, opt, bool-->true
</modeChangeReboot>
<outputDataType opt="cardNo,employeeNo,auto">
s, em
<!--ro, opt, string, output data type, attr:opt{req, string}, desc:data type output from the door station to the elevator controller: floorNumber (floor
No.,default),cardNo (card No.)-->cardNo
A
</outputDataType>
no fr
<copyToAll opt="true,false">
<!--ro, opt, bool, attr:opt{req, string}-->true
ri on
</copyToAll>
<isVariable opt="true,false">
<!--ro, opt, bool, attr:opt{req, string}-->true
Ma oc
</isVariable>
<PTZInfo>
<!--ro, opt, object-->
up
<bindChannelNo min="0" max="10">
<!--ro, req, int, attr:min{req, int},max{req, int}-->0
co gr
</bindChannelNo>
<PTZProtocolList>
<!--ro, req, object-->
es a@
<PTZProtocol>
<!--ro, opt, object-->
<id>
Fr rc
</PTZInfo>
<ScreenCtrlInfo>
ad on
<!--ro, opt, object, ScreenCtrlInfo, desc:this field is valid when the value of workMode is "screenCtrl"-->
<ScreenCtrlProtoList>
<!--ro, req, object, ScreenCtrlProtoList-->
el .c
<ScreenCtrlProto>
<!--ro, opt, object, ScreenCtrlProto-->
<id>
ez
<protoDesc>
<!--ro, req, string, protocol description-->test
</protoDesc>
im
</ScreenCtrlProto>
</ScreenCtrlProtoList>
ng
</ScreenCtrlInfo>
Aj
<MatrixCtrlInfo>
<!--ro, opt, object, MatrixCtrlInfo-->
Co
<MatrixCtrlProtoList>
<!--ro, req, object, MatrixCtrlProtoList-->
<MatrixCtrlProto>
<!--ro, opt, object, MatrixCtrlProto-->
<id>
<!--ro, req, int, protocol index-->0
</id>
<protoDesc>
<!--ro, req, string, protocol description-->test
</protoDesc>
</MatrixCtrlProto>
</MatrixCtrlProtoList>
</MatrixCtrlInfo>
<KeyBoardCtrlInfo>
<!--ro, opt, object, KeyBoardCtrlInfo-->
<KeyBoardCtrlProtoList>
<!--ro, req, object, KeyBoardCtrlProtoList-->
<KeyBoardCtrlProto>
<!--ro, opt, object, KeyBoardCtrlProto-->
<id>
<!--ro, req, int, protocol index-->0
</id>
<protoDesc>
<protoDesc>
<!--ro, req, string, protocol description-->test
</protoDesc>
</KeyBoardCtrlProto>
</KeyBoardCtrlProtoList>
</KeyBoardCtrlInfo>
<ControlAddress>
<!--ro, opt, object-->
<enabled opt="true,false">
<!--ro, req, bool, whether to enable, attr:opt{req, string}-->true
</enabled>
<address min="0" max="255">
<!--ro, req, int, IP address, attr:min{req, int},max{req, int}-->0
</address>
</ControlAddress>
<rs485WorkMode
opt="Led,sensor,CaptureTrigger,transparent,GPS,ModbusRTU,supplementLight,audibleVisualAlarm,columnSpeaker,commModeUsing433MHz,signalLampControl">
m
<!--ro, opt, string, working mode of RS-485 serial port, dep:and,{$.SerialPortList.SerialPort.serialPortType,eq,RS485}, attr:opt{req, string},
co
desc:working mode of RS-485 serial port,which is used for LED display or triggering transmission of captured pictures. This node is valid only when
<serialPortType> is "RS485"-->sensor
</rs485WorkMode>
a.
<SensorCtrlList>
<!--ro, opt, object-->
C. arc
<Sensor>
<!--ro, opt, object-->
<id min="1" max="3">
<!--ro, req, int, index, attr:min{req, int},max{req, int}-->1
s, em
</id>
<name min="1" max="32">
A
<!--ro, req, string, attr:min{req, int},max{req, int}-->visibilitySensor
no fr
</name>
<enabled opt="true,false">
<!--ro, req, bool, whether to enable, attr:opt{req, string}, desc:whether to enable the serial port: "true,false"-->false
ri on
</enabled>
</Sensor>
</SensorCtrlList>
Ma oc
<stairsControl>
<!--ro, opt, object, elevator control parameters-->
up
<outputDataType opt="floorNumber,cardNo">
<!--ro, opt, enum, data type output from the door station to the elevator controller, subType:string, attr:opt{req, string}, desc:floorNumber (floor
No.,default),cardNo (card No.)-->floorNumber
co gr
</outputDataType>
</stairsControl>
<comMode opt="active,passive">
es a@
<!--ro, opt, enum, communication mode, subType:string, attr:opt{req, string}, desc:communication mode-->active
</comMode>
Fr rc
<ModbusRTU>
s
</ModbusRTUDataBits>
<ModbusRTUParityType opt="none,even,odd" def="none">
<!--ro, opt, string, attr:opt{req, string},def{req, string}-->none
ad on
</ModbusRTUParityType>
<ModbusRTUStopBits opt="1,2" def="1">
el .c
<online opt="true,false">
<!--ro, opt, bool, attr:opt{req, string}-->true
ng
</online>
Aj
</ModbusRTU>
<accessName min="1" max="32">
Co
m
<!--ro, opt, object, dep:and,{$.SerialPort.rs485WorkMode,eq,signalLampControl}-->
co
<protocolType opt="GB920,Hisense,LESER,JERE">
<!--ro, opt, enum, subType:string, attr:opt{req, string}-->GB920
</protocolType>
a.
</signalLampControl>
</SerialPort>
C. arc
16.1.8.3 Set the parameters of a specific serial port supported by the device
s, em
Request URL
A
no fr
PUT /ISAPI/System/Serial/ports/<portID>?permissionController=<indexID>&childDevID=<childDevID>
ri on
Query Parameter
Parameter Name Parameter Type Description
portID string Ma oc --
up
indexID string --
co gr
childDevID string --
es a@
Fr rc
Request Message
s
y ema
<id>
<!--req, int, serial port ID-->0
ad on
</id>
<enabled>
<!--opt, bool, whether to enable the function-->true
el .c
</enabled>
<encryptKey>
<!--opt, string-->test
ez
</encryptKey>
<serialNumber>
<!--opt, int, serial No.-->0
en
</serialNumber>
<serialPortType>
im
<!--opt, enum, serial port type: "RS485","RS422","RS232", subType:string, desc:serial port type: "RS485","RS422","RS232"-->RS485
</serialPortType>
ng
<serialAddress>
Aj
<!--opt, int-->1
</serialAddress>
Co
<duplexMode>
<!--opt, enum, duplex mode of the serial port, subType:string, desc:"half", "full”-->half
</duplexMode>
<direction>
<!--opt, enum, "monodirectional,bdirectional", subType:string, desc:"monodirectional, bdirectional”-->monodirectional
</direction>
<baudRate>
<!--opt, enum, subType:int-->2400
</baudRate>
<dataBits>
<!--opt, int-->6
</dataBits>
<parityType>
<!--opt, enum, parity type, subType:string, desc:"none, even, odd, mark, space”-->none
</parityType>
<stopBits>
<!--opt, string, stop bit: "1,1.5,2"-->1
</stopBits>
<workMode>
<!--opt, enum, work mode, subType:string, desc:working mode: "console","transparent","audiomixer","stairsControl"-elevator control,"cardReader"-card
reader,"disabled","custom". This node is required only when <serialPortType> is set to "RS232"-->console
</workMode>
<flowCtrl>
<!--opt, enum, "none,software,hardware", subType:string, desc:"none, software, hardware”-->none
</flowCtrl>
<rs485WorkMode>
<!--opt, enum, working mode of RS-485 serial port, which is used for LED display or triggering transmission of captured pictures: "Led, CaptureTrigger".
This node is valid only when <serialPortType> is "RS485", subType:string, dep:or,{$.SerialPort.serialPortType,eq,RS485}, desc:working mode of RS-485 serial
port,which is used for LED display or triggering transmission of captured pictures: "Led,CaptureTrigger". This node is valid only when <serialPortType> is
"RS485"-->sensor
</rs485WorkMode>
<copyToAll>
<!--opt, bool-->true
</copyToAll>
<audiomixerProtocolType>
<!--opt, enum, subType:string-->test
</audiomixerProtocolType>
<deviceName>
<!--ro, opt, string-->test
m
</deviceName>
co
<deviceType>
<!--ro, opt, int-->1
</deviceType>
a.
<deviceProtocol>
<!--ro, opt, int-->1
</deviceProtocol>
C. arc
<mode>
<!--opt, enum, work mode, subType:string, desc:deq,working mode: "readerMode,clientMode,externMode,accessControlHost,disabled",this node is valid only
when <serialPortType> is "RS485"-->readerMode
</mode>
s, em
<outputDataType>
A
<!--opt, enum, output data type, subType:string, dep:and,{$.SerialPort.mode,eq,accessControlHost}, desc:"cardNo,employeeNo", this node is valid when
no fr
<mode>is "accessControlHost”-->cardNo
</outputDataType>
<isVariable>
ri on
<!--opt, bool-->true
</isVariable>
<PTZInfo>
Ma oc
<!--opt, object, PTZ information-->
<bindChannelNo>
up
<!--req, int-->0
</bindChannelNo>
<PTZProtocolList>
co gr
<!--req, object-->
<PTZProtocol>
<!--opt, object-->
es a@
<id>
<!--req, int, serial port ID-->0
</id>
Fr rc
<protoDesc>
<!--req, string-->test
y ema
</protoDesc>
</PTZProtocol>
</PTZProtocolList>
</PTZInfo>
os fr
<ScreenCtrlInfo>
<!--opt, object-->
<ScreenCtrlProtoList>
ad on
<!--req, object-->
<ScreenCtrlProto>
<!--opt, object-->
el .c
<id>
<!--req, int, serial port ID-->0
ez
</id>
<protoDesc>
<!--req, string-->test
en
</protoDesc>
</ScreenCtrlProto>
</ScreenCtrlProtoList>
im
</ScreenCtrlInfo>
ng
<MatrixCtrlInfo>
Aj
<!--opt, object-->
<MatrixCtrlProtoList>
Co
<!--req, object-->
<MatrixCtrlProto>
<!--opt, object-->
<id>
<!--req, int, serial port ID-->0
</id>
<protoDesc>
<!--req, string-->test
</protoDesc>
</MatrixCtrlProto>
</MatrixCtrlProtoList>
</MatrixCtrlInfo>
<KeyBoardCtrlInfo>
<!--opt, object-->
<KeyBoardCtrlProtoList>
<!--req, object-->
<KeyBoardCtrlProto>
<!--opt, object-->
<id>
<!--req, int, serial port ID-->0
</id>
<protoDesc>
<!--req, string-->test
</protoDesc>
</protoDesc>
</KeyBoardCtrlProto>
</KeyBoardCtrlProtoList>
</KeyBoardCtrlInfo>
<ControlAddress>
<!--opt, object-->
<enabled>
<!--req, bool, whether to enable the function-->true
</enabled>
<address>
<!--req, int, address, range:[0,255]-->1
</address>
</ControlAddress>
<SensorCtrlList>
<!--opt, object-->
<Sensor>
m
<!--opt, object-->
<id>
co
<!--req, int, ID, range:[1,3]-->1
</id>
a.
<name>
<!--req, string, sensor name, range:[1,32]-->visibilitySensor
</name>
C. arc
<enabled>
<!--req, bool, whether to enable the function, desc:whether to enable the serial port: "true,false"-->false
</enabled>
</Sensor>
s, em
</SensorCtrlList>
<stairsControl>
A
<!--opt, object, elevator control parameters, this node is valid when the value of the node <mode> is stairsControl, dep:and,
no fr
{$.SerialPort.mode,eq,stairsControl}-->
<outputDataType>
ri on
<!--opt, enum, output data type, subType:string, desc:"cardNo,employeeNo", this node is valid when <mode>is "accessControlHost”-->floorNumber
</outputDataType>
</stairsControl>
Ma oc
<comMode>
<!--opt, enum, subType:string-->active
</comMode>
up
<ModbusRTU>
<!--opt, object, dep:and,{$.SerialPort.rs485WorkMode,eq,ModbusRTU}-->
<ModbusRTUBaudRate>
co gr
<ModbusRTUDataBits>
<!--opt, enum, subType:int-->6
</ModbusRTUDataBits>
Fr rc
<ModbusRTUParityType>
<!--opt, enum, subType:string-->none
</ModbusRTUParityType>
y ema
<ModbusRTUStopBits>
<!--opt, enum, subType:string-->1
</ModbusRTUStopBits>
<ModbusRTUFlowCtrl>
os fr
<decoderAddress>
<!--opt, int, range:[0,255]-->0
</decoderAddress>
el .c
</ModbusRTU>
<controlProtocol>
<!--opt, string-->test
ez
</controlProtocol>
<accessName>
en
<acquisitionProtocol>
Aj
<serialProtocol>
<!--opt, enum, subType:string-->GB26875
</serialProtocol>
<SupplementLightList>
<!--opt, array, subType:object, dep:and,{$.SerialPort.rs485WorkMode,eq,supplementLight}-->
<SupplementLight>
<!--opt, object-->
<SupplementLightID>
<!--req, int, range:[1,5]-->1
</SupplementLightID>
</SupplementLight>
</SupplementLightList>
<cardReaderType>
<!--opt, enum, subType:string-->K1108AM
</cardReaderType>
</SerialPort>
Response Message
<?xml version="1.0" encoding="UTF-8"?>
m
</statusString>
<subStatusCode>
co
<!--ro, req, string, error reason description in detail, desc:error reason description in detail-->OK
</subStatusCode>
a.
</ResponseStatus>
C. arc
16.1.8.4 Get the parameters of a specific port supported by the device
Request URL
s, em
A
GET /ISAPI/System/Serial/ports/<portID>?permissionController=<indexID>&childDevID=<childDevID>
no fr
Query Parameter
ri on
Parameter Name Parameter Type Description
portID string
Ma oc --
up
indexID string --
co gr
childDevID string --
es a@
Request Message
Fr rc
None
y ema
Response Message
<id>
<!--ro, req, int, serial port ID-->0
el .c
</id>
<enabled>
<!--ro, opt, bool, whether to enable the serial port-->true
ez
</enabled>
<encryptKey>
<!--ro, opt, string-->test
en
</encryptKey>
<serialNumber>
im
<serialPortType>
Aj
<!--ro, opt, enum, serial port type, subType:string, desc:"RS485", "RS422", "RS232”-->RS485
</serialPortType>
Co
<serialAddress>
<!--ro, opt, int-->1
</serialAddress>
<duplexMode>
<!--ro, opt, enum, duplex mode of the serial port, subType:string, desc:"half", "full”-->half
</duplexMode>
<direction>
<!--ro, opt, enum, "monodirectional,bdirectional", subType:string, desc:"monodirectional”, “bdirectional”-->monodirectional
</direction>
<baudRate>
<!--ro, opt, enum, subType:int-->2400
</baudRate>
<dataBits>
<!--ro, opt, int-->6
</dataBits>
<parityType>
<!--ro, opt, enum, parity type, subType:string, desc:parity type: "none,even,odd,mark,space"-->none
</parityType>
<stopBits>
<!--ro, opt, enum, stop bit, subType:string, desc:stop bit-->1
</stopBits>
<workMode>
<!--ro, opt, enum, working mode, subType:string, desc:"console", "transparent", "audiomixer", “screenCtrl”, “ptzCtrl”, “keyboard”, “matrix”,
“audioMixers”-->console
</workMode>
<flowCtrl>
<!--ro, opt, enum, "none,software,hardware", subType:string, desc:"none”, “software”, “hardware”-->none
</flowCtrl>
<rs485WorkMode>
<!--ro, opt, enum, working mode of RS-485 serial port, subType:string, dep:or,{$.SerialPort.serialPortType,eq,RS485}, desc:working mode of RS-485 serial
port,which is used for LED display or triggering transmission of captured pictures: "Led,CaptureTrigger". This node is valid only when <serialPortType> is
"RS485"-->sensor
</rs485WorkMode>
<copyToAll>
<!--ro, opt, bool-->true
</copyToAll>
<audiomixerProtocolType>
<!--ro, opt, enum, subType:string-->test
</audiomixerProtocolType>
m
<deviceName>
co
<!--ro, opt, string-->test
</deviceName>
<deviceType>
a.
<!--ro, opt, int-->1
</deviceType>
<deviceProtocol>
C. arc
<!--ro, opt, int-->1
</deviceProtocol>
<mode>
<!--ro, opt, enum, working mode, subType:string, desc:deq,working mode: "readerMode,clientMode,externMode,accessControlHost,disabled",this node is valid
s, em
only when <serialPortType> is "RS485"-->readerMode
A
</mode>
no fr
<outputDataType>
<!--ro, opt, enum, output data type, subType:string, dep:and,{$.SerialPort.mode,eq,accessControlHost}, desc:output data type: "cardNo,employeeNo",this
node is valid when <mode>is "accessControlHost"-->cardNo
ri on
</outputDataType>
<isVariable>
<!--ro, opt, bool-->true
Ma oc
</isVariable>
<PTZInfo>
up
<!--ro, opt, object, PTZ information-->
<bindChannelNo>
<!--ro, req, int-->0
co gr
</bindChannelNo>
<PTZProtocolList>
<!--ro, req, object-->
es a@
<PTZProtocol>
<!--ro, opt, object-->
<id>
Fr rc
<protoDesc>
<!--ro, req, string-->test
</protoDesc>
</PTZProtocol>
os fr
</PTZProtocolList>
</PTZInfo>
<ScreenCtrlInfo>
ad on
<ScreenCtrlProto>
<!--ro, opt, object-->
ez
<id>
<!--ro, req, int, serial port ID-->0
</id>
en
<protoDesc>
<!--ro, req, string-->test
</protoDesc>
im
</ScreenCtrlProto>
</ScreenCtrlProtoList>
ng
Aj
</ScreenCtrlInfo>
<MatrixCtrlInfo>
Co
m
<!--ro, opt, object-->
<Sensor>
co
<!--ro, opt, object-->
<id>
a.
<!--ro, req, int, serial port ID, range:[1,3]-->1
</id>
<name>
C. arc
<!--ro, req, string, sensor name, range:[1,32], desc:sensor name-->visibilitySensor
</name>
<enabled>
<!--ro, req, bool, whether to enable the function, desc:whether to enable the serial port: "true,false"-->false
s, em
</enabled>
</Sensor>
A
</SensorCtrlList>
no fr
<stairsControl>
<!--ro, opt, object, elevator control parameters, dep:and,{$.SerialPort.mode,eq,stairsControl}-->
<outputDataType>
ri on
<!--ro, opt, enum, output data type, subType:string, desc:output data type: "cardNo,employeeNo",this node is valid when <mode>is "accessControlHost"--
>floorNumber
Ma oc
</outputDataType>
</stairsControl>
<comMode>
up
<!--ro, opt, enum, subType:string-->active
</comMode>
<ModbusRTU>
co gr
</ModbusRTUStopBits>
<ModbusRTUFlowCtrl>
ad on
<controlProtocol>
<!--ro, opt, enum, subType:string-->test
im
</controlProtocol>
<accessName>
ng
</accessName>
<serialPortUse>
Co
m
Parameter Name Parameter Type Description
co
indexID string --
a.
Request Message
C. arc
None
s, em
Response Message
A
no fr
<?xml version="1.0" encoding="UTF-8"?>
<SerialPortList xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
ri on
<!--ro, opt, object, see details in the message of XML_SerialPort, attr:version{req, string, protocolVersion}-->
<SerialPort>
<!--ro, opt, object, port-->
Ma oc
<id>
<!--ro, req, int-->0
</id>
up
<enabled>
<!--ro, opt, bool, whether to enable the function-->true
co gr
</enabled>
<encryptKey>
<!--ro, opt, string-->test
es a@
</encryptKey>
<serialNumber>
<!--ro, opt, int, serial No.-->0
Fr rc
</serialNumber>
<serialPortType>
y ema
<duplexMode>
<!--ro, opt, enum, subType:string-->half
ad on
</duplexMode>
<direction>
<!--ro, opt, enum, subType:string-->monodirectional
el .c
</direction>
<baudRate>
<!--ro, opt, enum, subType:int-->2400
ez
</baudRate>
<dataBits>
en
<stopBits>
Aj
</stopBits>
<workMode>
<!--ro, opt, enum, work mode, subType:string, desc:work mode-->console
</workMode>
<flowCtrl>
<!--ro, opt, enum, subType:string-->none
</flowCtrl>
<rs485WorkMode>
<!--ro, opt, enum, subType:string, dep:or,{$.SerialPort.serialPortType,eq,RS485}-->sensor
</rs485WorkMode>
<copyToAll>
<!--ro, opt, bool-->true
</copyToAll>
<deviceName>
<!--ro, opt, string, device name-->test
</deviceName>
<deviceProtocol>
<!--ro, opt, int-->1
</deviceProtocol>
<mode>
<!--ro, opt, enum, work mode, subType:string, desc:work mode-->readerMode
</mode>
<outputDataType>
<!--ro, opt, enum, subType:string, dep:and,{$.SerialPort.mode,eq,accessControlHost}-->cardNo
<!--ro, opt, enum, subType:string, dep:and,{$.SerialPort.mode,eq,accessControlHost}-->cardNo
</outputDataType>
<isVariable>
<!--ro, opt, bool-->true
</isVariable>
<PTZInfo>
<!--ro, opt, object, PTZ information-->
<bindChannelNo>
<!--ro, req, int-->0
</bindChannelNo>
<PTZProtocolList>
<!--ro, req, object-->
<PTZProtocol>
<!--ro, opt, object-->
<id>
<!--ro, req, int-->0
</id>
m
<protoDesc>
co
<!--ro, req, string-->test
</protoDesc>
</PTZProtocol>
a.
</PTZProtocolList>
</PTZInfo>
C. arc
<ScreenCtrlInfo>
<!--ro, opt, object-->
<ScreenCtrlProtoList>
<!--ro, req, object-->
s, em
<ScreenCtrlProto>
<!--ro, opt, object-->
A
<id>
no fr
<!--ro, req, int-->0
</id>
<protoDesc>
ri on
<!--ro, req, string-->test
</protoDesc>
Ma oc
</ScreenCtrlProto>
</ScreenCtrlProtoList>
</ScreenCtrlInfo>
up
<MatrixCtrlInfo>
<!--ro, opt, object-->
<MatrixCtrlProtoList>
co gr
<id>
<!--ro, req, int-->0
Fr rc
</id>
s
<protoDesc>
<!--ro, req, string-->test
y ema
</protoDesc>
</MatrixCtrlProto>
</MatrixCtrlProtoList>
</MatrixCtrlInfo>
os fr
<KeyBoardCtrlInfo>
<!--ro, opt, object-->
<KeyBoardCtrlProtoList>
ad on
</id>
<protoDesc>
<!--ro, req, string-->test
en
</protoDesc>
</KeyBoardCtrlProto>
im
</KeyBoardCtrlProtoList>
</KeyBoardCtrlInfo>
ng
<ControlAddress>
Aj
m
<!--ro, opt, enum, subType:string-->none
co
</ModbusRTUParityType>
<ModbusRTUStopBits>
<!--ro, opt, enum, subType:string-->1
a.
</ModbusRTUStopBits>
<ModbusRTUFlowCtrl>
<!--ro, opt, enum, subType:string-->none
C. arc
</ModbusRTUFlowCtrl>
<decoderAddress>
<!--ro, opt, int, range:[0,255]-->0
</decoderAddress>
s, em
<online>
<!--ro, opt, bool-->true
A
no fr
</online>
</ModbusRTU>
<accessName>
ri on
<!--ro, opt, string, range:[1,32]-->test
</accessName>
<serialPortUse>
Ma oc
<!--ro, opt, enum, subType:string-->acquAndCtrl
</serialPortUse>
<serialProtocol>
up
<!--ro, opt, enum, subType:string-->GB26875
</serialProtocol>
co gr
<SupplementLightList>
<!--ro, opt, array, subType:object, dep:and,{$.SerialPort.rs485WorkMode,eq,supplementLight}-->
<SupplementLight>
es a@
</SupplementLightID>
</SupplementLight>
y ema
</SupplementLightList>
<cardReaderType>
<!--ro, opt, enum, subType:string-->K1108AM
</cardReaderType>
os fr
<strongElectricType>
<!--ro, opt, enum, subType:string-->19M04-RO/T
</strongElectricType>
ad on
</SerialPort>
</SerialPortList>
el .c
ez
Request URL
ng
GET /ISAPI/ContentMgmt/capabilities
Aj
Co
Query Parameter
None
Request Message
None
Response Message
m
<!--ro, opt, bool, whether the device supports live view transcoding-->true
co
</isSupportTransCode>
<isSupportIpcImport>
<!--ro, opt, bool, whether the device supports importing the configuration file of the network camera, desc:related URI:
a.
/ISAPI/ContentMgmt/InputProxy/ipcConfig-->true
</isSupportIpcImport>
C. arc
<NasMountType>
<!--ro, opt, bool, NAS type-->true
<isNFSSupportAuthentication>
<!--ro, opt, bool, whether the device supports NFS authentication-->true
s, em
</isNFSSupportAuthentication>
<isCIFSSupportAuthentication>
A
<!--ro, opt, bool, whether the device supports CIFS authentication-->true
no fr
</isCIFSSupportAuthentication>
</NasMountType>
<isSupportIpcStreamType>
ri on
<!--ro, opt, bool, whether the device supports the stream type of the network camera-->true
</isSupportIpcStreamType>
<isSupportIOInputProxy>
Ma oc
<!--ro, opt, bool, whether the device supports dynamic input channels, desc:related URI: /ISAPI/ContentMgmt/IOProxy/inputs-->true
</isSupportIOInputProxy>
up
<isSupportIOOutputProxy>
<!--ro, opt, bool, whether the device supports dynamic output channels, desc:related URI: /ISAPI/ContentMgmt/IOProxy/outputs-->true
</isSupportIOOutputProxy>
co gr
<isSupportPTZRs485Proxy>
<!--ro, opt, bool, whether the device supports dynamic PTZ RS-485 channels, desc:related URI: /ISAPI/ContentMgmt/PTZCtrlProxy/capabilities-->true
</isSupportPTZRs485Proxy>
es a@
<isSupportSrcIDSearch>
<!--ro, opt, bool, whether the device supports stream ID search-->true
Fr rc
</isSupportSrcIDSearch>
s
<isSupportReversePlayback>
<!--ro, opt, bool, whether the device supports reverse playback-->true
y ema
</isSupportReversePlayback>
<isSupportSMARTTest>
<!--ro, opt, bool, whether the device supports HDD detection, desc:related URI: /ISAPI/ContentMgmt/Storage/hdd/SMARTTest/config-->true
</isSupportSMARTTest>
os fr
<isSupportDownloadByTime>
<!--ro, opt, bool, whether the device supports downloading by time, desc:related URI: /ISAPI/ContentMgmt/download/capabilities-->true
</isSupportDownloadByTime>
ad on
<pictureSearchType
opt="AllEvent,CMR,MOTION,ALARM,EDR,ALARMANDMOTION,Command,pir,wlsensor,callhelp,facedetection,FieldDetection,scenechangedetection,LineDetection,
el .c
regionEntrance,regionExiting,loitering,group,rapidMove,parking,unattendedBaggage,attendedBaggage,vehicleDetection,manual,manualSnapShot,playSnapShot,safetyH
elmet,
personQueueCounting,personQueueTime,violentMotion,leavePosition,advReachHeight,peopleNumChange,mixedTargetDetection,illegalParking,pedestrian,construction,r
ez
oadblock,
abandonedObject,trafficAccident,fogDetection,smokeDetection,personDensity,failDown,accessController,videoInterCom,GJD,Luminite,OPTEX,securityControlPanel,ge
tUp,toiletTarry,
en
playCellphone,vehicleMonitor,vibrationDetection,running,retention,spacingChange,yardTarry,keyPersonGetUp,sitQuietly,standUp,plateRecognition,smoking,onThePh
one,fatigueDriving,
im
notLookingStraightAhead,leaveThePost,seatBelt,sunglasses,identityAbnormal,ForwardCollisionWarning,LaneDepartureWarning,BlindSpotDetection,HeadwayMonitoringW
arning,
ng
PedestrianCollisionWarning,SuddenSpeedUp,SuddenSpeedDown,SuddenLeftTurn,SuddenRightTurn,Turnover,NotYieldToPedestrian,unregisteredStreetVendor,stallOutsideS
Aj
hop,stallOccupyingRoad, illegalHeap,illegalParkingofNon-
MotorVehicle,illegalOutdoorAdvertisement,packGarbage,stallUnderUmbrella,dustbinOverflow,exposeGarbage,hangClothingAlongStreet,allPic,ATMPanel,
Co
ATMSurround,ATMFace,ATMSafetyCabin,loitering,smokeDetectAlarm,temperatureIntervalMeasurement,AIOP,tail,abnormalFace,normalFace,multiFace,callFace,sunglasses
Face,humanEnter,operateOverTime,stickUp,installScanner,objectPlacedOrTaken,fakeCard,securityChecking,pothole,crack,roadMaint,imageCapture,methaneConcentrati
onException,methaneLightIntensityException,bannerDetection,variableDataEvent,shipChannelAbnormal,radarVideoDetection,smokeAndFireDetection,smokeDetection,se
nsorAlarm,alarmResult,AIOP_Video,AIOP_Polling_Snap,swipePatrol,BatteryCarInfoEvent,indoorPasswayBlock,detectorTemperatureAlarm,fireNoRegulation,detectorMoti
onAlarm,detectorShelterAlarm,detectorRunningStatus,faceCapture,UVPhotonDetection,DevPowerStatusReport,HFPD,audioAnalysis,IndoorPasswayRecovery,BatteryCarRec
overy,DetectorTemperatureRecovery,RadarFallenObjectsOnTracks,VegetationSpectrumDetection,personDensityDetection,ChannelClearEvent,channelOccupy,ChannelPassi
ngEvent,FallenObjectsOnTracksEvent,audioexception,CarWindow">
<!--ro, opt, enum, picture search type, subType:string, attr:opt{req, string}, desc:"AllEvent", "CMR", "MOTION", "ALARM", "EDR", "ALARMANDMOTION",
"pir:PIR", "wlsensor", "callhelp", "facedetection", "FieldDetection", "scenechangedetection", "LineDetection", "regionEntrance", "regionExiting",
"loitering", "group", "rapidMove", "parking", "unattendedBaggage", "attendedBaggage", "vehicleDetection", "manual", "manualSnapShot", "playSnapShot",
"safetyHelmet", "personQueueCounting", "personQueueTime", "violentMotion", "leavePosition", "advReachHeight", "peopleNumChange", "mixedTargetDetection",
"illegalParking", "pedestrian", "construction", "roadblock", "evidence", "crosslane", "vehicleexist", "lanechange", "wrongdirection", "congestion",
"turnround", "parallelParking", "abandonedObject", "trafficAccident", "fogDetection", "smokeDetection", "personDensity", "failDown", "accessController",
"videoInterCom", "GJD", "Luminite", "OPTEX", "securityControlPanel", "getUp", "toiletTarry", "playCellphone", "vehicleMonitor", "running", "retention",
"spacingChange", "yardTarry", "keyPersonGetUp", "sitQuietly", "standup", "plateRecognition", "smoking", "onThePhone", "fatigueDriving",
"notLookingStraightAhead", "leaveThePost", "seatbelt", "sunglasses", "identityAbnormal", "ForwardCollisionWarning", "LaneDepartureWarning",
"BlindSpotDetection", "HeadwayMonitoringWarning", "PedestrianCollisionWarning", "SuddenSpeedUp", "SuddenSpeedDown", "SuddenLeftTurn", "SuddenRightTurn",
"Turnover", "NotYieldToPedestrian;allPic", "ATMPanel", "ATMSurround", "ATMFace", "ATMSafetyCabin", "smokeDetectAlarm", "temperatureIntervalMeasurement",
"AIOP", "tail", "abnormalFace", "normalFace;callFace", "sunglassesFace", "humanEnter", "operateOverTime", "stickup", "installScanner",
"objectPlacedOrTaken", "fakeCard", "securityChecking", "pothole", "crack", "roadMaint", "imageCapture", "ReID", "thermalVehicleDetection",
"methaneConcentrationException", "methaneLightIntensityException", "bannerDetection", "waterQualityDetection", "waterLevelDetection", "parallelParking",
"methaneConcentrationException", "variableDataEvent", "VOCsGasDetection", "shipChannelAbnormal", "radarVideoDetection", "AIDfogDetection:AID",
"smokeAndFireDetection", "smokeDetection", "sensorAlarm", "GasTankDetection", "alarmResult", "AIOP_Video", "AIOP_Polling_Snap", "swipePatrol",
"BatteryCarInfoEvent", "indoorPasswayBlock", "detectorTemperatureAlarm", "fireNoRegulation", "detectorMotionAlarm", "detectorShelterAlarm",
"BatteryCarInfoEvent", "indoorPasswayBlock", "detectorTemperatureAlarm", "fireNoRegulation", "detectorMotionAlarm", "detectorShelterAlarm",
"detectorRunningStatus", "faceCapture", "UVPhotonDetection", "DevPowerStatusReport", 'HFPD"-->AllEvent
</pictureSearchType>
<recordSearchType
opt="AllEvent,CMR,MOTION,ALARM,EDR,ALARMANDMOTION,Command,pir,wlsensor,callhelp,facedetection,FieldDetection,scenechangedetection,LineDetection,
regionEntrance,regionExiting,loitering,group,rapidMove,parking,unattendedBaggage,attendedBaggage,vehicleDetection,manual,manualSnapShot,playSnapShot,safetyH
elmet,
failDown,personDensityDetection,smokeDetection,vibrationDetection,unregisteredStreetVendor,stallOutsideShop,stallOccupyingRoad,illegalHeap,illegalParkingofN
on-MotorVehicle,
illegalOutdoorAdvertisement,packGarbage,stallUnderUmbrella,dustbinOverflow,exposeGarbage,hangClothingAlongStreet,ATMPanel,ATMSurround,ATMFace,ATMSafetyCabin
,temperatureIntervalMeasurement,AIOP,securityChecking,scheduledRecordUpload,variableDataEvent,smokeAndFireDetection,smokeDetection,AIOP_Video,AIOP_Polling_S
nap,BatteryCarInfoEvent,indoorPasswayBlock,detectorTemperatureAlarm,fireNoRegulation,detectorMotionAlarm,detectorShelterAlarm,detectorRunningStatus,faceCapt
ure,UVPhotonDetection,DevPowerStatusReport,ChannelClearEvent,channelOccupy,ChannelPassingEvent">
<!--ro, opt, enum, video search type, subType:string, attr:opt{req, string}, desc:"AllEvent", "CMR", "MOTION", "ALARM", "EDR", "ALARMANDMOTION", "pir",
"wlsensor", "callhelp", "facedetection", "FieldDetection", "scenechangedetection", "LineDetection", "regionEntrance", "regionExiting", "loitering", "group",
"rapidMove", "parking", "unattendedBaggage", "attendedBaggage", "vehicleDetection", "manual", "manualSnapShot", "playSnapShot", "safetyHelmet",
m
"personDensityDetection", "smokeDetection", "ATMPanel", "ATMSurround", "ATMFace", "ATMSafetyCabin", "temperatureIntervalMeasurement", "AIOP",
co
"securityChecking", "scheduledRecordUpload", "thermalVehicleDetection", "waterQualityDetection", "waterLevelDetection", "methaneConcentrationException",
"variableDataEvent", "smokeAndFireDetection", "smokeDetection", "sensorAlarm", "parallelParking", "parallelParkingContinuousRecord", "GasTankDetection",
"AIOP_Video", "AIOP_Polling_Snap", "BatteryCarInfoEvent", "indoorPasswayBlock", "detectorTemperatureAlarm", "fireNoRegulation", "detectorMotionAlarm",
a.
"detectorShelterAlarm", "detectorRunningStatus", ''faceCapture", "UVPhotonDetection", "DevPowerStatusReport"-->AllEvent
</recordSearchType>
<isSupportActivateIpc>
C. arc
<!--ro, opt, bool, whether the device supports activating the network camera-->true
</isSupportActivateIpc>
<isSupportCheckIpcSecurity>
<!--ro, opt, object, whether the device supports IPC security verification-->
s, em
<isSupportCheckPassword>
<!--ro, opt, bool, whether the device supports password detection-->true
A
</isSupportCheckPassword>
no fr
</isSupportCheckIpcSecurity>
<isSupportMainAndSubRecord>
ri on
<!--ro, opt, bool, whether the device supports the main stream and sub-stream recording-->true
</isSupportMainAndSubRecord>
<isSupportSyncIPCPassword>
Ma oc
<!--ro, opt, bool, whether the device supports synchronizing the password of the network camera-->true
</isSupportSyncIPCPassword>
<isSupportTransferIPC>
up
<!--ro, opt, bool, whether the device supports transparent transmission of the network camera-->true
</isSupportTransferIPC>
co gr
<isSupportSmartSearch>
<!--ro, opt, bool, whether the device supports video dual-VCA, desc:related URI: /ISAPI/ContentMgmt/SmartSearch/capabilities-->true
</isSupportSmartSearch>
es a@
<isSupportPOS>
<!--ro, opt, bool, whether the device supports POS-->true
</isSupportPOS>
Fr rc
<isSupportLinkNum>
<!--ro, opt, bool, whether the device supports getting the number of links, desc:related URI: /ISAPI/ContentMgmt/InputProxy/channels/<ID>/linkNum-->true
y ema
</isSupportLinkNum>
<isSupportPassBackBasicCfg>
<!--ro, opt, bool, whether the device supports configuring basic parameters of the CVR copy-back function, desc:related URI:
/ISAPI/ContentMgmt/record/passback/basicCfg/capabilities-->true
os fr
</isSupportPassBackBasicCfg>
<PassBackTaskConfig>
<!--ro, opt, object, capability of managing tasks of the CVR copy-back function-->
ad on
<isSupportAddTask>
<!--ro, opt, bool, whether the device supports adding a task, desc:related URI: /ISAPI/ContentMgmt/record/passback/addTask/capabilities-->true
</isSupportAddTask>
el .c
<isSupportSearchTask>
<!--ro, opt, bool, whether the device supports searching tasks, desc:related URI: /ISAPI/ContentMgmt/record/passback/searchTask/capabilities-->true
</isSupportSearchTask>
ez
<isSupportControlTask>
<!--ro, opt, bool, whether the device supports controlling the task, desc:related URI: /ISAPI/ContentMgmt/record/passback/controlTask/capabilities--
en
>true
</isSupportControlTask>
<isSupportDeleteTask>
im
<!--ro, opt, bool, whether the device supports deleting the task, desc:related URI: /ISAPI/ContentMgmt/record/passback/deleteTask/capabilities-->true
</isSupportDeleteTask>
ng
</PassBackTaskConfig>
Aj
<PassBackPlanConfig>
Co
m
<!--ro, req, string, video file name, range:[1,100], attr:min{req, int},max{req, int}-->test
co
</recordName>
<command opt="lock,unlock">
<!--ro, req, enum, operation command, subType:string, attr:opt{req, string}, desc:"lock", "unlock"-->lock
a.
</command>
<duration min="1" max="10">
C. arc
<!--ro, opt, int, lock time, unit:s, dep:and,{$.LockByName.command,eq,lock}, attr:min{req, int},max{req, int}, desc:0: lock permanently-->1
</duration>
<recorderCode min="1" max="100">
<!--ro, opt, string, video recorder No., attr:min{req, int},max{req, int}-->test
s, em
</recorderCode>
<policeCode min="1" max="100">
A
<!--ro, opt, string, police No., attr:min{req, int},max{req, int}-->test
no fr
</policeCode>
</LockByName>
<LockByTime>
ri on
<!--ro, opt, object, lock/unlock video by time-->
<TrackId>
Ma oc
<!--ro, req, string, channel stream ID, desc:channel No. * 100 + stream type (-1: main stream, -2: sub-stream)-->101
</TrackId>
<recordType opt="ALL,MANUAL,CMR,MOTION,ALARM,EDR,ALARMANDMOTION,COMMAND,SMART">
up
<!--ro, req, enum, recording type, subType:string, attr:opt{req, string}, desc:"ALL" (all videos), "MANUAL" (manual recording), "CMR" (capture by
schedule), "MOTION" (capture motion detection pictures), "ALARM" (capture alarm pictures), "EDR"(capture alarm pictures or motion detection pictures),
"ALARMANDMOTION" (capture alarm pictures and motion detection pictures), "Command" (command-based recording), "SMART" (smart recording)-->ALL
co gr
</recordType>
<startDateTime>
es a@
</endDateTime>
<command opt="lock,unlock">
y ema
<!--ro, req, enum, operation command, subType:string, attr:opt{req, string}, desc:“lock”, “unlock”-->lock
</command>
<duration min="1" max="10">
<!--ro, opt, int, lock time, unit:s, dep:and,{$.LockByName.command,eq,lock}, attr:min{req, int},max{req, int}, desc:0: lock permanently-->1
os fr
</duration>
</LockByTime>
</LockCap>
ad on
<isSupportForamtAll>
<!--ro, opt, bool, whether the device supports formatting all HDDs, desc:related URI: /ISAPI/ContentMgmt/Storage/hdd/format-->true
el .c
</isSupportForamtAll>
<isSupportExtendCabinetCfg>
<!--ro, opt, bool, whether it supports enclosure configuration, desc:related URI: /ISAPI/ContentMgmt/Storage/ExtendCabinet/capabilities-->true
ez
</isSupportExtendCabinetCfg>
<diskGroupNums>
<!--ro, opt, int, supported number of disk groups, desc:related URI: /ISAPI/ContentMgmt/Storage/diskGroup-->0
en
</diskGroupNums>
<ExternalDevice>
im
<debugLogOutput>
<!--ro, opt, bool, whether to enable the debugging log, desc:related URI: /ISAPI/ContentMgmt/Storage/externalDevice/USB?format=json-->true
Co
</debugLogOutput>
<isSupportCapturePackage>
<!--ro, opt, bool, whether the device supports configuring capture and filter function of a USB, desc:related URI:
/ISAPI/ContentMgmt/Storage/externalDevice/USB/capturePackage/capabilities?format=json-->true
</isSupportCapturePackage>
<isSupportStreamStorage>
<!--ro, opt, bool, whether the device supports saving stream to a USB, desc:related URI:
/ISAPI/ContentMgmt/Storage/externalDevice/USB/streamStorage/capabilities?format=json-->true
</isSupportStreamStorage>
</USB>
</ExternalDevice>
<customProtocolNums>
<!--ro, opt, int, number of custom protocols connected via IPC, desc:related URI: /ISAPI/ContentMgmt/InputProxy/customProtocols-->0
</customProtocolNums>
<isSupportIPCTiming>
<!--ro, opt, bool, whether the device supports synchronizing the time of the network camera, desc:relate to enableTiming on URI:
/ISAPI/ContentMgmt/InputProxy/channels/<ID>-->true
</isSupportIPCTiming>
<isSupportLogConfig>
<!--ro, opt, bool, whether the device supports log configuration, desc:related URI: /ISAPI/ContentMgmt/logConfig/capabilities-->true
</isSupportLogConfig>
<SecurityLog>
<!--ro, opt, object, security log-->
<isSupportSecurityLog>
<!--ro, opt, bool, whether the device supports the security log-->true
</isSupportSecurityLog>
<isSupportLogServer>
<!--ro, opt, bool, whether it supports security log server configuration-->true
</isSupportLogServer>
<isSupportLogServerTest>
<!--ro, opt, bool, whether it supports security log server test-->true
</isSupportLogServerTest>
<SecurityLogTypeList>
<!--ro, req, array, list of security log types, subType:object-->
<SecurityLogType>
<!--ro, opt, object, list of log types-->
<primaryType>
<!--ro, req, enum, main log type, subType:string, desc:"Event", "Operation", "Other" (other types), "All" (all types)-->Event
</primaryType>
m
<secondaryType opt="test">
co
<!--ro, req, enum, sub type, subType:string, attr:opt{req, string}, desc:see other types on the appendix. "all" (all types)-->all
</secondaryType>
</SecurityLogType>
a.
</SecurityLogTypeList>
</SecurityLog>
<isSupportGetBackupDevice>
C. arc
<!--ro, opt, bool, whether the device supports getting the backup device, desc:related URI: /ISAPI/ContentMgmt/Storage/backup/device?format=json-->true
</isSupportGetBackupDevice>
<isSupportAutoBackup>
<!--ro, opt, bool, whether the device supports automatic backup, desc:related URI: /ISAPI/ContentMgmt/Storage/backup/auto/capabilities?format=json--
s, em
>true
A
</isSupportAutoBackup>
no fr
<certificateValidationEnabled>
<!--ro, opt, bool, whether to enable the certification validation, desc:related to certificateValidationEnabled on URI:
/ISAPI/ContentMgmt/InputProxy/channels/<ID>-->true
ri on
</certificateValidationEnabled>
<defaultAdminPortEnabled>
<!--ro, opt, bool, whether to enable the default communication port, desc:related to defaultAdminPortEnabled on the URI:
Ma oc
/ISAPI/ContentMgmt/InputProxy/channels/<ID>-->true
</defaultAdminPortEnabled>
up
<iSptInputProxyChanCap>
<!--ro, opt, bool, whether the device supports getting the capability set of the digital channels, desc:related URI:
/ISAPI/ContentMgmt/InputProxy/channels/capabilities-->true
co gr
</iSptInputProxyChanCap>
<isSupportLogDataPackage>
<!--ro, opt, bool, whether the device supports exporting the log files, desc:related URI: /ISAPI/ContentMgmt/logSearch/dataPackage-->true
es a@
</isSupportLogDataPackage>
<logSearchTimeSpanNums>
<!--ro, opt, int, number of time periods for log search, desc:relate to timeSpanList on URI: /ISAPI/ContentMgmt/logSearch中CMSearchDescription-->0
Fr rc
</logSearchTimeSpanNums>
<CloudStorageServerCap>
y ema
</isSupportCloudStorageParameter>
<isSupportCloudStoragePool>
<!--ro, opt, bool, whether the device supports configuring the cloud storage pool, desc:related URI:
ad on
/ISAPI/ContentMgmt/Storage/cloudServer/pool/capabilities?format=json-->true
</isSupportCloudStoragePool>
<supportChannelsNum>
el .c
<protocolType opt="videoStreamingOS">
<!--ro, opt, enum, subType:string, attr:opt{req, string}-->videoStreamingOS
</protocolType>
en
</CloudStorageServerCap>
<isSupportWebPrivatePlaybackByUTC>
<!--ro, opt, bool, whether it supports playback based on Web private protocol-->true
im
</isSupportWebPrivatePlaybackByUTC>
<isSupportFindCommonFileByUTC>
ng
Aj
<!--ro, opt, bool, whether it supports searching for ordinary files (private protocols) by UTC time-->true
</isSupportFindCommonFileByUTC>
Co
<isSupportFindEventFileByUTC>
<!--ro, opt, bool, whether it supports extending the time zone for searching files by event-->true
</isSupportFindEventFileByUTC>
<isSupportSmartSearchRecordByUTC>
<!--ro, opt, bool, whether it supports VCA search by UTC time-->true
</isSupportSmartSearchRecordByUTC>
<isSupportMRDSearchByTimeZone>
<!--ro, opt, bool, whether it supports searching for files (private protocols) by monthly calendar by UTC time-->true
</isSupportMRDSearchByTimeZone>
<isSupportSearchRecordLabelByUTC>
<!--ro, opt, bool, whether it supports searching for video tags by UTC time-->true
</isSupportSearchRecordLabelByUTC>
<isSupportSearchPictureByUTC>
<!--ro, opt, bool, whether it supports searching for pictures by UTC time-->true
</isSupportSearchPictureByUTC>
<isSupportSmartSearchPictureByUTC>
<!--ro, opt, bool, whether it supports smart pictures search by UTC time-->true
</isSupportSmartSearchPictureByUTC>
<isSupportFindLogByUTC>
<!--ro, opt, bool, whether it supports searching log by UTC time-->true
</isSupportFindLogByUTC>
<isSupportUploadRecordByUTC>
<!--ro, opt, bool, whether it supports uploading files to cloud storage by UTC time-->true
</isSupportUploadRecordByUTC>
</isSupportUploadRecordByUTC>
<isSupportPlaybackByUTC>
<!--ro, opt, bool, whether it supports playback and locating by UTC time-->true
</isSupportPlaybackByUTC>
<isSupportFaceDetecttionAlarmByTimeZone>
<!--ro, opt, bool, whether it supports reporting face detection by UTC time, desc:the time should be before isSupportCountingSearchByUTC and after
isSupportPlaybackByUTC-->true
</isSupportFaceDetecttionAlarmByTimeZone>
<isSupportSourceModify>
<!--ro, opt, bool, whether it supports configuring parameters of the LAN IPC, desc:related URI: /ISAPI/ContentMgmt/InputProxy/sourceModify/capabilities-
->true
</isSupportSourceModify>
<isSupportCountingSearchByUTC>
<!--ro, opt, bool, whether it supports searching people counting results by UTC time-->true
</isSupportCountingSearchByUTC>
<isSupportCluster>
m
<!--ro, opt, bool, whether it supports cluster function, desc:related URI: /ISAPI/ContentMgmt/Cluster-->true
</isSupportCluster>
co
<supportAIDTFSType opt="illegalParking,wrongdirection,crosslane,vehicleexist,lanechange,turnround,evidence">
<!--ro, opt, enum, supported AIDTFS types, subType:string, attr:opt{req, string}, desc:"illegalParking", "wrongdirection" (wrong-way driving),
a.
"crosslane"(driving on the lane line), "vehicleexist" (vehicle on non-motor vehicle lane), "lanechange" (illegal lane change detection), "turnround"
(illegal U-turning detection), "evidence" (face picture collection)-->illegalParking
</supportAIDTFSType>
C. arc
<isSupportMisinfoStateSearch>
<!--ro, opt, bool, whether it supports searching by false alarm status-->true
</isSupportMisinfoStateSearch>
<isSupportOneKeyOperationStorageData>
s, em
<!--ro, opt, bool, whether it supports one-touch configuration for storage data, desc:related URI: /ISAPI/ContentMgmt/Storage/oneKey/capabilities?
format=json-->true
A
</isSupportOneKeyOperationStorageData>
no fr
<eventRecordSearch>
<!--ro, opt, object, whether the device supports searching videos by event, desc:related URI: /ISAPI/ContentMgmt/eventRecordSearch?format=json-->
<eventType
ri on
opt="all,batch,alarmResult,faceSnap,vehicleMatchResult,hawkResult,VMD,alarmIn,inquestAlarm,behavior,posAlarm,accessControllerEvent,IOTD,trialAlarm,rapidMove
,defocus,scenechangedetection,PIR,fireSmartFireDetect,shipsDetection,TMA,TDA,framesPeopleCounting,personQueueTime,peopleDetection,safetyHelmetDetection,mixe
Ma oc
dTargetDetection,TMPA,smokeDetection,smokeAndFireDetection,abnormalReboot,audioexception,ANPR,objectsThrownDetection,audioAnalysis,HFPD,shelteralarm,cityMan
agement">
<!--ro, opt, enum, event type, subType:string, attr:opt{req, string}, desc:"all", "batch", "vehicleMatchResult" (vehicle comparison), "hawkResult"
up
(video analysis task), "faceContrast" (face picture comparison), "faceSnap" (face capture), "VMD", "alarmIn" (alarm input), "inquestAlarm", "behavior"
(abnormal event detection), "posAlarm", "accessControllerEvent", "IOTD", "trialAlarm", "rapidMove", "defocus", "scenechangedetection", "PIR",
"fireSmartFireDetect", "shipsDetection", "TMA", "TDA", "framesPeopleCounting", "personQueueTime", "peopleDetection", "safetyHelmetDetection",
co gr
</eventType>
<recordChannelListSize>
<!--ro, opt, int, maximum size of the value of recordChannelList-->16
Fr rc
</recordChannelListSize>
<triggerChannelsSize>
<!--ro, opt, int, maximum size of the value of triggerChannels-->16
y ema
</triggerChannelsSize>
<alarmResultAuxEventType opt="all,alarmResultFailure,alarmResultSuccess,whiteList">
<!--ro, opt, enum, sub-type of face picture comparison alarm, subType:string, dep:and,{$.RacmCap.eventRecordSearch.eventType,eq,alarmResult},
attr:opt{req, string}, desc:"alarmResultFailure" (face picture comparison failed), "alarmResultSuccess" (face picture comparison succeeded), "whiteList"
os fr
<inquestParam>
<!--ro, opt, object, interrogation information, dep:and,{$.EventSearchDescription.eventType,eq,inquestAlarm}-->
<inquestEventType opt="any,inquestStart,inquestStop,inquestTag,inquestSegment">
el .c
<!--ro, opt, enum, interrogation information, subType:string, attr:opt{req, string}, desc:"any", "inquestStart" (interrogation start), "inquestStop"
(interrogation stop), "inquestTag" (marked information), "inquestSegment" (interrogation segment status)-->any
</inquestEventType>
ez
</inquestParam>
<behavior>
im
opt="any,linedetection,regionEntrance,regionExiting,fielddetection,loitering,parking,violentMotion,group,unattendedBaggage,attendedBaggage,audioAbnormal">
Aj
<!--ro, req, enum, abnormal event detection event type, subType:string, attr:opt{req, string}, desc:"any", "linedetection" (line crossing
detection), "regionEntrance", "regionExiting", "fielddetection" (intrusion detection), "loitering" (loitering detectionparking), "parking" (parking
Co
detection), "violentMotion", "group" (people gathering), "unattendedBaggage", "attendedBaggage" (object removal), "audioAbnormal" (sudden change of sound
intensity detection)-->any
</behaviorEventType>
<falseAlarmType opt="all,falseAlarmFilterate" def="all">
<!--ro, opt, enum, subType:string, attr:opt{req, string},def{req, string}-->all
</falseAlarmType>
</behavior>
<posAlarm>
<!--ro, opt, object, pos event, dep:and,{$.EventSearchDescription.eventType,eq,posAlarm}, desc:it is recorded in the device, not in the internet-->
<caseSensitive opt="true,false">
<!--ro, req, bool, whether it is case-sensitive, attr:opt{req, string}-->false
</caseSensitive>
<combinateMode opt="and,or">
<!--ro, req, enum, keyword combination, subType:string, attr:opt{req, string}, desc:"and", "or"-->and
</combinateMode>
<keyword size="3">
<!--ro, opt, string, keyword, attr:size{req, int}-->test
</keyword>
</posAlarm>
<trialParam>
<!--ro, opt, object, trial event, dep:and,{$.EventSearchDescription.eventType,eq,trialAlarm}-->
<trialEventType opt="any,trialStart,trialStop,trialTag,trialSegment,trialJudge">
<!--ro, opt, enum, trial information, subType:string, attr:opt{req, string}, desc:"any", "trialStart" (trial start), ‘trialStop" (trial stop),
<!--ro, opt, enum, trial information, subType:string, attr:opt{req, string}, desc:"any", "trialStart" (trial start), ‘trialStop" (trial stop),
"trialTag" (marked information), "trialSegment" (trial segment status), "trialJudge" (trial case information)-->any
</trialEventType>
<caseNo min="0" max="56">
<!--ro, req, string, case No., range:[0,56], attr:min{req, int},max{req, int}-->test
</caseNo>
<caseName>
<!--ro, opt, string, case name, range:[0,100]-->test
</caseName>
<litigant1 min="0" max="32">
<!--ro, opt, string, litigant 1, range:[0,32], attr:min{req, int},max{req, int}-->test
</litigant1>
<litigant2 min="0" max="32">
<!--ro, opt, string, litigant 2, range:[0,32], attr:min{req, int},max{req, int}-->test
</litigant2>
<chiefJudge min="0" max="32">
<!--ro, opt, string, judge, range:[0,32], attr:min{req, int},max{req, int}-->test
m
</chiefJudge>
co
<caseType opt="0,1,2">
<!--ro, opt, enum, case type, subType:int, attr:opt{req, string}, desc:0 (all), 1 (criminal case), 2 (civil case)-->0
</caseType>
a.
</trialParam>
<accessControllerEvent>
<!--ro, opt, object, access control event, dep:and,{$.EventSearchDescription.eventType,eq,accessControllerEvent}-->
C. arc
<majorEventType>
<!--ro, opt, int, alarm main type, desc:see details in macro definition-->0
</majorEventType>
<subEventType>
s, em
<!--ro, opt, int, alarm sub type, desc:see details in macro definition-->0
A
</subEventType>
no fr
<cardNo min="0" max="32">
<!--ro, opt, string, card No., range:[0,32], attr:min{req, int},max{req, int}-->test
</cardNo>
ri on
<name min="0" max="32">
<!--ro, opt, string, name, range:[0,32], attr:min{req, int},max{req, int}-->test
</name>
Ma oc
<MACAddr min="0" max="12">
<!--ro, opt, string, MAC address, range:[0,12], attr:min{req, int},max{req, int}-->test
up
</MACAddr>
</accessControllerEvent>
<IOTD>
co gr
<DeviceEventType>
<!--ro, opt, object, sub event type-->
Fr rc
<subEventType>
s
<!--ro, opt, string, sub event type, desc:see details in the node IoTEventType of Data Dictionary-->test
</subEventType>
y ema
</DeviceEventType>
</DeviceEventTypeList>
<IoTchannelID size="256">
<!--ro, opt, string, channel No., attr:size{req, int}, desc:search all channels if the node does not exists-->test
os fr
</IoTchannelID>
<caseSensitive opt="true,false">
<!--ro, req, bool, whether it is case-sensitive, attr:opt{req, string}-->false
ad on
</caseSensitive>
<combinateMode opt="and,or">
<!--ro, req, enum, keyword combination, subType:string, attr:opt{req, string}, desc:"and", "or"-->and
el .c
</combinateMode>
<keyword size="3">
ez
<!--ro, opt, int, zone No., attr:min{req, int},max{req, int}, desc:it is valid only when deviceType==2&&subEventType=="zone"-->1
</zonNo>
</IOTD>
im
<AudioAnalysis>
ng
<targetType
opt="all,robbery,help,remittance,comment,fraud,cardNo,confirm,certificateID,certificateNumber,passWord,breakevenInterest,invest,noRisk,riskLow,riskSmall,tra
Co
nsfer,transferMoney,sureEarnNoLose,onlyEarnNoLose,financing,noLose,borrowMoney,hightReturn,highInterestRates,highYield">
<!--ro, req, enum, audio analysis type, subType:string, attr:opt{req, string}, desc:"all", "robbery", "help", "remittance", "comment", "fraud",
"cardNo" (card No.), "confirm", "certificateID", "certificateNumber", "passWord", "breakevenInterest" (break-even), "invest", "noRisk", "riskLow" (low
risk), "riskSmall" (small risk), "transfer", "transferMoney", "sureEarnNoLose" (earn without losing), "onlyEarnNoLose" (earn without losing), "financing",
"noLose" (not lose), "borrowMoney", "hightReturn", "highInterestRates" (high interest rate), "highYield"-->all
</targetType>
</AudioAnalysis>
<objectsThrownDetection>
<!--ro, opt, object, objects thrown from heights detection, dep:and,{$.EventSearchDescription.eventType,eq,objectsThrownDetection}-->
<alarmLevel opt="1,2,3">
<!--ro, req, enum, alarm level, subType:string, attr:opt{req, string}, desc:"1" (low), "2" (medium), "3" (high). It is categorized into three levels
according to the target track and the actual event credibility. The higher the level, the greater the credibility of the alarm being triggered by an actual
object thrown from building event. This node should be configured in the rule to filter alarm event uploading.-->1
</alarmLevel>
<floorID min="-100" max="100">
<!--ro, opt, int, floor range, attr:min{req, int},max{req, int}-->1
</floorID>
</objectsThrownDetection>
<HFPDSearch>
<!--ro, opt, object, dep:and,{$.EventSearchDescription.eventType,eq,HFPD}-->
<conditionType opt="greaterThan,equal,lessThan,notEqual,greaterThanOrEqual,lessThanOrEqual">
<!--ro, req, enum, subType:string, attr:opt{req, string}-->greaterThan
</conditionType>
<occurrences min="0" max="100" def="1">
<occurrences min="0" max="100" def="1">
<!--ro, opt, int, attr:min{req, int},max{req, int},def{req, int}-->1
</occurrences>
</HFPDSearch>
<cityManagement>
<!--ro, opt, object, dep:and,{$.RacmCap.eventRecordSearch.eventType,eq,cityManagement}-->
<subEventType opt="unregisteredStreetVendor,stallOutsideShop,stallOccupyingRoad">
<!--ro, opt, string, attr:opt{req, string}-->unregisteredStreetVendor
</subEventType>
</cityManagement>
</eventRecordSearch>
<isSupportManualRecord>
<!--ro, opt, bool, whether the device supports manual recording, desc:related URI: /ISAPI/ContentMgmt/record/control/manual/capabilities?format=json--
>true
</isSupportManualRecord>
<isSupportRemark>
m
<!--ro, opt, bool, whether the device supports file remarks-->true
</isSupportRemark>
co
<FileUpload>
<!--ro, opt, object, auto-upload file-->
a.
<enabled>
<!--ro, req, bool, whether the device supports uploading the file-->true
</enabled>
C. arc
</FileUpload>
<PoliceInfoUpload>
<!--ro, opt, object, auto-upload police information-->
<enabled>
s, em
<!--ro, req, bool, whether the device supports uploading the police information-->true
</enabled>
A
</PoliceInfoUpload>
no fr
<PoliceInfo>
<!--ro, opt, object, police officer information-->
ri on
<policeID>
<!--ro, opt, bool, whether the device supports police ID-->true
</policeID>
Ma oc
<policeCode>
<!--ro, opt, bool, whether the device supports police number-->true
</policeCode>
up
<policeName>
<!--ro, opt, bool, whether the device supports police name-->true
co gr
</policeName>
<password>
<!--ro, opt, bool, whether the device supports police password-->true
es a@
</password>
<deviceID>
<!--ro, opt, bool, whether the device supports device ID-->true
Fr rc
</deviceID>
<isSupportPoliceFacePicture>
<!--ro, opt, bool, whether the device supports managing the police face picture,
y ema
desc:related URL:
/ISAPI/ContentMgmt/police/<policeID>?format=json,
/ISAPI/ContentMgmt/police?format=json,
/ISAPI/ContentMgmt/police/deleteFacePicture?format=json-->true
os fr
</isSupportPoliceFacePicture>
</PoliceInfo>
ad on
<isSupportAssignChannelID>
<!--ro, opt, bool, whether the device supports specifying the access channel No. when adding the network camera, desc:related to channelID on URI:
/ISAPI/ContentMgmt/InputProxy/channels/<ID>-->true
el .c
</isSupportAssignChannelID>
<isSupportAssignStreamID>
<!--ro, opt, bool, whether the device supports specifying stream ID of the channel when adding the network camera, desc:related to streamID on URI:
ez
/ISAPI/ContentMgmt/InputProxy/channels/<ID>-->true
</isSupportAssignStreamID>
en
<PictureSearchSubTypeList>
<!--ro, opt, object, list of picture searching sub type-->
<PictureSearchSubType>
im
<!--ro, req, enum, main event type of the searched picture, subType:string, desc:"vehicleDetection", "HVTVehicleDetection" (mixed-traffic
Aj
detection)-->vehicleDetection
</mainType>
Co
<subType opt="all,motorVehicle,nonMotorVehicle,pedestrian">
<!--ro, req, enum, sub type of each main event type, subType:string, attr:opt{req, string}, desc:"all", "motorVehicle", "nonMotorVehicle",
"pedestrian"-->all
</subType>
</PictureSearchSubType>
</PictureSearchSubTypeList>
<isSupportPlaybackStreamIDByUTC>
<!--ro, opt, bool, whether it supports playback by stream ID according to UTC time-->true
</isSupportPlaybackStreamIDByUTC>
<isSupportTimeLockStreamIDByUTC>
<!--ro, opt, bool, whether it supports locking and unlocking the video segment by steam ID according to UTC time-->true
</isSupportTimeLockStreamIDByUTC>
<isSupportTimeSearch>
<!--ro, opt, bool, whether it supports searching for recording start and end time by channel, desc:/ISAPI/ContentMgmt/time/search?format=json-->true
</isSupportTimeSearch>
<behaviorEventPicSearch opt="allBehaviorEvent,running,group,violentMotion,failDown,playCellphone,peopleNumChange,leavePosition,retention,sleepOnduty">
<!--ro, opt, string, whose pictures are supported to be searched, attr:opt{req, string}, desc:it is displayed on the Web Client currently-->test
</behaviorEventPicSearch>
<perimeterEventPicSearch opt="allPerimeterEvent,linedetection,fielddetection,regionEntrance,regionExiting,loitering">
<!--ro, opt, string, perimeter protection events whose pictures are supported to be searched, attr:opt{req, string}, desc:it is displayed on the Web
Client currently-->test
</perimeterEventPicSearch>
<isSupportSourceStatus>
<isSupportSourceStatus>
<!--ro, opt, bool, whether it supports getting source status-->true
</isSupportSourceStatus>
<isSupportSSDSMARTTest>
<!--ro, opt, bool, whether the device supports S.M.A.R.T. detection on SSD, desc:related URI: /ISAPI/ContentMgmt/Storage/ssd/<ID>/SMARTTest/start-->true
</isSupportSSDSMARTTest>
<MobileStorage>
<!--ro, opt, object, storage capability of the mobile HDD-->
<isSupportGetFileTime>
<!--ro, opt, bool, whether it supports getting the file time of the mobile HDD, desc:it supports mobile HDD currently.
/ISAPI/ContentMgmt/mobileStorage/fileTime/capabilities?format=json-->true
</isSupportGetFileTime>
</MobileStorage>
<isSupportGetChannelList>
<!--ro, opt, bool, whether it supports getting channels of the HDD, desc:it supports HDD currently.
/ISAPI/ContentMgmt/Storage/hdd/channelList/capabilities?format=json-->true
</isSupportGetChannelList>
m
<isSupportCascade>
co
<!--ro, opt, bool, whether it supports configuring parameters for NVR cascading topology-->true
</isSupportCascade>
<isSupportFileManagement>
a.
<!--ro, opt, bool, whether it supports configuring file management. /ISAPI/ContentMgmt/fileManagement/capabilities?format=json, desc:related URI:
/ISAPI/ContentMgmt/fileManagement/capabilities?format=json-->true
C. arc
</isSupportFileManagement>
<isSupportPictureInfo>
<!--ro, opt, bool, whether it supports picture search on the SD card of the capture camera-->true
</isSupportPictureInfo>
s, em
<isSupportChanStatusPage>
<!--ro, opt, string, whether it supports searching the digital channel by page, desc:related URI:
A
/ISAPI/ContentMgmt/InputProxy/channels/statusPage/capabilities-->test
no fr
</isSupportChanStatusPage>
<isSupportRecordSearchByTargetType>
<!--ro, opt, bool, whether it supports searching the event record by target (pedestrian/vehicles)-->true
ri on
</isSupportRecordSearchByTargetType>
<storIpcStartNo>
<!--ro, opt, int, the first IP channel No. of the record, desc:it is supported by Hikmed Imaging Technology-->0
Ma oc
</storIpcStartNo>
<maxRecordIpcNum>
up
<!--ro, opt, int, number of the IP channels which support recording, desc:it is supported by Hikmed Imaging Technology-->0
</maxRecordIpcNum>
<maxConferenceIpcNum>
co gr
<!--ro, opt, int, number of the meeting IP channels, desc:it is supported by Hikmed Imaging Technology-->0
</maxConferenceIpcNum>
<decIpcStartNo>
es a@
<!--ro, opt, int, start No. of screen mirroring IP channels, desc:it is supported by Hikmed Imaging Technology-->0
</decIpcStartNo>
Fr rc
<maxDecodeIpcNum>
s
<!--ro, opt, int, number of screen mirroring IP channels, desc:it is supported by Hikmed Imaging Technology-->0
</maxDecodeIpcNum>
y ema
<pipIpcStartNo>
<!--ro, opt, int, start No. of the integrated IP channels, desc:it is supported by Hikmed Imaging Technology-->0
</pipIpcStartNo>
<maxPipIpcNum>
os fr
<!--ro, opt, int, number of the integrated IP channels, desc:it is supported by Hikmed Imaging Technology-->0
</maxPipIpcNum>
<isSupportLogSearch>
ad on
<isSupportRecordSearch>
<!--ro, opt, bool, whether it supports video search-->true
</isSupportRecordSearch>
ez
<isSupportRecordDownload>
<!--ro, opt, bool, whether it supports video downloading-->true
</isSupportRecordDownload>
en
<isSupportPnp opt="true,false">
<!--ro, opt, bool, whether it supports configuring plug-and-play for the network camera, attr:opt{req, string}-->true
im
</isSupportPnp>
<esataUseage>
ng
</esataUseage>
<subType opt="all,leave,on,sleep">
Co
<!--ro, opt, enum, absence sub type, subType:string, attr:opt{req, string}, desc:"all", "leave" (absence), "on" (on duty), "sleep" (sleeping on duty)--
>all
</subType>
<isSupportManualBackup>
<!--ro, opt, bool, whether it supports manual backup, desc:related URI: /ISAPI/ContentMgmt/Storage/backup/manual/capabilities?format=json-->true
</isSupportManualBackup>
<isSupportLinkToIPCWeb>
<!--ro, opt, bool, whether it supports going to the Web Client of the network camera (on the digital channel management), desc:it is supported only when
it is used on the device and Web Client in pair-->true
</isSupportLinkToIPCWeb>
<isSupportIPCConfigCSV>
<!--ro, opt, bool, whether the device supports importing the configuration file of the network camera, desc:related URI:
/ISAPI/ContentMgmt/InputProxy/ipcConfigCSV?format=json-->true
</isSupportIPCConfigCSV>
<isSupportExperimentExam>
<!--ro, opt, bool, whether it supports the related function of the experiment exam, desc:related URI: /ISAPI/ContentMgmt/experimentExam/capabilities?
format=json-->true
</isSupportExperimentExam>
<isSupportPOSRecordSearch>
<!--ro, opt, bool, whether it supports POS video research, desc:related URI: /ISAPI/ContentMgmt/POSRecord/search/capabilities-->true
</isSupportPOSRecordSearch>
<isSupportSpare>
<!--ro, opt, bool, whether the device supports hot spare configuration, desc:related capability set: /ISAPI/ContentMgmt/spare/capabilities?format=json--
>true
>true
</isSupportSpare>
<isSupportTracksDates>
<!--ro, opt, bool, whether it supports configuring video schedule by calendar, desc:related URI: /ISAPI/ContentMgmt/record/tracks/dates/capabilities?
format=json-->true
</isSupportTracksDates>
<isSupportRecordAudio>
<!--ro, opt, bool, whether the device supports recording the audio, desc:only the video will be recorded and the video will not be recorded related URI:
/ISAPI/ContentMgmt/recordAudio/<audioID>/capabilities?format=json-->true
</isSupportRecordAudio>
<isSupportSearchAudio>
<!--ro, opt, bool, whether the device supports searching the audio, desc:related URI: /ISAPI/ContentMgmt/recordAudio/search/capabilities?format=json--
>true
</isSupportSearchAudio>
<isSupportAudioDailyDistribution>
<!--ro, opt, bool, whether it supports searching for audio file information by monthly calendar, desc:related URI:
m
/ISAPI/ContentMgmt/recordAudio/<audioID>/searchDailyDistribution?format=json-->true
co
</isSupportAudioDailyDistribution>
<isSupportDownloadAudio>
<!--ro, opt, bool, whether it supports downloading audio files by file name, desc:related URI:
a.
/ISAPI/ContentMgmt/recordAudio/fileNameDownload/capabilities?format=json-->true
</isSupportDownloadAudio>
<isSupportDeleteAudio>
C. arc
<!--ro, opt, bool, whether the device supports deleting the recorded audio file, desc:Related URI: /ISAPI/ContentMgmt/recordAudio/deleteFile?
format=json-->true
</isSupportDeleteAudio>
<isSupportEventRecordCfg>
s, em
<!--ro, opt, bool, whether it supports configuring event video parameters, desc:related URI: /ISAPI/ContentMgmt/eventRecordCfg?format=json-->true
</isSupportEventRecordCfg>
A
<isSupportSearchRemoteAlbum>
no fr
<!--ro, opt, bool, whether the device supports searching the remote album information, desc:related URI: /ISAPI/ContentMgmt/searchRemoteAlbum?
format=json-->true
ri on
</isSupportSearchRemoteAlbum>
<isNotSupportTracks>
<!--ro, opt, bool, whether it does not support recording schedule, desc:true will be returned if it is not supported NVR/CVRs support recording
Ma oc
schedule. This device does not support configuring recording schedule so the capability is added unsupported URI:
/ISAPI/ContentMgmt/record/tracks/<trackStreamID>/capabilities and /ISAPI/ContentMgmt/record/tracks and /ISAPI/ContentMgmt/record/tracks/<trackStreamID>--
>true
up
</isNotSupportTracks>
<isSupportTFCardConfig>
co gr
<!--ro, opt, bool, whether the device supports function switch of the extended TF card: /ISAPI/ContentMgmt/TFCardConfig/capabilities?format=json-->true
</isSupportTFCardConfig>
<isSupportDockStationFileStorageDuration>
es a@
<!--ro, opt, bool, whether the device supports configuring the retention period of files, desc:related URI:
/ISAPI/ContentMgmt/dockStationFile/DockStationFileStorageDuration?format=json-->true
</isSupportDockStationFileStorageDuration>
Fr rc
<isSupportDockStationFileAcquisitionMode>
<!--ro, opt, bool, whether the device supports configuring the file collection mode, desc:related URI:
y ema
/ISAPI/ContentMgmt/dockStationFile/DockStationFileAcquisitionMode?format=json-->true
</isSupportDockStationFileAcquisitionMode>
<isSupportSSDAbnormalCfg>
<!--ro, opt, bool, whether the device supports SSD exception detection parameters, desc:/ISAPI/ContentMgmt/Storage/ssd/SSDAbnormalCfg/capabilities?
os fr
format=json-->true
</isSupportSSDAbnormalCfg>
<isSupportAudioQuota>
ad on
<!--ro, opt, bool, whether the device supports audio recording quota, desc:GET/PUT /ISAPI/ContentMgmt/channels/<audioID>/AudioQuota?format=json-->true
</isSupportAudioQuota>
<targetRegionEventPicSearch opt="linedetection,fielddetection,regionEntrance,regionExiting,VMD">
el .c
<!--ro, opt, string, event type supported to return target region in the picture when searching for pictures, attr:opt{req, string}-->test
</targetRegionEventPicSearch>
<isSupportAudioChanCap>
ez
<!--ro, opt, bool, whether the device supports managing audio channel resources, desc:related URL: /ISAPI/ContentMgmt/audioChannel/capabilities?
format=json-->true
en
</isSupportAudioChanCap>
<isSupportImportEnforcementWorkFile>
<!--ro, opt, bool, whether the device supports importing the law enforcement working file, desc:POST /ISAPI/ContentMgmt/ImportEnforcementWorkFile?
im
format=json-->true
</isSupportImportEnforcementWorkFile>
ng
<isSupportEnforcementProjectInfo>
Aj
<!--ro, opt, bool, whether the device supports getting the project information of the body camera for law enforcement, desc:GET/PUT
Co
/ISAPI/ContentMgmt/EnforcementProjectInfo?format=json-->true
</isSupportEnforcementProjectInfo>
<isSupportTriggerVoiceMonitoringHistoryEventRetrans>
<!--ro, opt, bool, whether the device supports reloading audio files of the history event of triggering human voice monitoring, desc:POST
/ISAPI/ContentMgmt/channels/<audioID>/TriggerVoiceMonitoringHistoryEventRetrans?format=json-->true
</isSupportTriggerVoiceMonitoringHistoryEventRetrans>
<isSupportDockStationAudioFileToText>
<!--ro, opt, bool, whether the device supports converting dock station's audio to text, desc:POST /ISAPI/ContentMgmt/DockStationAudioFileToText?
format=json-->true
</isSupportDockStationAudioFileToText>
<isSupportDockStationAudioFileAnalysisKeyWord>
<!--ro, opt, bool, whether the device supports keyword analysis of dock station's audio file, desc:GET/PUT
/ISAPI/ContentMgmt/DockStationAudioFileAnalysisKeyWord?format=json-->true
</isSupportDockStationAudioFileAnalysisKeyWord>
<isSupportStartingUpRecordParams>
<!--ro, opt, bool-->true
</isSupportStartingUpRecordParams>
<isSupportSendLawEnforcementFileUploadInfo>
<!--ro, opt, bool-->true
</isSupportSendLawEnforcementFileUploadInfo>
<isSupportRecordAgeParams>
<!--ro, opt, bool-->true
</isSupportRecordAgeParams>
<isSupportModifyRecordAgeParams>
<isSupportModifyRecordAgeParams>
<!--ro, opt, bool-->true
</isSupportModifyRecordAgeParams>
<isSupportSearchRecordAgeParams>
<!--ro, opt, bool-->true
</isSupportSearchRecordAgeParams>
<isSupportQuotaParams>
<!--ro, opt, bool-->true
</isSupportQuotaParams>
<isSupportSearchAudioRecordPlan>
<!--ro, opt, bool-->true
</isSupportSearchAudioRecordPlan>
<isSupportAddQuotaParams>
<!--ro, opt, bool-->true
</isSupportAddQuotaParams>
<isSupportModifyQuotaParams>
<!--ro, opt, bool-->true
m
</isSupportModifyQuotaParams>
co
<isSupportGetQuotaParams>
<!--ro, opt, bool-->true
</isSupportGetQuotaParams>
a.
<isSupportDeleteQuotaParams>
<!--ro, opt, bool-->true
C. arc
</isSupportDeleteQuotaParams>
<isSupportAddRecordAgeParams>
<!--ro, opt, bool-->true
</isSupportAddRecordAgeParams>
s, em
<isSupportDeleteRecordAgeParams>
<!--ro, opt, bool-->true
A
</isSupportDeleteRecordAgeParams>
no fr
<isSupportAutoRecordSynthesisParams>
<!--ro, opt, bool-->true
</isSupportAutoRecordSynthesisParams>
ri on
<isSupportGetSSDSystemConfigRecoverProgress>
<!--ro, opt, bool-->true
Ma oc
</isSupportGetSSDSystemConfigRecoverProgress>
<isSupportSSDSystemConfigRecover>
<!--ro, opt, bool-->true
up
</isSupportSSDSystemConfigRecover>
<isSupportSSDSystemConfigState>
<!--ro, opt, bool-->true
co gr
</isSupportSSDSystemConfigState>
</RacmCap>
es a@
Fr rc
Request URL
GET /ISAPI/Security/capabilities?username=<userName>
os fr
Query Parameter
ad on
Request Message
None
en
Response Message
im
ng
Aj
m
versions that support encrypting the sensitive information-->true
</isSupportUserCheck>
co
<isSupportGUIDFileDataExport>
<!--ro, opt, bool, whether the device supports exporting the device's GUID file, desc:related URI: /ISAPI/Security/GUIDFileData-->true
a.
</isSupportGUIDFileDataExport>
<isSupportSecurityQuestionConfig>
<!--ro, opt, bool, whether the device supports answering security questions, desc:related URI: /ISAPI/Security/questionConfiguration-->true
C. arc
</isSupportSecurityQuestionConfig>
<supportSecurityNode opt="wirelessServer,wirelessDial">
<!--ro, opt, string, additional node for supporting sensitive information encryption, attr:opt{req, string},
desc:in the earlier version of the solution for encrypting the sensitive information via ISAPI (i.e., the solution for transmitting plaintext via ISAPI),
s, em
some URIs containing sensitive information are left out now these URIs need to be encrypted for transmission, this capability node is added to be compatible
with old devices
A
if wirelessServer in this node is returned, it indicates that the following sensitive information should be encrypted
no fr
/ISAPI/System/Network/interfaces/<ID>/wirelessServer/capabilities, /ISAPI/System/Network/interfaces/<ID>/wirelessServer, if wirelessDial in this
node is returned, it indicates that the following sensitive information should be encrypted
ri on
/ISAPI/System/Network/WirelessDial/Interfaces,
/ISAPI/System/Network/WirelessDial/Interfaces/<ID>-->wirelessServer
</supportSecurityNode>
Ma oc
<isSupportGetOnlineUserListSC>
<!--ro, opt, bool, whether the device supports searching the online user list, desc:related URI: /ISAPI/Security/onlineUser-->true
</isSupportGetOnlineUserListSC>
up
<SecurityLimits>
<!--ro, opt, object, capability of configuring security limit parameters-->
<LoginPasswordLenLimit min="1" max="16">
co gr
<!--ro, opt, string, length limit of the user's login password, attr:min{req, int},max{req, int}-->1
</LoginPasswordLenLimit>
es a@
</SecurityLimits>
<RSAKeyLength opt="512,1024,2048" def="2048">
<!--ro, opt, enum, HTTPS certificate length, subType:int, attr:opt{req, string},def{req, string}, desc:512, 1024, 2048-->2048
y ema
</RSAKeyLength>
<isSupportONVIFUserManagement>
<!--ro, opt, bool, whether the device supports user management of Open Network Video Interface Protocol-->true
</isSupportONVIFUserManagement>
os fr
<WebCertificateCap>
<!--ro, opt, object, HTTP authentication capability, desc:if this node is not returned, it indicates that device supports basic and digest
ad on
authentication-->
<CertificateType opt="basic,digest,digest/basic">
<!--ro, req, enum, certificate type, subType:string, attr:opt{req, string}, desc:“basic” (basic authentication), “digest” (digest authentication),
el .c
<algorithmType opt="MD5,SHA256,MD5/SHA256">
<!--ro, opt, enum, algorithm type, subType:string, attr:opt{req, string}, desc:“MD5”, “SHA256”, “MD5/SHA256”-->MD5
</algorithmType>
im
</SecurityAlgorithm>
</WebCertificateCap>
ng
<isSupportConfigFileImport>
Aj
<!--ro, opt, bool, whether the device supports importing the configuration file, desc:true (support), this node is not returned (not support)-->true
</isSupportConfigFileImport>
Co
<isSupportConfigFileExport>
<!--ro, opt, bool, whether the device supports exporting the configuration file, desc:true (support), this node is not returned (not support)-->true
</isSupportConfigFileExport>
<cfgFileSecretKeyLenLimit min="0" max="16">
<!--ro, opt, int, length limit of the configuration file's verification key, attr:min{req, int},max{req, int}-->1
</cfgFileSecretKeyLenLimit>
<supportIPCActivatePassword>
<!--ro, opt, bool, whether the device supports configuring the password for activating the network camera-->true
</supportIPCActivatePassword>
<isIrreversible>
<!--ro, opt, bool, whether the device supports irreversible password storage, desc:If this function is not supported, the plaintext password of the user
information will be stored in the device; otherwise, the password will be hashed for storage in the device.-->true
</isIrreversible>
<salt>
<!--ro, opt, string, the specific salt used by the user to log in-->test
</salt>
<isSupportOnvifInfo>
<!--ro, opt, bool, whether the device supports getting the Open Network Video Interface Protocol, desc:true (support), this node is not returned (not
support)-->true
</isSupportOnvifInfo>
<isSupportPictureURlCertificate opt="true,false">
<!--ro, opt, bool, whether the device supports configuring parameters for picture URL authentication, attr:opt{req, string}, desc:if this node is not
returned, it indicates the digest authentication for picture URL by default-->true
returned, it indicates the digest authentication for picture URL by default-->true
</isSupportPictureURlCertificate>
<isSupportGB35114Certificate>
<!--ro, opt, bool, whether supports GB35114 protocol and CA/SIP authentication certificate-->true
</isSupportGB35114Certificate>
<isSupportAuthenticationMode opt="uKey,private">
<!--ro, opt, enum, verification mode, subType:string, attr:opt{req, string}, desc:“uKey”, “private”-->private
</isSupportAuthenticationMode>
<isSupportUnloggedUserPermissionConfig opt="true,false">
<!--ro, opt, bool, whether the device supports configuring permission for users that have not logged in, attr:opt{req, string}-->true
</isSupportUnloggedUserPermissionConfig>
<isSupportUserNamePasswordCheckUpgrade>
<!--ro, opt, bool, whether the device supports upgrading the verification of the user name and password, desc:if this node is not returned, it indicates
that device does not support this function-->true
</isSupportUserNamePasswordCheckUpgrade>
<isSupportDeviceCertificatesManagement>
<!--ro, opt, bool, whether the device supports device certificate management, desc:if this node is not returned, it indicates that device does not
m
support this function-->true
co
</isSupportDeviceCertificatesManagement>
<isSupportSIPCertificatesManagement>
<!--ro, opt, bool, whether the device supports SIP certificate management, desc:this node is returned if the device supports this function and not
a.
returned if device does not support this function, related URI: /ISAPI/Security/SIPCertificate, additional node: <SIPCertificatesManagementCap>-->true
</isSupportSIPCertificatesManagement>
C. arc
<isSupportDeviceSelfSignCertExport>
<!--ro, opt, bool, whether the device supports exporting self-signed certificate-->true
</isSupportDeviceSelfSignCertExport>
<isSupportSecurityEmail>
<!--ro, opt, bool, whether the device supports configuring the security email, desc:if this node is not returned, it indicates that device does not
s, em
support this function-->true
A
</isSupportSecurityEmail>
no fr
<isSupportRTSPCertificate opt="true,false">
<!--ro, opt, bool, whether the device supports RTSP certificate management, attr:opt{req, string}-->true
</isSupportRTSPCertificate>
ri on
<maxIllegalLoginTimes min="3" max="20" def="5">
<!--ro, opt, int, maximum failed illegal login attempts, range:[3,20], attr:min{req, int},max{req, int},def{req, int}, desc:this node is valid when the
value of the node issupportIllegalLoginLock is true and will be returned when the maximum failed attempts of illegally logging in to the device reach the
Ma oc
limit-->3
</maxIllegalLoginTimes>
up
<SecurityAdvanced>
<!--ro, opt, object, security advanced parameters-->
<securityEnhanced>
co gr
<!--ro, req, bool, whether to enable the control timeout when there is no operation-->true
</noOperationEnabled>
Fr rc
<!--ro, req, int, control timeout when there is no operation, range:[1,60], unit:min, attr:min{req, int},max{req, int},def{req, int}-->15
</noOperationTime>
y ema
<isSupportDigestStatus>
<!--ro, opt, bool, digest status-->true
</isSupportDigestStatus>
<passwordLimitLevel opt="middling,high">
os fr
<!--ro, opt, enum, password strength limit level, subType:string, attr:opt{req, string},
desc:the configured password is required by the following limit
“middling” (middle level), “high” (high level), middle level password contains 8 to 16 characters, including at least 2 types of the following characters:
ad on
digits, lower case letters, upper case letters, and special characters; high level password contains 8 to 16 characters, including at least 3 types of the
following characters: digits, lower case letters, upper case letters, and special characters-->middling
el .c
</passwordLimitLevel>
</SecurityAdvanced>
<LoginLinkNum>
ez
</maxLinkNum>
</LoginLinkNum>
<isSupportCCClientCertificate>
im
<!--ro, opt, bool, whether the device supports the CC (Client Certificate) function-->true
ng
</isSupportCCClientCertificate>
Aj
that the device supports configuring the password validity period, and only the administrator can edit the configuration-->1
</passwordValidity>
<isSupportResetChannelPassword>
<!--ro, opt, bool, whether the device supports resetting the password of the channel-->true
</isSupportResetChannelPassword>
<DoubleVerificationCap>
<!--ro, opt, object, secondary authentication capability-->
<isSupportUsersConfig>
<!--ro, opt, bool, whether the device supports configuring users for secondary authentication-->true
</isSupportUsersConfig>
<isSupportUsersPermissionConfig>
<!--ro, opt, bool, whether the device supports configuring user permission for secondary authentication-->true
</isSupportUsersPermissionConfig>
</DoubleVerificationCap>
<isSupportUserSearch>
<!--ro, opt, bool, whether the device supports searching users-->true
</isSupportUserSearch>
<keypadPassword min="1" max="10">
<!--ro, opt, int, keypad password length, attr:min{req, int},max{req, int}, desc:When the password length of different user types is different, this
node only indicates the keypad password length of the administrator; otherwise, the keypad password length of all user types is the same and defined by the
value of this node-->1
</keypadPassword>
<installerKeypadPassword min="1" max="10">
<!--ro, opt, int, keypad password length of the installer, attr:min{req, int},max{req, int}-->1
<!--ro, opt, int, keypad password length of the installer, attr:min{req, int},max{req, int}-->1
</installerKeypadPassword>
<operatorKeypadPassword min="1" max="10">
<!--ro, opt, int, keypad password length of the operator, attr:min{req, int},max{req, int}-->1
</operatorKeypadPassword>
<userOperateType opt="1,2,3">
<!--ro, opt, enum, user type, subType:int, attr:opt{req, string}, desc:1 (network user), 2 (keypad user), 3 (network user and keypad user)-->1
</userOperateType>
<isSptUserEnabled>
<!--ro, opt, bool, whether the device supports configuring parameters for enabling the user-->true
</isSptUserEnabled>
<isSptAdminCap>
<!--ro, opt, bool, whether the device supports getting the admin permission capability-->true
</isSptAdminCap>
<isSupportBackLogCfg>
<!--ro, opt, bool, whether the device supports configuring basic parameters of the background log-->true
m
</isSupportBackLogCfg>
<isSupportBackLogExport>
co
<!--ro, opt, bool, whether the device supports exporting the background log-->true
</isSupportBackLogExport>
a.
<isSupportModifyInnerPassword opt="true,false">
<!--ro, opt, bool, whether the device supports editing its built-in passwords,, attr:opt{req, string}, desc:such as the database password, system
account password-->true
C. arc
</isSupportModifyInnerPassword>
<isSupportEncryptCertificate>
<!--ro, opt, bool, whether the device supports certificate encryption, desc:/ISAPI/Security/deviceCertificate-->true
</isSupportEncryptCertificate>
s, em
<maxIllegalLoginLockTime min="1" max="120" def="30.00">
<!--ro, opt, int, lock time range, range:[1,120], unit:min, attr:min{req, int},max{req, int},def{req, int}-->1
A
</maxIllegalLoginLockTime>
no fr
<cloudSensitiveInfoEncryptType>
<!--ro, opt, string, encryption type of the cloud sensitive information, desc:the current device returns the value "2.1", which indicates that the
ri on
method of generating the key for encrypting the sensitive information is SHA256 (calc_sha256 (user, salt, SHA256 (user+salt2+SHA256 (user+salt+password))) +
AaBbCcDd1234!@#$)-->2.1
</cloudSensitiveInfoEncryptType>
Ma oc
<isSupportCertificateCustomID>
<!--ro, opt, bool, whether the device supports using the user's custom ID to configure the certificate-->true
</isSupportCertificateCustomID>
up
<isSupportResetLANPassword>
<!--ro, opt, bool, whether the device supports resetting the device's password in the LAN, desc:related URI:
co gr
/ISAPI/Security/resetPassword/certification?format=json-->true
</isSupportResetLANPassword>
<isSupportPicHttpsCertificatesManagement>
es a@
<!--ro, opt, bool, whether the device supports managing the HTTPS certificate for pictures, desc:true (support), this node is not returned (not
support)-->true
</isSupportPicHttpsCertificatesManagement>
Fr rc
<isSupportAKSKImport>
<!--ro, opt, bool, whether the device supports importing AKSK, desc:true (support), this node is not returned (not support)-->true
y ema
</isSupportAKSKImport>
<isSupportAKSKExport>
<!--ro, opt, bool, whether the device supports exporting AKSK, desc:true (support), this node is not returned (not support)-->true
</isSupportAKSKExport>
<isSupportAKSKReset>
os fr
<!--ro, opt, bool, whether the device supports resetting AKSK, desc:true (support), this node is not returned (not support)-->true
</isSupportAKSKReset>
ad on
<ExportCertificateFile>
<!--ro, opt, object, whether the device supports exporting the certificate, desc:related URI: POST
/ISAPI/Security/serverCertificate/exportCertificateFile-->
el .c
<type opt="GB35114,GB35114Service">
<!--ro, req, enum, types of certificates that can be exported, subType:string, attr:opt{req, string}, desc:“GB35114” (support exporting GB35114
certificate for the client), “GB35114Service” (support exporting GB35114 certificate for the server)-->GB35114
ez
</type>
</ExportCertificateFile>
en
<isSupportGB351114FDWSFCertificate>
<!--ro, opt, bool, whether the device supports FDWSF certificate management, desc:true (support), this node is not returned (not support), related URIs:
/ISAPI/Security/GB351114/FDWSFCertificate/capabilities?format=json, POST /ISAPI/Security/GB351114/FDWSFCertificate?format=json, GET
im
<isSupportMediaObjectEncryption>
Aj
<!--ro, opt, bool, whether supports setting encryption parameters of the private target in media data for the specified video channel, desc:if this
Co
function is supported, this node will be returned and its value is true; otherwise, this node will not be returned. Related URI:
/ISAPI/Security/MediaObjectEncryption/capabilities?format=json-->true
</isSupportMediaObjectEncryption>
<isSupportDisclaimer>
<!--ro, opt, bool, whether support configuring the product disclaimer, desc:if this function is supported, this node will be returned and its value is
true; otherwise, this node will not be returned. Related URI: /ISAPI/Security/disclaimer/capabilities?format=json-->true
</isSupportDisclaimer>
<isSupportSoftwareLicense>
<!--ro, opt, bool, whether support configuring the product open source statement, desc:if this function is supported, this node will be returned and its
value is true; otherwise, this node will not be returned. Related URI: /ISAPI/Security/softwareLicense?format=json-->true
</isSupportSoftwareLicense>
<isSupportInstallerCap>
<!--ro, opt, bool, whether the device supports getting the installer permission, desc:if this function is supported, this node will be returned and its
value is true; otherwise, this node will not be returned. Related URI: /ISAPI/Security/UserPermission/installer/capabilities?format=json-->true
</isSupportInstallerCap>
<isSupportResetPasswordFile>
<!--ro, opt, bool, whether the device supports exporting and importing the secret key file of device in the LAN, desc:Related URI:
/ISAPI/Security/resetPassword/keyFile/capabilities?format=json-->true
</isSupportResetPasswordFile>
<isNotSupportLogSeverCertificate>
<!--ro, opt, bool, whether the device support importing log server certificate, desc:related URI: /ISAPI/Security/serverCertificate/certificate-->true
</isNotSupportLogSeverCertificate>
<isSupportLocalLoginCfg>
<!--ro, opt, bool, whether it supports the capability of device local login parameters, desc:GET/PUT /ISAPI/Security/LocalLoginCfg?format=json-->true
<!--ro, opt, bool, whether it supports the capability of device local login parameters, desc:GET/PUT /ISAPI/Security/LocalLoginCfg?format=json-->true
</isSupportLocalLoginCfg>
<isSupportGetProtocolFirewallRulesFileImportStatus>
<!--ro, opt, bool, N/A, desc:GET /ISAPI/Security/GetProtocolFirewallRulesFileImportStatus?format=json-->true
</isSupportGetProtocolFirewallRulesFileImportStatus>
<isSupportImportProtocolFirewallRulesFile>
<!--ro, opt, bool, N/A, desc:PUT /ISAPI/Security/ImportProtocolFirewallRulesFile?format=json-->true
</isSupportImportProtocolFirewallRulesFile>
<isSupportGetProtocolFirewallEngineUpgradeStatus>
<!--ro, opt, bool, N/A, desc:GET /ISAPI/Security/GetProtocolFirewallEngineUpgradeStatus?format=json-->true
</isSupportGetProtocolFirewallEngineUpgradeStatus>
<isSupportUpgradeProtocolFirewallEngine>
<!--ro, opt, bool, N/A, desc:PUT /ISAPI/Security/UpgradeProtocolFirewallEngine?format=json-->true
</isSupportUpgradeProtocolFirewallEngine>
<isSupportProtocolFirewallVersionInfo>
<!--ro, opt, bool, N/A, desc:GET /ISAPI/Security/ProtocolFirewallVersionInfo?format=json-->true
</isSupportProtocolFirewallVersionInfo>
m
<isSupportProtocolFirewallParams>
co
<!--ro, opt, bool, N/A, desc:GET/PUT /ISAPI/Security/ProtocolFirewallParams?format=json-->true
</isSupportProtocolFirewallParams>
<isSupportResetPasswordBySecurityPhoneNo>
a.
<!--ro, opt, bool, whether it supports resetting device password with phone number verification,
desc:1. attendance check devices support applying a preset phone number during device activation. The user can reset the device password with the preset
C. arc
phone number, which is similar with password reset via email. The phone number can be changed on the website or local UI of the device
2. if the node is not returned or the returned value is false, it indicates "no"-->true
</isSupportResetPasswordBySecurityPhoneNo>
<isSupportGetIntrusionPreventionEngineUpgradeStatus>
s, em
<!--ro, opt, bool-->true
</isSupportGetIntrusionPreventionEngineUpgradeStatus>
A
<isSupportIntrusionPreventionEngineVersionInfo>
no fr
<!--ro, opt, bool-->true
</isSupportIntrusionPreventionEngineVersionInfo>
<isSupportIntrusionPreventionParams>
ri on
<!--ro, opt, bool-->true
</isSupportIntrusionPreventionParams>
Ma oc
<isSupportUpgradeIntrusionPreventionEngine>
<!--ro, opt, bool-->true
</isSupportUpgradeIntrusionPreventionEngine>
up
<notSupportImportCertificateType opt="CA,CCClentCertificate,GB35114,GB35114Service">
<!--ro, opt, string, attr:opt{req, string}-->test
</notSupportImportCertificateType>
co gr
</SecurityCap>
es a@
Request URL
y ema
GET /ISAPI/System/capabilities
Query Parameter
os fr
None
ad on
Request Message
el .c
None
Response Message
ez
en
<isSupportPreview>
ng
</isSupportPreview>
<isSupportSystemMaintain>
Co
<!--ro, opt, bool, whether the device supports system maintenance, desc:for traffic devices, this node is required and must be true.-->true
</isSupportSystemMaintain>
<isSupportReboot>
<!--ro, opt, bool, whether the device supports rebooting, desc:for traffic devices, this node is required and must be true.-->true
</isSupportReboot>
<isSupportFactoryReset>
<!--ro, opt, bool, whether the device supports restoring to default settings, desc:for traffic devices, this node is required and must be true.-->true
</isSupportFactoryReset>
<isSupportConfigurationData>
<!--ro, opt, bool, whether the device supports importing and exporting the configuration files safely, desc:for traffic devices, this node is required
and must be true.-->true
</isSupportConfigurationData>
<isSupportUpdatefirmware>
<!--ro, opt, bool, whether the device supports upgrading, desc:for traffic devices, this node is required and must be true.-->true
</isSupportUpdatefirmware>
<isSupportDeviceInfo>
<!--ro, opt, bool, whether the device supports getting the device information, desc:for traffic devices, this node is required and must be true.-->true
</isSupportDeviceInfo>
<isSupportTime>
<!--ro, opt, bool, whether the device supports time configuration, desc:for traffic device, this node is required and must be true. For other devices,
the isSupportTimeCap is used to configure time-->true
</isSupportTime>
<SysCap>
<!--ro, opt, object, system capability-->
<!--ro, opt, object, system capability-->
<isSupportDst>
<!--ro, opt, bool, whether the device supports DST (Daylight Saving Time)-->true
</isSupportDst>
<NetworkCap>
<!--ro, opt, object, network capability, desc:related URI: /ISAPI/System/Network/capabilities-->
<isSupportWireless>
<!--ro, req, bool, whether the device supports wireless network-->true
</isSupportWireless>
<isSupportWAN>
<!--ro, opt, bool, whether the device supports WAN (Wide Area Network)-->true
</isSupportWAN>
<isSupportPPPoE>
<!--ro, req, bool, whether the device supports PPPoE (Point to Point Protocol over Ethernet)-->true
</isSupportPPPoE>
<isSupportBond>
m
<!--ro, req, bool, whether the device supports NIC (Network Interface Card) bonding-->true
</isSupportBond>
co
<isSupport802_1x>
<!--ro, req, bool, whether the device supports 802.1x protocol-->true
a.
</isSupport802_1x>
<isSupportNtp>
<!--ro, opt, bool, whether the device supports NTP (Network Time Protocol)-->true
C. arc
</isSupportNtp>
<isSupportFtp>
<!--ro, opt, bool, whether the device supports FTP (File Transfer Protocol)-->true
</isSupportFtp>
s, em
<isSupportUpnp>
<!--ro, opt, bool, whether the device supports UPnP (Universal Plug and Play ) protocol-->true
A
</isSupportUpnp>
no fr
<isSupportPNP>
<!--ro, opt, bool, whether the device supports plug-and-play protocol-->true
ri on
</isSupportPNP>
<isSupportDdns>
<!--ro, opt, bool, whether the device supports DDNS (Dynamic Domain Name System) service-->true
Ma oc
</isSupportDdns>
<isSupportHttps>
<!--ro, opt, bool, whether the device supports HTTPS (Hypertext Transfer Protocol Secure)-->true
up
</isSupportHttps>
<isSupport28181>
<!--ro, opt, bool, N/A-->true
co gr
</isSupport28181>
<SnmpCap>
es a@
</isSupport>
</SnmpCap>
<isSupportExtNetCfg>
y ema
<!--ro, opt, bool, whether the device supports configuring extended network parameters-->true
</isSupportExtNetCfg>
<isSupportIPFilter>
<!--ro, opt, bool, whether the device supports IP filtering-->true
os fr
</isSupportIPFilter>
<isSupportSSH opt="true,false">
ad on
<!--ro, opt, bool, whether the device supports SSH, attr:opt{opt, string}-->true
</isSupportSSH>
<isSupportNetPreviewStrategy>
el .c
<!--ro, opt, bool, whether the device supports network preview strategy-->true
</isSupportNetPreviewStrategy>
<isSupportEZVIZ>
ez
<isSupportEhome>
<!--ro, opt, bool, whether it supports ISUP functions: true (support),this node is not returned (not support)-->true
</isSupportEhome>
im
<isSupportWirelessDial>
<!--ro, opt, bool, whether the device supports wireless dial-up protocol-->true
ng
</isSupportWirelessDial>
Aj
<isSupportWirelessServer>
<!--ro, opt, bool, whether the device supports wireless server-->true
Co
</isSupportWirelessServer>
<isSupportWPS>
<!--ro, opt, bool, whether the device supports Wi-Fi Protected Setup-->true
</isSupportWPS>
<isWirelessMutexWithWirelessServer>
<!--ro, opt, bool, whether the device supports mutual exclusion of wireless access and wireless service-->true
</isWirelessMutexWithWirelessServer>
<isSupportMACFilter>
<!--ro, opt, bool, whether the device supports physical address filtering-->true
</isSupportMACFilter>
<GB28181Cap>
<!--ro, opt, object, N/A-->
<isSupportGB28181Service>
<!--ro, opt, bool, N/A-->true
</isSupportGB28181Service>
</GB28181Cap>
<WPS>
<!--ro, opt, object, Wi-Fi Protected Setup-->
<NetworkInterfaceList size="2">
<!--ro, opt, array, list of network nodes, subType:object, attr:size{opt, string}-->
<NetworkInterface>
<!--ro, opt, object, network node-->
<id>
<id>
<!--ro, req, string, NIC index-->1
</id>
<enabled>
<!--ro, req, bool, whether to enable or not-->true
</enabled>
<isSupportAutoConnect>
<!--ro, opt, bool, whether the device supports automatic connection-->true
</isSupportAutoConnect>
<isSupportDevicePinCode>
<!--ro, opt, bool, whether the device supports PIN code-->true
</isSupportDevicePinCode>
<isSupportDevicePinCodeUpdate>
<!--ro, opt, bool, whether the device supports updating the PIN code-->true
</isSupportDevicePinCodeUpdate>
<ApPinCode>
<!--ro, opt, object, PIN code of the access point-->
m
<ssid min="1" max="1">
co
<!--ro, opt, string, SSID (Service Set Identifier), attr:min{opt, string},max{opt, string}-->test
</ssid>
<pinCode min="1" max="1">
a.
<!--ro, opt, string, PIN code, attr:min{opt, string},max{opt, string}-->test
</pinCode>
C. arc
</ApPinCode>
</NetworkInterface>
</NetworkInterfaceList>
</WPS>
<isSupportRFIDData>
s, em
<!--ro, opt, bool, whether the device supports RFID collection configuration-->true
A
</isSupportRFIDData>
no fr
<isSupportwifiProbeSSID>
<!--ro, opt, bool, whether the device supports configuration of Wi-Fi probe SSID-->true
</isSupportwifiProbeSSID>
ri on
<isSupportWifiProbe>
<!--ro, opt, bool, whether the device supports Wi-Fi probe-->true
</isSupportWifiProbe>
Ma oc
<verificationCode min="1" max="1">
<!--ro, opt, string, verification code, attr:min{opt, string},max{opt, string}-->test
up
</verificationCode>
<WPSCap>
<!--ro, opt, object, capability of configuring Wi-Fi Protected Setup-->
co gr
<isSupport>
<!--ro, req, bool, whether the device supports Wi-Fi Protected Setup-->true
</isSupport>
es a@
<isSupportAutoConnect>
<!--ro, req, bool, whether the device supports automatic connection-->true
Fr rc
</isSupportAutoConnect>
s
</WPSCap>
<NetWorkMode>
y ema
</NetWorkMode>
<VerificationCodeModification>
<!--ro, opt, object, device verification code configuration-->
ad on
<verificationCodeType opt="normal,empty">
<!--ro, opt, string, verification code type, attr:opt{opt, string}-->true
el .c
</verificationCodeType>
<isSupportDeclarationURL>
<!--ro, opt, bool, whether the device supports the hyperlink to the Terms of Service-->true
ez
</isSupportDeclarationURL>
<isSupportPrivacyPolicyURL>
<!--ro, opt, bool, whether the device supports the hyperlink to the Privacy Policy-->true
en
</isSupportPrivacyPolicyURL>
<verificationCodeModify opt="true,false">
<!--ro, opt, bool, whether the device verification code has been modified, attr:opt{opt, string}-->true
im
</verificationCodeModify>
ng
<Hyperlinks>
Aj
m
<!--ro, opt, bool, whether the device supports WebSocket-->true
</isSupportWebSocket>
co
<isSupportWebSocketS>
<!--ro, opt, bool, whether the device supports WebSocketS-->true
a.
</isSupportWebSocketS>
<Adaption>
<!--ro, opt, object, network self-adaption configuration-->
C. arc
<streamType opt="0,1,2,3,4,5,7,8,9,10">
<!--ro, opt, string, stream type that supports network self-adaption during live view, attr:opt{opt, string}, desc:0 (main stream), 1 (sub-
stream), 2 (third stream), 3 (fourth stream/virtual stream), 4 (fifth stream), 5 (sixth stream), 7 (seventh stream), 8 (eighth stream), 9 (ninth stream), 10
(tenth stream), and so forth. The index value here is the same as that in the live view structure NET_DVR_PREVIEWINFO of Device Network SDK. Note that 6 is
s, em
an invalid value, and from the seventh stream (index value: 7), the index value is the same as that for live view via RTSP-->test
</streamType>
A
<isSupportPlayback>
no fr
<!--ro, opt, bool, whether the device supports playback-->true
</isSupportPlayback>
ri on
</Adaption>
<isSupportVideoImgDB>
<!--ro, opt, bool, whether the device supports image and video library configuration-->true
Ma oc
</isSupportVideoImgDB>
<isSupportEventDataOverWebSocket opt="true,false">
<!--ro, opt, bool, whether the device supports uploading the event data via WebSocket, attr:opt{opt, string}-->true
up
</isSupportEventDataOverWebSocket>
<isSupportDynamicHostName>
co gr
<!--ro, opt, bool, whether the device supports DDNS (Dynamic Domain Name System) configuration-->true
</isSupportDynamicHostName>
<isSupportTCPAcceleration>
es a@
<isSupportEZVIZTiming>
<!--ro, opt, bool, whether the device supports synchronizing time with EZ platform, desc:related URI: enabledTiming in the message of
/ISAPI/System/Network/EZVIZ-->true
</isSupportEZVIZTiming>
<isSupportTrafficMonitor>
os fr
<!--ro, opt, bool, whether the device supports traffic monitoring, desc:related URI:
/ISAPI/System/Network/WirelessDial/Interfaces/<ID>/trafficMonitor?format=json-->true
ad on
</isSupportTrafficMonitor>
<isSupportDMSAuthInfo>
<!--ro, opt, bool, whether the device supports DMS authentication information management-->true
el .c
</isSupportDMSAuthInfo>
<isSupportWiredandWirelessTrafficMonitor>
<!--ro, opt, bool, whether the device supports traffic monitoring (wireless NIC and wired NIC), desc:related URI:
ez
/ISAPI/System/Network/Interfaces/<ID>/trafficMonitor?format=json-->true
</isSupportWiredandWirelessTrafficMonitor>
en
<isSupport4G>
<!--ro, opt, bool, whether the device supports 4G module-->true
</isSupport4G>
im
<isSupport4GConfig>
<!--ro, opt, bool, whether the device supports 4G configuration-->true
ng
</isSupport4GConfig>
Aj
<isSupportGRIDServer>
Co
m
<isSupportPingTest>
co
<!--ro, opt, bool, whether the device supports ping test, desc:Related URI: /ISAPI/System/Network/pingtest/capabilities-->true
</isSupportPingTest>
<isSupportMOTCloudPlateform>
a.
<!--ro, opt, bool, whether the device supports configuring parameters for accessing the cloud platform service, desc:related URI:
/ISAPI/System/Network/Traffic/MOTCloudPlateform/capabilities?format=json-->true
C. arc
</isSupportMOTCloudPlateform>
<isSupportSpectrumScan>
<!--ro, opt, bool, whether the device supports frequency spectrum scanning, desc:related URI:
/ISAPI/System/Network/interface/<netCardID>/spectrumScan/capabilities?format=json-->true
s, em
</isSupportSpectrumScan>
<isSupportFRP>
A
<!--ro, opt, bool, whether the device supports FRP (Fast Reverse Proxy), desc:related URI: /ISAPI/Syetem/Network/FRP?format=json-->true
no fr
</isSupportFRP>
<isSupport5GModule>
<!--ro, opt, bool, whether the device supports 5G module configuration, desc:related URI: /ISAPI/System/Network/5GModule/capabilities?format=json--
ri on
>true
</isSupport5GModule>
Ma oc
<isSupportWirelessDialRoute>
<!--ro, opt, bool, whether the device supports configuring parameters of route forwarding rules of wireless dial-up, desc:related URI:
/ISAPI/System/Network/WirelessDia/route/capabilities?format=json-->true
up
</isSupportWirelessDialRoute>
<isSupportNPlusOne>
<!--ro, opt, bool, whether the device supports N+1 protocol-->true
co gr
</isSupportNPlusOne>
<supportEnvironmentalStandards opt="HJ212">
<!--ro, opt, string, environmental monitoring standard, attr:opt{req, string}, desc:N/A-->true
es a@
</supportEnvironmentalStandards>
<isSupportIntranetSegment>
Fr rc
<!--ro, opt, bool, whether the device supports LAN segment configuration, desc:if this function is supported, this node will be returned and its
s
value is true; otherwise, this node will be returned and its value is true or not be returned. Related URI:
/ISAPI/System/Network/intranetSegment/capabilities?format=json-->true
y ema
</isSupportIntranetSegment>
<isSupportDHCPServer>
<!--ro, opt, bool, whether the device supports DHCP service configuration, desc:if this function is supported, this node will be returned and its
value is true; otherwise, this node will be returned and its value is true or not be returned. Related URI: /ISAPI/System/Network/DHCPServer/capabilities?
os fr
format=json-->true
</isSupportDHCPServer>
<isSupportClusterIntercom>
ad on
<!--ro, opt, bool, whether the 7200 intercom protocol is transmitted, desc:if this function is supported, this node will be returned and its value
is true; otherwise, this node will be returned and its value is true or not be returned.-->true
el .c
</isSupportClusterIntercom>
<isSupportHydrologicMonitoring>
<!--ro, opt, bool, whether the device supports hydrologic monitoring data communication, desc:if this function is supported, this node will be
ez
returned and its value is true; otherwise, this node will be returned and its value is true or not be returned. Related URI:
/ISAPI/System/Network/HydrologicMonitoring/capabilities?format=json-->true
</isSupportHydrologicMonitoring>
en
<isWirelessDialMutexWithWlanAndWifi>
<!--ro, opt, bool, whether the wireless dial-up is mutually exclusive with the WLAN hotspot and Wi-Fi, desc:before a function is enabled, another
im
<isSupportSpeechTranscription>
Aj
<!--ro, opt, bool, whether the device supports accessing the speech-to-text transcription platform, desc:if this function is supported, this node
will be returned and its value is true; otherwise, this node will be returned and its value is true or not be returned. Related URI:
Co
/ISAPI/System/Network/speechTranscriptionPlatform/capabilities?format=json-->true
</isSupportSpeechTranscription>
<isSupportAsynPingTest>
<!--ro, opt, bool, whether the device supports asynchronous network detection, desc:network detection means testing the network stability and packet
loss rate of the network using the ping command for knowing about the network condition. Related URI: /ISAPI/System/Network/asynPingTest/capabilities?
format=json.-->true
</isSupportAsynPingTest>
<isSupportBasebandCapture>
<!--ro, opt, bool, whether the device supports capturing packets of the baseband, desc:you can capture packets transmitted between the 4G module and
the base station using the ping command. Related URI: /ISAPI/System/Network/cellularNetwork/basebandCapture/capabilities?format=json.-->true
</isSupportBasebandCapture>
<isSupportCellularNetworkSpeedTest>
<!--ro, opt, bool, whether the device supports testing the connection speed between the device and the cellular network, desc:you can test the
connection speed of the network where the current device is. Related URI: /ISAPI/System/Network/cellularNetwork/speedTest/capabilities?format=json.-->true
</isSupportCellularNetworkSpeedTest>
<isSupportCellularNetworkCellInfo>
<!--ro, opt, bool, whether the device supports getting a cell's information of the cellular network, desc:you can get the information of the
cellular network where the device is. Related URI: /ISAPI/System/Network/cellularNetwork/cellInfo?format=json&ecurity=<security>&iv=<iv>.-->true
</isSupportCellularNetworkCellInfo>
<isSupportMultiBandFrequencyScanning>
<!--ro, opt, bool, whether the device supports scanning all frequency bands of the cellular network, desc:related URI:
/ISAPI/System/Network/cellularNetwork/multiBandFrequencyScanning/capabilities?format=json-->true
</isSupportMultiBandFrequencyScanning>
<isSupportCellularNetworkLockBand>
<!--ro, opt, bool, whether the device accessing the locked frequency band of the cellular network, desc:related URI:
/ISAPI/System/Network/cellularNetwork/lockBand/capabilities?format=json-->true
</isSupportCellularNetworkLockBand>
<isSupportRadioFrequencyFluctuation>
<!--ro, opt, bool, whether the device supports configuring RF parameters of the cellular network, desc:related URI:
/ISAPI/System/Network/cellularNetwork/radioFrequencyFluctuation/capabilities?format=json-->true
</isSupportRadioFrequencyFluctuation>
<isSupportBasebandBlock>
<!--ro, opt, bool, whether the device supports the unauthorized list of the base station, desc:related URI:
/ISAPI/System/Network/cellularNetwork/basebandBlock/capabilities?format=json-->true
</isSupportBasebandBlock>
<isSupportRFIDTagCheckTest>
<!--ro, opt, bool, whether the device supports the RFID tag disk storage performance test, desc:related URI: GET
/ISAPI/System/Network/RFIDData/GetTagCheckTestInfo?format=json-->true
</isSupportRFIDTagCheckTest>
m
<isSupportQoSDSCPtoLoaclPriorityMapping>
co
<!--ro, opt, bool, whether the device supports DSCP and local mapping priority configuration, desc:related URI:
/ISAPI/System/Network/qos/DSCPtoLoaclPriorityMapping/capabilities?format=json-->true
</isSupportQoSDSCPtoLoaclPriorityMapping>
a.
<isSupportQoS802.1pto802.1pPriorityMapping>
<!--ro, opt, bool, whether the device supports 802.1p mapping priority configuration, desc:related URI:
/ISAPI/System/Network/qos/802.1pto802.1pPriorityMapping/capabilities?format=json-->true
C. arc
</isSupportQoS802.1pto802.1pPriorityMapping>
<isSupportLinkTestStart>
<!--ro, opt, bool, whether the network link test is enabled, desc:related URI:
/ISAPI/System/Network/WirelessDial/Interfaces/<interfaceID>/LinkTest/Start?format=json-->true
s, em
</isSupportLinkTestStart>
<isSupportLinkTestResult>
A
no fr
<!--ro, opt, bool, whether the device supports getting the result of network link test, desc:related URI:
/ISAPI/System/Network/WirelessDial/Interfaces/<interfaceID>/LinkTest/Start?format=json-->true
</isSupportLinkTestResult>
ri on
<isSupportNetworkModuleUpgrade>
<!--ro, opt, bool, whether it supports upgrading network module, desc:including importing upgrade package
(/ISAPI/System/Network/WirelessDial/ImportUpgradePackage?format=json), getting importing progress
Ma oc
(/ISAPI/System/Network/WirelessDial/GetUpgradePackageImportStatus?format=json), starting upgrade
(/ISAPI/System/Network/WirelessDial/StartUpgradeNetworkModule?format=json)-->true
</isSupportNetworkModuleUpgrade>
up
<isSupportNetworkModuleVersionInfo>
<!--ro, opt, bool, whether it supports getting the version information of network module, desc:GET
co gr
/ISAPI/System/Network/WirelessDial/NetworkModuleVersionInfo?format=json-->true
</isSupportNetworkModuleVersionInfo>
<isSupportGreenShieldPlatform>
es a@
<isSupportModbusAccess>
<!--ro, opt, bool-->true
</isSupportModbusAccess>
<isSupportModbusTestSubordinateStatus>
os fr
<IOCap>
<!--ro, opt, object, I/O capability, desc:related URI: /ISAPI/System/IO/capabilities-->
<IOInputPortNums>
el .c
<IOOutputPortNums>
<!--ro, opt, int, number of local output ports of the device-->true
</IOOutputPortNums>
en
<isSupportStrobeLamp>
<!--ro, opt, bool, whether the device supports configuring the output of the gate's light, desc:related URI:
/ISAPI/System/IO/outputs/strobelampConf-->true
im
</isSupportStrobeLamp>
<SoftIOInputPortNums>
ng
<!--ro, opt, int, number of soft input ports of the device, desc:this node depends on whether the URI /ISAPI/System/IO/softInputs/capabilities?
Aj
format=json is supported.-->true
Co
</SoftIOInputPortNums>
<isSupportIOOutputAdvanceParameter>
<!--ro, opt, bool, whether the device supports configuring advanced parameters of the output port, desc:this node determines whether the URI
/ISAPI/System/IO/outputs/advanceParameter/capabilities?format=json is supported.-->true
</isSupportIOOutputAdvanceParameter>
<isSupportSetAllIOOutput>
<!--ro, opt, bool, whether the device supports configuring all output ports, desc:this node determines whether the PUT method of the URI
/ISAPI/System/IO/outputs is supported.-->true
</isSupportSetAllIOOutput>
<isSupportCombinationAlarm>
<!--ro, opt, bool, whether the device supports the combined alarm, desc:CombinationAlarmCap in /ISAPI/System/IO/inputs/capabilities-->true
</isSupportCombinationAlarm>
<isSupportAlarmKeyParam>
<!--ro, opt, bool, whether supports configuring the physical keys of one-push alarm, desc:related URI:
/ISAPI/System/IO/inputs/<IOInputID>/AlarmKeyParam/capabilities?format=json-->true
</isSupportAlarmKeyParam>
<isSupportWebDisplayAlarmStatus>
<!--ro, opt, bool-->true
</isSupportWebDisplayAlarmStatus>
</IOCap>
<SerialCap>
<!--ro, opt, object, range of RS-485 serial port numbers supported by the device-->
<rs485PortNums>
<!--ro, opt, int, the maximum number of RS-485 serial ports supported by the device-->true
<!--ro, opt, int, the maximum number of RS-485 serial ports supported by the device-->true
</rs485PortNums>
<supportRS232Config>
<!--ro, opt, bool, whether the device supports configuring parameters of RS-232 serial ports-->true
</supportRS232Config>
<rs422PortNums>
<!--ro, opt, int, the maximum number of RS-422 serial ports supported by the device-->true
</rs422PortNums>
<rs232PortNums>
<!--ro, opt, int, the maximum number of RS-232 serial ports supported by the device-->true
</rs232PortNums>
<rs485WorkMode opt="Led,CaptureTrigger">
<!--ro, opt, string, RS-485 working modes supported by the device, attr:opt{opt, string}, desc:Led (external LED screen, which is used for LED
display), CaptureTrigger (external device, which is used to trigger the transmission of the captured data)-->test
</rs485WorkMode>
<rs232SerialNumber opt="1,2,3">
m
<!--ro, opt, string, range of RS-232 serial port numbers supported by the device, attr:opt{opt, string}-->test
</rs232SerialNumber>
co
<rs485SerialNumber opt="4,5,6">
<!--ro, opt, string, range of RS-485 serial port numbers supported by the device, attr:opt{opt, string}-->test
a.
</rs485SerialNumber>
<isSupportAuthenticationService>
<!--ro, opt, bool, whether the device supports the serial port authentication service-->true
C. arc
</isSupportAuthenticationService>
<isSupportDeviceInfo>
<!--ro, opt, bool, whether the device supports configuring the information about the serial port device-->true
</isSupportDeviceInfo>
s, em
<isSupportSearchDeviceInfoRelations>
<!--ro, opt, bool, whether the device supports searching the linkage information of the serial port device-->true
A
</isSupportSearchDeviceInfoRelations>
no fr
</SerialCap>
<VideoCap>
<!--ro, opt, object, video encoding capability, desc:related URI: /ISAPI/System/Video/capabilities-->
ri on
<videoInputPortNums>
<!--ro, opt, int, number of video input ports-->true
Ma oc
</videoInputPortNums>
<videoOutputPortNums>
<!--ro, opt, int, number of video output ports-->true
up
</videoOutputPortNums>
<menuNums>
<!--ro, opt, int, number of local menus that can be displayed-->true
co gr
</menuNums>
<externalChannelNum>
es a@
</countingType>
<isSupportPicture>
<!--ro, opt, bool, whether the device supports OSD picture overlay-->true
ad on
</isSupportPicture>
<isSupportPreviewSwitch>
el .c
<!--ro, opt, bool, whether the device supports switching live view-->true
</isSupportPreviewSwitch>
<isSupportMultiChannelCounting>
ez
<!--ro, opt, bool, whether the device supports people counting ANR-->true
</isSupportCountingCollection>
im
<isSupportHeatmapCollection>
<!--ro, opt, bool, whether the device supports heat map data ANR-->true
ng
</isSupportHeatmapCollection>
Aj
<channelFlexible opt="name,online,linknum">
<!--ro, opt, string, this node is located after the node <isSupportHeatmapCollection>., attr:opt{opt, string}-->true
Co
</channelFlexible>
<isSupportMixedChannel>
<!--ro, opt, bool, this node is located after the node <channelFlexible>.-->true
</isSupportMixedChannel>
<isSupportMixedChannelStatus>
<!--ro, opt, bool, this node is located after the node <isSupportMixedChannel>.-->true
</isSupportMixedChannelStatus>
<isSupportRecodStatus>
<!--ro, opt, bool, whether the device supports searching for the recording status-->true
</isSupportRecodStatus>
<isSupportPrivacyMask>
<!--ro, opt, bool, whether the device supports privacy mask-->true
</isSupportPrivacyMask>
<isSupportBinocularPreviewSwitch>
<!--ro, opt, bool, whether the device supports switching live view of the dual-lens camera-->true
</isSupportBinocularPreviewSwitch>
<isSupportCalibCheck>
<!--ro, opt, bool, whether the device supports calibration verification-->true
</isSupportCalibCheck>
<isSupportPIP>
<!--ro, opt, bool, whether the device supports PIP-->true
</isSupportPIP>
<isSupportFocusVideoMode>
<!--ro, opt, bool, whether the device supports the focus mode of the video-->true
</isSupportFocusVideoMode>
<isSupportExternalChannel>
<!--ro, opt, bool, whether the device supports extended analog channels-->true
</isSupportExternalChannel>
<isSupportCompressedTranscode>
<!--ro, opt, bool, whether the device supports configuring the encoding compression of transcoding stream, desc:related URL:
/ISAPI/Streaming/channels/<channelID>/TranscodeCfg/capabilities?format=json-->true
</isSupportCompressedTranscode>
<isSupportLocalStreamCfg>
<!--ro, opt, bool, whether the device supports configuring the streaming parameters of local device, desc:related URL:
/ISAPI/System/Video/inputs/channels/<channelID>/LocalStreamCfg/capabilities?format=json-->true
</isSupportLocalStreamCfg>
<isSupportMenuStatus>
<!--ro, opt, bool-->true
</isSupportMenuStatus>
m
</VideoCap>
co
<AudioCap>
<!--ro, opt, object, audio encoding capability, desc:related URL: /ISAPI/System/Audio/capabilities-->
<audioInputNums>
a.
<!--ro, req, int, number of audio inputs-->1
</audioInputNums>
<audioOutputNums>
C. arc
<!--ro, req, int, number of audio outputs-->1
</audioOutputNums>
<mixAudioInSet>
<!--ro, opt, bool, N/A-->true
s, em
</mixAudioInSet>
A
<mixAudioOutSet>
no fr
<!--ro, opt, bool, N/A-->true
</mixAudioOutSet>
<isSupportAudioMixing>
ri on
<!--ro, opt, bool, whether the device supports audio mixing-->true
</isSupportAudioMixing>
<isSupportRemoveFrequencyPoint>
Ma oc
<!--ro, opt, bool, whether the device supports clearing the howling frequency point-->true
</isSupportRemoveFrequencyPoint>
up
<isSupportAudioInConfig>
<!--ro, opt, bool, whether the device supports configuring parameters of all audio inputs, desc:related URI:
/ISAPI/System/Audio/AudioIn/capabilities-->true
co gr
</isSupportAudioInConfig>
<muteDuringPanTilt opt="MicIn">
<!--ro, opt, string, whether the device supports muting during motion, attr:opt{opt, string}, desc:muteDuringPanTilt in
es a@
/ISAPI/System/TwoWayAudio/channels/ID-->true
</muteDuringPanTilt>
<isSupportAudioOutConfig>
Fr rc
<!--ro, opt, bool, whether the device supports configuring parameters of all audio outputs, desc:related URI:
/ISAPI/System/Audio/AudioOut/capabilities?format=json-->true
y ema
</isSupportAudioOutConfig>
<isSupportSAIP>
<!--ro, opt, bool, whether the device supports connecting to the independent audio track channel-->true
</isSupportSAIP>
os fr
<SAIPChannelsNum>
<!--ro, opt, int, number of devices that supports connecting to the independent audio track channel, dep:and,{$.AudioCap.isSupportSAIP,eq,true}-->1
</SAIPChannelsNum>
ad on
<isSupportDataStorage>
<!--ro, opt, bool, whether the device supports uploading the audio file, desc:related URL: /ISAPI/System/Audio/dataStorage?format=json-->true
</isSupportDataStorage>
el .c
<isSupportDataRelease>
<!--ro, opt, bool, whether the device supports releasing the audio file, desc:related URL: /ISAPI/System/Audio/dataRelease?format=json-->true
ez
</isSupportDataRelease>
<isSupportAudioPlan>
<!--ro, opt, bool, whether the device supports the audio scheme plan, desc:related URL: /ISAPI/System/Audio/plan?format=json-->true
en
</isSupportAudioPlan>
<isSupportAudioTask>
<!--ro, opt, bool, whether the device supports the audio scheme task, desc:related URL: /ISAPI/System/Audio/plan/<PlanID>/task?format=json-->true
im
</isSupportAudioTask>
ng
<isSupportaudioCollection>
Aj
<!--ro, opt, bool, whether the device supports collecting audio files, desc:related URL: /ISAPI/System/Audio/audioCollection/capabilities?
format=json; maintenance function, it is used for collecting audio to analyze audio questions-->true
Co
</isSupportaudioCollection>
<isSupportWirelessPickUp>
<!--ro, opt, bool, whether the device supports connecting wireless pickup, desc:related URL: /ISAPI/System/Audio/wirelessPickUp/capabilities?
format=json-->true
</isSupportWirelessPickUp>
<audioOutputBroadcastNums opt="1,2,3,4">
<!--ro, opt, int, number of audio broadcast outputs, attr:opt{opt, string}, desc:at present, this node is only supported by broadcast audio devices
when opt="1,2,3,4" is returned and , the output depends on the actual node; when not returned, the output starts from 1 by default according to business
type, the audio devices classify the output ports into broadcast output port and audio output port considering the start No. of every output starts from 1,
it should return the specific number of supported broadcast outputs if this node is returned, it indicates that the device supports the audio output volume
configuration; otherwise, the device does not support. Corresponding URI: /ISAPI/System/Audio/AudioOut/broadcast/capabilities?format=json-->0
</audioOutputBroadcastNums>
<isSupportAudioOutMixing>
<!--ro, opt, bool, whether the device supports outputting audio mix, desc:related URL: /ISAPI/System/Audio/AudioOut/mixing/capabilities?format=json-
->true
</isSupportAudioOutMixing>
<isSupportRTSPAudio>
<!--ro, opt, bool, whether the device supports listening to the audio transmitted via RTSP in real time, desc:RTSP URI:
/ISAPI/System/Audio/AudioIn/channels/<audioID>-->true
</isSupportRTSPAudio>
<isSupportRTSPAudioPlaybackByFile>
<!--ro, opt, bool, whether the device supports playing back audio transmitted via RTSP according to files, desc:the RTSP streaming URL is
playbackURI returned by /ISAPI/ContentMgmt/recordAudio/search?format=json-->true
</isSupportRTSPAudioPlaybackByFile>
</isSupportRTSPAudioPlaybackByFile>
</AudioCap>
<isSupportHolidy>
<!--ro, opt, bool, This node is located after the node <AudioCap>.-->true
</isSupportHolidy>
<RebootConfigurationCap>
<!--ro, opt, object, capability of configuring parameters for rebooting the device, desc:related URI: /ISAPI/System/reboot/capabilities. This node is
located before the node <isSupportSubscribeEvent> and after the node <isSupportHolidy>.-->
<Genetec>
<!--ro, opt, bool, whether to enable the Genetec protocol-->true
</Genetec>
<ONVIF>
<!--ro, opt, bool, whether to enable the ONVIF protocol-->true
</ONVIF>
<RTSP>
<!--ro, opt, bool, whether to enable the RTSP protocol-->true
m
</RTSP>
<HTTP>
co
<!--ro, opt, bool, whether to enable the HTTP protocol-->true
</HTTP>
a.
<SADP>
<!--ro, opt, object, SADP (Search Active Devices Protocol, including the link layer and multicast discovery)-->
<ISDiscoveryMode>
C. arc
<!--ro, opt, bool, mode of the SADP multicast discovery protocol-->true
</ISDiscoveryMode>
<PcapMode>
<!--ro, opt, bool, mode of the SADP link layer discovery protocol-->true
s, em
</PcapMode>
</SADP>
A
<IPCAddStatus>
no fr
<!--ro, opt, bool, IP address status-->true
</IPCAddStatus>
ri on
</RebootConfigurationCap>
<isSupportExternalDevice>
<!--ro, opt, bool, whether the device supports connecting to peripherals: true (support), desc:related URI: /ISAPI/System/externalDevice/capabilities-
Ma oc
->true
</isSupportExternalDevice>
<isSupportSoundCfg>
up
<!--ro, opt, bool, whether the device supports the sound configuration, desc:related URI: /ISAPI/System/SoundCfg/capabilities-->true
</isSupportSoundCfg>
<isSupportSubscribeEvent>
co gr
<!--ro, opt, bool, whether the device supports subscribing to events, desc:related URI: /ISAPI/Event/notification/subscribeEventCap-->true
</isSupportSubscribeEvent>
es a@
<isSupportSubscribeIOTInfo>
<!--ro, opt, bool, whether the device supports subscribing to the IoT information-->true
</isSupportSubscribeIOTInfo>
Fr rc
<isSupportDiagnosedData>
<!--ro, opt, bool, whether the device supports exporting the device diagnosis data, desc:true (support), this node is not returned (not support).
related URI: /ISAPI/System/diagnosedData.-->true
y ema
</isSupportDiagnosedData>
<isSupportChangedUpload>
<!--ro, opt, bool, whether the device supports uploading changes-->true
</isSupportChangedUpload>
os fr
<isSupportGettingWorkingStatus>
<!--ro, opt, bool, whether the device supports getting the device status-->true
ad on
</isSupportGettingWorkingStatus>
<isSupportGettingChannelInfoByCondition>
<!--ro, opt, bool, whether the device supports getting the channel information by condition-->true
el .c
</isSupportGettingChannelInfoByCondition>
<isSupportDiagnosedDataParameter>
<!--ro, opt, bool, whether the device supports enabling or disabling exporting the diagnosis information-->true
ez
</isSupportDiagnosedDataParameter>
<isSupportSimpleDevStatus>
en
<!--ro, opt, bool, whether the device supports getting the device's simple status, desc:related URI: /ISAPI/System/workingstatus?format=json-->true
</isSupportSimpleDevStatus>
<isSupportFlexible>
im
<!--ro, opt, bool, whether the device supports the flexible combination configuration. Related URI: /ISAPI/System/Video/inputs/channels?format=json--
>true
ng
</isSupportFlexible>
Aj
<isSupportPTZChannels>
<!--ro, opt, bool, whether the device supports returning the PTZ channel (it is distinguished from the video channel)-->true
Co
</isSupportPTZChannels>
<isSupportMetadata>
<!--ro, opt, bool, whether the device supports metadata, desc:related URI: /ISAPI/Streaming/channels/<ID>/metadata/capabilities-->true
</isSupportMetadata>
<isSupportTimeCap>
<!--ro, opt, bool, whether the device supports the time configuration, desc:related URI: /ISAPI/System/time/capabilities-->true
</isSupportTimeCap>
<isSupportThermalStreamData>
<!--ro, opt, bool, whether the device supports uploading thermal imaging stream data in real time-->true
</isSupportThermalStreamData>
<isSupportShutdown>
<!--ro, opt, bool, whether the device supports the shutdown configuration, desc:related URI: /ISAPI/System/shutdown?format=json-->true
</isSupportShutdown>
<isSupportConsumptionMode>
<!--ro, opt, bool, whether the device supports switching the consumption mode, desc:related URI: /ISAPI/System/consumptionMode/capabilities?
format=json-->true
</isSupportConsumptionMode>
<isSupportManualPowerConsumption>
<!--ro, opt, bool, whether the device supports controlling the device consumption manually-->true
</isSupportManualPowerConsumption>
<isSupportPostUpdateFirmware>
<!--ro, opt, bool, whether the device supports upgrading firmware by POST method-->true
</isSupportPostUpdateFirmware>
</isSupportPostUpdateFirmware>
<isSupportPostConfigData>
<!--ro, opt, bool, whether the device supports importing and exporting the configuration file by POST method-->true
</isSupportPostConfigData>
<isSupportUserLock>
<!--ro, opt, bool, whether the device supports locking the user, desc:related URI: /ISAPI/System/userLock/config/capabilities?format=json-->true
</isSupportUserLock>
<isSupportModuleLock>
<!--ro, opt, bool, whether the device supports locking the module, desc:related URI: /ISAPI/System/moduleLock-->true
</isSupportModuleLock>
<supportSmartOverlapChannles opt="1">
<!--ro, opt, bool, whether the device supports configuring the smart event stream, attr:opt{opt, string}, desc:If this function is supported, this
node and the corresponding channel ID will be returned; otherwise, this node will not be returned-->true
</supportSmartOverlapChannles>
<isSupportNetworkCapture>
<!--ro, opt, bool, whether the device supports capturing network packets, desc:this node is used to determine whether the device supports capturing
communication packets transmitted between the device and the external. Related URI: /ISAPI/System/networkCapture/capabilities?format=json-->true
m
</isSupportNetworkCapture>
co
<isSupportOperationRecord>
<!--ro, opt, bool, whether the device supports the device operation records, desc:the charging voltage and monthly flow can be recorded in the device
in real-time low-consumption mode and full-consumption mode. Related URI: /ISAPI/System/operationRecord/capabilities?format=json-->true
a.
</isSupportOperationRecord>
<isSupportSearchModuleLock>
C. arc
<!--ro, opt, bool, whether the device support search module locking parameters, desc:/ISAPI/System/moduleLock/searchconfig?format=json-->true
</isSupportSearchModuleLock>
</SysCap>
<voicetalkNums>
<!--ro, opt, int, number of two-way audio channels-->2
s, em
</voicetalkNums>
A
<isSupportSnapshot>
no fr
<!--ro, opt, bool, whether the device supports capturing pictures-->true
</isSupportSnapshot>
<SecurityCap>
ri on
<!--ro, opt, object, encryption capability set-->
<supportUserNums>
<!--ro, opt, int, supported maximum number of users-->1
Ma oc
</supportUserNums>
<userBondIpNums>
up
<!--ro, opt, int, supported maximum number of IP addresses that can be bound-->1
</userBondIpNums>
<userBondMacNums>
co gr
<!--ro, opt, int, supported maximum number of MAC addresses that can be bound-->1
</userBondMacNums>
<isSupCertificate>
es a@
<issupIllegalLoginLock>
s
<isSupportOnlineUser>
<!--ro, opt, bool, whether the device supports the online user configuration-->true
</isSupportOnlineUser>
<isSupportAnonymous>
os fr
<securityVersion opt="1,2,3,4,7">
<!--ro, opt, string, encryption capability, attr:opt{opt, string}, desc:the encryption capability of each version consists of two parts: encryption
algorithm and the range of encrypted nodes. Currently 1 refers to AES128 encryption and 2 refers to AES256 encryption. The range of encrypted nodes is
ez
<!--ro, opt, int, iteration times, desc:the value is usually between 100 and 1000-->100
</keyIterateNum>
<isSupportUserCheck>
im
<!--ro, opt, bool, whether the device supports verifying the login password when editing (editing/adding/deleting) user parameters, desc:this node
ng
depends on the node <securityVersion>, which means that it is only valid for the versions that support encrypting the sensitive information-->true
Aj
</isSupportUserCheck>
<isSupportGUIDFileDataExport>
Co
<!--ro, opt, bool, whether the device supports exporting the device's GUID file-->true
</isSupportGUIDFileDataExport>
<isSupportSecurityQuestionConfig>
<!--ro, opt, bool, whether the device supports answering security questions-->true
</isSupportSecurityQuestionConfig>
<supportSecurityNode opt="wirelessServer,wirelessDial">
<!--ro, opt, string, additional node for supporting sensitive information encryption, attr:opt{opt, string}, desc:in the earlier version of the
solution for encrypting the sensitive information via ISAPI (i.e., the solution for transmitting plaintext via ISAPI), some URIs containing sensitive
information are left out. Now these URIs need to be encrypted for transmission. This capability node is added to be compatible with old devices-->test
</supportSecurityNode>
<isSupportGetOnlineUserListSC>
<!--ro, opt, bool, whether the device supports searching the online user list-->true
</isSupportGetOnlineUserListSC>
<SecurityLimits>
<!--ro, opt, object, capability of configuring security limit parameters-->
<LoginPasswordLenLimit min="1" max="16">
<!--ro, opt, string, length limit of the user's login password, attr:min{opt, string},max{opt, string}-->test
</LoginPasswordLenLimit>
<SecurityAnswerLenLimit min="1" max="128">
<!--ro, opt, string, length limit of the security question's answer, attr:min{opt, string},max{opt, string}-->test
</SecurityAnswerLenLimit>
</SecurityLimits>
<RSAKeyLength opt="512,1024,2048" def="2048">
<!--ro, opt, enum, HTTPS certificate length, subType:string, attr:opt{opt, string},def{opt, string}, desc:512, 1024, 2048-->2048
<!--ro, opt, enum, HTTPS certificate length, subType:string, attr:opt{opt, string},def{opt, string}, desc:512, 1024, 2048-->2048
</RSAKeyLength>
<isSupportONVIFUserManagement>
<!--ro, opt, bool, whether the device supports ONVIF user management-->true
</isSupportONVIFUserManagement>
<WebCertificateCap>
<!--ro, opt, object, HTTP authentication capability-->
<CertificateType opt="basic,digest,digest/basic">
<!--ro, req, string, certificate type: basic (authentication), attr:opt{opt, string}-->test
</CertificateType>
<SecurityAlgorithm>
<!--ro, opt, object, encryption algorithm, dep:or,{$.DeviceCap.SecurityCap.WebCertificateCap.CertificateType,eq,degist},
{$.DeviceCap.SecurityCap.WebCertificateCap.CertificateType,eq,digest/basic}-->
<algorithmType opt="MD5,SHA256,MD5/SHA256">
<!--ro, opt, string, algorithm type, attr:opt{req, string}-->test
</algorithmType>
m
</SecurityAlgorithm>
</WebCertificateCap>
co
<isSupportConfigFileImport>
<!--ro, opt, bool, whether the device supports importing the configuration file-->true
a.
</isSupportConfigFileImport>
<isSupportConfigFileExport>
<!--ro, opt, bool, whether the device supports exporting the configuration file-->true
C. arc
</isSupportConfigFileExport>
<cfgFileSecretKeyLenLimit min="0" max="16">
<!--ro, opt, string, length limit of the configuration file's verification key, attr:min{opt, string},max{opt, string}-->0
</cfgFileSecretKeyLenLimit>
s, em
<supportIPCActivatePassword>
<!--ro, opt, bool, whether the device supports configuring the password for activating the network camera-->true
A
</supportIPCActivatePassword>
no fr
<isIrreversible>
<!--ro, opt, bool, whether the device supports irreversible password storage, desc:if this function is not supported, the plaintext password of the
ri on
user information will be stored in the device; otherwise, the password will be hashed for storage in the device-->true
</isIrreversible>
<salt>
Ma oc
<!--ro, opt, string, the specific salt used by the user to log in-->test
</salt>
<isSupportOnvifInfo>
up
<!--ro, opt, bool, whether the device supports getting the ONVIF protocol information-->true
</isSupportOnvifInfo>
co gr
<isSupportUserNamePasswordCheckUpgrade>
<!--ro, opt, bool, whether the device supports upgrading the verification of the user name and password-->true
</isSupportUserNamePasswordCheckUpgrade>
es a@
<isSupportDeviceCertificatesManagement>
<!--ro, opt, bool, whether the device supports certificate management-->true
</isSupportDeviceCertificatesManagement>
Fr rc
<isSupportSIPCertificatesManagement>
<!--ro, opt, bool, whether the device supports SIP certificate management-->true
y ema
</isSupportSIPCertificatesManagement>
<isSupportDeviceSelfSignCertExport>
<!--ro, opt, bool, whether the device supports exporting the self-signed certificate-->true
</isSupportDeviceSelfSignCertExport>
<isSupportSecurityEmail>
os fr
<!--ro, opt, bool, whether the device supports configuring the security email-->true
</isSupportSecurityEmail>
ad on
<isSupportRTSPCertificate opt="true,false">
<!--ro, opt, bool, whether the device supports RTSP authentication, attr:opt{opt, string}-->true
</isSupportRTSPCertificate>
el .c
<isSupportPictureURlCertificate opt="true,false">
<!--ro, opt, bool, whether the device supports configuring parameters for picture URL authentication, attr:opt{opt, string}-->true
</isSupportPictureURlCertificate>
ez
<isSupportGB35114Certificate>
<!--ro, opt, bool, N/A-->true
en
</isSupportGB35114Certificate>
<isSupportAuthenticationMode opt="uKey,private">
<!--ro, opt, enum, verification mode, subType:string, attr:opt{req, string}, desc:"uKey", "private"-->private
im
</isSupportAuthenticationMode>
<isSupportUnloggedUserPermissionConfig opt="true,false">
ng
<!--ro, opt, bool, whether the device supports configuring permission for users that have not logged in, attr:opt{opt, string}-->true
Aj
</isSupportUnloggedUserPermissionConfig>
Co
m
</isSupportUsersConfig>
co
<isSupportUsersPermissionConfig>
<!--ro, opt, bool, whether the device supports configuring user permission for secondary authentication-->true
</isSupportUsersPermissionConfig>
a.
<isSupportFactoryReset>
<!--ro, opt, bool, whether the device supports restoring secondary authentication to defaults-->true
C. arc
</isSupportFactoryReset>
</DoubleVerificationCap>
<isSupportUserSearch>
<!--ro, opt, bool, whether the device supports searching users-->true
s, em
</isSupportUserSearch>
<keypadPassword min="1" max="10">
A
<!--ro, opt, int, keypad password length, attr:min{req, int},max{req, int}, desc:When the password length of different user types is different, this
no fr
node only indicates the keypad password length of the administrator; otherwise, the keypad password length of all user types is the same and defined by the
value of this node.-->1
</keypadPassword>
ri on
<installerKeypadPassword min="1" max="10">
<!--ro, opt, int, keypad password length of the installer, attr:min{req, int},max{req, int}-->1
Ma oc
</installerKeypadPassword>
<operatorKeypadPassword min="1" max="10">
<!--ro, opt, int, keypad password length of the operator, attr:min{req, int},max{req, int}-->1
up
</operatorKeypadPassword>
<userOperateType opt="1,2,3">
<!--ro, opt, enum, user type: 1 (network user), subType:int, attr:opt{req, string}, desc:1 (network user), 2 (keypad user), 3 (network user and keypad
co gr
user)-->1
</userOperateType>
<isSptUserEnabled>
es a@
<!--ro, opt, bool, whether the device supports configuring parameters for enabling the user-->true
</isSptUserEnabled>
Fr rc
<isSptAdminCap>
s
<!--ro, opt, bool, whether the device supports getting the admin permission-->true
</isSptAdminCap>
y ema
<isSupportBackLogCfg>
<!--ro, opt, bool, whether the device supports configuring basic parameters of the background log-->true
</isSupportBackLogCfg>
<isSupportBackLogExport>
os fr
<!--ro, opt, bool, whether the device supports exporting the background log-->true
</isSupportBackLogExport>
<isSupportModifyInnerPassword opt="true,false">
ad on
<!--ro, opt, bool, whether the device supports editing the built-in password, attr:opt{req, string}, desc:the device's built-in passwords include the
database password, system account password and so on-->true
el .c
</isSupportModifyInnerPassword>
<isSupportEncryptCertificate>
<!--ro, opt, bool, whether the device supports certificate encryption, desc:/ISAPI/Security/deviceCertificate-->true
ez
</isSupportEncryptCertificate>
<maxIllegalLoginLockTime min="1" max="120" def="30.00">
<!--ro, opt, int, lock time range, range:[1,120], unit:min, attr:min{req, int},max{req, int},def{req, int}-->1
en
</maxIllegalLoginLockTime>
<cloudSensitiveInfoEncryptType>
im
<!--ro, opt, string, encryption type of the cloud sensitive information, desc:the current device returns the value "2.1", which means that the method
of generating the key for encrypting the sensitive information is SHA256(calc_sha256(user, salt, SHA256(user+salt2+SHA256(user+salt+password)))+
ng
AaBbCcDd1234!@#$).-->2.1
Aj
</cloudSensitiveInfoEncryptType>
<isSupportCertificateCustomID>
Co
<!--ro, opt, bool, whether the device supports using the user's custom ID to configure the certificate-->true
</isSupportCertificateCustomID>
<isSupportResetLANPassword>
<!--ro, opt, bool, whether the device supports resetting the device's password in the LAN, desc:related URI:
/ISAPI/Security/resetPassword/certification?format=json-->true
</isSupportResetLANPassword>
<isSupportPicHttpsCertificatesManagement>
<!--ro, opt, bool, whether the device supports managing the HTTPS certificate for pictures, desc:if this function is supported, this node will be
returned and its value is true; otherwise, this node will not be returned-->true
</isSupportPicHttpsCertificatesManagement>
<isSupportAKSKImport>
<!--ro, opt, bool, whether the device supports importing AKSK, desc:if this function is supported, this node will be returned and its value is true;
otherwise, this node will not be returned-->true
</isSupportAKSKImport>
<isSupportAKSKExport>
<!--ro, opt, bool, whether the device supports exporting AKSK, desc:If this function is supported, this node will be returned and its value is true;
otherwise, this node will not be returned.-->true
</isSupportAKSKExport>
<isSupportAKSKReset>
<!--ro, opt, bool, whether the device supports resetting AKSK, desc:If this function is supported, this node will be returned and its value is true;
otherwise, this node will not be returned.-->true
</isSupportAKSKReset>
<ExportCertificateFile>
<!--ro, opt, object, whether the device supports exporting the certificate, desc:related URI: POST
/ISAPI/Security/serverCertificate/exportCertificateFile-->
</ExportCertificateFile>
<isSupportGB351114FDWSFCertificate>
<!--ro, opt, bool, whether the device supports FDWSF certificate management, desc:if this function is supported, this node will be returned and its
value is true; otherwise, this node will not be returned. Related URIs: /ISAPI/Security/GB351114/FDWSFCertificate/capabilities?format=json, POST
/ISAPI/Security/GB351114/FDWSFCertificate?format=json, GET /ISAPI/Security/GB351114/FDWSFCertificate?format=json, and DELETE
/ISAPI/Security/GB351114/FDWSFCertificate?format=json.-->true
</isSupportGB351114FDWSFCertificate>
<isSupportMediaObjectEncryption>
<!--ro, opt, bool, whether the device supports setting encryption parameters of the private target in media data for the specified video channel,
desc:if this function is supported, this node will be returned and its value is true; otherwise, this node will not be returned. Related URI:
/ISAPI/Security/MediaObjectEncryption/capabilities?format=json-->true
</isSupportMediaObjectEncryption>
<isSupportDisclaimer>
<!--ro, opt, bool, whether support configuring the product disclaimer, desc:if this function is supported, this node will be returned and its value is
m
true; otherwise, this node will not be returned. Related URI: /ISAPI/Security/disclaimer/capabilities?format=json-->true
co
</isSupportDisclaimer>
<isSupportSoftwareLicense>
<!--ro, opt, bool, whether support configuring the product open source statement, desc:if this function is supported, this node will be returned and
a.
its value is true; otherwise, this node will not be returned. Related URI: /ISAPI/Security/softwareLicense?format=json-->true
</isSupportSoftwareLicense>
<isSupportInstallerCap>
C. arc
<!--ro, opt, bool, whether the device supports getting the installer permission, desc:if this function is supported, this node will be returned and
its value is true; otherwise, this node will not be returned. Related URI: /ISAPI/Security/UserPermission/installer/capabilities?format=json-->true
</isSupportInstallerCap>
<isSupportResetPasswordFile>
s, em
<!--ro, opt, bool, whether the device supports exporting and importing the secret key file of device in the LAN, desc:Related URI:
/ISAPI/Security/resetPassword/keyFile/capabilities?format=json-->true
A
no fr
</isSupportResetPasswordFile>
<isNotSupportLogSeverCertificate>
<!--ro, opt, bool, whether the device support importing log server certificate, desc:related URI: /ISAPI/Security/serverCertificate/certificate-->true
ri on
</isNotSupportLogSeverCertificate>
<isSupportLocalLoginCfg>
<!--ro, opt, bool, whether it supports the capability of device local login parameters, desc:GET/PUT /ISAPI/Security/LocalLoginCfg?format=json-->true
Ma oc
</isSupportLocalLoginCfg>
<isSupportGetProtocolFirewallRulesFileImportStatus>
<!--ro, opt, bool, N/A, desc:GET /ISAPI/Security/GetProtocolFirewallRulesFileImportStatus?format=json-->true
up
</isSupportGetProtocolFirewallRulesFileImportStatus>
<isSupportImportProtocolFirewallRulesFile>
co gr
<isSupportProtocolFirewallVersionInfo>
<!--ro, opt, bool, N/A, desc:GET /ISAPI/Security/ProtocolFirewallVersionInfo?format=json-->true
</isSupportProtocolFirewallVersionInfo>
<isSupportProtocolFirewallParams>
os fr
<!--ro, opt, bool, whether it supports resetting device password with phone number verification,
desc:1. attendance check devices support applying a preset phone number during device activation. The user can reset the device password with the preset
phone number, which is similar with password reset via email. The phone number can be changed on the website or local UI of the device
el .c
2. if the node is not returned or the returned value is false, it indicates "no"-->true
</isSupportResetPasswordBySecurityPhoneNo>
ez
<isSupportGetIntrusionPreventionEngineUpgradeStatus>
<!--ro, opt, bool, whether the device supports getting the upgrade status of intrusion prevention engine library, desc:GET
/ISAPI/Security/GetIntrusionPreventionEngineUpgradeStatus?format=json-->true
en
</isSupportGetIntrusionPreventionEngineUpgradeStatus>
<isSupportIntrusionPreventionEngineVersionInfo>
<!--ro, opt, bool, whether the device supports version information of intrusion prevention engine, desc:GET
im
/ISAPI/Security/IntrusionPreventionEngineVersionInfo?format=json-->true
</isSupportIntrusionPreventionEngineVersionInfo>
ng
<isSupportIntrusionPreventionParams>
Aj
<!--ro, opt, bool, whether the device supports intrusion prevention parameters, desc:GET/PUT /ISAPI/Security/IntrusionPreventionParams?format=json--
Co
>true
</isSupportIntrusionPreventionParams>
<isSupportUpgradeIntrusionPreventionEngine>
<!--ro, opt, bool, whether the device supports upgrading intrusion prevention engine library, desc:PUT
/ISAPI/Security/UpgradeIntrusionPreventionEngine?format=json-->true
</isSupportUpgradeIntrusionPreventionEngine>
<notSupportImportCertificateType opt="CA,CCClentCertificate,GB35114,GB35114Service">
<!--ro, opt, string, file type that cannot be imported, attr:opt{req, string}, desc:if this node does not exist, all supported certificate types can
be imported-->test
</notSupportImportCertificateType>
<isSupportPasswordProtection>
<!--ro, opt, bool-->true
</isSupportPasswordProtection>
</SecurityCap>
<EventCap>
<!--ro, opt, object, event capability-->
<isSupportHDFull>
<!--ro, opt, bool, whether the device supports HDD full alarm-->true
</isSupportHDFull>
<isSupportHDError>
<!--ro, opt, bool, whether the device supports HDD error alarm-->true
</isSupportHDError>
<isSupportNicBroken>
<!--ro, opt, bool, whether the device supports the network disconnected event-->true
<!--ro, opt, bool, whether the device supports the network disconnected event-->true
</isSupportNicBroken>
<isSupportIpConflict>
<!--ro, opt, bool, whether the device supports the IP address conflict event-->true
</isSupportIpConflict>
<isSupportIllAccess>
<!--ro, opt, bool, whether the device supports the illegal login event-->true
</isSupportIllAccess>
<isSupportViException>
<!--ro, opt, bool, whether the device supports video input exception (only for analog channels)-->true
</isSupportViException>
<isSupportViMismatch>
<!--ro, opt, bool, whether the device supports the event of video standard mismatch-->true
</isSupportViMismatch>
<isSupportRecordException>
<!--ro, opt, bool, whether the device supports the recording exception event-->true
m
</isSupportRecordException>
<isSupportRaidException>
co
<!--ro, opt, bool, whether the device supports the array exception event-->true
</isSupportRaidException>
<isSupportViResMismatch>
a.
<!--ro, opt, bool, whether the device supports the event of video resolution mismatch-->true
</isSupportViResMismatch>
C. arc
<isSupportPOCException>
<!--ro, opt, bool, whether the device supports the event of powering over coaxial exception-->true
</isSupportPOCException>
<isSupportSmartDetection>
s, em
<!--ro, opt, bool, whether the device supports the Smart event-->true
</isSupportSmartDetection>
A
<isSupportSpareException>
no fr
<!--ro, opt, bool, whether the device supports hot spare exception-->true
</isSupportSpareException>
<isSupportPoePowerException>
ri on
<!--ro, opt, bool, whether the device supports the POE exception event-->true
</isSupportPoePowerException>
Ma oc
<isSupportTriggerFocus>
<!--ro, opt, bool, whether the device supports defocus exception-->true
</isSupportTriggerFocus>
up
<isSupportMotionDetection>
<!--ro, opt, bool, whether the device supports motion detection-->true
</isSupportMotionDetection>
co gr
<isSupportVideoLoss>
<!--ro, opt, bool, whether the device supports video loss events-->true
es a@
</isSupportVideoLoss>
<isSupportTamperDetection>
<!--ro, opt, bool, whether the device supports tampering detection-->true
Fr rc
</isSupportTamperDetection>
<isSupportFireDetection>
<!--ro, opt, bool, whether the device supports fire detection events-->true
y ema
</isSupportFireDetection>
<isSupportRegionEntrance>
<!--ro, opt, bool, whether the device supports region entrance events-->true
</isSupportRegionEntrance>
os fr
<isSupportRegionExiting>
<!--ro, opt, bool, whether the device supports region exiting events-->true
</isSupportRegionExiting>
ad on
<isSupportLoitering>
<!--ro, opt, bool, whether the device supports loitering events-->true
el .c
</isSupportLoitering>
<isSupportGroup>
<!--ro, opt, bool, whether the device supports people gathering events-->true
ez
</isSupportGroup>
<isSupportRapidMove>
<!--ro, opt, bool, whether the device supports fast moving events-->true
en
</isSupportRapidMove>
<isSupportParking>
im
<!--ro, opt, bool, whether the device supports parking detection events-->true
</isSupportParking>
ng
<isSupportUnattendedBaggage>
Aj
<!--ro, opt, bool, whether the device supports unattended baggage events-->true
</isSupportUnattendedBaggage>
Co
<isSupportAttendedBaggage>
<!--ro, opt, bool, whether the device supports object removal events-->true
</isSupportAttendedBaggage>
<isSupportHumanAttribute>
<!--ro, opt, bool, whether the device supports human body features-->true
</isSupportHumanAttribute>
<isSupportHumanRecognition>
<!--ro, opt, bool, whether the device supports target capture events-->true
</isSupportHumanRecognition>
<isSupportFaceContrast>
<!--ro, opt, bool, whether the device supports face picture comparison events-->true
</isSupportFaceContrast>
<isSupportFaceLib>
<!--ro, opt, bool, Front-end devices support linkage by face picture library., desc:related URI: /ISAPI/Event/schedules/faceLib/<ID>/<FDID>-->true
</isSupportFaceLib>
<isSupportBlackListFaceContrast>
<!--ro, opt, bool, whether the device supports events of blocklist face picture comparison-->true
</isSupportBlackListFaceContrast>
<isSupportWhiteListFaceContrast>
<!--ro, opt, bool, whether the device supports events of allowlist face picture comparison-->true
</isSupportWhiteListFaceContrast>
<isSupportillegalParking>
<!--ro, opt, bool, whether the device supports illegal parking detection-->true
</isSupportillegalParking>
<isSupportPedestrian>
<!--ro, opt, bool, whether the device supports pedestrian detection-->true
</isSupportPedestrian>
<isSupportTrafficAccident>
<!--ro, opt, bool, whether the device supports traffic incident detection-->true
</isSupportTrafficAccident>
<isSupportConstruction>
<!--ro, opt, bool, whether the device supports construction detection-->true
</isSupportConstruction>
<isSupportRoadBlock>
<!--ro, opt, bool, whether the device supports roadblock detection-->true
</isSupportRoadBlock>
<isSupportAbandonedObject>
<!--ro, opt, bool, whether the device supports fallen object detection-->true
</isSupportAbandonedObject>
m
<isSupportParallelParking>
co
<!--ro, opt, bool, whether the device supports parallel parking detection-->true
</isSupportParallelParking>
<isSupportParkingState>
a.
<!--ro, opt, bool, whether the device supports parking space status detection-->true
</isSupportParkingState>
<isSupportTrafficJam>
C. arc
<!--ro, opt, bool, whether the device supports traffic jam detection (old version)-->true
</isSupportTrafficJam>
<isSupportCongestion>
<!--ro, opt, bool, whether the device supports traffic jam detection-->true
s, em
</isSupportCongestion>
A
<isSupportStudentsStoodUp>
no fr
<!--ro, opt, bool, whether the device supports the student standing up detection event-->true
</isSupportStudentsStoodUp>
<isSupportFramesPeopleCounting>
ri on
<!--ro, opt, bool, whether the device supports the regional people counting event-->true
</isSupportFramesPeopleCounting>
<isSupportFaceSnap>
Ma oc
<!--ro, opt, bool, whether the device supports face capture events-->true
</isSupportFaceSnap>
up
<isSupportPersonDensityDetection>
<!--ro, opt, bool, whether the device supports people density detection-->true
</isSupportPersonDensityDetection>
co gr
<HFPD>
<!--ro, opt, bool, whether the device supports frequently appeared person detection-->true
</HFPD>
es a@
<isSupportPersonQueueDetection>
<!--ro, opt, bool, whether the device supports queue detection events-->true
</isSupportPersonQueueDetection>
Fr rc
<isSupportVehicleStatistics>
<!--ro, opt, bool, whether the device supports vehicle statistics events-->true
y ema
</isSupportVehicleStatistics>
<isSupportFaceThermometry>
<!--ro, opt, bool, whether the device supports face temperature screening-->true
</isSupportFaceThermometry>
os fr
<isSupportSafetyHelmetDetection>
<!--ro, opt, bool, whether the device supports hard hat detection-->true
</isSupportSafetyHelmetDetection>
ad on
<isSupportPowerSupplyCabinet>
<!--ro, opt, bool, whether the device supports cabinet powering detection-->true
</isSupportPowerSupplyCabinet>
el .c
<isSupportSensorDetection>
<!--ro, opt, bool, whether the device supports sensor detection-->true
ez
</isSupportSensorDetection>
<isSupportSignAbnormal>
<!--ro, opt, bool, whether the device supports the physical sign exception detection-->true
en
</isSupportSignAbnormal>
<isSupportTeacherBehaviorDetect>
<!--ro, opt, bool, whether the device supports teacher's behavior detection-->true
im
</isSupportTeacherBehaviorDetect>
ng
<isSupportCityManagement>
Aj
<!--ro, opt, bool, whether the device supports the city management function-->true
</isSupportCityManagement>
Co
<isSupportMixedTargetDetection>
<!--ro, opt, bool, whether the device supports multi-target-type detection events-->true
</isSupportMixedTargetDetection>
<isSupportFaceSnapModeling>
<!--ro, opt, bool, whether the device supports face modeling events-->true
</isSupportFaceSnapModeling>
<isSupportIntersectionAnalysis>
<!--ro, opt, bool, whether the device supports the intersection analysis-->true
</isSupportIntersectionAnalysis>
<isSupportTriggerCapCheck>
<!--ro, opt, bool, whether the device supports verifying the capability of triggering linkage actions, desc:this node indicates that the capability
message returned by calling the URI GET /ISAPI/Event/triggersCap has been verified, and the event linkage actions can be displayed exactly according to the
capability-->true
</isSupportTriggerCapCheck>
<isSupportLuma>
<!--ro, opt, bool, VQD brightness exception-->true
</isSupportLuma>
<isSupportChroma>
<!--ro, opt, bool, VQD image color cast-->true
</isSupportChroma>
<isSupportSnow>
<!--ro, opt, bool, VQD snow noise-->true
</isSupportSnow>
<isSupportStreak>
<isSupportStreak>
<!--ro, opt, bool, VQD stripe noise-->true
</isSupportStreak>
<isSupportFreeze>
<!--ro, opt, bool, VQD image freeze-->true
</isSupportFreeze>
<isSupportSigLose>
<!--ro, opt, bool, VQD signal loss-->true
</isSupportSigLose>
<isSupportClarity>
<!--ro, opt, bool, VQD resolution exception-->true
</isSupportClarity>
<isSupportJitter>
<!--ro, opt, bool, VQD image flutter-->true
</isSupportJitter>
<isSupportBlock>
m
<!--ro, opt, bool, VQD video tampering-->true
</isSupportBlock>
co
<isSupportFlowers>
<!--ro, opt, bool, VQD blurred image alarm-->true
a.
</isSupportFlowers>
<isSupportNoise>
<!--ro, opt, bool, VQD blurred screen-->true
C. arc
</isSupportNoise>
<isSupportGhost>
<!--ro, opt, bool, VQD image noise-->true
</isSupportGhost>
s, em
<isSupportPurple>
<!--ro, opt, bool, VQD purple fringing-->true
A
</isSupportPurple>
no fr
<isSupportICR>
<!--ro, opt, bool, VQD ICP-->true
ri on
</isSupportICR>
<isSupportProtectiveFilm>
<!--ro, opt, bool, VQD protective film unremoved-->true
Ma oc
</isSupportProtectiveFilm>
<isSupportVoltageInstable>
<!--ro, opt, bool, whether the device supports the voltage instable exception detection-->true
up
</isSupportVoltageInstable>
<isSupportCertificateRevocation>
<!--ro, opt, bool, whether the device supports the certificate expiry alarm-->true
co gr
</isSupportCertificateRevocation>
<isSupportSysStorFull>
es a@
<!--ro, opt, bool, whether the device supports the storage full alarm of the cluster system-->true
</isSupportSysStorFull>
<isSupportVersionAbnormal>
Fr rc
<!--ro, opt, bool, whether the device supports cluster version exception-->true
</isSupportVersionAbnormal>
<isSupportNodeOffline>
y ema
<!--ro, opt, bool, whether the device supports device offline detection-->true
</isSupportNodeOffline>
<isSupportRecordCycleAbnormal>
<!--ro, opt, bool, whether the device supports the event of insufficient recording period-->true
os fr
</isSupportRecordCycleAbnormal>
<isSupportIpcTransferAbnormal>
ad on
<!--ro, opt, bool, whether the device supports the event of network camera migration failure-->true
</isSupportIpcTransferAbnormal>
<isSupportDrivingBehaviorDetect>
el .c
<!--ro, opt, bool, whether the device supports driving behavior detection-->true
</isSupportDrivingBehaviorDetect>
<isSupportWasteGasDetection>
ez
<!--ro, opt, bool, whether the device supports waste gas monitoring-->true
</isSupportWasteGasDetection>
en
<isSupportGreyScaleAlarm>
<!--ro, opt, bool, whether the device supports the gray scale alarm-->true
</isSupportGreyScaleAlarm>
im
<isSupportPTLocking>
<!--ro, opt, bool, whether the device supports the PT locking event-->true
ng
</isSupportPTLocking>
Aj
<isSupportNoMaskDetection>
<!--ro, opt, bool, whether the device supports not wearing mask detection-->true
Co
</isSupportNoMaskDetection>
<isSupportTMPA>
<!--ro, opt, bool, whether the device supports the warning linkage of face temperature screening-->true
</isSupportTMPA>
<RuleScheduleCap>
<!--ro, opt, object, capability of configuring the arming schedule by rule-->
<isSupportCityManagement>
<!--ro, opt, bool, whether the device supports configuring the arming schedule by rule for the city management event-->true
</isSupportCityManagement>
</RuleScheduleCap>
<RegionScheduleCap>
<!--ro, opt, object, capability of configuring the arming schedule by area-->
<isSupportPersonDensityDetection>
<!--ro, opt, bool, whether the device supports configuring the arming schedule by area for the people density detection-->true
</isSupportPersonDensityDetection>
<isSupportPersonQueueDetection>
<!--ro, opt, bool, whether the device supports configuring the arming schedule by area for the queue detection (area popularity analytics)-->true
</isSupportPersonQueueDetection>
</RegionScheduleCap>
<isSupportThermalCalibrationFileException>
<!--ro, opt, bool, whether the device supports the temperature calibration file exception-->true
</isSupportThermalCalibrationFileException>
<isSupportTemperatureIntervalMeasurement>
<isSupportTemperatureIntervalMeasurement>
<!--ro, opt, bool, whether the device supports the temperature range detection-->true
</isSupportTemperatureIntervalMeasurement>
<isSupportThermalVehicleDetection>
<!--ro, opt, bool, whether the device supports thermal imaging vehicle detection-->true
</isSupportThermalVehicleDetection>
<isSupportWaterQualityDetection>
<!--ro, opt, bool, whether the device supports water quality detection-->true
</isSupportWaterQualityDetection>
<isSupportWaterLevelDetection>
<!--ro, opt, bool, whether the device supports water level detection-->true
</isSupportWaterLevelDetection>
<isSupportDeviceTemperatureAbnormal>
<!--ro, opt, bool, whether the device supports temperature exception detection-->true
</isSupportDeviceTemperatureAbnormal>
<isSupportObjectAccumulationDetection>
<!--ro, opt, bool, whether the device supports object accumulation detection-->true
m
</isSupportObjectAccumulationDetection>
co
<isSupportAppAbnormal>
<!--ro, opt, bool, whether the device supports the App exception alarm or event-->true
</isSupportAppAbnormal>
a.
<isSupportLensTemperatureException>
<!--ro, opt, bool, whether the device supports uploading lens abnormal temperature event-->true
C. arc
</isSupportLensTemperatureException>
<isSupportPTZFXYFinish>
<!--ro, opt, bool, the event of railway robot and PTZ going to the preset, desc:PTZFXYFinish-->true
</isSupportPTZFXYFinish>
<isSupportNormalTemperatureAlarm>
s, em
<!--ro, opt, bool, whether the device supports normal temperature alarm-->true
A
</isSupportNormalTemperatureAlarm>
no fr
<isSupportLowTemperatureAlarm>
<!--ro, opt, bool, whether the device supports low temperature alarm-->true
</isSupportLowTemperatureAlarm>
ri on
<isSupportLowCoolerLifeEvent>
<!--ro, opt, bool, whether it supports short life exception event of refrigerating machine-->true
</isSupportLowCoolerLifeEvent>
Ma oc
<isSupportObstacleAvoidanceAlarm>
<!--ro, opt, bool, whether it supports obstacle avoidance alarm-->true
up
</isSupportObstacleAvoidanceAlarm>
<isSupportPTZRotationAbnormal>
<!--ro, opt, bool-->true
co gr
</isSupportPTZRotationAbnormal>
</EventCap>
<ITCCap>
es a@
<!--ro, opt, object, related node and URIs: the node <isSupportVehicleDetection> in /ISAPI/ITC/capability and /ISAPI/ITC/capabilities-->
<isSupportITC>
Fr rc
</isSupportITC>
<isSupportIllegalDictionary>
y ema
<!--ro, opt, bool, whether the device supports the violation dictionary-->true
</isSupportIllegalDictionary>
<isSupportVehicleDetection>
<!--ro, opt, bool, whether the device supports vehicle detection-->true
os fr
</isSupportVehicleDetection>
<isSupportHVTVehicleDetection>
<!--ro, opt, bool, whether the device supports mixed-traffic vehicle detection-->true
ad on
</isSupportHVTVehicleDetection>
<isSupportlicencePlateAuditData>
el .c
<!--ro, opt, bool, whether the device supports importing or exporting the license plate blocklist and allowlist data-->true
</isSupportlicencePlateAuditData>
<isSupportSearchLPListAudit>
ez
<!--ro, opt, bool, whether the device supports searching for the license plate blocklist and allowlist-->true
</isSupportSearchLPListAudit>
<isSupportVehicleDetectionManualTrigger opt="false,true">
en
<!--ro, opt, bool, whether the device supports manually triggering vehicle detection, attr:opt{opt, string}-->true
</isSupportVehicleDetectionManualTrigger>
<isSupportSyncSignalOutput>
im
<!--ro, opt, bool, whether the device supports configuring output parameters-->true
ng
</isSupportSyncSignalOutput>
Aj
</ITCCap>
<ImageCap>
Co
m
/ISAPI/ContentMgmt/InputProxy/ipcConfig-->true
</isSupportIpcImport>
co
<NasMountType>
<!--ro, opt, object, NAS mounting type-->
a.
<isNFSSupportAuthentication>
<!--ro, opt, bool, whether the device supports NFS authentication-->true
</isNFSSupportAuthentication>
C. arc
<isCIFSSupportAuthentication>
<!--ro, opt, bool, whether the device supports CIFS authentication-->true
</isCIFSSupportAuthentication>
</NasMountType>
s, em
<isSupportIpcStreamType>
<!--ro, opt, bool, whether the device supports the stream type of the network camera-->true
A
</isSupportIpcStreamType>
no fr
<isSupportIOInputProxy>
<!--ro, opt, bool, whether the device supports dynamic input channels, desc:related URI: /ISAPI/ContentMgmt/IOProxy/inputs-->true
ri on
</isSupportIOInputProxy>
<isSupportIOOutputProxy>
<!--ro, opt, bool, whether the device supports dynamic output channels, desc:related URI: /ISAPI/ContentMgmt/IOProxy/outputs-->true
Ma oc
</isSupportIOOutputProxy>
<isSupportPTZRs485Proxy>
<!--ro, opt, bool, whether the device supports dynamic PTZ RS-485 channels, desc:related URI: /ISAPI/ContentMgmt/PTZCtrlProxy/capabilities-->true
up
</isSupportPTZRs485Proxy>
<isSupportSrcIDSearch>
co gr
<!--ro, opt, bool, whether the device supports HDD detection, desc:related URI: /ISAPI/ContentMgmt/Storage/hdd/SMARTTest/config-->true
</isSupportSMARTTest>
y ema
<isSupportDownloadByTime>
<!--ro, opt, bool, whether the device supports downloading by time, desc:related URI: /ISAPI/ContentMgmt/download/capabilities-->true
</isSupportDownloadByTime>
<pictureSearchType
opt="AllEvent,CMR,MOTION,ALARM,EDR,ALARMANDMOTION,Command,pir,wlsensor,callhelp,facedetection,FieldDetection,scenechangedetection,LineDetection,
os fr
regionEntrance,regionExiting,loitering,group,rapidMove,parking,unattendedBaggage,attendedBaggage,vehicleDetection,manual,manualSnapShot,playSnapShot,safetyH
elmet,
ad on
personQueueCounting,personQueueTime,violentMotion,leavePosition,advReachHeight,peopleNumChange,mixedTargetDetection,illegalParking,pedestrian,construction,r
oadblock,
abandonedObject,trafficAccident,fogDetection,smokeDetection,personDensity,failDown,accessController,videoInterCom,GJD,Luminite,OPTEX,securityControlPanel,ge
el .c
tUp,toiletTarry,
playCellphone,vehicleMonitor,vibrationDetection,running,retention,spacingChange,yardTarry,keyPersonGetUp,sitQuietly,standUp,plateRecognition,smoking,onThePh
one,fatigueDriving,
ez
notLookingStraightAhead,leaveThePost,seatBelt,sunglasses,identityAbnormal,ForwardCollisionWarning,LaneDepartureWarning,BlindSpotDetection,HeadwayMonitoringW
arning,
en
PedestrianCollisionWarning,SuddenSpeedUp,SuddenSpeedDown,SuddenLeftTurn,SuddenRightTurn,Turnover,NotYieldToPedestrian,unregisteredStreetVendor,stallOutsideS
hop,stallOccupyingRoad, illegalHeap,illegalParkingofNon-
MotorVehicle,illegalOutdoorAdvertisement,packGarbage,stallUnderUmbrella,dustbinOverflow,exposeGarbage,hangClothingAlongStreet,allPic,ATMPanel,
im
ATMSurround,ATMFace,ATMSafetyCabin,loitering,smokeDetectAlarm,alarmResult">
<!--ro, opt, string, picture search type, attr:opt{opt, string}-->test
ng
</pictureSearchType>
Aj
<recordSearchType
Co
opt="AllEvent,CMR,MOTION,ALARM,EDR,ALARMANDMOTION,Command,pir,wlsensor,callhelp,facedetection,FieldDetection,scenechangedetection,LineDetection,
regionEntrance,regionExiting,loitering,group,rapidMove,parking,unattendedBaggage,attendedBaggage,vehicleDetection,manual,manualSnapShot,playSnapShot,safetyH
elmet,
failDown,personDensityDetection,smokeDetection,vibrationDetection,unregisteredStreetVendor,stallOutsideShop,stallOccupyingRoad,illegalHeap,illegalParkingofN
on-MotorVehicle,
illegalOutdoorAdvertisement,packGarbage,stallUnderUmbrella,dustbinOverflow,exposeGarbage,hangClothingAlongStreet,ATMPanel,ATMSurround,ATMFace,ATMSafetyCabin
">
<!--ro, opt, string, video search type, attr:opt{opt, string}, desc:"llEvent" (all events), "CMR" (capture by schedule), "MOTION" (capture motion
detection pictures), "ALARM" (capture alarm pictures), "EDR" (capture alarm pictures or motion detection pictures), "ALARMANDMOTION" (capture alarm pictures
and motion detection pictures), "Command", "pir" (pir alarm), "wlsensor" (wireless alarm), "callhelp" (panic alarm), "facedetection" (face detection),
"FieldDetection" (intrusion detection), "scenechangedetection" (scene change detection), "LineDetection" (line crossing detection)-->test
</recordSearchType>
<isSupportActivateIpc>
<!--ro, opt, bool, whether the device supports activating the network camera-->true
</isSupportActivateIpc>
<isSupportCheckIpcSecurity>
<!--ro, opt, object, device password detection-->
<isSupportCheckPassword>
<!--ro, opt, bool, whether the device supports password detection-->true
</isSupportCheckPassword>
</isSupportCheckIpcSecurity>
<isSupportMainAndSubRecord>
<!--ro, opt, bool, whether the device supports the main stream and sub-stream recording-->true
</isSupportMainAndSubRecord>
</isSupportMainAndSubRecord>
<isSupportSyncIPCPassword>
<!--ro, opt, bool, whether the device supports synchronizing the password of the network camera-->true
</isSupportSyncIPCPassword>
<isSupportTransferIPC>
<!--ro, opt, bool, whether the device supports transparent transmission of the network camera-->true
</isSupportTransferIPC>
<isSupportSmartSearch>
<!--ro, opt, bool, whether the device supports video dual-VCA, desc:related URI: /ISAPI/ContentMgmt/SmartSearch/capabilities-->true
</isSupportSmartSearch>
<isSupportPOS>
<!--ro, opt, bool, whether the device supports POS-->true
</isSupportPOS>
<isSupportLinkNum>
<!--ro, opt, bool, whether the device supports getting the number of links, desc:related URI: /ISAPI/ContentMgmt/InputProxy/channels/<ID>/linkNum--
>true
</isSupportLinkNum>
m
<isSupportPassBackBasicCfg>
co
<!--ro, opt, bool, whether the device supports configuring basic parameters of the CVR copy-back function, desc:related URI:
/ISAPI/ContentMgmt/record/passback/basicCfg/capabilities-->true
</isSupportPassBackBasicCfg>
a.
<PassBackTaskConfig>
<!--ro, opt, object, capability of managing tasks of the CVR copy-back function-->
C. arc
<isSupportAddTask>
<!--ro, opt, bool, whether the device supports adding a task, desc:related URI: /ISAPI/ContentMgmt/record/passback/addTask/capabilities-->true
</isSupportAddTask>
<isSupportSearchTask>
s, em
<!--ro, opt, bool, whether the device supports searching tasks, desc:related URI: /ISAPI/ContentMgmt/record/passback/searchTask/capabilities-->true
</isSupportSearchTask>
A
<isSupportControlTask>
no fr
<!--ro, opt, bool, whether the device supports controlling the task, desc:related URI: /ISAPI/ContentMgmt/record/passback/controlTask/capabilities--
>true
</isSupportControlTask>
ri on
<isSupportDeleteTask>
<!--ro, opt, bool, whether the device supports deleting the task, desc:related URI: /ISAPI/ContentMgmt/record/passback/deleteTask/capabilities--
Ma oc
>true
</isSupportDeleteTask>
</PassBackTaskConfig>
up
<PassBackPlanConfig>
<!--ro, opt, object, capability of configuring the CVR copy-back schedule-->
<isSupportAddPlan>
co gr
<!--ro, opt, bool, whether the device supports adding a schedule, desc:related URI: /ISAPI/ContentMgmt/record/passback/addPlan/capabilities-->true
</isSupportAddPlan>
<isSupportSearchPlan>
es a@
<!--ro, opt, bool, whether the device supports searching schedules, desc:related URI: /ISAPI/ContentMgmt/record/passback/searchPlan/capabilities--
>true
Fr rc
</isSupportSearchPlan>
s
<isSupportDeletePlan>
<!--ro, opt, bool, whether the device supports deleting the schedule, desc:related URI: /ISAPI/ContentMgmt/record/passback/deletePlan/capabilities--
y ema
>true
</isSupportDeletePlan>
</PassBackPlanConfig>
<IRAIDCap>
os fr
/ISAPI/ContentMgmt/Storage/IRAID/RapidConfiguration/capabilities-->true
</isSupportIRAIDRapidConfiguration>
el .c
</IRAIDCap>
<isSupportStorageExtraInfo>
<!--ro, opt, bool, whether the device supports configuring additional storage information, desc:related URI:
ez
/ISAPI/ContentMgmt/Storage/ExtraInfo/capabilities-->true
</isSupportStorageExtraInfo>
<isSupportRecordStatus>
en
<!--ro, opt, bool, whether the device supports getting the recording status, desc:related URI: /ISAPI/ContentMgmt/channels/<ID>/record/capabilities--
>true
im
</isSupportRecordStatus>
<isSupportRacmChannelsCap>
ng
<!--ro, opt, bool, whether the device supports the Rcam capability by channel, desc:related URI: /ISAPI/ContentMgmt/channels/<ID>/capabilities-->true
Aj
</isSupportRacmChannelsCap>
<LockCap>
Co
<!--ro, opt, object, Video Locking and Unlocking, desc:related URI: /ISAPI/ContentMgmt/record/control/locks/capabilities-->
</LockCap>
<isSupportForamtAll>
<!--ro, opt, bool, whether the device supports formatting all HDDs, desc:related URI: /ISAPI/ContentMgmt/Storage/hdd/format-->true
</isSupportForamtAll>
<isSupportExtendCabinetCfg>
<!--ro, opt, bool, whether the device supports configuring parameters of the extended cabinet. Related URI:
/ISAPI/ContentMgmt/Storage/ExtendCabinet/capabilities-->true
</isSupportExtendCabinetCfg>
<diskGroupNums>
<!--ro, opt, int, supported number of disk groups, desc:related URI: /ISAPI/ContentMgmt/Storage/diskGroup-->1
</diskGroupNums>
<ExternalDevice>
<!--ro, opt, object, external device storage-->
<USB>
<!--ro, opt, object, USB information-->
<debugLogOutput>
<!--ro, opt, bool, whether to enable the debugging log, desc:related URI: /ISAPI/ContentMgmt/Storage/externalDevice/USB?format=json-->true
</debugLogOutput>
<isSupportCapturePackage>
<!--ro, opt, bool, whether the device supports configuring capture and filter function of a USB, desc:related URI:
/ISAPI/ContentMgmt/Storage/externalDevice/USB/capturePackage/capabilities?format=json-->true
</isSupportCapturePackage>
<isSupportStreamStorage>
<!--ro, opt, bool, whether the device supports saving stream to a USB, desc:related URI:
/ISAPI/ContentMgmt/Storage/externalDevice/USB/streamStorage/capabilities?format=json-->true
</isSupportStreamStorage>
</USB>
</ExternalDevice>
<customProtocolNums>
<!--ro, opt, int, number of custom protocols connected via IPC, desc:related URI: /ISAPI/ContentMgmt/InputProxy/customProtocols, supported number of
custom protocols-->1
</customProtocolNums>
<isSupportIPCTiming>
<!--ro, opt, bool, whether the device supports synchronizing the time of the network camera, desc:related URI:
/ISAPI/ContentMgmt/InputProxy/channels/<ID>. In this protocol, whether the <enableTiming> node supports-->true
</isSupportIPCTiming>
<isSupportLogConfig>
<!--ro, opt, bool, whether the device supports log configuration, desc:related URI: /ISAPI/ContentMgmt/Storage/externalDevice/USB?format=json-->true
m
</isSupportLogConfig>
co
<SecurityLog>
<!--ro, opt, object, device's capability of security log-->
<isSupportSecurityLog>
a.
<!--ro, opt, bool, whether the device supports the security log-->true
</isSupportSecurityLog>
<isSupportLogServer>
C. arc
<!--ro, opt, bool, whether it supports security log server configuration-->true
</isSupportLogServer>
<isSupportLogServerTest>
<!--ro, opt, bool, whether it supports security log server test-->true
s, em
</isSupportLogServerTest>
<SecurityLogTypeList>
A
<!--ro, req, array, list of security log types, subType:object-->
no fr
<SecurityLogType>
<!--ro, opt, object, security log type-->
ri on
<primaryType>
<!--ro, req, string, main log type, desc:"Event", "Operation", "Other", "All"-->test
</primaryType>
Ma oc
<secondaryType opt="all">
<!--ro, req, string, minor log type, attr:opt{opt, string}, desc:for other types, refer to the appendix-->test
</secondaryType>
up
</SecurityLogType>
</SecurityLogTypeList>
co gr
<isSupportLogServerList>
<!--ro, opt, bool, whether the device supports batch configuring security log server-->true
</isSupportLogServerList>
es a@
</SecurityLog>
<isSupportGetBackupDevice>
<!--ro, opt, bool, whether the device supports getting the backup device, desc:related URI: /ISAPI/ContentMgmt/Storage/backup/device?format=json--
Fr rc
>true
</isSupportGetBackupDevice>
y ema
<isSupportAutoBackup>
<!--ro, opt, bool, whether the device supports automatic backup, desc:related URI: /ISAPI/ContentMgmt/Storage/backup/auto/capabilities?format=json--
>true
</isSupportAutoBackup>
os fr
<certificateValidationEnabled>
<!--ro, opt, bool, whether to enable the certification validation, desc:related URI: /ISAPI/ContentMgmt/InputProxy/channels/<ID>. In this protocol,
whether the <certificateValidationEnabled> node supports-->true
ad on
</certificateValidationEnabled>
<defaultAdminPortEnabled>
<!--ro, opt, bool, whether to enable the default communication port, desc:related URI: /ISAPI/ContentMgmt/InputProxy/channels/<ID>. In this protocol,
el .c
<isSupportLogDataPackage>
<!--ro, opt, bool, whether the device supports exporting the log files, desc:related URI: /ISAPI/ContentMgmt/logSearch/dataPackage-->true
</isSupportLogDataPackage>
en
<logSearchTimeSpanNums>
<!--ro, opt, int, number of time periods for log search, desc:related URI: /ISAPI/ContentMgmt/logSearch; corresponding node: < the
CMSearchDescription->-->1
im
</logSearchTimeSpanNums>
<CloudStorageServerCap>
ng
<isSupportCloudStorageParameter>
Co
<!--ro, opt, bool, whether the device supports configuring the cloud storage parameters, desc:related URI:
/ISAPI/ContentMgmt/Storage/cloudServer/capabilities?format=json-->true
</isSupportCloudStorageParameter>
<isSupportCloudStoragePool>
<!--ro, opt, bool, whether the device supports configuring the cloud storage pool, desc:related URI:
/ISAPI/ContentMgmt/Storage/cloudServer/pool/capabilities?format=json-->true
</isSupportCloudStoragePool>
<supportChannelsNum>
<!--ro, opt, int, number of channels supported by the cloud storage, desc:If this node is not returned, all channels of the device support; if this
node is returned, several channels of the device supports cloud storage (at present, it will not return the specific number of the channels supporting cloud
storage)-->1
</supportChannelsNum>
</CloudStorageServerCap>
<isSupportWebPrivatePlaybackByUTC>
<!--ro, opt, bool, whether it supports playback based on Web private protocol-->true
</isSupportWebPrivatePlaybackByUTC>
<isSupportFindCommonFileByUTC>
<!--ro, opt, bool, whether it supports searching for ordinary files (private protocols) by UTC time-->true
</isSupportFindCommonFileByUTC>
<isSupportFindEventFileByUTC>
<!--ro, opt, bool, whether it supports searching for event files (private protocols) by UTC time-->true
</isSupportFindEventFileByUTC>
<isSupportSmartSearchRecordByUTC>
<!--ro, opt, bool, whether it supports smart video search by UTC time-->true
<!--ro, opt, bool, whether it supports smart video search by UTC time-->true
</isSupportSmartSearchRecordByUTC>
<isSupportMRDSearchByTimeZone>
<!--ro, opt, bool, whether it supports searching for files (private protocols) by monthly calendar by UTC time-->true
</isSupportMRDSearchByTimeZone>
<isSupportSearchRecordLabelByUTC>
<!--ro, opt, bool, whether it supports searching for video tags by UTC time-->true
</isSupportSearchRecordLabelByUTC>
<isSupportSearchPictureByUTC>
<!--ro, opt, bool, whether it supports searching for pictures by UTC time-->true
</isSupportSearchPictureByUTC>
<isSupportSmartSearchPictureByUTC>
<!--ro, opt, bool, whether it supports smart pictures search by UTC time-->true
</isSupportSmartSearchPictureByUTC>
<isSupportFindLogByUTC>
<!--ro, opt, bool, whether it supports searching log by UTC time-->true
m
</isSupportFindLogByUTC>
<isSupportUploadRecordByUTC>
co
<!--ro, opt, bool, whether it supports uploading files to cloud storage by UTC time-->true
</isSupportUploadRecordByUTC>
<isSupportPlaybackByUTC>
a.
<!--ro, opt, bool, whether it supports playback and locating by UTC time-->true
</isSupportPlaybackByUTC>
C. arc
<isSupportFaceDetecttionAlarmByTimeZone>
<!--ro, opt, bool, no file is found-->true
</isSupportFaceDetecttionAlarmByTimeZone>
<isSupportSourceModify>
s, em
<!--ro, opt, bool, whether it supports configuring the parameters of the LAN IPC, desc:related URI:
/ISAPI/ContentMgmt/InputProxy/sourceModify/capabilities-->true
A
</isSupportSourceModify>
no fr
<isSupportCountingSearchByUTC>
<!--ro, opt, bool, whether it supports searching people counting results by UTC time-->true
</isSupportCountingSearchByUTC>
ri on
<isSupportCluster>
<!--ro, opt, bool, whether the device supports the cluster function, desc:related URI: /ISAPI/ContentMgmt/Cluster-->true
Ma oc
</isSupportCluster>
<supportAIDTFSType opt="illegalParking,wrongdirection,crosslane,vehicleexist,lanechange,turnround,evidence">
<!--ro, opt, string, the event picture search type supported by AID and TFS, attr:opt{opt, string}-->test
up
</supportAIDTFSType>
<isSupportMisinfoStateSearch>
<!--ro, opt, bool, whether it supports searching by false alarm status-->true
co gr
</isSupportMisinfoStateSearch>
<isSupportOneKeyOperationStorageData>
es a@
<!--ro, opt, bool, whether it supports one-touch configuration for storage data, desc:related URI: /ISAPI/ContentMgmt/Storage/oneKey/capabilities?
format=json-->true
</isSupportOneKeyOperationStorageData>
Fr rc
<eventRecordSearch>
<!--ro, opt, object, whether the device supports searching for videos by event, desc:related URI: /ISAPI/ContentMgmt/eventRecordSearch?format=json-->
<eventType opt="faceContrast,faceSnap,vehicleMatchResult,hawkResult">
y ema
</auxEventType>
</eventRecordSearch>
<isSupportManualRecord>
ad on
<!--ro, opt, bool, whether the device supports manual recording, desc:related URI: /ISAPI/ContentMgmt/record/control/manual/capabilities?format=json--
>true
el .c
</isSupportManualRecord>
<isSupportRemark>
<!--ro, opt, bool, whether it supports file remarks-->true
ez
</isSupportRemark>
<FileUpload>
<!--ro, opt, object, auto-upload file-->
en
<enabled>
<!--ro, req, bool, whether it supports uploading the file-->true
im
</enabled>
</FileUpload>
ng
<PoliceInfoUpload>
Aj
m
</PictureSearchSubType>
co
</PictureSearchSubTypeList>
<isSupportPlaybackStreamIDByUTC>
<!--ro, opt, bool, whether it supports playback by stream ID according to UTC time-->true
a.
</isSupportPlaybackStreamIDByUTC>
<isSupportTimeLockStreamIDByUTC>
<!--ro, opt, bool, whether it supports locking and unlocking the video segment by steam ID according to UTC time-->true
C. arc
</isSupportTimeLockStreamIDByUTC>
<isSupportTimeSearch>
<!--ro, opt, bool, whether it supports searching for recording start and end time by channel, desc:related URI: /ISAPI/ContentMgmt/time/search?
format=json-->true
s, em
</isSupportTimeSearch>
A
<behaviorEventPicSearch opt="allBehaviorEvent,running,group,violentMotion,failDown,playCellphone,peopleNumChange,leavePosition,retention,sleepOnduty">
no fr
<!--ro, opt, string, abnormal event detection supported by picture search, attr:opt{opt, string}-->test
</behaviorEventPicSearch>
<perimeterEventPicSearch opt="allPerimeterEvent,linedetection,fielddetection,regionEntrance,regionExiting,loitering">
ri on
<!--ro, opt, string, perimeter protection events supported by picture search, attr:opt{opt, string}-->test
</perimeterEventPicSearch>
<isSupportSourceStatus>
Ma oc
<!--ro, opt, bool, whether it supports getting the status of access source-->true
</isSupportSourceStatus>
up
<isSupportSSDSMARTTest>
<!--ro, opt, bool, whether the device supports S.M.A.R.T. detection on SSD, desc:related URI: /ISAPI/ContentMgmt/Storage/ssd/<ID>/SMARTTest/start--
>true
co gr
</isSupportSSDSMARTTest>
<MobileStorage>
<!--ro, opt, object, storage capability of the mobile HDD-->
es a@
<isSupportGetFileTime>
<!--ro, opt, bool, whether it supports getting the file time of the mobile HDD, desc:it supports mobile HDD currently. Related URI:
/ISAPI/ContentMgmt/mobileStorage/fileTime/capabilities?format=json-->true
Fr rc
</isSupportGetFileTime>
</MobileStorage>
y ema
<isSupportGetChannelList>
<!--ro, opt, bool, whether it supports getting channels of the HDD, desc:it supports mobile HDD currently. Related URI:
/ISAPI/ContentMgmt/Storage/hdd/channelList/capabilities?format=json-->true
</isSupportGetChannelList>
os fr
<isSupportCascade>
<!--ro, opt, bool, whether it supports configuring parameters for NVR cascading topology-->true
</isSupportCascade>
ad on
<isSupportPictureInfo>
<!--ro, opt, bool, whether it supports picture search on the SD card of the capture camera-->true
</isSupportPictureInfo>
el .c
<isSupportCloudStorageModel>
<!--ro, opt, bool, whether the device supports configuring the cloud storage mode,
ez
desc:/ISAPI/ContentMgmt/Storage/CloudStorageModel/<channelID>/capabilities?format=json-->true
</isSupportCloudStorageModel>
<isSupportCloudStorageModelList>
en
<!--ro, opt, bool, whether the device supports configuring cloud storage modes in a batch,
desc:/ISAPI/ContentMgmt/Storage/CloudStorageModel/<channelID>?format=json-->true
</isSupportCloudStorageModelList>
im
<isSupportRecordAudio>
ng
<!--ro, opt, bool, whether the device supports recording the audio, desc:only the audio will be recorded and the video will not be recorded. Related
Aj
URI: /ISAPI/ContentMgmt/recordAudio/<audioID>/capabilities?format=json-->true
</isSupportRecordAudio>
Co
<isSupportSearchAudio>
<!--ro, opt, bool, whether the device supports searching for the audio, desc:related URI: /ISAPI/ContentMgmt/recordAudio/search/capabilities?
format=json-->true
</isSupportSearchAudio>
<isSupportAudioDailyDistribution>
<!--ro, opt, bool, whether it supports searching for audio file information by monthly calendar, desc:related URI:
/ISAPI/ContentMgmt/recordAudio/<audioID>/searchDailyDistribution?format=json-->true
</isSupportAudioDailyDistribution>
<isSupportDownloadAudio>
<!--ro, opt, bool, whether the device supports downloading the audio by file name, desc:related URI:
/ISAPI/ContentMgmt/recordAudio/fileNameDownload/capabilities?format=json-->true
</isSupportDownloadAudio>
<isSupportDeleteAudio>
<!--ro, opt, bool, whether the device supports deleting the recorded audio file, desc:related URI: /ISAPI/ContentMgmt/recordAudio/deleteFile?
format=json-->true
</isSupportDeleteAudio>
<isSupportSearchRemoteAlbum>
<!--ro, opt, bool, whether the device supports remotely searching for album information, desc:related URI: /ISAPI/ContentMgmt/searchRemoteAlbum?
format=json-->true
</isSupportSearchRemoteAlbum>
<isSupportStreamParam>
<!--ro, opt, bool, whether the device supports configuring the access stream parameters of all digital channels, desc:related URI:
/ISAPI/ContentMgmt/InputProxy/channels/streamParam/capabilities?format=json-->true
</isSupportStreamParam>
</isSupportStreamParam>
<isSupportFusionChan>
<!--ro, opt, bool, whether the device supports fusion channel, desc:if this node does not exist, it indicates that the device does not support the
function; interaction IP channel: it is a concept from the education sharing system; the education sharing system will allocate IP channels to images of the
connected sub classrooms or meeting rooms. fusion channel: a channel generated when adding the NVR locally or remotely; it supports live view, playback,
storage, and recording schedule/linkage configuration; the channel will take effect by enabling the fusion channel-->true
</isSupportFusionChan>
<isSupportRecordMultipleDownload>
<!--ro, opt, bool, whether the device supports downloading videos in multiples, desc:if this node does not exist, it indicates that the device does
not support the function by default-->true
</isSupportRecordMultipleDownload>
</RacmCap>
<PTZCtrlCap>
<!--ro, opt, object, device's PTZ capability-->
<isSupportPatrols>
<!--ro, opt, bool, whether the device supports patrol-->true
m
</isSupportPatrols>
<isSupportCombinedPath>
co
<!--ro, opt, bool, whether the device supports the PTZ combined path-->true
</isSupportCombinedPath>
a.
<isSupportRailwayRobot>
<!--ro, opt, bool, whether the device supports railway robot, desc:/ISAPI/PTZCtrl/channels/<channelID>/RailwayRobot/capabilities?format=json-->true
</isSupportRailwayRobot>
C. arc
</PTZCtrlCap>
<SmartCap>
<!--ro, opt, object, compact and smart capability, desc:/ISAPI/Smart/capabilities-->
<isSupportROI>
s, em
<!--ro, opt, bool, whether the device supports ROI encoding configuration-->true
</isSupportROI>
A
<isSupportFaceDetect>
no fr
<!--ro, opt, bool, whether the device supports face detection-->true
</isSupportFaceDetect>
ri on
<isSupportIntelliTrace>
<!--ro, opt, bool, whether the device supports smart tracking-->true
</isSupportIntelliTrace>
Ma oc
<isSupportFieldDetection>
<!--ro, opt, bool, whether the device supports intrusion detection-->true
</isSupportFieldDetection>
up
<isSupportDefocusDetection>
<!--ro, opt, bool, whether the device supports defocus detection-->true
</isSupportDefocusDetection>
co gr
<isSupportAudioDetection>
<!--ro, opt, bool, whether the device supports audio detection-->true
es a@
</isSupportAudioDetection>
<isSupportSceneChangeDetection>
<!--ro, opt, bool, whether the device supports scene change detection-->true
Fr rc
</isSupportSceneChangeDetection>
<isSupportLineDetection>
<!--ro, opt, bool, whether the device supports line crossing detection-->true
y ema
</isSupportLineDetection>
<isSupportRegionEntrance>
<!--ro, opt, bool, whether the device supports region entrance detection-->true
</isSupportRegionEntrance>
os fr
<isSupportRegionExiting>
<!--ro, opt, bool, whether the device supports region exiting detection-->true
ad on
</isSupportRegionExiting>
<isSupportLoitering>
<!--ro, opt, bool, whether the device supports loitering detection-->true
el .c
</isSupportLoitering>
<isSupportGroup>
<!--ro, opt, bool, whether the device supports people gathering detection-->true
ez
</isSupportGroup>
<isSupportRapidMove>
en
<!--ro, opt, bool, whether the device supports fast moving detection-->true
</isSupportRapidMove>
<isSupportParking>
im
<isSupportUnattendedBaggage>
Aj
<!--ro, opt, bool, whether the device supports unattended baggage detection-->true
</isSupportUnattendedBaggage>
Co
<isSupportAttendedBaggage>
<!--ro, opt, bool, whether the device supports object removal detection-->true
</isSupportAttendedBaggage>
<isSupportPeopleDetection>
<!--ro, opt, bool, whether the device supports human body detection-->true
</isSupportPeopleDetection>
<isSupportSmartCalibration>
<!--ro, opt, bool, whether the device supports calibration filter size-->true
</isSupportSmartCalibration>
<isSupportStorageDetection>
<!--ro, opt, bool, whether the device supports health monitoring storage-->true
</isSupportStorageDetection>
<isSupportShipsDetection>
<!--ro, opt, bool, whether the device supports ship detection-->true
</isSupportShipsDetection>
<isSupportShield>
<!--ro, opt, bool, whether the device supports configuring the compact and smart shielded regions-->true
</isSupportShield>
<isSupportAlgVersion>
<!--ro, opt, bool, whether the device supports algorithm version-->true
</isSupportAlgVersion>
<isSupportVideoOverlap>
<!--ro, opt, bool, whether the device supports configuring information overlay for video stream-->true
<!--ro, opt, bool, whether the device supports configuring information overlay for video stream-->true
</isSupportVideoOverlap>
<isSupportParkingState>
<!--ro, opt, bool, whether the device supports parking status-->true
</isSupportParkingState>
<isSupportChannelResource>
<!--ro, opt, bool, whether the device supports channel resources-->true
</isSupportChannelResource>
<isSupportAnalysisUnitSwitch opt="true,false">
<!--ro, opt, bool, whether the device supports switching analysis unit, attr:opt{opt, string}-->true
</isSupportAnalysisUnitSwitch>
<isSupportHFPD>
<!--ro, opt, bool, whether the device supports frequently appeared person detection, desc:related URI: /ISAPI/SDT/HFPD?format=json-->true
</isSupportHFPD>
<isSupportImageROI>
<!--ro, opt, bool, whether the device supports smartJpeg (image ROI)-->true
</isSupportImageROI>
m
<isSupportLFPD>
co
<!--ro, opt, bool, whether the device supports rarely appeared person detection, desc:related URI: /ISAPI/SDT/LFPD?format=json-->true
</isSupportLFPD>
<isSupportSmartOverlapParams>
a.
<!--ro, opt, bool-->true
</isSupportSmartOverlapParams>
C. arc
</SmartCap>
<isSupportEhome>
<!--ro, opt, bool, whether it supports ISUP functions: true (support),this node is not returned (not support)-->true
</isSupportEhome>
<isSupportStreamingEncrypt>
s, em
<!--ro, opt, bool, whether the device supports stream encryption-->true
A
</isSupportStreamingEncrypt>
no fr
<TestCap>
<!--ro, opt, object, test capability-->
<isSupportEmailTest>
ri on
<!--ro, opt, bool, whether the device supports email test-->true
</isSupportEmailTest>
</TestCap>
Ma oc
<ImageMiscCap>
<!--ro, opt, object, DPC capability-->
up
<isSupportDPC>
<!--ro, opt, bool, whether the device supports DPC-->true
</isSupportDPC>
co gr
</ImageMiscCap>
<PanoramaCap>
<!--ro, opt, object, capability of panoramic channels-->
es a@
<isSupportGeneratePanorama>
<!--ro, opt, bool, whether the device supports generating panoramic images-->true
Fr rc
</isSupportGeneratePanorama>
s
<isSupportPanoramaPosition3D>
<!--ro, opt, bool, whether the device supports panoramic 3D position-->true
y ema
</isSupportPanoramaPosition3D>
<isSupportPreset>
<!--ro, opt, bool, whether the device supports configuring panoramic preset-->true
</isSupportPreset>
os fr
</PanoramaCap>
<ThermalCap>
<!--ro, opt, object, thermal capability, desc:related URI: /ISAPI/Thermal/capabilities-->
ad on
<isSupportFireDetection>
<!--ro, opt, bool, whether the device supports fire detection, desc:related URI: /ISAPI/Thermal/channels/<ID>/fireDetection/capabilities-->true
el .c
</isSupportFireDetection>
<isFireFocusZoomSupport>
<!--ro, opt, bool, whether the device supports visible light lens zooming, desc:related URI: /ISAPI/Thermal/channels/<ID>/fireFocusZoom-->true
ez
</isFireFocusZoomSupport>
<isSupportThermometry>
<!--ro, opt, bool, whether the device supports thermography, desc:related URI: /ISAPI/Thermal/channels/<ID>/thermometry/<SID>/capabilities-->true
en
</isSupportThermometry>
<isSupportRealtimeThermometry>
<!--ro, opt, bool, whether the device supports uploading real-time temperature measurement data-->true
im
</isSupportRealtimeThermometry>
ng
<isSupportThermIntell>
Aj
<!--ro, opt, bool, whether the device supports configuring smart thermal mutual exclusion, desc:related URI:
/ISAPI/Thermal/channels/<ID>/thermIntell/capabilities-->true
Co
</isSupportThermIntell>
<isSupportNVR>
<!--ro, opt, bool, it is used for client to check-->true
</isSupportNVR>
<isSupportThermometrySchedule>
<!--ro, opt, bool, whether the device supports the arming schedule of temperature measurement, desc:related URI: /ISAPI/Event/schedules/thermometry--
>true
</isSupportThermometrySchedule>
<isSupportTemperatureSchedule>
<!--ro, opt, bool, whether the device supports the arming schedule of temperature difference, desc:related URI: /ISAPI/Event/schedules/temperature--
>true
</isSupportTemperatureSchedule>
<isSupportFireDetectionSchedule>
<!--ro, opt, bool, whether the device supports the arming schedule of fire detection, desc:related URI: /ISAPI/Event/schedules/fireDetections-->true
</isSupportFireDetectionSchedule>
<isSupportPower>
<!--ro, opt, bool, whether the device supports power on/off capability, desc:related URI: /ISAPI/Thermal/Power/capabilities-->true
</isSupportPower>
<isSupportRealtimeTempHumi>
<!--ro, opt, bool, whether the device supports real-time detection of temperature and humidity, desc:related URI:
/ISAPI/Thermal/TempHumi/capabilities-->true
</isSupportRealtimeTempHumi>
<ManualThermCap>
<!--ro, opt, object, the capability of manual temperature measurement-->
<!--ro, opt, object, the capability of manual temperature measurement-->
<manualThermRuleNum>
<!--ro, opt, int, if this node is not returned, it indicates manual temperature measurement is not supported, desc:related URI:
/ISAPI/Thermal/manualThermometry/capabilities-->true
</manualThermRuleNum>
</ManualThermCap>
<isSupportManualThermBasic>
<!--ro, opt, bool, whether the device supports basic configuration of manual temperature measurement, desc:related URI:
/ISAPI/Thermal/manualThermBasic/capabilities-->true
</isSupportManualThermBasic>
<isSupportFireShieldMask>
<!--ro, opt, bool, whether the device supports configuring the parameters of fire shielded regions, desc:related URI:
/ISAPI/Thermal/channels/<ID>/fireShieldMask/capabilities-->true
</isSupportFireShieldMask>
<isSupportSmokeShieldMask>
<!--ro, opt, bool, whether the device supports configuring the parameters of smoke shielded regions, desc:related URI:
m
/ISAPI/Thermal/channels/<ID>/smokeShieldMask/capabilities-->true
</isSupportSmokeShieldMask>
co
<isSupportThermometryMode>
<!--ro, opt, bool, whether the device supports configuring temperature measurement mode, desc:related URI:
a.
/ISAPI/Thermal/channels/<ID>/thermometryMode/capabilities-->true
</isSupportThermometryMode>
<isSupportThermalPip>
C. arc
<!--ro, opt, bool, whether the device supports the PIP configuration, desc:related URI: /ISAPI/Thermal/channels/<ID>/pip/capabilities-->true
</isSupportThermalPip>
<isSupportThermalIntelRuleDisplay>
<!--ro, opt, bool, whether the device supports the PIP configuration, desc:related URI: /ISAPI/Thermal/channels/<ID>/IntelRuleDisplay/capabilities--
s, em
>true
</isSupportThermalIntelRuleDisplay>
A
<AlgVersionInfo>
no fr
<!--ro, opt, object, whether the device supports getting the version information of thermal algorithms library, desc:related URI:
/ISAPI/Thermal/AlgVersion-->
ri on
<thermometryAlgName min="1" max="128">
<!--ro, opt, string, version information of temperature measurement algorithms library, attr:min{opt, string},max{opt, string}-->test
</thermometryAlgName>
Ma oc
<shipsAlgName min="1" max="128">
<!--ro, opt, string, version name of ship detection algorithms library, attr:min{opt, string},max{opt, string}-->test
</shipsAlgName>
up
<fireAlgName min="1" max="128">
<!--ro, opt, string, algorithm library version name of fire detection, attr:min{opt, int},max{opt, int}-->test
co gr
</fireAlgName>
<smokeAlgName min="1" max="128">
<!--ro, opt, string, algorithm library version name of smoke detection, attr:min{opt, int},max{opt, int}-->test
es a@
</smokeAlgName>
<wasteGasAlgName min="1" max="128">
<!--ro, opt, string, algorithm library version name of waste gas detection, attr:min{opt, string},max{opt, string}-->test
Fr rc
</wasteGasAlgName>
<greyScaleAlarmAlgName min="1" max="128">
y ema
<!--ro, opt, string, algorithm library version name of greyscale alarm, attr:min{opt, string},max{opt, string}-->test
</greyScaleAlarmAlgName>
</AlgVersionInfo>
<isSupportFaceThermometry>
<!--ro, opt, bool, whether supports temperature screening configuration, desc:related URI: /ISAPI/Thermal/channels/<ID>/faceThermometry/capabilities--
os fr
>true
</isSupportFaceThermometry>
ad on
<isSupportThermalBlackBody>
<!--ro, opt, bool, whether the device supports configuring black body parameters of thermal imaging, desc:related URI:
/ISAPI/Thermal/channels/<ID>/blackBody/capabilities-->true
el .c
</isSupportThermalBlackBody>
<isSupportThermalStreamParam>
<!--ro, opt, bool, whether the device supports configuring stream parameters of thermal imaging, desc:related URI:
ez
/ISAPI/Thermal/channels/<ID>/streamParam/capabilities-->true
</isSupportThermalStreamParam>
en
<isSupportBodyTemperatureCompensation>
<!--ro, opt, bool, whether the device supports temperature compensation configuration, desc:related URI:
/ISAPI/Thermal/channels/<ID>/bodyTemperatureCompensation/capabilities-->true
im
</isSupportBodyTemperatureCompensation>
<isSupportClickToThermometry>
ng
<!--ro, opt, bool, whether the device supports click-to-thermometry, desc:related URI: ISAPI/Thermal/channels/<ID>/clickToThermometry/initialization--
Aj
>true
Co
</isSupportClickToThermometry>
<isSupportThermometryHistorySearch>
<!--ro, opt, bool, whether the device supports searching for historical temperature data, desc:related URI:
/ISAPI/Thermal/channels/<ID>/historyTemperature/capabilities-->true
</isSupportThermometryHistorySearch>
<isSupportThermometryShieldMask>
<!--ro, opt, bool, whether the device supports configuring shield parameters of thermography region, desc:related URI:
/ISAPI/Thermal/channels/<ID>/thermometryShieldMask/capabilities-->true
</isSupportThermometryShieldMask>
<isSupportTemperatureCorrection>
<!--ro, opt, bool, whether device supports temperature measurement correction, desc:related URI:
/ISAPI/Thermal/channels/<ID>/CorrectionParam/capabilities-->true
</isSupportTemperatureCorrection>
<isSupportBurningPrevention>
<!--ro, opt, bool, whether device supports burning prevention, desc:related URI: /ISAPI/Thermal/channels/<ID>/burningPrevention/capabilities-->true
</isSupportBurningPrevention>
<isSupportTemperatureCollection>
<!--ro, opt, bool, whether device supports temperature ANR, desc:related URI: ISAPI/Thermal/temperature/collection/capabilities?format=json-->true
</isSupportTemperatureCollection>
<isSupportJpegPicWithAppendData>
<!--ro, opt, bool, whether the device supports capturing pictures, desc:related URI: /ISAPI/Thermal/channels/<ID>/thermometry/jpegPicWithAppendData?
format=json-->true
</isSupportJpegPicWithAppendData>
<isSupportRealTimethermometryForHTTP>
<isSupportRealTimethermometryForHTTP>
<!--ro, opt, bool, whether device supports real-time temperature measurement. If supports,it is returned and its value is true,if not support,it is
not returned, desc:related URI: /ISAPI/Thermal/channels/<ID>/thermometry/realTimethermometry/rules?format=json-->true
</isSupportRealTimethermometryForHTTP>
<isSupportthermometryOffLineCapture>
<!--ro, opt, bool, whether the device supports capturing pictures offline, desc:related URI: /ISAPI/Thermal/channels/<ID>/thermometry/OffLineCapture?
format=json-->true
</isSupportthermometryOffLineCapture>
<isSupportShipsDetectionWithScene>
<!--ro, opt, bool, whether the device supports ship detection by scene, desc:related URI: /ISAPI/Thermal/channels/<ID>/shipsDetection/capabilities?
format=json-->true
</isSupportShipsDetectionWithScene>
<isSupportWasteGasDetection>
<!--ro, opt, bool, whether the device supports waste gas monitoring-->true
</isSupportWasteGasDetection>
<isSupportGreyScaleAlarm>
<!--ro, opt, bool, whether the device supports the gray scale alarm-->true
m
</isSupportGreyScaleAlarm>
co
<isSupportFaceSnapThermometry>
<!--ro, opt, bool, whether the device supports temperature screening when capturing face pictures-->true
</isSupportFaceSnapThermometry>
a.
<isSupportThermalTemperatureCorrect>
<!--ro, opt, bool, whether device supports temperature calibration, desc:related URI: /ISAPI/Thermal/channels/<ID>/temperatureCorrect?format=json--
C. arc
>true
</isSupportThermalTemperatureCorrect>
<isSupportThermalVehicleDetection>
<!--ro, opt, bool, whether the device supports thermal imaging vehicle detection-->true
s, em
</isSupportThermalVehicleDetection>
<isSupportSensorParam>
A
<!--ro, opt, bool, whether the device supports configuring the sensor temperature measurement parameters, desc:related URI:
no fr
/ISAPI/Thermal/channels/<channelID>/thermometry/sensorParam/capabilities?format=json-->true
</isSupportSensorParam>
<isSupportTemperatureIntervalMeasurement>
ri on
<!--ro, opt, bool, whether the device supports temperature range detection-->true
</isSupportTemperatureIntervalMeasurement>
Ma oc
<isSupportIndustryThermometryTemperatureRise>
<!--ro, opt, bool, whether the device supports setting temperature rise compensation in thermal industrial temperature measurement, desc:related URI:
/ISAPI/Thermal/channels/<ID>/industryThermometry/temperatureRise?format=json-->true
up
</isSupportIndustryThermometryTemperatureRise>
<isSupportThermalDataLinkInfo>
<!--ro, opt, bool, whether the device supports getting the temperature data link information, desc:related URI: /ISAPI/Thermal/thermalDataLinkInfo?
co gr
format=json; /ISAPI/Thermal/thermalDataLinkStatus?format=json-->true
</isSupportThermalDataLinkInfo>
<isSupportTemperatureCompensationCalib>
es a@
<!--ro, opt, bool, whether the device supports temperature compensation, desc:related URI:
/ISAPI/Thermal/channels/<channelID>/temperatureCompensationCalibration?format=json-->true
Fr rc
</isSupportTemperatureCompensationCalib>
s
<isSupportWebDisplayPixelToPixelParam>
<!--ro, opt, bool, whether the web needs to display full-screen temperature parameters, desc:related URI:
y ema
/ISAPI/Thermal/channels/<channelID>/thermometry/pixelToPixelParam/capabilities-->true
</isSupportWebDisplayPixelToPixelParam>
<isSupportThermalInspection>
<!--ro, opt, bool, whether the device supports thermal patrol, desc:related URI: /ISAPI/Thermal/inspection/capabilities?format=json-->true
os fr
</isSupportThermalInspection>
<isSupportBlackBodyTemperature>
<!--ro, opt, bool, whether the device supports searching for black body center point temperature, desc:related URI:
ad on
/ISAPI/Thermal/channels/<channelID>/blackBodyTemperature?format=json-->true
</isSupportBlackBodyTemperature>
el .c
<isSupportExportThermalCalibrationFile>
<!--ro, opt, bool, whether the device supports exporting the temperature calibration file, desc:POST /ISAPI/Thermal/ExportThermalCalibrationFile?
format=json-->true
ez
</isSupportExportThermalCalibrationFile>
<isSupportSearchSmokeAndFireDetection>
<!--ro, opt, bool, whether the device supports searching for history records of smoke and fire detection, desc:POST
en
/ISAPI/Thermal/fireDetection/SearchSmokeAndFireDetection?format=json-->true
</isSupportSearchSmokeAndFireDetection>
im
<isSupportColumnOven>
<!--ro, opt, bool, whether the device supports column oven parameters, desc:GET/PUT /ISAPI/OPCA/GC/ColumnOven?format=json-->true
ng
</isSupportColumnOven>
Aj
<isSupportImportThermalCalibrationFile>
<!--ro, opt, bool, whether the device supports importing the temperature calibration file, desc:POST /ISAPI/Thermal/ImportThermalCalibrationFile?
Co
format=json-->true
</isSupportImportThermalCalibrationFile>
<isSupportThermalCalibrationFileCreatParam>
<!--ro, opt, bool, whether the device supports the parameters of generating temperature calibration file, desc:GET
/ISAPI/Thermal/ThermalCalibrationFileCreatParam?format=json-->true
</isSupportThermalCalibrationFileCreatParam>
<isSupportNormalRuleParams>
<!--ro, opt, bool, whether the device supports the parameters of smoke and fire detection normal rules, desc:GET/PUT
/ISAPI/Thermal/fireDetection/channels/<channelID>/NormalRuleParams?format=json-->true
</isSupportNormalRuleParams>
<isSupportEnvironmentTemperatureMonitorScheduleParams>
<!--ro, opt, bool, whether the device supports the parameters of environment temperature monitor arming schedule, desc:GET/PUT
/ISAPI/Thermal/EnvironmentTemperatureMonitorScheduleParams?format=json-->true
</isSupportEnvironmentTemperatureMonitorScheduleParams>
<isSupportEnvironmentTemperatureMonitorParam>
<!--ro, opt, bool, whether the device supports the parameters of environment temperature monitoring, desc:GET/PUT
/ISAPI/Thermal/EnvironmentTemperatureMonitorParam?format=json-->true
</isSupportEnvironmentTemperatureMonitorParam>
<isSupportEnvironmentTemperatureMonitorTriggerParams>
<!--ro, opt, bool, whether the device supports the parameters of environment temperature monitoring linkage action, desc:GET/PUT
/ISAPI/Thermal/EnvironmentTemperatureMonitorTriggerParams?format=json-->true
</isSupportEnvironmentTemperatureMonitorTriggerParams>
<isSupportSearchAsynThermalInspectionTaskTestPoint>
<!--ro, opt, bool, whether the device supports searching for information of specified asynchronous thermal inspection point, desc:POST
/ISAPI/Thermal/SearchAsynThermalInspectionTaskTestPoint?format=json-->true
</isSupportSearchAsynThermalInspectionTaskTestPoint>
<isSupportSearchAsynThermalInspectionTask>
<!--ro, opt, bool, whether the device supports searching for specified asynchronous thermal inspection task, desc:POST
/ISAPI/Thermal/SearchAsynThermalInspectionTask?format=json-->true
</isSupportSearchAsynThermalInspectionTask>
<isSupportAddAsynThermalInspectionTaskTestPoint>
<!--ro, opt, bool, whether the device supports adding information of specified asynchronous thermal inspection point, desc:POST
/ISAPI/Thermal/AddAsynThermalInspectionTaskTestPoint?format=json-->true
</isSupportAddAsynThermalInspectionTaskTestPoint>
<isSupportAddAsynThermalInspectionTask>
<!--ro, opt, bool, whether the device supports adding asynchronous thermal inspection task, desc:POST /ISAPI/Thermal/AddAsynThermalInspectionTask?
format=json-->true
</isSupportAddAsynThermalInspectionTask>
<isSupportImportAsynThermalInspectionTaskBaseMap>
m
<!--ro, opt, bool, whether the device supports importing asynchronous thermal inspection task base map, desc:POST
co
/ISAPI/Thermal/ImportAsynThermalInspectionTaskBaseMap?format=json-->true
</isSupportImportAsynThermalInspectionTaskBaseMap>
<isSupportShutterFreeze>
a.
<!--ro, opt, bool, whether the device supports freezing the shutter, desc:GET/PUT /ISAPI/Thermal/channels/<channelID>/ShutterFreeze?format=json-->true
</isSupportShutterFreeze>
</ThermalCap>
C. arc
<WLAlarmCap>
<!--ro, opt, object, wireless alarm capability-->
<isSupportTeleControl>
<!--ro, opt, bool, whether the device supports remote control-->true
s, em
</isSupportTeleControl>
<isSupportPIR>
A
<!--ro, opt, bool, whether the device supports PIR configuration-->true
no fr
</isSupportPIR>
<isSupportWLSensors>
ri on
<!--ro, opt, bool, N/A-->true
</isSupportWLSensors>
<isSupportCallHelp>
Ma oc
<!--ro, opt, bool, whether the device supports calling for help-->true
</isSupportCallHelp>
<WLSensorsNum>
up
<!--ro, opt, int, N/A-->1
</WLSensorsNum>
co gr
</WLAlarmCap>
<isSupportGIS>
<!--ro, opt, bool, whether the device supports GIS, desc:related URI: /ISAPI/GIS/channels-->true
es a@
</isSupportGIS>
<isSupportCompass>
<!--ro, opt, bool, whether the device supports compass configuration, desc:related URI: /ISAPI/Compass/channels/<ID>/capabilities-->true
Fr rc
</isSupportCompass>
<isSupportRoadInfoOverlays>
y ema
<!--ro, opt, bool, whether the device supports overlaying the lane information-->true
</isSupportRoadInfoOverlays>
<isSupportFaceCaptureStatistics>
<!--ro, opt, bool, whether the device supports face capture statistics, desc:related URI:
os fr
/ISAPI/Intelligent/channels/<ID>/faceCaptureStatistics/search-->true
</isSupportFaceCaptureStatistics>
<isSupportElectronicsEnlarge>
ad on
<isSupportCloud>
<!--ro, opt, bool, whether the device supports cloud storage-->true
</isSupportCloud>
en
<isSupportRecordHost>
<!--ro, opt, bool, whether the device supports configuring the education sharing server, desc:related URI: /ISAPI/RecordHost/capabilities-->true
</isSupportRecordHost>
im
<isSupportViewshedOverlay>
<!--ro, opt, bool, whether the device supports overlaying viewshed camera target, desc:related URI:
ng
/ISAPI/System/Video/inputs/channels/<ID>/viewshedOverlay-->true
Aj
</isSupportViewshedOverlay>
Co
<isSupportGPSLabelTracking>
<!--ro, opt, bool, whether the device supports GPS tag tracking, desc:related URI:/ISAPI/GIS/channels/<ID>/GPSLabelTracking?format=json-->true
</isSupportGPSLabelTracking>
<isSupportEagleEye>
<!--ro, opt, bool, whether the device supports the PanoVu series camera-->true
</isSupportEagleEye>
<isSupportPanorama>
<!--ro, opt, bool, whether the device supports panoramic mode-->true
</isSupportPanorama>
<isSupportFirmwareVersionInfo>
<!--ro, opt, bool, whether the device supports displaying the firmware version information-->true
</isSupportFirmwareVersionInfo>
<isSupportExternalWirelessServer>
<!--ro, opt, bool, whether the device supports external wireless servers: true (support)-->true
</isSupportExternalWirelessServer>
<isSupportSetupCalibration>
<!--ro, opt, bool, whether the device supports configuring calibration-->true
</isSupportSetupCalibration>
<isSupportGetmutexFuncErrMsg>
<!--ro, opt, bool, whether the device supports the mutual exclusion information-->true
</isSupportGetmutexFuncErrMsg>
<isSupportTokenAuthenticate>
<!--ro, opt, bool, whether the device supports token authentication-->true
</isSupportTokenAuthenticate>
</isSupportTokenAuthenticate>
<isSupportStreamDualVCA>
<!--ro, opt, bool, whether the device supports overlaying intelligent private data on the stream, desc:related URI: in the
/ISAPI/Intelligent/channels/<ID>/intelliResource; corresponding node: <isOverlapIntelli>-->true
</isSupportStreamDualVCA>
<isSupportLaserSpotManual>
<!--ro, opt, bool, whether the device supports configuring laser light spot-->true
</isSupportLaserSpotManual>
<isSupportRTMP>
<!--ro, opt, bool, whether the device supports RTMP configuration, desc:related URI: /ISAPI/Streaming/channels/<ID>/RTMPCfg/capabilities-->true
</isSupportRTMP>
<isSupportTraffic>
<!--ro, opt, bool, traffic service capability-->true
</isSupportTraffic>
<isSupportLaserSpotAdjustment>
<!--ro, opt, bool, adjust the size of laser spot, desc:related URI: /ISAPI/Image/channels/<ID>/laserLight/laserSpotAdjustment/capabilities-->true
m
</isSupportLaserSpotAdjustment>
<VideoIntercomCap>
co
<!--ro, opt, object, video intercom capability, desc:related URI: /ISAPI/VideoIntercom/capabilities-->
<isSupportSceneManage>
<!--ro, opt, bool, scene management (the configuration port needs to be switched according to various scenes)-->true
a.
</isSupportSceneManage>
<isSupportDeviceId>
C. arc
<!--ro, opt, bool, whether the device supports device ID-->true
</isSupportDeviceId>
<isSupportOperationTime>
<!--ro, opt, bool, whether the device supports the operation time-->true
s, em
</isSupportOperationTime>
<isSupportCallerInfo>
A
<!--ro, opt, bool, whether the device supports the information management of the calling persons-->true
no fr
</isSupportCallerInfo>
<isSupportCallSignal>
<!--ro, opt, bool, whether the device supports the call signaling interaction, desc:related URI: /ISAPI/VideoIntercom/callSignal?format=json-->true
ri on
</isSupportCallSignal>
<isSupportCallStatus>
Ma oc
<!--ro, opt, bool, whether the device supports getting call status, desc:related URI: /ISAPI/VideoIntercom/callStatus?format=json-->true
</isSupportCallStatus>
<isSupportCallElevator>
up
<!--ro, opt, bool, whether the device supports calling for elevator-->true
</isSupportCallElevator>
<isSupportRelatedDeviceAdress>
co gr
<!--ro, opt, bool, whether the device supports linking device address-->true
</isSupportRelatedDeviceAdress>
es a@
<isSupportCardSectorCheck>
<!--ro, opt, bool, sector encryption verification-->true
</isSupportCardSectorCheck>
Fr rc
<isSupportKeyCfg>
<!--ro, opt, bool, configuration for pressing button to call for resident-->true
</isSupportKeyCfg>
y ema
<isSupportWorkModeCfg>
<!--ro, opt, bool, whether the device supports configuring the working mode, desc:related URI: URL/ISAPI/VideoIntercom/workMode/capabilities-->true
</isSupportWorkModeCfg>
<isSupportSystemSwitchCfg>
os fr
<!--ro, opt, bool, getting the status of the device's permission password-->true
</isSupportPrivilegePasswordStatus>
el .c
<isSupportSmartHomeRoomsCfg>
<!--ro, opt, bool, whether the device supports configuring room information-->true
</isSupportSmartHomeRoomsCfg>
ez
<isSupportSmartHomeDevices>
<!--ro, opt, bool, whether the device supports intelligent devices management-->true
</isSupportSmartHomeDevices>
en
<isSupportScenesCfg>
<!--ro, opt, bool, whether the device supports scene configuration (adding, deleting, editing and searching for)-->true
im
</isSupportScenesCfg>
<isSupportNameModify>
ng
<!--ro, opt, bool, whether the device supports editing the zone name-->true
Aj
</isSupportNameModify>
<isSupportElevatorControlCfg>
Co
m
<!--ro, opt, bool, whether the device supports upgrade configuration-->true
co
</isSupportUpdateStrategy>
<isSupportMetaInfo>
<!--ro, opt, bool, whether the device supports getting the information of upgrade files-->true
a.
</isSupportMetaInfo>
<isSupportStreamAbility>
<!--ro, opt, bool, whether the device supports IPC management-->true
C. arc
</isSupportStreamAbility>
<platform opt="R0,R1,S29">
<!--ro, opt, enum, platform type, subType:string, attr:opt{req, string}, desc:"R0", "R1"; it will be returned if the device supports-->R0
</platform>
s, em
<isSupportSecurityMode>
A
<!--ro, opt, bool, whether the device supports switching the version of security protocols-->true
no fr
</isSupportSecurityMode>
<isSupportDeviceCommunication>
<!--ro, opt, bool, whether the device supports configuring the parameters of device group-net communication-->true
ri on
</isSupportDeviceCommunication>
<isSupportAutoSync>
<!--ro, opt, bool, whether the device supports automatically synchronous parameters configuration-->true
Ma oc
</isSupportAutoSync>
<isSupportDifferentKeystrokes>
up
<!--ro, opt, bool, whether the device supports distinguishing long press and short press-->true
</isSupportDifferentKeystrokes>
<isSupportKeyCfgWeekPlan>
co gr
<!--ro, opt, bool, the week schedule configuration for pressing to call-->true
</isSupportKeyCfgWeekPlan>
<isSupportKeyCfgHolidayPlan>
es a@
<!--ro, opt, bool, the holiday schedule configuration for pressing to call-->true
</isSupportKeyCfgHolidayPlan>
<isSupportKeyCfgHolidayGroup>
Fr rc
<!--ro, opt, bool, the holiday group configuration for pressing to call-->true
</isSupportKeyCfgHolidayGroup>
y ema
<isSupportKeyCfgPlanTemplate>
<!--ro, opt, bool, the schedule template configuration for pressing to call-->true
</isSupportKeyCfgPlanTemplate>
<isSupportCallCfg>
os fr
<isSupportIncomingCallLinkage>
<!--ro, opt, bool, whether the device supports configuring incoming calls linkage-->true
</isSupportIncomingCallLinkage>
en
<isSupportAdbControl>
<!--ro, opt, bool, whether the device supports remotely enabling and disabling ADB-->true
</isSupportAdbControl>
im
<isSupportProtocolFileManage>
ng
<!--ro, opt, bool, whether the device supports the management of the protocol notice files, desc:/ISAPI/VideoIntercom/protocolFileManage/capabilities?
Aj
format=json-->true
</isSupportProtocolFileManage>
Co
<isSupportStreamSwitch>
<!--ro, opt, bool, whether the device supports stream switch, desc:/ISAPI/VideoIntercom/streamSwitch/capabilities?format=json-->true
</isSupportStreamSwitch>
<isSupportKeywordAudioRecognition>
<!--ro, opt, bool, whether the device supports keyword voice recognition, desc:/ISAPI/VideoIntercom/keywordAudioRecognition/capabilities?format=json--
>true
</isSupportKeywordAudioRecognition>
<isSupportOneWaySpeaking>
<!--ro, opt, bool, whether the device supports speaking loud, desc:true (support), this node is not returned (not support)-->true
</isSupportOneWaySpeaking>
<isSupportPositionInfo>
<!--ro, opt, bool, whether the device supports configuring the device location information, desc:/ISAPI/VideoIntercom/positionInfo?format=json-->true
</isSupportPositionInfo>
<isSupportElevatorControlDisplay>
<!--ro, opt, bool, whether the device supports configuring displaying elevator control, desc:/ISAPI/VideoIntercom/elevatorControlDisplay?format=json--
>true
</isSupportElevatorControlDisplay>
<isSupportRingManage>
<!--ro, opt, bool, whether the device supports ring tone management, desc:related URI: /ISAPI/VideoIntercom/ringTone?format=json;
/ISAPI/VideoIntercom/ringTone/<ringID>?format=json-->true
</isSupportRingManage>
<isSupportPasswordAuthentication>
<!--ro, opt, bool, whether the device supports verifying the video intercom password, desc:related URI:
/ISAPI/VideoIntercom/passwordAuthentication/capabilitie-->true
/ISAPI/VideoIntercom/passwordAuthentication/capabilitie-->true
</isSupportPasswordAuthentication>
<isSupportAlarmControlByPhone>
<!--ro, opt, bool, whether the device supports phone arming control, desc:related URI: /ISAPI/SecurityCP/AlarmControlByPhone/capabilities-->true
</isSupportAlarmControlByPhone>
<isSupportZoneCfgByScene>
<!--ro, opt, bool, whether the device supports configuring the zones parameter by scene, desc:related URI:
/ISAPI/SecurityCP/BasicParam/sceneZoneCfg/capabilities-->true
</isSupportZoneCfgByScene>
<isSupportAppKeyConfiguration>
<!--ro, opt, bool, whether the device supports configuring APPKey, desc:related URI: /ISAPI/VideoIntercom/AppKeyConfiguration/capabilities-->true
</isSupportAppKeyConfiguration>
<isSupportIntercomProtocolChange>
<!--ro, opt, bool, whether the device supports configuring the switch of device VoIP protocols, desc:related URI:
/ISAPI/VideoIntercom/IntercomProtocolType/capabilities-->true
</isSupportIntercomProtocolChange>
m
<isSupportGetAnnouncementMessage>
<!--ro, opt, bool, whether the device supports getting announcement message, desc:related URI: /ISAPI/VideoIntercom/AnnouncementMessage/capabilities--
co
>true
</isSupportGetAnnouncementMessage>
a.
<isSupportGetDeployInfo>
<!--ro, opt, bool, whether the device supports getting arming information, desc:related URI: /ISAPI/AccessControl/DeployInfo/capabilities-->true
</isSupportGetDeployInfo>
C. arc
<detectorType opt="panicButton,magneticContact,smokeDetector,activeInfraredDetector,passiveInfraredDetector,combustibleGasDetector,doorbell">
<!--ro, opt, string, detector types supported by the device, attr:opt{req, string}, desc:"panicButton" (panic button), "magneticContact" (magnetic
contact), "smokeDetector" (smoke detector), "activeInfraredDetector" (active infrared detecor), "passiveInfraredDetector" (passice infrared detector),
"combustibleGasDetector" (combustible gas detector)-->test
s, em
</detectorType>
<isSupportBroadcastRealtime>
A
<!--ro, opt, bool, whether the device supports real-time audio broadcast-->true
no fr
</isSupportBroadcastRealtime>
<isSupportOrganizationNodes>
ri on
<!--ro, opt, bool, whether the device supports organization architecture management-->true
</isSupportOrganizationNodes>
<isSupportAudioPlayStatus>
Ma oc
<!--ro, opt, bool, whether the device supports uploading the audio playing status-->true
</isSupportAudioPlayStatus>
<isSupportDeviceIdAnalysisRuleCfg>
up
<!--ro, opt, bool, whether the device supports configuring the analysis rule of the device No. (related URI:
/ISAPI/VideoIntercom/AnalysisRuleCfg/capabilities?format=json)-->true
</isSupportDeviceIdAnalysisRuleCfg>
co gr
<isSupportOperationTimeByChannel>
<!--ro, opt, bool, whether the device supports configuring the operation time by channel-->true
es a@
</isSupportOperationTimeByChannel>
<isSupportCallAuthorization>
<!--ro, opt, bool, whether the device supports configuring permission for incoming calls, desc:related URI:
Fr rc
/ISAPI/VideoIntercom/CallAuthorization/capbilities?format=json-->true
</isSupportCallAuthorization>
<isSupportRecordControl>
y ema
<!--ro, opt, bool, whether the device supports audio/video control, desc:related URI: /ISAPI/VideoIntercom/recordControl/capabilities?format=json--
>true
</isSupportRecordControl>
<isSupportTrusteeship>
os fr
<!--ro, opt, bool, whether the device supports configuring trusteeship, desc:related URI: /ISAPI/VideoIntercom/trusteeship/capabilities?format=json--
>true
ad on
</isSupportTrusteeship>
<isSupportAnalogIndoorStation>
<!--ro, opt, bool, whether the device supports the management of the analog indoor station, desc:related URI:
el .c
/ISAPI/VideoIntercom/analogIndoorStation/capabilities?format=json-->true
</isSupportAnalogIndoorStation>
<isSupportImportPartitions>
ez
<!--ro, opt, bool, whether the device supports importing the terminal list, desc:(partition list for the paging microphone devices distributed by the
platform) (Related URI: /ISAPI/VideoIntercom/ImportTerminals/capabilities?format=json)-->true
en
</isSupportImportPartitions>
<isSupportBroadcastPlan>
<!--ro, opt, bool, whether the device supports full application of schedule broadcast, desc:related URI:
im
ISAPI/VideoIntercom/broadcast/plan/capabilities?format=json-->true
</isSupportBroadcastPlan>
ng
<isSupportBroadcastPlanSearch>
Aj
<!--ro, opt, bool, whether the device supports searching for full schedule broadcast, desc:related URI: /ISAPI/VideoIntercom/broadcast/planSearch?
format=json-->true
Co
</isSupportBroadcastPlanSearch>
<isSupportBroadcastPlanPause>
<!--ro, opt, bool, whether the device supports pausing full schedule broadcast, desc:related URI: /ISAPI/VideoIntercom/broadcast/plan/pause?
format=json-->true
</isSupportBroadcastPlanPause>
<isSupportBroadcastPlanResume>
<!--ro, opt, bool, whether the device supports restoring full schedule broadcast, desc:related URI: /ISAPI/VideoIntercom/broadcast/plan/resume?
format=json-->true
</isSupportBroadcastPlanResume>
<isSupportBroadcastPlanTest>
<!--ro, opt, bool, whether the device supports the test run of full schedule broadcast, desc:related URI: /ISAPI/VideoIntercom/broadcast/plan/test?
format=json-->true
</isSupportBroadcastPlanTest>
<isSupportBroadcastPlanEx>
<!--ro, opt, bool, whether the device supports incremental application of schedule broadcast, desc:related URI:
/ISAPI/VideoIntercom/broadcast/planEx/capabilities?format=json-->true
</isSupportBroadcastPlanEx>
<isSupportBroadcastPlanExSearch>
<!--ro, opt, bool, whether the device supports searching for incremental schedule broadcast, desc:related URI:
/ISAPI/VideoIntercom/broadcast/planExSearch?format=json-->true
</isSupportBroadcastPlanExSearch>
<isSupportBroadcastPlanModify>
<!--ro, opt, bool, whether the device supports editing a single schedule broadcast, desc:it is valid only during incremental application-->true
<!--ro, opt, bool, whether the device supports editing a single schedule broadcast, desc:it is valid only during incremental application-->true
</isSupportBroadcastPlanModify>
<isSupportBroadcastPlanDelete>
<!--ro, opt, bool, whether the device supports deleting a single schedule broadcast, desc:it is valid only during incremental application-->true
</isSupportBroadcastPlanDelete>
<isSupportAudioInPlayCfg>
<!--ro, opt, bool, whether the device supports the configuration of playing the audio input sources of the broadcast, desc:URI for getting the
capability: /ISAPI/VideoIntercom/broadcast/AudioInPlayCfg/capabilities?format=json-->true
</isSupportAudioInPlayCfg>
<isSupportSearchWardBedInfo>
<!--ro, opt, bool, whether the device supports searching for ward bed information, desc:URI for getting the capability:
/ISAPI/VideoIntercom/searchWardBedInfo/capabilities?format=json. It is used for the main station to search for whether the bed connected to the sub machine
in the ward is already occupied-->true
</isSupportSearchWardBedInfo>
<isSupportPatient>
<!--ro, opt, bool, whether the device supports applying patient information, desc:URI for getting the capability:
/ISAPI/VideoIntercom/medical/patient/capabilities?format=json-->true
m
</isSupportPatient>
co
<isSupportIntroduction>
<!--ro, opt, bool, whether the device supports applying the medical introduction, desc:URI for getting the capability:
/ISAPI/VideoIntercom/medical/introduction/capabilities?format=json-->true
a.
</isSupportIntroduction>
<isSupportConstantVoltage>
C. arc
<!--ro, opt, bool, whether the device supports constant voltage broadcast, desc:URI for getting the capability:
/ISAPI/VideoIntercom/broadcast/ConstantVoltage/capabilities?format=json-->true
</isSupportConstantVoltage>
<isSupportRecordMode>
<!--ro, opt, bool, whether it supports configuring recording mode, desc:URI for getting the capability: /ISAPI/VideoIntercom/RecordMode/capabilities?
s, em
format=json-->true
A
</isSupportRecordMode>
no fr
<isSupportCallForwarding>
<!--ro, opt, bool, whether the device supports active call transfer, desc:URI for getting the capability:
/ISAPI/VideoIntercom/callForwarding/capabilities?format=json-->true
ri on
</isSupportCallForwarding>
<isSupportMediaLibrary>
<!--ro, opt, bool, whether the device supports applying media library information, desc:URI for getting the capability:
Ma oc
/ISAPI/VideoIntercom/broadcast/MediaLibrary/capabilities?format=json-->true
</isSupportMediaLibrary>
up
<isSupportBroadcastControl>
<!--ro, opt, bool, whether the device supports configuring broadcast control parameters, desc:URI for getting the capability:
/ISAPI/VideoIntercom/broadcast/control/capabilities?format=json-->true
co gr
</isSupportBroadcastControl>
<isSupportGetImportPartitions>
<!--ro, opt, bool, whether the device supports getting partition list, desc:POST /ISAPI/VideoIntercom/broadcast/GetImportPartitions?format=json-->true
es a@
</isSupportGetImportPartitions>
<isSupportSearchMediaLibrary>
Fr rc
<!--ro, opt, bool, whether the device supports searching media library, desc:POST /ISAPI/VideoIntercom/broadcast/SearchMediaLibrary?format=json-->true
s
</isSupportSearchMediaLibrary>
<isSupportImportPartitionsBatch>
y ema
<!--ro, opt, bool, whether the device supports batch importing of partitions, desc:PUT /ISAPI/VideoIntercom/broadcast/ImportPartitionsBatch?
format=json-->true
</isSupportImportPartitionsBatch>
<isSupportMediaLibraryBatch>
os fr
<!--ro, opt, bool, whether the device supports batch applying of media library information, desc:PUT /ISAPI/VideoIntercom/broadcast/MediaLibraryBatch?
format=json-->true
</isSupportMediaLibraryBatch>
ad on
<isSupportPlanScheme>
<!--ro, opt, bool, whether the device supports broadcast schedules, desc:GET /ISAPI/VideoIntercom/broadcast/PlanScheme/capabilities?format=json-->true
el .c
</isSupportPlanScheme>
<isSupportRealTimeInsertion>
<!--ro, opt, bool, whether the device supports real-time cut-in, desc:POST /ISAPI/VideoIntercom/broadcast/RealTimeInsertion?format=json-->true
ez
</isSupportRealTimeInsertion>
</VideoIntercomCap>
<SecurityCPCapabilities>
en
</isSupportSafetyCabin>
Aj
<isSupportAcsUpdate>
<!--ro, opt, bool, whether the device supports peripheral module upgrade (true, support), desc:related URI: /ISAPI/System/AcsUpdate/capabilities-->true
Co
</isSupportAcsUpdate>
<isSupportSecurityCP>
<!--ro, opt, bool, N/A-->true
</isSupportSecurityCP>
<isSupportPEA>
<!--ro, opt, bool, the host capability of one-push alarm-->true
</isSupportPEA>
<isSupportCurrentLock>
<!--ro, opt, bool, whether the device supports the configuration of locking current-->true
</isSupportCurrentLock>
<isSupportGuardAgainstTheft>
<!--ro, opt, bool, whether the device supports configuring device guard against theft, desc:related URI: /ISAPI/System/guardAgainstTheft/capabilities--
>true
</isSupportGuardAgainstTheft>
<isSupportPicInfoOverlap>
<!--ro, opt, bool, whether the device supports overlaying pictures and texts-->true
</isSupportPicInfoOverlap>
<isSupportPlay>
<!--ro, opt, bool, shielded live view-->true
</isSupportPlay>
<isSupportPlayback>
<!--ro, opt, bool, shielded playback-->true
</isSupportPlayback>
<UHFRFIDReader>
<UHFRFIDReader>
<!--ro, opt, object, capability supported by the RFID reader-->
<isSupportBasicInformation>
<!--ro, opt, bool, whether the device supports the basic parameters of the reader-->true
</isSupportBasicInformation>
<isSupportHardDiskStorageTest>
<!--ro, opt, bool, whether the device supports disk storage performance test of the reader-->true
</isSupportHardDiskStorageTest>
<isSupportCarReaderConfig>
<!--ro, opt, bool, whether the device supports configuring the parameters of the electronic license plate reader, desc:related URI:
/ISAPI/Traffic/UHFRFIDReader/carReaderConfig/capabilities?format=json-->true
</isSupportCarReaderConfig>
</UHFRFIDReader>
<isSupportMasterSlaveConfig>
<!--ro, opt, bool, whether the device supports configuring main and sub device, desc:related URI: /ISAPI/System/masterSlaveConfig?format=json-->true
</isSupportMasterSlaveConfig>
m
<isSupportIntelligentStructureAnalysis>
<!--ro, opt, bool, whether the device supports intelligent structuralization analysis, desc:related URI:
co
/ISAPI/Intelligent/structureAnalysis/capabilities-->true
</isSupportIntelligentStructureAnalysis>
a.
<isSupportIntelligentAnalysisEngines>
<!--ro, opt, bool, whether the device supports configuring the intelligent engine, desc:related URI: /ISAPI/Intelligent/analysisEngines/capabilities--
>true
C. arc
</isSupportIntelligentAnalysisEngines>
<PreviewDisplayNum>
<!--ro, opt, int, number of the browser live view window-->1
</PreviewDisplayNum>
s, em
<isSupportBoard opt="true,false">
<!--ro, opt, bool, whether the device supports related sub-board protocols, attr:opt{opt, string}-->true
A
</isSupportBoard>
no fr
<ResourceSwitch>
<!--ro, opt, object, configuration of resource conversion-->
ri on
<workMode opt="4KPreview,educationRecord">
<!--ro, req, string, the working mode: education record mode, attr:opt{opt, string}-->test
</workMode>
Ma oc
</ResourceSwitch>
<isSupportCustomStream>
<!--ro, opt, bool, whether the device supports custom stream, desc:related URI: /ISAPI/Streaming/channels/<ID>/customStream/capabilities-->true
up
</isSupportCustomStream>
<isSupportTriggerCapCheck>
co gr
<!--ro, opt, bool, it indicates that the capability of the URL (/ISAPI/Event/triggersCap) is already verified-->true
</isSupportTriggerCapCheck>
<isSupportChannelEventCap>
es a@
<!--ro, opt, bool, whether the device supports getting the event capability by channel, desc:related URI: /ISAPI/Event/channels/<ID>/capabilities-->true
</isSupportChannelEventCap>
<SensorCap>
Fr rc
<!--ro, opt, object, capability of configuring sensor parameters, desc:related URI: /ISAPI/System/Sensor/capabilities-->
<SensorNums>
y ema
<!--ro, opt, int, the maximum number of sensors that can be added-->1
</SensorNums>
<isSupportSensorPortConfiguration>
<!--ro, opt, bool, supports configuring the detection parameters-->true
</isSupportSensorPortConfiguration>
os fr
<isSupportSensorPortControl>
<!--ro, opt, bool, supports detection control-->true
ad on
</isSupportSensorPortControl>
<isSupportAcquireSensorStatus>
<!--ro, opt, bool, supports getting the real-time status of the sensor-->true
el .c
</isSupportAcquireSensorStatus>
<isSupportSearchSensorData>
<!--ro, opt, bool, supports searching the sensor data-->true
ez
</isSupportSearchSensorData>
</SensorCap>
en
<isSupportEncryption>
<!--ro, opt, bool, stream encryption capability-->true
</isSupportEncryption>
im
<isSupportTrial>
<!--ro, opt, bool, whether the device supports configuring inquest device-->true
ng
</isSupportTrial>
Aj
<isSupportSignInstrument>
Co
m
</isSupportGPSCalibratation>
co
<isSupportCityManagement>
<!--ro, opt, bool, whether the device supports city management detection event-->true
</isSupportCityManagement>
a.
<isSupportBVCorrect>
<!--ro, opt, bool, whether the device supports configuring the parameters of camera correction-->true
C. arc
</isSupportBVCorrect>
<isSupportSteamingCodingModeSwitch>
<!--ro, opt, bool, encoding output mode (true-support), desc:related URI: /ISAPI/System/streamingCoding/mode/capabilities?format=json-->true
</isSupportSteamingCodingModeSwitch>
s, em
<supportImageChannel opt="1,2,3,4">
<!--ro, opt, string, whether the device supports configuring the image channel, attr:opt{req, string},
A
desc:the configuration of actual image channel supported by the device (URI for picture parameters: /ISAPI/Image/channels/<channelID>), if this node is not
no fr
returned, the image channel is the same with the encoding channel (/ISAPI/Streaming/channels) by default
this node is mainly for the situation when the image channel is inconsistent with the actual stream channel. For example, some device, which altogether
has four sensors and they are all spliced into one encoding channel for output. Every sensor supports configuring image parameters; by default, the image
ri on
channel 1 is only valid for the images of sensor1-->test
</supportImageChannel>
Ma oc
<isSupportPanoramaCalibration>
<!--ro, opt, bool, whether the device supports configuring the calibration of the panoramic camera-->true
</isSupportPanoramaCalibration>
up
<isSupportPanoramaMode>
<!--ro, opt, bool, whether the device supports the mode switch of the panoramic camera-->true
</isSupportPanoramaMode>
co gr
<supportSnapshotChannel opt="1">
<!--ro, opt, string, the capability supported by the capture schedule channel, attr:opt{opt, string}-->test
</supportSnapshotChannel>
es a@
<isSupportPanoramaCorrections>
<!--ro, opt, bool, whether the device supports configuring the correction algorithm parameters-->true
Fr rc
</isSupportPanoramaCorrections>
s
<isSupportActiveMulticast>
<!--ro, opt, bool, whether the device supports multicast configuration (/ISAPI/Streaming/channels/<ID>/capabilities)-->true
y ema
</isSupportActiveMulticast>
<isSupportChannelEventListCap>
<!--ro, opt, bool, it indicates that whether the device supports getting the event capability of all channels of the device-->true
</isSupportChannelEventListCap>
os fr
<VCAResourceChannelsCap>
<!--ro, opt, object, it indicates that the device supports the independent switch of intelligent resources by channel-->
<ChannelsList>
ad on
</VCAResourceChannelsCap>
<isSupportTimerVCAResource>
<!--ro, opt, bool, whether the device supports scheduled switch of intelligent resources-->true
en
</isSupportTimerVCAResource>
<MixedTargetDetection>
im
<!--ro, opt, object, the capability of recognizing specified target among mixed targets supported by the device-->
<isSupportFaceRecognition>
ng
</isSupportFaceRecognition>
<isSupportHumanRecognition>
Co
<!--ro, opt, bool, whether the device supports human body recognition-->true
</isSupportHumanRecognition>
<isSupportVehicleRecognition>
<!--ro, opt, bool, whether the device supports vehicle recognition-->true
</isSupportVehicleRecognition>
</MixedTargetDetection>
<isSupportDiscoveryMode>
<!--ro, opt, bool, whether the device supports discovery mode, desc:related URI: /ISAPI/System/discoveryMode/capabilities-->true
</isSupportDiscoveryMode>
<isSupportDumpData>
<!--ro, opt, bool, whether the device supports exporting the Dump file-->true
</isSupportDumpData>
<isSupportCameraAccessConfiguration>
<!--ro, opt, bool, whether the device supports the camera access configuration, desc:related URI: /ISAPI/System/cameraAccess/configuration/capabilities?
format=json-->true
</isSupportCameraAccessConfiguration>
<isSupportIntelligentSearch>
<!--ro, opt, bool, whether the device supports intelligent search, desc:related URI: /ISAPI/SDT/Management/IntelligentSearch/capabilities?format=json--
>true
</isSupportIntelligentSearch>
<isSupportAutoMaintenance>
<!--ro, opt, bool, whether the device supports automatic maintenance, desc:related URI: /ISAPI/System/autoMaintenance/capabilities?format=json-->true
</isSupportAutoMaintenance>
<isSupportRtspOverHTTPS>
<!--ro, opt, bool, supports tspOverHTTPS-->true
</isSupportRtspOverHTTPS>
<isSupportIntersectionAnalysis>
<!--ro, opt, bool, whether the device supports the intersection analysis, desc:related URI:
/ISAPI/Intelligent/channels/<ID>/intersectionAnalysis/capabilities?format=json-->true
</isSupportIntersectionAnalysis>
<isSupportAudioInteract>
<!--ro, opt, bool, whether the device supports audio interaction, desc:related URI: /ISAPI/Streaming/interact/capabilities?format=json-->true
</isSupportAudioInteract>
<isSupportChannelFullEventListCap>
<!--ro, opt, bool, it indicates that whether the device supports getting the event capability of all channels of the device-->true
</isSupportChannelFullEventListCap>
<isSupportAUXInfoCap>
<!--ro, opt, bool, it indicates that whether the device supports getting the capability of getting the attributes of device's all channels-->true
</isSupportAUXInfoCap>
m
<supportPanoramaChannel opt="2">
co
<!--ro, opt, string, the panoramic channels supported by the device, attr:opt{opt, string}-->test
</supportPanoramaChannel>
<regionClip>
a.
<!--ro, opt, object, the channels and streams that supports area cropping-->
<channels opt="101">
<!--ro, opt, string, the channels and streams that supports area cropping, attr:opt{opt, string}, desc:101: channel No.*100+stream type-->test
C. arc
</channels>
</regionClip>
<AIDEventSupport
opt="abandonedObject,pedestrian,congestion,roadBlock,construction,trafficAccident,fogDetection,wrongDirection,illegalParking,SSharpDriving,lowSpeed,dragRaci
s, em
ng,obstacle,vehNoYieldPedest,illegalMannedVeh,illegalMannedNonMotorVeh,umbrellaTentInstall,nonMotorVehOnVehLane,wearingNoHelmet,pedestRedLightRunning,pedest
OnNonMotorVehLane,pedestOnVehLane,conflagration,smoke,VehicleSpeedDrop,lowVisibility,animalsOccupy,targetSpeedDetection,emergencyLane,gasser,changeLaneConti
A
nuously">
no fr
<!--ro, opt, string, supported AID event, attr:opt{opt, string}-->test
</AIDEventSupport>
ri on
<TFSEventSupport opt="illegalParking
,wrongDirection,crossLane,laneChange,vehicleExist,turnRound,parallelParking,notKeepDistance,notSlowZebraCrossing,overtakeRightSide,lowSpeed,dragRacing,chang
eLaneContinuously,SSharpDriving,largeVehicleOccupyLine,jamCrossLine,obstacle,blackSmokeVehicle,turnRightStop,occupyDedicatedLane,notDriveInDedicatedLane,TFS
Ma oc
_nonZipperMerge,overSpeed,emergencyLane,gasser">
<!--ro, opt, string, supported TFS, attr:opt{opt, string}-->test
</TFSEventSupport>
up
<isVehicleStatisticsSupport>
<!--ro, opt, bool, whether the device supports configuring the parameters for traffic data statistics-->true
co gr
</isVehicleStatisticsSupport>
<isSupportElevatorFloorName>
<!--ro, opt, bool, whether the device supports configuring floor custom name-->true
es a@
</isSupportElevatorFloorName>
<isSupportVehicleFaceRecognition>
<!--ro, opt, bool, whether the device supports checkpoint vehicle recognition, desc:background: the traffic devices support "facial recognition"
Fr rc
(driver), however, the corresponding node is not added to the device to notify the integration of this capability-->true
</isSupportVehicleFaceRecognition>
y ema
<VQDEventSupport opt="luma,chroma,snow,streak,freeze,sigLose,clarity,jitter,block,flowers,noise,ghost,purple,ICR,protectiveFilm,blur,contrast">
<!--ro, opt, string, VQD event list, attr:opt{opt, string}, desc:"Luma" (brightness exception); "Chroma" (image color cast); "Snow" (snow noise);
"Streak" (strip noise); "Freeze" (frozen screen); "SigLose" (signal loss); "Clarity" (resolution exception); "JItter" (image flutter); "Block"
(video tampering); "Flowers" (blurred screen); "Noise" (image noise); "Ghost" (ghost image); "Purple" (purple fringing); "ICR" (ICP); "protectiveFilm"
os fr
<!--ro, opt, object, supports searching for the device status list by page, desc:not returned (not support, get the device status list via GET)-->
<supportChannelNum opt="1024">
<!--ro, opt, int, the number of supported IOT device channels, attr:opt{opt, string}-->1
el .c
</supportChannelNum>
<startChannelNo>
ez
<!--ro, opt, bool, whether the device supports the channel configuration capability-->true
</isSupportIOTChannelCap>
ng
<satusSearchTaskCap>
Aj
<maxResults>
<!--ro, opt, int, the maximum number of returned results-->1
</maxResults>
<filterType opt="all,online,offline,updateFailed,notPartitioned">
<!--ro, opt, enum, filtering type, subType:string, attr:opt{req, string}, desc:all, online, offline, updateFailed (upgrading failed)-->all
</filterType>
<deviceStatus opt="calling,noCall,medicationChangePrompt,alarming,offline,free,callWaiting">
<!--ro, opt, string, the value range for the device status search condition, range:[0,32], attr:opt{req, string}, desc:"calling" (calling), "noCall"
(non-calling status), "medicationChangePrompt", "alarming", "offline", "free"; if multiple conditions are specified, their relationship is "and" by default-
->calling
</deviceStatus>
<logicRelationship opt="and,or">
<!--ro, opt, string, the value range for the logic relationship of device status search condition, range:[0,16], attr:opt{req, string}, desc:and-
the relationship between them is "and" (by default), or- the relationship between them is "or"; it is valid when deviceStatus exists-->and
</logicRelationship>
<alarmType opt="SOS,toilet">
<!--ro, opt, string, value range of alarm type, range:[0,16], attr:opt{req, string}, desc:SOS-SOS call, toilet-toilet alarm. It is valid when the
deviceStatus contains Alarming-->test
</alarmType>
<callWaitingType opt="normal,cisit">
<!--ro, opt, string, Alarm Type, attr:opt{req, string}, desc:normal-normal call waiting, visit-visit call waiting. It is valid when the deviceStatus
contains callWaiting-->test
</callWaitingType>
</satusSearchTaskCap>
</satusSearchTaskCap>
<channelConfigList>
<!--ro, opt, array, capability list returned according to unitType, subType:object-->
<channelConfig>
<!--ro, opt, object, device type capability-->
<unitType>
<!--ro, opt, enum, unit type, subType:string, desc:"indoor" (indoor station), "villa" (villa door station), "confirm" (doorphone), "outdoor" (door
station), "fence" (outer door station), "doorbell" (doorbell), "manage" (main station), "acs" (access control devices), "wardStation", "bedheadExtension",
"bedsideExtension", "terminal", "netAudio" (network sound box), "analogIndoor" (analog indoor station), "decoder" (decoder), "networkFireAlarmMatrix",
"amplifier" (network amplifier), "pagingMicrophone" (SIP phone)-->outdoor
</unitType>
<floorNumber min="0" max="65535">
<!--ro, opt, int, floor No., attr:min{req, int},max{req, int}-->0
</floorNumber>
<roomNumber min="0" max="65535">
<!--ro, opt, int, room No., attr:min{req, int},max{req, int}-->0
m
</roomNumber>
<isSupportSlaveDevice>
co
<!--ro, opt, bool, whether the device supports sub-devices-->true
</isSupportSlaveDevice>
<isSupportZeroFloorNumber>
a.
<!--ro, opt, bool, whether the zero floor is supported, desc:it is used together with node floorNumber-->true
</isSupportZeroFloorNumber>
C. arc
<periodNumber min="1" max="65535">
<!--ro, opt, int, community number, attr:min{req, int},max{req, int}-->0
</periodNumber>
<buildingNumber min="1" max="65535">
s, em
<!--ro, opt, int, building number, attr:min{req, int},max{req, int}-->0
</buildingNumber>
A
<unitNumber min="0" max="65535">
no fr
<!--ro, opt, int, unit number, attr:min{req, int},max{req, int}-->0
</unitNumber>
<deviceIndex min="1" max="15">
ri on
<!--ro, opt, string, device No. length range, attr:min{req, int},max{req, int}-->test
</deviceIndex>
Ma oc
<industryType opt="builidings,prison,medicalTreatment,broadcasting,general">
<!--ro, opt, string, industry (scene) type, range:[0,32], attr:opt{req, string}, desc:"builidings" (building), "prison", "medicalTreatment"
(medical), "broadcasting", "general"-->test
up
</industryType>
<alarmEnabled opt="true,false">
<!--ro, opt, bool, whether to enable the arming function of IoT devices, attr:opt{req, string}, desc:this field is used to check if arming is
co gr
supported when adding devices. (Related field: alarmEnabled; related URI: /ISAPI/System/IOT/channels?format=json)-->true
</alarmEnabled>
es a@
<transportType opt="unicast,multicast">
s
<!--ro, opt, bool, whether to enable call transfer, desc:true (enable), false (disable). The default value is false-->true
</callForwardingEnabled>
<callForwardingType opt="unconditional,busy,noReply,noReachable,calling">
ad on
<!--ro, opt, string, call transfer type, range:[0,32], attr:opt{req, string}, desc:"unconditional" (call transfer under any condition), "busy"
(call transfer when busy), "noReply" (call transfer when there is no reply), "noReachable" (call transfer when it is unreachable), "calling" (call transfer
el .c
when calling)-->test
</callForwardingType>
<isSupportCallTerminalNumbe>
ez
<!--ro, opt, bool, whether the device supports configuring the target master station No. for call forwarding-->true
</isSupportCallTerminalNumbe>
<customCommunicationName min="0" max="128">
en
<!--ro, opt, string, custom contact name, range:[0,128], attr:min{req, int},max{req, int}, desc:when this node is configured, the custom contact
name will be displayed during device calling prior to the terminal number-->test
im
</customCommunicationName>
<isSupportMoreFeatures>
ng
<!--ro, opt, bool, whether the device supports more functions, desc:it is not supported by default if this node is not returned-->true
Aj
</isSupportMoreFeatures>
<isNotSupportRegPassword>
Co
<!--ro, opt, bool, whether the password registration configuration is not supported, desc:it is supported if this node is not returned or false is
returned-->true
</isNotSupportRegPassword>
<mappingRoomNumber min="0" max="5">
<!--ro, opt, int, mapping room No., attr:min{req, int},max{req, int}, desc:the mapping room No. is unique and can be called without exposing the
actual room No., for privacy requirement for overseas users-->0
</mappingRoomNumber>
<deviceID min="0" max="64">
<!--ro, opt, string, device ID, attr:min{req, int},max{req, int}, desc:supported for ISUP protocol access-->test
</deviceID>
<ISUPkey min="1" max="32">
<!--ro, opt, string, ISUP Key, attr:min{req, int},max{req, int}, desc:supported for ISUP protocol access-->test
</ISUPkey>
<dialUpAddress min="1" max="1024">
<!--ro, opt, string, dial address, attr:min{req, int},max{req, int}, desc:this node is required when <unitType> is "analogIndoor"-->test
</dialUpAddress>
</channelConfig>
</channelConfigList>
<isSupportConfigTemplate>
<!--ro, opt, bool, whether the device supports exporting the device list template-->true
</isSupportConfigTemplate>
<isSupportConfigReport>
<!--ro, opt, bool, whether the device supports getting the importing details-->true
</isSupportConfigReport>
<unitType
opt="indoor,villa,confirm,outdoor,fence,doorbell,manage,acs,interactive,wardStation,bedheadExtension,bedsideExtension,analogIndoor,decoder,networkFireAlarmM
atrix,amplifier,pagingMicrophone,PDA,netSwitch,entrywayStation">
<!--ro, opt, string, device type, range:[0,32], attr:opt{req, string}, desc:terminal, netAudio (network sound box)-->test
</unitType>
<serialNumber min="1" max="32">
<!--ro, opt, string, the value range of device serial No. length, range:[0,32], attr:min{req, int},max{req, int}-->test
</serialNumber>
<isSupportAsyncStatus>
<!--ro, opt, bool, whether the device supports asynchronously getting the status of non-video channels, desc:URI for device update: PUT
/ISAPI/System/IOT/channels/updateStatusTask?format=json; URI for getting the update progress: GET /ISAPI/System/IOT/channels/updateStatusProgress?
format=json-->true
</isSupportAsyncStatus>
<isSupportAddIOTChannelList>
<!--ro, opt, bool, whether the device supports batch adding channels of IoT devices, desc:URI for batch adding channels of IoT devices: POST
m
/ISAPI/System/IOT/channels/AddIOTChannelList?format=json-->true
co
</isSupportAddIOTChannelList>
<isSupportSearchMoreIOTSource>
<!--ro, opt, bool, whether the device supports searching for the IoT devices which can be added (by multiple conditions), desc:related URI: POST
a.
/ISAPI/System/IOT/channels/AddIOTChannelList?format=json-->true
</isSupportSearchMoreIOTSource>
<channelConfigReportMode>
C. arc
<!--ro, opt, enum, mode of importing the list of IoT devices, subType:string, desc:different devices (main station and door station) process the
imported device list in a different way, which should be returned to the users for prompt. URL for importing the device list:
/ISAPI/System/IOT/channelConfig?format=json; cover; add-->cover
</channelConfigReportMode>
s, em
</IOTCap>
A
<isSupportLCDScreen>
no fr
<!--ro, opt, bool, whether the device supports LCP display screen-->true
</isSupportLCDScreen>
<isSupportBluetooth>
ri on
<!--ro, opt, bool, whether the device supports bluetooth, desc:related URI: /ISAPI/System/Bluetooth/capabilities-->true
</isSupportBluetooth>
<isSupportNetScreen>
Ma oc
<!--ro, opt, bool, whether the device supports network screen (Nova screen), desc:related URI: /ISAPI/System/netScreens/capabilities?format=json-->true
</isSupportNetScreen>
up
<isSupportLocation>
<!--ro, opt, bool, whether the device supports getting the device location information, desc:related URI: /ISAPI/System/location?format=json-->true
</isSupportLocation>
co gr
<isSupportDebugInfoExport>
<!--ro, opt, bool, whether the device supports exporting the debugging information, desc:related URI: /ISAPI/System/debugInfoExport/capabilities?
format=json-->true
es a@
</isSupportDebugInfoExport>
<isSupportIoTGateway>
<!--ro, opt, bool, whether the device supports IoT gateway functions, desc:related URI: /ISAPI/System/IoTGateway/capabilities?format=json-->true
Fr rc
</isSupportIoTGateway>
<isSupportImageCap>
y ema
<!--ro, opt, bool, whether the device supports configuring image parameters-->true
</isSupportImageCap>
<isSupportLogToUSB opt="true,false">
<!--ro, opt, bool, whether the device supports exporting logs to USB, attr:opt{opt, string}, desc:related URI:
os fr
/ISAPI/System/exportLogToUSB/capabilities?format=json-->true
</isSupportLogToUSB>
<isSupportWiresharkToUSB opt="true,false">
ad on
<!--ro, opt, bool, whether the device supports exporting packet capture information to USB, attr:opt{opt, string}, desc:related URI:
ISAPI/System/wiresharkToUSB/capabilities?format=json-->true
</isSupportWiresharkToUSB>
el .c
<CDBurningStreamEncryptionChannels opt="1,2">
<!--ro, opt, string, return the capability of device recording stream encryption channel, attr:opt{opt, string}, desc:related URI:
ez
/ISAPI/Streaming/channels/<ID>/capabilities-->true
</CDBurningStreamEncryptionChannels>
<isSupportOCR>
en
<!--ro, opt, bool, whether the device supports OCR detection, desc:related URI: /ISAPI/Intelligent/channels/<ID>/OCR/capabilities?format=json-->true
</isSupportOCR>
<isSupportInstallationAngleCalibration>
im
<!--ro, opt, bool, whether the device supports the capability of installation angle calibration, desc:related URI:
ng
/ISAPI/System/installationAngleCalibration/channels/<ID>/capabilities-->true
Aj
</isSupportInstallationAngleCalibration>
<isSupportZeroBiasCalibration>
Co
<!--ro, opt, bool, whether the device supports the zero angle calibration capability node, desc:related URI:
/ISAPI/System/zeroBiasCalibration/channels/<ID>?format=json-->true
</isSupportZeroBiasCalibration>
<isSupportCalibrationFile>
<!--ro, opt, bool, whether the device importing the calibration file, desc:related URI: /ISAPI/System/configurationData-->true
</isSupportCalibrationFile>
<isSupportDisplayTrajectory>
<!--ro, opt, bool, whether the device supports target track overlay (playing library)-->true
</isSupportDisplayTrajectory>
<maximumSuperPositionTime opt="5,10,20,30">
<!--ro, opt, string, the maximum overlay time, attr:opt{opt, string}, desc:unit: s; it is only returned when the target track overlay is supported--
>true
</maximumSuperPositionTime>
<isSupportUnitConfig>
<!--ro, opt, bool, whether the device supports the unit configuration, desc:related URI: /ISAPI/System/unitConfig/capabilities?format=json-->true
</isSupportUnitConfig>
<isSupportShipsDetectionWithScene>
<!--ro, opt, bool, whether the device supports ship detection by scene-->true
</isSupportShipsDetectionWithScene>
<isSupportPictureServer>
<!--ro, opt, bool, whether the device supports configuring the picture storage server, desc:related URI: /ISAPI/System/PictureServer/capabilities?
format=json-->true
</isSupportPictureServer>
<isSupportEmmcInfo>
<isSupportEmmcInfo>
<!--ro, opt, bool, the capability of supporting the EMMC configuration, desc:related URI: /ISAPI/System/emmcInfo/capabilities?format=json-->true
</isSupportEmmcInfo>
<isSupportVehicleIllegalType opt="1,2...29">
<!--ro, opt, string, the vehicle violation types supported by the device, attr:opt{opt, string}, desc:the content value is the same as the index value,
refer to NET_ITS_PLATE_RESULT.NET_DVR_VEHICLE_INFO.byIllegalType the capture camera is connected to the new platform, and the device supports "traffic
violation alarm"; however, the corresponding node is not added to the device to notify the integration of this capability; that is, the traffic violation
alarm capability lacks details. If later the platform needs to develop capability with details, the current device will be incompatible with the capability;
and detailed capability is hidden in the configuration of all trigger modes, which will influence overall access-->test
</isSupportVehicleIllegalType>
<isSupportRFIDChannels>
<!--ro, opt, bool, whether the device supports getting the RFID channel, desc:related URI: /ISAPI/System/RFIDChannels?format=json-->true
</isSupportRFIDChannels>
<isSupportRfidCollection>
<!--ro, opt, bool, whether the device supports the event of uploading RFID tag information, desc:related URI:
/ISAPI/System/Network/RFIDData/<channelID>/capabilities, eventType: rfidCollection-->true
m
</isSupportRfidCollection>
<DevInfoSearch opt="tiltAngle">
co
<!--ro, opt, string, whether the device supports searching for the device information, attr:opt{opt, string}, desc:related URI:
/ISAPI/System/workingstatus/devInfoSearch?format=json-->test
a.
</DevInfoSearch>
<isSupportAIOpenPlatform>
<!--ro, opt, bool, whether the device supports AI open platform device capability, desc:related URI: /ISAPI/Intelligent/AIOpenPlatform/capabilities?
C. arc
format=json-->true
</isSupportAIOpenPlatform>
<isSupportPictureDownloadError>
<!--ro, opt, bool, whether the device supports uploading the exception that downloading the picture failed, desc:eventType: pictureDownloadError-->true
s, em
</isSupportPictureDownloadError>
<isSupportStudentBehavior>
A
<!--ro, opt, bool, whether the device supports uploading the data of students in-class behavior, desc:eventType: studentBehavior-->true
no fr
</isSupportStudentBehavior>
<guideEventSupport opt="linkageCapture">
ri on
<!--ro, opt, string, the list of web quick configuration guide, attr:opt{opt, string}, desc:related URI:
/ISAPI/System/guideConfig/<guideEvent>/capabilities?format=json-->test
</guideEventSupport>
Ma oc
<supportRemoteCtrl opt="up,down,left,right,enter,menu,num,power,esc,edit,F1,.prev,rec,play,stop,notSupport">
<!--ro, opt, string, whether the device supports remote control, attr:opt{opt, string}, desc:related URI: /ISAPI/System/remoteCtrl/XXX-->test
</supportRemoteCtrl>
up
<isSupportSSDFileSystemUpgrade>
<!--ro, opt, bool, whether the device supports updating the SSD file system, desc:related URI: /ISAPI/System/SSDFileSystem/upgrade?format=json-->true
</isSupportSSDFileSystemUpgrade>
co gr
<isSupportSSDFileSystemFormat>
<!--ro, opt, bool, whether the device supports formatting SSD, desc:related URI: /ISAPI/System/SSDFileSystem/format?format=json-->true
es a@
</isSupportSSDFileSystemFormat>
<FaceCounting>
<!--ro, opt, object, whether the device supports the customer traffic (face)-->
Fr rc
<ChannelsList>
<!--ro, opt, array, channel list, subType:object-->
<channelsID>
y ema
<isSupportCluster>
<!--ro, opt, bool, related URI:, desc:/ISAPI/ContentMgmt/Cluster/capabilities-->true
ad on
</isSupportCluster>
<DeviceConfigurationSupport opt="time,network,accessProtocol,recordSchedule,channel,customProtocol">
<!--ro, opt, string, content supported by device parameters configuration, attr:opt{opt, string}, desc:related URI: /ISAPI/System/deviceConfiguration--
el .c
>test
</DeviceConfigurationSupport>
<behaviorEventSupport opt="getUp,toiletTarry,playCellphone">
ez
<isSupportBVCorrectPassthrough>
<!--ro, opt, bool, whether the device supports transparent transmission of camera correction data, desc:related URI:
/ISAPI/System/BVCorrect/Passthrough/channels/<ID>/capabilities?format=json-->true
im
</isSupportBVCorrectPassthrough>
<VehiclePositionControl>
ng
<!--ro, opt, object, whether the device supports vehicle position arming-->
Aj
</license>
<intervalTime min="0" max="65535" def="1">
<!--ro, req, int, uploading interval, unit:s, attr:min{opt, string},max{opt, string},def{opt, string}-->1
</intervalTime>
</VehiclePositionControl>
<supportGISEvent opt="AID,TPS,ANPR,mixedTargetDetection">
<!--ro, opt, string, the capability of supporting getting the GIS information, attr:opt{opt, string}-->test
</supportGISEvent>
<isSupportGPSPTZCalibratation>
<!--ro, opt, bool, whether the device supports GPS PTZ calibration, desc:related URI: /ISAPI/System/GPSPTZCalibratation/channels/<ID>/points?
format=json-->true
</isSupportGPSPTZCalibratation>
<isSupportRadar>
<!--ro, opt, bool, whether the device supports radar functions, desc:related URI: /ISAPI/Radar/capabilities?format=json-->true
</isSupportRadar>
<isSupportISUPHttpPassthrough>
<!--ro, opt, bool, whether the device supports ISUPV5.0http transparent transmission-->true
</isSupportISUPHttpPassthrough>
<isSupportMaterialListQuery>
<!--ro, opt, bool, whether the device supports uploading the material list, desc:event: materialListQuery-->true
</isSupportMaterialListQuery>
<isSupportDebugLogAsync>
<!--ro, opt, bool, whether the device supports exporting the debugging log asynchronously-->true
<!--ro, opt, bool, whether the device supports exporting the debugging log asynchronously-->true
</isSupportDebugLogAsync>
<isSupportAlgorithmsInfo>
<!--ro, opt, bool, whether the device supports getting the algorithm version of the device-->true
</isSupportAlgorithmsInfo>
<isSupportSecurityChecking>
<!--ro, opt, bool, whether the device supports configuring security checking, desc:true (support); otherwise, not support-->true
</isSupportSecurityChecking>
<isSupportSecurityCheckException>
<!--ro, opt, bool, whether the device supports the security checking exception event, desc:eventType: securityCheckException-->true
</isSupportSecurityCheckException>
<isSupportPictureManage>
<!--ro, opt, bool, whether the device supports the device's picture management function, desc:related URI:
/ISAPI/System/isSupportPictureManage/capabilities?format=json-->true
</isSupportPictureManage>
<isSupportAutoSwitch>
<!--ro, opt, bool, whether the device supports automatically powering on and powering off, desc:related URI: /ISAPI/System/autoSwitch/capabilities?
m
format=json-->true
co
</isSupportAutoSwitch>
<SHMCap>
<!--ro, opt, object, SHM alarm-->
a.
<isSupportHighHDTemperature>
<!--ro, opt, bool, whether the device supports HDD high temperature detection, desc:eventType: highHDTemperature-->true
C. arc
</isSupportHighHDTemperature>
<isSupportLowHDTemperature>
<!--ro, opt, bool, whether the device supports HDD low temperature detection, desc:eventType: lowHDTemperature-->true
</isSupportLowHDTemperature>
<isSupportHDImpact>
s, em
<!--ro, opt, bool, whether the device supports HDD impact detection, desc:eventType: hdImpact-->true
A
</isSupportHDImpact>
no fr
<isSupportHDBadBlock>
<!--ro, opt, bool, whether the device supports HDD bad sector detection, desc:eventType: hdBadBlock-->true
</isSupportHDBadBlock>
ri on
<isSupportSevereHDFailure>
<!--ro, opt, bool, whether the device supports HDD major fault detection, desc:eventType: severeHDFailure-->true
</isSupportSevereHDFailure>
Ma oc
</SHMCap>
<isSupportLinkStatusEvent>
up
<!--ro, opt, bool, whether the device supports uploading the information about the device's network connection status, desc:eventType: linkEvent-->true
</isSupportLinkStatusEvent>
<isSupportVideoDealStatus>
co gr
<!--ro, opt, bool, whether the device supports uploading the information about the video data processing status, desc:eventType: videoDealStatus-->true
</isSupportVideoDealStatus>
<isSupportAudioDealStatus>
es a@
<!--ro, opt, bool, whether the device supports uploading the information about the audio data processing status, desc:eventType: audioDealStatus-->true
</isSupportAudioDealStatus>
Fr rc
<isSupportNetPackLossStatus>
s
<!--ro, opt, bool, whether the device supports uploading the information about the network lost package status, desc:eventType: netPacketLoss-->true
</isSupportNetPackLossStatus>
y ema
<isSupportVideoConferenceStatus>
<!--ro, opt, bool, whether the device supports uploading the information about the video conference status, desc:eventType: videoConference-->true
</isSupportVideoConferenceStatus>
<isSupportDataPrealarm>
os fr
<!--ro, opt, bool, whether the device supports network traffic pre-alarm event, desc:eventType: dataPrealarm-->true
</isSupportDataPrealarm>
<isSupportClearCache>
ad on
<!--ro, opt, bool, whether the device supports clearing the cache, desc:related URI: /ISAPI/System/clearCache?format=json-->true
</isSupportClearCache>
el .c
<isSupportIntelligentMode>
<!--ro, opt, bool, whether the device supports switching the intelligent mode, desc:related URI: /ISAPI/System/IntelligentMode?format=json-->true
</isSupportIntelligentMode>
ez
<isSupportFaceTemperatureMeasurementEvent>
<!--ro, opt, bool, whether the device supports the skin-surface temperature measurement event, desc:eventType: FaceTemperatureMeasurementEvent-->true
</isSupportFaceTemperatureMeasurementEvent>
en
<isSupportQRCodeEvent>
<!--ro, opt, bool, whether the device supports the QR code event, desc:eventType: QRCodeEvent-->true
</isSupportQRCodeEvent>
im
<isSupportVisitorEvent>
ng
<!--ro, opt, bool, whether the device supports the visitor event, desc:eventType: VisitorEvent-->true
Aj
</isSupportVisitorEvent>
<isSupportEmployeeAuthEvent>
Co
<!--ro, opt, bool, whether the device supports the employee authorization event, desc:eventType: EmployeeAuthEvent-->true
</isSupportEmployeeAuthEvent>
<isSupportVisitorInfoSearchEvent>
<!--ro, opt, bool, whether the device supports the visitor information search event, desc:eventType: VisitorInfoSearchEvent-->true
</isSupportVisitorInfoSearchEvent>
<isSupportConsumptionEvent>
<!--ro, opt, bool, whether the device supports the transaction record event, desc:eventType: ConsumptionEvent-->true
</isSupportConsumptionEvent>
<isSupportTransactionRecordEvent>
<!--ro, opt, bool, whether the device supports the transaction record event, desc:eventType: TransactionRecordEvent-->true
</isSupportTransactionRecordEvent>
<isSupportFaceContrastResultDisplay>
<!--ro, opt, bool, whether the device supports displaying the face picture comparison result, desc:related URI:
/ISAPI/Intelligent/faceContrast/resultDisplay/capabilities?format=json-->true
</isSupportFaceContrastResultDisplay>
<isSupportPatchUpgrade>
<!--ro, opt, bool-->true
</isSupportPatchUpgrade>
<isSupportSnapshotAsync>
<!--ro, opt, bool, whether the device supports capturing pictures asynchronously (the picture URL will be returned), desc:related URI:
/ISAPI/Streaming/channels/<ID>/picture/async?format=json-->true
</isSupportSnapshotAsync>
<isSupportLogExportByUSB>
<!--ro, opt, bool, exporting logs to PC from USB flash, desc:related URI: /ISAPI/System/exportUSBLog?format=json-->true
<!--ro, opt, bool, exporting logs to PC from USB flash, desc:related URI: /ISAPI/System/exportUSBLog?format=json-->true
</isSupportLogExportByUSB>
<isSupportShellCmd>
<!--ro, opt, bool, whether the device supports shell command control, desc:related URI: /ISAPI/System/shellCmd?format=json-->true
</isSupportShellCmd>
<faceMonitor opt="dailyFaceMonitor,dailyFaceTracking,VCAFaceMonitor,VCAFaceTracking,manualFaceMonitor,advanceConfiguration,">
<!--ro, opt, bool, whether the device supports face arming, attr:opt{opt, string}, desc:related URI: /ISAPI/Intelligent/channels/<ID>/dailyFaceMonitor?
format=json-->true
</faceMonitor>
<isSupportRelatedVCAResource>
<!--ro, opt, bool, whether the device supports the system-level intelligent resources configuration protocol, desc:related URI:
/ISAPI/System/RelatedVCAResource/capabilities?format=json; this protocol conficts with thew previous intelligent resources switch protocol-->true
</isSupportRelatedVCAResource>
<isSupportVehicleMonitor>
<!--ro, opt, bool, whether the device supports intelligent arming and tracking of vehicles, desc:related URI:
/ISAPI/Traffic/channels/<ID>/vehicleMonitor/capabilities?format=json-->true
m
</isSupportVehicleMonitor>
<isSupportManualVehicleMonitor>
co
<!--ro, opt, bool, whether the device supports manual arming and tracking of vehicles, desc:related URI:
/ISAPI/Traffic/channels/<ID>/vehicleMonitor/manual/capabilitis?format=json-->true
a.
</isSupportManualVehicleMonitor>
<isSupportDailyVehicleMonitor>
<!--ro, opt, bool, whether the device supports daily arming and tracking of vehicles, desc:related URI:
C. arc
/ISAPI/Traffic/channels/<ID>/vehicleDetect/capabilities-->true
</isSupportDailyVehicleMonitor>
<isSupportInputProxyDeviceInfo>
<!--ro, opt, bool, whether the device supports getting the information of the devices added to the proxy device channel, desc:related URI:
s, em
/ISAPI/ContentMgmt/InputProxy/channels/<ID>/capabilities-->true
</isSupportInputProxyDeviceInfo>
A
<isSupportAccessControlCap>
no fr
<!--ro, opt, bool, access control capability, desc:related URI: /ISAPI/AccessControl/capabilities-->true
</isSupportAccessControlCap>
ri on
<isSupportDebugLog>
<!--ro, opt, bool, whether the device supports exporting the debugging log, desc:related URI: /ISAPI/System/debugLog?format=json-->true
</isSupportDebugLog>
Ma oc
<isSupportFaceAppear>
<!--ro, opt, bool, whether the device supports face appearing detection event, desc:eventType: faceAppear-->true
</isSupportFaceAppear>
up
<isSupportFaceDisappear>
<!--ro, opt, bool, whether the device supports face disappearing detection event, desc:eventType: faceDisappear-->true
co gr
</isSupportFaceDisappear>
<isSupportTeacherBehavior>
<!--ro, opt, bool, whether the device supports the abnormal event detection of teachers, desc:eventType: teacherBehavior-->true
es a@
</isSupportTeacherBehavior>
<isSupportHeadRiseRate>
<!--ro, opt, bool, whether the device supports face appearing detection event, desc:eventType: headRiseRate-->true
Fr rc
</isSupportHeadRiseRate>
<isSupportIPCUpgrade>
<!--ro, opt, bool, whether the device supports upgrading IPC via NVR and other devices, desc:related URI: /ISAPI/System/IPCUpgrade/<ID>?format=json--
y ema
>true
</isSupportIPCUpgrade>
<isSupportFaceLibRebuildEvent>
<!--ro, opt, bool, whether the device supports uploading the modeling rebuilding of the face picture library event, desc:eventType: faceLibRebuild--
os fr
>true
</isSupportFaceLibRebuildEvent>
ad on
<isSupportCalibrationStream>
<!--ro, opt, bool, supported capability of calibration stream, desc:related URI: /ISAPI/Streaming/calibStream/capabilities?format=json-->true
</isSupportCalibrationStream>
el .c
<isSupportChannelOccupy>
<!--ro, opt, bool, whether the device supports outdoor fire engine access occupied by vehicles, desc:eventType: channelOccupy-->true
</isSupportChannelOccupy>
ez
<isSupportOffDuty>
<!--ro, opt, bool, whether to support fire control room person absence detection, desc:eventType: offDuty-->true
en
</isSupportOffDuty>
<isSupportNoCertificate>
<!--ro, opt, bool, whether to support fire control room person without certificate detection, desc:eventType: noCertificate-->true
im
</isSupportNoCertificate>
<isSupportSmokeAlarm>
ng
<!--ro, opt, bool, whether the device supports smoke alarm, desc:eventType: smokeAlarm-->true
Aj
</isSupportSmokeAlarm>
Co
<isSupportBatteryCarDisobey>
<!--ro, opt, bool, whether to support illegal parking detection of electric moped, desc:eventType: batteryCarDisobey-->true
</isSupportBatteryCarDisobey>
<isSupportNoFireExtinguisherRecog>
<!--ro, opt, bool, whether to support fire extinguisher loss detection, desc:eventType: noFireExtinguisherRecog-->true
</isSupportNoFireExtinguisherRecog>
<isSupportIndoorPasswayBlock>
<!--ro, opt, bool, whether to support indoor access blocking detection, desc:eventType: indoorPasswayBlock-->true
</isSupportIndoorPasswayBlock>
<isSupportFireSmartFireDetect>
<!--ro, opt, bool, whether the device supports fire detection, desc:eventType: fireSmartFireDetect-->true
</isSupportFireSmartFireDetect>
<isSupportDetectorRunningStatus>
<!--ro, opt, bool, whether the device supports getting the detector running status, desc:eventType: detectorRunningStatus-->true
</isSupportDetectorRunningStatus>
<isSupportDetectorOperationStatus>
<!--ro, opt, bool, whether the device supports getting the detector operation status, desc:eventType: detectorOperationStatus-->true
</isSupportDetectorOperationStatus>
<isSupportDetectorTemperatureAlarm opt="highTemperature,riseTemperature,flame">
<!--ro, opt, bool, whether the device supports the detector temperature alarm, attr:opt{req, string}-->true
</isSupportDetectorTemperatureAlarm>
<isSupportDetectorShelterAlarm>
<!--ro, opt, bool, whether to support detector sheltering alarm, desc:eventType: detectorShelterAlarm-->true
</isSupportDetectorShelterAlarm>
</isSupportDetectorShelterAlarm>
<isSupportDetectorMotionAlarm>
<!--ro, opt, bool, whether the device supports the detector moving alarm, desc:eventType: detectorMotionAlarm-->true
</isSupportDetectorMotionAlarm>
<isSupportDetectorTamperAlarm>
<!--ro, opt, bool, whether to support detector tampering alarm, desc:eventType: detectorTamperAlarm-->true
</isSupportDetectorTamperAlarm>
<isSupportDetectorEmergencyAlarm>
<!--ro, opt, bool, whether the device supports the detector emergency alarm, desc:eventType: detectorEmergencyAlarm-->true
</isSupportDetectorEmergencyAlarm>
<isSupportDetectorSmokeAlarm>
<!--ro, opt, bool, whether the device supports the detector smoke alarm, desc:eventType: detectorSmokeAlarm-->true
</isSupportDetectorSmokeAlarm>
<isSupportDetectorCombustibleGasAlarm>
<!--ro, opt, bool, whether the device supports the detector combustible gas alarm, desc:eventType: detectorCombustibleGasAlarm-->true
</isSupportDetectorCombustibleGasAlarm>
<isSupportFireControlData>
m
<!--ro, opt, bool, whether to support rreal-time fire control data uploading, desc:eventType:FireControlData-->true
co
</isSupportFireControlData>
<isSupportFireNoRegulation>
<!--ro, opt, bool, whether to support people leaving event uploading, desc:eventType: fireNoRegulation-->true
a.
</isSupportFireNoRegulation>
<isSupportSmokeFireRecognize>
C. arc
<!--ro, opt, bool, whether to support smoke and fire recognization event uploading, desc:eventType: smokeFireRecognize-->true
</isSupportSmokeFireRecognize>
<isSupportClientProxyWEB>
<!--ro, opt, bool, whether to support WEB page jumping,
s, em
desc:the function of going to the web page
package the web program and plug-in into the client (for example, iVMS-4200) for going to the web page it is mainly used in such a scenario: the device
A
removes the web-related resources as the limit of resources, so it does not support operations on the web browser-->true
no fr
</isSupportClientProxyWEB>
<WEBLocation>
<!--ro, opt, string, WEB page placement location, range:[1,32], desc:local-local server, remote-remote server; (if this node is not returned, the WEB
ri on
page will be placed in the local server by default)-->local
</WEBLocation>
Ma oc
<isSupportWEBLocalPlug>
<!--ro, opt, bool, whether to support local download of web plug-in, desc:true-yes (by default), false-no; when this node is not returned, it is
supported by default-->true
up
</isSupportWEBLocalPlug>
<deviceId>
<!--ro, opt, string, device ID, range:[1,32], desc:if WEBLocation is "remote", the unique device ID should be returned to identify the unique
co gr
corresponding web package. This device ID is managed by the Web configuration package. For a specified device of different versions, the same deviceID will
be returned-->test
</deviceId>
es a@
<isSupportTimeZone>
<!--ro, opt, bool, whether the device supports configuring the DST (Daylight Saving Time), desc:related URI: /ISAPI/System/time/timeZone-->true
Fr rc
</isSupportTimeZone>
s
<isSptHealthDetection>
<!--ro, opt, bool, whether the device supports health monitoring, desc:related URI: /ISAPI/System/healthDetection-->true
y ema
</isSptHealthDetection>
<isSptDiagnosis>
<!--ro, opt, bool, whether the device supports diagnosis, desc:related URI: /ISAPI/System/diagnosis-->true
</isSptDiagnosis>
os fr
<isSptSerialLogCfg>
<!--ro, opt, bool, whether the device supports configuring parameters of serial port log redirection, desc:related URI: /ISAPI/System/serialLogCfg?
format=json-->true
ad on
</isSptSerialLogCfg>
<isSptFileExport>
el .c
<!--ro, opt, bool, whether the device supports exporting the device file, desc:related URI: /ISAPI/System/fileExport?format=json-->true
</isSptFileExport>
<isSptCertificationStandard>
ez
<!--ro, opt, bool, whether the device supports configuring host verification standard, desc:related URI: /ISAPI/SecurityCP/certificationStandard-->true
</isSptCertificationStandard>
<isSptKeypadLock>
en
<!--ro, opt, bool, whether the device supports locking the keypad, desc:related URI: /ISAPI/System/keypadLock/config-->true
</isSptKeypadLock>
im
<isSupportVibrationDetection>
<!--ro, opt, bool, whether the device supports the vibration detection, desc:related URI: /ISAPI/System/channels/<ID>/vibrationDetection?format=json--
ng
>true
Aj
</isSupportVibrationDetection>
<isSupportSmokingDetectAlarm>
Co
<!--ro, opt, bool, whether the device supports the smoking alarm, desc:eventType: smokeDetectAlarm-->true
</isSupportSmokingDetectAlarm>
<isSupportRadarChannels>
<!--ro, opt, bool, whether the device supports getting the radar channel, desc:related URI: /ISAPI/System/RadarChannels?format=json-->true
</isSupportRadarChannels>
<radarIPDForm>
<!--ro, opt, enum, radar-camera status, subType:string, desc:"single" (single radar); "double_diagonal" (double radars arranged diagonally);
"double_vertical" (double radars arranged vertically)-->single
</radarIPDForm>
<isSupportRadarFieldDetection>
<!--ro, opt, bool, whether the device supports radar's area intrusion detection, desc:related URI:
/ISAPI/Smart/RadarChannels/<radarChannelID>/radarFieldDetection/capabilities?format=json-->true
</isSupportRadarFieldDetection>
<isSupportRadarLineDetection>
<!--ro, opt, bool, whether the device supports radar's line crossing detection, desc:related URI:
/ISAPI/Smart/RadarChannels/<radarChannelID>/radarLineDetection/capabilities?format=json-->true
</isSupportRadarLineDetection>
<mixedTargetDetectionWebNoDisplay>
<!--ro, opt, bool, multiple targets recognition is not displayed-->true
</mixedTargetDetectionWebNoDisplay>
<isSupportRemovePlaybackRecord>
<!--ro, opt, bool, whether to support removing playback (the device does not support playback), desc:if this function is supported, this node will be
returned and its value is true; otherwise, this node will not be returned. This node will be returned when the value of isSupportRemoveStorage is true;
otherwise, this node will not be returned-->true
</isSupportRemovePlaybackRecord>
<isSupportAudioUpload>
<!--ro, opt, bool, whether the device supports uploading the audio file, desc:related URI: /ISAPI/System/Audio/audioUpload?format=json-->true
</isSupportAudioUpload>
<VCAResourceList>
<!--ro, opt, array, supported smart resources list, subType:object-->
<VCAResource>
<!--ro, opt, object, smart resources-->
<VCAResourceType>
<!--ro, opt, string, smart resources type-->test
</VCAResourceType>
<ChannleVCAResourceList>
<!--ro, opt, array, supported smart resources list, subType:object-->
<ChannleVCAResource>
<!--ro, opt, object, smart channel resources-->
m
<channel>
co
<!--ro, opt, int, channel No.-->1
</channel>
<channleVCAResourceType>
a.
<!--ro, opt, string, smart channel resources type-->test
</channleVCAResourceType>
</ChannleVCAResource>
C. arc
</ChannleVCAResourceList>
</VCAResource>
</VCAResourceList>
<isSupportSlotInsertion>
s, em
<!--ro, opt, bool, whether to support slot plugging in and out, desc:eventType: slotInsertion-->true
</isSupportSlotInsertion>
A
<isSupportNetworkLoop>
no fr
<!--ro, opt, bool, whether to support network loop alarm, desc:eventType: networkLoop-->true
</isSupportNetworkLoop>
ri on
<isSupportApOnOffLine>
<!--ro, opt, bool, whether to support AP online and offline alarm event uploading, desc:eventType: apOnOffLine-->true
</isSupportApOnOffLine>
Ma oc
<isSupportAbnormalWANPort>
<!--ro, opt, bool, whether to support WAN abnormal alarm event uploading, desc:eventType: abnormalWANPort-->true
</isSupportAbnormalWANPort>
up
<isSupportAPException>
<!--ro, opt, bool, whether to support AP exception alarm information uploading, desc:eventType: APException-->true
co gr
</isSupportAPException>
<isSupportACException>
<!--ro, opt, bool, whether to support AC exception alarm information uploading, desc:eventType: ACException-->true
es a@
</isSupportACException>
<isSupportCartridgeCapacity>
<!--ro, opt, bool, whether the device supports the configuration of notifying cartridge capacity, desc:related URL:
Fr rc
/ISAPI/System/printer/cartridgeCapacity/capabilities?format=json-->true
</isSupportCartridgeCapacity>
y ema
<isSupportCDCakeBoxCapacity>
<!--ro, opt, bool, whether the device supports notifying CD capacity, desc:related URL: /ISAPI/System/printer/CDCakeBoxCapacity/capabilities?
format=json-->true
</isSupportCDCakeBoxCapacity>
os fr
<isSupportSleep>
<!--ro, opt, bool, whether the device supports configuring sleep, desc:related URL: /ISAPI/System/sleep/capabilities?format=json-->true
</isSupportSleep>
ad on
<isSupportContainerDetection>
<!--ro, opt, bool, whether the device supports container detection, desc:/ISAPI/Intelligent/containerDetection/capabilities?format=json (for devices
that does not return this node, you can check according to the node returned by the following protocol:
el .c
/ISAPI/Traffic/ContentMgmt/InputProxy/channels/<ID>/ocrScene/capabilities)-->true
</isSupportContainerDetection>
ez
<isSupportRadarVideoDetection>
<!--ro, opt, bool, related URI: /ISAPI/Intelligent/channels/<ID>/radarVideoDetection/capabilities?format=json, desc:related URI:
/ISAPI/Intelligent/channels/<ID>/radarVideoDetection/capabilities?format=json-->true
en
</isSupportRadarVideoDetection>
<isSupportRadarVideoDetectionRealtime>
<!--ro, opt, bool, whether the device supports radar video detection, desc:related URI:
im
/ISAPI/Intelligent/channels/<ID>/radarVideoDetection/capabilities?format=json-->true
</isSupportRadarVideoDetectionRealtime>
ng
<isSupportBatteryStatusUpload>
Aj
<!--ro, opt, bool, whether the device supports uploading the battery status, desc:eventType: batteryStatus-->true
Co
</isSupportBatteryStatusUpload>
<isSupportPowerConsumptionStatusUpload>
<!--ro, opt, bool, whether the device supports uploading device consumption status-->true
</isSupportPowerConsumptionStatusUpload>
<isSupportOnlineUpgradeTask>
<!--ro, opt, bool, whether device online upgrading is supported-->true
</isSupportOnlineUpgradeTask>
<isSupportPersonArmingTrack>
<!--ro, opt, bool, whether the device supports person arming configuration, desc:related URI:
/ISAPI/Intelligent/channels/<ID>/personArmingTrack/capabilities?format=json-->true
</isSupportPersonArmingTrack>
<isSupportManualPersonArmingTrack>
<!--ro, opt, bool, whether the device supports manual person arming, desc:related URI: /ISAPI/Intelligent/channels/<ID>/manualPersonArmingTrack?
format=json-->true
</isSupportManualPersonArmingTrack>
<isSupportGPSVerification>
<!--ro, opt, bool, whether the device supports GPS verification points, desc:related URI: /ISAPI/System/GPSVerification/channels/<ID>/points?
format=json-->true
</isSupportGPSVerification>
<isSupportHBDLib>
<!--ro, opt, bool, whether the device supports the human body library, desc:related URI: /ISAPI/Intelligent/HBDLib/capabilities?format=json-->true
</isSupportHBDLib>
<isSupportDisinfectionInfo>
<!--ro, opt, bool, whether the device supports uploading disinfection information, desc:eventType: disinfectionInfo-->true
<!--ro, opt, bool, whether the device supports uploading disinfection information, desc:eventType: disinfectionInfo-->true
</isSupportDisinfectionInfo>
<isSupportTempQueryDelete>
<!--ro, opt, bool, whether the device supports deleting temperature query, desc:eventType: tempQueryDelete-->true
</isSupportTempQueryDelete>
<isSupportMobilePayment>
<!--ro, opt, bool, whether the device supports mobile payment, desc:/ISAPI/System/mobilePayment?format=json-->true
</isSupportMobilePayment>
<isSupportFileSearch>
<!--ro, opt, bool, whether the device supports searching files, desc:related URI: /ISAPI/System/fileSearch?format=json-->true
</isSupportFileSearch>
<isSupportFileExportAsync>
<!--ro, opt, bool, whether the device supports exporting files asynchronously, desc:related URI: /ISAPI/System/fileExport/async?format=json-->true
</isSupportFileExportAsync>
<isSupportSSDFileSystemCapacity>
<!--ro, opt, bool, whether the device supports getting the capacity distribution of the SSD system, desc:related URI:
m
/ISAPI/System/SSDFileSystem/capacity?format=json-->true
</isSupportSSDFileSystemCapacity>
co
<isSupport4GSafetyHelmetInfo>
<!--ro, opt, bool, whether the device supports the hard hat event, desc:eventType: 4GSafetyHelmetInfo-->true
</isSupport4GSafetyHelmetInfo>
a.
<isSupportICCID>
<!--ro, opt, bool, whether the device supports getting the ICCID information, desc:related URI: /ISAPI/System/deviceInfo/ICCID?format=json-->true
C. arc
</isSupportICCID>
<isSupportFireEscapeDetection>
<!--ro, opt, bool, whether the device supports fire escape detection, desc:related URI:
/ISAPI/Intelligent/channels/<ID>/fireEscapeDetection/capabilities?format=json-->true
s, em
</isSupportFireEscapeDetection>
<isSupportTakingElevatorDetection>
A
<!--ro, opt, bool, whether the device supports taking elevator detection, desc:related URI:
no fr
/ISAPI/Intelligent/channels/<ID>/takingElevatorDetection/capabilities?format=json-->true
</isSupportTakingElevatorDetection>
<isSupportVehicleMatchResult>
ri on
<!--ro, opt, bool, whether the device supports license plate comparison, desc:related URI:
/ISAPI/Intelligent/channels/<ID>/licensePlateContrast/capabilities?format=json-->true
Ma oc
</isSupportVehicleMatchResult>
<isSupportDataAware>
<!--ro, opt, bool, the data aware capability, desc:related URI: /ISAPI/System/dataAware/capabilities?format=json-->true
up
</isSupportDataAware>
<isSupportAbnormalReboot>
<!--ro, opt, bool, whether the device supports abnormal reboot event, desc:eventType: abnormalReboot-->true
co gr
</isSupportAbnormalReboot>
<isSupportVehicleThermometry>
es a@
<!--ro, opt, bool, whether the device supports vehicle temperature measurement detection, desc:related URI:
/ISAPI/Traffic/channels/<ID>/vehicleDetect/thermometry/capabilities?format=json-->true
</isSupportVehicleThermometry>
Fr rc
<AssociationScenesList>
s
<!--ro, opt, array, the list of scene adaptive linkage, subType:object, desc:it indicates the device supports the scene adaptive linkage between
channels. The current device has two channels: main channel (box camera) and sub channel (radar camera), however, the device only opens a main channel to
y ema
users for scene configuration; the scene configuration of the sub channel is not open for the users; the scene of the sub channel is automatically connected
to the main channel scene; currently, the front-end returns this capability-->
<AssociationScenes>
<!--ro, req, object, the channel list of scene adaptive linkage between channels-->
os fr
<channelID>
<!--ro, req, int, supported scene channel ID, desc:supported scene channel ID-->1
</channelID>
ad on
<isSupportScene>
<!--ro, opt, bool, whether the device supports the scene configuration, desc:whether the current channel is the main channel and supports scene
el .c
configuration , true (main channel and support), this node is not returned (sub channel and not support)-->true
</isSupportScene>
</AssociationScenes>
ez
</AssociationScenesList>
<supportRelationVideoEvent opt="PIR,cityManagement,roadMaint">
<!--ro, opt, string, supports uploading the video of linking triggering event, attr:opt{req, string}, desc:PIR#PIR event, cityManagement#city management
en
<isSupportVCAResourceList>
<!--ro, opt, bool, whether the device supports configuring intelligent resources in a batch, desc:related URI:
ng
/ISAPI/System/Video/inputs/channels/VCAResourceList?format=json-->true
Aj
</isSupportVCAResourceList>
<isSupportConvergenceCloud>
Co
<!--ro, opt, bool, whether the device supports the URI for EZ interconnection channels, desc:URI for capability of all channels:
/ISAPI/Event/convergenceCloud/channels/capabilities?format=json; URI for capability of specified channel:
/ISAPI/Event/convergenceCloud/channels/<ID>/capabilities?format=json-->true
</isSupportConvergenceCloud>
<isSupportInterconnection>
<!--ro, opt, bool, whether the device supports the URI for EZ interconnection devices, desc:related URI: /ISAPI/Event/convergenceCloud/capabilities?
format=json-->true
</isSupportInterconnection>
<isSupportHPVehicleStatus>
<!--ro, opt, bool, whether the device supports the platform vehicle status event, desc:eventType: HPVehicleStatus-->true
</isSupportHPVehicleStatus>
<isSupportHPWorkingStatus>
<!--ro, opt, bool, whether the device supports the scheduled platform working status event, desc:eventType: HPWorkingStatus-->true
</isSupportHPWorkingStatus>
<isSupportHPPeopleDetection>
<!--ro, opt, bool, whether the device supports the platform people detection event, desc:eventType: HPPeopleDetection-->true
</isSupportHPPeopleDetection>
<isSupportHPVehicleDoorDetection>
<!--ro, opt, bool, whether the device supports the platform door detection event, desc:eventType: HPVehicleDoorDetection-->true
</isSupportHPVehicleDoorDetection>
<isSupportRoadMaint>
<!--ro, opt, bool, whether the device supports road maintenance, desc:related URI: /ISAPI/Intelligent/channels/<ID>/roadMaint?format=json-->true
</isSupportRoadMaint>
<isSupportDockStationInfo>
<!--ro, opt, bool, whether the device supports the event of uploading the dock station information to the media, desc:eventType: dockStationInfo; this
node is not returned if not supported-->true
</isSupportDockStationInfo>
<isSupportBodyCameraManualForensics>
<!--ro, opt, bool, whether the device supports the event of uploading the manual evidence information of the body camera, desc:eventType:
bodyCameraManualForensics; this node is not returned if not supported-->true
</isSupportBodyCameraManualForensics>
<isSupportBodyCameraLogin>
<!--ro, opt, bool, whether the device supports the police logging in to the body camera event, desc:eventType: bodyCameraLogin; this node is not
returned if not supported-->true
</isSupportBodyCameraLogin>
<isSupportBodyCameraRunStatus>
<!--ro, opt, bool, whether the device supports the status of body camera, desc:eventType: bodyCameraRunStatus; this node is not returned if not
supported-->true
</isSupportBodyCameraRunStatus>
m
<isSupportBodyCameraSignIn>
co
<!--ro, opt, bool, whether the device supports the police of the body camera signing in, desc:eventType: bodyCameraSignIn; this node is not returned if
not supported-->true
</isSupportBodyCameraSignIn>
a.
<isSupportAlertDistribution>
<!--ro, opt, bool, whether the device supports the alert distribution, desc:eventType: alertDistribution; this node is not returned if not supported--
>true
C. arc
</isSupportAlertDistribution>
<isSupportImageCapture>
<!--ro, opt, bool, whether the device supports the event of scheduled capture, desc:related URI: /ISAPI/System/Video/inputs/channels/<ID>/imageCapture?
format=json-->true
s, em
</isSupportImageCapture>
A
<isSupportScheduledRecordUpload>
no fr
<!--ro, opt, bool, whether the device supports the event of channel scheduled recording, desc:related URI:
/ISAPI/System/Video/inputs/channels/<ID>/scheduledRecordUpload?format=json-->true
</isSupportScheduledRecordUpload>
ri on
<isSupportTargetPatternCollect>
<!--ro, opt, bool, whether the device supports the target track collection event, desc:eventType: targetPatternCollect-->true
</isSupportTargetPatternCollect>
Ma oc
<isSupportAudioAnalysis>
<!--ro, opt, bool, whether the device supports the audio analysis event, desc:eventType: audioAnalysis; this node is not returned if not supported--
up
>true
</isSupportAudioAnalysis>
<isSupportDebuggingDataExport>
co gr
<!--ro, opt, bool, whether the device supports importing the parameters (in-out parameters, rule configuration parameters), desc:related URI:
/ISAPI/System/debuggingData/parameters?format=json; this node is not returned if not supported-->true
</isSupportDebuggingDataExport>
es a@
<isSupportInternalParaAdjust>
<!--ro, opt, bool, whether the device supports trinocular device; whether the device supports editing in-parameters, desc:related URI:
/ISAPI/System/internalParameters/adjustment?format=json; this node is not returned if not supported-->true
Fr rc
</isSupportInternalParaAdjust>
<isSupportManualImageCapture>
y ema
<!--ro, opt, bool, whether the device supports manual capture of the video channel, desc:related URI:
/ISAPI/System/Video/inputs/channels/<ID>/manualImageCapture?format=json; this node is not returned if not supported-->true
</isSupportManualImageCapture>
<characteristicCode min="1" max="128">
os fr
<!--ro, opt, string, device attribute code, range:[1,128], attr:min{opt, string},max{opt, string}, desc:related URI:
/ISAPI/System/deviceInfo/characteristicCode?format=json-->test
</characteristicCode>
ad on
<isSupportSIMCardStatus>
<!--ro, opt, bool, whether the device supports getting the information of SIM card status, desc:related URI: /ISAPI/System/SIMCardStatus?format=json--
>true
el .c
</isSupportSIMCardStatus>
<OpenPlatformCap>
ez
<!--ro, opt, object, detailed HEOP capability supported by the device, desc:related URI: /ISAPI/Custom/OpenPlatform/capabilities-->
<isSupportOpenPlatform>
<!--ro, req, bool, whether the device supports HEOP (Embedded Open Platform)-->true
en
</isSupportOpenPlatform>
<maxAPPNum>
<!--ro, req, int, the maximum number of third-party application programs allowed to be installed-->0
im
</maxAPPNum>
ng
</OpenPlatformCap>
Aj
<isSupportLogException>
<!--ro, opt, bool, whether the device supports the log exception alarm, desc:eventType: logException-->true
Co
</isSupportLogException>
<isSupportMEF>
<!--ro, opt, bool, whether the device supports Mobile electronic fence - mobile electronic fence data detection, desc:related URI:
/ISAPI/System/Network/MEF/<ID>?format=json-->true
</isSupportMEF>
<manualEvent opt="fielddetection,linedetection,ANPR,faceCapture,mixedTargetDetection,studentsStoodUp,headRiseRate,teacherBehavior">
<!--ro, opt, string, whether the device supports URI for mannual triggering event, attr:opt{req, string}, desc:related URI:
/ISAPI/Intelligent/channels/<ID>/manualEvent/<eventType>?format=json-->test
</manualEvent>
<isSupportAppCfg>
<!--ro, opt, bool, whether the device supports application management, desc:related URI: /ISAPI/System/app/capabilities?format=json-->true
</isSupportAppCfg>
<isSupportCleanUp>
<!--ro, opt, bool, whether the device supports one-push clearing, desc:related URI: /ISAPI/System/cleanup?format=json-->true
</isSupportCleanUp>
<isSupportEndUserCheckMsg opt="sleep,reboot,factoryReset,cleanup,parentPickUpQuery,schoolAttendanceQuery,screenShare,screenMirror">
<!--ro, opt, bool, whether the device supports uploading the confirmation information of end users, attr:opt{req, string}, desc:eventType:
endUserCheckMsg-->true
</isSupportEndUserCheckMsg>
<isSupportScreenConfig>
<!--ro, opt, bool, whether the device supports configuring screen parameters, desc:related URI: /ISAPI/System/screenConfig/capabilities?format=json--
>true
</isSupportScreenConfig>
<isSupportTemperatureMonitor>
<isSupportTemperatureMonitor>
<!--ro, opt, bool, whether the device supports temperature monitoring configuration, desc:related URI: /ISAPI/System/temperatureMonitor/capabilities?
format=json-->true
</isSupportTemperatureMonitor>
<isSupportObjectServer>
<!--ro, opt, bool, whether the device supports the object storage service, desc:related URI: /ISAPI/System/objectServer/capabilities?format=json-->true
</isSupportObjectServer>
<isSupportCDsStatus>
<!--ro, opt, bool, whether the device supports notifying disk status, desc:related URI for enabling the function: the bEnableCDsStatus node of
/ISAPI/Trial/roompara/capabilities; corresponding event: CDsStatus-->true
</isSupportCDsStatus>
<isSupportCoalGangueDetection>
<!--ro, opt, bool, whether the device supports coal gangue detection, desc:related URI: /ISAPI/Intelligent/channels/<channelID>/coalGangueDetection;
this node is not returned if not supported-->true
</isSupportCoalGangueDetection>
<isSupportVacantSeatRate>
m
<!--ro, opt, bool, whether the device supports seat vacancy detection, desc:related URI: /ISAPI/Intelligent/channels/<channelID>/vacantSeatRate?
format=json; corresponding event: VacantSeatRate; this node is not returned if not supported-->true
co
</isSupportVacantSeatRate>
<isSupportObjectsThrownDetection>
a.
<!--ro, opt, bool, whether the device supports objects thrown detection, desc:related URI:
/ISAPI/Intelligent/channels/<channelID>/objectsThrownDetection?format=json; corresponding event: objectsThrownDetection; this node is not returned if not
supported-->true
C. arc
</isSupportObjectsThrownDetection>
<isSupportBVCorrectDataSearch>
<!--ro, opt, bool, whether the device supports searching for the parameters of camera correction, desc:related URI: /ISAPI/System/BVCorrectData/search?
format=json; this node is not returned if not supported-->true
s, em
</isSupportBVCorrectDataSearch>
<isSupportSlagTruckWashingDetection>
A
<!--ro, opt, bool, whether the device supports slag truck washing detection, desc:eventType: slagTruckWashingDetection-->true
no fr
</isSupportSlagTruckWashingDetection>
<isSupportWOL>
ri on
<!--ro, opt, bool, whether the device supports configuring the LAN wakeup parameters, desc:it can be realized via the WOL (Wake On-Lan) function.
Related URL: /ISAPI/System/WOL/capabilities?format=json-->true
</isSupportWOL>
Ma oc
<isSupportPersonQueueTimingStatistics>
<!--ro, opt, bool, whether the device supports schedule person queue counting statistics, desc:eventType: isSupportPersonQueueTimingStatistics-->true
</isSupportPersonQueueTimingStatistics>
up
<isSupportLensParamFile>
<!--ro, opt, bool, whether the device supports importing and exporting camera parameters files-->true
</isSupportLensParamFile>
co gr
<isSupportVehiclePassingInParkingLot>
<!--ro, opt, bool, whether the device supports the detection of vehicle passing in parking lot entrance and exit, desc:eventType:
es a@
vehiclePassingInParkingLot-->true
</isSupportVehiclePassingInParkingLot>
<isSupportPowerOutput>
Fr rc
<!--ro, opt, bool, whether power supply output configuration is supported, desc:related URL: /ISAPI/System/powerOutput/capabilities?format=json-->true
</isSupportPowerOutput>
<isSupportIPCUpgradeByFTP>
y ema
<!--ro, opt, bool, it indicates that the device supports upgrading the proxy device channel, such as IPC upgrade via NVR, desc:related URI:
/ISAPI/System/IPCUpgrade/<channelID>/FTP?format=json&security=<security>&iv=<iv>-->true
</isSupportIPCUpgradeByFTP>
<isSupportMethaneConcentrationException>
os fr
<!--ro, opt, bool, whether the device supports methane concentration exception detection, desc:eventType: methaneConcentrationException-->true
</isSupportMethaneConcentrationException>
ad on
<isSupportMethaneLightIntensityException>
<!--ro, opt, bool, whether the device supports methane light intensity exception detection, desc:eventType: methaneLightIntensityException-->true
</isSupportMethaneLightIntensityException>
el .c
<isSupportLocalButtonPermission>
<!--ro, opt, bool, whether the device supports controlling local button permission, desc:related URI: /ISAPI/System/localButtonPermission/capabilities?
format=json-->true
ez
</isSupportLocalButtonPermission>
<isSupportLocalButtonRecord>
en
<!--ro, opt, bool, whether the device supports button triggering record, desc:eventType: localButtonRecord-->true
</isSupportLocalButtonRecord>
<isSupportLocalButtonSnapshot>
im
<!--ro, opt, bool, whether the device supports button triggering snapshot, desc:eventType: localButtonSnapshot-->true
</isSupportLocalButtonSnapshot>
ng
<isSupportVoiceTalkEvent>
Aj
<!--ro, opt, bool, whether the device supports voice talk, desc:eventType: voiceTalkEvent-->true
</isSupportVoiceTalkEvent>
Co
<isSupportPowerSupply>
<!--ro, opt, bool, whether the device supports external power supply, desc:related URI: /ISAPI/System/powerSupply/capabilities?format=json-->true
</isSupportPowerSupply>
<isSupportbarrierGateStatus>
<!--ro, opt, bool, whether the device supports barrier gate status, desc:eventType: barrierGateStatus-->true
</isSupportbarrierGateStatus>
<DeployCap>
<!--ro, opt, object, the capability of alarm non-subscription parameters-->
<deployID opt="1,2">
<!--ro, opt, enum, arming type, subType:int, attr:opt{req, string}, desc:0-device alarm; 1-real-time alarm-->0
</deployID>
</DeployCap>
<isSupportSignalControllerStatus>
<!--ro, opt, bool, whether the device supports uploading the signal controller status, desc:eventType: signalControllerStatus-->true
</isSupportSignalControllerStatus>
<isSupportSignalControllerFault>
<!--ro, opt, bool, whether the device supports uploading the signal controller fault, desc:eventType: signalControllerFault-->true
</isSupportSignalControllerFault>
<isSupportNTPConfig>
<!--ro, opt, bool, whether the device supports configuring NTP parameters, desc:/ISAPI/System/time/ntp/capabilities?format=json-->true
</isSupportNTPConfig>
<isSupportConsumptionQuery>
<!--ro, opt, bool, whether the device supports uploading the request for searching for consumption, desc:eventType: ConsumptionQuery-->true
<!--ro, opt, bool, whether the device supports uploading the request for searching for consumption, desc:eventType: ConsumptionQuery-->true
</isSupportConsumptionQuery>
<StreamingCodingRegionPositionCap>
<!--ro, opt, object, whether the device supports getting all stream splice area positions information capability,
desc:/ISAPI/System/streamingCoding/channels/<channelID>/regionPosition-->
<ChannelsList>
<!--ro, opt, array, channel list, subType:object-->
<channelsID>
<!--ro, req, int, No. of channels supported by the device-->1
</channelsID>
</ChannelsList>
</StreamingCodingRegionPositionCap>
<isSupportLowPowerPlan>
<!--ro, opt, bool, whether the device supports configuring low consumption mode schedule, desc:related URI:
/ISAPI/System/consumptionMode/lowPowerPlan/capablities?format=json-->true
</isSupportLowPowerPlan>
<isSupportPlateQuaAlarm>
m
<!--ro, opt, bool, whether the device supports plate quality detection, desc:eventType: plateQuaAlarm-->true
co
</isSupportPlateQuaAlarm>
<isSupportWiegand>
<!--ro, opt, bool, whether the device supports the Wiegand protocol, desc:related URI: /ISAPI/System/Wiegand/<wiegandID>/capabilities?format=json-->true
a.
</isSupportWiegand>
<zoomFocusWebDisplay
C. arc
opt="ROI,roadTrafficDetection,SMD,mixedTargetDetection,faceCapture,personCounting,multidimensionalPeopleCounting,AIOP,heelPDC,packingSpaceRecognition,tunnel
Detection,cityManagement">
<!--ro, opt, string, whether the web supports displaying the zoomfocus page, attr:opt{req, string},
desc:ROI page path: Configuration—Vedio/Audio—ROI
roadTrafficDetection:Configuration—Road Traffic—Detection Configuration; SMD; mixedTargetDetection; faceCapture-->ROI
s, em
</zoomFocusWebDisplay>
A
<isSupportInternalParamsAdjustment>
no fr
<!--ro, opt, bool, whether the device supports in-parameters correction by region, desc:true (support), false or this node is not returned (not
support). Related URI: /ISAPI/System/internalParameters/regionAdjustment/capabilities?format=json-->true
</isSupportInternalParamsAdjustment>
ri on
<isSupportDiagnosticReport>
<!--ro, opt, bool, whether the device supports diagnostic report function, desc:true (support), false or this node is not returned (not support).
Related URI: /ISAPI/System/diagnosticReport/capabilities?format=json-->true
Ma oc
</isSupportDiagnosticReport>
<isSupportWaterQualitySearch>
up
<!--ro, opt, bool, whether the device supports the function of searching for water quality, desc:true (support), false or this node is not returned (not
support). Related URI: /ISAPI/Event/waterQualityDetection/search?format=json-->true
</isSupportWaterQualitySearch>
co gr
<isSupportExhaustDetection>
<!--ro, opt, bool, whether the device supports configuring gas detection parameters, desc:true (support), false or this node is not returned (not
support). Related URI: /ISAPI/Event/exhaustDetection/channels/<channelID>/capabilities?format=json-->true
es a@
</isSupportExhaustDetection>
<isSupportTPMSecretKey>
Fr rc
<!--ro, opt, bool, whether the device supports enable stream encryption on all TPM keys lists, desc:true (support), false or this node is not returned
s
<isSupportWeatherStation>
<!--ro, opt, bool, whether the device supports uploading weather station information, desc:eventType: weatherStation; this node is not returned if not
supported-->true
</isSupportWeatherStation>
os fr
<isSupportRoadVisibilityAnalysis>
<!--ro, opt, bool, whether the device supports road visibility detection analysis, desc:eventType: weatherStation; this node is not returned if not
supported-->true
ad on
</isSupportRoadVisibilityAnalysis>
<isSupportRoadWeatherAnalysis>
<!--ro, opt, bool, whether the device supports road weather detection analysis, desc:eventType: roadWeatherAnalysis; this node is not returned if not
el .c
supported-->true
</isSupportRoadWeatherAnalysis>
ez
<isSupportRoadVisibilityAbnormal>
<!--ro, opt, bool, whether the device supports uploading road visibility detection exception, desc:eventType: roadVisibilityAbnormal; this node is not
returned if not supported-->true
en
</isSupportRoadVisibilityAbnormal>
<isSupportRoadWeatherAbnormal>
<!--ro, opt, bool, whether the device supports uploading road weather detection exception, desc:eventType: roadWeatherAbnormal; this node is not
im
</isSupportRoadWeatherAbnormal>
Aj
<isSupportChannelsTimeSync>
<!--ro, opt, bool, whether the device supports batch device time synchronization of the IPC/IOT channel, desc:related URL:
Co
/ISAPI/System/time/channelsTimeSync/capabilities?format=json-->true
</isSupportChannelsTimeSync>
<isSupport433Sensor>
<!--ro, opt, bool, whether the device supports configuring 433 sensor transmission,
desc:related URLs: /ISAPI/System/Sensor/433sensor/433wirelessTransfer/capabilities?format=json
/ISAPI/System/Sensor/433sensor/capabilities?format=json
/ISAPI/System/Sensor/433sensor/sensorDetection/capabilities?format=json
/ISAPI/System/Sensor/433sensor/sensorPicOverlay/capabilities?format=json
/ISAPI/System/Sensor/433sensor/rfParamTemplate/capabilities?format=json-->true
</isSupport433Sensor>
<isSupportSignalSource>
<!--ro, opt, bool, whether the device supports configuring signal source parameters, desc:related URL: /ISAPI/System/signalSource/capabilities?
format=json-->true
</isSupportSignalSource>
<isSupportUSBConfig>
<!--ro, opt, bool, whether the device supports configuring USB parameters, desc:related URL: /ISAPI/System/USBConfig/capabilities?format=json-->true
</isSupportUSBConfig>
<isSupportStandbyStrategy>
<!--ro, opt, bool, whether the device supports configuring standby strategy parameters, desc:related URL: /ISAPI/System/standbyStrategy/capabilities?
format=json-->true
</isSupportStandbyStrategy>
<isSupportWakeupStrategy>
<!--ro, opt, bool, whether the device supports configuring wakeup strategy parameters, desc:related URL: /ISAPI/System/wakeupStrategy/capabilities?
format=json-->true
format=json-->true
</isSupportWakeupStrategy>
<isSupportSeachMutexFunction>
<!--ro, opt, bool, whether the device supports searching for disabling the mutual exclusion function, desc:related URL: GET
/ISAPI/System/mutexFunction/capabilities?format=json; function description: whether the device supports searching for mutual exclusion function-->true
</isSupportSeachMutexFunction>
<isSupportMultiDeviceID>
<!--ro, opt, bool, whether the device supports multiple long numbers configuration, desc:related URL:
/ISAPI/VideoIntercom/deviceId/batchCfg/capabilities?format=json-->true
</isSupportMultiDeviceID>
<isNotSupportMultiDeviceIDCustomName>
<!--ro, opt, bool, whether the device supports configuring custom name for multiple long numbers, desc:if this function is not supported, the user
cannot configure custom name for the device via the long number configuration API; true (not support), false or this node is not returned (support)-->true
</isNotSupportMultiDeviceIDCustomName>
<isSupportMixedSecurityChecking>
<!--ro, opt, bool, whether the device supports uploading the event of mixed security checking, desc:eventType: mixedSecurityChecking-->true
m
</isSupportMixedSecurityChecking>
<isSupportVisiblePackageEvent>
co
<!--ro, opt, bool, whether the device supports visible package event, desc:eventType: visiblePackageEvent-->true
</isSupportVisiblePackageEvent>
a.
<isSupportBarCodeEvent>
<!--ro, opt, bool, whether the device supports the barcode event-->true
</isSupportBarCodeEvent>
C. arc
<isSupportGaugeReading>
<!--ro, opt, bool, whether the device supports the gauge reading function, desc:related URL: GET
/ISAPI/Event/channels/<channelID>/gaugeReading/capabilities?format=json; this node is not returned if not supported-->true
</isSupportGaugeReading>
s, em
<isSupportUncertificateCompareEvent>
<!--ro, opt, bool, whether the device supports the UncertificateCompareEvent event, desc:eventType: UncertificateCompareEvent; this node is not returned
A
if not supported-->true
no fr
</isSupportUncertificateCompareEvent>
<isSupportAudioDiacritical>
ri on
<!--ro, opt, bool, whether the device supports audio voice changing function, desc:related URL:
/ISAPI/System/Video/inputs/channels/<channelID>/audioDiacritical/capabilities?format=json-->true
</isSupportAudioDiacritical>
Ma oc
<isSupportMEFReportSearch>
<!--ro, opt, bool, whether the device supports searching for electronic fence data statistics report, desc:URL for getting the capability:
/ISAPI/System/Network/MEF/reportSearch/capabilities?format=json; this node is not returned if not supported-->true
up
</isSupportMEFReportSearch>
<isSupportBroadcastTriggerEvent>
co gr
<!--ro, opt, bool, whether the device supports broadcast triggering event, desc:after the event is uploaded to the platform via the paging microphone,
the platform will broadcast and check according to the uploaded terminal No. list; eventType: broadcastTriggerEvent. URL for checking:
/ISAPI/VideoIntercom/broadcastTriggerConfirm?format=json-->true
es a@
</isSupportBroadcastTriggerEvent>
<isSupportFishingShipDetection>
<!--ro, opt, bool, whether the device supports fishing ship detection event, desc:eventType: fishingShipDetection; related URL:
Fr rc
/ISAPI/Thermal/channels/<channelID>/fishingShipDetection/<SID>?format=json-->true
</isSupportFishingShipDetection>
<isSupportHPVehicleLoadingRate>
y ema
<!--ro, opt, bool, whether the device supports the platform vehicle loading rate event, desc:eventType: vehicleLoadingRate, this node is not returned if
not supported. Related URL: /ISAPI/Intelligent/channels/<channelID>/HPDetection/capabilities?format=json-->true
</isSupportHPVehicleLoadingRate>
<isSupportVideoBarrierGateDetection>
os fr
<!--ro, opt, bool, whether the device supports port and gate video detection, desc:eventType: videoBarrierGateDetection, this node is not returned if
not supported. Related URL: /ISAPI/Traffic/ContentMgmt/videoBarrierGate/capabilities?format=json-->true
ad on
</isSupportVideoBarrierGateDetection>
<isSupportLogicalResource>
<!--ro, opt, bool, whether the device supports camera organization and management, desc:related URL: /ISAPI/System/LogicalResource/capabilities?
el .c
<!--ro, opt, bool, whether the device supports detecting whether back cover the slag truck is covered, desc:eventType: slagTruckCoverPlateDetection,
this node is not returned if not supported. Related URL: /ISAPI/Event/channels/<channelID>/slagTruckCoverPlate/capabilities?format=json-->true
en
</isSupportSlagTruckCoverPlate>
<isSupportTrainDetection>
<!--ro, opt, bool, whether the device supports train detection, desc:eventType: trainDetection, this node is not returned if not supported-->true
im
</isSupportTrainDetection>
<isNotSupportVideoOverlays>
ng
<!--ro, opt, bool, whether the device supports configuring OSD overlaying of web display, desc:this node is only valid for checking whether the OSD
Aj
overlaying configuration of the image menu of the security inspection system is supported or not (this configuration is supported by default in the protocol
Co
and it does not have node control capability). If true is returned, it indicates that the OSD overlay is not supported; if false or no node is returned, it
indicates the OSD overlay function is supported-->true
</isNotSupportVideoOverlays>
<isSupportScheduledCaptureTask>
<!--ro, opt, bool, whether the device supports scheduled capturing tasks, desc:related URI: /ISAPI/Sytem/Video/scheduledCapture/capabilities-->true
</isSupportScheduledCaptureTask>
<isSupportGuideCfg>
<!--ro, opt, bool, whether the device supports the wizard configuration, desc:this node is only valid for the indoor station to check whether to enable
wizard configuration wizard configuration is provided for the users to perform basic function configuration after activating and logging in to the device
(including Internet parameters configuration, dialog configuration and batch adding of the analog indoor station) if true is returned, it indicates wizard
configuration is supported; if false or no node is returned, it indicates the function is not supported-->true
</isSupportGuideCfg>
<isSupportCameraGroupPeopleCounting>
<!--ro, opt, bool, whether the device supports passenger flow statistics of multiple cameras, desc:/ISAPI/Intelligent/counting/cameraGroup/capabilities?
format=json-->true
</isSupportCameraGroupPeopleCounting>
<isSupportAngleDeviationDetection>
<!--ro, opt, bool, whether the device supports tilting detection, desc:related URL:
/ISAPI/Event/channels/<channelID>/angleDeviationDetection/capabilities?format=json; this node is not returned if not supported-->true
</isSupportAngleDeviationDetection>
<isSupportCityCode>
<!--ro, opt, bool, whether the device supports getting city code, desc:related URI: /ISAPI/System/cityCode?format=json-->true
</isSupportCityCode>
<isSupportAlcoholDetectionResult>
<isSupportAlcoholDetectionResult>
<!--ro, opt, bool, whether the device supports uploading alcohol test, desc:eventType: alcoholDetectionResult-->true
</isSupportAlcoholDetectionResult>
<isSupportAlcoholDetectionRodBind>
<!--ro, opt, bool, whether the device supports the request of binding alcohol test stick, desc:eventType: alcoholDetectionRodBind-->true
</isSupportAlcoholDetectionRodBind>
<isSupportAlcoholDetectionRodBindQuery>
<!--ro, opt, bool, whether the device supports the query for the request of binding alcohol test stick, desc:eventType: alcoholDetectionRodBindQuery--
>true
</isSupportAlcoholDetectionRodBindQuery>
<isSupportAlcoholDetectionRodUnbind>
<!--ro, opt, bool, whether the device supports the event of unbinding alcohol test stick, desc:eventType: alcoholDetectionRodUnbind-->true
</isSupportAlcoholDetectionRodUnbind>
<isSupportAbnormalDriving>
<!--ro, opt, bool, whether the device supports abnormal driving behaviors detection, desc:eventType: abnormalDriving-->true
</isSupportAbnormalDriving>
<isSupportEmanationsEvent>
m
<!--ro, opt, bool, whether the device supports the event of emanation test, desc:eventType: emanationsEvent; the security inspection system is equipped
co
with an emanation tester, and when the emanation exceeds the threshold, an alarm event will be uploaded currently, this event is only triggered by the
emanation tester, and its configuration is not required-->true
</isSupportEmanationsEvent>
a.
<isSupportClientUpdatePackage>
<!--ro, opt, bool, whether the device supports the client upgrade package management, desc:related URL: /ISAPI/System/clientUpdatePackage/capabilities?
C. arc
format=json-->true
</isSupportClientUpdatePackage>
<isSupportDeviceStatusUploadStrategy>
<!--ro, opt, bool, whether the device supports configuring the parameters of device status uploading strategy, desc:related URL:
s, em
/ISAPI/System/status/uploadStrategy/capabilities?format=json-->true
</isSupportDeviceStatusUploadStrategy>
A
<isSupportDialIndicatorReading>
no fr
<!--ro, opt, bool, whether the devices supports dial indicator reading, desc:related URL:
/ISAPI/Intelligent/channels/<channelID>/dialIndicatorReading/capabilities?format=json; function description: it supports reading single pointer dial and
uploading the result (currently, it only can recognize dials that does not accumulate the readings such as thermometer and barometer)-->true
ri on
</isSupportDialIndicatorReading>
<isNotSupportAudioVideoCompress>
Ma oc
<!--ro, opt, bool, whether the device supports audio/video encoding, desc:this node is only valid for the; if true is returned, the video/audio page
will not be displayed on the device web page if false or no node is returned, the video/audio page will be displayed on the device web page by default--
>true
up
</isNotSupportAudioVideoCompress>
<isSupportUPLCExceptionEvent>
<!--ro, opt, bool, whether the device supports the event of liquid chromatograph system exception, desc:eventType: UPLCException-->true
co gr
</isSupportUPLCExceptionEvent>
<isSupportUrgentTurn>
<!--ro, opt, bool, whether the device supports the sharp turn event, desc:eventType: urgentTurn-->true
es a@
</isSupportUrgentTurn>
<isSupportUrgentBrake>
Fr rc
<!--ro, opt, bool, whether the device supports the sudden brake event, desc:eventType: urgentBrake-->true
s
</isSupportUrgentBrake>
<isSupportUrgentAcceleration>
y ema
<!--ro, opt, bool, whether the device supports the rapid acceleration event, desc:eventType: urgentAcceleration-->true
</isSupportUrgentAcceleration>
<isSupportVehiclePanicButton>
<!--ro, opt, bool, whether the device supports the alarm/event of mobile emergency button, desc:eventType: vehiclePanicButton-->true
os fr
</isSupportVehiclePanicButton>
<isSupportOverSpeed>
<!--ro, opt, bool, whether the device supports the vehicle speeding alarm/event, desc:eventType: overSpeed-->true
ad on
</isSupportOverSpeed>
<isSupportAbnormalAcceleration>
el .c
<!--ro, opt, bool, whether the device supports the event of abnormal vehicle custom acceleration alarm, desc:eventType: abnormalAcceleration-->true
</isSupportAbnormalAcceleration>
<isSupportRollover>
ez
<!--ro, opt, bool, whether the device supports the vehicle turnover alarm/event, desc:eventType: rollover-->true
</isSupportRollover>
<isSupportCollision>
en
<!--ro, opt, bool, whether the device supports the vehicle collision alarm/event, desc:eventType: collision-->true
</isSupportCollision>
im
<isSupportVehicleOBUInfo>
<!--ro, opt, bool, whether the device supports uploading the vehicle OBU information, desc:eventType: vehicleOBUInfo-->true
ng
</isSupportVehicleOBUInfo>
Aj
<isSupportPowerUpPicture>
<!--ro, opt, bool, whether the device supports importing and exporting pictures displayed during startup,
Co
desc:/ISAPI/System/powerUpPicture/capabilities?format=json-->true
</isSupportPowerUpPicture>
<isSupportPowerUpPictureCfg>
<!--ro, opt, bool, whether the device supports configuring parameters of pictures displayed during startup,
desc:/ISAPI/System/powerUpPictureCfg/capabilities?format=json-->true
</isSupportPowerUpPictureCfg>
<isSupportAlgoPackageScheduling>
<!--ro, opt, bool, whether the device supports algorithm package scheduling, desc:Related URIs: /ISAPI/System/AlgoPackageScheduling/capabilities?
format=json and /ISAPI/System/AlgoPackageScheduling/task/capabilities?format=json-->true
</isSupportAlgoPackageScheduling>
<isSupportVoiceTalkRequestingAlarm>
<!--ro, opt, bool, whether the device supports the two-way audio request alarm, desc:eventType: voiceTalkRequestingAlarm-->true
</isSupportVoiceTalkRequestingAlarm>
<isSupportSetupStructure>
<!--ro, opt, bool, whether the device supports configuring construction structure parameters, desc:related URI: /ISAPI/System/setupStructure?
format=json-->true
</isSupportSetupStructure>
<isSupportPassNumInfoEvent>
<!--ro, opt, bool, whether the device supports uploading the number of people passed, desc:eventType: passNumInfoEvent-->true
</isSupportPassNumInfoEvent>
<isShowClientRemote>
<!--ro, opt, bool, whether the device supports displaying remote configuration on the client,
desc:1. If this node is not returned or it is returned and its value is true, it indicates that the device supports this function.
2. If this node is returned and its value is false, it indicates that the device does not support this function.
iVMS-4200 client software supports remote configuration by default. However, there are still some devices that do not support remote configuration via iVMS-
4200 and they can only be configured remotely via the web browser. The capability determined by this node is used to control whether to display the remote
configuration on iVMS-4200 client software.-->true
</isShowClientRemote>
<isSupportUserManualQRCode>
<!--ro, opt, bool, whether the device supports getting the QR code of the user manual, desc:related URI: /ISAPI/System/userManualQRCode/capabilities?
format=json-->true
</isSupportUserManualQRCode>
<isSupportUnclosedFrontPanel>
<!--ro, opt, bool, whether the device supports uploading the event of the front panel not closed, desc:related URI for getting the capability:
/ISAPI/Trial/roompara/capabilities; corresponding node: < unclosedFrontPanelEnabled>. Related event: unclosedFrontPanel-->true
</isSupportUnclosedFrontPanel>
<isSupportVehicleWeight>
<!--ro, opt, bool, whether the device supports configuring parameters for vehicle weight and axle detection,
desc:/ISAPI/Traffic/channels/<channelID>/vehicleWeight?format=json-->true
m
</isSupportVehicleWeight>
co
<isSupportWeightInterface>
<!--ro, opt, bool-->true
</isSupportWeightInterface>
a.
<isSupportSecurityPanicEvent>
<!--ro, opt, bool, whether the device supports emergency events of security inspection, desc:eventType: securityPanicEvent-->true
</isSupportSecurityPanicEvent>
C. arc
<isSupportTrafficLightMalfunction>
<!--ro, opt, bool, whether the device supports the event of detecting faults of traffic lights, desc:eventType: trafficLightMalfunction-->true
</isSupportTrafficLightMalfunction>
<isSupportTOFShelterAlarm>
s, em
<!--ro, opt, bool, whether the device supports TOF tampering alarm, desc:/ISAPI/Event/channels/<channelID>/TOFShelterAlarm/capabilities?format=json--
>true
A
</isSupportTOFShelterAlarm>
no fr
<isSupportSetMealQuery>
<!--ro, opt, bool, whether the device supports uploading the event of searching set meals, desc:eventType: SetMealQuery-->true
ri on
</isSupportSetMealQuery>
<isSupportMultiScreenControlAlarm>
<!--ro, opt, bool, whether the device supports uploading the multi-screen controller alarm, desc:eventType: multiScreenControlAlarm-->true
Ma oc
</isSupportMultiScreenControlAlarm>
<isSupportKeyFrameLoss>
<!--ro, opt, bool, whether the device supports uploading the event of key frame loss, desc:related URI: /ISAPI/Event/keyFrameLoss/capabilities?
up
format=json; eventType: keyFrameLoss.-->true
</isSupportKeyFrameLoss>
co gr
<isSupportWorkStatusCfg>
<!--ro, opt, bool, whether the device supports working status configuration, desc:/ISAPI/System/WorkStatusCfg?format=json-->true
</isSupportWorkStatusCfg>
es a@
<isSupportHealthInfoSyncQuery>
<!--ro, opt, bool, whether the device supports the event of searching for health information, desc:eventType: HealthInfoSyncQuery-->true
</isSupportHealthInfoSyncQuery>
Fr rc
<isSupportVisitorPictureSearchEvent>
<!--ro, opt, bool, whether the device supports the event of searching for visitor profiles, desc:eventType: VisitorPictureSearchEvent-->true
y ema
</isSupportVisitorPictureSearchEvent>
<isSupportEZVIZParameterTest>
<!--ro, opt, bool, whether the device supports testing EZ parameters, desc:related URI: /ISAPI/System/Network/EZVIZ/parameterTest?format=json-->true
</isSupportEZVIZParameterTest>
os fr
<isSupportUnattendedPackageEvent>
<!--ro, opt, bool, whether the device supports the unattended package event, desc:eventType: unattendedPackageEvent-->true
</isSupportUnattendedPackageEvent>
ad on
<isSupportPackageFragmentEvent>
<!--ro, opt, bool, whether the device supports the event of uploading package fragment data, desc:eventType: packageFragmentEvent-->true
</isSupportPackageFragmentEvent>
el .c
<isSupportPackageBarcodeMismatchEvent>
<!--ro, opt, bool, whether the device supports the event of package and barcode mismatching, desc:eventType: packageBarcodeMismatchEvent-->true
ez
</isSupportPackageBarcodeMismatchEvent>
<isSupportCheckingModeSwitchEvent>
<!--ro, opt, bool, whether the device supports the event of switching the image checking mode, desc:eventType: checkingModeSwitchEvent-->true
en
</isSupportCheckingModeSwitchEvent>
<FaceSnapPrivacyMask>
<!--ro, opt, object, whether the device supports privacy mask on faces, desc:based on face picture capture, all faces will be masked to protect the
im
<channelsID>
Co
m
<isSupportT1Test>
<!--ro, opt, bool, whether the device supports the configuration of controlling T1 tool-->true
co
</isSupportT1Test>
<isSupportDrivingDirectionAtIntersection>
<!--ro, opt, bool, whether the device supports intersection driving direction detection, desc:eventType: drivingDirectionAtIntersection; this node is
a.
not returned if not supported-->true
</isSupportDrivingDirectionAtIntersection>
C. arc
<isSupportPlaceSceneExecuteStatus>
<!--ro, opt, bool, whether the device supports the event of place scene execute status, desc:eventType: placeSceneExecuteStatus; this node is not
returned if not supported-->true
</isSupportPlaceSceneExecuteStatus>
s, em
<isSupportSceneRecordingCtrl>
<!--ro, opt, bool, whether the device supports the event of controlling scene recording, desc:eventType: sceneRecordingCtrl; this node is not returned
A
if not supported-->true
no fr
</isSupportSceneRecordingCtrl>
<isSupportStreamRecordStatus>
<!--ro, opt, bool, whether the device supports getting the stream ID record status, desc:/ISAPI/System/Video/inputs/streams/recordStatus-->true
ri on
</isSupportStreamRecordStatus>
<isSupportManualSnapPicture>
Ma oc
<!--ro, opt, bool, whether the device supports manual picture capturing, desc:related URI:
/ISAPI/Streaming/channels/<trackStreamID>/picture/capabilities?format=json-->true
</isSupportManualSnapPicture>
up
<isSupportVerificationResultEvent>
<!--ro, opt, bool, whether the device supports the event of human and vehicle verification result, desc:eventType: verificationResultEvent-->true
</isSupportVerificationResultEvent>
co gr
<OTAP>
<!--ro, opt, object, the capability of Open Things Access Protocol, desc:OTAP capability-->
es a@
<isSupportOTAPModel>
<!--ro, opt, bool, whether the device supports getting the virtual No. and device No. of the OTAP, desc:GET /ISAPI/System/Network/OTAP/Model?
format=json-->true
Fr rc
</isSupportOTAPModel>
s
</OTAP>
<isSupportForeignObjectInRoadDetection>
y ema
<!--ro, opt, bool, whether the device supports the detection of foreign object in road, desc:eventType: foreignObjectInRoadDetection-->true
</isSupportForeignObjectInRoadDetection>
<isSupportUPLCMethodOperatingStatus>
<!--ro, opt, bool, whether the device supports the event of UPLC method operating status, desc:eventType: UPLCMethodOperatingStatus-->true
os fr
</isSupportUPLCMethodOperatingStatus>
<isSupportMaterialScanTaskStatus>
<!--ro, opt, bool, whether the device supports material scanning task status, desc:eventType: materialScanTaskStatus-->true
ad on
</isSupportMaterialScanTaskStatus>
<isSupportSearchInputProxy>
el .c
<!--ro, opt, bool, whether the device supports searching for accessible IPC of device in the LAN, desc:related URI: GET
/ISAPI/ContentMgmt/InputProxy/search?security=<security>&iv=<iv>; true (support), this node is not returned (call the specific API to confirm whether it
supports or not)-->true
ez
</isSupportSearchInputProxy>
<isSupportPostureDetection>
<!--ro, opt, bool, whether the device supports people posture detection, desc:eventType: MeetingLock-->true
en
</isSupportPostureDetection>
<isSupportFans>
im
<!--ro, opt, bool, whether the device supports configuring fan, desc:/ISAPI/System/Fans?format=json-->true
</isSupportFans>
ng
<pickUpCalibration>
Aj
<!--ro, opt, object, whether the device supports wireless pickup calibration, desc:related URI:
/ISAPI/System/PickUpCalibration/channels/<channelID>/capabilities?format=json-->
Co
<ChannelsList>
<!--ro, opt, array, channel list, subType:object-->
<channelsID>
<!--ro, req, int, No. of channels supported by the device-->1
</channelsID>
</ChannelsList>
</pickUpCalibration>
<isSupportSerialLogUpload>
<!--ro, opt, bool, whether the device supports uploading serial port log, desc:true (support), false (not support)-->true
</isSupportSerialLogUpload>
<isSupportLiquidDetectionEvent>
<!--ro, opt, bool, whether the device supports liquid detection, desc:eventType: liquidDetectionEvent-->true
</isSupportLiquidDetectionEvent>
<isSupportETCRSU>
<!--ro, opt, bool, whether the device supports ETCRSU configuration, desc:related URI: /ISAPI/Traffic/ETCRSU level protocol-->true
</isSupportETCRSU>
<isSupportVideoCodeConvertTool>
<!--ro, opt, bool, whether the device supports getting the video encodingconversion tool, desc:related URI: /ISAPI/System/videoCodeConvertTool?
format=json protocol-->true
</isSupportVideoCodeConvertTool>
<supportQuickConfigType opt="icr,dayNightGate,syncSignalOutput">
<!--ro, opt, string, the list of supported functions of the web quick configuration pop-up, attr:opt{opt, string},
desc:the web quick configuration does not distinguish the configuration order, and it displays all supported function lists on the pop-up on the tab page
icr refers to ICR switch configuration (related URL: /ISAPI/Image/channels/<channelID>/); icr
dayNightGate refers to day and night mode switching (related URL: /ISAPI/Image/channels/<channelID>/dayNightGate);
IOOutputs refers to synchronous signal output (related URL: /ISAPI/System/syncSignalOutput)-->syncSignalOutput
</supportQuickConfigType>
<isSupportVisualLocation>
<!--ro, opt, bool, whether the device supports configuring visual location service, desc:related URI:
/ISAPI/System/LocationMgr/visualLocation/capabilities?format=json-->true
</isSupportVisualLocation>
<isSupportVideoAccessAbnormal>
<!--ro, opt, bool, whether the device supports abnormal video access, desc:eventType: VideoAccessAbnormal; this node is not returned if not supported--
>true
</isSupportVideoAccessAbnormal>
<isSupportSubSystemAbnormal>
<!--ro, opt, bool, whether the device supports abnormal subsystem, desc:eventType: SubSystemAbnormal; this node is not returned if not supported-->true
</isSupportSubSystemAbnormal>
<isSupportSearchFileList>
m
<!--ro, opt, bool, whether the device supports searching for list of device files, desc:related URI: /ISAPI/System/fileExport/SearchFileList?
co
format=json-->true
</isSupportSearchFileList>
<isSupportDistanceDetectionEvent>
a.
<!--ro, opt, bool, whether the device supports distance detection, desc:eventType: distanceDetectionEvent; currently it is only used for devices test
tools-->true
</isSupportDistanceDetectionEvent>
C. arc
<isSupportMeetingQueryEvent>
<!--ro, opt, bool, whether the device supports searching for meetings, desc:eventType: MeetingElementCancel-->true
</isSupportMeetingQueryEvent>
<isSupportMeetingLockEvent>
s, em
<!--ro, opt, bool, whether the device supports locking meetings, desc:eventType: MeetingLock-->true
A
</isSupportMeetingLockEvent>
no fr
<isSupportMeetingAddEvent>
<!--ro, opt, bool, whether the device supports reserving meetings, desc:eventType: MeetingAdd-->true
</isSupportMeetingAddEvent>
ri on
<isSupportMeetingModifyEvent>
<!--ro, opt, bool, whether the device supports modifying meetings, desc:eventType: MeetingModify-->true
</isSupportMeetingModifyEvent>
Ma oc
<isSupportMeetingCancelEvent>
<!--ro, opt, bool, whether the device supports canceling meetings, desc:eventType: ScreenBindIPC-->true
up
</isSupportMeetingCancelEvent>
<isSupportScreenBindIPCEvent>
<!--ro, opt, bool, whether the device supports the screen binding IPC, desc:eventType: ScreenBindIPC-->true
co gr
</isSupportScreenBindIPCEvent>
<isSupportSensorDetection>
<!--ro, opt, bool, whether the device supports uploading sensor data, desc:eventType: sensorDetection-->true
es a@
</isSupportSensorDetection>
<isSupportClearLogCache>
<!--ro, opt, bool, whether the device supports clearing the log cache, desc:related URI: /ISAPI/ContentMgmt/ClearLogCache?format=json-->true
Fr rc
</isSupportClearLogCache>
<isSupportRoadOccupyDetection>
y ema
<!--ro, opt, bool, whether the device supports the entrance and exit block detection, desc:related URI:
/ISAPI/ITC/Entrance/channels/<channelID>/roadOccupyDetection/capabilities?format=json-->true
</isSupportRoadOccupyDetection>
<isSupportMeetingRoomSignInEvent>
os fr
<!--ro, opt, bool, whether the device supports the MeetingRoomSignIn event, desc:eventType: MeetingRoomSignIn-->true
</isSupportMeetingRoomSignInEvent>
<isSupportMeetingRoomSignOutEvent>
ad on
<!--ro, opt, bool, whether the device supports the MeetingRoomSignOut event, desc:eventType: MeetingRoomSignOut-->true
</isSupportMeetingRoomSignOutEvent>
<isSupportTimeTypeSTD>
el .c
<!--ro, opt, bool, whether the device supports the time type of ISO8601, desc:if "true" is returned, it indicates that all the devices containing
ISO8601 parameters support adding the timeType=STD, such as /ISAPI/ContentMgmt/search?timeType=STD; the time will be implemented according to the standard--
ez
>true
</isSupportTimeTypeSTD>
<isSupportScanner>
en
<!--ro, opt, bool, whether the device supports scanning events and configuration, desc:if true is returned, it indicates the device supports the
/ISAPI/System/scanner/capabilities?format=json and scannerInfo event-->true
</isSupportScanner>
im
<isSupportRegionTargetNumberCounting>
ng
<!--ro, opt, bool, whether the device supports the region target counting, desc:related URI:
Aj
/ISAPI/Event/channels/<channelID>/RegionTargetNumberCounting/Capabilities?format=json-->true
</isSupportRegionTargetNumberCounting>
Co
<depthMapMaintainMode>
<!--ro, opt, object, the maintenance mode of depth image, desc:it will influence the smart functions when using depth images for tests, such as vertical
customer traffic, object accumulation detection and so on enabling the maintenance mode will change the audio and video parameters of the channels related
URI: /ISAPI/Intelligent/channels/<channelID>/DepthMapMaintainModeCfg/capabilities?format=json-->
<ChannelsList>
<!--ro, opt, array, channel list, subType:object-->
<channelID>
<!--ro, req, int, No. of channels supported by the device-->1
</channelID>
</ChannelsList>
</depthMapMaintainMode>
<isSupportExportPipCalibrationFile>
<!--ro, opt, bool, whether it supports exporting visual and thermal image fusion calibration file, desc:related URI:
/ISAPI/System/ExportPipCalibrationFile?format=json-->true
</isSupportExportPipCalibrationFile>
<isSupportCourseUploadInfo>
<!--ro, opt, bool, whether it supports notifying the course uploading completion, desc:eventType: courseUploadInfo-->true
</isSupportCourseUploadInfo>
<isSupportPresetSwitchingInformation>
<!--ro, opt, bool, whether the device supports uploading the preset switching information, desc:eventType: presetSwitchingInformation-->true
</isSupportPresetSwitchingInformation>
<isSupportCabinetChargingQuery>
<!--ro, opt, bool, whether it supports the request of searching for the charging of intelligent cabinet, desc:eventType: cabinetChargingQuery-->true
</isSupportCabinetChargingQuery>
</isSupportCabinetChargingQuery>
<isSupportSearchVoltageAndPowerConsumptionReport>
<!--ro, opt, bool, whether the device supports searching for voltage and consumption report, desc:related URI:
/ISAPI/System/SearchVoltageAndPowerConsumptionReport/capabilities?format=json-->true
</isSupportSearchVoltageAndPowerConsumptionReport>
<isSupportDeviceDrop>
<!--ro, opt, bool, whether the device supports the deviceDrop event, desc:corresponding event: deviceDrop-->true
</isSupportDeviceDrop>
<isSupportDeviceNotMoved>
<!--ro, opt, bool, whether the device supports the deviceNotMoved event, desc:corresponding event: deviceNotMoved-->true
</isSupportDeviceNotMoved>
<isSupportWalkWrongWayOnEscalator>
<!--ro, opt, bool, whether the device supports the walkWrongWayOnEscalator event, desc:corresponding event: walkWrongWayOnEscalator-->true
</isSupportWalkWrongWayOnEscalator>
<isSupportFallOnEscalator>
<!--ro, opt, bool, whether the device supports the fallOnEscalator event, desc:corresponding event: fallOnEscalator-->true
m
</isSupportFallOnEscalator>
<isSupportCarryLargeLuggageOnEscalator>
co
<!--ro, opt, bool, whether the device supports the carryLargeLuggageOnEscalator event, desc:corresponding event: carryLargeLuggageOnEscalator-->true
</isSupportCarryLargeLuggageOnEscalator>
a.
<isSupportPushStrollerOnEscalator>
<!--ro, opt, bool, whether the device supports the pushStrollerOnEscalator event, desc:corresponding event: pushStrollerOnEscalator-->true
</isSupportPushStrollerOnEscalator>
C. arc
<isSupportTeachingSpeechDetection>
<!--ro, opt, bool, whether it supports teachingSpeechDetection event, desc:corresponding event: teachingSpeechDetection-->true
</isSupportTeachingSpeechDetection>
<updatefirmwareType opt="warningScreenFirmware,warningScreenFont,warningScreenVoice">
s, em
<!--ro, opt, string, RS-485 working modes supported by the device, attr:opt{opt, string}, desc:corresponding to <type> in /ISAPI/System/updateFirmware?
type=<type>; "warningScreenFirmware", "warningScreenFont", "warningScreenVoice"; note that <isSupportUpdatefirmware> is supported when this node is
A
supported-->warningScreenFirmware
no fr
</updatefirmwareType>
<isSupportPaymentQRCodeQuery>
ri on
<!--ro, opt, bool, whether the device supports the paymentQRCodeQuery event, desc:corresponding event: paymentQRCodeQuery-->true
</isSupportPaymentQRCodeQuery>
<isSupportTopUpEvent>
Ma oc
<!--ro, opt, bool, whether the device supports the topUpEvent event, desc:corresponding event: topUpEvent-->true
</isSupportTopUpEvent>
<isSupportTopUpRequest>
up
<!--ro, opt, bool, whether the device supports the topUpRequest event, desc:corresponding event: topUpRequest-->true
</isSupportTopUpRequest>
<isSupportTopUpStatusQuery>
co gr
<!--ro, opt, bool, whether the device supports the topUpStatusQuery event, desc:corresponding event: topUpStatusQuery-->true
</isSupportTopUpStatusQuery>
es a@
<isSupportLogOffRefundRequest>
<!--ro, opt, bool, whether the device supports the logOffRefundRequest event, desc:corresponding event: logOffRefundRequest-->true
</isSupportLogOffRefundRequest>
Fr rc
<isSupportLogOffRefundStatusQuery>
<!--ro, opt, bool, whether the device supports searching for the refund status of logged-off persons, desc:corresponding event: logOffRefundStatusQuery-
->true
y ema
</isSupportLogOffRefundStatusQuery>
<isSupportAuthenticationTimeoutEvent>
<!--ro, opt, bool, whether the device supports the logOffRefundStatusQuery event, desc:corresponding event: logOffRefundStatusQuery-->true
</isSupportAuthenticationTimeoutEvent>
os fr
<isSupportCertificateCapture>
<!--ro, opt, bool, whether the device supports the certificateCapture events, desc:corresponding event: certificateCapture-->true
ad on
</isSupportCertificateCapture>
<isSupportDeviceBatchActivation>
<!--ro, opt, bool, whether the device supports batch activation, desc:POST /ISAPI/System/activate/DeviceBatchActivation?format=json-->true
el .c
</isSupportDeviceBatchActivation>
<isSupportPlaceEnvironmentMonitoringRule>
<!--ro, opt, bool, whether the device supports place environment monitoring rule parameters,
ez
desc:/ISAPI/Event/channels/<channelID>/PlaceEnvironmentMonitoringRule?format=json-->true
</isSupportPlaceEnvironmentMonitoringRule>
en
<isSupportEngineResource>
<!--ro, opt, bool, whether the device supports engine resources, desc:/ISAPI/System/EngineResource?format=json-->true
</isSupportEngineResource>
im
<isSupportPTModulePowerCfg>
<!--ro, opt, bool, whether the device supports modifying the power supply parameters of PTZ base, desc:PUT /ISAPI/System/ModifyPTModulePowerCfg?
ng
</isSupportPTModulePowerCfg>
<isSupportGetBoxDoorDetectionCfg>
Co
<!--ro, opt, bool, whether the device supports getting chassis door status detection configuration, desc:POST /ISAPI/System/GetBoxDoorDetectionCfg?
format=json-->true
</isSupportGetBoxDoorDetectionCfg>
<isSupportModifyBoxDoorDetectionCfg>
<!--ro, opt, bool, whether the device supports modifying chassis door status configuration, desc:PUT /ISAPI/System/ModifyBoxDoorDetectionCfg?
format=json-->true
</isSupportModifyBoxDoorDetectionCfg>
<isSupportSmartBoxStatus>
<!--ro, opt, bool, whether the device supports intelligent chassis status, desc:/ISAPI/System/SmartBoxStatus?format=json-->true
</isSupportSmartBoxStatus>
<isSupportBatteryStatusCtrl>
<!--ro, opt, bool, whether the device supports battery status event upload control parameters, desc:/ISAPI/System/BatteryStatusCtrl?format=json-->true
</isSupportBatteryStatusCtrl>
<isSupportCooler>
<!--ro, opt, bool, whether the device supports cooling management, desc:/ISAPI/System/Cooler/-->true
</isSupportCooler>
<isSupportBoxDoorDetectionCfg>
<!--ro, opt, bool, whether the device supports configuring chassis door status detection, desc:/ISAPI/System/BoxDoorDetectionCfg?format=json-->true
</isSupportBoxDoorDetectionCfg>
<isSupportBoxDoorStatus>
<!--ro, opt, bool, whether the device supports chassis door status, desc:/ISAPI/System/BoxDoorStatus?format=json-->true
</isSupportBoxDoorStatus>
<isSupportLightningProtectionStatus>
<isSupportLightningProtectionStatus>
<!--ro, opt, bool, whether the device supports lightning protection status, desc:/ISAPI/System/LightningProtectionStatus?format=json-->true
</isSupportLightningProtectionStatus>
<isSupportDeviceVisualLocalizationDetectionEvent>
<!--ro, opt, bool, whether the device supports the DeviceVisualLocalizationDetectionEvent event, desc:corresponding event:
DeviceVisualLocalizationDetectionEvent-->true
</isSupportDeviceVisualLocalizationDetectionEvent>
<isSupportDeviceVisualLocalizationAnalysisEvent>
<!--ro, opt, bool, whether the device supports the DeviceVisualLocalizationAnalysisEvent event, desc:corresponding event:
DeviceVisualLocalizationAnalysisEvent-->true
</isSupportDeviceVisualLocalizationAnalysisEvent>
<isSupportGetPowerPortWorkParamList>
<!--ro, opt, bool, whether the device supports getting the working parameter list of power supply interface, desc:POST
/ISAPI/System/GetPowerPortWorkParamList?format=json-->true
</isSupportGetPowerPortWorkParamList>
<isSupportUsersLoginNotification>
<!--ro, opt, bool, whether the device supports parameters of notifications on user login, desc:/ISAPI/System/UsersLoginNotification?format=json-->true
m
</isSupportUsersLoginNotification>
co
<isSupportLiquidLevelDetectorInfo>
<!--ro, opt, bool, whether the device supports uploading information of liquid level detector, desc:eventType: LiquidLevelDetectorInfo-->true
</isSupportLiquidLevelDetectorInfo>
a.
<isSupportWaterPressureDetectorInfo>
<!--ro, opt, bool, whether the device supports uploading information of water pressure detector, desc:eventType: WaterPressureDetectorInfo-->true
C. arc
</isSupportWaterPressureDetectorInfo>
<isSupportEncryptionFileUpgradeMgr>
<!--ro, opt, bool, whether the device supports advanced management of encrypted files, desc:GET /ISAPI/System/EncryptionFileUpgradeMgr/capabilities?
format=json-->true
</isSupportEncryptionFileUpgradeMgr>
s, em
<isSupportInformedConsentTextParam>
A
<!--ro, opt, bool, whether the device supports text parameters of consent confirmation document,
no fr
desc:/ISAPI/System/InformedConsentMgr/InformedConsentTextParam?format=json-->true
</isSupportInformedConsentTextParam>
<isSupportSendConsolePassword>
ri on
<!--ro, opt, bool, whether the device supports applying control panel password, desc:POST /ISAPI/System/SendConsolePassword?format=json-->true
</isSupportSendConsolePassword>
<isSupportAutoLaserRanging>
Ma oc
<!--ro, opt, bool, whether to support auto laser ranging parameter configuration, desc:/ISAPI/System/AutoLaserRanging?format=json-->true
</isSupportAutoLaserRanging>
up
<isSupportDelayedReboot>
<!--ro, opt, bool, whether the device supports delayed reboot after power disconnection, desc:POST /ISAPI/System/DelayedReboot?format=json-->true
</isSupportDelayedReboot>
co gr
<isSupportFalseAlarmMaterialLibMgr>
<!--ro, opt, bool, whether the device supports false alarm library management, desc:GET /ISAPI/Intelligent/falseAlarmMaterialLibMgr/capabilities?
format=json-->true
es a@
</isSupportFalseAlarmMaterialLibMgr>
<isSupportGetServerRandom>
Fr rc
<!--ro, opt, bool, whether the device supports getting random number of Chinese cryptographic server, desc:POST
s
/ISAPI/Security/ProtocolCertificate/GetServerRandom?format=json-->true
</isSupportGetServerRandom>
y ema
<isSupportSendTelnetTestCmd>
<!--ro, opt, bool, whether the device supports applying telnet testing command, desc:POST /ISAPI/System/Network/NetworkAdvancedCfg/SendTelnetTestCmd?
format=json-->true
</isSupportSendTelnetTestCmd>
os fr
<isSupportTelnetTestCmdStatus>
<!--ro, opt, bool, whether the device supports the execution status of telnet testing command, desc:GET
/ISAPI/System/Network/NetworkAdvancedCfg/TelnetTestCmdStatus?format=json-->true
ad on
</isSupportTelnetTestCmdStatus>
<isSupportImportUSBKeyAuthInfo>
<!--ro, opt, bool, whether the device supports Chinese cryptographic USBKey authentication information, desc:POST
el .c
/ISAPI/Security/ProtocolCertificate/ImportUSBKeyAuthInfo?format=json-->true
</isSupportImportUSBKeyAuthInfo>
ez
<isSupportSendSupervisionRecordCollection>
<!--ro, opt, bool, whether the device supports sending completing status of supervision recording replenishment, desc:POST
/ISAPI/Intelligent/channels/<channelID>/SendSupervisionRecordCollection?format=json-->true
en
</isSupportSendSupervisionRecordCollection>
<isSupportSearchPersonnelOperationSupervisionTask>
<!--ro, opt, bool, whether it supports searching for operation supervision tasks, desc:POST
im
/ISAPI/Intelligent/channels/<channelID>/SearchPersonnelOperationSupervisionTask?format=json-->true
ng
</isSupportSearchPersonnelOperationSupervisionTask>
Aj
<isSupportDeletePersonnelOperationSupervisionTask>
<!--ro, opt, bool, whether it supports deleting operation supervision tasks, desc:POST
Co
/ISAPI/Intelligent/channels/<channelID>/DeletePersonnelOperationSupervisionTask?format=json-->true
</isSupportDeletePersonnelOperationSupervisionTask>
<isSupportAddPersonnelOperationSupervisionTask>
<!--ro, opt, bool, whether it supports adding operation supervision tasks, desc:POST
/ISAPI/Intelligent/channels/<channelID>/AddPersonnelOperationSupervisionTask?format=json-->true
</isSupportAddPersonnelOperationSupervisionTask>
<isSupportUserLoginStatusChangeEvent>
<!--ro, opt, bool, whether the device supports the UserLoginStatusChangeEvent event, desc:eventType: UserLoginStatusChangeEvent-->true
</isSupportUserLoginStatusChangeEvent>
<isSupportObstacleAvoidance>
<!--ro, opt, bool, whether it supports obstacle avoidance management, desc:GET/PUT /ISAPI/System/ObstacleAvoidance/-->true
</isSupportObstacleAvoidance>
<isSupportManualSnapFishEyeWallPanoramaView>
<!--ro, opt, bool, whether the device supports manually capturing expanded panorama images by wall-mounted fisheye, desc:GET
/ISAPI/Streaming/channels/<channelID>/ManualSnapFishEyeWallPanoramaView?format=json-->true
</isSupportManualSnapFishEyeWallPanoramaView>
<isSupportPreviewSplitSwitchCfg>
<!--ro, opt, bool, whether the device supports custom parameters of divided window switch, desc:GET/PUT /ISAPI/System/Video/PreviewSplitSwitchCfg?
format=json-->true
</isSupportPreviewSplitSwitchCfg>
<isSupportCountingTargetParam>
<!--ro, opt, bool, whether the device supports target parameters of people counting, desc:GET/PUT
/ISAPI/System/Video/inputs/channels/<channelID>/counting/CountingTargetParam?format=json-->true
</isSupportCountingTargetParam>
</isSupportCountingTargetParam>
<isSupportDebugLogModuleType opt="playService,communicationService,attendanceService,faceService">
<!--ro, opt, bool, whether the device supports exporting debug log by module, attr:opt{req, string}-->true
</isSupportDebugLogModuleType>
<isSupportLoginPasswordCfg>
<!--ro, opt, bool, whether the device supports login password parameters, desc:GET/PUT /ISAPI/Security/users/LoginPasswordCfg?format=json-->true
</isSupportLoginPasswordCfg>
<isSupportUserDataFile>
<!--ro, opt, bool, whether the device supports importing and exporting the user data file, desc:POST /ISAPI/Security/users/UserDataFile/capabilities?
format=json-->true
</isSupportUserDataFile>
<isSupportNtripAccessCfg>
<!--ro, opt, bool, whether the device supports NTRIP protocol access parameters, desc:GET/PUT /ISAPI/System/Network/Ntrip/NtripAccessCfg?format=json--
>true
</isSupportNtripAccessCfg>
<isSupportNetworkWatchdogParams>
m
<!--ro, opt, bool, whether the device supports parameters of watchdog for network performance, desc:GET/PUT /ISAPI/System/NetworkWatchdogParams?
format=json-->true
co
</isSupportNetworkWatchdogParams>
<isSupportAudioRecordPlan>
a.
<!--ro, opt, bool, whether it supports recording schedule, desc:GET/PUT /ISAPI/System/RecordAudio/channels/<audioID>/AudioRecordPlan?format=json-->true
</isSupportAudioRecordPlan>
<isSupportStartVoiceMonitor>
C. arc
<!--ro, opt, bool, whether it supports enabling audio listening, desc:POST
/ISAPI/System/TwoWayAudio/channels/channels/<twoWayAudioChannelID>/StartVoiceMonitor?format=json-->true
</isSupportStartVoiceMonitor>
<isSupportWebPTZCfg>
s, em
<!--ro, opt, bool, whether it supports displaying the web page for PTZ configuration, desc:this node is to determine whether to display the web page for
PTZ configuration and is irrelevant to whether PTZ is supported; default process logic: when this node does not exist, whether to display the web page for
A
PTZ configuration is subject to the device type-->true
no fr
</isSupportWebPTZCfg>
<isSupportGaugeReadingEvent>
ri on
<!--ro, opt, bool, whether the device supports the GaugeReadingEvent event, desc:eventType: GaugeReadingEvent-->true
</isSupportGaugeReadingEvent>
<isSupportVNCServerCfg>
Ma oc
<!--ro, opt, bool, whether it supports VNC service configuration, desc:GET/PUT /ISAPI/System/VNCServerCfg?format=json-->true
</isSupportVNCServerCfg>
<isSupportResources>
up
<!--ro, opt, bool, whether it supports resources, desc:GET /ISAPI/System/DynamicResource/Resources?format=json, Resources-->true
</isSupportResources>
co gr
<isSupportDeviceGroupMgr>
<!--ro, opt, bool, whether it supports device application resources group management, desc:GET /ISAPI/System/DeviceGroupMgr/capabilities?format=json--
>true
es a@
</isSupportDeviceGroupMgr>
<isSupportAsyncResetSubDevicePassword>
<!--ro, opt, bool, whether the device supports resetting the password of sub-device asynchronously,
Fr rc
desc:/ISAPI/Security/resetPassword/AsyncResetSubDevicePassword?format=json-->true
</isSupportAsyncResetSubDevicePassword>
<isSupportAsyncResetSubDevicePasswordStatusList>
y ema
<!--ro, opt, bool, whether the device supports the status list of asynchronously resetting sub-devices' passwords,
desc:/ISAPI/Security/resetPassword/AsyncResetSubDevicePasswordStatusList?format=json-->true
</isSupportAsyncResetSubDevicePasswordStatusList>
<isSupportEDRAccessList>
os fr
<!--ro, opt, bool, whether the device supports accessing address parameters of EDR service, desc:GET/PUT /ISAPI/System/Network/EDRAccessList?
format=json-->true
ad on
</isSupportEDRAccessList>
<isSupportBatteryCarInfoEvent>
<!--ro, opt, bool, whether to support the BatteryCarInfoEvent event, desc:eventType: BatteryCarInfoEvent-->true
el .c
</isSupportBatteryCarInfoEvent>
<isSupportChildmanage>
<!--ro, opt, bool, whether the device supports gateway sub-device topology management, desc:GET /ISAPI/IoTGateway/Childmanage/capabilities?format=json--
ez
>true
</isSupportChildmanage>
en
<isSupportSearchResources>
<!--ro, opt, bool, whether the device supports searching the resource list, desc:POST /ISAPI/System/DynamicResource/SearchResources?format=json-->true
</isSupportSearchResources>
im
<isSupportResetPasswordPhoneNo>
<!--ro, opt, bool, whether the device supports the phone No. for resetting password, desc:GET/PUT /ISAPI/Security/resetPassword/ResetPasswordPhoneNo?
ng
format=json-->true
Aj
</isSupportResetPasswordPhoneNo>
Co
<isSupportGetPhoneNoQRCode>
<!--ro, opt, bool, whether the device supports getting the QR code to be scanned by phone for resetting password, desc:GET
/ISAPI/Security/resetPassword/GetPhoneNoQRCode?format=json-->true
</isSupportGetPhoneNoQRCode>
<isSupportResetPasswordByPhoneNoSecurityCode>
<!--ro, opt, bool, whether it supports resetting device password with phone number verification, desc:PUT
/ISAPI/Security/resetPassword/ResetPasswordByPhoneNoSecurityCode?format=json-->true
</isSupportResetPasswordByPhoneNoSecurityCode>
<isSupportGaugeReadingOverlapParams>
<!--ro, opt, bool, whether the device supports water level gauge detection information overlay parameters, desc:GET/PUT
/ISAPI/Event/gaugeReading/channels/<channelID>/GaugeReadingOverlapParams?format=json-->true
</isSupportGaugeReadingOverlapParams>
<isSupportGaugeReadingRainfallEvent>
<!--ro, opt, bool, whether the device supports the GaugeReadingRainfallEvent event, desc:eventType: GaugeReadingRainfallEvent-->true
</isSupportGaugeReadingRainfallEvent>
<isSupportSearchTrafficLightMalfunctionResult>
<!--ro, opt, bool, whether the device supports searching for traffic light fault detection result, desc:POST
/ISAPI/Event/TrafficLightMalfunctionDetection/SearchTrafficLightMalfunctionResult?format=json-->true
</isSupportSearchTrafficLightMalfunctionResult>
<isSupportCheckPhoneNoSecurityCode>
<!--ro, opt, bool, whether the device supports phone security code verification, desc:PUT /ISAPI/Security/resetPassword/CheckPhoneNoSecurityCode?
format=json-->true
</isSupportCheckPhoneNoSecurityCode>
<isSupportUserValidExpired>
<isSupportUserValidExpired>
<!--ro, opt, bool, whether the device supports the UserValidExpired event, desc:eventType: UserValidExpired-->true
</isSupportUserValidExpired>
<isSupportSearchWaterLevelData>
<!--ro, opt, bool, whether the device supports searching for water level detection data, desc:POST
/ISAPI/Event/waterQualityDetection/SearchWaterLevelData?format=json-->true
</isSupportSearchWaterLevelData>
<isSupportSearchRecommendPerspective>
<!--ro, opt, bool, whether the device supports searching for recommended FoV, desc:POST
/ISAPI/Streaming/channels/channels/<channelID>/SearchRecommendPerspective?format=json-->true
</isSupportSearchRecommendPerspective>
<isSupportGetLegendaryPerspectiveInfo>
<!--ro, opt, bool, whether the device supports getting the information of camera FoV, desc:GET
/ISAPI/Streaming/channels/channels/<channelID>/GetLegendaryPerspectiveInfo?format=json-->true
</isSupportGetLegendaryPerspectiveInfo>
<configurationDataType opt="OSD,MODE,IMAGE,IOOUT,OTHERS">
<!--ro, opt, string, "OSD"-import video and image OSD settings, "MODE"-import application mode, "IMAGE"-import image parameters, "IOONT"-import
m
supplement Light Parameters, "OTHERS", attr:opt{req, string}-->test
co
</configurationDataType>
<isSupportRestoreVideoAdjustmentParam>
<!--ro, opt, bool, whether the device supports restoring video image setting parameters, desc:GET/PUT
a.
/ISAPI/System/Video/channels/<channelID>/RestoreVideoAdjustmentParam?format=json-->true
</isSupportRestoreVideoAdjustmentParam>
C. arc
<isSupportWeatherStationInfo>
<!--ro, opt, bool, whether the device supports weather station information, desc:GET/PUT /ISAPI/Traffic/channels/<channelID>/WeatherStationInfo?
format=json-->true
</isSupportWeatherStationInfo>
s, em
<isSupportRadarPerimeterAlgCap>
<!--ro, opt, bool, whether the device supports the capability of radar perimeter algorithm parameters, desc:GET
A
/ISAPI/Smart/RadarPerimeterAlg/capabilities?format=json-->true
no fr
</isSupportRadarPerimeterAlgCap>
<isSupportBodyCameraOneKeyAlarmEvent>
<!--ro, opt, bool, whether the device supports the BodyCameraOneKeyAlarmEvent event, desc:eventType: BodyCameraOneKeyAlarmEvent; this node is not
ri on
returned if not supported-->true
</isSupportBodyCameraOneKeyAlarmEvent>
Ma oc
<isSupportGetOnlineTrafficLight>
<!--ro, opt, bool, whether the device supports getting online traffic light information, desc:GET
/ISAPI/Event/TrafficLightMalfunctionDetection/GetOnlineTrafficLight?format=json-->true
up
</isSupportGetOnlineTrafficLight>
<isSupportTrafficLightMalfunctionDefaultParams>
<!--ro, opt, bool, whether the device supports default parameters of traffic light fault detection rules, desc:GET/PUT
co gr
/ISAPI/Event/TrafficLightMalfunctionDetection/TrafficLightMalfunctionDefaultParams?format=json-->true
</isSupportTrafficLightMalfunctionDefaultParams>
<isSupportFallenObjectsOnTracksDetection>
es a@
<!--ro, opt, bool, whether the device supports detection of fallen objects on tracks, desc:GET
/ISAPI/Intelligent/channels/<channelID>/FallenObjectsOnTracksDetection/capabilities?format=json-->true
Fr rc
</isSupportFallenObjectsOnTracksDetection>
s
<isSupportMonitorAuthorization>
<!--ro, opt, bool, whether the device supports device service monitoring authorization information, desc:GET
y ema
/ISAPI/Security/DeviceServiceMonitor/MonitorAuthorization?format=json-->true
</isSupportMonitorAuthorization>
<isSupportBodyCameraTakeEvent>
<!--ro, opt, bool, whether the device supports the BodyCameraTakeEvent event, desc:eventType: BodyCameraTakeEvent; this node is not returned if not
os fr
supported-->true
</isSupportBodyCameraTakeEvent>
<isSupportCollaborationModeCfg>
ad on
<!--ro, opt, bool, whether the device supports configuring multi-lens coordination mode, desc:GET/PUT /ISAPI/Intelligent/CollaborationModeCfg?
format=json-->true
el .c
</isSupportCollaborationModeCfg>
<isSupportAudioChannelVCAResource>
<!--ro, opt, bool, whether the device supports switching intelligent resources running on audio channels, desc:GET/PUT
ez
/ISAPI/System/VCAResource/channels/<audioID>/AudioChannelVCAResource?format=json-->true
</isSupportAudioChannelVCAResource>
<isSupportGasTankMonitoringEvent>
en
<!--ro, opt, bool, whether the device supports the GasTankMonitoringEvent event, desc:eventType: GasTankMonitoringEvent-->true
</isSupportGasTankMonitoringEvent>
im
<isSupportChannelClearEvent>
<!--ro, opt, bool, whether the device supports the ChannelClearEvent event, desc:eventType: ChannelClearEvent-->true
ng
</isSupportChannelClearEvent>
Aj
<isSupportBackDuty>
<!--ro, opt, bool, whether the device supports the backDuty event, desc:eventType: backDuty-->true
Co
</isSupportBackDuty>
<isSupportSleepDuty>
<!--ro, opt, bool, whether the device supports the sleepDuty event, desc:eventType: sleepDuty-->true
</isSupportSleepDuty>
<isSupportSearchChildDevResourcesStatus>
<!--ro, opt, bool, whether the device supports searching for sub-device resource status, desc:POST
/ISAPI/System/DynamicResource/SearchChildDevResourcesStatus?format=json-->true
</isSupportSearchChildDevResourcesStatus>
<isSupportDeleteResources>
<!--ro, opt, bool, whether the device supports deleting resources, desc:PUT /ISAPI/System/DynamicResource/DeleteResources?format=json-->true
</isSupportDeleteResources>
<isSupportMenuFunctionList>
<!--ro, opt, bool, whether the device supports the menu list, desc:GET /ISAPI/Thermal/MenuFunctionList?format=json-->true
</isSupportMenuFunctionList>
<isSupportKeyFunctionList>
<!--ro, opt, bool, whether the device supports the button list, desc:GET /ISAPI/Thermal/KeyFunctionList?format=json-->true
</isSupportKeyFunctionList>
<isSupportKeyValueList>
<!--ro, opt, bool, whether the device supports button key list, desc:GET /ISAPI/Thermal/KeyValueList?format=json-->true
</isSupportKeyValueList>
<isSupportGetPseudoColorBackgroundPic>
<!--ro, opt, bool, whether the device supports 3-channel palette background picture, desc:GET
/ISAPI/Streaming/channels/<channelID>/GetPseudoColorBackgroundPic?format=json-->true
</isSupportGetPseudoColorBackgroundPic>
<isSupportElevatorRunningDetection>
<!--ro, opt, bool, whether the device supports elevator running status detection, desc:GET
/ISAPI/Intelligent/channels/<channelID>/ElevatorRunningDetection/capabilities?format=json-->true
</isSupportElevatorRunningDetection>
<isSupportSearchPersonQueueRealTimeResult>
<!--ro, opt, bool, whether the device supports searching for history records of person waiting detection event, desc:POST
/ISAPI/Intelligent/personQueueDetection/SearchPersonQueueRealTimeResult?format=json-->true
</isSupportSearchPersonQueueRealTimeResult>
<isSupportSearchLeavePositionEventResult>
<!--ro, opt, bool, whether the device supports searching for history records of absence detection event, desc:POST
/ISAPI/Intelligent/HehaviorAnalysis/SearchLeavePositionEventResult?format=json-->true
</isSupportSearchLeavePositionEventResult>
<isSupportImportElectronicBadgeBackgroundImage>
<!--ro, opt, bool, whether the device supports importing the background picture of nameplate, desc:POST
/ISAPI/Traffic/ImportElectronicBadgeBackgroundImage?format=json-->true
m
</isSupportImportElectronicBadgeBackgroundImage>
co
<isSupportVoiceMonitoringEvent>
<!--ro, opt, bool, whether the device supports uploading the VoiceMonitoringEvent event, desc:eventType: VoiceMonitoringEvent-->true
</isSupportVoiceMonitoringEvent>
a.
<isSupportPseudoColorBackgroundParam>
<!--ro, opt, bool, whether the device supports 3-channel palette background parameters, desc:GET/PUT
/ISAPI/Streaming/channels/<channelID>/PseudoColorBackgroundParam?format=json-->true
C. arc
</isSupportPseudoColorBackgroundParam>
<isSupportGotoPerimeterShieldMaskScene>
<!--ro, opt, bool, whether the device supports jumping to shielded scenes of specified radar perimeter, desc:POST
/ISAPI/Smart/RadarPerimeterAlg/GotoPerimeterShieldMaskScene?format=json-->true
s, em
</isSupportGotoPerimeterShieldMaskScene>
<isSupportSearchPersonQueueTimingStatistics>
A
<!--ro, opt, bool, whether the device supports the SearchPersonQueueTimingStatistics event, desc:POST
no fr
/ISAPI/Intelligent/personQueueDetection/SearchPersonQueueTimingStatistics?format=json-->true
</isSupportSearchPersonQueueTimingStatistics>
ri on
<isSupportLocalUserChange>
<!--ro, opt, bool, whether the device supports the LocalUserChange event, desc:eventType: LocalUserChange-->true
</isSupportLocalUserChange>
Ma oc
<isSupportSendClientTask>
<!--ro, opt, bool, whether the device supports applying tasks configured on the client, desc:POST /ISAPI/System/RailwayPatrol/SendClientTask?
format=json-->true
up
</isSupportSendClientTask>
<isSupportGetCurrentClientTaskStatus>
co gr
<!--ro, opt, bool, whether the device supports getting the current execution progress of the client task, desc:GET
/ISAPI/System/RailwayPatrol/GetCurrentClientTaskStatus?format=json-->true
</isSupportGetCurrentClientTaskStatus>
es a@
<isSupportTestEDRServerConnect>
<!--ro, opt, bool, whether the device supports testing the connection status of the EDR platform, desc:POST /ISAPI/System/Network/TestEDRServerConnect?
format=json-->true
Fr rc
</isSupportTestEDRServerConnect>
<isSupportRealTimeStreamInfo>
y ema
<!--ro, opt, bool, whether the device supports getting the real-time stream information, desc:GET /ISAPI/Streaming/RealTimeStreamInfo?format=json-->true
</isSupportRealTimeStreamInfo>
<isSupportIrcutFilterStatusChange>
<!--ro, opt, bool, whether the device supports the IrcutFilterStatusChange event, desc:eventType: IrcutFilterStatusChange-->true
os fr
</isSupportIrcutFilterStatusChange>
<isSupportSendRoadMaintPictureAnalysisTask>
<!--ro, opt, bool, whether the device supports applying tasks of road maintenance picture analysis, desc:POST
ad on
/ISAPI/Intelligent/SendRoadMaintPictureAnalysisTask?format=json-->true
</isSupportSendRoadMaintPictureAnalysisTask>
<isSupportFDRemoveDuplicateParams>
el .c
<!--ro, opt, bool, whether the device supports deduplication parameters of custom face picture library, desc:GET/PUT
/ISAPI/System/Video/inputs/counting/FDRemoveDuplicateParams?format=json-->true
ez
</isSupportFDRemoveDuplicateParams>
<isSupportRadarMixedTargetSensitivityParams>
<!--ro, opt, bool, whether the device supports sensitivity parameters of multi-target-type detection via radar, desc:GET/PUT
en
/ISAPI/Smart/RadarMixedTargetAlg/RadarMixedTargetSensitivityParams?format=json-->true
</isSupportRadarMixedTargetSensitivityParams>
<isSupportMixedTargetRadarSensitivityParams>
im
<!--ro, opt, bool, whether the device supports sensitivity parameters of multi-target-type detection via video, desc:GET/PUT
/ISAPI/Intelligent/channels/<channelID>/MixedTargetRadarSensitivityParams?format=json-->true
ng
</isSupportMixedTargetRadarSensitivityParams>
Aj
<isSupportMixedTargetRadarDebugParams>
Co
<!--ro, opt, bool, whether the device supports algorithm debugging parameters of multi-target-type detection via video, desc:GET/PUT
/ISAPI/Intelligent/channels/<channelID>/MixedTargetRadarDebugParams?format=json-->true
</isSupportMixedTargetRadarDebugParams>
<isSupportHttpPreview>
<!--ro, opt, bool, whether the device supports HTTP live view,
desc:related URI: GET /ISAPI/Streaming/channels/<trackStreamID>/httppreview;
there are 2 steps as follows:
1. check if this node is returned by device and if the returned value is true. If yes, the HTTP live view function is supported by device.
2. if this node is not returned by device, you should go through the stream ID in the API (GET /ISAPI/Streaming/channels/<trackStreamID>/httppreview) of all
channels. If notSupport is returned for all channels, HTTP live view is not supported by device; if at least the success code is returned for at least one
channel, HTTP live view is supported by device.
Note: whether the stream ID (trackStreamID) is supported is determined by the response parameters StreamingChannelList, StreamingChannel, and id from GET
/ISAPI/Streaming/channels-->true
</isSupportHttpPreview>
<isSupportGetRecordThumbnail>
<!--ro, opt, bool, whether the device supports getting the video file thumbnail, desc:POST /ISAPI/ContentMgmt/search/GetRecordThumbnail?format=json--
>true
</isSupportGetRecordThumbnail>
<isSupportProxyAIOP>
<!--ro, opt, bool, whether the device supports proxy access of AIOP (AIOP devices connected with network cameras via NVR transparent transmission),
desc:when this node is supported, full AIOP functions (device AIOP capability, model package management, task rule management, detection data, etc.) can be
accessed via proxy transmission of ISAPI sub-device-->true
</isSupportProxyAIOP>
<isSupportStaticObjectPositionOffsetComparison>
<isSupportStaticObjectPositionOffsetComparison>
<!--ro, opt, bool, whether the device supports position deviation comparison of static objects, desc:GET
/ISAPI/Intelligent/channels/<channelID>/StaticObjectPositionOffsetComparison/capabilities?format=json-->true
</isSupportStaticObjectPositionOffsetComparison>
<isSupportClearFDRemoveDuplicateFDLib>
<!--ro, opt, bool, whether the device supports manually clearing the custom face picture library on device, desc:POST
/ISAPI/System/Video/inputs/counting/ClearFDRemoveDuplicateFDLib?format=json-->true
</isSupportClearFDRemoveDuplicateFDLib>
<isSupportDevPowerStatusReportCtrl>
<!--ro, opt, bool, whether the device supports control parameters of device battery status upload, desc:GET/PUT /ISAPI/System/DevPowerStatusReportCtrl?
format=json-->true
</isSupportDevPowerStatusReportCtrl>
<isSupportIndicatorLight>
<!--ro, opt, bool, whether the device supports indicator light configuration, desc:GET /ISAPI/System/IndicatorLight/capabilities?format=json-->true
</isSupportIndicatorLight>
<isSupportEnvironmentTemperatureMonitorEvent>
m
<!--ro, opt, bool, whether the device supports the EnvironmentTemperatureMonitorEvent event, desc:eventType: EnvironmentTemperatureMonitorEvent-->true
</isSupportEnvironmentTemperatureMonitorEvent>
co
<isSupportPhysicalTraining>
<!--ro, opt, bool, whether the device supports physical training, desc:GET /ISAPI/Intelligent/channels/<channelID>/PhysicalTraining/capabilities?
format=json-->true
a.
</isSupportPhysicalTraining>
<isSupportPullUp>
C. arc
<!--ro, opt, bool, whether the device supports the PullUp event, desc:eventType: PullUp-->true
</isSupportPullUp>
<isSupportSitUpWithHandsBehindHead>
<!--ro, opt, bool, whether the device supports the SitUpWithHandsBehindHead event, desc:eventType: SitUpWithHandsBehindHead-->true
s, em
</isSupportSitUpWithHandsBehindHead>
<isSupportSitUpWithArmsOnChest>
A
<!--ro, opt, bool, whether the device supports the SitUpWithArmsOnChest event, desc:eventType: SitUpWithArmsOnChest-->true
no fr
</isSupportSitUpWithArmsOnChest>
<isSupportPushUp>
<!--ro, opt, bool, whether the device supports the PushUp event, desc:eventType: PushUp-->true
ri on
</isSupportPushUp>
<isSupportPullUpHold>
Ma oc
<!--ro, opt, bool, whether the device supports the PullUpHold event, desc:eventType: PullUpHold-->true
</isSupportPullUpHold>
<isSupportVerificationPlatformParams>
up
<!--ro, opt, bool, whether the device supports accessing parameters for the verification and recording platform, desc:GET/PUT
/ISAPI/System/Network/VerificationPlatformAccess/VerificationPlatformParams?format=json-->true
</isSupportVerificationPlatformParams>
co gr
<isSupportVehicleMaintenanceDetection>
<!--ro, opt, bool, whether the device supports vehicle maintenance detection, desc:GET /ISAPI/Intelligent/VehicleMaintenanceDetection/capabilities?
es a@
format=json; detects the status of vehicles in the maintenance shop and triggers the alarm when the vehicle is lifted (when detecting chassis) or lowered,
or the hood is opened-->true
</isSupportVehicleMaintenanceDetection>
Fr rc
<isSupportPhysicalTrainingStatus>
s
<!--ro, opt, bool, whether the device supports the PhysicalTrainingStatus event, desc:eventType: PhysicalTrainingStatus-->true
</isSupportPhysicalTrainingStatus>
y ema
<isSupportDeviceAbnormalDebug>
<!--ro, opt, bool, whether the device supports device operation exception debugging, desc:GET /ISAPI/System/DeviceAbnormalDebug/capabilities?
format=json; during device operation exception, the device operation debugging data (debugging log, dump file, etc.) will be collected by technical support-
->true
os fr
</isSupportDeviceAbnormalDebug>
<isSupportSetWaterLevelResetOfWaterTank>
<!--ro, opt, bool, whether the device supports manually filling up the water tank and uploading the filled tank information for calculating remaining
ad on
<isSupportGetRemoteAlbumPicture>
<!--ro, opt, bool, whether the device supports getting pictures from the remote album, desc:POST /ISAPI/ContentMgmt/GetRemoteAlbumPicture?format=json--
>true
ez
</isSupportGetRemoteAlbumPicture>
<isSupportUltravioletImagingFusionParams>
<!--ro, opt, bool, whether the device supports UV imaging fusion parameters, desc:GET/PUT
en
/ISAPI/System/Video/channels/<channelID>/UltravioletImagingFusionParams?format=json-->true
</isSupportUltravioletImagingFusionParams>
im
<isSupportAudioAnalysisCfg>
<!--ro, opt, bool, whether it supports audio analysis parameters, desc:GET/PUT
ng
/ISAPI/Intelligent/SensitiveInfoAnalysis/AudioIn/<AudioInID>/AudioAnalysisCfg?format=json-->true
Aj
</isSupportAudioAnalysisCfg>
<isSupportRuningLogPlan>
Co
<!--ro, opt, bool, whether the device supports device operation log schedule, desc:GET/PUT /ISAPI/ContentMgmt/RuningLogPlan?format=json-->true
</isSupportRuningLogPlan>
<isSupportSearchRuningLogData>
<!--ro, opt, bool, whether the device supports searching for device operation log data, desc:POST /ISAPI/ContentMgmt/SearchRuningLogData?format=json--
>true
</isSupportSearchRuningLogData>
<isSupportExportRuningLogData>
<!--ro, opt, bool, whether the device supports exporting device operation log data, desc:POST /ISAPI/ContentMgmt/ExportRuningLogData?format=json-->true
</isSupportExportRuningLogData>
<isSupportCertificateCaptureEvent>
<!--ro, opt, bool, whether the device supports the CertificateCaptureEvent event, desc:corresponding event: CertificateCaptureEvent-->true
</isSupportCertificateCaptureEvent>
<isSupportUpgradeKeywordModel>
<!--ro, opt, bool, whether the device supports upgrading the sensitive information keyword model, desc:PUT
/ISAPI/Intelligent/SensitiveInfoAnalysis/UpgradeKeywordModel?format=json-->true
</isSupportUpgradeKeywordModel>
<isSupportGetKeywordModelStatus>
<!--ro, opt, bool, whether the device supports getting algorithm running status of the sensitive information keyword model, desc:GET
/ISAPI/Intelligent/SensitiveInfoAnalysis/GetKeywordModelStatus?format=json-->true
</isSupportGetKeywordModelStatus>
<isSupportCloseLensPrivacyCover>
<!--ro, opt, bool, whether the device supports manually closing the lens privacy cap, desc:PUT /ISAPI/System/channels/<channelID>/CloseLensPrivacyCover?
format=json-->true
</isSupportCloseLensPrivacyCover>
<isSupportOpenLensPrivacyCover>
<!--ro, opt, bool, whether the device supports manually opening the lens privacy cap, desc:PUT /ISAPI/System/channels/<channelID>/OpenLensPrivacyCover?
format=json-->true
</isSupportOpenLensPrivacyCover>
<isSupportLensPrivacyCoverModeParams>
<!--ro, opt, bool, whether the device supports working mode parameters of the lens privacy cap, desc:GET/PUT
/ISAPI/System/channels/<channelID>/LensPrivacyCoverModeParams?format=json-->true
</isSupportLensPrivacyCoverModeParams>
<isSupportOTAPService>
<!--ro, opt, bool, whether the device supports OTAP service configuration, desc:/ISAPI/System/Network/OTAPService/capabilities?format=json-->true
</isSupportOTAPService>
<isSupportGetPlaybackStreamInfo>
<!--ro, opt, bool, whether the device supports getting video playback stream information, desc:GET /ISAPI/Streaming/GetPlaybackStreamInfo?format=json--
>true
</isSupportGetPlaybackStreamInfo>
m
<isSupportNBIoTPlateformAccessStatus>
co
<!--ro, opt, bool, whether the device supports the NB-IoT platform access status, desc:GET /ISAPI/System/Network/NBIoTPlateformAccessStatus?format=json-
->true
</isSupportNBIoTPlateformAccessStatus>
a.
<isSupportScannedListEvent>
<!--ro, opt, bool, whether the device supports Bluetooth scanning list event, desc:eventType: ScannedListEvent-->true
</isSupportScannedListEvent>
C. arc
<isSupportDownloadAudioRecordByTime>
<!--ro, opt, bool, whether the device supports downloading audio files by time, desc:POST /ISAPI/System/RecordAudio/DownloadAudioRecordByTime?
format=json-->true
</isSupportDownloadAudioRecordByTime>
s, em
<isSupportBackUpConfigurationFile>
A
<!--ro, opt, bool, whether the device supports local backup of the configuration file, desc:PUT /ISAPI/System/BackUpConfigurationFile?format=json-->true
no fr
</isSupportBackUpConfigurationFile>
<isSupportRestoreConfigurationFile>
<!--ro, opt, bool, whether the device supports restoring the device local configuration file, desc:PUT /ISAPI/System/RestoreConfigurationFile?
ri on
format=json-->true
</isSupportRestoreConfigurationFile>
<isSupportGetCfgFileBackUpInfo>
Ma oc
<!--ro, opt, bool, whether the device supports getting the local configuration file backup information, desc:GET /ISAPI/System/GetCfgFileBackUpInfo?
format=json-->true
up
</isSupportGetCfgFileBackUpInfo>
<isSupportSearchVideoCodeMealParams>
<!--ro, opt, bool, whether the device supports searching for video encoding plan parameters, desc:POST
co gr
/ISAPI/Streaming/channels/<channelID>/SearchVideoCodeMealParams?format=json-->true
</isSupportSearchVideoCodeMealParams>
<isSupportVideoCodeMealParams>
es a@
<!--ro, opt, bool, whether the device supports video encoding plan parameters, desc:GET/PUT /ISAPI/Streaming/channels/<channelID>/VideoCodeMealParams?
format=json-->true
</isSupportVideoCodeMealParams>
Fr rc
<isSupportFlameCombustionStatusRuleParams>
<!--ro, opt, bool, whether the device supports flame burning status detection rule parameters, desc:GET/PUT
y ema
/ISAPI/Intelligent/channels/<channelID>/FlameCombustionStatusRuleParams?format=json-->true
</isSupportFlameCombustionStatusRuleParams>
<isSupportFlameCombustionStatusOverlapParams>
<!--ro, opt, bool, whether the device supports flame burning status detection information overlay parameters, desc:GET/PUT
os fr
/ISAPI/Intelligent/channels/<channelID>/FlameCombustionStatusOverlapParams?format=json-->true
</isSupportFlameCombustionStatusOverlapParams>
<isSupportAcousticLeakDetection>
ad on
<!--ro, opt, bool, whether the device supports acoustic leak detection capability, desc:related URL: /ISAPI/System/AcousticLeakDetection/capabilities?
format=json-->true
</isSupportAcousticLeakDetection>
el .c
<isSupportFlameCombustionStatusSceneList>
<!--ro, opt, bool, whether the device supports flame burning status detection scene list, desc:GET
ez
/ISAPI/Intelligent/channels/<channelID>/FlameCombustionStatusSceneList?format=json-->true
</isSupportFlameCombustionStatusSceneList>
<isSupportGasLeakageDetection>
en
<!--ro, opt, bool, whether the device supports gas leak event, desc:eventType: GasLeakageDetection-->true
</isSupportGasLeakageDetection>
<isSupportDischargeDetection>
im
<!--ro, opt, bool, whether the device supports discharging event, desc:eventType: DischargeDetection-->true
ng
</isSupportDischargeDetection>
Aj
<isSupportSearchBaseMapIDList>
<!--ro, opt, bool, whether the device supports searching for base map ID list, desc:POST /ISAPI/ContentMgmt/SearchBaseMapIDList?format=json-->true
Co
</isSupportSearchBaseMapIDList>
<isSupportRestoreDefaultParam>
<!--ro, opt, bool, whether the device supports restoring default parameters, desc:PUT /ISAPI/Streaming/RestoreDefaultParam?format=json-->true
</isSupportRestoreDefaultParam>
<isSupportSearchEventTargetInfo>
<!--ro, opt, bool, whether the device supports searching for event detection target information in FoV, desc:GET
/ISAPI/System/Video/inputs/channels/<channelID>/SearchEventTargetInfo?format=json-->true
</isSupportSearchEventTargetInfo>
<isSupportElevatorRunningDetectionEvent>
<!--ro, opt, bool, whether the device supports elevator running event, desc:eventType: ElevatorRunningDetectionEvent-->true
</isSupportElevatorRunningDetectionEvent>
<isSupportElevatorOperationStatistics>
<!--ro, opt, bool, whether the device supports elevator running statistics event, desc:eventType: ElevatorOperationStatistics-->true
</isSupportElevatorOperationStatistics>
<isSupportStandingLongJump>
<!--ro, opt, bool, whether the device supports standing long jump event, desc:eventType: StandingLongJump-->true
</isSupportStandingLongJump>
<isSupportJumpRope>
<!--ro, opt, bool, whether the device supports jumping rope event, desc:eventType: JumpRope-->true
</isSupportJumpRope>
<isSupportUserAvailablePwQuery>
<!--ro, opt, bool, whether the device supports person query through password, desc:eventType:UserAvailablePwQuery-->true
</isSupportUserAvailablePwQuery>
<isSupportAddHistoryEventSubscribeCfg>
<isSupportAddHistoryEventSubscribeCfg>
<!--ro, opt, bool, whether the device supports adding history event subscription, desc:POST /ISAPI/Event/notification/AddHistoryEventSubscribeCfg?
format=json-->true
</isSupportAddHistoryEventSubscribeCfg>
<isSupportHistoryEventSubscribeUploadCtrl>
<!--ro, opt, bool, whether the device supports history event subscription uploading control, desc:PUT
/ISAPI/Event/notification/HistoryEventSubscribeUploadCtrl?format=json-->true
</isSupportHistoryEventSubscribeUploadCtrl>
<isSupportHLSStreamCfg>
<!--ro, opt, bool, whether the device supports HLS streaming address parameters, desc:GET/PUT /ISAPI/Streaming/channels/<channelID>/HLSStreamCfg?
format=json-->true
</isSupportHLSStreamCfg>
<isSupportGetKeywordModelVersionInfo>
<!--ro, opt, bool, whether the device supports getting sensitive information keyword model version information, desc:GET
/ISAPI/Intelligent/SensitiveInfoAnalysis/GetKeywordModelVersionInfo?format=json-->true
</isSupportGetKeywordModelVersionInfo>
m
<isSupportManualTriggerRemoteAlbumSnapshot>
<!--ro, opt, bool, whether the device supports manually triggering remote album capture, desc:PUT /ISAPI/ContentMgmt/ManualTriggerRemoteAlbumSnapshot?
co
format=json-->true
</isSupportManualTriggerRemoteAlbumSnapshot>
a.
<isSupportRadarVideoAssistedFocusParams>
<!--ro, opt, bool, whether the device supports radar-assisted focusing parameters, desc:GET/PUT
/ISAPI/Intelligent/radarVideoDetection/channels/<channelID>/RadarVideoAssistedFocusParams?format=json-->true
C. arc
</isSupportRadarVideoAssistedFocusParams>
<isSupportCollectionResultUpload>
<!--ro, opt, bool, whether the device supports the uploading collected result event, desc:eventType: CollectionResultUpload-->true
</isSupportCollectionResultUpload>
s, em
<isSupportDeveloperMode>
<!--ro, opt, bool, whether the device supports developer mode, desc:GET/PUT /ISAPI/System/DeveloperMode?format=json-->true
A
</isSupportDeveloperMode>
no fr
<isSupportGetDetailsFunction>
<!--ro, opt, bool, whether the device supports getting detailed functions supported in T1 test, desc:GET /ISAPI/System/T1Test/DetailsFunction?
ri on
format=json-->true
</isSupportGetDetailsFunction>
<isSupportSearchDeviceIANAList>
Ma oc
<!--ro, opt, bool, whether the device supports searching for supported IANA list, desc:POST /ISAPI/System/time/SearchDeviceIANAList?format=json-->true
</isSupportSearchDeviceIANAList>
<isSupportModifySpecificROIStreamJointParams>
up
<!--ro, opt, bool, whether the device supports setting ROI stream jointing parameters, desc:PUT
/ISAPI/Streaming/channels/<channelID>/ModifySpecificROIStreamJointParams?format=json-->true
</isSupportModifySpecificROIStreamJointParams>
co gr
<isSupportDeviceTamperParams>
<!--ro, opt, bool, whether the device supports tampering parameters, desc:GET/PUT /ISAPI/System/DeviceTamperParams?format=json-->true
es a@
</isSupportDeviceTamperParams>
<isSupportDeviceTamperEvent>
<!--ro, opt, bool, whether the device supports tampering event, desc:eventType: DeviceTamperEvent-->true
Fr rc
</isSupportDeviceTamperEvent>
<isSupportRoadVariableLaneCtrlParams>
<!--ro, opt, bool, whether the device supports dynamic management parameters of changeable lane, desc:GET/PUT
y ema
/ISAPI/Traffic/RoadVariableLaneCtrl/channels/<channelID>/RoadVariableLaneCtrlParams?format=json-->true
</isSupportRoadVariableLaneCtrlParams>
<isSupportImportModelFile>
<!--ro, opt, bool, whether the device supports importing the water quality detection model file, desc:POST
os fr
/ISAPI/Event/waterQualityDetection/ImportModelFile?format=json-->true
</isSupportImportModelFile>
ad on
<isSupportSearchImportStatus>
<!--ro, opt, bool, whether the device supports getting water quality detection model file importing progress, desc:GET
/ISAPI/Event/waterQualityDetection/SearchImportStatus?format=json-->true
el .c
</isSupportSearchImportStatus>
<isSupportSafetyWorkwearDetectionOverlapParams>
<!--ro, opt, bool, whether the device supports parameters of wearing safety work clothes detection information overlay, desc:GET/PUT
ez
/ISAPI/Intelligent/channels/<channelID>/SafetyWorkwearDetectionOverlapParams?format=json-->true
</isSupportSafetyWorkwearDetectionOverlapParams>
en
<isSupportSafetyWorkwearDetectionRuleParams>
<!--ro, opt, bool, whether the device supports detection rule parameters of wearing safety work clothes, desc:GET/PUT
/ISAPI/Intelligent/channels/<channelID>/SafetyWorkwearDetectionRuleParams?format=json-->true
im
</isSupportSafetyWorkwearDetectionRuleParams>
<isSupportUpdateFirmwareMode>
ng
<!--ro, opt, bool, whether the device supports the upgrade mode, desc:GET/PUT /ISAPI/System/UpdateFirmwareMode?format=json-->true
Aj
</isSupportUpdateFirmwareMode>
<isSupportIndoorPasswayRecovery>
Co
<!--ro, opt, bool, whether the device supports indoor passway block alarm restoring event, desc:eventType: IndoorPasswayRecovery#-->true
</isSupportIndoorPasswayRecovery>
<isSupportBatteryCarRecovery>
<!--ro, opt, bool, whether the device supports electric moped parking violation alarm restoring event, desc:eventType: BatteryCarRecovery-->true
</isSupportBatteryCarRecovery>
<isSupportDetectorTemperatureRecovery>
<!--ro, opt, bool, whether the device supports detector temperature alarm restoring event, desc:eventType: DetectorTemperatureRecovery-->true
</isSupportDetectorTemperatureRecovery>
<isSupportGetRFIDReaderWorkStatus>
<!--ro, opt, bool, whether the device supports getting RFID read/write working status, desc:GET /ISAPI/Traffic/UHFRFIDReader/GetRFIDReaderWorkStatus?
format=json-->true
</isSupportGetRFIDReaderWorkStatus>
<isSupportRFIDReaderWorkStatusCtrl>
<!--ro, opt, bool, whether the device supports RFID read/write working status control, desc:PUT /ISAPI/Traffic/UHFRFIDReader/RFIDReaderWorkStatusCtrl?
format=json-->true
</isSupportRFIDReaderWorkStatusCtrl>
<isSupportFlameCombustionStatusAlgorithmsVersion>
<!--ro, opt, bool, whether the device supports getting flame burning status detection algorithm version, desc:GET
/ISAPI/Intelligent/channels/<channelID>/FlameCombustionStatusAlgorithmsVersion?format=json-->true
</isSupportFlameCombustionStatusAlgorithmsVersion>
<isSupportTestResultUpload>
<!--ro, opt, bool, whether the device supports test result uploading event, desc:eventType: TestResultUpload-->true
</isSupportTestResultUpload>
</isSupportTestResultUpload>
<isSupportAutoTestParams>
<!--ro, opt, bool, whether the device supports automation testing parameters, desc:GET/PUT /ISAPI/System/AutoTest/AutoTestParams?format=json-->true
</isSupportAutoTestParams>
<isSupportExportATInstructRecord>
<!--ro, opt, bool, whether the device supports exporting AT command records, desc:POST /ISAPI/System/ExportATInstructRecord?format=json-->true
</isSupportExportATInstructRecord>
<isSupportOfflineVideoFileManagement>
<!--ro, opt, bool, whether the device supports offline video file management, desc:GET /ISAPI/ContentMgmt/OfflineVideoFileManagement/capabilities?
format=json-->true
</isSupportOfflineVideoFileManagement>
<isSupportChannelOccupySceneList>
<!--ro, opt, bool, whether the device supports getting the scene list of fire escape occupation, desc:GET
/ISAPI/Intelligent/channels/<channelID>/ChannelOccupySceneList?format=json-->true
</isSupportChannelOccupySceneList>
<isSupportChannelOccupyAlgorithmsVersion>
<!--ro, opt, bool, whether the device supports getting the algorithm version of fire escape occupation, desc:GET
m
/ISAPI/Intelligent/channels/<channelID>/ChannelOccupyAlgorithmsVersion?format=json-->true
co
</isSupportChannelOccupyAlgorithmsVersion>
<isSupportChannelOccupyOverlapParams>
<!--ro, opt, bool, whether the device supports overlay parameters of fire escape occupation, desc:GET/PUT
a.
/ISAPI/Intelligent/channels/<channelID>/ChannelOccupyOverlapParams?format=json-->true
</isSupportChannelOccupyOverlapParams>
C. arc
<isSupportChannelOccupyRuleParams>
<!--ro, opt, bool, whether the device supports rule parameters of fire escape occupation, desc:GET/PUT
/ISAPI/Intelligent/channels/<channelID>/ChannelOccupyRuleParams?format=json-->true
</isSupportChannelOccupyRuleParams>
<isSupportGotoChannelOccupyScene>
s, em
<!--ro, opt, bool, whether the device supports jumping to the specified fire escape occupation scene, desc:PUT
A
/ISAPI/Intelligent/channels/<channelID>/GotoChannelOccupyScene?format=json-->true
no fr
</isSupportGotoChannelOccupyScene>
<isSupportChannelPassingEvent>
<!--ro, opt, bool, whether the device supports vehicles passing outdoor fire escape, desc:eventType:channelPassingEvent-->true
ri on
</isSupportChannelPassingEvent>
<isSupportGunsHandoverRuleParams>
<!--ro, opt, bool, whether the device supports object handover rule parameters, desc:GET/PUT
Ma oc
/ISAPI/Intelligent/channels/<channelID>/GunsHandoverRuleParams?format=json-->true
</isSupportGunsHandoverRuleParams>
up
<isSupportBulkUpgradeChildDevice>
<!--ro, opt, bool, whether the device supports batch upgrading sub-devices, desc:POST /ISAPI/System/BulkUpgradeChildDeviceList?format=json-->true
</isSupportBulkUpgradeChildDevice>
co gr
<isSupportSearchBulkUpgradeChildDeviceProgress>
<!--ro, opt, bool, whether the device supports checking the progress of batch upgrading sub-devices, desc:PUT
/ISAPI/System/BulkUpgradeChildDeviceList/Search?format=json-->true
es a@
</isSupportSearchBulkUpgradeChildDeviceProgress>
<isSupportDash>
Fr rc
<!--ro, opt, bool, whether the device supports the dash event, desc:eventType:Dash-->true
s
</isSupportDash>
<isSupportStopRadarVideoAssistedFocusCalibrating>
y ema
<!--ro, opt, bool, whether the device supports stopping the calibration of radar-assisted focusing, desc:PUT
/ISAPI/Intelligent/radarVideoDetection/channels/<channelID>/StopRadarVideoAssistedFocusCalibrating?format=json-->true
</isSupportStopRadarVideoAssistedFocusCalibrating>
<isSupportRadarVideoAssistedFocusCalibrating>
os fr
<!--ro, opt, bool, whether the device supports the calibration of radar-assisted focusing, desc:GET/PUT
/ISAPI/Intelligent/radarVideoDetection/channels/<channelID>/RadarVideoAssistedFocusCalibrating?format=json-->true
</isSupportRadarVideoAssistedFocusCalibrating>
ad on
<isSupportRadarVideoAssistedFocusCalibratingStatus>
<!--ro, opt, bool, whether the device supports displaying the calibration status of radar-assisted focusing, desc:GET
/ISAPI/Intelligent/radarVideoDetection/channels/<channelID>/RadarVideoAssistedFocusCalibratingStatus?format=json-->true
el .c
</isSupportRadarVideoAssistedFocusCalibratingStatus>
<isSupportETCMatchResultUpload>
ez
<!--ro, opt, bool, whether the device supports uploading ETC vehicle comparison results, desc:eventType:ETCMatchResultUpload-->true
</isSupportETCMatchResultUpload>
<isSupportPartsLifeRemind>
en
<!--ro, opt, bool, whether the device supports prompting the life span of device component, desc:corresponding event: PartsLifeRemind-->true
</isSupportPartsLifeRemind>
<isSupportAuthorizeMicAcquisitionParam>
im
<!--ro, opt, bool, whether the device supports audio authorization information, desc:GET/PUT
ng
/ISAPI/System/InformedConsentMgr/AuthorizeMicAcquisitionParam?format=json-->true
Aj
</isSupportAuthorizeMicAcquisitionParam>
<isSupportTOFDetectEvent>
Co
<!--ro, opt, bool, whether the device supports TOF detection event, desc:eventType:TOFDetectEvent-->true
</isSupportTOFDetectEvent>
<isSupportAudioAnalysisResultOSDOverlay>
<!--ro, opt, bool, whether the device supports OSD parameters of audio analysis results, desc:GET/PUT
/ISAPI/Intelligent/SensitiveInfoAnalysis/AudioAnalysisResultOSDOverlay?format=json-->true
</isSupportAudioAnalysisResultOSDOverlay>
<isSupportChildPasswordStatus>
<!--ro, opt, bool, whether the device supports getting the activation password status of sub-devices, desc:GET
/ISAPI/System/activate/ChildPasswordStatus?format=json-->true
</isSupportChildPasswordStatus>
<isSupportMutexFunctionClose>
<!--ro, opt, bool, whether the device supports quickly disabling exclusive functions, desc:POST /ISAPI/System/mutexFunctionClose?format=json-->true
</isSupportMutexFunctionClose>
<isSupportFirePointAlarmRecovery>
<!--ro, opt, bool, whether the device supports fire detection alarm restoring event, desc:eventType:FirePointAlarmRecovery-->true
</isSupportFirePointAlarmRecovery>
<isSupportSmokeAlarmRecovery>
<!--ro, opt, bool, whether the device supports smoke alarm restoring event, desc:eventType:FirePointAlarmRecovery-->true
</isSupportSmokeAlarmRecovery>
<isSupportTemperatureMeasurementPreviewAlarmRecovery>
<!--ro, opt, bool, whether the device supports temperature measurement pre-alarm restoring event, desc:eventType:TemperatureMeasurementPreviewRecovery--
>true
</isSupportTemperatureMeasurementPreviewAlarmRecovery>
<isSupportTemperatureMeasurementAlarmRecovery>
<isSupportTemperatureMeasurementAlarmRecovery>
<!--ro, opt, bool, whether the device supports temperature measurement alarm restoring event, desc:eventType:TemperatureMeasurementRecovery-->true
</isSupportTemperatureMeasurementAlarmRecovery>
<isSupportUVPhotonDetection>
<!--ro, opt, bool, whether the device supports UV photon detection event, desc:eventType:UVPhotonDetection-->true
</isSupportUVPhotonDetection>
<isSupportUVPhotonTimeDetection>
<!--ro, opt, bool, whether the device supports UV photon scheduled-detection event, desc:eventType:UVPhotonTimeDetection-->true
</isSupportUVPhotonTimeDetection>
<isSupportPatientExpensesInfoQuery>
<!--ro, opt, bool, whether the device supports the patient cost search event, desc:eventType:PatientExpensesInfoQuery-->true
</isSupportPatientExpensesInfoQuery>
<isSupportReinforcementCallEvent>
<!--ro, opt, bool, whether the device supports reinforcement call event, desc:eventType:ReinforcementCallEvent-->true
</isSupportReinforcementCallEvent>
<isSupportChargeMode>
m
<!--ro, opt, bool, whether the device supports charging mode, desc:GET/PUT /ISAPI/System/ChargeMode?format=json-->true
</isSupportChargeMode>
co
<isSupportCombinationRuleParams>
<!--ro, opt, bool, whether the device supports combination rule parameters of perimeter detection, desc:GET/PUT
a.
/ISAPI/Intelligent/channels/<channelID>/PerimeterCombinationDetection/CombinationRuleParams?format=json-->true
</isSupportCombinationRuleParams>
<isSupportSwitchHolidayPlanCfg>
C. arc
<!--ro, opt, bool, whether the device supports the regular startup/shutdown on holiday, desc:GET/PUT /ISAPI/System/SwitchHolidayPlanCfg?format=json--
>true
</isSupportSwitchHolidayPlanCfg>
<isSupportSwitchIrregularHolidayPlanCfg>
s, em
<!--ro, opt, bool, whether the device supports irregular startup/shutdown on holiday, desc:GET/PUT /ISAPI/System/SwitchIrregularHolidayPlanCfg?
format=json-->true
A
</isSupportSwitchIrregularHolidayPlanCfg>
no fr
<isSupportSearchPresetConfigInfo>
<!--ro, opt, bool, whether the device supports searching for the configuration of specified presets, desc:POST
ri on
/ISAPI/Intelligent/channels/<channelID>/SearchPresetConfigInfo?format=json-->true
</isSupportSearchPresetConfigInfo>
<isSupportSwitchPlanCfg>
Ma oc
<!--ro, opt, bool, whether the device supports startup/shutdown schedule, desc:GET/PUT /ISAPI/System/SwitchPlanCfg?format=json-->true
</isSupportSwitchPlanCfg>
<isSupportVegetationSpectrumDetection>
up
<!--ro, opt, bool, whether the device supports vegetation spectrum detection, desc:eventType:VegetationSpectrumDetection-->true
</isSupportVegetationSpectrumDetection>
co gr
<isSupportCaptureResultAttributeSearch>
<!--ro, opt, bool, whether the device supports searching for attributes of human body capture, desc:POST
/ISAPI/Intelligent/CaptureResultAttributeSearch?format=json-->true
es a@
</isSupportCaptureResultAttributeSearch>
<isSupportHealthEducationInfoReadStatus>
<!--ro, opt, bool, whether the device supports the event of uploading the reading status of health education information,
Fr rc
desc:eventType:HealthEducationInfoReadStatus-->true
</isSupportHealthEducationInfoReadStatus>
<isSupportNurseLocationEvent>
y ema
<!--ro, opt, bool, whether the device supports nurse locating event, desc:eventType:NurseLocationEvent-->true
</isSupportNurseLocationEvent>
<isSupportModifyChildDevResource>
<!--ro, opt, bool, whether the device supports editing gateway resource information, desc:POST /ISAPI/System/DynamicResource/ModifyChildDevResource?
os fr
format=json-->true
</isSupportModifyChildDevResource>
ad on
<isSupportDiagnosisDataCollectionParams>
<!--ro, opt, bool, whether the device supports diagnosis data statistics parameters, desc:GET/PUT /ISAPI/System/DiagnosisDataCollectionParams?
format=json-->true
el .c
</isSupportDiagnosisDataCollectionParams>
<isSupportServicePlatformAccountAuth>
<!--ro, opt, bool, whether the device supports platform account authentication, desc:GET /ISAPI/Security/ServicePlatformAccountAuth/capabilities?
ez
format=json-->true
</isSupportServicePlatformAccountAuth>
en
<isSupportSyncPatientInfoEvent>
<!--ro, opt, bool, whether the device supports synchronizing patient information, desc:eventType:SyncPatientInfoEvent-->true
</isSupportSyncPatientInfoEvent>
im
<isSupportAuthenticationNetworkCfg>
<!--ro, opt, bool, whether the device supports the authentication parameters of networking method, desc:GET/PUT
ng
/ISAPI/Security/ProtocolCertificate/AuthenticationNetworkCfg?format=json-->true
Aj
</isSupportAuthenticationNetworkCfg>
Co
<isSupportPersonnelChannelLogParams>
<!--ro, opt, bool, whether the device supports turnstile log parameters, desc:GET/PUT /ISAPI/ContentMgmt/PersonnelChannelLogParams?format=json-->true
</isSupportPersonnelChannelLogParams>
<isSupportElectricSaveModeParams>
<!--ro, opt, bool, whether the device supports power-saving mode parameters, desc:GET/PUT /ISAPI/System/ElectricSaveModeParams?format=json-->true
</isSupportElectricSaveModeParams>
<isSupportChannelOccupyPOSParams>
<!--ro, opt, bool, whether the device supports overlaying POS information on the outdoor access blocking detection data, desc:GET/PUT
/ISAPI/Intelligent/channels/<channelID>/ChannelOccupyPOSParams?format=jsonGET or PUT
/ISAPI/Intelligent/channels/<channelID>/SafetyWorkwearDetectionRuleParams?format=json-->true
</isSupportChannelOccupyPOSParams>
<isSupportChildPowerTimePlanParams>
<!--ro, opt, bool, whether the device supports power-off schedule parameters of sub-devices, desc:GET/PUT /ISAPI/System/ChildPowerTimePlanParams?
format=json-->true
</isSupportChildPowerTimePlanParams>
<isSupportPowerIndicatorLightCtrlParams>
<!--ro, opt, bool, whether the device supports parameters of device battery indicator control, desc:GET/PUT /ISAPI/System/PowerIndicatorLightCtrlParams?
format=json-->true
</isSupportPowerIndicatorLightCtrlParams>
<isSupportRadarVideoMapDetectionParams>
<!--ro, opt, bool, whether the device supports parameters of radar-assisted map detection, desc:GET
/ISAPI/Intelligent/radarVideoDetection/channels/<channelID>/RadarVideoMapDetectionParams?format=json-->true
</isSupportRadarVideoMapDetectionParams>
<isSupportRadarPOSParams>
<isSupportRadarPOSParams>
<!--ro, opt, bool, whether the device supports overlaying POS information on the radar detection data, desc:GET/PUT
/ISAPI/System/Video/inputs/channels/<channelID>/RadarPOSParams?format=json-->true
</isSupportRadarPOSParams>
<isSupportVideoIntercomModeEvent>
<!--ro, opt, bool, whether the device supports the two-way audio mode event, desc:eventType:VideoIntercomModeEvent-->true
</isSupportVideoIntercomModeEvent>
<isSupportSoftwareAndHardwareCtrlParams>
<!--ro, opt, bool, whether the device supports parameters of hardware and software service control, desc:GET/PUT
/ISAPI/System/FunctionSwitchCtrl/SoftwareAndHardwareCtrlParams?format=json-->true
</isSupportSoftwareAndHardwareCtrlParams>
<isSupportUserLoginAbnormal>
<!--ro, opt, bool, whether the device supports user login exception information, desc:GET/PUT /ISAPI/Security/users/UserLoginAbnormal?format=json-->true
</isSupportUserLoginAbnormal>
<isSupportIndustryThermometryAdvancedParam>
<!--ro, opt, bool, whether the device supports the advanced parameters of industrial temperature measurement, desc:GET/PUT
/ISAPI/Thermal/channels/<channelID>/IndustryThermometryAdvancedParam?format=json-->true
m
</isSupportIndustryThermometryAdvancedParam>
co
<isSupportGotoVideoRecheckScene>
<!--ro, opt, bool, whether the device supports jumping to the specified scene of water level recheck detection, desc:POST
/ISAPI/Event/channels/<channelID>/GotoVideoRecheckScene?format=json-->true
a.
</isSupportGotoVideoRecheckScene>
<isSupportVideoRecheckRuleParams>
C. arc
<!--ro, opt, bool, whether the device supports rule parameters of water level recheck scene, desc:PUT
/ISAPI/Event/channels/<channelID>/VideoRecheckRuleParams?format=json-->true
</isSupportVideoRecheckRuleParams>
<isSupportVideoRecheckSceneList>
s, em
<!--ro, opt, bool, whether the device supports getting the list of water level recheck detection scenes, desc:GET
/ISAPI/Event/channels/<channelID>/VideoRecheckSceneList?format=json-->true
A
</isSupportVideoRecheckSceneList>
no fr
<isSupportPeopleSedentary>
<!--ro, opt, bool, whether the device supports sedentary detection, desc:eventType:PeopleSedentary-->true
</isSupportPeopleSedentary>
ri on
<isSupportPeopleFallingDownDetection>
<!--ro, opt, bool, whether the device supports person fall detection, desc:eventType:PeopleFallingDownDetection-->true
Ma oc
</isSupportPeopleFallingDownDetection>
<isSupportBridgeDeflectionTargetCalibration>
<!--ro, opt, bool, whether the device supports target calibration of bridge deflection, desc:PUT
up
/ISAPI/Intelligent/channels/<channelID>/BridgeDeflectionTargetCalibration?format=json-->true
</isSupportBridgeDeflectionTargetCalibration>
<isSupportGetBridgeDeflectionTargetCalibrationStatus>
co gr
<!--ro, opt, bool, whether the device supports getting the target calibration status of bridge deflection, desc:GET
/ISAPI/Intelligent/channels/<channelID>/GetBridgeDeflectionTargetCalibrationStatus?format=json-->true
</isSupportGetBridgeDeflectionTargetCalibrationStatus>
es a@
<isSupportBridgeDeflectionMonitoringRuleParams>
<!--ro, opt, bool, whether the device supports the rule parameters of bridge deflection monitoring, desc:GET/PUT
Fr rc
/ISAPI/Intelligent/channels/<channelID>/BridgeDeflectionMonitoringRuleParams?format=json-->true
s
</isSupportBridgeDeflectionMonitoringRuleParams>
<isSupportHardwareReboot>
y ema
<!--ro, opt, bool, whether the device supports hardware rebooting, desc:PUT /ISAPI/System/HardwareReboot?format=json-->true
</isSupportHardwareReboot>
<isSupportSearchSceneCalibrationStatus>
<!--ro, opt, bool, whether the device supports searching for calibration status of multiple channels by scene, desc:POST
os fr
/ISAPI/System/setupCalibration/channels/<channelID>/SearchSceneCalibrationStatus?format=json-->true
</isSupportSearchSceneCalibrationStatus>
<isSupportSearchSceneCalibration>
ad on
<!--ro, opt, bool, whether the device supports searching for calibration status of multiple channels by scene, desc:POST
/ISAPI/System/setupCalibration/channels/<channelID>/SearchSceneCalibration?format=json-->true
el .c
</isSupportSearchSceneCalibration>
<isSupportSoundSourceLocationRuleParams>
<!--ro, opt, bool, whether the device supports rule parameters of sound source locating, desc:GET/PUT
ez
/ISAPI/System/SoundSourceLocation/AudioIn/<AudioInID>/SoundSourceLocationRuleParams?format=json-->true
</isSupportSoundSourceLocationRuleParams>
<isSupportPersonnelChannelLogDebug>
en
<!--ro, opt, bool, whether the device supports debugging commands of turnstile logs, desc:GET /ISAPI/ContentMgmt/PersonnelChannelLogDebug/capabilities?
format=json-->true
im
</isSupportPersonnelChannelLogDebug>
<isSupportCheckDeviceExistNUCFile>
ng
<!--ro, opt, bool, whether the device supports checking the locally stored the NUC file, desc:GET
Aj
/ISAPI/System/VideoQualityMeasurementCollection/channels/<channelID>/CheckDeviceExistNUCFile?format=json-->true
</isSupportCheckDeviceExistNUCFile>
Co
<isSupportExportSmartDataData>
<!--ro, opt, bool, whether the device supports exporting smart data, desc:GET /ISAPI/System/VideoQualityMeasurementCollection/ExportSmartDataData?
format=json-->true
</isSupportExportSmartDataData>
<isSupportGetCollectImageCalculateResult>
<!--ro, opt, bool, whether the device supports getting the calculation result of image collection, desc:GET
/ISAPI/System/VideoQualityMeasurementCollection/channels/<channelID>/GetCollectImageCalculateResult?format=json-->true
</isSupportGetCollectImageCalculateResult>
<isSupportAIOPAlarmTrans>
<!--ro, opt, bool, whether the device supports uploading AIOP-related events via ISAPI message transmitted by COMM_VCA_ALARM,
desc:AIOP-related events include the following binary alarm types defined in HCNetSDK:
AIOP-accessed video detection alarm information (binary alarm: COMM_UPLOAD_AIOP_VIDEO, ISAPI alarm: AIOP_Video), AIOP-accessed picture detection alarm
information (binary alarm: COMM_UPLOAD_AIOP_PICTURE, ISAPI alarm: AIOP_Picture), AIOP-accessed capture polling detection alarm information (binary alarm:
COMM_UPLOAD_AIOP_POLLING_SNAP, ISAPI alarm: AIOP_Polling_Snap), AIOP-accessed video polling detection alarm information (binary alarm:
COMM_UPLOAD_AIOP_POLLING_VIDEO, ISAPI alarm: AIOP_Polling_Video))-->true
</isSupportAIOPAlarmTrans>
<isSupportLongDistanceRace>
<!--ro, opt, bool, whether the device supports long-distance race event, desc:eventType:LongDistanceRace-->true
</isSupportLongDistanceRace>
<isSupportIndicatorLightAbnormal>
<!--ro, opt, bool, whether the device supports abnormal alarm indicator event, desc:eventType:IndicatorLightAbnormal-->true
</isSupportIndicatorLightAbnormal>
<isSupportVideoLostPictureStatus>
<!--ro, opt, bool, whether the device supports the status of custom pictures displayed when video loss occurred, desc:GET
/ISAPI/System/Video/videolosses/VideoLostPictureStatus?format=json-->true
</isSupportVideoLostPictureStatus>
<DualVCA>
<!--ro, opt, object-->
<isSupportdualVCAList>
<!--ro, opt, bool-->true
</isSupportdualVCAList>
<enabled opt="true,false" def="true">
<!--ro, opt, bool, attr:opt{req, string},def{req, bool}-->true
</enabled>
</DualVCA>
<isSupportGetScopeCalibrationStatus>
<!--ro, opt, bool, whether the device supports getting the scope calibration status, desc:GET
/ISAPI/Intelligent/channels/<channelID>/GetScopeCalibrationStatus?format=json-->true
</isSupportGetScopeCalibrationStatus>
m
<isSupportSearchShootTableUserGroupParams>
co
<!--ro, opt, bool, whether the device supports searching for the parameters of specified zeroing profiles, desc:POST
/ISAPI/Intelligent/channels/<channelID>/SearchShootTableUserGroupParams?format=json-->true
</isSupportSearchShootTableUserGroupParams>
a.
<isSupportModifyCurrentShootTableParams>
<!--ro, opt, bool, whether the device supports editing the information of current valid zeroing profiles, desc:PUT
/ISAPI/Intelligent/channels/<channelID>/ModifyCurrentShootTableParams?format=json-->true
C. arc
</isSupportModifyCurrentShootTableParams>
<isSupportCalibrateScopeTargetPointPosition>
<!--ro, opt, bool, whether the device supports calibrating the absolute position of the sight cross and drop point, desc:PUT
/ISAPI/Intelligent/channels/<channelID>/CalibrateScopeTargetPointPosition?format=json-->true
s, em
</isSupportCalibrateScopeTargetPointPosition>
<isSupportGetCurrentShootTableParams>
A
<!--ro, opt, bool, whether the device supports getting the information of the current valid zeroing profiles, desc:GET
no fr
/ISAPI/Intelligent/channels/<channelID>/GetCurrentShootTableParams?format=json-->true
</isSupportGetCurrentShootTableParams>
ri on
<isSupportVideoGunsightRuleParam>
<!--ro, opt, bool, whether the device supports rule parameters of video scope, desc:GET/PUT
/ISAPI/Intelligent/channels/<channelID>/VideoGunsightRuleParam?format=json-->true
Ma oc
</isSupportVideoGunsightRuleParam>
<isSupportFinishCollectImageData>
<!--ro, opt, bool, whether it supports completing the collection of image data, desc:GET
up
/ISAPI/System/VideoQualityMeasurementCollection/channels/<channelID>/FinishCollectImageData?format=json-->true
</isSupportFinishCollectImageData>
co gr
<isSupportStartCollectImageData>
<!--ro, opt, bool, whether it supports starting collecting image data, desc:GET
/ISAPI/System/VideoQualityMeasurementCollection/channels/<channelID>/StartCollectImageData?format=json-->true
es a@
</isSupportStartCollectImageData>
<isSupportSearchBridgeDeflectionMonitoringEvent>
<!--ro, opt, bool-->true
Fr rc
</isSupportSearchBridgeDeflectionMonitoringEvent>
<isSupportGetAllPIPCofigParams>
y ema
</isSupportManualDetectionCarriageClearStatus>
<isSupportGetCarriageClearCalibrationStatus>
<!--ro, opt, bool-->true
ad on
</isSupportGetCarriageClearCalibrationStatus>
<isSupportModifyCarriageClearCalibration>
<!--ro, opt, bool-->true
el .c
</isSupportModifyCarriageClearCalibration>
<isSupportCarriageClearRuleParams>
ez
<isSupportStartTemperatureRiseCalibration>
Aj
</isSupportStartTemperatureRiseCalibration>
<isSupportGetTemperatureRiseCalibrationStatus>
<!--ro, opt, bool-->true
</isSupportGetTemperatureRiseCalibrationStatus>
<isSupportExportTemperatureRiseCalibrationFile>
<!--ro, opt, bool-->true
</isSupportExportTemperatureRiseCalibrationFile>
<isSupportGetTemperatureRiseCorrectionVersion>
<!--ro, opt, bool-->true
</isSupportGetTemperatureRiseCorrectionVersion>
<isSupportSearchImportDeviceDataTaskProgress>
<!--ro, opt, bool-->true
</isSupportSearchImportDeviceDataTaskProgress>
<isSupportSearchExportDeviceDataTaskProgress>
<!--ro, opt, bool-->true
</isSupportSearchExportDeviceDataTaskProgress>
<isSupportAddImportDeviceDataTask>
<!--ro, opt, bool-->true
</isSupportAddImportDeviceDataTask>
<isSupportAddExportDeviceDataTask>
<!--ro, opt, bool-->true
</isSupportAddExportDeviceDataTask>
<isSupportSearchRecordStorage>
<!--ro, opt, bool-->true
<!--ro, opt, bool-->true
</isSupportSearchRecordStorage>
<isSupportDetectionPathRuleParams>
<!--ro, opt, bool-->true
</isSupportDetectionPathRuleParams>
<isSupportSearchObjectDistanceFocusInfoList>
<!--ro, opt, bool-->true
</isSupportSearchObjectDistanceFocusInfoList>
<isSupportMoveObjectDistanceFocusLocation>
<!--ro, opt, bool-->true
</isSupportMoveObjectDistanceFocusLocation>
<isSupportAddObjectDistanceFocusInfo>
<!--ro, opt, bool-->true
</isSupportAddObjectDistanceFocusInfo>
<isSupportModifyObjectDistanceFocusInfo>
<!--ro, opt, bool-->true
m
</isSupportModifyObjectDistanceFocusInfo>
<isSupportObjectDistanceCalibrateAutoFocusParams>
co
<!--ro, opt, bool-->true
</isSupportObjectDistanceCalibrateAutoFocusParams>
<isSupportExpresswayNetworkTollAccessParams>
a.
<!--ro, opt, bool-->true
</isSupportExpresswayNetworkTollAccessParams>
C. arc
<isSupportControlCameraDetectAction>
<!--ro, opt, bool-->true
</isSupportControlCameraDetectAction>
<isSupportObjectDistanceAccessWay>
s, em
<!--ro, opt, bool-->true
</isSupportObjectDistanceAccessWay>
A
<isSupportCancelTemperatureRiseCalibration>
no fr
<!--ro, opt, bool-->true
</isSupportCancelTemperatureRiseCalibration>
<isSupportRTCTimeTrigger>
ri on
<!--ro, opt, bool-->true
</isSupportRTCTimeTrigger>
Ma oc
<isSupportChargingGunAbnormalEvent>
<!--ro, opt, bool-->true
</isSupportChargingGunAbnormalEvent>
up
<isSupportVideoChannelEnhance>
<!--ro, opt, bool-->true
</isSupportVideoChannelEnhance>
co gr
<isSupportDeleteObjectDistanceFocusInfo>
<!--ro, opt, bool-->true
es a@
</isSupportDeleteObjectDistanceFocusInfo>
<isSupportGetStartTemperatureRiseCalibrationParams>
<!--ro, opt, bool-->true
Fr rc
</isSupportGetStartTemperatureRiseCalibrationParams>
s
<isSupportSearchAudioRecordPlan>
<!--ro, opt, bool-->true
y ema
</isSupportSearchAudioRecordPlan>
<isSupportCleanerDetectionOverlapParams>
<!--ro, opt, bool-->true
</isSupportCleanerDetectionOverlapParams>
os fr
<isSupportWaterLevelVerticalAreaDisplayParams>
<!--ro, opt, bool-->true
</isSupportWaterLevelVerticalAreaDisplayParams>
ad on
<isSupportGetRecordStatusList>
<!--ro, opt, bool-->true
el .c
</isSupportGetRecordStatusList>
<isSupportWiperClean>
<!--ro, opt, bool-->true
ez
</isSupportWiperClean>
<isSupportGetNATStatus>
<!--ro, opt, bool-->true
en
</isSupportGetNATStatus>
<isSupportRestoreSensitivityDefaultParams>
im
<isSupportCarryPassengersPricingStatus>
Aj
<isSupportCarryPassengersNoPricing>
<!--ro, opt, bool-->true
</isSupportCarryPassengersNoPricing>
<isSupportNPlusMultiple>
<!--ro, opt, bool-->true
</isSupportNPlusMultiple>
<ifPopUpNetWorkCfgSetting>
<!--ro, opt, bool-->true
</ifPopUpNetWorkCfgSetting>
<AudioOutputChannelCfg>
<!--ro, opt, object-->
<AudioOutputChannelIDList>
<!--ro, opt, array, subType:object-->
<AudioOutputChannelID>
<!--ro, req, int-->1
</AudioOutputChannelID>
</AudioOutputChannelIDList>
</AudioOutputChannelCfg>
<isSupportImportTemperatureRiseCalibrationFile>
<!--ro, opt, bool-->true
</isSupportImportTemperatureRiseCalibrationFile>
<isSupportGetAPPQRCodePic>
<!--ro, opt, bool-->true
</isSupportGetAPPQRCodePic>
<isSupportPersionQueueRealTimeData>
<!--ro, opt, bool-->true
</isSupportPersionQueueRealTimeData>
<isSupportImageVignettingOptimizeParams>
<!--ro, opt, bool-->true
</isSupportImageVignettingOptimizeParams>
<isSupportStartMultispectralCalibration>
<!--ro, opt, bool-->true
</isSupportStartMultispectralCalibration>
<isSupportGetMultispectralCalibrationStatus>
<!--ro, opt, bool-->true
</isSupportGetMultispectralCalibrationStatus>
<isSupportStopRadarVideoTargetTracking>
<!--ro, opt, bool-->true
</isSupportStopRadarVideoTargetTracking>
m
<isSupportGetRadarVideoTargetTrackingStatus>
co
<!--ro, opt, bool-->true
</isSupportGetRadarVideoTargetTrackingStatus>
<isSupportStartRadarVideoTargetTracking>
a.
<!--ro, opt, bool-->true
</isSupportStartRadarVideoTargetTracking>
<isSupportBatteryChargeCtrl>
C. arc
<!--ro, opt, bool-->true
</isSupportBatteryChargeCtrl>
<isUpgrageAuxDevice opt="true,false">
<!--ro, opt, string, attr:opt{opt, string}-->true
s, em
</isUpgrageAuxDevice>
A
<isSupportClearFile>
no fr
<!--ro, opt, bool-->true
</isSupportClearFile>
<isSupportRestoreDefaultParamByChannel>
ri on
<!--ro, opt, bool-->true
</isSupportRestoreDefaultParamByChannel>
<isSupportGetMultispectralCalibrationParams>
Ma oc
<!--ro, opt, bool-->true
</isSupportGetMultispectralCalibrationParams>
up
<isSupportGetThermometryCalibrationData>
<!--ro, opt, bool-->true
</isSupportGetThermometryCalibrationData>
co gr
<isSupportImportEncryptedComponentFile>
<!--ro, opt, bool-->true
</isSupportImportEncryptedComponentFile>
es a@
<isSupportGetFrameMeanValue>
<!--ro, opt, bool-->true
</isSupportGetFrameMeanValue>
Fr rc
<isSupportGetBaffleImage>
<!--ro, opt, bool-->true
y ema
</isSupportGetBaffleImage>
<isSupportThermometryGainMode>
<!--ro, opt, bool-->true
</isSupportThermometryGainMode>
os fr
<isSupportGetChannelEnhancePreOperationTips>
<!--ro, opt, bool-->true
</isSupportGetChannelEnhancePreOperationTips>
ad on
<isSupportGetDeviceNetworkLinkStatus>
<!--ro, opt, bool-->true
</isSupportGetDeviceNetworkLinkStatus>
el .c
<isSupportManualRefreshOnlineUserList>
<!--ro, opt, bool-->true
ez
</isSupportManualRefreshOnlineUserList>
<isSupportVCAAlarmTrans>
<!--ro, opt, bool-->true
en
</isSupportVCAAlarmTrans>
<isSupportHumidityEvent>
<!--ro, opt, bool-->true
im
</isSupportHumidityEvent>
ng
<isSupportHumidityDetectionParams>
Aj
<isSupportDisplayThermometryFirePrevention>
<!--ro, opt, bool-->true
</isSupportDisplayThermometryFirePrevention>
<isSupportPreRemoteCheckEvent>
<!--ro, opt, bool-->true
</isSupportPreRemoteCheckEvent>
<isSupportSearchExportDeviceStatusTaskProgress>
<!--ro, opt, bool-->true
</isSupportSearchExportDeviceStatusTaskProgress>
<isSupportAddExportDeviceStatusTask>
<!--ro, opt, bool-->true
</isSupportAddExportDeviceStatusTask>
<isSupportInsulatorThermometryRuleParams>
<!--ro, opt, bool-->true
</isSupportInsulatorThermometryRuleParams>
<isSupportInsulatorCruiseParams>
<!--ro, opt, bool-->true
</isSupportInsulatorCruiseParams>
<isSupportModifyInsulatorDetectionRegion>
<!--ro, opt, bool-->true
</isSupportModifyInsulatorDetectionRegion>
<isSupportMoveInsulatorPosition>
<!--ro, opt, bool-->true
</isSupportMoveInsulatorPosition>
</isSupportMoveInsulatorPosition>
<isSupportDeleteInsulatorGroup>
<!--ro, opt, bool-->true
</isSupportDeleteInsulatorGroup>
<isSupportGenerateInsulatorRuleRegion>
<!--ro, opt, bool-->true
</isSupportGenerateInsulatorRuleRegion>
<isSupportGetInsulatorAllName>
<!--ro, opt, bool-->true
</isSupportGetInsulatorAllName>
<isSupportSearchUploadLog>
<!--ro, opt, bool-->true
</isSupportSearchUploadLog>
<isSupportRainfallTelemeter>
<!--ro, opt, bool-->true
</isSupportRainfallTelemeter>
m
<isSupportPosOverlayTest>
<!--ro, opt, bool-->true
co
</isSupportPosOverlayTest>
<isSupportFullScreenPosOverlay>
a.
<!--ro, opt, bool-->true
</isSupportFullScreenPosOverlay>
<isSupportVCAOptimizeDisplay>
C. arc
<!--ro, opt, bool-->true
</isSupportVCAOptimizeDisplay>
<isSupportAddInsulatorGroup>
<!--ro, opt, bool-->true
s, em
</isSupportAddInsulatorGroup>
<isSupportSearchInsulatorParams>
A
<!--ro, opt, bool-->true
no fr
</isSupportSearchInsulatorParams>
<isSupportSetInsulatorParams>
ri on
<!--ro, opt, bool-->true
</isSupportSetInsulatorParams>
<isSupportInsulatorAbnormalAlarm>
Ma oc
<!--ro, opt, bool-->true
</isSupportInsulatorAbnormalAlarm>
<isSupportGetFlashLifespanInfo>
up
<!--ro, opt, bool-->true
</isSupportGetFlashLifespanInfo>
<isSupportCrowdDispersing>
co gr
<isSupportPeripheralAbnormalEvent>
<!--ro, opt, bool-->true
</isSupportPeripheralAbnormalEvent>
Fr rc
<isSupportPeripheralAbnormalTrigger>
<!--ro, opt, bool-->true
</isSupportPeripheralAbnormalTrigger>
y ema
<isSupportBodyCameraAbnormalEvent>
<!--ro, opt, bool-->true
</isSupportBodyCameraAbnormalEvent>
<isSupportDeviceWorkModeAsyncStatusEvent>
os fr
<isSupportDeviceUserAsyncStatusEvent>
<!--ro, opt, bool-->true
</isSupportDeviceUserAsyncStatusEvent>
el .c
<isSupportVideoCodingAsyncStatusEvent>
<!--ro, opt, bool-->true
</isSupportVideoCodingAsyncStatusEvent>
ez
<isSupportRecordAsyncStatusEvent>
<!--ro, opt, bool-->true
en
</isSupportRecordAsyncStatusEvent>
<isSupportISUPAccessAsyncStatusEvent>
<!--ro, opt, bool-->true
im
</isSupportISUPAccessAsyncStatusEvent>
<isSupportWirelessConfigListAsyncStatusEvent>
ng
</isSupportWirelessConfigListAsyncStatusEvent>
<isSupportDeviceLocationAsyncStatusEvent>
Co
m
co
16.1.9.4 Get the languages supported by the device
a.
Request URL
C. arc
GET /ISAPI/System/DeviceLanguage
Query Parameter
s, em
A
None
no fr
Request Message
ri on
None
Ma oc
Response Message up
<?xml version="1.0" encoding="UTF-8"?>
co gr
<!--ro, req, enum, language, subType:string, desc:"SimChinese" (simplified Chinese), "TraChinese" (traditional Chinese), "English", "Russian",
"Bulgarian", "Hungarian", "Greek", "German", "Italian", "Czech", "Slovakia", "French", "Polish", "Dutch", "Portuguese", "Spanish", "Romanian", "Turkish",
"Japanese", "Danish", "Swedish", "Norwegian", "Finnish", "Korean", "Thai", "Estonia", "Vietnamese", "Hebrew", "Latvian", "Arabic", "Sovenian"-Slovenian,
Fr rc
"Croatian", "Lithuanian", "Serbian", "BrazilianPortuguese"-Brazilian Portuguese, "Indonesian", "Ukrainian", "EURSpanish", "Sovenian", "Uzbek", "Kazak",
"Kirghiz", "Farsi", "Azerbaidzhan", "Burmese", "Mongolian"-->SimChinese
y ema
</language>
</DeviceLanguage>
os fr
Request URL
el .c
PUT /ISAPI/System/DeviceLanguage
Query Parameter
ez
None
en
Request Message
im
ng
Response Message
<?xml version="1.0" encoding="UTF-8"?>
m
</statusString>
<subStatusCode>
co
<!--ro, req, string, sub status code, which describes the error in details, desc:sub status code, which describes the error in details-->OK
</subStatusCode>
</ResponseStatus>
a.
C. arc
16.1.9.6 Get the capability of configuring the device language
Request URL
s, em
A
GET /ISAPI/System/DeviceLanguage/capabilities
no fr
Query Parameter
ri on
None
Ma oc
Request Message
None
up
Response Message
co gr
<language
opt="SimChinese,TraChinese,English,Russian,Bulgarian,Hungarian,Greek,German,Italian,Czech,Slovakia,French,Polish,Dutch,Portuguese,Spanish,Romanian,Turkish,J
y ema
apanese,Danish,Swedish,Norwegian,Finnish,Korean,Thai,Estonia,Vietnamese,Hebrew,Latvian,Arabic,Sovenian,Croatian,Lithuanian,Serbian,BrazilianPortuguese,Indon
esian,Ukrainian,EURSpanish,Uzbek,Kazak,Kirghiz,Farsi,Azerbaidzhan,Burmese,Mongolian,Anglicism,Estonian">
<!--ro, req, enum, language, subType:string, attr:opt{req, string}, desc:"SimChinese" (simplified Chinese), "TraChinese" (traditional Chinese),
"English", "Russian", "Bulgarian", "Hungarian", "Greek", "German", "Italian", "Czech", "Slovakia", "French", "Polish", "Dutch", "Portuguese", "Spanish",
os fr
"Romanian", "Turkish", "Japanese", "Danish", "Swedish", "Norwegian", "Finnish", "Korean", "Thai", "Estonia", "Vietnamese", "Hebrew", "Latvian", "Arabic",
"Sovenian"-Slovenian, "Croatian", "Lithuanian", "Serbian", "BrazilianPortuguese"-Brazilian Portuguese, "Indonesian", "Ukrainian", "EURSpanish", "Sovenian",
"Uzbek", "Kazak", "Kirghiz", "Farsi", "Azerbaidzhan", "Burmese", "Mongolian"-->SimChinese
ad on
</language>
<upgradeFirmWareEnabled>
<!--ro, opt, bool, whether to enable upgrading the firmware-->true
el .c
</upgradeFirmWareEnabled>
</DeviceLanguage>
ez
en
Request URL
ng
PUT /ISAPI/System/factoryReset?mode=<mode>&childDevID=<devIndex>&loginPassword=<loginPassword>
Aj
Co
Query Parameter
Parameter Name Parameter Type Description
mode enum --
devIndex string --
loginPassword string --
security string --
iv string --
Request Message
None
Response Message
m
<!--ro, req, enum, status description, subType:string, desc:“OK” (succeeded), “Device Busy”, “Device Error”, “Invalid Operation”, “Invalid XML Format”,
“Invalid XML Content”, “Reboot” (reboot device)-->OK
co
</statusString>
<subStatusCode>
a.
<!--ro, req, string, sub status code, desc:sub status code-->OK
</subStatusCode>
</ResponseStatus>
C. arc
16.1.9.8 Get the network service capability
s, em
A
Request URL
no fr
GET /ISAPI/System/Network/capabilities
ri on
Query Parameter
Ma oc
None
Request Message
up
None
co gr
Response Message
es a@
<isSupportWireless>
<!--ro, req, bool, whether the device supports wireless network-->true
</isSupportWireless>
<isSupportWired>
os fr
<isSupportWAN>
<!--ro, opt, bool, whether the device supports WAN (Wide Area Network)-->true
</isSupportWAN>
ez
<isSupportPPPoE>
<!--ro, req, bool, whether the device supports PPPoE (Point to Point Protocol over Ethernet)-->true
</isSupportPPPoE>
en
<isSupportBond>
<!--ro, req, bool, whether the device supports NIC (Network Interface Card) bonding-->true
im
</isSupportBond>
<isSupport802_1x>
ng
</isSupport802_1x>
<isSupportNtp>
Co
<!--ro, opt, bool, whether the device supports NTP (Network Time Protocol)-->true
</isSupportNtp>
<isSupportFtp>
<!--ro, opt, bool, whether the device supports FTP (File Transfer Protocol)-->true
</isSupportFtp>
<isSupportUpnp>
<!--ro, opt, bool, whether the device supports UPnP (Universal Plug and Play) protocol-->true
</isSupportUpnp>
<isSupportPNP>
<!--ro, opt, bool, whether the device supports plug-and-play protocol-->true
</isSupportPNP>
<isSupportDdns>
<!--ro, opt, bool, whether the device supports DDNS (Dynamic Domain Name System) service-->true
</isSupportDdns>
<isSupportHttps>
<!--ro, opt, bool, whether the device supports HTTPS (Hypertext Transfer Protocol Secure)-->true
</isSupportHttps>
<isSupport28181>
<!--ro, opt, bool, N/A-->true
</isSupport28181>
<SnmpCap>
<!--ro, opt, object, SNMP (Simple Network Management Protocol) capability-->
<isSupport>
<!--ro, req, bool, whether the device supports SNMP-->true
</isSupport>
</SnmpCap>
<isSupportExtNetCfg>
<!--ro, opt, bool, whether the device supports configuring extended network parameters-->true
</isSupportExtNetCfg>
<isSupportIPFilter>
<!--ro, opt, bool, whether the device supports IP filtering-->true
</isSupportIPFilter>
<isSupportSSH>
<!--ro, opt, bool, whether the device supports SSH-->true
</isSupportSSH>
<isSupportNetPreviewStrategy>
<!--ro, opt, bool, whether the device supports network live view strategy-->true
</isSupportNetPreviewStrategy>
<isSupportEZVIZ>
m
<!--ro, opt, bool, whether the device supports EZ protocol-->true
co
</isSupportEZVIZ>
<isSupportEhome>
<!--ro, opt, bool, whether the device supports EHome (ISUP) protocol-->true
a.
</isSupportEhome>
<isSupportWirelessDial>
<!--ro, opt, bool, whether the device supports wireless dial-up protocol-->true
C. arc
</isSupportWirelessDial>
<isSupportWirelessServer>
<!--ro, opt, bool, whether the device supports wireless server-->true
</isSupportWirelessServer>
s, em
<isSupportWPS>
<!--ro, opt, bool, whether the device supports Wi-Fi Protected Setup-->true
A
</isSupportWPS>
no fr
<isWirelessMutexWithWirelessServer>
<!--ro, opt, bool, whether the device supports mutual exclusion of wireless access and wireless service-->true
ri on
</isWirelessMutexWithWirelessServer>
<isSupportMACFilter>
<!--ro, opt, bool, whether the device supports physical address filtering-->true
Ma oc
</isSupportMACFilter>
<GB28181Cap>
<!--ro, opt, object, N/A-->
up
<isSupportGB28181Service>
<!--ro, opt, bool, N/A-->true
co gr
</isSupportGB28181Service>
</GB28181Cap>
<WPS>
es a@
<NetworkInterface>
<!--ro, opt, object, Internet API-->
y ema
<id>
<!--ro, req, string, NIC index-->test
</id>
<enabled>
os fr
<isSupportDevicePinCodeUpdate>
<!--ro, opt, bool, whether the device supports updating the PIN code-->true
</isSupportDevicePinCodeUpdate>
en
<ApPinCode>
<!--ro, opt, object, PIN code of the access point-->
<ssid min="1" max="10">
im
<!--ro, opt, string, SSID (Service Set Identifier), attr:min{req, int},max{req, int}-->test
</ssid>
ng
</pinCode>
</ApPinCode>
</NetworkInterface>
</NetworkInterfaceList>
</WPS>
<isSupportRFIDData>
<!--ro, opt, bool, whether the device supports RFID collection configuration-->true
</isSupportRFIDData>
<isSupportwifiProbeSSID>
<!--ro, opt, bool, whether the device supports configuration of Wi-Fi probe SSID-->true
</isSupportwifiProbeSSID>
<isSupportWifiProbe>
<!--ro, opt, bool, whether the device supports Wi-Fi probe-->true
</isSupportWifiProbe>
<verificationCode min="1" max="10">
<!--ro, opt, string, verification code, attr:min{req, int},max{req, int}-->test
</verificationCode>
<WPSCap>
<!--ro, opt, object, Wi-Fi Protected Setup capability-->
<isSupport>
<!--ro, req, bool, whether the device supports Wi-Fi Protected Setup-->true
</isSupport>
<isSupportAutoConnect>
<!--ro, req, bool, whether the device supports automatic connection-->true
<!--ro, req, bool, whether the device supports automatic connection-->true
</isSupportAutoConnect>
</WPSCap>
<NetWorkMode>
<!--ro, opt, object, network mode-->
<workMode>
<!--ro, opt, enum, network mode, subType:string, desc:"close", "wifi" (wireless access), "wifiAp" (wireless access point)-->close
</workMode>
</NetWorkMode>
<VerificationCodeModification>
<!--ro, opt, object, verification code editing-->
<verificationCodeType opt="normal,empty">
<!--ro, opt, string, verification code type, attr:opt{req, string}-->test
</verificationCodeType>
<isSupportDeclarationURL>
<!--ro, opt, bool, whether the device supports the hyperlink to the Terms of Service-->true
m
</isSupportDeclarationURL>
<isSupportPrivacyPolicyURL>
co
<!--ro, opt, bool, whether the device supports the hyperlink to the Privacy Policy-->true
</isSupportPrivacyPolicyURL>
<verificationCodeModify opt="true,false">
a.
<!--ro, opt, bool, whether the device verification code has been modified, attr:opt{req, string}-->true
</verificationCodeModify>
C. arc
<Hyperlinks>
<!--ro, opt, object, hyperlink-->
<declarationURL>
<!--ro, opt, string, hyperlink to the Terms of Service-->test
s, em
</declarationURL>
<privacyPolicyURL>
A
<!--ro, opt, string, hyperlink to the Privacy Policy-->test
no fr
</privacyPolicyURL>
</Hyperlinks>
<isSupportVerificationCodeCheck>
ri on
<!--ro, opt, bool, whether the device supports verifying the verification code-->true
</isSupportVerificationCodeCheck>
Ma oc
<isSupportOldVerificationCode>
<!--ro, opt, bool, whether the device supports the EZ password configuration of old version (the password of old version consists of six characters)--
>true
up
</isSupportOldVerificationCode>
</VerificationCodeModification>
<isSupportIntegrate>
co gr
<!--ro, opt, bool, whether the device supports access protocol configuration-->true
</isSupportIntegrate>
es a@
<isSupportPlatformAccess>
<!--ro, opt, bool, whether the device supports platform access-->true
</isSupportPlatformAccess>
Fr rc
<isSupportIntelligentBoost>
s
<WifiRegionConfiguration>
<!--ro, opt, object, wifi area configuration, desc:when both are not supported, the <WifiRegionConfiguration> node will not return-->
<isSupportWifiRegion>
<!--ro, opt, bool, whether the device supports wifi area configuration, desc:supported by overseas devices; true (support), this node is not returned
os fr
(not support)-->true
</isSupportWifiRegion>
<isSupportWifiEnhancement>
ad on
<!--ro, opt, bool, whether the device supports wifi enhancement, desc:N/A-->true
</isSupportWifiEnhancement>
el .c
</WifiRegionConfiguration>
<isSupportResourceStatistics>
<!--ro, opt, bool, whether the device supports getting the network resource information-->true
ez
</isSupportResourceStatistics>
<isSupportBandwidthLimit>
<!--ro, opt, bool, whether the device supports bandwidth limit-->true
en
</isSupportBandwidthLimit>
<isSupportPOEPortsDisableAdaptiveServer>
im
<!--ro, opt, bool, whether the device supports the POE protocol-->true
</isSupportPOEPortsDisableAdaptiveServer>
ng
<isSupportPOEConfiguration>
Aj
<!--ro, opt, bool, whether the device supports configuring the POE NIC parameters-->true
</isSupportPOEConfiguration>
Co
<isSupportGetLinkSocketIP>
<!--ro, opt, bool, whether the device supports getting the SocketIP of the current link-->true
</isSupportGetLinkSocketIP>
<isSupportWebSocket>
<!--ro, opt, bool, whether the device supports WebSocket-->true
</isSupportWebSocket>
<isSupportWebSocketS>
<!--ro, opt, bool, whether the device supports WebSocketS-->true
</isSupportWebSocketS>
<Adaption>
<!--ro, opt, object, network self-adaption-->
<streamType opt="0,1,2,3,4,5,7,8,9,10">
<!--ro, opt, enum, stream type that supports network self-adaption during live view, subType:int, attr:opt{req, string}, desc:stream types that
support network self-adaption during live view: 0 (main stream), 1 (sub-stream), 2 (third stream), 3 (fourth stream / virtual stream), 4 (fifth stream), 5
(sixth stream), 7 (seventh stream), 8 (eighth stream), 9 (ninth stream), 10 (tenth stream), and so on-->0
</streamType>
<isSupportPlayback>
<!--ro, opt, bool, whether the device supports playback-->true
</isSupportPlayback>
</Adaption>
<isSupportVideoImgDB>
<!--ro, opt, bool, whether the device supports image and video library configuration-->true
</isSupportVideoImgDB>
<isSupportEventDataOverWebSocket opt="true,false">
<!--ro, opt, bool, whether the device supports uploading the event data via WebSocket, attr:opt{req, string}-->true
</isSupportEventDataOverWebSocket>
<isSupportDynamicHostName>
<!--ro, opt, bool, whether the device supports DDNS (Dynamic Domain Name System) configuration-->true
</isSupportDynamicHostName>
<isSupportTCPAcceleration>
<!--ro, opt, bool, whether the device supports TCP acceleration-->true
</isSupportTCPAcceleration>
<isSupportFlowControl>
<!--ro, opt, bool, whether the device supports traffic control-->true
</isSupportFlowControl>
<isSupportEZVIZTiming>
<!--ro, opt, bool, whether the device supports EZ platform synchronization (EZVIZ.enabledTiming in /ISAPI/System/Network/EZVIZ)-->true
</isSupportEZVIZTiming>
<isSupportTrafficMonitor>
m
<!--ro, opt, bool, whether the device supports traffic monitoring-->true
co
</isSupportTrafficMonitor>
<isSupportPingWatchdog>
<!--ro, opt, bool, whether the device supports configuring the watchdog parameters-->true
a.
</isSupportPingWatchdog>
<isSupportAutoFrequencyHop>
<!--ro, opt, bool, whether the device supports auto frequency hopping-->true
C. arc
</isSupportAutoFrequencyHop>
<isSupportTDMACfg>
<!--ro, opt, bool, whether the device supports configuring TDMA-->true
</isSupportTDMACfg>
s, em
<isSupportDynamicChannel>
A
<!--ro, opt, bool, whether the device supports dynamic channel selection-->true
no fr
</isSupportDynamicChannel>
<isSupportSIMCardSwitch>
<!--ro, opt, bool, whether the device supports configuring scheduled SIM card switch, desc:Related URI:
ri on
/ISAPI/System/Network/WirelessDial/SIMCardSwitch?format=json-->true
</isSupportSIMCardSwitch>
<isSupportDMSAuthInfo>
Ma oc
<!--ro, opt, bool, whether the device supports DMS authentication information management-->true
</isSupportDMSAuthInfo>
up
<isSupportWiredandWirelessTrafficMonitor>
<!--ro, opt, bool, whether the device supports traffic monitoring (wireless NIC and wired NIC)-->true
</isSupportWiredandWirelessTrafficMonitor>
co gr
<isSupport4G>
<!--ro, opt, bool, whether the device supports 4G module-->true
</isSupport4G>
es a@
<isSupport4GConfig>
<!--ro, opt, bool, whether the device supports 4G configuration-->true
</isSupport4GConfig>
Fr rc
<isSupportGRIDServer>
<!--ro, opt, bool, N/A-->true
y ema
</isSupportGRIDServer>
<isSupportGRIDInfo>
<!--ro, opt, bool, N/A-->true
</isSupportGRIDInfo>
os fr
<isSupportSipTransmit>
<!--ro, opt, bool, whether the device supports configuring SIP transmission parameters-->true
</isSupportSipTransmit>
ad on
<isSupportSip>
<!--ro, opt, bool, whether the device supports private SIP (VOIP)-->true
</isSupportSip>
el .c
<isSupportWifiCascade>
<!--ro, opt, bool, whether the device supports enabling automatic Wi-Fi cascading-->true
ez
</isSupportWifiCascade>
<isSupportRelativeInfo>
<!--ro, opt, bool, whether the device supports getting the information about the connected devices-->true
en
</isSupportRelativeInfo>
<isSupportANR>
<!--ro, opt, bool, whether the device supports automatic network replenishment, desc:Related URI: /ISAPI/System/Network/ANR-->true
im
</isSupportANR>
ng
<isSupportEmailEncrypt>
Aj
<!--ro, opt, bool, whether the device supports email encryption configuration-->true
</isSupportEmailEncrypt>
Co
<isSupportPortFilter>
<!--ro, opt, bool, whether the device supports port filtering-->true
</isSupportPortFilter>
<isSupportPingDeny>
<!--ro, opt, bool, whether the device supports configuring parameters to prevent the device from being tested using ping command-->true
</isSupportPingDeny>
<isSupportDOSDeny>
<!--ro, opt, bool, whether the device supports configuring parameters to prevent the DoS attack-->true
</isSupportDOSDeny>
<isSupportNetworkStatus>
<!--ro, opt, bool, whether the device supports searching for the network status-->true
</isSupportNetworkStatus>
<isSupportEZVIZQRcode>
<!--ro, opt, bool, whether the device supports getting the EZ QR code, desc:Related URI: /ISAPI/System/Network/EZVIZ/QRCode?format=json-->true
</isSupportEZVIZQRcode>
<isSupportEZVIZUnbind>
<!--ro, opt, bool, whether the device supports unbinding from EZ, desc:/ISAPI/System/Network/EZVIZ/unbind?format=json-->true
</isSupportEZVIZUnbind>
<isSupportPingTest>
<!--ro, opt, bool, whether the device supports ping test, desc:Related URI: /ISAPI/System/Network/pingtest/capabilities-->true
</isSupportPingTest>
<isSupportMOTCloudPlateform>
<!--ro, opt, bool, whether the device supports configuring parameters for accessing the cloud platform service, desc:Related URI:
/ISAPI/System/Network/Traffic/MOTCloudPlateform/capabilities?format=json-->true
/ISAPI/System/Network/Traffic/MOTCloudPlateform/capabilities?format=json-->true
</isSupportMOTCloudPlateform>
<isSupportSpectrumScan>
<!--ro, opt, bool, whether the device supports frequency spectrum scanning, desc:Related URI:
/ISAPI/System/Network/interface/<netCardID>/spectrumScan/capabilities?format=json-->true
</isSupportSpectrumScan>
<isSupportFRP>
<!--ro, opt, bool, whether the device supports FRP (Fast Reverse Proxy), desc:Related URI: /ISAPI/Syetem/Network/FRP?format=json-->true
</isSupportFRP>
<isSupport5GModule>
<!--ro, opt, bool, whether the device supports 5G module configuration, desc:Related URI: /ISAPI/System/Network/5GModule/capabilities?format=json-->true
</isSupport5GModule>
<isSupportWirelessDialRoute>
<!--ro, opt, bool, whether the device supports configuring parameters of route forwarding rules of wireless dial-up, desc:Related URI:
/ISAPI/System/Network/WirelessDia/route/capabilities?format=json-->true
</isSupportWirelessDialRoute>
m
<isSupportNPlusOne>
<!--ro, opt, bool, whether the device supports N+1 protocol-->true
co
</isSupportNPlusOne>
<supportEnvironmentalStandards opt="HJ212">
a.
<!--ro, opt, string, environmental monitoring standard, attr:opt{req, string}, desc:N/A-->true
</supportEnvironmentalStandards>
<isSupportIntranetSegment>
C. arc
<!--ro, opt, bool, whether the device supports LAN segment configuration, desc:if this function is supported, this node will be returned and its value
is true; otherwise, this node will be returned and its value is false or not be returned. Related URI: /ISAPI/System/Network/intranetSegment/capabilities?
format=json-->true
</isSupportIntranetSegment>
s, em
<isSupportDHCPServer>
<!--ro, opt, bool, whether the device supports DHCP service configuration, desc:if this function is supported, this node will be returned and its value
A
is true; otherwise, this node will be returned and its value is false or not be returned. Related URI: /ISAPI/System/Network/DHCPServer/capabilities?
no fr
format=json-->true
</isSupportDHCPServer>
ri on
<isSupportClusterIntercom>
<!--ro, opt, bool, whether the 7200 intercom protocol is transmitted, desc:if this function is supported, this node will be returned and its value is
true; otherwise, this node will be returned and its value is false or not be returned. Related URI: /ISAPI/System/Network/clusterIntercom/capabilities?
Ma oc
format=json-->true
</isSupportClusterIntercom>
<isSupportHydrologicMonitoring>
up
<!--ro, opt, bool, whether the device supports hydrologic monitoring data communication, desc:if this function is supported, this node will be returned
and its value is true; otherwise, this node will be returned and its value is false or not be returned. Related URI:
/ISAPI/System/Network/HydrologicMonitoring/capabilities?format=json-->true
co gr
</isSupportHydrologicMonitoring>
<isSupportGantryETCServer>
es a@
</isSupportRoutePolicy>
<isRebootHint>
<!--ro, opt, bool, whether to alarm to reboot after configuration-->true
</isRebootHint>
os fr
</RoutePolicy>
<isWirelessDialMutexWithWlanAndWifi>
ad on
<!--ro, opt, bool, whether the wireless dial-up is mutually exclusive with the WLAN hotspot and Wi-Fi-->true
</isWirelessDialMutexWithWlanAndWifi>
<isSupportDMZCfg>
el .c
<!--ro, opt, bool, whether the device supports configuring DMZ host, desc:Related URI: /ISAPI/System/Network/DMZCfg/capabilities?format=json-->true
</isSupportDMZCfg>
<isSupportSpeechTranscription>
ez
<!--ro, opt, bool, whether the device supports accessing the speech-to-text transcription platform, desc:if this function is supported, this node will
be returned and its value is true; otherwise, this node will be returned and its value is false or not be returned. Related URI:
en
/ISAPI/System/Network/speechTranscriptionPlatform/capabilities?format=json-->true
</isSupportSpeechTranscription>
<isSupportAsynPingTest>
im
<!--ro, opt, bool, whether the device supports asynchronous network detection, desc:network detection means testing the network stability and packet
loss rate of the network using the ping command for knowing about the network condition. Related URI: /ISAPI/System/Network/asynPingTest/capabilities?
ng
format=json-->true
Aj
</isSupportAsynPingTest>
<isSupportBasebandCapture>
Co
<!--ro, opt, bool, whether the device supports capturing packets of the baseband, desc:you can capture packets transmitted between the 4G module and the
base station using the ping command. Related URI: /ISAPI/System/Network/cellularNetwork/basebandCapture/capabilities?format=json-->true
</isSupportBasebandCapture>
<isSupportCellularNetworkSpeedTest>
<!--ro, opt, bool, whether the device supports testing the connection speed between the device and the cellular network, desc:you can test the
connection speed of the network where the current device is. Related URI: /ISAPI/System/Network/cellularNetwork/speedTest/capabilities?format=json-->true
</isSupportCellularNetworkSpeedTest>
<isSupportCellularNetworkCellInfo>
<!--ro, opt, bool, whether the device supports getting a cell's information of the cellular network, desc:you can get the information of the cellular
network where the device is. Related URI: /ISAPI/System/Network/cellularNetwork/cellInfo?format=json&ecurity=<security>&iv=<iv>-->true
</isSupportCellularNetworkCellInfo>
<isSupportMultiBandFrequencyScanning>
<!--ro, opt, bool, whether the device supports scanning all frequency bands of the cellular network, desc:Related URI:
/ISAPI/System/Network/cellularNetwork/multiBandFrequencyScanning/capabilities?format=json-->true
</isSupportMultiBandFrequencyScanning>
<isSupportCellularNetworkLockBand>
<!--ro, opt, bool, whether the device supports accessing the locked frequency band of the cellular network, desc:Related URI:
/ISAPI/System/Network/cellularNetwork/lockBand/capabilities?format=json-->true
</isSupportCellularNetworkLockBand>
<isSupportRadioFrequencyFluctuation>
<!--ro, opt, bool, whether the device supports configuring RF parameters of the cellular network, desc:Related URI:
/ISAPI/System/Network/cellularNetwork/radioFrequencyFluctuation/capabilities?format=json-->true
</isSupportRadioFrequencyFluctuation>
</isSupportRadioFrequencyFluctuation>
<isSupportBasebandBlock>
<!--ro, opt, bool, whether the device supports the unauthorized list of the base station, desc:Related URI:
/ISAPI/System/Network/cellularNetwork/basebandBlock/capabilities?format=json-->true
</isSupportBasebandBlock>
<isSupportWifiQuality>
<!--ro, opt, bool, whether the device supports getting the device's Wi-Fi quality information, desc:Related URI: /ISAPI/System/Network/wifiQuality?
format=json-->true
</isSupportWifiQuality>
<isSupportWiredNetworkQuality>
<!--ro, opt, bool, whether the device supports getting the wired network quality information, desc:Related URI:
/ISAPI/System/Network/wiredNetworkQuality?format=json-->true
</isSupportWiredNetworkQuality>
<isSupportQoSBehaviorCfg>
<!--ro, opt, bool, whether the device supports configuring QoS traffic behavior, desc:Related URI: /ISAPI/System/Network/qos/BehaviorCfg/capabilities?
format=json-->true
</isSupportQoSBehaviorCfg>
m
<isSupportQoSClassifierCfg>
co
<!--ro, opt, bool, whether the device supports configuring QoS traffic types, desc:Related URI: /ISAPI/System/Network/qos/ClassifierCfg/capabilities?
format=json-->true
</isSupportQoSClassifierCfg>
a.
<isSupportQoSPolicyCfg>
<!--ro, opt, bool, whether the device supports configuring QoS policy, desc:Related URI: /ISAPI/System/Network/qos/PolicyCfg/capabilities?format=json--
>true
C. arc
</isSupportQoSPolicyCfg>
<isSupportQoSPolicyVLANCfg>
<!--ro, opt, bool, whether the device supports configuring QoS policy VLAN, desc:Related URI: /ISAPI/System/Network/qos/PolicyVLANCfg/capabilities?
format=json-->true
s, em
</isSupportQoSPolicyVLANCfg>
A
<isSupportQoSPortRateLimiting>
no fr
<!--ro, opt, bool, whether the device supports configuring port speed limit, desc:Related URI: /ISAPI/System/Network/qos/portRateLimiting/capabilities?
format=json-->true
</isSupportQoSPortRateLimiting>
ri on
<isSupportQoSQueueAlgorithmCfg>
<!--ro, opt, bool, whether the device supports configuring QoS queue algorithm, desc:Related URI:
/ISAPI/System/Network/qos/queueAlgorithmCfg/capabilities?format=json-->true
Ma oc
</isSupportQoSQueueAlgorithmCfg>
<isSupportQoSPortPriorityCfg>
up
<!--ro, opt, bool, whether the device supports QoS port priority configuration, desc:Related URI:
/ISAPI/System/Network/qos/portPriorityCfg/capabilities?format=json-->true
</isSupportQoSPortPriorityCfg>
co gr
<isSupportQoS802.1pPriorityMapping>
<!--ro, opt, bool, whether the device supports DSCP and 802.1p mapping priority configuration, desc:Related URI:
/ISAPI/System/Network/qos/802.1pPriorityMapping/capabilities?format=json-->true
es a@
</isSupportQoS802.1pPriorityMapping>
<isSupportQoSDSCPPriorityMapping>
Fr rc
<!--ro, opt, bool, whether the device supports DSCP mapping priority configuration, desc:Related URI:
s
/ISAPI/System/Network/qos/DSCPPriorityMapping/capabilities?format=json-->true
</isSupportQoSDSCPPriorityMapping>
y ema
<isSupportQoSLoaclPriorityMapping>
<!--ro, opt, bool, whether the device supports 802.1p and local mapping priority configuration, desc:Related URI:
/ISAPI/System/Network/qos/loaclPriorityMapping/capabilities?format=json-->true
</isSupportQoSLoaclPriorityMapping>
os fr
<isSupportStopPingtest>
<!--ro, opt, bool, whether to stop PingTest, desc:Related URI: /ISAPI/System/Network/StopPingtest?format=json-->true
</isSupportStopPingtest>
ad on
<isSupportSNMPView>
<!--ro, opt, bool, whether the device supports SNMP view, desc:Related URI: /ISAPI/System/Network/SNMP/ViewCfg/capabilities?format=json-->true
</isSupportSNMPView>
el .c
<isSupportSNMPUserGroup>
<!--ro, opt, bool, whether the device supports SNMP user groups, desc:Related URI: /ISAPI/System/Network/SNMP/UserGroup/capabilities?format=json-->true
ez
</isSupportSNMPUserGroup>
<isSupportSNMPBasicInfo>
<!--ro, opt, bool, whether the device supports the basic information of SNMP, desc:Related URI: /ISAPI/System/Network/SNMP/BasicInfo/capabilities?
en
format=json-->true
</isSupportSNMPBasicInfo>
<isSupportRFIDTagCheckTest>
im
<!--ro, opt, bool, whether the device supports the RFID tag disk storage performance test, desc:Related URI:
ng
/ISAPI/System/Network/RFIDData/GetTagCheckTestInfo?format=json-->true
Aj
</isSupportRFIDTagCheckTest>
<isSupportQoSDSCPtoLoaclPriorityMapping>
Co
<!--ro, opt, bool, whether the device supports DSCP and local mapping priority configuration, desc:Related URI:
/ISAPI/System/Network/qos/DSCPtoLoaclPriorityMapping/capabilities?format=json-->true
</isSupportQoSDSCPtoLoaclPriorityMapping>
<isSupportQoS802.1pto802.1pPriorityMapping>
<!--ro, opt, bool, whether the device supports 802.1p mapping priority configuration, desc:Related URI:
/ISAPI/System/Network/qos/802.1pto802.1pPriorityMapping/capabilities?format=json-->true
</isSupportQoS802.1pto802.1pPriorityMapping>
<isSupportNFCAllowList>
<!--ro, opt, bool, whether the device supports NFC network allowlist management, desc:Related URI: /ISAPI/System/Network/NFC/allowList/capabilities?
format=json-->true
</isSupportNFCAllowList>
<isSupportLinkTestStart>
<!--ro, opt, bool, whether the device supports enabling network link test, desc:Related URI:
/ISAPI/System/Network/WirelessDial/Interfaces/<interfaceID>/LinkTest/Start?format=json-->true
</isSupportLinkTestStart>
<isSupportLinkTestResult>
<!--ro, opt, bool, whether the device supports getting the result of network link test, desc:Related URI:
/ISAPI/System/Network/WirelessDial/Interfaces/<interfaceID>/LinkTest/Result?format=json-->true
</isSupportLinkTestResult>
<isSupportGetAsynTestEmailResult>
<!--ro, opt, bool, whether the device supports getting email testing result asynchronously, desc:POST
/ISAPI/System/Network/Email/GetAsynTestEmailResult?format=json-->true
</isSupportGetAsynTestEmailResult>
<isSupportTestAsynEmail>
<isSupportTestAsynEmail>
<!--ro, opt, bool, whether the device supports asynchronously testing email, desc:POST /ISAPI/System/Network/Email/TestAsynEmail?format=json-->true
</isSupportTestAsynEmail>
<isSupportModbusAccess>
<!--ro, opt, bool, whether the device supports Modbus accessing parameters, desc:GET/PUT /ISAPI/System/Network/ModbusAccess?format=json-->true
</isSupportModbusAccess>
<isSupportNetworkModuleUpgrade>
<!--ro, opt, bool, whether the device supports upgrading network module, desc:including importing upgrade package
(/ISAPI/System/Network/WirelessDial/ImportUpgradePackage?format=json), getting importing progress
(/ISAPI/System/Network/WirelessDial/GetUpgradePackageImportStatus?format=json), starting upgrading
(/ISAPI/System/Network/WirelessDial/StartUpgradeNetworkModule?format=json), get upgrade status
(/ISAPI/System/Network/WirelessDial/GetUpgradeNetworkModuleStatus?format=json)-->true
</isSupportNetworkModuleUpgrade>
<isSupportNetworkModuleVersionInfo>
<!--ro, opt, bool, whether the device supports getting the version information of network module, desc:GET
/ISAPI/System/Network/WirelessDial/NetworkModuleVersionInfo?format=json-->true
m
</isSupportNetworkModuleVersionInfo>
<isSupportGreenShieldPlatform>
co
<!--ro, opt, bool, N/A, desc:GET/PUT /ISAPI/System/Network/GreenShieldPlatform/GreenShieldPlatform?format=json-->true
</isSupportGreenShieldPlatform>
a.
<isSupportFusionUniversalApplicationPlatCfg>
<!--ro, opt, bool, N/A, desc:GET/PUT /ISAPI/System/Network/FusionUniversalApplicationPlatform/FusionUniversalApplicationPlatCfg?format=json-->true
</isSupportFusionUniversalApplicationPlatCfg>
C. arc
<isSupportNPQControlStrategy>
<!--ro, opt, bool, N/A, desc:GET/PUT /ISAPI/System/Network/NPQMgr/NPQControlStrategy?format=json-->true
</isSupportNPQControlStrategy>
<isSupportNAT>
s, em
<!--ro, opt, bool, whether NAT is supported, desc:GET/PUT /ISAPI/System/Network/nats-->true
</isSupportNAT>
A
<isSupportGetCurrentlyUsingNetworkCardInfo>
no fr
<!--ro, opt, bool, whether the device supports getting the current NIC information, desc:GET
/ISAPI/System/Network/WirelessDial/GetCurrentlyUsingNetworkCardInfo?format=json-->true
ri on
</isSupportGetCurrentlyUsingNetworkCardInfo>
<isSupportAutoRecampParams>
<!--ro, opt, bool, whether the device supports parameters of auto re-camping on a regular basis, desc:GET/PUT
Ma oc
/ISAPI/System/Network/WirelessDial/AutoRecampParams?format=json-->true
</isSupportAutoRecampParams>
<isSupportDSTPServerCfg>
up
<!--ro, opt, bool, whether the device supports DTSP server address configuration, desc:GET/PUT /ISAPI/System/Network/DSTPAccess/DSTPServerCfg?
format=json-->true
co gr
</isSupportDSTPServerCfg>
<isSupportJTT1008ServerParams>
<!--ro, opt, bool, N/A, desc:GET/PUT /ISAPI/System/Network/JTT1008Access/JTT1008ServerParams?format=json-->true
es a@
</isSupportJTT1008ServerParams>
<isSupportImportNARIKeyFile>
<!--ro, opt, bool, N/A, desc:PUT /ISAPI/System/Network/NARIEncryptionKeyMgr/ImportNARIKeyFile?format=json-->true
Fr rc
</isSupportImportNARIKeyFile>
<isSupportExportNARIKeyFile>
<!--ro, opt, bool, N/A, desc:GET /ISAPI/System/Network/NARIEncryptionKeyMgr/ExportNARIKeyFile?format=json-->true
y ema
</isSupportExportNARIKeyFile>
<isSupportNARIEncryptionParams>
<!--ro, opt, bool, N/A, desc:GET/PUT /ISAPI/System/Network/NARIEncryptionKeyMgr/NARIEncryptionParams?format=json-->true
</isSupportNARIEncryptionParams>
os fr
<isSupportDSTPProtocolsCap>
<!--ro, opt, bool, whether the device supports DTSP capability, desc:GET /ISAPI/System/Network/DSTPAccess/DSTPProtocolsCap?format=json-->true
ad on
</isSupportDSTPProtocolsCap>
<isSupportIPAdaptiveParams>
<!--ro, opt, bool, whether the device supports self-adaptive IP address parameters, desc:GET/PUT /ISAPI/System/Network/IPAdaptiveParams?format=json--
el .c
>true
</isSupportIPAdaptiveParams>
<isSupportPowerCenterPlatform>
ez
<isSupportTestPowerCenterPlatformConnect>
<!--ro, opt, bool, N/A, desc:POST /ISAPI/System/Network/PowerCenterAccess/TestPowerCenterPlatformConnect?format=json-->true
</isSupportTestPowerCenterPlatformConnect>
im
<isSupportModbusTestSubordinateStatus>
<!--ro, opt, bool, whether the device supports Modbus testing the status of the specified client., desc:POST
ng
/ISAPI/System/Network/ModbusTestSubordinateStatus?format=json-->true
Aj
</isSupportModbusTestSubordinateStatus>
Co
<isSupportGetModbusAndRegisterMap>
<!--ro, opt, bool, whether the device supports get Modbus uploaded content and the mapping relation between the uploaded content and register quantity,
desc:GET /ISAPI/System/Network/GetModbusAndRegisterMap?format=json-->true
</isSupportGetModbusAndRegisterMap>
<isSupportAddFRPDynamicAllocationMapPort>
<!--ro, opt, bool-->true
</isSupportAddFRPDynamicAllocationMapPort>
<isSupportGetFRPDynamicAllocationMapPort>
<!--ro, opt, bool-->true
</isSupportGetFRPDynamicAllocationMapPort>
<isSupportUSBNetworkCard>
<!--ro, opt, bool-->true
</isSupportUSBNetworkCard>
<isSupportOptimumOperatorParams>
<!--ro, opt, bool-->true
</isSupportOptimumOperatorParams>
<isSupportERTCJoin>
<!--ro, opt, bool-->true
</isSupportERTCJoin>
<isSupportERTCQuit>
<!--ro, opt, bool-->true
</isSupportERTCQuit>
<isSupportLoRaCommunicationParams>
<!--ro, opt, bool-->true
<!--ro, opt, bool-->true
</isSupportLoRaCommunicationParams>
</NetworkCap>
m
co
readerID string --
a.
Request Message
C. arc
<?xml version="1.0" encoding="UTF-8"?>
s, em
<!--wo, opt, object, attr:version{opt, string, protocolVersion}-->
<enabled>
A
<!--wo, req, bool, whether to enable the function-->true
no fr
</enabled>
<port>
ri on
<!--wo, opt, int-->22
</port>
</SSH>
Ma oc
up
Response Message
co gr
<!--ro, req, enum, status code, subType:int, desc:0 (OK), 1 (OK), 2 (Device Busy), 3 (Device Error), 4 (Invalid Operation), 5 (Invalid XML Format), 6
(Invalid XML Content), 7 (Reboot Required)-->0
</statusCode>
<statusString>
os fr
<!--ro, req, enum, read-only,status description: OK,Device Busy,Device Error,Invalid Operation,Invalid XML Format,Invalid XML Content,Reboot,Additional
Error, subType:string, desc:"OK" (succeeded), "Device Busy", "Device Error", "Invalid Operation", "Invalid XML Format", "Invalid XML Content", "Reboot"
ad on
(reboot device)-->OK
</statusString>
<subStatusCode>
el .c
<!--ro, req, string, sub status code, which describes the error in details, desc:sub status code, which describes the error in details-->OK
</subStatusCode>
</ResponseStatus>
ez
en
Request URL
ng
Aj
PUT /ISAPI/System/reboot?childDevID=<devIndex>&module=<module>
Co
Query Parameter
Parameter Name Parameter Type Description
devIndex string --
module string --
Request Message
None
Response Message
<?xml version="1.0" encoding="UTF-8"?>
m
</statusString>
<subStatusCode>
co
<!--ro, req, string, sub status code, desc:sub status code-->OK
</subStatusCode>
</ResponseStatus>
a.
C. arc
16.1.9.11 Get the video analysis task capability
Request URL
s, em
A
GET /ISAPI/System/Video/capabilities
no fr
Query Parameter
ri on
None
Ma oc
Request Message
None
up
Response Message
co gr
<videoInputPortNums>
<!--ro, opt, int, number of video input ports-->0
y ema
</videoInputPortNums>
<videoOutputPortNums>
<!--ro, opt, int, number of video output ports-->0
</videoOutputPortNums>
os fr
<menuNums>
<!--ro, opt, int, number of local menus that can be displayed-->0
</menuNums>
ad on
<externalChannelNum>
<!--ro, opt, bool, number of extended analog channels-->true
</externalChannelNum>
el .c
<isSupportHeatmap>
<!--ro, opt, bool, whether the device supports heat map-->true
ez
</isSupportHeatmap>
<isSupportCounting>
<!--ro, opt, bool, whether the device supports people counting-->true
en
</isSupportCounting>
<countingType>
<!--ro, opt, enum, statistics type, subType:string, desc:statistics type-->human
im
</countingType>
ng
<isSupportPicture>
Aj
<!--ro, opt, bool, whether the device supports OSD picture overlay, desc:related URI: /ISAPI/System/Video/inputs/channels/<channelID>/image/picture--
>true
Co
</isSupportPicture>
<isSupportPreviewSwitch>
<!--ro, opt, bool, whether the device supports switching live view-->true
</isSupportPreviewSwitch>
<isSupportRecodStatus>
<!--ro, opt, bool, whether the device supports searching for the recording status-->true
</isSupportRecodStatus>
<isSupportPrivacyMask>
<!--ro, opt, bool, whether the device supports privacy mask-->true
</isSupportPrivacyMask>
<isSupportBinocularPreviewSwitch>
<!--ro, opt, bool, whether the device supports switching live view of the dual-lens camera-->true
</isSupportBinocularPreviewSwitch>
<isSupportCalibCheck>
<!--ro, opt, bool, whether the device supports calibration verification-->true
</isSupportCalibCheck>
<isSupportPIP>
<!--ro, opt, bool-->true
</isSupportPIP>
<isSupportFocusVideoMode>
<!--ro, opt, bool-->true
</isSupportFocusVideoMode>
<isSupportExternalChannel>
<!--ro, opt, bool, whether the device supports extended analog channels-->true
<!--ro, opt, bool, whether the device supports extended analog channels-->true
</isSupportExternalChannel>
<isSupportMultiChannelCounting>
<!--ro, opt, bool-->true
</isSupportMultiChannelCounting>
<isSupportCountingCollection>
<!--ro, opt, bool, whether the device supports people counting ANR-->true
</isSupportCountingCollection>
<isSupportHeatmapCollection>
<!--ro, opt, bool, whether the device supports heat map data ANR-->true
</isSupportHeatmapCollection>
<channelFlexible opt="name,enable,online,linknum">
<!--ro, opt, enum, subType:string, attr:opt{req, string}-->name
</channelFlexible>
<isSupportOutputsResource>
<!--ro, opt, bool, related URI: /ISAPI/System/Video/outputs/resource?format=json, desc:related URI: /ISAPI/System/Video/outputs/resource?format=json--
m
>true
</isSupportOutputsResource>
co
<OSDLanguage opt="GBK,EUC-KR,Hebrew" def="GBK">
<!--ro, opt, enum, subType:string, attr:opt{req, string},def{req, string}-->GBK
a.
</OSDLanguage>
<isSupportMixedChannel>
<!--ro, opt, bool-->true
C. arc
</isSupportMixedChannel>
<isSupportMixedChannelStatus>
<!--ro, opt, bool-->true
</isSupportMixedChannelStatus>
s, em
<isSupportOutputCourseware>
<!--ro, opt, bool, related URI: /ISAPI/System/Video/outputs/courseware/capabilities?format=json, desc:related URI:
A
/ISAPI/System/Video/outputs/courseware/capabilities?format=json-->true
no fr
</isSupportOutputCourseware>
<isSupportVideoInputMode>
ri on
<!--ro, opt, bool, related URI: /ISAPI/System/Video/inputs/mode/capabilities, desc:related URI: /ISAPI/System/Video/inputs/mode/capabilities-->true
</isSupportVideoInputMode>
<isSupportVideoOutputMode>
Ma oc
<!--ro, opt, bool, related URI: /ISAPI/System/Video/outputs/mode/capabilities?format=json, desc:related URI:
/ISAPI/