
--------------------------------------------------------------------------
-- File Name : ZTE-AN-IMA-MIB.mib
-- Date      : 2007-7-10
-- Author    : ZTE Nms dept.

--
-- Zte IMA Mib for DSL
-- 
-- 
--------------------------------------------------------------------------


ZTE-AN-IMA-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32             FROM SNMPv2-SMI
        RowStatus,DisplayString,TEXTUAL-CONVENTION          FROM SNMPv2-TC
        --ifIndex, ifAdminStatus,ifOperStatus,ifType          FROM IF-MIB
        ZxAnIfindex,ZxAnPortList,ZxAnIdList,zxAn            FROM ZTE-AN-TC-MIB
        
        ;


    zxAnImaMib MODULE-IDENTITY
        LAST-UPDATED    "200707101130Z"
        ORGANIZATION "ZTE Corporation"
        CONTACT-INFO "ZTE NMS dept. 
                      Su Chunshan   68896292 "
        DESCRIPTION  "This MIB defines managed objects of AN IMA mgmt."
         ::= { zxAn 1005 }



    zxAnImaObjects     OBJECT IDENTIFIER  ::=  { zxAnImaMib 1 }
    zxAnImaTrapObjects OBJECT IDENTIFIER  ::=  { zxAnImaMib 2 }
         

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.IMA Group
-- 2.IMA Link
--------------------------------------------------------------------------------


    
    -- Textual conventions    
    ImaLinkState ::= TEXTUAL-CONVENTION
      STATUS    current
      DESCRIPTION
          "State of a link belonging to an IMA group."
      REFERENCE
          "ATM Forum IMA v1.1, Section 10.1.2 on page 48"
      SYNTAX  INTEGER 
      {
        notInGroup(1),
        unusableNoGivenReason(2),
        unusableFault(3),
        unusableMisconnected(4),
        unusableInhibited(5),
        unusableFailed(6),
        usable(7),
        active(8) 
      }

 
  ImaGroupState ::= TEXTUAL-CONVENTION
      STATUS    current
      DESCRIPTION
        "State of the IMA group."
      REFERENCE
        "ATM Forum IMA v1.1, Section 10.2.1 on page 55" 
      SYNTAX INTEGER
      {
        notConfigured(1),
        startUp(2),
        startUpAck(3),
        configAbortUnsupportedM(4),
        configAbortIncompatibleSymmetry(5),
        configAbortOther(6),
        insufficientLinks(7),
        blocked(8),
        operational(9),
        configAbortUnsupportedImaVersion(10) 
      }
 
 
    ImaGroupTxClkMode ::= TEXTUAL-CONVENTION
      STATUS    current
      DESCRIPTION
        "Indicate the transmit clock mode of the IMA group.
        There are two possible modes: the Common Transmit
        Clock (CTC) and the Independent Transmit Clock (ITC).
        The CTC mode corresponds to the case when the transmit clock
        of all IMA links are derived from the same source. The ITC
        configuration corresponds to the case where there is at least
        one IMA link whose transmit clock is derived from a source
        different than at least another link transmit clock."
      REFERENCE
        "ATM Forum IMA v1.1, Section 7 on page 38"
      SYNTAX INTEGER
      {
        ctc(1),
        itc(2) 
      }
    
    ImaGroupSymmetry ::= TEXTUAL-CONVENTION
      STATUS    current
      DESCRIPTION
        "The group symmetry mode adjusted during the group start-up."
      REFERENCE
        "ATM Forum IMA v1.1, Section 5.2.2.7 on page 35"
      SYNTAX INTEGER 
      {
        symmetricOperation(1),
        asymmetricOperation(2),
        asymmetricConfiguration(3) 
      }
    
    ImaFrameLength ::= TEXTUAL-CONVENTION
      STATUS    current
      DESCRIPTION
        "Length of the IMA frames."
      REFERENCE
        "ATM Forum IMA v1.1, Section 5.2.2.4.2 on page 34"
      SYNTAX INTEGER 
      {
        m32(32),
        m64(64),
        m128(128),
        m256(256) 
      }

 
