--  ==================================================================
-- Copyright (C) 2007 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- 
-- Description: HUAWEI TDMoPSN Management MIB
-- Reference:
-- Version: V1.0
-- History:
--      V1.0 songguozhong, 2007-06-27, publish
-- ==================================================================

HUAWEI-TDM-PSN-MIB DEFINITIONS ::= BEGIN
    IMPORTS                           
        OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP         
            FROM SNMPv2-CONF   
        HWL2VpnVcEncapsType          
            FROM HUAWEI-VPLS-EXT-MIB  
        Integer32, Unsigned32, Gauge32, Counter64, 
        OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE         
            FROM SNMPv2-SMI         
        InterfaceIndex             
            FROM IF-MIB                              
        hwDatacomm
            FROM HUAWEI-MIB;             
            
    hwTdmPsnMIB MODULE-IDENTITY 
        LAST-UPDATED "200706270900Z"
        ORGANIZATION 
            "Huawei Technologies Co., Ltd."
        CONTACT-INFO 
            "R&D BeiJing, Huawei Technologies co.,Ltd.
            Huawei Bld.,NO.3 Xinxi Rd., 
            Shang-Di Information Industry Base,
            Hai-Dian District Beijing P.R. China
            Zip:100085 
            Http://www.huawei.com                       
            E-mail:support@huawei.com"
        DESCRIPTION 
            "The HUAWEI-TDM-PSN-MIB contains objects to manage TDM."
        ::= { hwDatacomm 152 }
                      
    hwTdmPsnMIBObjects OBJECT IDENTIFIER ::= { hwTdmPsnMIB 1 }        

    hwTdmPsnPerfCurrentTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwTdmPsnPerfCurrentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table provides per TDM PW performance information."
        ::= { hwTdmPsnMIBObjects 1 }
    
    hwTdmPsnPerfCurrentEntry OBJECT-TYPE
        SYNTAX HwTdmPsnPerfCurrentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in hwTdmPsnPerfCurrentTable."
        INDEX { hwTdmPsnPerfCurrentPwIdIndex, hwTdmPsnPerfCurrentPwTypeIndex}
        ::= { hwTdmPsnPerfCurrentTable 1 }
        
    HwTdmPsnPerfCurrentEntry ::=
        SEQUENCE 
        {      
            hwTdmPsnPerfCurrentPwIdIndex 
                Unsigned32,
            hwTdmPsnPerfCurrentPwTypeIndex
                HWL2VpnVcEncapsType,
            hwTdmPsnPerfCurrentMissingPkts
                Gauge32,
            hwTdmPsnPerfCurrentPktsReorder
                Gauge32,
            hwTdmPsnPerfCurrentJtrBfrUnderruns
                Gauge32,
            hwTdmPsnPerfCurrentMisorderDropped
                Gauge32,
            hwTdmPsnPerfCurrentMalformedPkts
                Gauge32,
            hwTdmPsnPerfCurrentErrorSeconds
                Gauge32,
            hwTdmPsnPerfCurrentSeverelyErrorSeconds
                Gauge32,
            hwTdmPsnPerfCurrentUnavailableSeconds
                Gauge32,
            hwTdmPsnPerfCurrentFailureCounts   
                Gauge32
        }
             
    hwTdmPsnPerfCurrentPwIdIndex OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Index for the conceptual row identifying a PW within  
            this PW Emulation table.Used in the outgoing PW ID field 
            within the 'Virtual Circuit FEC Element'."
        ::= { hwTdmPsnPerfCurrentEntry 1 }
        
    hwTdmPsnPerfCurrentPwTypeIndex OBJECT-TYPE
        SYNTAX HWL2VpnVcEncapsType
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The type of the Virtual Circuit.This value indicate the 
            Service to be carried over this PW."
        ::= { hwTdmPsnPerfCurrentEntry 2 }         
             
    hwTdmPsnPerfCurrentMissingPkts OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of missing packets (as detected via control word 
            Sequence number gaps)."
        ::= { hwTdmPsnPerfCurrentEntry 3 }
        
    hwTdmPsnPerfCurrentPktsReorder OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of packets detected out of sequence (via control
            word sequence number), but successfully re-ordered.
            Note: some implementations may not support this Feature."
        ::= { hwTdmPsnPerfCurrentEntry 4 }
         
    hwTdmPsnPerfCurrentJtrBfrUnderruns OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of times a packet needed to be played
            out and the jitter buffer was empty."
        ::= { hwTdmPsnPerfCurrentEntry 5 }
         
    hwTdmPsnPerfCurrentMisorderDropped OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of packets detected out of order(via control word
            Sequence numbers), and could not be re-ordered, or could
            not fit in the jitter buffer."
        ::= { hwTdmPsnPerfCurrentEntry 6 }
         
    hwTdmPsnPerfCurrentMalformedPkts OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of packets detected with unexpected size, or
            bad headers' stack."
        ::= { hwTdmPsnPerfCurrentEntry 7 }
         
    hwTdmPsnPerfCurrentErrorSeconds OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The counter associated with the number of Error
            Seconds encountered.Any malformed packet, seq. error and
            similar are considered as error second."
        ::= { hwTdmPsnPerfCurrentEntry 8 }
         
    hwTdmPsnPerfCurrentSeverelyErrorSeconds OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The counter associated with the number of
            Severely Error Seconds encountered."
        ::= { hwTdmPsnPerfCurrentEntry 9 }
         
    hwTdmPsnPerfCurrentUnavailableSeconds OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The counter associated with the number of
            Unavailable Seconds encountered. Any consequtive
            five seconds of SES are counted as one UAS."
        ::= { hwTdmPsnPerfCurrentEntry 10 }  
    
    hwTdmPsnPerfCurrentFailureCounts OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "TDM Failure Counts (FC-TDM). The number of TDM failure
            events. A failure event begins when the LOPS failure
            is declared, and ends when the failure is cleared. A
            failure event that begins in one period and ends in
            another period is counted only in the period in which
            it begins."
        ::= { hwTdmPsnPerfCurrentEntry 11 }  

    hwTdmPsnAlarmTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwTdmPsnAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table provides per CEP PW Status information."
        ::= { hwTdmPsnMIBObjects 2 }
    
    hwTdmPsnAlarmEntry OBJECT-TYPE
        SYNTAX HwTdmPsnAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in hwTdmPsnAlarmTable."
        INDEX { hwTdmPsnAlarmPwIdIndex, hwTdmPsnAlarmPwTypeIndex}
        ::= { hwTdmPsnAlarmTable 1 }
        
    HwTdmPsnAlarmEntry ::=
        SEQUENCE 
        {      
            hwTdmPsnAlarmPwIdIndex 
                Unsigned32,
            hwTdmPsnAlarmPwTypeIndex
                HWL2VpnVcEncapsType,
            hwTdmPsnAlarmPwStatus
                INTEGER,
            hwTdmPsnAlarmVcIfIndex
                InterfaceIndex
        }           
                             
    hwTdmPsnAlarmPwIdIndex OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Index for the conceptual row identifying a PW within  
            this PW Emulation table.Used in the outgoing PW ID field 
            within the 'Virtual Circuit FEC Element'."
        ::= { hwTdmPsnAlarmEntry 1 }
        
    hwTdmPsnAlarmPwTypeIndex OBJECT-TYPE
        SYNTAX HWL2VpnVcEncapsType
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The type of the Virtual Circuit.This value indicate the 
            Service to be carried over this PW."
        ::= { hwTdmPsnAlarmEntry 2 } 

    hwTdmPsnAlarmPwStatus OBJECT-TYPE
        SYNTAX  INTEGER (1..6 ) 
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This variable indicates the Line Status of the
            interface.  It contains PW alarms information.    
            The hwTdmPsnInfoPwStatus is a bit map represented as a
            Sum, therefore, it can represent multiple alarms simultaneously.
            PwNoAlarm must be set if and only if no other flag is set.
            The various bit positions are:
                0 bit     PwNoAlarm       No alarm present
                1 bit     PwRAI           Remote Alarm Indication
                2 bit     PwAIS           Alarm Indication Signal "
        ::= { hwTdmPsnAlarmEntry 3 } 
        
    hwTdmPsnAlarmVcIfIndex OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Index of E1 or T1 interface."
        ::= { hwTdmPsnAlarmEntry 4 }                                      
                                                     
    hwTdmPsnMIBTraps OBJECT IDENTIFIER ::= { hwTdmPsnMIB 2 } 
    hwTdmPsnAlarmTrap NOTIFICATION-TYPE
        OBJECTS { hwTdmPsnAlarmPwStatus, hwTdmPsnAlarmVcIfIndex }
        STATUS  current
        DESCRIPTION
            "A hwTdmPsnAlarmTrap trap is sent when the
            value of an instance hwTdmPsnAlarmPwStatus changes."
        ::= { hwTdmPsnMIBTraps 1 }
          
    hwTdmPsnMIBConformance OBJECT IDENTIFIER ::= { hwTdmPsnMIB 3 }           
    hwTdmPsnMIBCompliances OBJECT IDENTIFIER ::= { hwTdmPsnMIBConformance 1 }   
    hwTdmPsnMIBCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "The compliance statement for TDM."
        MODULE MANDATORY-GROUPS
        {   
            hwTdmPsnPerfCurrentGroup,
            hwTdmPsnAlarmGroup
        }      
        ::= { hwTdmPsnMIBCompliances 1 }
              
    hwTdmPsnMIBGroups OBJECT IDENTIFIER ::= { hwTdmPsnMIBConformance 2 }   
    hwTdmPsnPerfCurrentGroup OBJECT-GROUP
        OBJECTS 
        {
            hwTdmPsnPerfCurrentMissingPkts,
            hwTdmPsnPerfCurrentPktsReorder,
            hwTdmPsnPerfCurrentJtrBfrUnderruns,
            hwTdmPsnPerfCurrentMisorderDropped,
            hwTdmPsnPerfCurrentMalformedPkts,
            hwTdmPsnPerfCurrentErrorSeconds,
            hwTdmPsnPerfCurrentSeverelyErrorSeconds,
            hwTdmPsnPerfCurrentUnavailableSeconds,
            hwTdmPsnPerfCurrentFailureCounts    
        }
        STATUS current
        DESCRIPTION
            "The hwTdmPsnPerfCurrentTable's group."
        ::= { hwTdmPsnMIBGroups 1 }
    
    hwTdmPsnAlarmGroup OBJECT-GROUP
        OBJECTS 
        {   
            hwTdmPsnAlarmPwStatus,
            hwTdmPsnAlarmVcIfIndex
        }
        STATUS current
        DESCRIPTION
            "The hwTdmPsnAlarmTable's group."
        ::= { hwTdmPsnMIBGroups 2 }  

    hwTdmPsnNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS { hwTdmPsnAlarmTrap}
        STATUS current
        DESCRIPTION 
            "The TdmPsn's SVC Notification group."
        ::= { hwTdmPsnMIBGroups 3 }
END

