
AFFIRMED-TEMS-OBJECTS-MIB DEFINITIONS ::= BEGIN


    IMPORTS

    OBJECT-TYPE, MODULE-IDENTITY,
    Unsigned32, Integer32, IpAddress                                  				FROM SNMPv2-SMI
    MacAddress,RowStatus, DateAndTime, TruthValue                     				FROM SNMPv2-TC
    DisplayString                                   				  		FROM RFC1213-MIB
    ResourceAdminStatus, ThresholdType, AlarmLevel						FROM AFFIRMED-TEMS-TC-MIB
    affirmedSnmpObjects                                    					FROM AFFIRMED-TEMS-SNMP-MIB;


affirmedTemsObjects MODULE-IDENTITY
    LAST-UPDATED    "200803141114Z"
    ORGANIZATION    "Affirmed Networks�"
    CONTACT-INFO    "affirmed@affirmednetworks.com"
    DESCRIPTION     "This MIB module describes management objects for ANMS Management Server"
    REVISION        "200803141114Z"
    DESCRIPTION     "North Bound MIB definition for ANMS"
    ::= { affirmedSnmpObjects 1 }

temsServerSystemGroup         OBJECT IDENTIFIER ::= { affirmedTemsObjects 1 }
temsServerResourceGroup       OBJECT IDENTIFIER ::= { affirmedTemsObjects 2 }
temsServerAlarmGroup          OBJECT IDENTIFIER ::= { affirmedTemsObjects 3 }
temsServerStatsGroup          OBJECT IDENTIFIER ::= { affirmedTemsObjects 4 }
temsServerConfigGroup         OBJECT IDENTIFIER ::= { affirmedTemsObjects 5 }

--
--  Management Server Deployment Details
--

     temsServerDetails       OBJECT IDENTIFIER ::= { temsServerSystemGroup 1 }

        temsServerId OBJECT-TYPE
              SYNTAX        Unsigned32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION   "Unique ID of this Instance of the Management Server - Normally set to 1,
                               will have different values in a clustered deployment"
              ::= { temsServerDetails 1 }

        temsServerName OBJECT-TYPE
              SYNTAX        DisplayString
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION   "Descriptive Name for this Management Server"
              ::= { temsServerDetails 2 }

        temsServerRunningVersion OBJECT-TYPE
              SYNTAX        DisplayString
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION   "Currently running software version number of this Management Server"
              ::= { temsServerDetails 3 }

        temsServerDeployedLocation OBJECT-TYPE
              SYNTAX        DisplayString
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION   "Address / Location of deployment of this Management server"
              ::= { temsServerDetails 4 }

---Resource Types Supported by the Management Server

temsServerResourceTypeTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF TemsServerResourceTypeEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "List of devices / network elements (termed as Resource Types) supported by this Management Server."
    ::= { temsServerResourceGroup 1 }

temsServerResourceTypeEntry OBJECT-TYPE
    SYNTAX        TemsServerResourceTypeEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "Each Entry denotes a single Network Element type / product supported by this Management Server"
    INDEX         { temsServerResourceTypeIndex }
    ::= { temsServerResourceTypeTable 1 }

TemsServerResourceTypeEntry ::= SEQUENCE {
          temsServerResourceTypeIndex               Unsigned32,
          temsServerResourceType                    DisplayString
      }


temsServerResourceTypeIndex OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
           "An index value that uniquely identifies the Resource Type supported by this Management Server"
        ::= { temsServerResourceTypeEntry 1 }

temsServerResourceType OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Name of the Resource Type supported for management."
        ::= { temsServerResourceTypeEntry 2 }

---Resources Currently Supported by the Management Server

temsServerResourceTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF TemsServerResourceEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "List of Network Elements Managed by this Management Server."
    ::= { temsServerResourceGroup 2 }

temsServerResourceEntry OBJECT-TYPE
    SYNTAX        TemsServerResourceEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "Each Entry denotes a Network Element being managed by this Management Server.
		   An Id of 1 is reserved for the Management Server itself as it is self-managed"
    INDEX         { temsServerResourceIndex }
    ::= { temsServerResourceTable 1 }

TemsServerResourceEntry ::= SEQUENCE {
          temsServerResourceIndex                      Unsigned32,
          temsServerResourceName                       DisplayString,
		  temsServerResourceTypeId                     Unsigned32,
		  temsServerResourceIpAddress                  IpAddress,
		  temsServerResourceAdminStatus                ResourceAdminStatus
      }