--------------------------------------------------------------------------------
-- 1.IMA Group
--------------------------------------------------------------------------------
    zxAnImaGroupTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnImaGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "xDslImaGroup interface table."
        ::= { zxAnImaObjects  1 }


    zxAnImaGroupEntry OBJECT-TYPE
        SYNTAX      ZxAnImaGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Ima Group interface create entry.It is used to create or remove a 
          ima goup interface.
          
          NOTE:
             zxAnImaLinkGroupIfIndex of zxAnImaLinkTable MUST be set before 
          creating a IMA group,because IMA group must include one link when it is 
          created.   
             So the IMA group creation procedure should be :
                1.set zxAnImaLinkGroupIfIndex of zxAnImaLinkTable to the 
                  zxAnImaGroupIfIndex to be created.
                2.create the IMA group
          "
        INDEX { zxAnImaShelf,zxAnImaSlot,zxAnImaGroupIndex }
        ::= { zxAnImaGroupTable 1 }
      
    ZxAnImaGroupEntry ::= SEQUENCE 
    {
      zxAnImaShelf                       Integer32,
      zxAnImaSlot                        Integer32,
      zxAnImaGroupIndex                  INTEGER,
      zxAnImaGroupConfImaVersion         INTEGER,
      zxAnImaGroupActualImaVersion       INTEGER,
      zxAnImaGroupSymmetry               ImaGroupSymmetry,
      zxAnImaGroupM2SClkMode             INTEGER,
      zxAnImaGroupNeTxClkMode            ImaGroupTxClkMode,
      zxAnImaGroupFeTxClkMode            ImaGroupTxClkMode,
      zxAnImaGroupTxFrameLength          ImaFrameLength,
      zxAnImaGroupRxFrameLength          ImaFrameLength,
      zxAnImaGroupAdminStatus            INTEGER,
      zxAnImaGroupOperstatus             INTEGER, -- reserved 
      zxAnImaGroupNeState                ImaGroupState,
      zxAnImaGroupFeState                ImaGroupState,
      zxAnImaGroupDsx1LineType           INTEGER,
      zxAnImaGroupDsx1LineCoding         INTEGER,
      zxAnImaGroupDsx1TxClockSource      INTEGER,
      zxAnImaGroupDsx1IdleCells          INTEGER,
      zxAnImaGroupDsx1RxScrambling       INTEGER,
      zxAnImaGroupDsx1TxScrambling       INTEGER,
      zxAnImaGroupRowStatus              RowStatus
    }

    zxAnImaShelf OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Shelf of IMA card."
        ::= { zxAnImaGroupEntry 1 }


    zxAnImaSlot OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Slot of IMA card."
        ::= { zxAnImaGroupEntry 2 }


    zxAnImaGroupIndex OBJECT-TYPE
        SYNTAX      INTEGER(0..15)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "IMA Group Index in this IMA card."
        ::= { zxAnImaGroupEntry 3 }


    zxAnImaGroupConfImaVersion OBJECT-TYPE
        SYNTAX      INTEGER  
            {
                version10(1),-- ima 1.0
                version11(2) -- ima 1.1
            } 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The configured version of Group,ima 1.0 or ima 1.1 ."
        DEFVAL { version11 }
      ::= { zxAnImaGroupEntry 4 }


    zxAnImaGroupActualImaVersion OBJECT-TYPE
        SYNTAX      INTEGER  
            {
                version10(1),-- ima 1.0
                version11(2) -- ima 1.1
            } 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The actual version of Group,ima 1.0 or ima 1.1 ."
      ::= { zxAnImaGroupEntry 5 }
    
    zxAnImaGroupSymmetry OBJECT-TYPE
        SYNTAX      ImaGroupSymmetry
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "Symmetry of the IMA group."
        REFERENCE
            "ATM Forum IMA v1.1, Section 5.2.2.7 on page 35"
        DEFVAL { symmetricOperation }
        ::= { zxAnImaGroupEntry 6 }
          
    zxAnImaGroupM2SClkMode OBJECT-TYPE
        SYNTAX      INTEGER  
            {
                master(1),
                slave(2)  
            } 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The clock mode of master to slave for the Group "
        DEFVAL { master }
      ::= { zxAnImaGroupEntry 7 }

      
    zxAnImaGroupNeTxClkMode OBJECT-TYPE
        SYNTAX      ImaGroupTxClkMode  
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Transmit clocking mode used by the near-end IMA group."
        REFERENCE
            "ATM Forum IMA v1.1, Section 7 on page 38"
        DEFVAL { ctc }
      ::= { zxAnImaGroupEntry 8 }


    zxAnImaGroupFeTxClkMode OBJECT-TYPE
        SYNTAX      ImaGroupTxClkMode  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transmit clocking mode used by the far-end IMA group."
        REFERENCE
            "ATM Forum IMA v1.1, Section 7 on page 38"
      ::= { zxAnImaGroupEntry 9 }


    zxAnImaGroupTxFrameLength OBJECT-TYPE
        SYNTAX      ImaFrameLength
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The frame length to be used by the IMA group in the transmit
           direction."
        REFERENCE
           "ATM Forum IMA v1.1, Section 5.2.2.4.2 on page 34"
        DEFVAL { m128 }
        ::= { zxAnImaGroupEntry 10 }


    zxAnImaGroupRxFrameLength OBJECT-TYPE
        SYNTAX      ImaFrameLength
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The frame length to be used by the IMA group in the recieving
           direction."
        REFERENCE
           "ATM Forum IMA v1.1, Section 5.2.2.4.2 on page 34"
        ::= { zxAnImaGroupEntry 11 }
        
            
    zxAnImaGroupAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER  
            {
                up(1),
                down(2),
                reset(3)
            } 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Administrative status of IMA group.
            When it is set to reset(3),the agent should reset this IMA group 
            and then set it to its previous status. "
        DEFVAL { up }
      ::= { zxAnImaGroupEntry 12 }


    zxAnImaGroupOperstatus OBJECT-TYPE
        SYNTAX      INTEGER  
            {
                up(1),
                down(2)
            } 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Operational status of IMA group."
      ::= { zxAnImaGroupEntry 13 }      


    zxAnImaGroupNeState OBJECT-TYPE
        SYNTAX      ImaGroupState  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current operational state of the near-end IMA Group."
      ::= { zxAnImaGroupEntry 14 }      


    zxAnImaGroupFeState OBJECT-TYPE
        SYNTAX      ImaGroupState  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current operational state of the far-end IMA Group."
      ::= { zxAnImaGroupEntry 15 }     


    zxAnImaGroupDsx1LineType OBJECT-TYPE
        SYNTAX  INTEGER {
                     --other(1),
                     dsx1E1(4),
                     --dsx1E1CRC(5),
                     dsx1E1MF(6)
                     --dsx1E1CRCMF(7),
                     --dsx1E1Unframed(9),
                     --dsx1Unframed(8),
                     --dsx1ESF(2),
                     --dsx1D4(3)
                }
        MAX-ACCESS      read-create
        STATUS  current
        DESCRIPTION
                "This variable indicates the variety of E1 Line implementing
                this circuit. The type of circuit affects the number of bits
                per second that the circuit can reasonably carry, as well as
                the interpretation of the usage and error statistics. This
                variable is defined in the rfc1406 configuration table as
                dsx1LineType.

                According to rfc1406, the different values are:
                 dsx1ESF         Extended SuperFrame DS1 (T1.107)
                 dsx1D4          AT&T D4 format DS1 (T1.107)
                 dsx1E1          ITU-T Recommendation G.704
                                  (Table 4a)
                 dsx1E1-CRC      ITU-T Recommendation G.704
                                  (Table 4b)
                 dsxE1-MF        G.704 (Table 4a) with TS16
                                  multiframing enabled
                 dsx1E1-CRC-MF   G.704 (Table 4b) with TS16
                                  multiframing enabled
                 dsx1Unframed    DS1 with No Framing
                 dsx1E1Unframed  E1 with No Framing (G.703)"
        ::= { zxAnImaGroupEntry 16 }

    zxAnImaGroupDsx1LineCoding OBJECT-TYPE
        SYNTAX  INTEGER 
            {
                singleRail(1),
                hdb3 (2),
                b8zs (3),
                ami(4)
            }
        MAX-ACCESS      read-create
        STATUS  current
        DESCRIPTION
                "This variable describes the variety of Zero Code suppression
                used on this link, which in turn affects a number of its
                characteristics. ami(4) refers to a mode wherein no zero
                code suppression is present and the line encoding does not
                solve the problem directly. In this application, the higher
                layer must provide data which meets or exceeds the pulse
                density re-quirements, such as inverting HDLC data. This
                variable is defined in the rfc1406 configuration table as
                dsx1LineCoding."
        DEFVAL { hdb3 }        
        ::= { zxAnImaGroupEntry 17 }

    zxAnImaGroupDsx1TxClockSource OBJECT-TYPE
        SYNTAX  INTEGER {
                     loopTiming(1),
                     localTiming(2)
                     --throughTiming(3)
                }
        MAX-ACCESS      read-create
        STATUS  current
        DESCRIPTION
                "The source of the transmit clock. loopTiming(1) indicated that
                the recovered receive clock is used as the transmit clock.
                localTiming(2) indicates that a local source clock is used as
                the transmit clock. To determine which local source clock is
                used advise the ntGlobalClock in the netmodTimingTable for this
                netmod (refer to the Fore-Switch-MIB for more information)."
        DEFVAL  { localTiming }
        ::= { zxAnImaGroupEntry 18 }

    zxAnImaGroupDsx1IdleCells OBJECT-TYPE
        SYNTAX  INTEGER {
                unassigned(1),
                idle(2)
                }
        MAX-ACCESS      read-create
        STATUS  current
        DESCRIPTION
                "This variable indicates the types of cells that should be sent
                in case there is no real data to send. According to the ATM
                Forum, Unassigned cells should be sent (octet 1-3 are 0's,
                octet 4 is 0000xxx0, where x is 'don't care'). According to the
                CCITT specifications, Idle cells should be sent (everything is
                '0' except for the CLP bit which is '1'). By default,
                unassigned cells are transmitted is case there is no data to
                send."
        DEFVAL  { unassigned }
        ::= { zxAnImaGroupEntry 19 }

        
    zxAnImaGroupDsx1RxScrambling OBJECT-TYPE
        SYNTAX  INTEGER {
                descrambling(1),
                noDescrambling(2)
                }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "This variable indicates whether the information is being
                descrambled on receiving. It should be set the same as the
                transmitting side."
        DEFVAL { noDescrambling }
        ::= { zxAnImaGroupEntry 20 }

    zxAnImaGroupDsx1TxScrambling OBJECT-TYPE
        SYNTAX  INTEGER {
                scrambling(1),
                noScrambling(2)
                }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "This variable indicates whether the information (48 octet
                payload) is being scrambled before transmitting. It should
                be set the same as the receiving side."
        DEFVAL { noScrambling }
        ::= { zxAnImaGroupEntry 21 }
        
    
    zxAnImaGroupRowStatus    OBJECT-TYPE
        SYNTAX         RowStatus
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
            "This object is used to create, delete the ima group interface 
        in this table."
        ::= { zxAnImaGroupEntry 22 }        
        

