
--------------------------------------------------------------------------------
-- File Name : ZTE-AN-EQUIP-MIB.mib
-- Date      : 2006-11-15
-- Author    : ZTE Nms dept.

--
-- Zte Equipment Mib for Access Node
-- 
-- 
--------------------------------------------------------------------------------


ZTE-AN-EQUIP-MIB    DEFINITIONS ::= BEGIN
    IMPORTS     
        RowStatus, DisplayString,TruthValue, DateAndTime         FROM SNMPv2-TC
        MODULE-IDENTITY, OBJECT-TYPE, 
        Integer32, IpAddress, Counter64, Unsigned32,NOTIFICATION-TYPE  FROM SNMPv2-SMI
        zxAn                                            FROM ZTE-AN-TC-MIB;


    zxAnEquipMib    MODULE-IDENTITY
        LAST-UPDATED    "200611151500Z"
        ORGANIZATION    "ZTE Corporation"
        CONTACT-INFO    "Guo Jun
                        Mail: guo.jun@zte.com.cn
                        Tel : 021-68896247"
        DESCRIPTION     "This MIB defines zte Access Node managed objects."
        ::=  {  zxAn  2  }  
    
            
    zxAnEquipObjects          OBJECT IDENTIFIER   ::=  {  zxAnEquipMib  1  }
    zxAnEquipTrapObjects      OBJECT IDENTIFIER   ::=  {  zxAnEquipMib  2  }
    
    zxAnChassisMgmt           OBJECT IDENTIFIER   ::=  {  zxAnEquipObjects  1  }  
    zxAnVerMgmt               OBJECT IDENTIFIER   ::=  {  zxAnEquipObjects  2  }
    zxAnEnvMonitor            OBJECT IDENTIFIER   ::=  {  zxAnEquipObjects  3  }
    zxAnPatchMgmt             OBJECT IDENTIFIER   ::=  {  zxAnEquipObjects  4  }
    zxAnEquipStat             OBJECT IDENTIFIER   ::=  {  zxAnEquipObjects  5  }
    zxAnEquipSysMgmt          OBJECT IDENTIFIER   ::=  {  zxAnEquipObjects  6  }
    zxAnEnvExMonitor          OBJECT IDENTIFIER   ::=  {  zxAnEquipObjects  7  }
    zxAnEquipMonitorObjects   OBJECT IDENTIFIER   ::=  {  zxAnEquipObjects  8  }
    
    zxAnPhyConfMgmt           OBJECT IDENTIFIER   ::=  {  zxAnChassisMgmt  5  }
    zxAnVerFtpMgmt            OBJECT IDENTIFIER   ::=  {  zxAnVerMgmt  1  }
    zxAnCpeSoftwareMgmt       OBJECT IDENTIFIER   ::=  {  zxAnVerMgmt  6  }
    zxAnVerAutoUpdateMgmt     OBJECT IDENTIFIER   ::=  {  zxAnVerMgmt  7  }

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.rack properties table
-- 2.Shelf properties table
-- 3.Card properties table
-- 4.subcard properties table
-- 5.Dust Cap
-- 6.ftp version management
-- 7.card version properties table
-- 8.Sub Card version properties table
-- 9.version saved table
-- 10.version update status table
-- 11.Enviroment Monitor
-- 12. batch management

-- 14.Card Temperature
-- 15.definition of sysctrl traps.
-- 16.Cpe Software updating management
-- 17.Auto Update Version Management
-- 18.Overheat Protection
-- 19.Equipment Global Objects
-- 20.Environment Device Objects
-- 21.Power Supply Card table
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------
-- 1.Rack properties table
--------------------------------------------------------------------------------
    zxAnRackTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnRackEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the enable or disable plug and play of 
                    the rack."
        ::=  { zxAnChassisMgmt  1 }

    zxAnRackEntry   OBJECT-TYPE
        SYNTAX      ZxAnRackEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnRackTable."
        INDEX       {  zxAnRackNo  }
        ::=  { zxAnRackTable 1 }

    ZxAnRackEntry  ::=  SEQUENCE {
        zxAnRackNo            Integer32,
        zxAnRackActType       Integer32,
        zxAnRackCfgType       Integer32,
        zxAnRackInvSn         DisplayString,
        zxAnRackRowStatus     RowStatus
        }

    zxAnRackNo          OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     ""
        ::=  {  zxAnRackEntry  1  }

    zxAnRackActType     OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for actual rack type."
        ::=  {  zxAnRackEntry  2  }

    zxAnRackCfgType     OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for configged rack type."
        ::=  {  zxAnRackEntry  3  }


    zxAnRackInvSn     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for serial number of this rack.
              it is used by inventroy management."
        ::=  {  zxAnRackEntry  4  }


    zxAnRackRowStatus  OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The row status of this entry."
        ::=  {  zxAnRackEntry  5  }   


--------------------------------------------------------------------------------
-- 2.Shelf properties table
--------------------------------------------------------------------------------
    zxAnShelfTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnShelfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the enable or disable plug and play of 
                    the shelf."
        ::=  { zxAnChassisMgmt  2 }

    zxAnShelfEntry   OBJECT-TYPE
        SYNTAX      ZxAnShelfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnShelfTable."
        INDEX       {  zxAnRackNo,zxAnShelfNo  }
        ::=  { zxAnShelfTable 1 }

    ZxAnShelfEntry  ::=  SEQUENCE {
        zxAnShelfNo             Integer32,
        zxAnShelfHardVersion    DisplayString,
        zxAnShelfActType        Integer32,
        zxAnShelfCfgType        Integer32,
        zxAnShelfInvSn          DisplayString,
        zxAnShelfCleiCode       DisplayString,
        zxAnLogicShelfNo        Integer32,
        zxAnShelfHardwareType   DisplayString,
        zxAnShelfAlias          DisplayString,
        zxAnShelfAdminStatus    INTEGER,
        zxAnShelfRowStatus      RowStatus
        }
        
    zxAnShelfNo         OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     ""
        ::=  {  zxAnShelfEntry  1  } 
    
    zxAnShelfHardVersion OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the hard driver on the shelf."
        ::=  {  zxAnShelfEntry  2  }

    zxAnShelfActType    OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     ""
        ::=  {  zxAnShelfEntry  3  }

    zxAnShelfCfgType    OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     ""
        ::=  {  zxAnShelfEntry  4  }


    zxAnShelfInvSn     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for serial number of this shelf.
              it is used by inventroy management."
        ::=  {  zxAnShelfEntry  5  }


    zxAnShelfCleiCode     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for CLEI code of this Shelf.
              it is used by inventroy management.Pls reference 
              http://www.commonlanguage.com to get knowledge about CLEI code. 
              "
        REFERENCE "http://www.commonlanguage.com"              
        ::=  {  zxAnShelfEntry  6  }
    
    zxAnLogicShelfNo     OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for logic Shelf No"
        ::=  {  zxAnShelfEntry  7  }  
        
    zxAnShelfHardwareType     OBJECT-TYPE 
        SYNTAX          DisplayString  (SIZE (0..32))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The hardware type of the shelf."
        ::=  {  zxAnShelfEntry  8  }          

    zxAnShelfAlias     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 32  ) )
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This object is an 'alias' name for the shelf, as
            specified by a network manager, and provides a non-volatile
            'handle' for the shelf."
        ::=  {  zxAnShelfEntry  9  }
        
    zxAnShelfAdminStatus OBJECT-TYPE 
        SYNTAX          INTEGER {
                reboot(1)
            }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for rebooting shelf."
        ::=  {  zxAnShelfEntry  10  }                        
        
    zxAnShelfRowStatus  OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The row status of this entry."
        ::=  {  zxAnShelfEntry  15  }   


--------------------------------------------------------------------------------
-- 3.Card properties table
--------------------------------------------------------------------------------
    zxAnCardTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnCardEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the enable or disable plug and play of 
                    the Card."
        ::=  { zxAnChassisMgmt  3 }

    zxAnCardEntry   OBJECT-TYPE
        SYNTAX      ZxAnCardEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnCardTable."
        INDEX       {  zxAnRackNo, zxAnShelfNo, zxAnSlotNo  }
        ::=  { zxAnCardTable 1 }

     ZxAnCardEntry  ::=  SEQUENCE {
        zxAnSlotNo              Integer32,
        zxAnCardConfMainType     Integer32,
        zxAnCardActMainType     Integer32,
        zxAnCardActType         DisplayString,
        zxAnCardOperStatus      INTEGER,
        zxAnCardAdminStatus     INTEGER,     
        zxAnCardPortNums        Integer32,
        zxAnCardActivePortNums  Integer32,
        zxAnCardCpuLoad         Integer32,
        zxAnCardCpuLoadThreshold Integer32,
        zxAnCardMemUsage        Integer32,
        zxAnCardMemUsageThreshold Integer32,
        zxAnCardStandbyStatus   INTEGER,
        zxAnCardInvSn           DisplayString,
        zxAnCardCleiCode        DisplayString,
        zxAnCardAccessoriesType DisplayString,
        zxAnCardAccessoriesOperstatus INTEGER,
        zxAnCardLockStatus      INTEGER,
        zxAnCardMemSize         Integer32,
        zxAnCardCpldUpdateStatus INTEGER,
        zxAnCardAvailableStorageSize  Integer32,
        zxAnCardTotalStorageSize Integer32,
        zxAnCardEnergySavingEnable      TruthValue,
        zxAnCardAlias           DisplayString,
        zxAnCardLastStartupTime DateAndTime,
        
        zxAnCardRowStatus       RowStatus
        }

    zxAnSlotNo  OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     ""
        ::=  {  zxAnCardEntry  1  }


    zxAnCardConfMainType         OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for the main card type to config 
           on the slot.  Main card type indicates the category of hardware,such
           as 64-ports adsl card,4-ports ethernet card."
        ::=  {  zxAnCardEntry  2  }


    zxAnCardActMainType     OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the actually main card type on 
           the slot."
        ::=  {  zxAnCardEntry  3  }


    zxAnCardActType     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 32  ) ) 
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the actually card type on the 
           slot. Card type indicates the type of detailed hardware,such
           as ATUGA and ATUGB, they'er all 32-ports Adsl card and they all provide 
           general Adsl service,but they have different chips.
           
           NOTE: The value of this variable MUST abide by ZTE'S  
                 discipline for card naming.And It MUST capital letters. 
           "
        ::=  {  zxAnCardEntry  4  }


    zxAnCardOperStatus  OBJECT-TYPE 
        SYNTAX          INTEGER
            {
             inService   (1),
             notInService(2),
             hwOnline(3),
             hwOffline(4),
             configuring(5),
             configFailed(6),
             typeMismatch(7),
             deactived(8),
             faulty(9),
             invalid(10),
             noPower(11)             
            }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the sub card status on the card.

          inService(1)   --  card plugged in,running normally and service is being
                             provided normally.
          notInService(2)--  card plugged in,running normally but service is stopped.
          hwOnline(3)    --  card plugged in AND card communication is ok,but software isn't running now.
          hwOffline(4)   --  card is pulled out or card not plugged in,but added to agent's database only
          configuring(5) --  card plugged in,but it is configuring
          configFailed(6)--  card plugged in,but configuration failed
          typeMismatch(7)--  card plugged in,but it's type is mismatch
          deactived(8)   --  card plugged in,but it is deactivated by a manager
          faulty(9)      --  fault occurs when card is running normally
          invalid(10)    --  invalid card instance,such as adding card failed
          noPower(11)    --  power card plugged in ,but no power input.          
        "
        ::=  {  zxAnCardEntry  5  }

    zxAnCardAdminStatus OBJECT-TYPE 
        SYNTAX          INTEGER
            {
                reset(1),
                switch(2),
                stopService(3),
                active(4),
                deactive(5)
            }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for the card admin status on the card.
                         For example:reset(1),switch(2)
                         
                         reset(1)    -- reset the card.
                         switch(2)   -- switch card between master and slave status.
                         stopService(3) -- stop service normally.
                         active(4)   -- activate this card and enable the service.
                         deactive(5) -- deactivate this card and disable the 
                                        service forcedly.
                         "
        ::=  {  zxAnCardEntry  6  }

    zxAnCardPortNums OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The numbers of physical port which contained 
                    in this board.
                    If the board has no this attribute,it should be 0."
        ::=  {  zxAnCardEntry  7  }

    zxAnCardActivePortNums   OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The numbers of actived physical port which contained 
                    in this board.
                    If the board has no this attribute,it should be 0."
                    
        ::=  {  zxAnCardEntry  8  }

    zxAnCardCpuLoad  OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "percent"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The current CPU load of this board.If this board has
                    more than one CPU,the average value is allowed.
                    If the board has no this attribute,it should be 0."
        ::=  {  zxAnCardEntry  9  }


    zxAnCardCpuLoadThreshold  OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "percent"
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The CPU load threshold of this board.When zxAnCardCpuLoad 
          is  higher than zxAnCardCpuLoadThreshold,zxAnEquipCardCpuLoadAlarm trap
          should be generated by agent."
        ::=  {  zxAnCardEntry  10  }


    zxAnCardMemUsage OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "percent"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The current memory usage of this board.
                    If the board has no this attribute,it should be 0."
        ::=  {  zxAnCardEntry  11  }


    zxAnCardMemUsageThreshold OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "percent"
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The memory usage threshold of this board.When zxAnCardMemUsage 
          is  higher than zxAnCardMemUsageThreshold,zxAnEquipCardMemoryOverLoad trap
          should be generated by agent."
        ::=  {  zxAnCardEntry  12  }
                
    zxAnCardStandbyStatus  OBJECT-TYPE 
        SYNTAX          INTEGER
            {
             main(1),
             standby(2),
             unknown(15)             
            }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the card operation status on the card."
        ::=  {  zxAnCardEntry  13  }

    zxAnCardInvSn     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for serial number of this card.
              it is used by inventroy management."
        ::=  {  zxAnCardEntry  14  }


    zxAnCardCleiCode     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for CLEI code of this card.
              it is used by inventroy management.Pls reference 
              http://www.commonlanguage.com to get knowledge about CLEI code. 
              "
        REFERENCE "http://www.commonlanguage.com"              
        ::=  {  zxAnCardEntry  15  }


    zxAnCardAccessoriesType     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for accessories type of this card,
               such as splitter of DSLAM,the value of this variable should be 
               the type of hardware, eg. PNVTA,PNVNP,PNVNA of ZXDSL9800's 
               splitter."
        ::=  {  zxAnCardEntry  16  }


    zxAnCardAccessoriesOperstatus     OBJECT-TYPE 
        SYNTAX          INTEGER
            {
             up(1),
             down(2),
             testing(3),
             unknow(4)
            }        
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for operational status of the card
                accessories."
        ::=  {  zxAnCardEntry  17  }


    zxAnCardLockStatus     OBJECT-TYPE 
        SYNTAX          INTEGER
            {
             lock(1),
             unlock(2)
            }        
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for lock status of the card"
        ::=  {  zxAnCardEntry  18  }


    zxAnCardMemSize OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "MB"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The current memory size of this board.
                    If the board has no this attribute,it should be 0."
        ::=  {  zxAnCardEntry  19  }

    zxAnCardCpldUpdateStatus     OBJECT-TYPE 
        SYNTAX          INTEGER
            {
             on(1),
             off(2)
            }        
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for CPLD update status of the card"
        ::=  {  zxAnCardEntry  20  }



   zxAnCardAvailableStorageSize       OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "KB"        
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The available storage space size in this card."
        ::=  {  zxAnCardEntry  21 }             


   zxAnCardTotalStorageSize       OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "KB"        
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The total storage space size in this card."
        ::=  {  zxAnCardEntry  22 }      
    
    zxAnCardEnergySavingEnable     OBJECT-TYPE 
        SYNTAX          TruthValue         
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This object indicates that the Saving Energy mode of the card, Specifically, it is set  
               to true if the local system wishes to use  Saving Energy mode or falseif not."
        ::=  {  zxAnCardEntry  24  }    
            
    zxAnCardAlias     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 32  ) )
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This object is an 'alias' name for the card, as
            specified by a network manager, and provides a non-volatile
            'handle' for the card."
        ::=  {  zxAnCardEntry  25  }
        
    zxAnCardLastStartupTime     OBJECT-TYPE 
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION  "This MIB is defined for last startup time of the card."
        ::=  {  zxAnCardEntry  26  }
        
        
    zxAnCardRowStatus  OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The row status of this entry."
        ::=  {  zxAnCardEntry  30  }     

