-- ASN module extracted from ITU-T X.1080.2 (10/2021)

Moving-detection { joint-iso-itu-t(2) telebiometrics(42) thprot(10) part2(2) modules(0) monitor-types(1) moving-detect(1) version1(1)} DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS DeviceInfo, Direction, MONITOR-TYPE, --Quantity{},-- Unit{} FROM Biology-to-Machine {joint-iso-itu-t(2) telebiometrics(42) thprot(10) part2(2) modules(0) b2m(0) version1(1)} id-moving-detect FROM MonitorTypes { joint-iso-itu-t(2) telebiometrics(42) thprot(10) part2(2) modules(0) monitor-types(1) monitors(0) version1(1)} watt FROM InfoObjects { joint-iso-itu-t(2) telebiometrics(42) thprot(10) part2(2) modules(0) infoObjects(2) version1(1)} ; MotionPDU ::= CHOICE { powerOnReq [0] MotionPowerOnReq, powerOnAcc [1] MotionPowerOnAcc, powerOnErr [2] MotionPowerOnErr, reportReq [3] MotionReportReq, motionStopped [4] MotionStopped, reportAck [5] MotionReportAck, reportErr [6] MotionReportErr, powerOffReq [7] MotionPowerOffReq, powerOffAcc [8] MotionPowerOffAcc, powerOffErr [9] MotionPowerOffErr, walkTestOnReq [10] MotionWalkTestOnReq, walkTestOnAcc [11] MotionWalkTestOnAcc, walkTestOnErr [12] MotionWalkTestOnErr, testReportReq [13] MotionWalkTestReportReq, reportStopped [14] MotionWalkTestReportStopped, testReportAck [15] MotionWalkTestReportAck, testReportErr [16] MotionWalkTestReportErr, testOffReq [17] MotionWalkTestOffReq, testOffAcc [18] MotionWalkTestOffAcc, testOffErr [19] MotionWalkTestOffErr, ... } MotionPowerOnReq ::= SEQUENCE { invokeID InvokeID, ... } InvokeID ::= INTEGER (0..MAX) MotionPowerOnAcc ::= SEQUENCE { invokeID InvokeID, ... } MotionPowerOnErr ::= SEQUENCE { invokeID InvokeID, err MotionPowerOnError, ... } MotionPowerOnError ::= ENUMERATED { outOfSequence (0), operationFailed (1), sensorTemporarilyUnavailable (2), sensorPermanentlyUnavailable (3), walkTest (4), tampered (5), ... } MotionReportReq ::= SEQUENCE { invokeID InvokeID, -- quantity Quantity {{power}}, unit Unit {{watt}}, direction Direction (out), ... } MotionStopped ::= SEQUENCE { invokeID InvokeID, stopped StopReason, ... } StopReason ::= SEQUENCE { exceptions ENUMERATED { walkTestON (0), walkTestOff (1), tampered (2), poweredOff (3), sensorTemporarilyUnavailable (4), sensorPermanentlyUnavailable (5), ... }, ... } MotionReportAck ::= SEQUENCE { invokeID InvokeID, ... } MotionReportErr ::= SEQUENCE { invokeID InvokeID, error MotionReportError, ... } MotionReportError ::= ENUMERATED { outOfSequence (0), ... } MotionPowerOffReq ::= SEQUENCE { invokeID InvokeID, ... } MotionPowerOffAcc ::= SEQUENCE { invokeID InvokeID, ... } MotionPowerOffErr ::= SEQUENCE { invokeID InvokeID, err MotionPowerOffError, ... } MotionPowerOffError ::= ENUMERATED { outOfSequence (0), ... } MotionWalkTestOnReq ::= SEQUENCE { invokeID InvokeID, ... } MotionWalkTestOnAcc ::= SEQUENCE { invokeID InvokeID, ... } MotionWalkTestOnErr ::= SEQUENCE { invokeID InvokeID, error MotionWalkTestOnError, ... } MotionWalkTestOnError ::= ENUMERATED { notSupported (0), voiceNotProvided (1), operationFailed (2), sensorTemporarilyUnavailable (3), sensorPermanentlyUnavailable (4), tampered (5), outOfSequencece (6), ... } MotionWalkTestReportReq ::= SEQUENCE { invokeID InvokeID, unit Unit {{watt}}, direction Direction (out), ... } MotionWalkTestReportStopped ::= SEQUENCE { invokeID InvokeID, stopped WalkTestReportStopped, ... } WalkTestReportStopped ::= ENUMERATED { tampered, poweredOff, sensorTemporarilyUnavailable, sensorPermanentlyUnavailable, ... } MotionWalkTestReportAck ::= SEQUENCE { invokeID InvokeID, ... } MotionWalkTestReportErr ::= SEQUENCE { error WalkTestError, invokeID InvokeID, ... } WalkTestError ::= ENUMERATED { outOfSequence (0), ... } MotionWalkTestOffReq ::= SEQUENCE { invokeID InvokeID, ... } MotionWalkTestOffAcc ::= SEQUENCE { invokeID InvokeID, ... } MotionWalkTestOffErr ::= SEQUENCE { error WalkTestOffError, invokeID InvokeID, ... } WalkTestOffError ::= ENUMERATED { outOfSequence (0), ... } END -- Moving-detection