temsServerResourceIndex OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
           "An index value that uniquely identifies the Resource being managed."
        ::= { temsServerResourceEntry 1 }

temsServerResourceName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Name of the Resource being managed."
        ::= { temsServerResourceEntry 2 }

temsServerResourceTypeId OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Indicates the Resource Type - Acts like a foreign key to the temsServerResourceTypeTable."
        ::= { temsServerResourceEntry 3 }

temsServerResourceIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "IPAddress of the Resource being managed."
        ::= { temsServerResourceEntry 4 }

temsServerResourceAdminStatus OBJECT-TYPE
        SYNTAX        ResourceAdminStatus
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Administrative Status of the Resource being Managed. Indicates whether the Resource is Active / Inactive.
		  Testing status is used for experimental purpose and will not be used in production systems."
        ::= { temsServerResourceEntry 5 }


---Alarms / Fault Currently Identified by the Management Server

temsServerActiveAlarmTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF TemsServerActiveAlarmEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "List of PM Metrics being monitored by this Management Server."
    ::= { temsServerAlarmGroup 2 }

temsServerActiveAlarmEntry OBJECT-TYPE
    SYNTAX        TemsServerActiveAlarmEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "Each Entry denotes the Performance Metric being Monitored periodically"
    INDEX         { temsServerActiveAlarmIndex, temsServerResourceIndex }
    ::= { temsServerActiveAlarmTable 1 }

TemsServerActiveAlarmEntry ::= SEQUENCE {
          	  temsServerActiveAlarmIndex                      Unsigned32,
          	  temsServerActiveAlarmSource                     DisplayString,
		  temsServerActiveAlarmCategory                   DisplayString,
		  temsServerActiveAlarmSeverity                   AlarmLevel,
		  temsServerActiveAlarmMessage                    DisplayString,
		  temsServerActiveAlarmRemedy                     DisplayString,
		  temsServerActiveAlarmOwner                      DisplayString,
		  temsServerActiveAlarmCreatedTime                DateAndTime,
		  temsServerActiveAlarmUpdatedTime                DateAndTime,
		  temsServerActiveAlarmClearedTime                DateAndTime,
		  temsServerActiveAlarmAckStatus                  TruthValue,
		  temsServerActiveAlarmAckTime                    DateAndTime,
		  temsServerActiveAlarmAdditionalInfo             DisplayString,
		  temsServerActiveAlarmNEIndex                    Unsigned32,
		  temsServerActiveAlarmNESeqNumber                Unsigned32,
  		  temsServerActiveAlarmTrapOid               	  DisplayString
      }


temsServerActiveAlarmIndex OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
           "An index value that uniquely identifies the Alarm supported by this Management Server"
        ::= { temsServerActiveAlarmEntry 1 }

temsServerActiveAlarmSource OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Provides details on the Source of the Alarm within the specified resource.
		   It is mainly used to indicate the component within the Router / Switch responsible for the problem"
        ::= { temsServerActiveAlarmEntry 2 }

temsServerActiveAlarmCategory OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Represents the Category of the Alarm - Used to uniquely differentiate different types of Alarms from the same component"
        ::= { temsServerActiveAlarmEntry 3 }

temsServerActiveAlarmSeverity OBJECT-TYPE
        SYNTAX        AlarmLevel
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Severity of this Alarm"
        ::= { temsServerActiveAlarmEntry 4 }

temsServerActiveAlarmMessage OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Includes the detailed description of the Alarm"
        ::= { temsServerActiveAlarmEntry 5 }

temsServerActiveAlarmRemedy OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Indicates the possible Remedy for this Alarm. Mostly this field will be updated by the Administrator / user"
        ::= { temsServerActiveAlarmEntry 6 }

temsServerActiveAlarmOwner OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Name of the user currently assigned to the Alarm"
        ::= { temsServerActiveAlarmEntry 7 }

temsServerActiveAlarmCreatedTime OBJECT-TYPE
        SYNTAX        DateAndTime
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Indicates the Time of Alarm Creation."
        ::= { temsServerActiveAlarmEntry 8 }

temsServerActiveAlarmUpdatedTime OBJECT-TYPE
        SYNTAX        DateAndTime
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Indicates the Time of latest update to this Alarm"
        ::= { temsServerActiveAlarmEntry 9 }