--------------------------------------------------------------------------------
-- 4.Subcard properties table
--------------------------------------------------------------------------------
    zxAnSubcardTable   OBJECT-TYPE 
        SYNTAX      SEQUENCE  OF  ZxAnSubcardEntry
        MAX-ACCESS  not-accessible          
        STATUS      current                 
        DESCRIPTION "This table includes the enable or disable plug and play of 
                    the subcard."           
        ::=  { zxAnChassisMgmt  4 }         
         
    zxAnSubcardEntry   OBJECT-TYPE
        SYNTAX      ZxAnSubcardEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnSubcardTable."
        INDEX       {  zxAnRackNo,zxAnShelfNo,zxAnSlotNo,zxAnSubcardNo  }
        ::=  { zxAnSubcardTable 1 }

    ZxAnSubcardEntry  ::=  SEQUENCE {
        zxAnSubcardNo             Integer32,        
        zxAnSubCardCfgMainType    Integer32,
        zxAnSubCardActMainType    Integer32,
        zxAnSubCardActType        DisplayString,
        zxAnSubcardOperStatus     INTEGER,
        zxAnSubcardAdminStatus    INTEGER,
        zxAnSubcardPortNums       Integer32,
        zxAnSubcardActivePortNums Integer32,
        zxAnSubcardCpuLoad        Integer32,
        zxAnSubcardMemUsage       Integer32,   
        zxAnSubcardInvSn          DisplayString,
        zxAnSubcardCleiCode       DisplayString,
        zxAnSubcardMemSize        Integer32,
        zxAnSubcardCpldUpdateStatus INTEGER,
        zxAnSubcardRowStatus      RowStatus
        }

    zxAnSubcardNo      OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     ""
        ::=  {  zxAnSubcardEntry  1  }
        

    zxAnSubCardCfgMainType         OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for the main subcard type to config 
           on the slot.  Main subcard type indicates the category of hardware,such
           as 4-ports ethernet subcard."
        ::=  {  zxAnSubcardEntry  2  }


    zxAnSubCardActMainType     OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the actually main subcard type on 
           the slot."
        ::=  {  zxAnSubcardEntry  3  }


    zxAnSubCardActType     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 32  ) ) 
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the actually subcard type on the 
           slot. It indicates the type of detailed hardware.
           
           NOTE: The value of this variable MUST abide by ZTE'S  
                 discipline for card naming.And It MUST capital letters. 
           "
        ::=  {  zxAnSubcardEntry  4  }


    zxAnSubcardOperStatus OBJECT-TYPE 
        SYNTAX          INTEGER
            {
             inService   (1),
             notInService(2),
             hwOnline(3),
             hwOffline(4),
             configuring(5),
             configFailed(6),
             typeMismatch(7),
             deactived(8),
             faulty(9),
             invalid(10)             
            }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the sub card status on the card.

          inService(1)   --  card plugged in,running normally and service is being
                             provided normally.
          notInService(2)--  card plugged in,running normally but service is stopped.
          hwOffline(3)   --  card not plugged in,but added to agent's database only
          hwOnline(3)    --  card plugged in AND card communication is ok,but software isn't running now.
          configuring(5) --  card plugged in,but it is configuring
          configFailed(6)--  card plugged in,but configuration failed
          typeMismatch(7)--  card plugged in,but it's type is mismatch
          deactived(8)   --  card plugged in,but it is deactivated by a manager
          faulty(9)      --  fault occurs when card is running normally
          invalid(10)    --  invalid card instance,such as adding card failed.    
        "
        ::=  {  zxAnSubcardEntry  5  }

    zxAnSubcardAdminStatus    OBJECT-TYPE 
        SYNTAX          INTEGER
            {
                reset(1),
                switch(2),
                stopService(3),
                active(4),
                deactive(5)
            }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for the card admin status on the card.
                         For example:reset(1),switch(2)
                         
                         reset(1)    -- reset the card.
                         switch(2)   -- switch card between master and slave status.
                         stopService(3) -- stop service normally.
                         active(4)   -- activate this card and enable the service.
                         deactive(5) -- deactivate this card and disable the 
                                        service forcedly.
                         "
       ::=  {  zxAnSubcardEntry  6  }  



    zxAnSubcardPortNums OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The numbers of physical port which contained 
                    in this board.
                    If the board has no this attribute,it should be 0."
        ::=  {  zxAnSubcardEntry  7  }

    zxAnSubcardActivePortNums   OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The numbers of actived physical port which contained 
                    in this board.
                    If the board has no this attribute,it should be 0."
                    
        ::=  {  zxAnSubcardEntry  8  }

    zxAnSubcardCpuLoad  OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "percent"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The current CPU load of this board.If this board has
                    more than one CPU,the average value is allowed.
                    If the board has no this attribute,it should be 0."
        ::=  {  zxAnSubcardEntry  9  }

    zxAnSubcardMemUsage OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "percent"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The current memory usage of this board.
                    If the board has no this attribute,it should be 0."
        ::=  {  zxAnSubcardEntry  10  }


    zxAnSubcardInvSn     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for serial number of this subcard.
              it is used by inventroy management."
        ::=  {  zxAnSubcardEntry  11  }


    zxAnSubcardCleiCode     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for CLEI code of this card.
              it is used by inventroy management.Pls reference 
              http://www.commonlanguage.com to get knowledge about CLEI code. 
              "
        REFERENCE "http://www.commonlanguage.com"              
        ::=  {  zxAnSubcardEntry  12  }


    zxAnSubcardMemSize OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "MB"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The current memory size of this sub card.
                    If the board has no this attribute,it should be 0."
        ::=  {  zxAnSubcardEntry  13  }

    zxAnSubcardCpldUpdateStatus     OBJECT-TYPE 
        SYNTAX          INTEGER
            {
             on(1),
             off(2)
            }        
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This MIB is defined for CPLD update status of the subcard"
        ::=  {  zxAnSubcardEntry  14  }
        
    zxAnSubcardRowStatus  OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The row status of this entry."
        ::=  {  zxAnSubcardEntry  20  }    
--------------------------------------------------------------------------------
-- 5. PNP mode ,Enable Standby controlcard management
--------------------------------------------------------------------------------

    zxAnChassisPnpMode  OBJECT-TYPE 
        SYNTAX      INTEGER
            {
            pNPMode(1),
            v3Mode(2)
            
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "config Ne card PNP mode,PNP mode means when card on shelf,then this card can use without add it"
        ::=  {  zxAnPhyConfMgmt  5  }
           
    zxAnStandbyEnableTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnStandbyEnableEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the shelf standy function information."
        ::=  { zxAnPhyConfMgmt  2 }

    zxAnStandbyEnableEntry   OBJECT-TYPE
        SYNTAX      ZxAnStandbyEnableEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnStandbyEnable."
        INDEX       {  zxAnRackNo, zxAnShelfNo}
        ::=  { zxAnStandbyEnableTable 1 }

    ZxAnStandbyEnableEntry  ::=  SEQUENCE {
        zxStandbyEnable  INTEGER  
    }     
           
    zxStandbyEnable  OBJECT-TYPE 
        SYNTAX      INTEGER
            {
            enabled(1), disabled(2)
            
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "config ne standby control card offline alarm. when standby card offline ,a alarm will raise if this function is enabled "
        ::=  {  zxAnStandbyEnableEntry  1  }  


        
--------------------------------------------------------------------------------
-- 6.ftp version management
--------------------------------------------------------------------------------
    zxAnFtpVerFileType  OBJECT-TYPE 
        SYNTAX      INTEGER
            {
            areaFile(1),
            updateFile(2),
            mpVersion(3)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The ftp client function is used to implement the transmission of 
         version between an agent and a manager.   
         "
        ::=  {  zxAnVerFtpMgmt  1  }

    zxAnFtpVerClntOperType OBJECT-TYPE     
        SYNTAX      Integer32 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION " 
            The operation type is based on ManagedMainType and ManagedSubType.
                for example:
                 OPERATION TYPE(value)
                ---------------------  
                 upload(1) 
                 downLoad(2) 
                 update_bootrom(3)
                 update_version(4)      
                 master2slave_sync(5)
                 downLoadPatch(10)
                 
                UpLoad:   put file to NMS ftp server..
                DownLoad: get file from NMS ftp server.
                Update_bootrom: Update bootrom for MP or NP.
                Update_version: Update version(firmware) for MP or NP.
                Master2slave_sync: Synchronize version from master card to slave card.
            "
        ::=  {  zxAnVerFtpMgmt  2  }

    zxAnFtpVerServerIpAddress      OBJECT-TYPE     
        SYNTAX       IpAddress
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "
             The IP Address for the FTP server used for downloading
             and/or uploading files."
        ::=  {  zxAnVerFtpMgmt  3  }

    zxAnFtpVerServerUserName       OBJECT-TYPE     
        SYNTAX       DisplayString  ( SIZE ( 1 .. 32  ) ) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION  "The FTP username."
        ::=  {  zxAnVerFtpMgmt  4  }

    zxAnFtpVerServerUserPwd        OBJECT-TYPE     
        SYNTAX          DisplayString  ( SIZE ( 1 .. 32  ) ) 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The FTP User Password."
        ::=  {  zxAnVerFtpMgmt  5  }

    zxAnFtpVerServerFilePath       OBJECT-TYPE     
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) ) 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "
        The FTP File Path, start from the root directory."
        ::=  {  zxAnVerFtpMgmt  6 }

    zxAnFtpVerServerFileName       OBJECT-TYPE     
        SYNTAX                  DisplayString  ( SIZE ( 1 .. 64  ) ) 
        MAX-ACCESS              read-write
        STATUS                  current
        DESCRIPTION             "The FTP file name."
        ::=  {  zxAnVerFtpMgmt  7  }

    zxAnFtpVerClntAdminStatus      OBJECT-TYPE     
        SYNTAX          INTEGER  
                        { cancleCurrentFtpSession (1) 
                        } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     " Ftp administrative status."
        ::=  {  zxAnVerFtpMgmt  8 }

    zxAnFtpVerClntOperStatus       OBJECT-TYPE     
        SYNTAX           INTEGER  
                         { notstarted (1) , 
                            inprogress (2) , 
                            success (3) , 
                            failed (4) ,
                            masterSuccessSlaveFailed (5) 
                            
                         } 
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     " Ftp operational status."
        ::=  {  zxAnVerFtpMgmt  9  }


    zxAnFtpVerClntFailedReason     OBJECT-TYPE     
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )   
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     " Ftp failed reason."
        ::=  {  zxAnVerFtpMgmt  10  }
                
    zxAnSwManualUpdateShelf      OBJECT-TYPE     
        SYNTAX          Integer32 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     " The Shelf No. is used for 
        updating version file from MP to NP."
        ::=  {  zxAnVerFtpMgmt  11  }

    zxAnSwManualUpdateSlotList       OBJECT-TYPE     
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )  
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     " The slot No. is used for 
        updating version file from MP to NP.They can be update in batch.
        for example:1,2,3"
        ::=  {  zxAnVerFtpMgmt  12  }

    zxAnSwManualUpdateCardType     OBJECT-TYPE     
        SYNTAX          Integer32 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     " The card type is used for 
        updating version file from MP to NP."
        ::=  {  zxAnVerFtpMgmt  13  }

    zxAnFtpVerUpdateFileLocation       OBJECT-TYPE     
        SYNTAX          INTEGER 
                    {
                        local(1),
                        ftp(2)
                    } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     " The update flag is used for 
        indicating the version file location when updating version or bootrom file in NP.
        It include two locations:one is from local flash(version area in MP),
        the other is from FTP server.
        "
        ::=  {  zxAnVerFtpMgmt  14 }
     zxAnFtpVerClntProgress       OBJECT-TYPE     
        SYNTAX          INTEGER  (0..100)
        UNITS           "%"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The total progress of upload or download version ,including master and slave card."
        ::=  {  zxAnVerFtpMgmt  15  }

     zxAnFtpVerFileSize       OBJECT-TYPE     
        SYNTAX          Integer32  
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The file size of download."
        ::=  {  zxAnVerFtpMgmt  16  }
        
     zxAnFtpAdminType       OBJECT-TYPE 
         SYNTAX          INTEGER  
                {
                       version(1), 
                       batch(2)
                }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for FTP administer type,1 indicate version and 2 indicate batch."
        ::=  {  zxAnVerFtpMgmt  17  }   
        
     zxAnFtpProtocolType       OBJECT-TYPE     
        SYNTAX          INTEGER 
                    {
                        ftp(1),
                        sftp(2)
                    } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     " The  flag is used for 
        indicating the ftp protocol when downing versions between EMS and NE .
        It include two protocols:one is ftp and another is sftp.
        "
        ::=  {  zxAnVerFtpMgmt  18 }
--------------------------------------------------------------------------------
-- 7.Card version properties table
--------------------------------------------------------------------------------
    zxAnCardVersionTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnCardVersionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the Card version information."
        ::=  { zxAnVerMgmt  2 }

    zxAnCardVersionEntry   OBJECT-TYPE
        SYNTAX      ZxAnCardVersionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnCardTable."
        INDEX       {  zxAnRackNo, zxAnShelfNo, zxAnSlotNo  }
        ::=  { zxAnCardVersionTable 1 }

    ZxAnCardVersionEntry  ::=  SEQUENCE {
        zxAnSwCardHardwareVersion      DisplayString,
        zxAnSwCardFileName             DisplayString,
        zxAnSwCardFileType             DisplayString,
        zxAnSwCardVersion              DisplayString,
        zxAnSwCardFileLen              Integer32,
        zxAnSwCardBuildTime            DisplayString,
        zxAnSwCardBootwareFileName     DisplayString,
        zxAnSwCardBootwareFileType     DisplayString,
        zxAnSwCardBootwareVersion      DisplayString,
        zxAnSwCardBootwareFileLen      Integer32,
        zxAnSwCardBootwareBuildTime    DisplayString,
        zxAnSwCardFirmware1FileName    DisplayString,
        zxAnSwCardFirmware1FileType    DisplayString,
        zxAnSwCardFirmware1Version     DisplayString,
        zxAnSwCardFirmware1FileLen     Integer32,
        zxAnSwCardFirmware1BuildTime   DisplayString,        
        zxAnSwCardFirmware2FileName    DisplayString,
        zxAnSwCardFirmware2FileType    DisplayString,
        zxAnSwCardFirmware2Version     DisplayString,
        zxAnSwCardFirmware2FileLen     Integer32,
        zxAnSwCardFirmware2BuildTime   DisplayString,       
        zxAnSwCardFirmware3FileName    DisplayString,
        zxAnSwCardFirmware3FileType    DisplayString,
        zxAnSwCardFirmware3Version     DisplayString,
        zxAnSwCardFirmware3FileLen     Integer32,
        zxAnSwCardFirmware3BuildTime   DisplayString        
        }

    zxAnSwCardHardwareVersion         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the hard driver on the card."
        ::=  {  zxAnCardVersionEntry  1  }

    zxAnSwCardFileName         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version file name on the card."
        ::=  {  zxAnCardVersionEntry  2  }

    zxAnSwCardFileType         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version file type on the card."
        ::=  {  zxAnCardVersionEntry  3  }
        
    zxAnSwCardVersion              OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version tag on the card."
        ::=  {  zxAnCardVersionEntry  4  }      

    zxAnSwCardFileLen       OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version file length on the card."
        ::=  {  zxAnCardVersionEntry  5  }

    zxAnSwCardBuildTime       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION             "
                This MIB defines version build time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnCardVersionEntry  6  }   
        
    zxAnSwCardBootwareFileName         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Bootrom file name on the card."
        ::=  {  zxAnCardVersionEntry  7  }

    zxAnSwCardBootwareFileType         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Bootrom file type on the card."
        ::=  {  zxAnCardVersionEntry  8  }
        
    zxAnSwCardBootwareVersion              OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Bootrom tag on the card."
        ::=  {  zxAnCardVersionEntry  9  }      

    zxAnSwCardBootwareFileLen       OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Bootrom file length on the card."
        ::=  {  zxAnCardVersionEntry  10  }

    zxAnSwCardBootwareBuildTime       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION             "
                This MIB defines version build time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnCardVersionEntry  11  }   
 
    zxAnSwCardFirmware1FileName  OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file name on the card."
        ::=  {  zxAnCardVersionEntry  12  }

    zxAnSwCardFirmware1FileType OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file type on the card."
        ::=  {  zxAnCardVersionEntry  13  }
        
    zxAnSwCardFirmware1Version    OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware tag on the card."
        ::=  {  zxAnCardVersionEntry  14  }      

    zxAnSwCardFirmware1FileLen       OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file length on the card."
        ::=  {  zxAnCardVersionEntry  15  }

    zxAnSwCardFirmware1BuildTime OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION             "
                This MIB defines version build time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnCardVersionEntry  16  } 

    zxAnSwCardFirmware2FileName  OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file name on the card."
        ::=  {  zxAnCardVersionEntry  17  }

    zxAnSwCardFirmware2FileType  OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file type on the card."
        ::=  {  zxAnCardVersionEntry  18  }
        
    zxAnSwCardFirmware2Version    OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware tag on the card."
        ::=  {  zxAnCardVersionEntry  19  }      

    zxAnSwCardFirmware2FileLen       OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file length on the card."
        ::=  {  zxAnCardVersionEntry  20  }

    zxAnSwCardFirmware2BuildTime  OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "
                This MIB defines version build time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnCardVersionEntry  21  }   

    zxAnSwCardFirmware3FileName OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file name on the card."
        ::=  {  zxAnCardVersionEntry  22  }

    zxAnSwCardFirmware3FileType OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file type on the card."
        ::=  {  zxAnCardVersionEntry  23  }
        
    zxAnSwCardFirmware3Version  OBJECT-TYPE 
        SYNTAX        DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "This MIB is defined for the Firmware tag on the card."
        ::=  {  zxAnCardVersionEntry  24  }      

    zxAnSwCardFirmware3FileLen       OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file length on the card."
        ::=  {  zxAnCardVersionEntry  25  }

    zxAnSwCardFirmware3BuildTime       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION             "
                This MIB defines version build time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnCardVersionEntry  26  }   




--------------------------------------------------------------------------------
-- 8.Sub Card version properties table
--------------------------------------------------------------------------------
    zxAnSubcardVersionTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnSubcardVersionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the sub card version information."
        ::=  { zxAnVerMgmt  3 }

    zxAnSubcardVersionEntry   OBJECT-TYPE
        SYNTAX      ZxAnSubcardVersionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnSubcardVersionTable."
        INDEX       {  zxAnRackNo, zxAnShelfNo, zxAnSlotNo,zxAnSubcardNo  }
        ::=  { zxAnSubcardVersionTable 1 }

    ZxAnSubcardVersionEntry  ::=  SEQUENCE {
        zxAnSwSubcardHardwareVersion   DisplayString,
        zxAnSwSubcardFileName          DisplayString,
        zxAnSwSubcardFileType          DisplayString,
        zxAnSwSubcardVersion           DisplayString,
        zxAnSwSubcardFileLen           Integer32,
        zxAnSwSubcardBuildTime         DisplayString,
        zxAnSwSubcardBootwareFileName     DisplayString,
        zxAnSwSubcardBootwareFileType     DisplayString,
        zxAnSwSubcardBootwareVersion          DisplayString,
        zxAnSwSubcardBootwareFileLen      Integer32,
        zxAnSwSubcardBootwareBuildTime    DisplayString,
        zxAnSwSubcardFirmwareFileName    DisplayString,
        zxAnSwSubcardFirmwareFileType    DisplayString,
        zxAnSwSubcardFirmwareVersion         DisplayString,
        zxAnSwSubcardFirmwareFileLen     Integer32,
        zxAnSwSubcardFirmwareBuildTime   DisplayString        
        }

    zxAnSwSubcardHardwareVersion         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the hard driver on the card."
        ::=  {  zxAnSubcardVersionEntry  1  }

    zxAnSwSubcardFileName         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version file name on the card."
        ::=  {  zxAnSubcardVersionEntry  2  }

    zxAnSwSubcardFileType         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version file type on the card."
        ::=  {  zxAnSubcardVersionEntry  3  }
        
    zxAnSwSubcardVersion              OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version tag on the card."
        ::=  {  zxAnSubcardVersionEntry  4  }      

    zxAnSwSubcardFileLen       OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version file length on the card."
        ::=  {  zxAnSubcardVersionEntry  5  }

    zxAnSwSubcardBuildTime       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION             "
                This MIB defines version build time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnSubcardVersionEntry  6  }   
        
    zxAnSwSubcardBootwareFileName         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Bootrom file name on the card."
        ::=  {  zxAnSubcardVersionEntry  7  }

    zxAnSwSubcardBootwareFileType         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Bootrom file type on the card."
        ::=  {  zxAnSubcardVersionEntry  8  }
        
    zxAnSwSubcardBootwareVersion              OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Bootrom tag on the card."
        ::=  {  zxAnSubcardVersionEntry  9  }      

    zxAnSwSubcardBootwareFileLen       OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Bootrom file length on the card."
        ::=  {  zxAnSubcardVersionEntry  10  }

    zxAnSwSubcardBootwareBuildTime       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION             "
                This MIB defines version build time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnSubcardVersionEntry  11  }   
 
    zxAnSwSubcardFirmwareFileName         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file name on the card."
        ::=  {  zxAnSubcardVersionEntry  12  }

    zxAnSwSubcardFirmwareFileType         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file type on the card."
        ::=  {  zxAnSubcardVersionEntry  13  }
        
    zxAnSwSubcardFirmwareVersion              OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware tag on the card."
        ::=  {  zxAnSubcardVersionEntry  14  }      

    zxAnSwSubcardFirmwareFileLen       OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the Firmware file length on the card."
        ::=  {  zxAnSubcardVersionEntry  15  }

    zxAnSwSubcardFirmwareBuildTime       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION             "
                This MIB defines version build time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnSubcardVersionEntry  16  }   
  
        
