NTCIP1201-RecMech DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Counter32, IpAddress, Opaque, zeroDotZero FROM SNMPv2-SMI -- RFC 2578 OBJECT-GROUP FROM SNMPv2-CONF -- RFC 2580 ITSOerString FROM FIELD-DEVICE-TC-MIB -- ISO 20684-1 Annex A application FROM NTCIP8004-Transportation; recMech MODULE-IDENTITY LAST-UPDATED "202210010000Z" ORGANIZATION "NTCIP BSP2 WG" CONTACT-INFO "name: NTCIP Coordinator email: ntcip@nema.org postal: National Electrical Manufacturers Association 1300 North 17th Street, Suite 1752 Rosslyn, Virginia 22209-3801" DESCRIPTION " This MIB defines the SMIv2 representation of the NTCIP1103v0352-recMech MIB, which was defined in NTCIP 1103. This MIB defines objects related to the recording mechanism functions that are found in devices. This MIB was deprecated in NTCIP 1201 v04 due to security issues in the structure of the MIB. The objects have been replaced by objects in the NTCIP1201v04-recMech MIB. *** All objects in this MIB have been deprecated. *** 1.3.6.1.4.1.1206.4.1.1.7.9 Copyright 1996, 2006, 2022 by the American Association of State Highway and Transportation Officials (AASHTO), the Institute of Transportation Engineers (ITE), and the National Electrical Manufacturers Association (NEMA). All intellectual property rights, including, but not limited to, the rights of reproduction in whole or in part in any form, translation into other languages and display are reserved by the copyright owners under the laws of the United States of America, the Universal Copyright Convention, the Berne Convention, and the International and Pan American Copyright Conventions. Joint NEMA, AASHTO, and ITE NTCIP Management Information Base DISTRIBUTION NOTICE To the extent and in the limited event these materials are distributed by AASHTO/ITE/NEMA in the form of a Management Information Base (MIB) module, AASHTO/ITE/NEMA extends the permission for users to make and/or distribute unlimited copies of the unedited MIB module, including copies for commercial distribution, provided that each copy made and/or distributed contains this Notice. The MIB module may be distributed with a companion MIB module that contains one or more invocations of the AGENT-CAPABILITIES macro that specifies the capabilities of a specific implementation. By convention, such a companion MIB module might have the same module name followed by '-', followed the enterprise's Internet Assigned Number Authority (IANA)-assigned enterprise number. These materials are delivered 'AS IS' without any warranties as to their use or performance. AASHTO/ITE/NEMA AND THEIR SUPPLIERS DO NOT WARRANT THE PERFORMANCE OR RESULTS YOU MAY OBTAIN BY USING THESE MATERIALS. AASHTO/ITE/NEMA AND THEIR SUPPLIERS MAKE NO WARRANTIES, EXPRESS OR IMPLIED, AS TO NONINFRINGEMENT OF THIRD-PARTY RIGHTS, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AASHTO, ITE OR NEMA OR THEIR SUPPLIERS BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY CLAIM OR FOR ANY CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING ANY LOST PROFITS OR LOST SAVINGS, ARISING FROM YOUR REPRODUCTION OR USE OF THESE MATERIALS, EVEN IF AN AASHTO, ITE, OR NEMA REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Some states or jurisdictions do not allow the exclusion or limitation of incidental, consequential or special damages, or the exclusion of implied warranties, so the above limitations may not apply to you. Use of these materials does not constitute an endorsement or affiliation by or between AASHTO, ITE, or NEMA and you, your company, or your products and services. NTCIP is a trademark of AASHTO/ITE/NEMA." REVISION "202210010000Z" DESCRIPTION "NTCIP 1201 v04 - Upgraded format to SMIv2 and deprecated all objects." REVISION "201612310000Z" DESCRIPTION "NTCIP 1103 v03 - Original version of this MIB." ::= { application 9 } -- 17.2 OBJECT IDENTITIES -- 17.2.1 Recording Mechanism Conformance Node recMechConformance OBJECT-IDENTITY STATUS deprecated DESCRIPTION " This node is an identifier used to manage the high- resolution recording mechanism. 1.3.6.1.4.1.1206.4.1.1.7.9.127" ::= { recMech 127 } recMechCompliances OBJECT-IDENTITY STATUS deprecated DESCRIPTION " This node is an identifier used to manage the high- resolution recording mechanism. 1.3.6.1.4.1.1206.4.1.1.7.9.127.1" ::= { recMechConformance 1 } recMechGroups OBJECT-IDENTITY STATUS deprecated DESCRIPTION " This node is an identifier used to manage the high- resolution recording mechanism. 1.3.6.1.4.1.1206.4.1.1.7.9.127.2" ::= { recMechConformance 2 } -- 17.3 OBJECTS -- NOTE-The recording mechanism class table is presented first to ease -- the readability of the standard. -- 17.3.1 Maximum Recording Mechanism Classes Parameter maxRecClasses OBJECT-TYPE SYNTAX Integer32 (1..254) UNITS "RecClasses" MAX-ACCESS read-only STATUS deprecated DESCRIPTION " The object defines the number of rows in the recClassTable that this device supports. This is a static table. The recClassTable has been replaced with a dynamic table, which does not require an object indicating the maximum number of rows. 1.3.6.1.4.1.1206.4.1.1.7.9.1" ::= { recMech 1 } -- 17.3.2 Recording Mechanism Class Table recClassTable OBJECT-TYPE SYNTAX SEQUENCE OF RecClassEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "This table is used to configure recording mechanism limits and recording table maintenance. static NTCIP1201-RecMechV2.recMechV2ClassTable The replacement table is dynamic. 1.3.6.1.4.1.1206.4.1.1.7.9.2" ::= { recMech 2 } recClassEntry OBJECT-TYPE SYNTAX RecClassEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "This object defines a row in the Recording Mechanism Class Table NTCIP1201-RecMechV2.recMechV2ClassEntry The replacement table has a dual index consisting of an owner and a name, both SnmpAdminStrings. The table also adds columns for StorageType and RowStatus. 1.3.6.1.4.1.1206.4.1.1.7.9.2.1" INDEX { recClassNumber } ::= { recClassTable 1 } RecClassEntry ::= SEQUENCE { recClassNumber Integer32, recClassLimit Integer32, recClassClearTime Unsigned32, recClassDescription OCTET STRING, recClassNumRecordings Integer32, recClassRecordingCounter Integer32 } -- 17.3.2.1 Recording Mechanism Class Number Parameter recClassNumber OBJECT-TYPE SYNTAX Integer32 (1..254) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "This is a class value that is to be configured. NTCIP1201-RecMechV2.recMechV2ClassName The replacement object is an SnmpAdminString. 1.3.6.1.4.1.1206.4.1.1.7.9.2.1.1" ::= { recClassEntry 1 } -- 17.3.2.2 Recording Mechanism Class Limit Parameter recClassLimit OBJECT-TYPE SYNTAX Integer32 (0..254) UNITS "recordings" MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object specifies the maximum number of recordings of the associated class to store in the device. Once the limit is reached, the oldest recording of the matching class (based on recordingTriggerTime) is overwritten by any new recording of the same class. If the value of this object is set to a number smaller than the current number of rows within this class in the recRecordingTable, then the oldest entries shall be lost/deleted. The sum of all recording mechanism class limits shall not exceed the maxRecRecordings object; if a SET operation to this object causes the sum of recClassLimit objects to exceed maxRecRecordings, then the agent shall respond with a genErr. The recording cannot be logged if the recClass has an recClassLimit of zero (0). NTCIP1201-RecMechV2.recMechV2ClassSizeLimit The replacement object defines a maximum size in octets rather than the number of recordings. 1.3.6.1.4.1.1206.4.1.1.7.9.2.1.2" ::= { recClassEntry 2 } -- 17.3.2.3 Recording Mechanism Class Clear Time Parameter recClassClearTime OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object is used to clear multiple recordings from the recRecordingTable. All completed recordings of this class that have a recRecordingTriggerTime equal to or less than this object shall be cleared from the recRecordingTable. If this object has a value greater than the current value of globalTime, it shall prevent the triggering of any recordings of this class. NTCIP1201-RecMechV2.recMechV2ClassClearDate & recMechV2ClassClearTime The SMIv1 syntax for this object was Counter; however, by convention, an SNMPv1 Counter is not writable and SNMPv3 prohibits set operations. The syntax SMIv2 syntax for this object has been updated to Unsigned32 to avoid this conflict. The superseding objects provide a date/time pair. 1.3.6.1.4.1.1206.4.1.1.7.9.2.1.3" DEFVAL {0} ::= { recClassEntry 3 } -- 17.3.2.4 Recording Mechanism Class Description Parameter recClassDescription OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object specifies a description of the class in ASCII characters. NTCIP1201-RecMechV2.recMechV2ClassDescription The replacement object uses a syntax of SnmpAdminString to clearly indicate that this should be readable text in any language. 1.3.6.1.4.1.1206.4.1.1.7.9.2.1.4" ::= { recClassEntry 4 } -- 17.3.2.5 Recording Mechanism Class Number of Rows in Recording Table Parameter recClassNumRecordings OBJECT-TYPE SYNTAX Integer32 (0..255) UNITS "recordings" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of recordings for this class that currently exist in the recRecordingTable. NTCIP1201-RecMechV2.recMechV2ClassNumRecordings 1.3.6.1.4.1.1206.4.1.1.7.9.2.1.5" ::= { recClassEntry 5 } -- 17.3.2.6 Class Recording Counter Parameter recClassRecordingCounter OBJECT-TYPE SYNTAX Integer32 (0..65535) UNITS "recordings" MAX-ACCESS read-only STATUS deprecated DESCRIPTION " This object is a counter that gets incremented every time a recording occurs for this class; it shall initialize to zero at power up. The value shall roll over each time it exceeds the maximum of 65535. NTCIP1201-RecMechV2.recMechV2ClassRecordingCtr The replacement object has a syntax of ZeroBasedCounter32. 1.3.6.1.4.1.1206.4.1.1.7.9.2.1.6" ::= { recClassEntry 6 } -- 17.3.3 Maximum Recording Configurations maxRecConfigs OBJECT-TYPE SYNTAX Integer32 (1..65534) UNITS "RecordType" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of rows that exist in the static recMechV2RecordingConfig table for this device. The recMechV2RecordingConfigTable has been replaced with a dynamic table, which does not require an object indicating the maximum number of rows. 1.3.6.1.4.1.1206.4.1.1.7.9.3" ::= { recMech 3} -- 17.3.4 Minimum Recording Sample Period recMinSamplePeriod OBJECT-TYPE SYNTAX Integer32 (1..65535) UNITS "0.1 milliseconds" MAX-ACCESS read-only STATUS deprecated DESCRIPTION " The minimum sample period for recordings supported by the device in units of 0.1 milliseconds. NTCIP1201-RecMechV2.recMechMinSamplePeriod 1.3.6.1.4.1.1206.4.1.1.7.9.4" ::= { recMech 4} -- 17.3.5 Maximum Recording Sample Period recMaxSamplePeriod OBJECT-TYPE SYNTAX Integer32 (1..65535) UNITS "0.1 milliseconds" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The maximum sample period for recordings supported by the device in units of 0.1 milliseconds. NTCIP1201-RecMechV2.recMechMaxSamplePeriod 1.3.6.1.4.1.1206.4.1.1.7.9.5" ::= { recMech 5} -- 17.3.6 Recording Sample Period Resolution recSamplePeriodResolution OBJECT-TYPE SYNTAX Integer32 (1..65535) UNITS "0.1 milliseconds" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The sample period resolution for recordings supported by the device in units of 0.1 milliseconds. Allowable sample periods are restricted to (recMinSamplePeriod + recSamplePeriodResolution * n) where n is integer, 0 <= n, and n <= (recMaxSamplePeriod-recMinSamplePeriod)/recSamplePeriodResolution NTCIP1201-RecMechV2.recMechV2SamplePeriodResolution 1.3.6.1.4.1.1206.4.1.1.7.9.6" ::= { recMech 6} -- 17.3.7 Recording Configuration Table recConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF RecConfigEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "A table containing Recording Mechanism Configuration information. The number of rows in this table is equal to the maxRecConfigs object. This table defines the parameters that the device monitors to create a recording. static NTCIP1201-RecMechV2.recMechV2FactoryTable & COND-TRIGGER-MIB.fdCondTriggerTable (ISO 20684-3) The replacement design divides the recConfigTable into two tables: one that defines triggers that can be used to start recordings or other actions and a second table that defines what to record when the recording action is triggered. 1.3.6.1.4.1.1206.4.1.1.7.9.7" ::= { recMech 7 } recConfigEntry OBJECT-TYPE SYNTAX RecConfigEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "This object defines an entry in the recording configuration table. NTCIP1201-RecMechV2.recMechV2FactoryEntry & COND-TRIGGER-MIB.fdCondTriggerEntry (ISO 20684-3) The replacement trigger table has two indicies: an owner and a name. The replacement recording factory table has three indicies, an owner, the class name, and the factory name. In addition to the other changes described, the trigger table adds the following columns: - a textual description of the trigger - an indication whether the comparison is based on the current object value or a delta from its previous reading - an octet-based comparison value since SNMPv3 discourages the use of Opaque - a wildcard that allows defining the same condition on multiple comparison OIDs (e.g., all rows of a table) - indications of the target and context of the comparison object; in other words, the comparison can be performed by a proxy agent or can reference another device to get the object value to compare against - the frequency at which the comparison is made - a truthDuration that allows the configuration to require the evaluation to be true for some length of time prior to firing the trigger. - startup states that define whether the triggers startup in a fired or unfired state (for hysteresis, there are two startups) - a pointer to the action table that identifies the action(s) to be performed. - an error message object that allows a device to report configuration errors. - counters for the number of times the trigger has fired, had evaluation errors, and activation errors. - an indication of the type of storage to use - a RowStatus object. The recMech factory table adds the following columns: - the security data used to activate the row and that will be used to retrieve values for the recording - object contexts, which allows a proxy/hrbrid agent to capture information from another context - A StorageType object 1.3.6.1.4.1.1206.4.1.1.7.9.7.1" INDEX { recConfigID } ::= { recConfigTable 1 } RecConfigEntry ::= SEQUENCE { recConfigID Integer32, recConfigClass Integer32, recConfigMode INTEGER, recConfigCompareValue Integer32, recConfigCompareValue2 Integer32, recConfigCompareOID OBJECT IDENTIFIER, recConfigRecordOID OBJECT IDENTIFIER, recConfigTriggerPoint Integer32, recConfigSamplePeriod Integer32, recConfigSampleOID OBJECT IDENTIFIER, recConfigNumEntries Integer32, recConfigAction INTEGER, recConfigStatus INTEGER } -- 17.3.7.1 Recording Configuration ID Parameter recConfigID OBJECT-TYPE SYNTAX Integer32 (1..65534) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "This object contains the row number which is used to identify the recording associated with this row in the recConfigTable. The number of recording configuration IDs shall not exceed the value indicated in the maxRecConfigs object. NTCIP1201-RecMechV2.recMechV2FactoryName The replacement object is an SnmpAdminString 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.1" ::= { recConfigEntry 1 } -- 17.3.7.2 Recording Configuration Class Parameter recConfigClass OBJECT-TYPE SYNTAX Integer32 (1..254) MAX-ACCESS read-write STATUS deprecated DESCRIPTION " This object contains the class value to assign to the recording associated with this row in the recording configuration table. This value is used in the recording table to organize various recordings defined in this table into logical groupings. This value shall not exceed the maxRecClasses object value. NOTE-A recording cannot be recorded if the RecClass has an recClassLimit of zero (0). NTCIP1201-RecMechV2.recMechV2ClassName The replacement object is an index for the table 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.2" DEFVAL {1} ::= { recConfigEntry 2 } -- 17.3.7.3 Recording Configuration Mode Parameter recConfigMode OBJECT-TYPE SYNTAX INTEGER { other (1), onChange (2), greaterThanValue (3), smallerThanValue (4), hysteresisBound (5), periodic (6), andedWithValue (7) } MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object specifies the mode of operation for this recording. The modes are defined as follows: Value Description other the recording mode of operation is not described in this standard, refer to the device manual. onChange trigger a recording when the object value referenced by recConfigCompareOID changes. The values of recConfigCompareValue and recConfigCompareValue2 are ignored in this mode. greaterThanValue trigger a recording when the object value referenced by recConfigCompareOID becomes greater than the value of recConfigCompareValue for the time (tenth seconds) defined by recConfigCompareValue2 (zero means immediate logging). smallerThanValue trigger a recording when the object value referenced by recConfigCompareOID becomes less than the value of recConfigCompareValue for the time (tenth seconds) defined by recConfigCompareValue2 (zero means immediate logging). hysteresisBound trigger a recording when the object value referenced by recConfigCompareOID becomes less than or greater than the bound values. The lowerbound value is the lower value of recConfigCompareValue and recConfigCompareValue2; the upperbound value is the higher value of the two values. When the object value becomes greater than the upper bound value, subsequent triggering of upperbound conditions shall not occur until the object value becomes less than the lower bound value. When the object value becomes less than the lower bound value, subsequent triggering of lowerbound conditions shall not occur until the object value becomes greater than the upper bound value. periodic trigger a recording every x seconds, where x is defined by the value stored in recConfigCompareValue. The values stored in recConfigCompareValue2 and recConfigCompareOID are ignored in this mode. andedWithValue trigger a recording when the object value referenced by recConfigCompareOID ANDED with the value of recConfigCompareValue is NOT equal to zero for the time (tenth seconds) defined by recConfigCompareValue2 (zero means immediate logging). This allows monitoring of a specific bit; the condition becomes true anytime that any one of the selected bits become true. COND-TRIGGER-MIB.fdCondTriggerMode (ISO 20684-3) The replacement object adds the following modes: equal, notEqual, creation, deletion. It also distinguishes between an integer-based and octet-string-based bitwise comparison, which is required due to the elimination of Opaque. 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.3" DEFVAL { onChange } ::= { recConfigEntry 3 } -- 17.3.7.4 Recording Configuration Compare Value Parameter recConfigCompareValue OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object contains the comparison value to use with recConfigMode values (greaterThanValue, smallerThanValue, hysteresisBound ). No value within this object is necessary when the recConfigMode-object has the value onChange (2). COND-TRIGGER-MIB.fdCondTriggerValue (ISO 20684-3) The value is a signed, 4-octet integer 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.4" DEFVAL {0} ::= { recConfigEntry 4 } -- 17.3.7.5 Recording Configuration Compare Value 2 Parameter recConfigCompareValue2 OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS deprecated DESCRIPTION "If the recConfigMode is set to hysteresisBound, this object specifies the second comparison value for the hysteresis. If the recConfigMode is set to greaterThanValue, smallerThanValue, or andedWithValue, this object specifies the time (in tenth of seconds, +1 tenth / -0 tenths) for which the samples used for comparison are true prior to the triggering condition becoming true. If the recConfigMode is set to onChange or periodic, the value of this object shall be ignored. The amount of time the condition istrue is measured in tenths of a second. The accuracy of this timer is limited to +1 tenth of a second and:0 tenths of a second. If the trigger is true for at least the time shown in this parameter +1 tenth of a second, the condition shall trigger a recording. It is recognized that some designs only sample the condition periodically, in which case the condition is deemed true for at least the time indicated by this object before the trigger becomes true and the trigger shall always become true if the condition is true for a duration equal to the value shown in this object plus 1 tenth of a second. COND-TRIGGER-MIB.fdCondTriggerValue2 (ISO 20684-3) 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.5" DEFVAL {0} ::= { recConfigEntry 5 } -- 17.3.7.6 Recording Configuration Compare Object Identifier Parameter recConfigCompareOID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-write STATUS deprecated DESCRIPTION " This object contains the object identifier which references the value against which the comparison is made. If the recConfigMode is set to periodic, the value of this object shall be ignored. If the recConfigMode is set to greaterThanValue, smallerThanValue or hysteresisBound, this object is required to reference an object whose SYNTAX resolves to a ranged or unranged INTEGER. As with all other objects that are sub-ranged by a given implementation, an agent should return a badValue error if it receives a set command indicating a OID which is not supported by the implementation or which is not zeroDotZero. COND-TRIGGER-MIB.fdCondTriggerObject (ISO 20684-3) 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.6" DEFVAL { zeroDotZero } ::= { recConfigEntry 6 } -- 17.3.7.7 Recording Configuration Record Object Identifier Parameter recConfigRecordOID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object contains the object identifier which indicates what value to record in a recording (e.g., signal states). As with all other objects that are sub-ranged by a given implementation, an agent should return a badValue error if it receives a set command indicating a value which is not supported by the implementation. The valid value range of this object shall not include any values, other than zeroDotZero, that do not correspond to objects that may exist within the agent, although it may be further restricted. The valid value range of this object shall not include objects under the following nodes: Security - { nema transportation devices global security } CHAP - { nema transportation protocols layers chap } NTCIP1201-RecMechV2.recMechV2FactorySampleOID The replacement object does not contrain values other than requiring the user to have rights to access the parameter when configuring and when sampling. 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.7" DEFVAL { zeroDotZero } ::= { recConfigEntry 7 } -- 17.3.7.8 Recording Configuration Trigger Point Parameter recConfigTriggerPoint OBJECT-TYPE SYNTAX Integer32 (0..100) UNITS "percent" MAX-ACCESS read-write STATUS deprecated DESCRIPTION " This object contains the value of the recording trigger point in percent relative to the recConfigNumEntries. The device needs to collect pre-event records prior to the trigger occurring and ends the recording after recConfigNumEntries have been recorded. A value of zero (0) means to start the recording once the trigger condition occurs whereas a value of 100 means to stop the recording with the last record being the one collected immediately following the trigger condition occurring. If the trigger point is less than 100 then at least one record entry needs to occur after the trigger point. NTCIP1201-RecMechV2.recMechV2FactoryPreSamples 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.8" DEFVAL {80} ::= { recConfigEntry 8 } -- 17.3.7.9 Recording Configuration Sample Period Parameter recConfigSamplePeriod OBJECT-TYPE SYNTAX Integer32 (0..65535) UNITS "0.1 milliseconds" MAX-ACCESS read-write STATUS deprecated DESCRIPTION " This object contains the sample period for recordings collected at specified by this configuration. The sample period is expressed in units of 0.1 milliseconds. Allowable sample periods are restricted to a value of zero (0) or (recMinSamplePeriod + recSamplePeriodResolution * n) where n is integer, 0 <= n, and n <= (recMaxSamplePeriod-recMinSamplePeriod)/recSamplePeriodResolution If the value is zero (0), then the samples are not collected on a periodic basis, but rather a new sample is collected whenever the value of the object specified by recConfigSampleOID changes (i.e. similar to event log 'on-change' mode). A set to any other value results in a badValue response. NTCIP1201-RecMechV2.recMechV2FactorySamplePeriod 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.9" DEFVAL {1000} ::= { recConfigEntry 9 } -- 17.3.7.10 Recording Configuration Sample OID Parameter recConfigSampleOID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-write STATUS deprecated DESCRIPTION " This object contains the object identifier which references the value against which the 'on-change' comparison is made. If recConfigSamplePeriod is non-zero, then the value of this object shall be ignored. As with all other objects that are sub-ranged by a given implementation, an agent should return a badValue error if it receives a set command indicating a OID which is not supported by the implementation or which is not zeroDotZero. NTCIP1201-RecMechV2.recMechV2FactoryMonitorOID 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.10" DEFVAL { zeroDotZero } ::= { recConfigEntry 10 } -- 17.3.7.11 Recording Configuration Number Entries Parameter recConfigNumEntries OBJECT-TYPE SYNTAX Integer32 (0..4095) UNITS "records" MAX-ACCESS read-write STATUS deprecated DESCRIPTION " This object contains the maximum number of records in a recording defined by this configuration. A recording which collects its full amount of pre-events and post events creates a recording of this number of entries. If this object is zero (0), then no recordings are created based on this configuration. Note: If one wants to use block objects to retrieve a recording, then one should consider that block starting index value is limited to the range 00..255, and the number of entries above 255 is dependent on the size of the recEntry and packet size limitations. NTCIP1201-RecMechV2.recMechV2FactorySampleLimit The replacement object has a syntax of ITSUnsigned16. 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.11" DEFVAL {100} ::= { recConfigEntry 11 } -- 17.3.7.12 Recording Configuration Action Parameter recConfigAction OBJECT-TYPE SYNTAX INTEGER { other (1), disabled (2), record (3) } MAX-ACCESS read-write STATUS deprecated DESCRIPTION "The value of this object indicates what action shall take place when this configuration is triggered. other - indicates that the action is other than defined in this standard. disabled - no recording is created due to this configuration. record - a recording is created in the recording table when this configuration is triggered. NTCIP1201-RecMechV2.recMechV2FactoryRowStatus The replacement table is dynamic. 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.12" DEFVAL {disabled} ::= { recConfigEntry 12 } -- 17.3.7.13 Recording Configuration Status Parameter recConfigStatus OBJECT-TYPE SYNTAX INTEGER { other (1), disabled (2), record (3), error (4) } MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The value of this object indicates the current status of the configured recording. Upon setting any object in this row of the recConfigTable, the agent determines if the setting is valid, and sets this object to one of the following states: other indicates that the action is successfully set to a mode other than that defined in this standard disabled indicates that the action is set to disabled record indicates that the action is successfully set to the record state after passing consistency checks. error indicates that the requested action could not be implemented due to a consistency check NTCIP1201-RecMechV2.recMechV2FactoryRowStatus The replacement table is dynamic. 1.3.6.1.4.1.1206.4.1.1.7.9.7.1.13" ::= { recConfigEntry 13 } -- 17.3.8 Maximum Recordings Parameter maxRecordings OBJECT-TYPE SYNTAX Integer32 (1..65534) UNITS "records" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The maximum, fixed number of rows that can be used within the recRecordingTable. The replacement for recRecordingTable is not associated with an explicit row limitation just a size limitation given by recMechV2ClassTableSizeLimit and adminRecMechSizeLimit. 1.3.6.1.4.1.1206.4.1.1.7.9.8" ::= { recMech 8} -- 17.3.9 Recording Table recRecordingTable OBJECT-TYPE SYNTAX SEQUENCE OF RecRecordingEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "A table containing information about Recordings both completed and in process. A request for an object from a row that has not been instantiated or has been cleared shall return a noSuchName error. dynamic NTCIP1201-RecMechV2.recMechV2RecordingTable 1.3.6.1.4.1.1206.4.1.1.7.9.9" ::= { recMech 9 } recRecordingEntry OBJECT-TYPE SYNTAX RecRecordingEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "This object defines an entry in the recording table NTCIP1201-RecMechV2.recMechV2RecordingEntry The index for the replacement table has a preceding owner column. It also has a delete column that allows for the deletion of the recording, including all of its samples. 1.3.6.1.4.1.1206.4.1.1.7.9.9.1" INDEX { recordingClass, recordingNumber } ::= { recRecordingTable 1 } RecRecordingEntry::= SEQUENCE { recordingClass Integer32, recordingNumber Integer32, recordingID Integer32, recordingConfigID Integer32, recordingTriggerTime OCTET STRING, recordingStatus INTEGER, recordingTriggerRecNum Integer32, recordingNumEntries Integer32 } -- 17.3.9.1 Recording Class Parameter recordingClass OBJECT-TYPE SYNTAX Integer32 (1..254) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "This object contains the class of the associated recording as defined in the recConfigTable. NTCIP1201-RecMechV2.recMechV2ClassName The syntax of the replacement object is SnmpAdminString. 1.3.6.1.4.1.1206.4.1.1.7.9.9.1.1" ::= { recRecordingEntry 1 } -- 17.3.9.2 Recording Number Parameter recordingNumber OBJECT-TYPE SYNTAX Integer32 (1..254) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The recording number within this class for this recording. Recording numbers shall be assigned starting at 1 and shall increase to the value specified by the associated recClassLimit for the class associated with the rows. Recordings shall maintain a chronological ordering in the table, based on their recordingTriggerTime value, with the oldest recording of a class occupying the row with recordingNumber = 1, and subsequent recordings filling subsequent rows. This ordering shall be maintained for those rows still remaining when recordings are cleared. NTCIP1201-RecMechV2.recMechV2RecordingIndex The syntax of the replacement object is ITSPositive16. The replacement table does not attempt to keep the oldest entry in slot one; clearance of rows is based on overall size rather than number of entries, which makes this type of row management more difficult - but since row numbers do not change, managers can keep track of the last row number retrieved and decrease the probability of missing a recording. A manager can also use a get-next operation to discover where the rows start in the table. 1.3.6.1.4.1.1206.4.1.1.7.9.9.1.2" ::= { recRecordingEntry 2 } -- 17.3.9.3 Recording ID Parameter recordingID OBJECT-TYPE SYNTAX Integer32 (1..65534) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "This object contains the recording ID that is used as an index into recording entries table (recEntriesTable) when accessing record entries that belong to this recording. The recording ID is assigned to a recording upon creation of its first record entry and does not change throughout the life of the recording. The recording IDs are not necessarily assigned sequentially. The replacement for the recEntriesTable uses the four indices owner, class name, recording ID, and sample number rather than using a single identifier to join class name and recording. 1.3.6.1.4.1.1206.4.1.1.7.9.9.1.3" ::= { recRecordingEntry 3 } -- 17.3.9.4 Recording Configuration ID Parameter recordingConfigID OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "This object contains the recording configuration ID (from the recConfigTable) that caused this table entry. It indicates the row in the recConfig table responsible for this recording entry. NTCIP1201-RecMechV2.recMechV2RecordingTrigger The syntax of the replacement object is SnmpAdminString. 1.3.6.1.4.1.1206.4.1.1.7.9.9.1.4" ::= { recRecordingEntry 4 } -- 17.3.9.5 Recording Trigger Time Parameter recordingTriggerTime OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS deprecated DESCRIPTION " The time that the recording was triggered at. This object consists of a string of six (6) octets. The first four (4) octets reflect the value of globalTime when the recording was triggered. The last two (2) octets reflect the time in milliseconds the trigger occurred after the start of the second. The recording shall be detected and timestamped within one recSamplePeriodResolution unit of time from the recording being triggered. NTCIP1201-RecMechV2.recMechV2RecordingDate & recMechV2RecordingTime The replacement objects conform to the new date/time formats. 1.3.6.1.4.1.1206.4.1.1.7.9.9.1.5" ::= { recRecordingEntry 5 } -- 17.3.9.6 Recording Status Parameter recordingStatus OBJECT-TYPE SYNTAX INTEGER { available (1), preevent (2), triggered (3), complete (4) } MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The value of this object reflects the state of the recording located in this row. Value Description available this row is available for a new recording to be initiated for this recording class. When a recording is cleared, the value is set to available preevent the recording defined by recConfigID is collecting pre-event record entries. Note: If the trigger point is set to zero (0) percent or the trigger condition is already satisfied when the recConfigID is configured, then the value transitions straight from available to triggered. triggered the recording defined by recConfigID has triggered and is now collecting post event records. If the trigger point was set to 100 percent, then the value transitions straight from preevent to complete. If a recording was triggered and the device experienced a power failure, then upon power restoration it shall change the value to complete. Triggered recordings shall survive a power outage. complete the recording defined by recConfigID is now complete (i.e. collected all of its post events) and ready for retrieval. Completed recordings shall survive a power outage. NTCIP1201-RecMechV2.recMechV2RecordingStatus 1.3.6.1.4.1.1206.4.1.1.7.9.9.1.6" ::= { recRecordingEntry 6 } -- 17.3.9.7 Recording Trigger Record Number Parameter recordingTriggerRecNum OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "This object contains the record entry number of the trigger record entry. A value of zero (0) means that the recording has not triggered yet. NTCIP1201-RecMechV2.recMechV2RecordingTriggerSample 1.3.6.1.4.1.1206.4.1.1.7.9.9.1.7" ::= { recRecordingEntry 7 } -- 17.3.9.8 Number of Entries in Recording Parameter recordingNumEntries OBJECT-TYPE SYNTAX Integer32 (0..65535) UNITS "entries" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The current number of recording entries in this recording. A value of zero (0) is only valid if the recording is available for use. Note: A completed recording does not always have recConfigNumEntries record entries in it. NTCIP1201-RecMechV2.recMechV2RecordingNumSamples 1.3.6.1.4.1.1206.4.1.1.7.9.9.1.8" ::= { recRecordingEntry 8 } -- 17.3.10 Maximum Recording Entries Parameter maxRecEntries OBJECT-TYPE SYNTAX Integer32 (1..65535) UNITS "records" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The maximum, fixed number of rows that can be used within the recEntriesTable. The replacement for recEntriesTable is not associated with an explicit row limitation just a size limitation given by recMechV2ClassTableSizeLimit and adminRecMechSizeLimit. 1.3.6.1.4.1.1206.4.1.1.7.9.10" ::= { recMech 10} -- 17.3.11 Recording EntriesTable recEntriesTable OBJECT-TYPE SYNTAX SEQUENCE OF RecEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "A table containing the discrete Recording entry records. A request for an object from a row that has not been instantiated or has been cleared shall return a noSuchName error. dynamic NTCIP1201-RecMechV2.recMechV2SampleTable 1.3.6.1.4.1.1206.4.1.1.7.9.11" ::= { recMech 11 } recEntry OBJECT-TYPE SYNTAX RecEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "This object defines an entry in the recording entry table. All entries within a recording shall be ordered chronologically from oldest to newest. NTCIP1201-RecMechV2.recMechV2SampleEntry The index for the replacement table uses four fields: owner, class, recording, and sample. 1.3.6.1.4.1.1206.4.1.1.7.9.11.1" INDEX { recordingID, recEntryNumber } ::= { recEntriesTable 1 } RecEntry::= SEQUENCE { recEntryNumber Integer32, recSampleTime OCTET STRING, recValue Opaque } -- 17.3.11.1 Record Entry Number Parameter recEntryNumber OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The entry number within this recording for this record. Entry numbers shall be assigned starting at 1 and shall increase up to the value specified by the associated recConfigNumEntries. A value of zero indicates that the row is unused (cleared). NTCIP1201-RecMechV2.recMechV2SampleNum 1.3.6.1.4.1.1206.4.1.1.7.9.11.1.1" ::= { recEntry 1 } -- 17.3.11.2 Record Entry Sample Time Parameter recSampleTime OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The time that the record entry was sampled at. This object consists of a string of six (6) octets. The first four (4) octets reflect the value of controllerLocalTime when the entry was sampled. The last two (2) octets reflect the time in milliseconds the sample occurred after the start of the second. The entry shall be collected within one recSamplePeriodResolution unit of time from the sample being triggered and timestamped with the time of collection NTCIP1201-RecMechV2.recMechV2SampleTime The syntax for the replacement object is ITSDailyTimeStamp, which does not provide the date. However, the date is provided in the Trigger time. Assuming the sample period is relatively short, this should not cause a problem. For recordings with many samples and/or long sample intervals, the date can be calculated - with the one exception of on change sampling for rare events. owner, class, recording, and sample. 1.3.6.1.4.1.1206.4.1.1.7.9.11.1.2" ::= { recEntry 2 } -- 17.3.11.3 Record Entry Value Parameter recValue OBJECT-TYPE SYNTAX Opaque MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The value of this object is set to the BER encoding of the value referenced by the recConfigRecordOID of the associated recordingConfigID when the entry was collected. Its length is variable. The value shall not contain any padding characters either before or after the values. NOTE: Opaque objects are doubly wrapped. For SNMP operations, which use BER, this would be {type, length, {type, length, value}}. For example, a zero-length octet string, would be encoded in BER as 0x44 02 04 00. For STMP or SFMP operations, which use OER, this would be { length, {type, length, value}}. For example, the same example would be encoded in OER as 0x02 04 00. NTCIP1201-RecMechV2.recMechV2SampleValue The syntax of the replacement object is ITSOerString. 1.3.6.1.4.1.1206.4.1.1.7.9.11.1.3" ::= { recEntry 3 } -- 17.3.12 Total Recordings Counter Parameter numRecordings OBJECT-TYPE SYNTAX Integer32 (0..65535) UNITS "recordings" MAX-ACCESS read-only STATUS deprecated DESCRIPTION " This object is a counter that gets incremented every time a recording is completed and shall initialize to zero at power up. The value shall roll over each time it exceeds the maximum of 65535. NTCIP1201-RecMechV2.recMechV2OwnerRecordingCtr & adminRecMechV2RecordingCtr The syntax of the replacement objects is ZeroBasedCounter32. 1.3.6.1.4.1.1206.4.1.1.7.9.12" ::= { recMech 12 } -- 17.3.13 Clear Recording Classes recClearClasses OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object commands the device to clear a recording class from recClassTable. A SET of zero has no effect on any recording classes. A SET = n, n <= maxRecClasses, shall cause recClassNumber = n to be deleted from the recClassTable and all related recording configurations, their recordings, their recording entries, their recording activities shall be deleted from the recConfigTable, recRecordingTable, and recEntriesTable respectively. A SET of 255 shall cause all entries in the recClassTable, recConfigTable, recRecordingTable, and recEntriesTable to be deleted. Upon performing the action requested, the device shall SET this object to zero (0). A GET shall always return zero (0). NTCIP1201-RecMechV2.recMechV2ClassRowStatus, recMechV2OwnerClearAllClasses, & adminRecMechClearAllClasses 1.3.6.1.4.1.1206.4.1.1.7.9.13" ::= { recMech 13 } -- 17.3.14 Clear Recording Configurations recClearConfigurations OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object commands the device to clear a recording configuration from the recConfigTable. A SET of zero has no effect on any recording configurations. A SET = n, n <= maxRecConfigs, shall cause recConfigID = n to be deleted from the recRecordingTable and all related recordings, their recording entries, and their recording activities shall be deleted from the recRecordingTable and recEntriesTable respectively. A SET of n = 65535 shall cause all entries in the recConfigTable, recRecordingTable, and recEntriesTable to be deleted. Upon performing the action requested, the device shall SET this object to zero (0). A GET shall always return zero (0). NTCIP1201-RecMechV2.recMechV2FactoryRowStatus, recMechV2OwnerClearAllFactories, adminRecMechClearAllFactories, COND_NOTIFICATIONS-MIB.fdCondTriggerRowStatus (ISO 20684-3) There is not a clear all for the conditional trigger. 1.3.6.1.4.1.1206.4.1.1.7.9.14" ::= { recMech 14 } -- 17.3.15 Clear Recording Data recClearRecordingData OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-write STATUS deprecated DESCRIPTION "This object commands the device to clear a recording from the recRecordingTable and recEntriesTable. A SET of zero has no effect on any recordings. A SET = n, n <= maxRecordings, shall cause recRecordingID = n to be deleted from the recRecordingTable and all record entries related to the recording to be deleted from recEntriesTable. A SET of n = 65535 shall cause all entries in both the recRecordingTable and recEntriesTable to be deleted. Note: a device shall immediately start collecting new pre-event records for all active recording configurations. Upon performing the action requested, the device shall SET this object to zero (0). A GET shall always return zero (0). NTCIP1201-RecMechV2.recMechV2RecordingDelete, recMechV2OwnerClearAllRecordings, & adminRecMechClearAllRecordings 1.3.6.1.4.1.1206.4.1.1.7.9.15" ::= { recMech 15 } -- 17.4 COMPLIANCE GROUPS -- 17.4.1 Watch Block Group recMechGroupR1 OBJECT-GROUP OBJECTS { maxRecClasses, recClassNumber, recClassLimit, recClassClearTime, recClassDescription, recClassNumRecordings, recClassRecordingCounter, maxRecConfigs, recMinSamplePeriod, recMaxSamplePeriod, recSamplePeriodResolution, recConfigID, recConfigClass, recConfigMode, recConfigCompareValue, recConfigCompareValue2, recConfigCompareOID, recConfigRecordOID, recConfigTriggerPoint, recConfigSamplePeriod, recConfigSampleOID, recConfigNumEntries, recConfigAction, recConfigStatus, maxRecordings, recordingClass, recordingNumber, recordingID, recordingConfigID, recordingTriggerTime, recordingStatus, recordingTriggerRecNum, recordingNumEntries, maxRecEntries, recEntryNumber, recSampleTime, recValue, numRecordings, recClearClasses, recClearConfigurations, recClearRecordingData } STATUS deprecated DESCRIPTION " The objects necessary for managing the high-resolution data recording mechanism. 1.3.6.1.4.1.1206.4.1.1.7.9.127.2.1" ::= {recMechGroups 1} END -- NTCIP1201-RechMech