temsServerActiveAlarmClearedTime OBJECT-TYPE
        SYNTAX        DateAndTime
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Indicates the cleared time of Alarm"
        ::= { temsServerActiveAlarmEntry 10 }

temsServerActiveAlarmAckStatus OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Indicates whether this Alarms is Acknowledged by the owner or not"
        ::= { temsServerActiveAlarmEntry 11 }

temsServerActiveAlarmAckTime OBJECT-TYPE
        SYNTAX        DateAndTime
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Time of Acknowledgement by the Owner of this Alarm"
        ::= { temsServerActiveAlarmEntry 12 }
        
        
temsServerActiveAlarmAdditionalInfo OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Includes the detailed description of the Alarm"
        ::= { temsServerActiveAlarmEntry 13 }
                
temsServerActiveAlarmNEIndex OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
           "A value that identifies the Alarm index of network element by this Management Server"
        ::= { temsServerActiveAlarmEntry 14 }
        
temsServerActiveAlarmNESeqNumber OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
           "A value that identifies the Alarm Sequence Number of network element by this Management Server"
        ::= { temsServerActiveAlarmEntry 15 }
        
temsServerActiveAlarmTrapOid OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Includes the source Trap OID of the Alarm"
        ::= { temsServerActiveAlarmEntry 16 }
        

---Performance Metrics Monitored by the Management Server

temsServerPerfMetricsTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF TemsServerPerfMetricsEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "List of PM Metrics being monitored by this Management Server."
    ::= { temsServerStatsGroup 1 }

temsServerPerfMetricsEntry OBJECT-TYPE
    SYNTAX        TemsServerPerfMetricsEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "Each Entry denotes the Performance Metric being Monitored periodically"
    INDEX         { temsServerPerfMetricsIndex, temsServerResourceTypeIndex }
    ::= { temsServerPerfMetricsTable 1 }

TemsServerPerfMetricsEntry ::= SEQUENCE {
          temsServerPerfMetricsIndex               Unsigned32,
          temsServerPerfMetric                     DisplayString,
          temsServerPerfMetricPollingInterval      Unsigned32
      }


temsServerPerfMetricsIndex OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
           "An index value that uniquely identifies the Performance Metric being Collected"
        ::= { temsServerPerfMetricsEntry 1 }

temsServerPerfMetric OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Name of the Metric being collected."
        ::= { temsServerPerfMetricsEntry 2 }

temsServerPerfMetricPollingInterval OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Interval for collecting the Performance Metric periodically"
        ::= { temsServerPerfMetricsEntry 3 }

---Performance Metric - Collected Statistics

temsServerPerfStatsTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF TemsServerPerfStatsEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "List of PM Value collected for each Performance Metric being monitored.
           Based on the implementation / customization this table might have data for the last 1 hour of Performance Statistics
           or just the last 10 sets of data collected"
    ::= { temsServerStatsGroup 2 }

temsServerPerfStatsEntry OBJECT-TYPE
    SYNTAX        TemsServerPerfStatsEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "Each Entry denotes the Data Collected for the Performance Metric of a specific resource at a specified time.
           As part of any customization of DNMS, It is advisable to create a separate table for each group of metrics
           to make it more efficient for the Agent and Data Collection Engine."
    INDEX         { temsServerPerfMetricsIndex, temsServerResourceIndex, temsServerPerfStatsIndex }
    ::= { temsServerPerfStatsTable 1 }

TemsServerPerfStatsEntry ::= SEQUENCE {
          temsServerPerfStatsIndex               Unsigned32,
          temsServerPerfMetricCollectedTime    DateAndTime,
          temsServerPerfMetricCollectedValue   Integer32
      }


temsServerPerfStatsIndex OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
           "An index value that uniquely identifies the Performance Statistic Collected"
        ::= { temsServerPerfStatsEntry 1 }

temsServerPerfMetricCollectedTime OBJECT-TYPE
        SYNTAX        DateAndTime
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Time of Collection of the current Row"
        ::= { temsServerPerfStatsEntry 2 }

temsServerPerfMetricCollectedValue OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
          "Value of the Performance Metric Collected at the Respective Collected Time"
        ::= { temsServerPerfStatsEntry 3 }

---snmpManagerConfiguration

temsServerSnmpManagerTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF TemsServerSnmpManagerEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "List of SNMP Managers (Manager of Manager) Registered to receive Trap Notifications"
    ::= { temsServerConfigGroup 1 }