--------------------------------------------------------------------------------
-- 9.version saved table
--------------------------------------------------------------------------------
    zxAnVersionSavedTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnVersionSavedEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the saved version information in version area MP."
        ::=  { zxAnVerMgmt  4 }

    zxAnVersionSavedEntry   OBJECT-TYPE
        SYNTAX      ZxAnVersionSavedEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnVersionSavedTable."
        INDEX   {zxAnRackNo,zxAnShelfNo,zxAnSlotNo,zxAnSwImageFileName}
        ::=  { zxAnVersionSavedTable 1 }

    ZxAnVersionSavedEntry  ::=  SEQUENCE {
        zxAnSwImageFileName                 DisplayString,
        zxAnSwImageFileType                 DisplayString,
        zxAnSwImageVersion                  DisplayString,
        zxAnSwImageFileLen                  Integer32,
        zxAnSwImageBuildTime                DisplayString,
        zxAnSwImageActiveStatus             INTEGER,
        zxAnSwImageSyncToSecondary          INTEGER,
        zxAnSwImageSyncToSecondaryStatus    INTEGER,
        
        zxAnSavedTableType              INTEGER,
        zxAnSavedFileDesc               DisplayString,
        zxAnSavedPatchParentVersion     DisplayString,
        zxAnSavedPatchActiveTime        DisplayString,        
        zxAnSavedPatchActiveStatus      INTEGER,                        
        zxAnSavedPatchAdminStatus       INTEGER,
        zxAnSavedAdminFailedReason      DisplayString,
        zxAnSavedVersionDownloadTime    DisplayString
        }
     
        
    zxAnSwImageFileName      OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     ""
        ::=  {  zxAnVersionSavedEntry  1  }

    zxAnSwImageFileType         OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version file type on the saved area."
        ::=  {  zxAnVersionSavedEntry  2  }
        
    zxAnSwImageVersion           OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version tag on the saved area."
        ::=  {  zxAnVersionSavedEntry  3  }      

    zxAnSwImageFileLen       OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version file length on the saved area."
        ::=  {  zxAnVersionSavedEntry  4  }

    zxAnSwImageBuildTime       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION             "
                This MIB defines version build time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnVersionSavedEntry  5  } 

    zxAnSwImageActiveStatus       OBJECT-TYPE 
        SYNTAX          INTEGER  
                {
                       verSwap(1), 
                       inactive(2),
                       erase(3)     
                }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "This MIB is defined to admin saved MP version on the saved area.
                        verSwap(1): swap the master and slave version of control card.
                        inactive(2): inactive MP version.
                        erase(3)  : erase the saved area verison. 
        "
        ::=  {  zxAnVersionSavedEntry  6  }   


    zxAnSwImageSyncToSecondary       OBJECT-TYPE 
        SYNTAX          INTEGER  
                {
                    synVersionToSlave(1)
                }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Synchronize verion from master card to slave card. "
        ::=  {  zxAnVersionSavedEntry  7  }   


    zxAnSwImageSyncToSecondaryStatus       OBJECT-TYPE 
        SYNTAX          INTEGER  
            { 
                idle(1),
                processing (2),
                sendingData(3),
                timeout(4),
                failed(5),
                success(6),
                sameversion(7) 
            }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Status of version synchronization from master card to 
            slave card."
        ::=  {  zxAnVersionSavedEntry  8  }   


    zxAnSavedTableType       OBJECT-TYPE 
         SYNTAX          INTEGER  
                {
                       version(1), 
                       batch(2)
                }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for savedTable type,1 indicate version and 2 indicate batch."
        ::=  {  zxAnVersionSavedEntry  9  }

    zxAnSavedFileDesc      OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 255  ) )
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "This MIB is defined for the patch describe on the saved area."
        ::=  {  zxAnVersionSavedEntry  10  }
    
    zxAnSavedPatchParentVersion           OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the system version tag of the patch."
        ::=  {  zxAnVersionSavedEntry  11  }     
        
    zxAnSavedPatchActiveTime       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION             "
                This MIB defines patch Active time.for example:
                yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnVersionSavedEntry  12  }     
        
        
    zxAnSavedPatchActiveStatus       OBJECT-TYPE 
         SYNTAX          INTEGER  
                {
                       actived(1), 
                       inactive(2),
                       autorun(3)                       
                }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the patch active status.
                         actived(1): actived but no save configuration.
                         inactive(2)  : inactive. 
                         autorun(3)  : actived and save configuration.
                         "
        ::=  {  zxAnVersionSavedEntry  13  }
        
    zxAnSavedPatchAdminStatus       OBJECT-TYPE 
        SYNTAX          INTEGER  
                {
                       active(1), 
                       deactivate(2),
                       save(3),
                       erase(4)       
                }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "This MIB is defined to admin saved MP patch on the saved area.
                        active(1): active the master and slave patch of control card.
                        deactivate(2)  : deactivate the saved area patch. 
                        save(3)  : save the patch configation infomation.
                        erase(4)  : erase the saved area patch. 
        "
        ::=  {  zxAnVersionSavedEntry  14  }   
        
    zxAnSavedAdminFailedReason      OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the operate failed reason."
        ::=  {  zxAnVersionSavedEntry  15  } 

    zxAnSavedVersionDownloadTime       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB defines software file download time.
                        for example: yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."
        ::=  {  zxAnVersionSavedEntry  16  } 
        
--------------------------------------------------------------------------------
-- 10.version update status table
--------------------------------------------------------------------------------
    zxAnVersionUpdatingStatusTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnVersionUpdatingStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the version updating status information."
        ::=  { zxAnVerMgmt  5 }

    zxAnVersionUpdatingStatusEntry   OBJECT-TYPE
        SYNTAX      ZxAnVersionUpdatingStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnVersionSavedTable."
        INDEX       {  zxAnRackNo, zxAnShelfNo, zxAnSlotNo,zxAnSwManualUpdateSoftwareType  }
        ::=  { zxAnVersionUpdatingStatusTable 1 }

    ZxAnVersionUpdatingStatusEntry  ::=  SEQUENCE {
        zxAnSwManualUpdateSoftwareType       DisplayString,
        zxAnSwManualUpdateStatus        INTEGER,
        zxAnSwManualFailedReason        INTEGER
        }

    zxAnSwManualUpdateSoftwareType       OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version catalog when updating version.
                        for example:
                        BT:bootrom,
                        FM:firmware,
                        MVR:mainversion"
        ::=  {  zxAnVersionUpdatingStatusEntry  1  }     

    zxAnSwManualUpdateStatus       OBJECT-TYPE 
        SYNTAX          INTEGER 
            {
                negotiating(1),
                downloading(2),
                abort(3),
                success(4),
                ftping(5),
                sameVersion(6)
            }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the version status when updating version.
              negotiating(1):negotiating not starting
              downloading(2):updating from MP
              abort(3):update failed
              success(4):update successly
              ftping(5):is ftping file from server
              sameVersion(6): same version
        "
        ::=  {  zxAnVersionUpdatingStatusEntry  2  }             

    zxAnSwManualFailedReason       OBJECT-TYPE 
        SYNTAX          INTEGER
                  {
                    noSupportCardHwVersion(1), 
                      -- control card doesn't support the current card hardware version.
                      
                    mismatchCardHwVersion(2),
                      -- control card's configuration and the current card hardware version are mismatch.
                      
                    mismatchCardConfData(3),
                      -- control card's configuration and the current card configuration data are mismatch.
                    
                    noSwInNe(4),
                      -- software for this card doesn't exist in control card.
                      
                    cardUpdateSwFailed(5),
                      -- the current card software update failed.
                      
                    cardOffline(6),
                      -- the current card is offline.                

                    noError(254),
                      -- no error.
                      
                    otherErrors(255)
                      -- other errors.
                  }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This MIB is defined for the reason when updating version failed.
        "
        ::=  {  zxAnVersionUpdatingStatusEntry  3  }    
         

--------------------------------------------------------------------------------
-- 11.Enviroment Monitor
--------------------------------------------------------------------------------

    zxAnEnvPowerSupplyMgmt     OBJECT IDENTIFIER ::= { zxAnEnvMonitor 9 }
    zxAnEnvFanMgmt             OBJECT IDENTIFIER ::= { zxAnEnvMonitor 10 }
    zxAnEnvDustCapMgmt         OBJECT IDENTIFIER ::= { zxAnEnvMonitor 11 }
    zxAnEnvCardMgmt            OBJECT IDENTIFIER ::= { zxAnEnvMonitor 13 }
    zxAnEnvOverheatProtectionMgmt  OBJECT IDENTIFIER ::= { zxAnEnvMonitor 14 }
    zxAnEnvBatteryObjects  OBJECT IDENTIFIER ::= { zxAnEnvMonitor 15 }
    zxAnEnvDeviceObjects    OBJECT IDENTIFIER ::= { zxAnEnvMonitor 16 }
    
    zxAnEnvMgmtCapabilities OBJECT-TYPE
        SYNTAX     BITS
        {
            envTemperature(0),
            fanAlarmBeep(1),
            fanAutoSwitchByCardInstall(2),
            fanSpeedCtrlBasedTemperature(3),
            fanFixSpeed(4),
            singleFanShutdown(5),
            mpTemperature(6),
            powerSupply(7),
            cardTemperature(8),
            fanSpeedPercentage(9),
            backplaneInterface(10),
            envMonitorInterfaceTrapEnable(11),
            slaveShelfFanConfig(12)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The enviroment management capabilities of this equipment.
            The bit value 1 means the function represented by this bit is supported
            by this equipment.
            
            NOTE:
               No recomanded to display it in NMS.
            "
        ::= { zxAnEnvMonitor 1 }  
            
    zxAnEnvTemperature OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The temperature of the enviroment. "
        ::= { zxAnEnvMonitor 2 }
        
    zxAnEnvTemperatureAlarmThreshold  OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The temperature alarm threshold of the enviroment. "
        ::= { zxAnEnvMonitor 3 }

        
    zxAnEnvMonitorInterfaceUsage OBJECT-TYPE
        SYNTAX     INTEGER
        {
            epm(1),
            fanTray(2),
            noUse(3),
            noSupport(4),
            etmWithTestSubcard(5),
            etmWithoutTestSubcard(6)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The equipment type connected to the enviroment monitor interface.
            NOTE:
               No recomanded to display it in NMS.
            "
        DEFVAL { fanTray }        
        ::= { zxAnEnvMonitor 4 }  

    zxAnMPTemperature OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The temperature of the MP. Unit is C"
        ::= { zxAnEnvMonitor 5 }

    zxAnMPTemperatureAlarmThreshold  OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The temperature alarm threshold of the MP. Unit is C"
        ::= { zxAnEnvMonitor 6 }

    zxAnEpmConnectPort  OBJECT-TYPE
        SYNTAX     INTEGER
        {
            port0(1),
            port1(2),
            notconfigured(255)    
        }        
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The port no which epm connect"
        ::= { zxAnEnvMonitor 7 }

    zxAnEnvBackplaneInterfaceUsage  OBJECT-TYPE
        SYNTAX     INTEGER
        {
            fan(1),
            noUse(3),
            noSupport(255)    
        }        
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The equipment type connected to the Backplane Interface.
            fan(1): the fan connect to the Backplane Interface;
            noUse(3): not used;
            noSupport(255):not support.
            "
        ::= { zxAnEnvMonitor 8 }
      
    zxAnEnvMonitorIfTrapEnable  OBJECT-TYPE
        SYNTAX     INTEGER
        {
            enable(1),
            disable(2)            
        }        
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "For F820, enable or disable the EPM link up/down trap."
        DEFVAL { disable }
        ::= { zxAnEnvMonitor 12 } 
             
--------------------------------------------------------------------------------
-- 11.1 Power Supply Mgmt
--------------------------------------------------------------------------------
    zxAnPowerSupplyCount OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
           "The number of entries in the zxAnPowerSupplyTable."
       ::= { zxAnEnvPowerSupplyMgmt 1 }


    zxAnPowerSupplyTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnPowerSupplyEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
           "The power supply table."
       ::= { zxAnEnvPowerSupplyMgmt 2 }

    zxAnPowerSupplyEntry OBJECT-TYPE
        SYNTAX  ZxAnPowerSupplyEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
           "An entry in the power supply table."
        INDEX       {  zxAnRackNo, zxAnShelfNo, zxAnSlotNo  }
       ::= { zxAnPowerSupplyTable 1 }

    ZxAnPowerSupplyEntry ::= SEQUENCE 
        {
            zxAnPowerSupplyInVoltageStatus  INTEGER,
            zxAnPowerSupplyOperState        INTEGER,
            zxAnPowerSupplyInVoltage        Integer32,
            zxAnPowerInVoltageUpperThresh   Integer32,
            zxAnPowerInVoltageLowerThresh   Integer32,
            zxAnPowerSupplyInCurrent        Integer32,
            zxAnPowerInCurrentThresh        Integer32,
            zxAnPowerSupplyInPower          Integer32
        }

    zxAnPowerSupplyInVoltageStatus OBJECT-TYPE
        SYNTAX  INTEGER
                {
                    normal(1),
                    overVoltage(2),
                    underVoltage(3),
                    off(4)    
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "The volt staus of the power supply."
       ::= { zxAnPowerSupplyEntry 1 }

   zxAnPowerSupplyOperState OBJECT-TYPE
        SYNTAX      INTEGER 
        {
            inService(1),
            hwOffline(2),
            powerFaulty(3)
        }
        MAX-ACCESS      read-only
        STATUS      current
        DESCRIPTION
           "The operational state of the power supply module."
      ::= { zxAnPowerSupplyEntry 2 }

    zxAnPowerSupplyInVoltage OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001V"
        MAX-ACCESS      read-only
        STATUS      current
        DESCRIPTION
           "The actual input volts of the power supply module."
      ::= { zxAnPowerSupplyEntry 3 }


    zxAnPowerInVoltageUpperThresh OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001V"
        MAX-ACCESS      read-write
        STATUS      current
        DESCRIPTION
           "The upper threshold of input volts.The alarm should be generated
        when zxAnPowerSupplyInVolts exceeds this threshold.
            If it is 0, no alarm reported to manager."
        DEFVAL  { 0 }
      ::= { zxAnPowerSupplyEntry 4 }


    zxAnPowerInVoltageLowerThresh OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001V"
        MAX-ACCESS      read-write
        STATUS      current
        DESCRIPTION
           "The lower threshold of input volts.The alarm should be generated
        when zxAnPowerSupplyInVolts is lower than this threshold.
            If it is 0, no alarm reported to manager."
        DEFVAL  { 0 }
      ::= { zxAnPowerSupplyEntry 5 }
      

    zxAnPowerSupplyInCurrent OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001A"
        MAX-ACCESS      read-only
        STATUS      current
        DESCRIPTION
           "The actual current of the power supply module."
      ::= { zxAnPowerSupplyEntry 6 }


    zxAnPowerInCurrentThresh OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001A"
        MAX-ACCESS      read-write
        STATUS      current
        DESCRIPTION
           "The upper threshold of input current.The alarm should be generated
        when zxAnPowerSupplyInCurrent exceeds this threshold.
            If it is 0, no alarm reported to manager."
        DEFVAL  { 0 }
      ::= { zxAnPowerSupplyEntry 7 }

   zxAnPowerSupplyInPower OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "Watts"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The actual power of the power supply module."
      ::= { zxAnPowerSupplyEntry 8 }
          
--------------------------------------------------------------------------------
-- 11.2 Fan mgmt
--------------------------------------------------------------------------------
    zxAnEnvFanAlarmBeepEnable OBJECT-TYPE
        SYNTAX     INTEGER{
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The control status of the fan alarm beep."
        DEFVAL { enable }        
        ::= { zxAnEnvFanMgmt 1 } 
       
    zxAnEnvFanAutoSwitchByCardInst OBJECT-TYPE
        SYNTAX     INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/disable fan auto switch with card installation.
            If it is enabled,the fan under the card should be swiched to running
            status when the card is installed.Otherwise,the fan should be shutdown.
            NOTE:
               No recomanded to configure it in NMS.
            "
        DEFVAL { disable }        
        ::= { zxAnEnvFanMgmt 2 }

    zxAnEnvFanTrayHardwareVersion OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   "The hardware version of the fan tray"
        ::= { zxAnEnvFanMgmt 3 }

    zxAnEnvFanTraySoftwareVersion OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   "The software version of the fan tray"
        ::= { zxAnEnvFanMgmt 4 }        

    zxAnEnvFanInvSn OBJECT-TYPE
        SYNTAX  DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The serial number of fan board.It used by inventory management."
        ::= { zxAnEnvFanMgmt 5 }    

--------------------------------------------------------------------------------
-- 11.2 Fan Speed Control
--------------------------------------------------------------------------------

   zxAnEnvFanSpeedCtrlMgmt  OBJECT IDENTIFIER   ::=  {  zxAnEnvFanMgmt  10  }
        
   zxAnEnvFanSpeedCtrlMode OBJECT-TYPE
        SYNTAX     INTEGER
        {
            temperatureBasedAutoCtrl(1),
            fixSpeed(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The speed control mode of the fan."
        DEFVAL { temperatureBasedAutoCtrl }
        ::= { zxAnEnvFanSpeedCtrlMgmt 1 }  
        
    zxAnEnvFanLowSpeed   OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "RPM"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The speed value of the fan's low speed level.
            The values for ZXDSL9800,9210 are 1500,2400,2700,3000,3400,3700,
            4000,4400.
            NOTE:
               No recomanded to display it in NMS.
               Different equipment maybe has different default value.
            "
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  2  }

    zxAnEnvFanStandardSpeed OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "RPM"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The speed value of the fan's standard speed level.
            The values for ZXDSL9800,9210 are 1500,2400,2700,3000,3400,3700,
            4000,4400.
            NOTE:
               No recomanded to display it in NMS.
               Different equipment maybe has different default value.
            "
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  3  }
        
    zxAnEnvFanHighSpeed OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "RPM"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The speed value of the fan's high speed level.
            The values for ZXDSL9800,9210 are 1500,2400,2700,3000,3400,3700,
            4000,4400.
            NOTE:
               No recomanded to display it in NMS.
               Different equipment maybe has different default value.
            "
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  4  }
        
    zxAnEnvFanSuperSpeed OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "RPM"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The speed value of the fan's super speed level.
            The values for ZXDSL9800,9210 are 1500,2400,2700,3000,3400,3700,
            4000,4400.
            NOTE:
               No recomanded to display it in NMS.
               Different equipment maybe has different default value.
            "
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  5  }


    zxAnEnvFanLowSpeedShiftTem OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centigrade"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The temperature to activate the fan tray to shift to
            the low speed level.
            NOTE:
               No recomanded to display it in NMS.
            "
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  6  }    
        
        
    zxAnEnvFanStdSpeedShiftTem OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centigrade"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The temperature to activate the fan tray to shift to
            the standard speed level.
            NOTE:
               No recomanded to display it in NMS.
            "
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  7  }    
            

    zxAnEnvFanHighSpeedShiftTem OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centigrade"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The temperature to activate the fan tray to shift to
            the high speed level.
            NOTE:
               No recomanded to display it in NMS.
            "
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  8  }    


    zxAnEnvFanSuperSpeedShiftTem OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centigrade"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The temperature to activate the fan tray to shift to
            the super speed level.
            NOTE:
               No recomanded to display it in NMS.
            "
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  9  }    
        