--------------------------------------------------------------------------------
-- 2.IMA Link
--------------------------------------------------------------------------------
 
    zxAnImaLinkTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnImaLinkEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "xDsl zxAnImaLink interface table."
        ::= { zxAnImaObjects  2 }


    zxAnImaLinkEntry OBJECT-TYPE
        SYNTAX      ZxAnImaLinkEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Ima link interface create entry.It is used to create or remove a 
          ima link interface."
          
        INDEX { zxAnImaShelf,zxAnImaSlot,zxAnImaLinkId }
        ::= { zxAnImaLinkTable 1 }
      
    ZxAnImaLinkEntry ::= SEQUENCE {
      zxAnImaLinkId              Integer32,
      zxAnImaLinkGroupIndex      Integer32,
      zxAnImaLinkNeTxAdminStatus INTEGER, 
      zxAnImaLinkNeRxState       ImaLinkState,       
      zxAnImaLinkNeTxState       ImaLinkState, 
      zxAnImaLinkFeRxState       ImaLinkState,      
      zxAnImaLinkFeTxState       ImaLinkState, 
      zxAnImaLinkLoopback        INTEGER 
    }


    zxAnImaLinkId OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A unique value for the IMA port on this card."
        ::= { zxAnImaLinkEntry 1 }

    zxAnImaLinkGroupIndex OBJECT-TYPE 
        SYNTAX      Integer32  
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The IMA group index that this link joined.If the link doesn't join
            any ima group,this value is 255 (0xff). "
        DEFVAL { 255 }
      ::= { zxAnImaLinkEntry 2 }


    zxAnImaLinkNeTxAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER  
            {
                up(1),
                down(2)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The administrative status of IMA link near-end transmission."
      ::= { zxAnImaLinkEntry 3 }


    zxAnImaLinkNeRxState OBJECT-TYPE
        SYNTAX      ImaLinkState  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current state of the near-end receive link."
      ::= { zxAnImaLinkEntry 4 }



    zxAnImaLinkNeTxState OBJECT-TYPE
        SYNTAX      ImaLinkState  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current state of the near-end transmit link."
      ::= { zxAnImaLinkEntry 5 }



    zxAnImaLinkFeRxState OBJECT-TYPE
        SYNTAX      ImaLinkState  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current state of the far-end receive link."
      ::= { zxAnImaLinkEntry 6 }



    zxAnImaLinkFeTxState OBJECT-TYPE
        SYNTAX      ImaLinkState  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current state of the far-end transmit link."
      ::= { zxAnImaLinkEntry 7 }



    zxAnImaLinkLoopback OBJECT-TYPE
        SYNTAX      INTEGER  
                    {
                        enable(1),
                        disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Loopback this link or not."
      ::= { zxAnImaLinkEntry 8 }





END






                            
