XML_SubscribeEventCap

SubscribeEventCap capability message in XML format

<SubscribeEventCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
  <heartbeat min="" max="" />
    <!--optional, heartbeat time interval, unit: second-->
  <format opt="xml,json"/><!--req, supported message format-->
  <channelMode opt="all,list" />
    <!--required, channel subscription mode: "all"-subscribe events/alarms of all channels, "list"-subscribe events/alarms of specific channels-->
  <eventMode opt="all,list" />
    <!--required, event subscription mode: "all"-subscribe all event types (must be supported), "list"-subscribe specific event types, if "list" is returned, "all" will also be returned-->
    <!--if both the channelMode and eventMode returns "all", it indicates that the device does not support subscribing event/alarm by event type or channel-->
  <EventList><!--required, dependent, upload mode of specified alarms/events, it is valid only when eventMode is "list"-->
    <Event><!--required-->
      <type><!--required, xs:string, refer to Supported Alarm/Event Types for details--></type>
      <minorAlarm opt="0x400,0x401,0x402,0x403">
        <!--opt, xs:string, minor alarm type, see details in Access Control Event Type. This node is required when type is "AccessControllerEvent"-->
      </minorAlarm>
      <minorException opt="0x400,0x401,0x402,0x403">
        <!--opt, xs:string, minor exception type, see details in Access Control Event Type. This node is required when type is "AccessControllerEvent"-->
      </minorException>
      <minorOperation opt="0x400,0x401,0x402,0x403">
        <!--opt, xs:string, minor operation type, see details in Access Control Event Type. This node is required when type is "AccessControllerEvent"-->
      </minorOperation>
      <minorEvent opt="0x01,0x02,0x03,0x04">
        <!--opt, xs:string, minor event type, see details in Access Control Event Type. This node is required when type is "AccessControllerEvent"-->
      </minorEvent>
      <pictureURLType opt="binary,localURL,cloudStorageURL" def=""/>
      <!--opt, xs:string, alarm picture format: "binary"-binary, "localURL"-device local URL, "cloudStorageURL"-cloud storage URL, and the def is followed by the default format-->
    </Event>
  </EventList>
  <pictureURLType opt="binary,localURL,cloudStorageURL" def=""/>
    <!--opt, xs:string, alarm picture format: "binary"-binary picture, "localURL"-device local URL, "cloudStorageURL"-cloud storage URL. This node is the method of uploading all pictures related to the event. If this node is applied, <pictureURLType> in <Event> is invalid; otherwise, pictures will be uploaded using the default method returned by the device capability. For front-end devices, the default method is uploading binary pictures; for back-end devices, the default method is by device local URL-->
  <ChangedUploadSub><!--message subscription-->
    <interval/><!--opt, xs:integer, lifecycle of arming GUID, the default value is 5 minutes, unit: second. The device will generate new GUID for the arming connection after it is disconnected for the set lifecycle-->
    <StatusSub> 
      <all/><!-- opt, xs:boolean, whether to subscribe all events-->
      <channel/><!--opt, xs:boolean, whether to subscribe channel status. This node is not required when <all> is "true"-->
      <hd/><!--opt, xs:boolean, whether to subscribe disk status. This node is not required when <all> is "true"-->
      <capability/><!--opt, xs:boolean, whether to subscribe capability change status. This node is not required when <all> is "true"-->
    </StatusSub>
  </ChangedUploadSub>
  <identityKey max="64"/>
  <!--opt, xs: string, interaction command of subscription, supports subscribing comparison results of face picture library (importing with this command), the maximum length is 64-->
</SubscribeEventCap>