--------------------------------------------------------------------------------
-- 11.3 Fans Control And Operational Status
--------------------------------------------------------------------------------
   zxAnEnvFanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnEnvFanEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "This table includes speed information and operational status of 
        the fan."
        ::= { zxAnEnvFanSpeedCtrlMgmt 10 }

   zxAnEnvFanEntry  OBJECT-TYPE
        SYNTAX     ZxAnEnvFanEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The entry of zxAnEnvFanTable. "
        INDEX  { zxAnEnvFanIndex }
        ::= { zxAnEnvFanTable 1 }

    ZxAnEnvFanEntry ::= SEQUENCE {
        zxAnEnvFanIndex               Integer32,
        zxAnEnvFanConfSpeedLevel      INTEGER,
        zxAnEnvFanActualSpeedLevel    INTEGER,
        zxAnEnvFanAdminStatus         INTEGER, 
        zxAnEnvFanOperStatus          INTEGER,
        zxAnEnvFanOnlineStatus        INTEGER,
        zxAnEnvFanActualSpeed         Integer32
    }
    zxAnEnvFanIndex OBJECT-TYPE
        SYNTAX     Integer32 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The index of this fan."
        ::= { zxAnEnvFanEntry 1 }    
       
    zxAnEnvFanConfSpeedLevel    OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            lowSpeed     (1),
            standardSpeed(2),
            highSpeed    (3),
            superSpeed   (4)       
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The configured speed level of the fan.
            NOTE:
               No recomanded to display it in NMS.
        "
        DEFVAL { standardSpeed }
        ::=  {  zxAnEnvFanEntry  2  }
    

    zxAnEnvFanActualSpeedLevel  OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            lowSpeed     (1),
            standardSpeed(2),
            highSpeed    (3),
            superSpeed   (4),
            other        (10)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The actual speed level of the fan."
        ::=  {  zxAnEnvFanEntry  3  }
    
    zxAnEnvFanAdminStatus   OBJECT-TYPE 
        SYNTAX      INTEGER 
        {
            up(1),
            down(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The administrative status of the fan.
            NOTE:
               No recomanded to configure it in NMS.
        "
        DEFVAL { up }
        ::=  {  zxAnEnvFanEntry  4  }   
    
    zxAnEnvFanOperStatus    OBJECT-TYPE
        SYNTAX      INTEGER 
        {
            up(1),
            down(2),
            unknown(3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The operational status of the fan."
        ::=  {  zxAnEnvFanEntry  5  }   

    zxAnEnvFanOnlineStatus      OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            online(1),
            offline(2),
            unknown(3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The actual online status of the fan."
        ::=  {  zxAnEnvFanEntry  6  }
    
    zxAnEnvFanActualSpeed  OBJECT-TYPE 
        SYNTAX      Integer32        
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The actual speed of the fan.
            NOTE:
               If not supported, NMS should use the speed value of zxAnEnvFanActualSpeedLevel"
        ::=  {  zxAnEnvFanEntry  7  }
        
   
    zxAnEnvFanLowSpeedPercentage OBJECT-TYPE
        SYNTAX          INTEGER(1..97)
        UNITS           "percent"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The percentage of speed of the low speed level."
        DEFVAL{30}
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  11  }    
        
        
    zxAnEnvFanStandardSpeedPercent OBJECT-TYPE
        SYNTAX          INTEGER(2..98)
        UNITS           "percent"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The percentage of speed of the standard speed level."
        DEFVAL{50}
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  12  }    
            

    zxAnEnvFanHighSpeedPercentage OBJECT-TYPE
        SYNTAX          INTEGER(3..99)
        UNITS           "percent"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The percentage of speed of the high speed level."
        DEFVAL{70}
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  13  }    


    zxAnEnvFanSuperSpeedPercentage OBJECT-TYPE
        SYNTAX          INTEGER(4..100)
        UNITS           "percent"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The percentage of speed of the super speed level."
        DEFVAL{90}
        ::=  {  zxAnEnvFanSpeedCtrlMgmt  14  }    
                                                    
--------------------------------------------------------------------------------
-- 13.Dust Cap
--------------------------------------------------------------------------------

    zxAnEnvDustCapOperStatus  OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The operational status of the dust cap."
        ::=  {  zxAnEnvDustCapMgmt  1  }

--------------------------------------------------------------------------------
-- 14.Card Temperature
--------------------------------------------------------------------------------

  zxAnEnvCardTemperatureTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnEnvCardTemperatureEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "This table includes card temperature  information."
        ::= { zxAnEnvCardMgmt 5 }

   zxAnEnvCardTemperatureEntry  OBJECT-TYPE
        SYNTAX     ZxAnEnvCardTemperatureEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The entry of zxAnEnvCardTemperatureTable. "
        INDEX  { zxAnRackNo, zxAnShelfNo, zxAnSlotNo }
        ::= { zxAnEnvCardTemperatureTable 1 }

    ZxAnEnvCardTemperatureEntry ::= SEQUENCE {
            zxAnEnvCardTemperature           Integer32
        }

    zxAnEnvCardTemperature OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "The temperature of the card enviroment."
       ::= { zxAnEnvCardTemperatureEntry 1 }
       
--------------------------------------------------------------------------------
-- 18.Overheat Protection
--------------------------------------------------------------------------------
   
    zxAnEnvOverheatProtectionObjects  OBJECT IDENTIFIER ::= 
      { zxAnEnvOverheatProtectionMgmt 1 }    
       
    zxAnEnvOverheatProtectionEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION      
            "Enables or disables the overheat protection function."
        DEFVAL { false }
        ::=  {  zxAnEnvOverheatProtectionObjects  1  }
        
    zxAnEnvOverheatTmpThreshold  OBJECT-TYPE
        SYNTAX      Integer32(1..200)
        UNITS       "centigrade"        
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The threshold of the temperature.
             MSAG5208:Broadband service of all cards will be stopped 
             when the temperature is above zxAnEnvOverheatTmpThreshold.
             C300:Card will be powered off 
             when the temperature is above zxAnEnvOverheatTmpThreshold.
             Only valid when zxAnEnvOverheatProtectionEnable is true." 
        DEFVAL { 90 }             
        ::= { zxAnEnvOverheatProtectionObjects 2 }                
                               
    zxAnEnvOverheatDurThreshold  OBJECT-TYPE
        SYNTAX      Integer32(1..65535)
        UNITS       "seconds"         
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The threshold of the duration.
             Narrowband service of all cards will be stopped 
             when the temperature is above zxAnEnvOverheatTmpThreshold
             and the high temperature duration is 
             greater than zxAnEnvOverheatDurThreshold.
             Only valid when zxAnEnvOverheatProtectionEnable is true.
             Not used for C300." 
        DEFVAL { 300 }              
        ::= { zxAnEnvOverheatProtectionObjects 3 }
        
    zxAnEnvOverheatAutoRecoveryType OBJECT-TYPE
        SYNTAX      INTEGER {
                byTemperature(1),
                byTime(2)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION      
            "Automatic recovery condition, below zxAnEnvAutoRecoveryTmpThreshold 
             or after zxAnEnvOverheatAutoRecoveryTime.
             C300 only supports byTime, MSAG5200V3 only supports byTemperature.
             If the agent not supporting to get it, the type 
             is byTemperature in fact."
        DEFVAL { byTemperature }
        ::=  {  zxAnEnvOverheatProtectionObjects  25  }        
        
    zxAnEnvOverheatAutoRecoveryEn OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION      
            "Enables or disables the automatic recovery service function.
            Not used for C300."
        DEFVAL { false }
        ::=  {  zxAnEnvOverheatProtectionObjects  30  }
        
    zxAnEnvAutoRecoveryTmpThreshold  OBJECT-TYPE
        SYNTAX      Integer32(1..100)
        UNITS       "centigrade"        
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The threshold of the temperature. 
             Broadband and narrowband service of all cards will be restarted 
             when the temperature is below it.
             Only valid when zxAnEnvOverheatAutoRecoveryEn is true.
             Not used for C300."
        DEFVAL { 80 }      
        ::= { zxAnEnvOverheatProtectionObjects 31 }      
        
    zxAnEnvOverheatAutoRecoveryTime OBJECT-TYPE
        SYNTAX      Integer32(1..60)
        UNITS       "minutes" 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION      
            "Card will be supplied with power 
             zxAnEnvOverheatAutoRecoveryTime later.
             Only used for C300."
        DEFVAL { 10 }
        ::=  {  zxAnEnvOverheatProtectionObjects  40  }                 
        
    zxAnEnvOverheatProtectionStatus OBJECT-TYPE
        SYNTAX      INTEGER { 
            normal(1 ), 
            broadbandServiceStopped(2), 
            narrowbandServiceStopped(3),
            allServiceStopped(4)
        } 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The status of the protection.
             Not used for C300."
        ::=  {  zxAnEnvOverheatProtectionObjects  50  }               

--------------------------------------------------------------------------------
-- 19.Battery Saving
--------------------------------------------------------------------------------
   
    zxAnEnvBatteryGlobalObjects  OBJECT IDENTIFIER ::= 
      { zxAnEnvBatteryObjects 1 }    
       
    zxAnEnvBatteryEnergySavingEnable OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION      
            "Enables or disables the battery energy saving."
        DEFVAL { disabled }
        ::=  {  zxAnEnvBatteryGlobalObjects  1  }  
        
--------------------------------------------------------------------------------
-- 20.Environment Device Objects
--------------------------------------------------------------------------------

   zxAnEnvDeviceTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF ZxAnEnvDeviceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The table of environment device."
       ::= { zxAnEnvDeviceObjects 2 }

   zxAnEnvDeviceEntry OBJECT-TYPE
       SYNTAX      ZxAnEnvDeviceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The entry of this table."
       INDEX       { zxAnEnvDeviceId }
       ::= { zxAnEnvDeviceTable 1 }

    ZxAnEnvDeviceEntry ::= SEQUENCE {
        zxAnEnvDeviceId        Integer32,
        zxAnEnvDeviceName      DisplayString,
        zxAnEnvDeviceRowStatus RowStatus
    }
        
    zxAnEnvDeviceId OBJECT-TYPE
        SYNTAX     Integer32(1..100)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The id of this environment device.
            Value 1-50 is default value which can not be modified or deleted.
            If add a new device, the id will be starting from 51."
        ::= { zxAnEnvDeviceEntry 1 }
       
    zxAnEnvDeviceName OBJECT-TYPE 
        SYNTAX      DisplayString(SIZE(1..32))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The name of the environment device."        
        ::= { zxAnEnvDeviceEntry 2 }

    zxAnEnvDeviceRowStatus OBJECT-TYPE 
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION   
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4).
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1).
            "
        ::=  { zxAnEnvDeviceEntry 50 } 
  
        
    zxAnEnvDevMonSwitchTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnEnvDevMonSwitchEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The table of the switch which monitor environment device."
        ::= { zxAnEnvDeviceObjects 3 }

    zxAnEnvDevMonSwitchEntry OBJECT-TYPE
        SYNTAX     ZxAnEnvDevMonSwitchEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The entry of the table."
        INDEX      { zxAnEnvDevMonSwitchId }
        ::= { zxAnEnvDevMonSwitchTable 1 }

    ZxAnEnvDevMonSwitchEntry ::= SEQUENCE {
        zxAnEnvDevMonSwitchId           Integer32,
        zxAnEnvDevMonSwitchDeviceId     Integer32,
        zxAnEnvDevMonSwitchTrapEnable   INTEGER,
        zxAnEnvDevMonSwitchNormalStatus INTEGER,
        zxAnEnvDevMonSwitchCurrStatus   INTEGER
    }
        
    zxAnEnvDevMonSwitchId OBJECT-TYPE
        SYNTAX     Integer32(1..8)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The id of the switch."
        ::= { zxAnEnvDevMonSwitchEntry 1 }
       
    zxAnEnvDevMonSwitchDeviceId OBJECT-TYPE 
        SYNTAX       Integer32(0..100)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION     
            "The id of the device which monitored by the switch. 
             Value 0 means this switch does not monitor any device."
        DEFVAL { 0 }
        ::= { zxAnEnvDevMonSwitchEntry 2 }
   
    zxAnEnvDevMonSwitchTrapEnable OBJECT-TYPE
        SYNTAX      INTEGER  
        { 
            enabled(1),
            disabled(2)
        } 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION   
            "Enables and disables the environment device abnormal trap."
        DEFVAL { disabled }
        ::= { zxAnEnvDevMonSwitchEntry 3 }
     
    zxAnEnvDevMonSwitchNormalStatus OBJECT-TYPE
        SYNTAX      INTEGER
        { 
            lowLevel(1),
            highLevel(2)
        } 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION   
            "The normal status of the environment device."
        DEFVAL { lowLevel }
        ::= { zxAnEnvDevMonSwitchEntry 4 }
        
    zxAnEnvDevMonSwitchCurrStatus OBJECT-TYPE
        SYNTAX      INTEGER
        { 
            lowLevel(1),
            highLevel(2),
            unknown(255)
        } 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   
            "The current status of the environment device. "
        ::= { zxAnEnvDevMonSwitchEntry 5 }
   
------------------------------------------------------------------------------
---   Patch Table 
------------------------------------------------------------------------------
    zxAnPatchTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnPatchEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A table entry containing patch information."
        ::=  { zxAnPatchMgmt  1 }

    zxAnPatchEntry   OBJECT-TYPE
        SYNTAX      ZxAnPatchEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "patch information entry"
        INDEX       {  zxAnPatchName  }
        ::=  { zxAnPatchTable 1 }

    ZxAnPatchEntry  ::=  SEQUENCE {   
        zxAnPatchName           OCTET STRING,
        zxAnPatchSystemVersion  OCTET STRING,  
        zxAnPatchVersionNo      OCTET STRING,        
        zxAnPatchSize           Unsigned32,    
        zxAnPatchStatus         OCTET STRING,     
        zxAnPatchCreateTime     OCTET STRING,
        zxAnPatchActiveTime     OCTET STRING,
        zxAnPatchRunningTime    OCTET STRING,          
        zxAnPatchDesc           OCTET STRING,
        zxAnPatchAdminStatus    INTEGER                   
        }

    zxAnPatchName      OBJECT-TYPE 
        SYNTAX          OCTET STRING ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "the file name of the patch "
        ::=  {  zxAnPatchEntry  1  }

    zxAnPatchSystemVersion  OBJECT-TYPE 
        SYNTAX          OCTET STRING ( SIZE ( 0 .. 32  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "the system version of the patch"
        ::=  {  zxAnPatchEntry  2  }
        
    zxAnPatchVersionNo  OBJECT-TYPE 
        SYNTAX          OCTET STRING ( SIZE ( 0 .. 32  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "the version no of the patch"
        ::=  {  zxAnPatchEntry  3  }

    zxAnPatchSize OBJECT-TYPE 
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "the  version length of the patch"
        ::=  {  zxAnPatchEntry  4  }
        
    zxAnPatchStatus  OBJECT-TYPE 
        SYNTAX          OCTET STRING ( SIZE ( 0 .. 32  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "the status of the patch, such as activated, deactivated and autorun"
        ::=  {  zxAnPatchEntry  5  }
        
    zxAnPatchCreateTime  OBJECT-TYPE 
        SYNTAX          OCTET STRING ( SIZE ( 0 .. 16  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "the patch create time"
        ::=  {  zxAnPatchEntry  6  }
        
    zxAnPatchActiveTime  OBJECT-TYPE 
        SYNTAX          OCTET STRING ( SIZE ( 0 .. 16  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "the patch active time"        
        ::=  {  zxAnPatchEntry  7  }
        
    zxAnPatchRunningTime  OBJECT-TYPE 
        SYNTAX          OCTET STRING ( SIZE ( 0 .. 16  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "the running time of the patch"
        ::=  {  zxAnPatchEntry  8  }
    
    zxAnPatchDesc  OBJECT-TYPE 
        SYNTAX          OCTET STRING ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "the patch description"
        ::=  {  zxAnPatchEntry  9  }
        
    zxAnPatchAdminStatus  OBJECT-TYPE 
        SYNTAX          INTEGER  { active ( 1 ) , save ( 2 ), deactive ( 3 ),  delete( 4 ) } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "config the status of patch"
        ::=  {  zxAnPatchEntry  10  }
        
--------------------------------------------------------------------------------
-- Extended Enviroment Monitor
--------------------------------------------------------------------------------
    zxAnEnvExMgmt           OBJECT IDENTIFIER ::= { zxAnEnvExMonitor 1 }
    zxAnFanTrayExMgmt       OBJECT IDENTIFIER ::= { zxAnEnvExMonitor 2 }
    zxAnFanExMgmt           OBJECT IDENTIFIER ::= { zxAnEnvExMonitor 3 }
--------------------------------------------------------------------------------
    
    zxAnEnvExMgmtTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnEnvExMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
           "The environment management table, with rack and shelf information."
       ::= { zxAnEnvExMgmt 1 }

    zxAnEnvExMgmtEntry OBJECT-TYPE
        SYNTAX  ZxAnEnvExMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
           "An entry in the zxAnEnvExMgmtTable."
        INDEX       {  zxAnRackNo, zxAnShelfNo  }
       ::= { zxAnEnvExMgmtTable 1 }

    ZxAnEnvExMgmtEntry ::= SEQUENCE 
        {
            zxAnEnvExTemperature Integer32,
            zxAnEnvExTempAlarmThreshold Integer32,
            zxAnEnvExMonitorIfUsage INTEGER
        }
        
    zxAnEnvExTemperature OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The temperature of the enviroment. Unit is C"
        ::= { zxAnEnvExMgmtEntry 1 }
        
    zxAnEnvExTempAlarmThreshold  OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The temperature alarm threshold of the enviroment. Unit is C"
        ::= { zxAnEnvExMgmtEntry 2 }

    zxAnEnvExMonitorIfUsage OBJECT-TYPE
        SYNTAX     INTEGER
        {
            epm(1),
            fanTray(2),
            noUse(3),
            noSupport(4),
            etmWithTestSubcard(5),
            etmWithoutTestSubcard(6)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The equipment type connected to the enviroment monitor interface."
        DEFVAL { fanTray }        
        ::= { zxAnEnvExMgmtEntry 3 }  

--------------------------------------------------------------------------------

    zxAnEnvExTempCtrlMgmt  OBJECT IDENTIFIER   ::=  {  zxAnEnvExMgmt  2  }
        
    zxAnEnvExTempCtrlTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnEnvExTempCtrlEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The table of temperature control objects."
        ::= { zxAnEnvExTempCtrlMgmt 2 }

    zxAnEnvExTempCtrlEntry OBJECT-TYPE
        SYNTAX     ZxAnEnvExTempCtrlEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The entry of zxAnEnvExTempCtrlTable."
        INDEX      { zxAnRackNo, zxAnShelfNo }
        ::= { zxAnEnvExTempCtrlTable 1 }

    ZxAnEnvExTempCtrlEntry ::= SEQUENCE {
        zxAnEnvExTempCtrlEnable           INTEGER,
        zxAnEnvExTempCtrlLowThresh        Integer32,
        zxAnEnvExTempCtrlMediumThresh     Integer32,
        zxAnEnvExTempCtrlHighThresh       Integer32
    }

    zxAnEnvExTempCtrlEnable OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enabled(1),
            disabled(2)
        } 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION   
            "Enable/disable the function of temperature control."
        DEFVAL { disabled }
        ::= { zxAnEnvExTempCtrlEntry 1 }
    
    zxAnEnvExTempCtrlLowThresh OBJECT-TYPE
        SYNTAX       Integer32(0..98)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION     
            "The low temperature threshold of temperature control.
             When zxAnEnvExTemperature reaches the value and lower than
             zxAnEnvExTempCtrlMediumThresh, and zxAnEnvExTempCtrlEnable
             is enabled, line cards will be deactived according to 
             the fault fan."
        DEFVAL { 30 }
        ::= { zxAnEnvExTempCtrlEntry 2 }
     
    zxAnEnvExTempCtrlMediumThresh OBJECT-TYPE
        SYNTAX       Integer32(1..99)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION     
            "The medium tempertaure threshold of temperature control.
             When zxAnEnvExTemperature reaches zxAnEnvExTempCtrlMediumThresh 
             and lower than zxAnEnvExTempCtrlHighThresh, and 
             zxAnEnvExTempCtrlEnable is enabled, the fault fan number 
             determines to shutdown line cards or to reboot system."
        DEFVAL { 45 }
        ::= { zxAnEnvExTempCtrlEntry 3 }
        
    zxAnEnvExTempCtrlHighThresh OBJECT-TYPE
        SYNTAX       Integer32(2..100)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION     
            "The high tempertaure threshold of temperature control.
             When zxAnEnvExTemperature above the threshold, and 
             zxAnEnvExTempCtrlEnable is enabled, system will reboot."
        DEFVAL { 75 }
        ::= { zxAnEnvExTempCtrlEntry 4 }

--------------------------------------------------------------------------------

    zxAnFanTrayExMgmtTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnFanTrayExMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
           "The Fan Control table, with rack and shelf information."
       ::= { zxAnFanTrayExMgmt 1 }

    zxAnFanTrayExMgmtEntry OBJECT-TYPE
        SYNTAX  ZxAnFanTrayExMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
           "An entry in the zxAnFanTrayExMgmtTable."
        INDEX       {  zxAnRackNo, zxAnShelfNo  }
       ::= { zxAnFanTrayExMgmtTable 1 }

    ZxAnFanTrayExMgmtEntry ::= SEQUENCE 
        {
            zxAnFanExAlarmBeepEnable INTEGER,
            zxAnFanExAutoSwitchByCardInstall INTEGER,
            zxAnFanExHardwareVersion DisplayString,
            zxAnFanExSoftwareVersion DisplayString,
            zxAnFanExSpeedCtrlMode INTEGER,
            zxAnFanExLowSpeed Integer32,
            zxAnFanExStandardSpeed Integer32,
            zxAnFanExHighSpeed Integer32,
            zxAnFanExSuperSpeed Integer32,
            zxAnFanExLowSpeedShiftTemp Integer32,
            zxAnFanExStandardSpeedShiftTemp Integer32,
            zxAnFanExHighSpeedShiftTemp Integer32,
            zxAnFanExSuperSpeedShiftTemp Integer32,
            zxAnFanExLowSpeedPercentage INTEGER,
            zxAnFanExStandardSpeedPercentage INTEGER,
            zxAnFanExHighSpeedPercentage INTEGER,
            zxAnFanExSuperSpeedPercentage INTEGER,
            zxAnFanExInvSn DisplayString
        }    
        
    zxAnFanExAlarmBeepEnable OBJECT-TYPE
        SYNTAX     INTEGER{
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The control status of the fan alarm beep."
        DEFVAL { enable }        
        ::= { zxAnFanTrayExMgmtEntry 1 } 
       
    zxAnFanExAutoSwitchByCardInstall OBJECT-TYPE
        SYNTAX     INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/disable fan auto switch with card installation.
            If it is enabled,the fan under the card should be swiched to running
            status when the card is installed.Otherwise,the fan should be shutdown.
            NOTE:
               No recomanded to configure it in NMS.
            "
        DEFVAL { disable }        
        ::= { zxAnFanTrayExMgmtEntry 2 }

    zxAnFanExHardwareVersion OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   "The hardware version of the fan tray"
        ::= { zxAnFanTrayExMgmtEntry 3 }

    zxAnFanExSoftwareVersion OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   "The software version of the fan tray"
        ::= { zxAnFanTrayExMgmtEntry 4 }

    zxAnFanExSpeedCtrlMode OBJECT-TYPE
        SYNTAX     INTEGER
        {
            temperatureBasedAutoCtrl(1),
            fixSpeed(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The speed control mode of the fan."
        DEFVAL { temperatureBasedAutoCtrl }
        ::= { zxAnFanTrayExMgmtEntry 5 }  
        
    zxAnFanExLowSpeed   OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "RPM"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The speed value of the fan's low speed level.
            The values for ZXDSL9800,9210 are 1500,2400,2700,3000,3400,3700,
            4000,4400.
            NOTE:
               No recomanded to display it in NMS.
               Different equipment maybe has different default value.
            "
        ::=  {  zxAnFanTrayExMgmtEntry  6  }

    zxAnFanExStandardSpeed OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "RPM"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The speed value of the fan's standard speed level.
            The values for ZXDSL9800,9210 are 1500,2400,2700,3000,3400,3700,
            4000,4400.
            NOTE:
               No recomanded to display it in NMS.
               Different equipment maybe has different default value.
            "
        ::=  {  zxAnFanTrayExMgmtEntry  7  }
        
    zxAnFanExHighSpeed OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "RPM"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The speed value of the fan's high speed level.
            The values for ZXDSL9800,9210 are 1500,2400,2700,3000,3400,3700,
            4000,4400.
            NOTE:
               No recomanded to display it in NMS.
               Different equipment maybe has different default value.
            "
        ::=  {  zxAnFanTrayExMgmtEntry  8  }
        
    zxAnFanExSuperSpeed OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "RPM"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The speed value of the fan's super speed level.
            The values for ZXDSL9800,9210 are 1500,2400,2700,3000,3400,3700,
            4000,4400.
            NOTE:
               No recomanded to display it in NMS.
               Different equipment maybe has different default value.
            "
        ::=  {  zxAnFanTrayExMgmtEntry  9  }

    zxAnFanExLowSpeedShiftTemp OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centigrade"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The temperature to activate the fan tray to shift to
            the low speed level.
            NOTE:
               No recomanded to display it in NMS.
            "
        ::=  {  zxAnFanTrayExMgmtEntry  10  }    

    zxAnFanExStandardSpeedShiftTemp OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centigrade"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The temperature to activate the fan tray to shift to
            the standard speed level.
            NOTE:
               No recomanded to display it in NMS.
            "
        ::=  {  zxAnFanTrayExMgmtEntry  11  }    

    zxAnFanExHighSpeedShiftTemp OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centigrade"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The temperature to activate the fan tray to shift to
            the high speed level.
            NOTE:
               No recomanded to display it in NMS.
            "
        ::=  {  zxAnFanTrayExMgmtEntry  12  }    

    zxAnFanExSuperSpeedShiftTemp OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centigrade"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The temperature to activate the fan tray to shift to
            the super speed level.
            NOTE:
               No recomanded to display it in NMS.
            "
        ::=  {  zxAnFanTrayExMgmtEntry  13  } 
        
    zxAnFanExLowSpeedPercentage OBJECT-TYPE
        SYNTAX          INTEGER(1..97)
        UNITS           "percent"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The percentage of speed of the low speed level."
        DEFVAL{30}
        ::=  {  zxAnFanTrayExMgmtEntry  14  }    

    zxAnFanExStandardSpeedPercentage OBJECT-TYPE
        SYNTAX          INTEGER(2..98)
        UNITS           "percent"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The percentage of speed of the standard speed level."
        DEFVAL{50}
        ::=  {  zxAnFanTrayExMgmtEntry  15  }    

    zxAnFanExHighSpeedPercentage OBJECT-TYPE
        SYNTAX          INTEGER(3..99)
        UNITS           "percent"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The percentage of speed of the high speed level."
        DEFVAL{70}
        ::=  {  zxAnFanTrayExMgmtEntry  16  }    

    zxAnFanExSuperSpeedPercentage OBJECT-TYPE
        SYNTAX          INTEGER(4..100)
        UNITS           "percent"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The percentage of speed of the super speed level."
        DEFVAL{90}
        ::=  {  zxAnFanTrayExMgmtEntry  17  }   
        
    zxAnFanExInvSn OBJECT-TYPE
        SYNTAX  DisplayString  ( SIZE ( 0 .. 64  ) )
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The serial number of fan board.It used by inventory management."
        ::= { zxAnFanTrayExMgmtEntry 18 }      
        
--------------------------------------------------------------------------------
   zxAnFanExMgmtTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnFanExMgmtEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "This table includes speed information and operational status of 
        the fan."
        ::= { zxAnFanExMgmt 1 }

   zxAnFanExMgmtEntry  OBJECT-TYPE
        SYNTAX     ZxAnFanExMgmtEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The entry of zxAnFanExMgmtTable. "
        INDEX  { zxAnRackNo, zxAnShelfNo, zxAnFanExIndex }
        ::= { zxAnFanExMgmtTable 1 }

    ZxAnFanExMgmtEntry ::= 
        SEQUENCE {
            zxAnFanExIndex               Integer32,
            zxAnFanExConfSpeedLevel      INTEGER,
            zxAnFanExActualSpeedLevel    INTEGER,
            zxAnFanExAdminStatus         INTEGER, 
            zxAnFanExOperStatus          INTEGER,
            zxAnFanExOnlineStatus        INTEGER,
            zxAnFanExActualSpeed         Integer32
    }

    zxAnFanExIndex OBJECT-TYPE
        SYNTAX     Integer32 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The index of this fan."
        ::= { zxAnFanExMgmtEntry 1 }    

    zxAnFanExConfSpeedLevel    OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            lowSpeed     (1),
            standardSpeed(2),
            highSpeed    (3),
            superSpeed   (4)       
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The configured speed level of the fan.
            NOTE:
               No recomanded to display it in NMS.
        "
        DEFVAL { standardSpeed }
        ::=  {  zxAnFanExMgmtEntry  2  }

    zxAnFanExActualSpeedLevel  OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            lowSpeed     (1),
            standardSpeed(2),
            highSpeed    (3),
            superSpeed   (4),
            other        (10)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The actual speed level of the fan."
        ::=  {  zxAnFanExMgmtEntry  3  }
    
    zxAnFanExAdminStatus   OBJECT-TYPE 
        SYNTAX      INTEGER 
        {
            up(1),
            down(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The administrative status of the fan.
            NOTE:
               No recomanded to configure it in NMS.
        "
        DEFVAL { up }
        ::=  {  zxAnFanExMgmtEntry  4  }   

    zxAnFanExOperStatus    OBJECT-TYPE
        SYNTAX      INTEGER 
        {
            up(1),
            down(2),
            unknown(3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The operational status of the fan."
        ::=  {  zxAnFanExMgmtEntry  5  }   

    zxAnFanExOnlineStatus      OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            online(1),
            offline(2),
            unknown(3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The actual online status of the fan."
        ::=  {  zxAnFanExMgmtEntry  6  }
    
    zxAnFanExActualSpeed  OBJECT-TYPE 
        SYNTAX      Integer32        
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The actual speed of the fan.
            NOTE:
               If not supported, NMS should use the speed value of zxAnFanExActualSpeedLevel"
        ::=  {  zxAnFanExMgmtEntry  7  }

------------------------------------------------------------------------------
---   Card Statistic Table 
------------------------------------------------------------------------------
   zxAnCardStatTable OBJECT-TYPE
       SYNTAX SEQUENCE OF ZxAnCardStatEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
       "The card statistic table. "
       ::= { zxAnEquipStat 1 }
       
   zxAnCardStatEntry OBJECT-TYPE
       SYNTAX ZxAnCardStatEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
       "An entry in the card statistic table . "
       INDEX {  zxAnRackNo, zxAnShelfNo, zxAnSlotNo  }
       ::= { zxAnCardStatTable 1 }
       
   ZxAnCardStatEntry ::= SEQUENCE {     
           zxAnCardInOctets            Counter64,
           zxAnCardInUcastPkts         Counter64,
           zxAnCardInMulticastPkts     Counter64,
           zxAnCardInBroadcastPkts     Counter64,
           zxAnCardOutOctets           Counter64,
           zxAnCardOutUcastPkts        Counter64,
           zxAnCardOutMulticastPkts    Counter64,
           zxAnCardOutBroadcastPkts    Counter64,
           zxAnCardInErrors            Counter64,
           zxAnCardOutErrors           Counter64,
           zxAnCardInDiscardPkts       Counter64,
           zxAnCardOutDiscardPkts      Counter64,
           zxAnCardInDiscardPktRatio   Integer32, 
           zxAnCardOutDiscardPktRatio  Integer32,  
           zxAnCardDot3InPauseFrames   Counter64,
           zxAnCardDot3OutPauseFrames  Counter64
    }                 
       
    zxAnCardInOctets OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The total number of octets received of current card."
       ::= { zxAnCardStatEntry 1 }
       
    zxAnCardInUcastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of packets, delivered by this sub-layer to a
           higher (sub-)layer, which were not addressed to a multicast
           or broadcast address at this sub-layer."
       ::= { zxAnCardStatEntry 2 }
   
    zxAnCardInMulticastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of packets, delivered by this sub-layer to a
           higher (sub-)layer, which were addressed to a multicast
           address at this sub-layer.  For a MAC layer protocol, this
           includes both Group and Functional addresses. "
       ::= { zxAnCardStatEntry 3 }
   
    zxAnCardInBroadcastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of packets, delivered by this sub-layer to a
           higher (sub-)layer, which were addressed to a broadcast
           address at this sub-layer.  This object is a 64-bit version
           of ifInBroadcastPkts."
       ::= { zxAnCardStatEntry 4 }
   
    zxAnCardOutOctets OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The total number of octets transmitted out of current card."
       ::= { zxAnCardStatEntry 5 }
   
    zxAnCardOutUcastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The total number of packets that higher-level protocols
           requested be transmitted, and which were not addressed to a
           multicast or broadcast address at this sub-layer, including
           those that were discarded or not sent.  This object is a
           64-bit version of ifOutUcastPkts."
       ::= { zxAnCardStatEntry 6 }
   
    zxAnCardOutMulticastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The total number of packets that higher-level protocols
           requested be transmitted, and which were addressed to a
           multicast address at this sub-layer, including those that
           were discarded or not sent.  For a MAC layer protocol, this
           includes both Group and Functional addresses.  This object
           is a 64-bit version of ifOutMulticastPkts."
       ::= { zxAnCardStatEntry 7 }
   
    zxAnCardOutBroadcastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The total number of packets that higher-level protocols
           requested be transmitted, and which were addressed to a
           broadcast address at this sub-layer, including those that
           were discarded or not sent.  This object is a 64-bit version
           of ifOutBroadcastPkts."
       ::= { zxAnCardStatEntry 8 }
       
    zxAnCardInErrors  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of errored packets received on the card,
            including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system." 
        ::= { zxAnCardStatEntry 9 }

    zxAnCardOutErrors  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of errored packets transmitted out of the
            card, including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system."
        ::= { zxAnCardStatEntry 10 }   
     
     zxAnCardInDiscardPkts  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of inbound packets which were chosen to be discarded
             even though no errors had been detected to prevent their being 
             deliverable to a higher-layer protocol. 
             
             One possible reason for discarding such a packet could be to 
             free up buffer space.
             
             Discontinuities in the value of this counter can occur at 
             re-initialization of the management system."
        ::= { zxAnCardStatEntry 11 }   
        
    zxAnCardOutDiscardPkts  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of outbound packets which were chosen to be discarded
             even though no errors had been detected to prevent their being 
             transmitted. 
             
             One possible reason for discarding such a packet could be to free 
             up buffer space.
             
             Discontinuities in the value of this counter can occur at 
             re-initialization of the management system."
        ::= { zxAnCardStatEntry 12 }    
        
    zxAnCardInDiscardPktRatio OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "percent"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     
            "An estimate of the card's discarded packets ratio received.
             The value equals (received discarded packets / number 
             of total received packets) * 100%."
        ::=  {  zxAnCardStatEntry 13  }  
        
    zxAnCardOutDiscardPktRatio OBJECT-TYPE 
        SYNTAX          Integer32
        UNITS           "percent"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     
            "An estimate of the card's discarded packets ratio being 
             transmitted.
             
             The value equals (number of transmitted discarded packets / number 
             of total transmitted packets) * 100%."
        ::=  {  zxAnCardStatEntry 14  }
        
    zxAnCardDot3InPauseFrames OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "A count of MAC Control frames received on current
             card with an opcode indicating the PAUSE
             operation."
        REFERENCE   
            "[IEEE 802.3 Std.], 30.3.4.3, aPAUSEMACCtrlFramesReceived."
        ::= { zxAnCardStatEntry 15 }

    zxAnCardDot3OutPauseFrames OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "A count of MAC Control frames transmitted on
             current card with an opcode indicating the
             PAUSE operation."
       REFERENCE   
            "[IEEE 802.3 Std.], 30.3.4.2, aPAUSEMACCtrlFramesTransmitted."
       ::= { zxAnCardStatEntry 16 }
       
       
--------------------------------------------------------------------------------
-- 6. zxAnEquipSysMgmt
--------------------------------------------------------------------------------
    zxAnEquipSysLastSwapRequest  OBJECT-TYPE 
        SYNTAX      INTEGER
            {
                forced(1),
                cardOffline(2),
                reset(3),
                cardDown(99)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Last swap request,such as force,plug-out or others."
        ::= {  zxAnEquipSysMgmt  1  }
  
    zxAnEquipSysAutoSwapEnable  OBJECT-TYPE
        SYNTAX      INTEGER  
            { 
                enable(1), 
                disable(2) 
            } 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION      
            "Enable and disable auto swap function."
        DEFVAL { disable }
        ::= { zxAnEquipSysMgmt 10 }

    zxAnEquipSysAutoSwapStartTime  OBJECT-TYPE
        SYNTAX           DisplayString(SIZE(1..8))
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION 
            "The start time of day to auto swap.            
            For example:HH:MM:SS(02:22:33).
            This variable is valid if zxAnEquipSysAutoSwapEnable is set to 
            enable(1)." 
        ::= { zxAnEquipSysMgmt 11 }
    
    zxAnEquipSysAutoSwapInterval  OBJECT-TYPE
        SYNTAX           Integer32(1..240)
        UNITS            "days"
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION 
            "The interval of auto swap.
            This variable is valid if zxAnEquipSysAutoSwapEnable is set to 
            enable(1)."
        DEFVAL { 1 }
        ::= { zxAnEquipSysMgmt 12 }

    zxAnEquipSysAutoSwapRemainDays  OBJECT-TYPE
        SYNTAX           Integer32(1..240)
        UNITS            "days"
        MAX-ACCESS       read-only
        STATUS           current
        DESCRIPTION 
            "The remaining days of the next auto swap.            
            This variable is valid if zxAnEquipSysAutoSwapEnable is set to 
            enable(1)."        
        ::= { zxAnEquipSysMgmt 13 }
        
    zxAnEquipShelfAutoSwapInterval  OBJECT-TYPE
        SYNTAX           Integer32(5..1440)
        UNITS            "minutes"
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION 
            "The interval of automatic swap between shelves.
            This variable is valid if zxAnEquipSysAutoSwapEnable is set to 
            enable(1)."
        DEFVAL { 5 }            
        ::= { zxAnEquipSysMgmt 14 }
        
        
--------------------------------------------------------------------------------
-- Equipment Monitor 
--------------------------------------------------------------------------------
    
    zxAnCardWatchdogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnCardWatchdogEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Watchdog function table."
        ::= { zxAnEquipMonitorObjects 2 }

    zxAnCardWatchdogEntry OBJECT-TYPE
        SYNTAX     ZxAnCardWatchdogEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Watchdog function entry."
        INDEX      { zxAnRackNo, zxAnShelfNo, zxAnSlotNo }
        ::= { zxAnCardWatchdogTable 1 }

    ZxAnCardWatchdogEntry ::= SEQUENCE {
        zxAnCardHardwareWatchdogEnable    INTEGER,
        zxAnCardTaskSuspendCardResetMode  INTEGER,
        zxAnCardSoftwareWatchdogEnable    INTEGER,
        zxAnCardTaskDurationThreshold     Integer32,
        zxAnCardTaskCpuUsageThreshold     Integer32
    }
        
    zxAnCardHardwareWatchdogEnable  OBJECT-TYPE
        SYNTAX          INTEGER
            {
             enabled(1),
             disabled(2)
            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Enables or disables the card reset when cpu is hanged."
        DEFVAL { disabled }
        ::=  {  zxAnCardWatchdogEntry  1  }
        
    zxAnCardTaskSuspendCardResetMode    OBJECT-TYPE
        SYNTAX          INTEGER
            {
             notReset(1),
             allTask(2),
             criticalTask(3)
            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Card reset mode when task suspended.
            notReset(1)       -- not reset card when task suspended.
            allTask(2)        -- reset card when all the task suspended.
            criticalTask(3)   -- reset card only when critical task suspended.
            "
        DEFVAL { notReset }
        ::=  {  zxAnCardWatchdogEntry  2  }
        
    zxAnCardSoftwareWatchdogEnable  OBJECT-TYPE
        SYNTAX          INTEGER
            {
             enabled(1),
             disabled(2)
            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Enables or disables the card reset when the task 
            duration exceed zxAnCardTaskDurationThreshold and the task CPU usage 
            exceed zxAnCardTaskCpuUsageThreshold.
            When this value is enabled,zxAnCardTaskDurationThreshold and
            zxAnCardTaskCpuUsageThreshold are valid."
        DEFVAL { disabled }
        ::=  {  zxAnCardWatchdogEntry  3  }
    
    zxAnCardTaskDurationThreshold   OBJECT-TYPE
        SYNTAX          Integer32(1..60)
        UNITS           "minutes"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Task duration threshold."
        DEFVAL { 5 }
        ::=  {  zxAnCardWatchdogEntry  4  }
    
    zxAnCardTaskCpuUsageThreshold   OBJECT-TYPE
        SYNTAX          Integer32(1..100)
        UNITS           "percent"   
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Task CPU usage threshold."
        DEFVAL { 75 }
        ::=  {  zxAnCardWatchdogEntry  5  }       

                      
--------------------------------------------------------------------------------
-- 15.definition of sysctrl traps.
--------------------------------------------------------------------------------
    zxAnEquipSysTrapGroup   OBJECT IDENTIFIER  ::= { zxAnEquipTrapObjects 1 }
    zxAnEquipCardTrapGroup  OBJECT IDENTIFIER  ::= { zxAnEquipTrapObjects 2 }
    zxAnEquipEnvTrapGroup   OBJECT IDENTIFIER  ::= { zxAnEquipTrapObjects 3 }
    zxAnEquipEnvExTrapGroup OBJECT IDENTIFIER  ::= { zxAnEquipTrapObjects 4 }
    
--------------------------------------------------------------------------------
-- 15.1 System Traps
--------------------------------------------------------------------------------

    zxAnEquipCtrlCardSwapped NOTIFICATION-TYPE
        OBJECTS { zxAnCardOperStatus,zxAnEquipSysLastSwapRequest }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCtrlCardSwapped trap indicates that the main control 
            card has swapped to slave card."
        ::= { zxAnEquipSysTrapGroup 2 }

    zxAnEquipBackupSynchFailed NOTIFICATION-TYPE
        STATUS  current
        DESCRIPTION
            "A zxAnEquipBackupSynchFailed trap indicates that the data synchronization 
            between main control card and standby card has failed."
        ::= { zxAnEquipSysTrapGroup 3 }  
        
    zxAnEquipCtrlCardSwapCleared NOTIFICATION-TYPE
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCtrlCardSwapCleared trap indicates that the main control 
            card swapped trap has cleared."
        ::= { zxAnEquipSysTrapGroup 6 }           


--------------------------------------------------------------------------------
-- 15.2 Card Traps
--------------------------------------------------------------------------------

    zxAnEquipCardUp NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            card has been online and come into inService status."
       ::= { zxAnEquipCardTrapGroup 1 }
       
    zxAnEquipCardDown NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            card has been offline or not work well again when it is running.
            NOTES: zxAnCardInvSn is not used here.It can be null.
            "
       ::= { zxAnEquipCardTrapGroup 2 }


    zxAnEquipCardDetectFailed NOTIFICATION-TYPE
        OBJECTS { zxAnCardActMainType, zxAnCardActType,zxAnCardStandbyStatus }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            card scanning of a card has process error."
       ::= { zxAnEquipCardTrapGroup 3 }
              
       
    zxAnEquipCardDetectSuccess NOTIFICATION-TYPE
        OBJECTS { zxAnCardActMainType, zxAnCardActType,zxAnCardStandbyStatus }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            card scanning error has process cleared."
       ::= { zxAnEquipCardTrapGroup 4 }
    
    
        
    zxAnEquipCardCpuLoadAlarm NOTIFICATION-TYPE
        OBJECTS { zxAnCardCpuLoad, zxAnCardCpuLoadThreshold }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            zxAnEquipCardCPULoad object of one card has exceeded the configured 
            threshhold value of zxAnCardCpuLoadThreshhold."
       ::= { zxAnEquipCardTrapGroup 6 }
    
    zxAnEquipCardCpuLoadAlarmCleard NOTIFICATION-TYPE
        OBJECTS { zxAnCardCpuLoad, zxAnCardCpuLoadThreshold }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            zxAnEquipCardCPULoad object of one card has less than the configured 
            threshhold value of zxAnCardCpuLoadThreshhold."
       ::= { zxAnEquipCardTrapGroup 7 }
              
    zxAnEquipCardMemoryOverLoad NOTIFICATION-TYPE
        OBJECTS { zxAnCardMemUsage, zxAnCardMemUsageThreshold }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            zxAnEquipCardMemUsage object of one card has exceeded the configured 
            threshhold value of zxAnCardMemUsageThreshhold."
       ::= { zxAnEquipCardTrapGroup 8 }
    
    zxAnEquipCardMemoryAlarmCleard NOTIFICATION-TYPE
        OBJECTS { zxAnCardMemUsage, zxAnCardMemUsageThreshold }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            zxAnEquipCardMemUsage object of one card has less than the configured 
            threshhold value of zxAnCardMemUsageThreshhold."
       ::= { zxAnEquipCardTrapGroup 9 }            



    zxAnEquipCardUpdateVersionFailed NOTIFICATION-TYPE
        OBJECTS { zxAnSwManualUpdateStatus,zxAnSwManualFailedReason  }
        STATUS  current
        DESCRIPTION
            "It indicates that the Card has failed to update version.  "
       ::= { zxAnEquipCardTrapGroup 10 }       



    zxAnEquipCardUpdateVerSuccess NOTIFICATION-TYPE
        OBJECTS { zxAnSwManualUpdateStatus,zxAnSwManualFailedReason  }
        STATUS  current
        DESCRIPTION
            "It indicates that the Card has been success to update version. 
            NOTE:
              The variable zxAnSwManualFailedReason is only used by agent and it will
              not be used by manager because it is insignificant to manager.
             "
       ::= { zxAnEquipCardTrapGroup 11 } 


    
    zxAnEquipCardSvcCommFailed  NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardOperStatus }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            service communication of a card has occurred.
            
            NOTE:
              It is supported by MSAG5200 ONLY now.  2008-1-8 
              "
       ::= { zxAnEquipCardTrapGroup 12 }             


    zxAnEquipCardSvcCommSuccess  NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardOperStatus }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            service communication error of a card has cleared.
            
            NOTE:
              It is supported by MSAG5200 ONLY now.  2008-1-8 
              "
       ::= { zxAnEquipCardTrapGroup 13 }


    zxAnEquipCardCpldInvalid  NOTIFICATION-TYPE
        OBJECTS { zxAnCardCpldUpdateStatus }
        STATUS  current
        DESCRIPTION
            "It indicates that the CPLD is invalid due to update failure. 
              "
       ::= { zxAnEquipCardTrapGroup 14 }


    zxAnEquipCardSwNotRunning NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCardSwNotRunning trap is sent when the agent has 
            detected that the card has plugged in and configured, but software
            is not running and zxAnCardOperStatus is hwonline."
       ::= { zxAnEquipCardTrapGroup 15 }
       
    zxAnEquipCardSwNotRunningRestore NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCardSwNotRunningRestore trap is sent when the agent
             has detected that the card is inservice.
            "
       ::= { zxAnEquipCardTrapGroup 16 }
       
    zxAnEquipCardOffline NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCardOffline trap is sent when the agent
             has detected that the configured card has plugged out."
       ::= { zxAnEquipCardTrapGroup 17 }
       
    zxAnEquipCardOnline NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCardOnline trap is sent when the agent
             has detected that the configured card has plugged in."
       ::= { zxAnEquipCardTrapGroup 18 }
       
    zxAnEquipCardTypeMismatch NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCardTypeMismatch trap is sent when the agent
             has detected that the card has plugged in ,but 
             zxAnCardConfMainType is not same as zxAnCardActType."
       ::= { zxAnEquipCardTrapGroup 19 }
       
    zxAnEquipCardTypeMismatchRestore NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCardTypeMismatchRestore trap is sent when the agent
             has detected that the card has plugged in and 
             zxAnCardConfMainType is same as zxAnCardActType.
            "
       ::= { zxAnEquipCardTrapGroup 20 }
       
    zxAnEquipCardNotConfigured NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
           "A zxAnEquipCardNotConfigured trap is sent when the agent
             has detected that the card has plugged in but 
             not configured."
       ::= { zxAnEquipCardTrapGroup 21 }
       
    zxAnEquipCardConfigured NOTIFICATION-TYPE
        OBJECTS { zxAnCardConfMainType,zxAnCardActMainType,zxAnCardActType,
                  zxAnCardAdminStatus, zxAnCardOperStatus,zxAnCardInvSn }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCardConfigured trap is sent when the agent
             has detected that the card has plugged in and 
              configured.
            "
       ::= { zxAnEquipCardTrapGroup 22 }
       
    zxAnEquipCardNotSupportedAlm NOTIFICATION-TYPE
        OBJECTS { zxAnCardOperStatus }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCardNotSupportedAlm trap is sent when the agent
             has detected that the card plugged in is not supported.
            "
       ::= { zxAnEquipCardTrapGroup 23 }       
   
    zxAnEquipCardNotSupportedClr NOTIFICATION-TYPE
        OBJECTS { zxAnCardOperStatus }
        STATUS  current
        DESCRIPTION
            "A zxAnEquipCardNotSupportedClr trap is sent when the agent
             has detected that the card which not supported is pulled out.
            "
       ::= { zxAnEquipCardTrapGroup 24 }

  zxAnEquipSubCardUp NOTIFICATION-TYPE
      OBJECTS { zxAnSubCardCfgMainType,zxAnSubCardActMainType,zxAnSubCardActType,
                zxAnSubCardAdminStatus, zxAnSubCardOperStatus,zxAnSubcardInvSn }
      STATUS  current
      DESCRIPTION
          "It indicates that the agent has detected that the
          subcard has been online and come into inService status."
     ::= { zxAnEquipCardTrapGroup 30 }
       
    zxAnEquipSubCardDown NOTIFICATION-TYPE
        OBJECTS { zxAnSubCardCfgMainType,zxAnSubCardActMainType,zxAnSubCardActType,
                  zxAnSubCardAdminStatus, zxAnSubCardOperStatus,zxAnSubcardInvSn }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            subcard has been offline or not work well when it is running."
       ::= { zxAnEquipCardTrapGroup 31 }

    zxAnEquipSubcardCpldInvalid  NOTIFICATION-TYPE
        OBJECTS { zxAnsubcardCpldUpdateStatus }
        STATUS  current
        DESCRIPTION
            "It indicates that the CPLD is invalid due to update failure. 
              "
       ::= { zxAnEquipCardTrapGroup 32 }
       

    zxAnPowerSupplyCardHardwareFault NOTIFICATION-TYPE
        OBJECTS { zxAnPowerSupplyCardPreviousType,
                  zxAnPowerSupplyCardCurrentType }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
            power supply card hardware fault happened."
       ::= { zxAnEquipCardTrapGroup 33 }    


              

--------------------------------------------------------------------------------
-- 15.3 Env Traps
--------------------------------------------------------------------------------
    zxAnEnvTempExceededTrap NOTIFICATION-TYPE
        OBJECTS { zxAnEnvTemperature,  zxAnEnvTemperatureAlarmThreshold }
        STATUS             current
        DESCRIPTION
           "The temperature inside the chassis has exceeded
            normal operating temperature zxAnEnvTemperatureAlarmThreshold. 
            The zxAnEnvTemperature object identifies the current status."
       ::= { zxAnEquipEnvTrapGroup 1 }            

    zxAnEnvTempNormalTrap NOTIFICATION-TYPE
        OBJECTS { zxAnEnvTemperature,  zxAnEnvTemperatureAlarmThreshold }
        STATUS             current
        DESCRIPTION
           "The temperature inside the chassis has returned to
            normal operating temperature zxAnEnvTemperatureAlarmThreshold. 
            The zxAnEnvTemperature object identifies the current status."
       ::= { zxAnEquipEnvTrapGroup 2 } 

       
    zxAnEnvMonitorInterfaceLinkDown NOTIFICATION-TYPE
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
             link at the enviroment monitoring inerface has been down."
       ::= { zxAnEquipEnvTrapGroup 3 }
    
       
    zxAnEnvMonitorInterfaceLinkUp NOTIFICATION-TYPE
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
             link at the enviroment monitoring inerface has been up."
       ::= { zxAnEquipEnvTrapGroup 4 }              



   zxAnEnvFanLinkDown NOTIFICATION-TYPE
       OBJECTS { zxAnEnvFanOnlineStatus }
       STATUS  current
       DESCRIPTION
           "It indicates that the agent has detected that fan is offline."
      ::= { zxAnEquipEnvTrapGroup 5 }
    
   zxAnEnvFanLinkUp NOTIFICATION-TYPE
       OBJECTS { zxAnEnvFanOnlineStatus }
       STATUS  current
       DESCRIPTION
           "It indicates that the agent has detected that fan is online."
      ::= { zxAnEquipEnvTrapGroup 6 }   
   

    zxAnEnvTemperatureSensorFault NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "It indicates that the temperature sensor is in fault."
      ::= { zxAnEquipEnvTrapGroup 7 }   
                           

    zxAnEnvFanFault NOTIFICATION-TYPE
       OBJECTS { zxAnEnvFanOperStatus }
       STATUS  current
       DESCRIPTION
           "It indicates that the fan is in fault."
      ::= { zxAnEquipEnvTrapGroup 8 }   
                           

    zxAnEnvFanFaultCleard NOTIFICATION-TYPE
       OBJECTS { zxAnEnvFanOperStatus }
       STATUS  current
       DESCRIPTION
           "It indicates that the fan's fault is cleared."
      ::= { zxAnEquipEnvTrapGroup 9 }   


    zxAnEnvDustCapDown NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "It indicates that the dust cap is up."
      ::= { zxAnEquipEnvTrapGroup 10 }   


    zxAnEnvDustCapUp NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "It indicates that the dust cap is down."
      ::= { zxAnEquipEnvTrapGroup 11 } 
            
    zxAnEnvPowerSupplyDwon NOTIFICATION-TYPE
       OBJECTS      { zxAnPowerSupplyOperState }
       STATUS  current
       DESCRIPTION
           "It indicates that the power supply module is down."
      ::= { zxAnEquipEnvTrapGroup 12 }   

    zxAnEnvPowerSupplyUp NOTIFICATION-TYPE
       OBJECTS      { zxAnPowerSupplyOperState }
       STATUS  current
       DESCRIPTION
           "It indicates that the power supply module is up."
      ::= { zxAnEquipEnvTrapGroup 13 } 
      
        
    zxAnEnvMPTempExceededTrap NOTIFICATION-TYPE
        OBJECTS { zxAnMPTemperature,  zxAnMPTemperatureAlarmThreshold }
        STATUS             current
        DESCRIPTION
           "The temperature inside the MP has exceeded
            normal operating temperature zxAnMPTemperatureAlarmThreshold. 
            The zxAnEnvTemperature object identifies the current status."
       ::= { zxAnEquipEnvTrapGroup 14 }            

    zxAnEnvMPTempNormalTrap NOTIFICATION-TYPE
        OBJECTS { zxAnMPTemperature,  zxAnMPTemperatureAlarmThreshold }
        STATUS             current
        DESCRIPTION
           "The temperature inside the MP has returned to
            normal operating temperature zxAnMPTemperatureAlarmThreshold. 
            The zxAnEnvTemperature object identifies the current status."
       ::= { zxAnEquipEnvTrapGroup 15 } 
       
    zxAnEnvFanInterfaceLinkDown NOTIFICATION-TYPE
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
             link at the fan card inerface has been down."
       ::= { zxAnEquipEnvTrapGroup 16 }
    
       
    zxAnEnvFanInterfaceLinkUp NOTIFICATION-TYPE
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
             link at the fan card inerface has been up."
       ::= { zxAnEquipEnvTrapGroup 17 }     

--- Power Supply Alarm

    zxAnEnvPowerOverVoltage  NOTIFICATION-TYPE
       OBJECTS      { zxAnPowerSupplyInVoltage,zxAnPowerInVoltageUpperThresh }
       STATUS  current
       DESCRIPTION
           "It indicates that the input voltage of power supply is over-voltage."
      ::= { zxAnEquipEnvTrapGroup 18 }   


    zxAnEnvPowerOverVoltageCleard  NOTIFICATION-TYPE
       OBJECTS      { zxAnPowerSupplyInVoltage,zxAnPowerInVoltageUpperThresh }
       STATUS  current
       DESCRIPTION
           "It indicates that the over-voltage fault is cleared."
      ::= { zxAnEquipEnvTrapGroup 19 }


    zxAnEnvPowerUnderVoltage  NOTIFICATION-TYPE
       OBJECTS      { zxAnPowerSupplyInVoltage,zxAnPowerInVoltageLowerThresh }
       STATUS  current
       DESCRIPTION
           "It indicates that the input voltage of power supply is under-voltage."
      ::= { zxAnEquipEnvTrapGroup 20 }   


    zxAnEnvPowerUnderVoltageCleard   NOTIFICATION-TYPE
       OBJECTS      { zxAnPowerSupplyInVoltage,zxAnPowerInVoltageLowerThresh }
       STATUS  current
       DESCRIPTION
           "It indicates that the under-voltage fault is cleared."
      ::= { zxAnEquipEnvTrapGroup 21 }   
      
    zxAnEnvPowerOff  NOTIFICATION-TYPE
       OBJECTS      { zxAnPowerSupplyInVoltageStatus }
       STATUS  current
       DESCRIPTION
           "It indicates that the  power supply is off."
      ::= { zxAnEquipEnvTrapGroup 22 }  
      
    zxAnEnvPowerUp   NOTIFICATION-TYPE
       OBJECTS      { zxAnPowerSupplyInVoltageStatus }
       STATUS  current
       DESCRIPTION
           "It indicates that the power supply off fault is cleared."
      ::= { zxAnEquipEnvTrapGroup 23 }        


--- Card Temperature Alarm
      
    zxAnEnvCardOverTemperature NOTIFICATION-TYPE
        OBJECTS { zxAnEnvCardTemperature,  zxAnMPTemperatureAlarmThreshold }
        STATUS             current
        DESCRIPTION
           "The card temperature inside the chassis has exceeded
            normal operating temperature zxAnMPTemperatureAlarmThreshold."
       ::= { zxAnEquipEnvTrapGroup 24 }  
       
    zxAnEnvCardOverTemperatureCleard   NOTIFICATION-TYPE
       OBJECTS      { zxAnEnvCardTemperature,zxAnMPTemperatureAlarmThreshold }
       STATUS  current
       DESCRIPTION
           "It indicates that card over-temperature fault is cleared."
      ::= { zxAnEquipEnvTrapGroup 25 }      
 
--- Lower Fan Link down
 
   zxAnEnvLowerFanBoardLinkDown NOTIFICATION-TYPE
        STATUS             current
        DESCRIPTION
           "The Lower Fan Board Link Down."
       ::= { zxAnEquipEnvTrapGroup 26 }  
       
    zxAnEnvLowerFanBoardLinkUp   NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "It indicates that the Lower Fan Board link up."
      ::= { zxAnEquipEnvTrapGroup 27 }     
 
--- AC Power Down
 
   zxAnEnvAcMainsPowerOff       NOTIFICATION-TYPE
        STATUS             current
        DESCRIPTION
           "AC mains power off."
       ::= { zxAnEquipEnvTrapGroup 28 }  
       
   zxAnEnvAcMainsPowerOn  NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "AC mains power on."
      ::= { zxAnEquipEnvTrapGroup 29 }       
      
--- shutdown all GPON cards

    zxAnEnvGponCardsShutdown NOTIFICATION-TYPE
        OBJECTS {zxAnMPTemperature, zxAnMPTemperatureAlarmThreshold }
        STATUS             current
        DESCRIPTION
            "A zxAnEnvGponCardsShutdown trap is sent when the agent has 
            detected that the MP temperature is above threshold."
       ::= { zxAnEquipEnvTrapGroup 30 }  
       
    zxAnEnvGponCardsStartup   NOTIFICATION-TYPE
       OBJECTS {zxAnMPTemperature, zxAnMPTemperatureAlarmThreshold }
       STATUS  current
       DESCRIPTION
            "A zxAnEnvGponCardsStartup trap is sent when the agent has 
            detected that the MP temperature is below threshold."
      ::= { zxAnEquipEnvTrapGroup 31 }
      
--- shutdown card

    zxAnEnvCardHighTempShutdownAlm      NOTIFICATION-TYPE
        OBJECTS {zxAnEnvCardTemperature, zxAnEnvOverheatTmpThreshold }
        STATUS             current
        DESCRIPTION
            "A zxAnEnvCardHighTempShutdownAlm trap is sent when the agent has 
            detected that the card temperature is above threshold."
       ::= { zxAnEquipEnvTrapGroup 32 }  
       
    zxAnEnvCardHighTempShutdownClr      NOTIFICATION-TYPE
       OBJECTS {zxAnEnvCardTemperature, zxAnEnvOverheatTmpThreshold }
       STATUS  current
       DESCRIPTION
            "A zxAnEnvCardHighTempShutdownClr trap is sent when the card is
            been powered on."
      ::= { zxAnEquipEnvTrapGroup 33 }  
      
    zxAnEnvBroadbandOverheatHaltAlm      NOTIFICATION-TYPE
        OBJECTS {zxAnEnvTemperature, zxAnEnvOverheatTmpThreshold }
        STATUS             current
        DESCRIPTION
            "A zxAnEnvBroadbandOverheatHaltAlm trap is sent 
            when the agent has detected that the NE temperature 
            is above zxAnEnvOverheatTmpThreshold."
       ::= { zxAnEquipEnvTrapGroup 34 }  
       
    zxAnEnvBroadbandOverheatHaltClr      NOTIFICATION-TYPE
       OBJECTS {zxAnEnvTemperature, zxAnEnvOverheatTmpThreshold }
       STATUS  current
       DESCRIPTION
            "A zxAnEnvBroadbandOverheatHaltClr trap is sent 
            when the NE temperature is normal."
      ::= { zxAnEquipEnvTrapGroup 35 }
      
    zxAnBatteryEnergySavingBbHaltAlm NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "A zxAnBatteryEnergySavingBbHaltAlm trap is sent when the power 
           supply is battery which energy saving has been enabled."
      ::= { zxAnEquipEnvTrapGroup 36 }   

    zxAnBatteryEnergySavingBbHaltClr NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "A zxAnBatteryEnergySavingBbHaltClr trap is sent when the power 
           supply is AC mains or the battery energy saving has been disabled."
      ::= { zxAnEquipEnvTrapGroup 37 }
      
     zxAnEnvDeviceAbnormalAlm NOTIFICATION-TYPE
        OBJECTS {
            zxAnEnvDevMonSwitchDeviceId,
            zxAnEnvDevMonSwitchNormalStatus,
            zxAnEnvDevMonSwitchCurrStatus,
            zxAnEnvDeviceName
        }   
        STATUS      current
        DESCRIPTION
           "A zxAnEnvDeviceAbnormalAlm trap is sent when the current status 
           of environment device is inconsistent with normal status."
        ::= { zxAnEquipEnvTrapGroup 38 }

        zxAnEnvDeviceAbnormalClr NOTIFICATION-TYPE
        OBJECTS {
            zxAnEnvDevMonSwitchDeviceId,
            zxAnEnvDevMonSwitchNormalStatus,
            zxAnEnvDevMonSwitchCurrStatus,
            zxAnEnvDeviceName
        }    
        STATUS      current
        DESCRIPTION
           "A zxAnEnvDeviceAbnormalClr trap is sent when current status 
           of environment device is consistent with normal status."
        ::= { zxAnEquipEnvTrapGroup 39 }        
        
    zxAnEnvNoBatteryAlm NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "A zxAnEnvNoBatteryAlm trap is sent when no battery found by
           the agent."
      ::= { zxAnEquipEnvTrapGroup 40 }

    zxAnEnvNoBatteryClr NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "A zxAnEnvNoBatteryClr trap is sent when the battery has been found
           by the agent."
      ::= { zxAnEquipEnvTrapGroup 41 }

    zxAnEnvBatteryUnderVoltageAlm NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "A zxAnEnvBatteryUnderVoltageAlm trap is sent when the battery 
           voltage is under-voltage."
      ::= { zxAnEquipEnvTrapGroup 42 }

    zxAnEnvBatteryUnderVoltageClr NOTIFICATION-TYPE
       STATUS  current
       DESCRIPTION
           "A zxAnEnvBatteryUnderVoltageClr trap is sent when the battery 
           voltage becomes normal."
      ::= { zxAnEquipEnvTrapGroup 43 }        

--------------------------------------------------------------------------------
-- EnvEx Traps
--------------------------------------------------------------------------------

    zxAnEnvExTempExceededTrap NOTIFICATION-TYPE
        OBJECTS { zxAnRackNo, zxAnShelfNo, zxAnSlotNo, zxAnEnvExTemperature, zxAnEnvExTempAlarmThreshold }
        STATUS  current
        DESCRIPTION
           "The temperature inside the chassis has exceeded
            normal operating temperature zxAnEnvExTempAlarmThreshold. 
            The zxAnEnvExTemperature object identifies the current status."
       ::= { zxAnEquipEnvExTrapGroup 1 }            

    zxAnEnvExTempNormalTrap NOTIFICATION-TYPE
        OBJECTS { zxAnRackNo, zxAnShelfNo, zxAnSlotNo, zxAnEnvExTemperature, zxAnEnvExTempAlarmThreshold }
        STATUS  current
        DESCRIPTION
           "The temperature inside the chassis has returned to
            normal operating temperature zxAnEnvExTempAlarmThreshold. 
            The zxAnEnvExTemperature object identifies the current status."
       ::= { zxAnEquipEnvExTrapGroup 2 } 

    zxAnEnvExFanInterfaceLinkDown NOTIFICATION-TYPE
        OBJECTS { zxAnRackNo, zxAnShelfNo, zxAnSlotNo }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
             link at the fan card inerface has been down."
       ::= { zxAnEquipEnvExTrapGroup 3 }

    zxAnEnvExFanInterfaceLinkUp NOTIFICATION-TYPE
        OBJECTS { zxAnRackNo, zxAnShelfNo, zxAnSlotNo }
        STATUS  current
        DESCRIPTION
            "It indicates that the agent has detected that the
             link at the fan card inerface has been up."
       ::= { zxAnEquipEnvExTrapGroup 4 }   

    zxAnEnvExFanFault NOTIFICATION-TYPE
       OBJECTS { zxAnRackNo, zxAnShelfNo, zxAnSlotNo, zxAnFanExIndex, zxAnFanExOperStatus }
       STATUS   current
       DESCRIPTION
           "It indicates that the fan is in fault."
      ::= { zxAnEquipEnvExTrapGroup 5 }   

    zxAnEnvExFanFaultCleard NOTIFICATION-TYPE
       OBJECTS { zxAnRackNo, zxAnShelfNo, zxAnSlotNo, zxAnFanExIndex, zxAnFanExOperStatus }
       STATUS   current
       DESCRIPTION
           "It indicates that the fan's fault is cleared."
      ::= { zxAnEquipEnvExTrapGroup 6 }
      
--------------------------------------------------------------------------------
-- 16.Cpe Software updating management
-- Only is used by MSAGV3 DDN Modem
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- 16.1 Cpe Software Updateing Task Table
--------------------------------------------------------------------------------
    zxAnCpeSwUpdateTaskTable    OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnCpeSwUpdateTaskEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table is the CPE software update table."
        ::= { zxAnCpeSoftwareMgmt 1 }

    zxAnCpeSwUpdateTaskEntry OBJECT-TYPE
        SYNTAX      ZxAnCpeSwUpdateTaskEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "It is entry in the zxAnCpeSwUpdateTaskTable."
        INDEX   { zxAnCpeSwUpdateTaskId }
        ::= { zxAnCpeSwUpdateTaskTable 1 }
        
    ZxAnCpeSwUpdateTaskEntry ::=
        SEQUENCE {
            zxAnCpeSwUpdateTaskId                  DisplayString,
            zxAnCpeSwUpdateTaskCreateTime          DisplayString,
            zxAnCpeSwUpdateTaskDesc                DisplayString, 
            zxAnCpeSwUpdateTaskStatus              INTEGER,
            zxAnCpeSwUpdateTaskCpeCategory         DisplayString,
            zxAnCpeSwUpdateTaskAdminStatus         INTEGER,
            zxAnCpeSwUpdateTaskGranularity         INTEGER,
            zxAnCpeSwUpdateTaskObjList             OCTET STRING,
            zxAnCpeSwUpdateTaskCpeModel            DisplayString,
            zxAnCpeSwUpdateTaskCpeVersions         DisplayString,
            zxAnCpeSwUpdateTaskVerFileName         DisplayString,
            zxAnCpeSwUpdateTaskVerFileLoc          INTEGER,
            zxAnCpeSwUpdateTaskFtpDir              DisplayString,
            zxAnCpeSwUpdateTaskExpiration          DisplayString,
            zxAnCpeSwUpdateTaskAutoDelete          TruthValue,
            zxAnCpeSwUpdateTaskAutoUpdate          TruthValue,          
            zxAnCpeSwUpdateTaskRowStatus           RowStatus
        }
        
    zxAnCpeSwUpdateTaskId OBJECT-TYPE
        SYNTAX      DisplayString( SIZE ( 1 .. 32  ) )
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Name(unique) of CPEs software updating task and also for identifiying
         an entry in the table. e.g. 'F622-Version-Update'."
        ::= { zxAnCpeSwUpdateTaskEntry 1 }

    zxAnCpeSwUpdateTaskCreateTime OBJECT-TYPE
        SYNTAX      DisplayString( SIZE ( 1 .. 20  ) )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Create date of updating task."
        ::= { zxAnCpeSwUpdateTaskEntry 2 }
        
    zxAnCpeSwUpdateTaskDesc OBJECT-TYPE
        SYNTAX      DisplayString( SIZE ( 1 .. 64  ) )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Description of software updating task."
        ::= { zxAnCpeSwUpdateTaskEntry 3 }
        
    zxAnCpeSwUpdateTaskStatus OBJECT-TYPE
        SYNTAX    INTEGER{
                    completed(1),
                    executing(2),
                    aborted(3),
                    aborting(4),
                    abortFailed(5),
                    notStart(6),
                    startFailed(7)
                  } 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Status of software updaing task. 0xFFFF indicates status of 'NA'."
        ::= { zxAnCpeSwUpdateTaskEntry 4 }
        
    zxAnCpeSwUpdateTaskCpeCategory OBJECT-TYPE
        SYNTAX      DisplayString( SIZE ( 1 .. 32  ) )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Cpe category of software updating task. For example 'GPON ONT', 
         'EPON ONU', 'ADSL2+ Modem', 'VDSL2 Modem', Cpe category should be recognized by NE."
        ::= { zxAnCpeSwUpdateTaskEntry 5 }
        
        
    zxAnCpeSwUpdateTaskAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER{
                    downloadAndActive(1),
                    downloadOnly(2),
                    activeOnly(3),
                    deactiveOnly(4),
                    abort(5)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Admin status of software updating task. Auto update policy will be disabled when aborting the task."
        ::= { zxAnCpeSwUpdateTaskEntry 6 }
        
    zxAnCpeSwUpdateTaskGranularity OBJECT-TYPE
        SYNTAX      INTEGER{
                    ne(1),
                    shelf(2),
                    card(3),
                    olt(4),
                    onuOrPort(5),
                    slotOfOnu(6)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Granularity of updating task. Only 'ne', 'olt', 'onuOrPort' granularities are supported by GPON NEs."
        ::= { zxAnCpeSwUpdateTaskEntry 7 }
        
    zxAnCpeSwUpdateTaskObjList OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE (1024))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Update Object list of updating task and it has no meaning when 
         'zxAnCpeSwUpdateTaskObjectType' is setted as 'ne' granularity.  
         If 'zxAnCpeSwUpdateTaskObjectType' is setted as 'olt' granularity, 
         the first two octets indicates the olt number of the task, 
         and then each two octets indicates one olt index with from the third 
         octet of this attribure.
         If 'zxAnCpeSwUpdateTaskObjectType' is setted as 'onuOrPort' 
         granularity, the first two octets indicates the oun/port number and 
         onu/port cpn list will be followed, onu/port cpn in onu/port list 
         occupys six octets(rack|shelf|slot|port|onu|circuittype)."
        ::= { zxAnCpeSwUpdateTaskEntry 8 }      
      
    zxAnCpeSwUpdateTaskCpeModel OBJECT-TYPE
        SYNTAX      DisplayString( SIZE ( 1 .. 32  ) )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Cpe model of updating task, e.g. 'F622'. One and only one cpe model can be set here."
        ::= { zxAnCpeSwUpdateTaskEntry 9 }    
    
    zxAnCpeSwUpdateTaskCpeVersions OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Cpe versions of updating task. More than one version can be set by this attribute, and
        comma should be used as separator between two versions, e.g. 'v1.2,v3.4,v1.1.2'."
        ::= { zxAnCpeSwUpdateTaskEntry 10 }    
      
      
    zxAnCpeSwUpdateTaskVerFileName OBJECT-TYPE
        SYNTAX      DisplayString( SIZE ( 1 .. 64  ) )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Version file name of updating task."
        ::= { zxAnCpeSwUpdateTaskEntry 11 }    
        
    zxAnCpeSwUpdateTaskVerFileLoc OBJECT-TYPE
        SYNTAX      INTEGER{
                    ne(1),
                    ftpSvr(2)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Cpe version file location of updating task. 
        If location is from ftp server, Ftp server ipaddress user password are setted 
        by 'zxAnFtpVerServerIpAddress' 'zxAnFtpVerServerUserName' 'zxAnFtpVerServerUserPwd'."
        ::= { zxAnCpeSwUpdateTaskEntry 12 }   
            
    zxAnCpeSwUpdateTaskFtpDir OBJECT-TYPE
        SYNTAX      DisplayString( SIZE ( 1 .. 64 ) )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Ftp direction when version file location is from ftp server."
        ::= { zxAnCpeSwUpdateTaskEntry 13 }   
      
    zxAnCpeSwUpdateTaskExpiration OBJECT-TYPE
        SYNTAX      DisplayString( SIZE ( 1 .. 20  ) )
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "Expiration date of updating task. Both updating command and 
        auto updating policy will be disabled automatically when datetime running over this date."
        ::= { zxAnCpeSwUpdateTaskEntry 14 }    
      
    zxAnCpeSwUpdateTaskAutoDelete OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "If this attribute is true, task will be deleted by NE automatically when finishing updating. 
        'zxAnCpeSwUpdateTaskAutoUpdate' and this attribute can not set to 'true' 
        value at the same time."
        ::= { zxAnCpeSwUpdateTaskEntry 15 }    
      
    zxAnCpeSwUpdateTaskAutoUpdate OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "If this attribute is true, Software of cpe will be auto updated when its status is from down to up.
        'zxAnCpeSwUpdateTaskAutoDelete' and this attribure cat not set to 'true' value at the same time."
        ::= { zxAnCpeSwUpdateTaskEntry 16 }   
        
    zxAnCpeSwUpdateTaskRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
        "This attribute is used to 'create','delete' task."
        ::= { zxAnCpeSwUpdateTaskEntry 25 }

--------------------------------------------------------------------------------
-- 16.2 Cpe Software Updateing Task Statistics Table
--------------------------------------------------------------------------------
    zxAnCpeSwUpdateTaskStatTable    OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnCpeSwUpdateTaskStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table indicates the interface to query statistics of software updating task."
        ::= { zxAnCpeSoftwareMgmt 2 }

    zxAnCpeSwUpdateTaskStatEntry OBJECT-TYPE
        SYNTAX      ZxAnCpeSwUpdateTaskStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "It is entry in the zxAnCpeSwUpdateTaskStatEntry."
        INDEX   { zxAnCpeSwUpdateTaskId }
        ::= { zxAnCpeSwUpdateTaskStatTable 1 }
        
    ZxAnCpeSwUpdateTaskStatEntry ::=
        SEQUENCE {
            zxAnCpeSwUpateTotals               Unsigned32,           
            zxAnCpeSwUpdateSucceeds            Unsigned32,
            zxAnCpeSwUpdatings                 Unsigned32,
            zxAnCpeSwUpdateFails               Unsigned32,
            zxAnCpeSwAutoUpdateSucceeds        Unsigned32
        }
         
    zxAnCpeSwUpateTotals OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Total count of cpe in the task."
        ::= { zxAnCpeSwUpdateTaskStatEntry 1 }   
      
    zxAnCpeSwUpdateSucceeds OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Count of successfully updated cpe and those updated by auto update policy are included in this count."
        ::= { zxAnCpeSwUpdateTaskStatEntry 2 }   
      
      
    zxAnCpeSwUpdatings OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Count of updating cpe."
        ::= { zxAnCpeSwUpdateTaskStatEntry 3 }   
        
    zxAnCpeSwUpdateFails OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Count of failed updated cpe and those updated failed by auto update policy are included in this count."
        ::= { zxAnCpeSwUpdateTaskStatEntry 4 }   
        
    zxAnCpeSwAutoUpdateSucceeds OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Count of successfully updated cpe by auto update policy."
        ::= { zxAnCpeSwUpdateTaskStatEntry 5 }   


--------------------------------------------------------------------------------
-- 16.3 Cpe Software Updateing Failed Table
--------------------------------------------------------------------------------
    zxAnCpeSwUpdateTaskFailedTable    OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnCpeSwUpdateTaskFailedEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table is for querying failed CPEs of software updating task."
        ::= { zxAnCpeSoftwareMgmt 3 }

    zxAnCpeSwUpdateTaskFailedEntry OBJECT-TYPE
        SYNTAX      ZxAnCpeSwUpdateTaskFailedEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "It is entry in the zxAnCpeSwUpdateFailedTable."
        INDEX       { zxAnCpeSwUpdateTaskId, zxAnCpeSwRackNo, zxAnCpeSwShelfNo,
                      zxAnCpeSwSlotNo, zxAnCpeSwPortNo, zxAnCpeSwOnuNo,
                      zxAnCpeSwCircuitType }
        ::= { zxAnCpeSwUpdateTaskFailedTable 1 }
        
    ZxAnCpeSwUpdateTaskFailedEntry ::=
        SEQUENCE {
            zxAnCpeSwRackNo                                 Integer32,
            zxAnCpeSwShelfNo                                Integer32,
            zxAnCpeSwSlotNo                                 Integer32,
            zxAnCpeSwPortNo                                 Integer32,            
            zxAnCpeSwOnuNo                                  Integer32,
            zxAnCpeSwCircuitType                            INTEGER,
            zxAnCpeSwUpdateTaskFailCpeName                  OCTET STRING,
            zxAnCpeSwUpdateTaskFailReason                   INTEGER  
        }
        
    zxAnCpeSwRackNo     OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This object indicates the rack number."
        ::= { zxAnCpeSwUpdateTaskFailedEntry 1 }   
          
    zxAnCpeSwShelfNo    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This object indicates the shelf number."
        ::= { zxAnCpeSwUpdateTaskFailedEntry 2 }         
        
    zxAnCpeSwSlotNo     OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This object indicates the slot number."
        ::= { zxAnCpeSwUpdateTaskFailedEntry 3 }     
        
    zxAnCpeSwPortNo     OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This object indicates the physical port number."
        ::= { zxAnCpeSwUpdateTaskFailedEntry 4 }     
                
    zxAnCpeSwOnuNo      OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "When zxAnCpeSwCircuitType are 'onu' or 'gemportOrLlid' or
                     'servicePort' this object indicates 'onu ID'.
                     When zxAnCpeSwCircuitType are 'physicalPort' or
                     'bridgePort' its value is '0'."
        ::= { zxAnCpeSwUpdateTaskFailedEntry 5 }                  
    
    zxAnCpeSwCircuitType  OBJECT-TYPE
        SYNTAX      INTEGER        
        {    
            physicalPort(1),  
            bridgePort(2), 
            onu(3),
            gemportOrLlid(4),   
            servicePort(11)                    
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This object indicates the type of port. "
        ::= { zxAnCpeSwUpdateTaskFailedEntry 6 }
        
    zxAnCpeSwUpdateTaskFailCpeName OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE (64))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Name of the failed updated cpe."
        ::= { zxAnCpeSwUpdateTaskFailedEntry 7 }   
            
    zxAnCpeSwUpdateTaskFailReason OBJECT-TYPE
        SYNTAX      INTEGER{
                      none(1),
                      downloadFailed(2),
                      commitFailed(3),
                      activateFailed(4),
                      crcFailed(5),
                      validFailed(6),
                      userAborted(7)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Failed reason of software updating."
        REFERENCE "G.983.2 section 7.1.7 Software image" 
        ::= { zxAnCpeSwUpdateTaskFailedEntry 8 }  
  
  
--------------------------------------------------------------------------------
-- 16.4 Cpe Software Status Table
--------------------------------------------------------------------------------
  zxAnCpeSwStatusTable    OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnCpeSwStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table is cpe software status table, software updating status 
             is included in it."
        ::= { zxAnCpeSoftwareMgmt 4 }

    zxAnCpeSwStatusEntry OBJECT-TYPE
        SYNTAX      ZxAnCpeSwStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "It is entry in the zxAnCpeSwStatusTable."
        INDEX   { zxAnCpeSwRackNo, zxAnCpeSwShelfNo, zxAnCpeSwSlotNo, 
                  zxAnCpeSwPortNo, zxAnCpeSwOnuNo, zxAnCpeSwCircuitType }
        ::= { zxAnCpeSwStatusTable 1 }
        
    ZxAnCpeSwStatusEntry ::=
        SEQUENCE {
            zxAnCpeSwCpeName                DisplayString,
            zxAnCpeSwUpdateStatus           INTEGER,
            zxAnCpeSwUpdateFailReason       INTEGER,
            zxAnCpeSwUpdateProgress         INTEGER,
            zxAnCpeSwCurrVer                DisplayString,
            zxAnCpeSwCurrVerBuildTime       DisplayString,
            zxAnCpeSwUpdatingVer            DisplayString,
            zxAnCpeSwUpdatingVerBuildTime   DisplayString,
            zxAnCpeSwVendorId               DisplayString,
            zxAnCpeSwProductId              DisplayString

        }     
        
    zxAnCpeSwCpeName OBJECT-TYPE
        SYNTAX      DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The name of cpe."
        ::= { zxAnCpeSwStatusEntry 1 }   

    zxAnCpeSwUpdateStatus OBJECT-TYPE
        SYNTAX      INTEGER{
                    notStart(1),
                    failed(2),
                    downloading(3),
                    commiting(4),
                    activating(5),
                    completed(6)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Status of cpe software update. 0xFFFF indicates status of 'NA'."
        REFERENCE   "G.983.2 section 7.1.7 Software image"
        ::= { zxAnCpeSwStatusEntry 2 }

    zxAnCpeSwUpdateFailReason OBJECT-TYPE
        SYNTAX      INTEGER{
                    none(1),
                    downloadFailed(2),
                    commitFailed(3),
                    activateFailed(4),
                    crcFailed(5),
                    validFailed(6),
                    userAborted(7)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The failed reason cpe software update."
        REFERENCE   "G.983.2 section 7.1.7 Software image"
        ::= { zxAnCpeSwStatusEntry 3 }

    zxAnCpeSwUpdateProgress OBJECT-TYPE
        SYNTAX      INTEGER(0..100)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Progress of cpe software update."
        REFERENCE   "G.983.2 section 7.1.7 Software image"
        ::= { zxAnCpeSwStatusEntry 4 }

    zxAnCpeSwCurrVer OBJECT-TYPE
        SYNTAX      DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The version No. of the software current used."
        REFERENCE   "G.983.2 section 7.1.7 Software image"
        ::= { zxAnCpeSwStatusEntry 5 }

    zxAnCpeSwCurrVerBuildTime OBJECT-TYPE
        SYNTAX      DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The build time of the software current used."
        REFERENCE   "G.983.2 section 7.1.7 Software image"
        ::= { zxAnCpeSwStatusEntry 6 }
        
        
    zxAnCpeSwUpdatingVer OBJECT-TYPE
        SYNTAX      DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The version No. of the software updating."
        REFERENCE   "G.983.2 section 7.1.7 Software image"
        ::= { zxAnCpeSwStatusEntry 7 }

    zxAnCpeSwUpdatingVerBuildTime OBJECT-TYPE
        SYNTAX      DisplayString  ( SIZE ( 1 .. 20  ) )
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The build time of the software updating."
        REFERENCE   "G.983.2 section 7.1.7 Software image"
        ::= { zxAnCpeSwStatusEntry 8 }

    zxAnCpeSwVendorId OBJECT-TYPE
        SYNTAX      DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The vendor id of cpe."
        REFERENCE   "G.983.2 section 7.1.7 Software image"
        ::= { zxAnCpeSwStatusEntry 9 }
        
    zxAnCpeSwProductId OBJECT-TYPE
        SYNTAX      DisplayString  ( SIZE ( 1 .. 64  ) )
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The product id of cpe."
        ::= { zxAnCpeSwStatusEntry 10 }         

--------------------------------------------------------------------------------
-- 17.Auto Update Version Management
--------------------------------------------------------------------------------
    zxAnVerAutoUpdateBootUpdateEn OBJECT-TYPE 
        SYNTAX      INTEGER{
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "Enable or disable the boot update function."
        DEFVAL{disable}
        ::={zxAnVerAutoUpdateMgmt 1}

    zxAnVerAutoUpdateVerBackupEn OBJECT-TYPE 
        SYNTAX      INTEGER{
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "Enable or disable the version backup function."
        DEFVAL{enable}  
        ::={zxAnVerAutoUpdateMgmt 2}
        
    zxAnVerAutoUpdateVersionPath  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(1..64))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "The path defines the relative directory below the FTP user 
            directory, where the version file saved in the FTP Server."
        ::={zxAnVerAutoUpdateMgmt 3}
        
    zxAnVerAutoUpdateBackupPath  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(1..64))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "The path defines the relative directory below the FTP user 
            directory, where the backup file saved in the FTP Server."
        ::={zxAnVerAutoUpdateMgmt 4}

    zxAnVerAutoUpdateLogPath  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(1..64))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "The path defines the relative directory below the FTP user 
            directory, where the log file saved in the FTP Server."
        ::={zxAnVerAutoUpdateMgmt 5}

    zxAnVerAutoUpdateAction OBJECT-TYPE 
        SYNTAX      INTEGER{
                    start(1)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "The auto update action. 1 means to start the auto update progress."
        ::={zxAnVerAutoUpdateMgmt 6}

    zxAnVerAutoUpdateStatus OBJECT-TYPE
        SYNTAX      INTEGER{
                    notStarted(1),
                    updateStarting(2),
                    backingUpFile(3),
                    versionAnalyzing(4),
                    versionDownloading(5),
                    versionDownloadComplete(6),
                    masterSlaveSynchronizing(7),
                    masterSlaveSyncComplete(8),
                    bootUpdating(9),
                    bootUpdateComplete(10),
                    versionLoading(11),
                    updateSuccess(12),
                    readyToReboot(13),
                    updateFailed(255)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "This variable represents the auto update status."
        ::={zxAnVerAutoUpdateMgmt 7}

    zxAnVerAutoUpdateFailedReason OBJECT-TYPE
        SYNTAX      INTEGER{
                    backupDataFileError(1),
                    backupLogFileError(2),
                    backupConfigurationFileError(3),
                    backupVersionError(4),
                    analyzingConfigurationError(5),
                    analyzingVersionError(6),
                    diskFull(7),
                    downloadingVersionError(8),
                    masterSlaveSynchronizeError(9),
                    updateBootError(10),
                    loadingVersionError(11),
                    updateConflict(12),
                    unavailableServer(13),
                    otherError(255)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "This variable represents the failed reason."
        ::={zxAnVerAutoUpdateMgmt 8}
        
--------------------------------------------------------------------------------
-- 19.Equipment Global Objects
--------------------------------------------------------------------------------
    zxAnEquipGlobalObjects OBJECT IDENTIFIER ::= { zxAnEquipMib 3 }

    zxAnEquipCapabilities OBJECT-TYPE
        SYNTAX      BITS {
            equipmentAlias(0)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The equipment management capabilities of this equipment.
            The bit value 1 means the function represented by this bit is
            supported by this equipment.            
            bit 1: value 1 means supporting zxAnShelfAlias and zxAnCardAlias.
            NOTE: No recommended to display it in NMS."
        ::= {zxAnEquipGlobalObjects 1} 
        
--------------------------------------------------------------------------------
-- 21.Power Supply Card table
--------------------------------------------------------------------------------
    zxAnPowerSupplyCardTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnPowerSupplyCardEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Power supply card table."
        ::=  { zxAnChassisMgmt  6 }

    zxAnPowerSupplyCardEntry   OBJECT-TYPE
        SYNTAX      ZxAnPowerSupplyCardEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Power supply card entry."
        INDEX       {  zxAnRackNo, zxAnShelfNo, zxAnSlotNo  }
        ::=  { zxAnPowerSupplyCardTable 1 }

    ZxAnPowerSupplyCardEntry  ::=  SEQUENCE {
        zxAnPowerSupplyCardPreviousType         DisplayString,
        zxAnPowerSupplyCardCurrentType          DisplayString
        }
        
    zxAnPowerSupplyCardPreviousType     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 32  ) ) 
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION     "This object is the power supply card type on the slot 
        before hardware fault happened. Only used for C300M."
        ::=  {  zxAnPowerSupplyCardEntry  1  } 
        
    zxAnPowerSupplyCardCurrentType     OBJECT-TYPE 
        SYNTAX          DisplayString  ( SIZE ( 1 .. 32  ) ) 
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION     "This object is the power supply card type on the slot 
        after hardware fault happened. Only used for C300M."
        ::=  {  zxAnPowerSupplyCardEntry  2  }                    
END