Counting message in XML format
<Counting version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<enabled><!--req, xs: boolean--></enabled>
<normalizedScreenSize><!--opt-->
<normalizedScreenWidth><!--req, xs: integer--></normalizedScreenWidth>
<normalizedScreenHeight><!--req, xs: integer--></normalizedScreenHeight>
</normalizedScreenSize>
<MountingConfiguration><!--opt, mounting parameters-->
<viewingAngle><!--req, xs: string, "vertical,tilt"--></viewingAngle>
<mountHeight><!--opt, xs: integer; mounting height, unit: cm--></mountHeight>
<horizontalDistance><!--opt, xs: integer; horizontal distance, unit: cm--></horizontalDistance>
<focalLength><!--opt, xs: integer; unit: mm--></focalLength>
</MountingConfiguration>
<OverlayConfiguration><!--opt, OSD parameters-->
<enabled><!--req, xs: boolean--></enabled>
<positionX><!--req, xs: interger--></positionX>
<positionY><!--req, xs: interger--></positionY>
<OSDType>
<!--dep, it is valid when enabled is "true", xs: string, "enter, leave,entreLeave,peoplePassing"-->
</OSDType>
<child><!--opt, xs: boolean, whether to enable OSD for children counting--></child>
</OverlayConfiguration>
<Demarcation><!--opt-->
<enabled><!--req, xs: boolean--></enabled>
<DemarcationRegionList><!--req-->
<DemarcationRegion><!--opt-->
<id><!--req, xs:integer--></id>
<RegionCoordinatesList>
<RegionCoordinates><!--req-->
<positionX><!--req, xs:integer;coordinate--></positionX>
<positionY><!--req, xs:integer;coordinate--></positionY>
</RegionCoordinates>
</RegionCoordinatesList>
</DemarcationRegion>
</DemarcationRegionList>
<DemarcationLine>
<StartPoint><!--req-->
<positionX><!--req, xs: integer--></positionX>
<positionY><!--req, xs: integer--></positionY>
</StartPoint>
<EndPoint><!--req-->
<positionX><!--req, xs: integer--></positionX>
<positionY><!-- req, xs: integer--></positionY>
</EndPoint>
</DemarcationLine>
</Demarcation>
<CountingRegionType><!--read-only, req, xs: string, detection type: "region,line"--></CountingRegionType>
<CountingRegionList><!--opt, detection region list-->
<CountingRegion><!--opt, detection region-->
<id><!--req, xs: integer, detection region ID--></id>
<Direction><!--req, detection direction-->
<StartPoint><!--req-->
<positionX><!--req, xs: integer--></positionX>
<positionY><!--req, xs: integer--></positionY>
</StartPoint>
<EndPoint><!--req-->
<positionX><!--req, xs: integer--></positionX>
<positionY><!--req, xs: integer--></positionY>
</EndPoint>
</Direction>
<sensitivityLevel><!--req, xs: integer, sensitibity--></sensitivityLevel>
<spaceGenerationSpeed><!--opt, xs: integer--></spaceGenerationSpeed>
<timeGenerationSpeed><!--opt, xs: integer--></timeGenerationSpeed>
<countingSpeed><!--opt, xs: integer--></countingSpeed>
<detectionType><!--opt, xs: string, "auto,head,shoulder"--></detectionType>
<objectSizeCorrection><!--opt, xs: integer--></objectSizeCorrection>
<RegionCoordinatesList><!--req-->
<RegionCoordinates><!--req-->
<positionX><!--req, xs: integer; x-coordinate--></positionX>
<positionY><!--req, xs: integer; y-coordinate--></positionY>
</RegionCoordinates>
</RegionCoordinatesList>
<RuleRegionCoordinatesList><!--opt, rule frame-->
<RegionCoordinates><!--req-->
<positionX><!--req, xs: integer; x-coordinate--></positionX>
<positionY><!--req, xs: integer; y-coordinate--></positionY>
</RegionCoordinates>
</RuleRegionCoordinatesList>
</CountingRegion>
</CountingRegionList>
<CountingLineItemList><!--opt, detection line list-->
<CountingLineItem><!--opt, detection line-->
<id><!--req, xs: integer, detection line ID--></id>
<direction><!--req, detection line direction-->
<StartPoint><!--req-->
<positionX><!--req, xs: integer--></positionX>
<positionY><!--req, xs: integer--></positionY>
</StartPoint>
<EndPoint><!--req-->
<positionX><!--req, xs: integer--></positionX>
<positionY><!--req, xs: integer--></positionY>
</EndPoint>
</direction>
<sensitivityLevel><!--req, xs: integer, sensitivity--></sensitivityLevel>
<spaceGenerationSpeed><!--opt, xs: integer--></spaceGenerationSpeed>
<timeGenerationSpeed><!--opt, xs: integer--></timeGenerationSpeed>
<countingSpeed><!--opt, xs: integer--></countingSpeed>
<detectionType><!--opt, xs: string, "auto,head,shoulder"--></detectionType>
<objectSizeCorrection><!--opt, xs: integer--></objectSizeCorrection>
<LineCoordinatesList>
<Coordinates><!--req-->
<positionX><!--req, xs: integer; x-coordinate--></positionX>
<positionY><!--req, xs: integer; y-coordinate--></positionY>
</Coordinates>
</LineCoordinatesList>
<polyline>
<!--opt, xs: boolean, this node should be set to "true" when displaying polyline; otherwise, this node does not exist-->
</polyline>
</CountingLineItem>
</CountingLineItemList>
<dataUploadCycle>
<!--opt, xs:integer, time period for uploading people counting data-->
</dataUploadCycle>
<SECUploadEnabled>
<!--opt, xs:boolean, uploading mechanism for each second-->
</SECUploadEnabled>
<InterferenceSuppression><!--opt-->
<shadow><!--opt, xs:boolean--></shadow>
<loitering><!--opt, xs:boolean--></loitering>
<cart><!--opt, xs:boolean--></cart>
</InterferenceSuppression>
<EmailReport><!--opt-->
<DayReport><!--opt, xs:boolean--></DayReport>
<WeekReport><!--opt, xs:boolean--></WeekReport>
<MonthReport><!--opt, xs:boolean--></MonthReport>
<YearReport><!--opt, xs:boolean--></YearReport>
<reportFormat opt="excel,csv,txt,xml"><!--opt, xs: string, email report format, multiple formats can be selected, the default format is EXCEL--></reportFormat>
</EmailReport>
<CountingCalibrate><!--req-->
<calibrateType>
<!--opt ,xs:string,"automatic,manual,no", calibration types, including Auto, Manual, and None-->
</calibrateType>
<SetupParam><!--req,-->
<height>
<!--opt, xs:float, height, unit: centimeter. The default height is 300, and it is ranging from 200 to 500-->
</height>
<tiltAngle>
<!--opt, ro,xs:float, angle of pitch, unit: degree. The default value is 0, and it is ranging from 0 to 180-->
</tiltAngle>
<heelAngle>
<!--opt, ro,xs:float, angle of inclination, unit: degree. The default value is 0, and it is ranging from -90 to 90 -->
</heelAngle>
</SetupParam>
<CountingArea><!--req,ro,"Counting Region (in Red Frame)"-->
<RegionCoordinatesList>
<RegionCoordinates><!--req-->
<positionX><!--req, xs:integer;coordinate--></positionX>
<positionY><!--req, xs:integer;coordinate--></positionY>
</RegionCoordinates>
</RegionCoordinatesList>
</CountingArea>
<AutomaticCalib><!--opt,it is valid when calibrateType is "automaticCalib"-->
<CalibRegion><!--opt, Calibration Region (in Green Frame)-->
<RegionCoordinatesList>
<RegionCoordinates><!--req-->
<positionX><!-- req, xs:integer;coordinate --></positionX>
<positionY><!--req, xs:integer;coordinate--></positionY>
</RegionCoordinates>
</RegionCoordinatesList>
</CalibRegion>
</AutomaticCalib>
</CountingCalibrate>
<HeightFilterOverlay><!--opt-->
<enabled>
<!--opt, xs:boolean, whether to enable height filter. By default, it is disabled-->
</enabled>
<heightFilter>
<!--opt,xs:integer, filter height, unit: centimeter. The default value is 120, and it is ranging from 0 to 250-->
</heightFilter>
</HeightFilterOverlay>
<countingType><!--opt, xs: string, method to trigger counting: "none,alarmInputTrigger,videoTrigger"--></countingType>
<signalType>
<!--dep, xs: string, signal type: "level,pulses", this node is valid when <countingType> is set to "videoTrigger" or "alarmInputTrigger"-->
</signalType>
<RS485TransmissionEnabled><!--dep, xs: boolen, "false,true"--></RS485TransmissionEnabled>
<dailyResetTime>
<!--opt; xs: ios_8601_time, integer hour, e.g., "22:00:00+08:00"-->
</dailyResetTime>
<streamOverlayRuleInfos><!--req, xs: boolean, "true,false", whether to enable overlaying rule information in stream--></streamOverlayRuleInfos>
<detectThreshold><!--opt, xs: integer, global detection threshold, value range: [0,100], default: 90--></detectThreshold>
<aidedTrackEnabled><!--opt, xs: boolean, "true,false", whether to enable auxiliary tracking, by default, it is enabled--></aidedTrackEnabled>
<TargetRegionCoordinatesList><!--opt, target frame, only supports square-->
<RegionCoordinates><!--req-->
<positionX><!--req, xs: integer; x-coordinate--></positionX>
<positionY><!--req, xs: integer; y-coordinate--></positionY>
</RegionCoordinates>
</TargetRegionCoordinatesList>
<ChildFilter><!--opt, counting children-->
<enabled><!--req, xs: boolean, whether to enable counting children: true, false--></enabled>
<heightThreshold>
<!--dep, xs: integer, height threshold of children, the counting will start when the height of children is higher than configured height threshold, unit: cm, value range: [100,200]-->
</heightThreshold>
</ChildFilter>
<MisinfoFilter><!--opt, false alarm filtering-->
<enabled><!--req, xs: boolean, whether to enable false alarm filtering: true, false--></enabled>
<threshold><!--opt, xs: integer, threshold of false alarm filtering, value range: [0,100], default value: 15, larger threshold value corresponds to higher precision--></threshold>
<timesLimit><!--opt,xs:integer, judge times of false alarm, value range: [1,5], default value: 3, more attempts corresponds to higher precision--></timesLimit>
</MisinfoFilter>
<detectionMode>
<!--opt, xs: string, detection mode: single-detect based on tracking algorithm, double-detect based on depth map, double_single-detect based on depth map mainly and tracking algorithm secondarily, single_double-detect based on tracking algorithm mainly and depth map secondarily-->
</detectionMode>
<TrajectoryCountFilter><!--opt, pattern counting filtering-->
<enabled><!--req, xs: boolean,whether to enable, by default, it is enabled--></enabled>
<movementDisplacement><!--opt, xs: integer, displacement range: [0,200], default value: 40, unit: cm--></movementDisplacement>
<residenceTime><!--opt, xs: float, dwell time duration, range: [0,10.0], default value: 0.1, unit: second--></residenceTime>
</TrajectoryCountFilter>
<RegionsDirectionList><!--opt, counting direction-->
<RegionsDirection>
<id><!--req, xs: integer, detection region ID--></id>
<StartRegionCoordinatesList><!--req, start region-->
<RegionCoordinates>
<positionX><!--req, xs: integer; x-coordinate--></positionX>
<positionY><!--req, xs: integer; y-coordinate--></positionY>
</RegionCoordinates>
</StartRegionCoordinatesList>
<EndRegionCoordinatesList><!--req, end region-->
<RegionCoordinates><!--req-->
<positionX><!--req, xs: integer; x-coordinate--></positionX>
<positionY><!--req, xs: integer; y-coordinate--></positionY>
</RegionCoordinates>
</EndRegionCoordinatesList>
</RegionsDirection>
</RegionsDirectionList>
<maintenanceModeEnabled><!--opt, xs: boolean, whether to enable maintenance mode--></maintenanceModeEnabled>
<analysisMode>
<!--optional, string, ro, analysis mode: "realTimeMode"-real time, "autoSwitchMode"-auto switch-->realTimeMode
</analysisMode>
</Counting>