temsServerSnmpManagerEntry OBJECT-TYPE
    SYNTAX        TemsServerSnmpManagerEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "Entry containing information for a particular
           Registered SNMP Manager - Interested in receiving trap Notifications."
    INDEX         { temsServerSnmpManagerIndex }
    ::= { temsServerSnmpManagerTable 1 }

TemsServerSnmpManagerEntry ::= SEQUENCE {
          temsServerSnmpManagerIndex            Unsigned32,
          temsServerSnmpManagerIpAddress        IpAddress,
          temsServerSnmpManagerTrapPort         Unsigned32,
          temsServerSnmpManagerTrapCommunity    DisplayString,
          temsServerSnmpManagerRowStatus        RowStatus
      }


temsServerSnmpManagerIndex OBJECT-TYPE
        SYNTAX        Unsigned32 (1..255)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
           "An index value that uniquely identifies this SnmpManager
            registered for receiving SNMP Traps from the EMS Server."
        ::= { temsServerSnmpManagerEntry 1 }

temsServerSnmpManagerIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "IP-Address of the SNMP Manager."
        ::= { temsServerSnmpManagerEntry 2 }

temsServerSnmpManagerTrapPort OBJECT-TYPE
        SYNTAX        Unsigned32 (1..65327)
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "The Trap Listener Port of this SNMP Manager"
        ::= { temsServerSnmpManagerEntry 3 }

temsServerSnmpManagerTrapCommunity OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "Trap Community to be used in the Trap Notification for this SNMP Manager."
        ::= { temsServerSnmpManagerEntry 4 }


temsServerSnmpManagerRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "RowStatus - Used to Manage the Table Entry"
        ::= { temsServerSnmpManagerEntry 5 }

---Threshold Configuration for Each Performance Metric

perfMetricThresholdTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF PerfMetricThresholdEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "List of Thresholds created for monitoring the individual Performance Metrics"
    ::= { temsServerConfigGroup 2 }

perfMetricThresholdEntry OBJECT-TYPE
    SYNTAX        PerfMetricThresholdEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
          "Entry containing detailed Threshold information
           for each Performance Metric."
    INDEX         { temsServerPerfMetricsIndex, perfMetricThresholdIndex }
    ::= { perfMetricThresholdTable 1 }

PerfMetricThresholdEntry ::= SEQUENCE {
          perfMetricThresholdIndex            Unsigned32,
          perfMetricThresholdType             ThresholdType,
          perfMetricCriticalThreshold         Integer32,
          perfMetricMajorThreshold            Integer32,
          perfMetricMinorThreshold            Integer32,
          perfMetricCriticalRearm             Integer32,
          perfMetricMajorRearm                Integer32,
          perfMetricMinorRearm                Integer32,
          perfMetricClearThreshold            Integer32,
          perfMetricThresholdRowStatus        RowStatus
      }


perfMetricThresholdIndex OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "Unique ID of this Threshold."
        ::= { perfMetricThresholdEntry 1 }

perfMetricThresholdType OBJECT-TYPE
        SYNTAX        ThresholdType
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "Specifies whether is the current threshold an Increasing / Decreasing threshold."
        ::= { perfMetricThresholdEntry 2 }

perfMetricCriticalThreshold OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "Limit for Raising a Critical Alarm."
        ::= { perfMetricThresholdEntry 3 }

perfMetricMajorThreshold OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "Limit for Raising a Major Alarm."
        ::= { perfMetricThresholdEntry 4 }

perfMetricMinorThreshold OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "Limit for Raising a Minor Alarm."
        ::= { perfMetricThresholdEntry 5 }

perfMetricCriticalRearm OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "Rearm value for Re-Raising a Critical Alarm."
        ::= { perfMetricThresholdEntry 6 }

perfMetricMajorRearm OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "Rearm value for Re-Raising a Major Alarm."
        ::= { perfMetricThresholdEntry 7 }

perfMetricMinorRearm OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "Rearm value for Re-Raising a Minor Alarm."
        ::= { perfMetricThresholdEntry 8 }

perfMetricClearThreshold OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "Threshold Value to clear the Raised Alarm."
        ::= { perfMetricThresholdEntry 9 }

perfMetricThresholdRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
          "RowStatus - Used to Manage the Table Entry"
        ::= { perfMetricThresholdEntry 10 }

END

