
--------------------------------------------------------------------------
-- File Name : ZTE-DSL-IMA-MIB.mib
-- Date      : 2007-02-14
-- Author    : ZTE Nms dept.

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


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

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, enterprises
                                                    FROM SNMPv2-SMI
        RowStatus,DisplayString,
        TEXTUAL-CONVENTION                          FROM SNMPv2-TC
        ;


    zxDslImaMib MODULE-IDENTITY
        LAST-UPDATED    "200702141500Z"
        ORGANIZATION "ZTE Corporation"
        CONTACT-INFO "ZTE NMS dept. 
                      Su Chunshan   68896292 "
        DESCRIPTION  "This MIB defines managed objects of DSL IMA mgmt."
         ::= {zxDsl 30}
         

   zte    OBJECT IDENTIFIER ::= { enterprises 3902 }
   zxDsl  OBJECT IDENTIFIER ::= { zte 1004 }

--------------------------------------------------------------------------------
-- 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) 
      }

--------------------------------------------------------------------------------
-- 1.IMA Group
--------------------------------------------------------------------------------
 
  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) 
      }

 
    zxDslImaGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxDslImaGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "xDslImaGroup interface table."
        ::= { zxDslImaMib  1 }


    zxDslImaGroupEntry OBJECT-TYPE
        SYNTAX      ZxDslImaGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Ima Group interface create entry.It is used to create or remove a 
          ima goup interface.
          
          NOTE:
             zxDslImaLinkGroupIfIndex of zxDslImaLinkTable 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 zxDslImaLinkGroupIfIndex of zxDslImaLinkTable to the 
                  zxDslImaGroupIfIndex to be created.
                2.create the IMA group
          "
        INDEX { zxDslImaGroupIfIndex }
        ::= { zxDslImaGroupTable 1 }
      
    ZxDslImaGroupEntry ::= SEQUENCE 
    {
      zxDslImaGroupIfIndex                INTEGER,
      zxDslImaGroupConfImaVersion         INTEGER,
      zxDslImaGroupActualImaVersion       INTEGER,
      zxDslImaGroupSymmetry               ImaGroupSymmetry,
      zxDslImaGroupM2SClkMode             INTEGER,
      zxDslImaGroupNeTxClkMode            ImaGroupTxClkMode,
      zxDslImaGroupFeTxClkMode            ImaGroupTxClkMode,
      zxDslImaGroupTxFrameLength          ImaFrameLength,
      zxDslImaGroupRxFrameLength          ImaFrameLength,
      zxDslImaGroupAdminStatus            INTEGER,
      zxDslImaGroupOperstatus             INTEGER, -- reserved 
      zxDslImaGroupNeState                ImaGroupState,
      zxDslImaGroupFeState                ImaGroupState,
      zxDslImaGroupDsx1LineType           INTEGER,
      zxDslImaGroupDsx1LineCoding         INTEGER,
      zxDslImaGroupDsx1TxClockSource      INTEGER,
      zxDslImaGroupDsx1IdleCells          INTEGER,
      zxDslImaGroupDsx1RxScrambling       INTEGER,
      zxDslImaGroupDsx1TxScrambling       INTEGER,
      zxDslImaGroupRowStatus              RowStatus
    }
    

    zxDslImaGroupIfIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A unique value for the IMA Group."
        ::= { zxDslImaGroupEntry 1 }


    zxDslImaGroupConfImaVersion 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 }
      ::= { zxDslImaGroupEntry 2 }


    zxDslImaGroupActualImaVersion 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 ."
      ::= { zxDslImaGroupEntry 3 }
    
    zxDslImaGroupSymmetry 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 }
    ::= { zxDslImaGroupEntry 4 }
          
    zxDslImaGroupM2SClkMode 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 }
      ::= { zxDslImaGroupEntry 5 }

      
    zxDslImaGroupNeTxClkMode 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 }
      ::= { zxDslImaGroupEntry 6 }


    zxDslImaGroupFeTxClkMode 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"
      ::= { zxDslImaGroupEntry 7 }


    zxDslImaGroupTxFrameLength 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 }
        ::= { zxDslImaGroupEntry 8 }


    zxDslImaGroupRxFrameLength 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"
        ::= { zxDslImaGroupEntry 9 }
        
            
    zxDslImaGroupAdminStatus 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 }
      ::= { zxDslImaGroupEntry 10 }


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


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


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


    zxDslImaGroupDsx1LineType 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)"
        ::= { zxDslImaGroupEntry 14 }

    zxDslImaGroupDsx1LineCoding OBJECT-TYPE
        SYNTAX  INTEGER
        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. e1AMI(3) 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."
        ::= { zxDslImaGroupEntry 15 }

    zxDslImaGroupDsx1TxClockSource OBJECT-TYPE
        SYNTAX  INTEGER {
                     loopTiming(1),
                     localTiming(2)
                     --throughTiming(3)
                }
        MAX-ACCESS      read-create
        STATUS  current
        DESCRIPTION
                "The source of the transmit clock. rxTiming(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  { 2 }
        ::= { zxDslImaGroupEntry 16 }

    zxDslImaGroupDsx1IdleCells 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  { 1 }
        ::= { zxDslImaGroupEntry 17 }

        
    zxDslImaGroupDsx1RxScrambling 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 }
        ::= { zxDslImaGroupEntry 18 }

    zxDslImaGroupDsx1TxScrambling 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 }
        ::= { zxDslImaGroupEntry 19 }
        
    
    zxDslImaGroupRowStatus    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."
        ::= { zxDslImaGroupEntry 20 }        
        

--------------------------------------------------------------------------------
-- 2.IMA Link
--------------------------------------------------------------------------------
 
    zxDslImaLinkTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxDslImaLinkEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "xDsl zxDslImaLink interface table."
        ::= { zxDslImaMib  2 }


    zxDslImaLinkEntry OBJECT-TYPE
        SYNTAX      ZxDslImaLinkEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Ima link interface create entry.It is used to create or remove a 
          ima link interface."
          
        INDEX { zxDslImaSlot,zxDslImaLinkId }
        ::= { zxDslImaLinkTable 1 }
      
    ZxDslImaLinkEntry ::= SEQUENCE {
      zxDslImaSlot                INTEGER,
      zxDslImaLinkId              INTEGER,
      zxDslImaLinkGroupIfIndex    INTEGER,
      zxDslImaLinkNeTxAdminStatus INTEGER, 
      zxDslImaLinkNeRxAdminStatus INTEGER, 
      zxDslImaLinkNeTxState   ImaLinkState, 
      zxDslImaLinkNeRxState   ImaLinkState, 
      zxDslImaLinkFeTxState   ImaLinkState, 
      zxDslImaLinkFeRxState   ImaLinkState
    }
    

    zxDslImaSlot OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A slot for the IMA card."
        ::= { zxDslImaLinkEntry 1 }



    zxDslImaLinkId OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A unique value for the IMA port on this card."
        ::= { zxDslImaLinkEntry 2 }

    zxDslImaLinkGroupIfIndex OBJECT-TYPE
        SYNTAX      INTEGER  
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The IMA group ifindex that this link joined.If the link does'nt join
            any ima group,this value is 0. "
        DEFVAL { 0 }
      ::= { zxDslImaLinkEntry 3 }


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


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


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



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



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



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




END






                            
