
------------------------------------------------------------------------------- 
-- File Name : ZTE-AN-REMOTE-UNIT-MGMT-MIB.mib
-- Date      : 2010-08-26
-- Author    : ZTE Shanghai NMS Dept.
--
-- ZTE Remote Unit Software MIB for Access Node. 
-- 
------------------------------------------------------------------------------- 

ZTE-AN-REMOTE-UNIT-MGMT-MIB DEFINITIONS ::= BEGIN 

IMPORTS 
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    IpAddress, TimeTicks, Integer32, Counter32, 
    Gauge32, Counter64                              FROM SNMPv2-SMI
    RowStatus, TruthValue, DisplayString,
    TEXTUAL-CONVENTION                              FROM SNMPv2-TC
    SnmpAdminString                                 FROM SNMP-FRAMEWORK-MIB
    InetAddress,InetAddressType                     FROM INET-ADDRESS-MIB
    zxAn,ZxAnIfindex                                FROM ZTE-AN-TC-MIB; 
    
   zxAnRemoteUnitMgmtMib MODULE-IDENTITY
    LAST-UPDATED "201008261500Z"
    ORGANIZATION "ZTE Corporation"
    CONTACT-INFO "zhangzhikun
                  Mail: zhang.zhikun@zte.com.cn 
                  Tel : 021-68895557"
    DESCRIPTION  "The MIB module for the management of CPE ."
    ::= {zxAn 80}

------------------------------------------------------------------------------- 
-- Following management objects are defined.
-- 1. Remote Unit Software Management: Global Objects xFtpServer 
-- 2. Remote Unit Software Management: Global Objects Compatible
-- 3. Remote Unit Software Management: manual update Objects
-- 4. Remote Unit Software Management: update task table
-- 5. Remote Unit Software Management: task statistics table
-- 6. Remote Unit Software Management: update status table
-- 7. Remote Unit Software Management: Image table
-- 20.Remote Unit Software Management: Trap

-------------------------------------------------------------------------------    
zxAnRemoteUnitSoftware    OBJECT IDENTIFIER ::= {zxAnRemoteUnitMgmtMib 1}
   
    zxAnRuSwGlobalObjects   OBJECT IDENTIFIER   ::= { zxAnRemoteUnitSoftware 1 }
    zxAnRuSwObjects         OBJECT IDENTIFIER   ::= { zxAnRemoteUnitSoftware 2 }
    zxAnRuSwNotifications   OBJECT IDENTIFIER   ::= { zxAnRemoteUnitSoftware 20}

------------------------------------------------------------------------------- 
-- 1. Remote Unit Software Management: Global Objects xFtpServer 
-------------------------------------------------------------------------------           
    zxAnRuSwFtpServerObjects    OBJECT IDENTIFIER ::=  
        {zxAnRuSwGlobalObjects 1}
    
    zxAnRuSwFtpServerProtocolType    OBJECT-TYPE
        SYNTAX  INTEGER {
            ftp(1),
            sftp(2)
        }
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION
            "The FTP protocol when downloading versions between NE and RU.
             It includes two protocols: one is FTP, the other is SFTP." 
        DEFVAL  { ftp } 
        ::= {zxAnRuSwFtpServerObjects 1 }      
        
    zxAnRuSwFtpServerIpAddrType  OBJECT-TYPE 
        SYNTAX          InetAddressType 
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION     
            "The type of IP address. It includes IPv4 and IPv6." 
        ::= { zxAnRuSwFtpServerObjects 2 }
        
    zxAnRuSwFtpServerIpAddr  OBJECT-TYPE  
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION     
            "The IP address of FTP server."
        ::= { zxAnRuSwFtpServerObjects 3 }        

    zxAnRuSwFtpServerUserName    OBJECT-TYPE 
        SYNTAX          DisplayString (SIZE (1..32))
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION     
            "The FTP server user name." 
        ::= { zxAnRuSwFtpServerObjects 4 }

    zxAnRuSwFtpServerUserPassword    OBJECT-TYPE  
        SYNTAX          DisplayString (SIZE (0..32))
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION     
            "Tht FTP server user password."
        ::= { zxAnRuSwFtpServerObjects 5 }  

------------------------------------------------------------------------------- 
-- 2. Remote Unit Software Management: Global Objects Compatible
-------------------------------------------------------------------------------           
    zxAnRuCapabilities  OBJECT-TYPE
        SYNTAX  BITS {
              parallelLmtEnable(0)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION   
          "The Remote Unit compatibility.
           The bit value 1 means the function represented by this bit is 
           supported by this equipment.           
           ParallelLmtEnable(0): value 1 means supporting Parallel limit
                           
           NOTE: No recommended to display it in NMS." 
        ::=  {  zxAnRuSwGlobalObjects 100  }
                      
------------------------------------------------------------------------------
-- 3. Remote Unit Software Management: manual update Objects
------------------------------------------------------------------------------
    zxAnRuSwManualUpdateObjects OBJECT IDENTIFIER ::= {zxAnRuSwObjects 1} 
    
    zxAnRuSwManualUpdateList    OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (0..2048))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The Remote Unit list, each RU consists of 'ZxAnIfindex' or 
           private format." 
        ::= {zxAnRuSwManualUpdateObjects 1 }                                      
    
    zxAnRuSwManualUpdateAction    OBJECT-TYPE
        SYNTAX  INTEGER {
            update(1),          
            updateAndReboot(2), 
            activate(3),
            commit(4),
            abort(5),
            updateLinkup(6),
            updateAndCommit(7)                                              
        }
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION
            "The software version update action.
             Actions are defined as follows:
               1   update software version
               2   update software version and reboot the RU
               3   activate the software version
               4   commit software version
               5   abort software version
               6   Update software version first,when ONU online again,
                   activate and commit software version.
               7   Update and commit software version .
               "      
        ::= {zxAnRuSwManualUpdateObjects 6 }
            
    zxAnRuSwManualUpdateFileName   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (1..32))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "The version file name of the software."
        ::= { zxAnRuSwManualUpdateObjects 7 }
    
    zxAnRuSwManualUpdateLocate    OBJECT-TYPE
        SYNTAX  INTEGER {
            local(1),
            remote(2)         
        }
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION
            "The version file location. 
             It includes two locations: one is from local flash, the other is
             from xFTP server.
             "      
        ::= {zxAnRuSwManualUpdateObjects 8 }            

------------------------------------------------------------------------------- 
-- 4. Remote Unit Software Management: update task table
------------------------------------------------------------------------------- 
    zxAnRuSwUpdatingTaskTable   OBJECT-TYPE 
        SYNTAX      SEQUENCE OF ZxAnRuSwUpdatingTaskEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
           " Remote Unit software version update task configuration information 
             table. It will complete batch RU version upgrade of two scenarios, 
             one is online, the other is offline(automatic upgrade)."
        ::= { zxAnRuSwObjects 2 }

    zxAnRuSwUpdatingTaskEntry   OBJECT-TYPE 
        SYNTAX      ZxAnRuSwUpdatingTaskEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Remote Unit software version update task configuration information 
             entry."                      
        INDEX   { zxAnRuSwUpdatingTaskName }
        ::= { zxAnRuSwUpdatingTaskTable 1 } 

    ZxAnRuSwUpdatingTaskEntry ::= SEQUENCE {
        zxAnRuSwUpdatingTaskName             DisplayString, 
        zxAnRuSwUpdatingTaskDesc             DisplayString, 
        zxAnRuSwUpdatingTaskMode             INTEGER,        
        zxAnRuSwUpdatingTaskServiceType      DisplayString,
        zxAnRuSwUpdatingTaskVendor           DisplayString,
        zxAnRuSwUpdatingTaskEquipType        DisplayString,
        zxAnRuSwUpdatingTaskCrtrnType        INTEGER,
        zxAnRuSwUpdatingTaskCrtrnVer         DisplayString,                
        zxAnRuSwUpdatingTaskOperObjType      INTEGER,
        zxAnRuSwUpdatingTaskOperObjList      OCTET STRING,
        zxAnRuSwUpdatingTaskAction           INTEGER,
        zxAnRuSwUpdatingTaskFileName         DisplayString, 
        zxAnRuSwUpdatingTaskFileLocate      INTEGER,        
        zxAnRuSwUpdatingTaskStatus           INTEGER,
        zxAnRuSwUpdatingTaskRuAction         INTEGER,
        zxAnRuSwUpdatingTaskParallelLmt     Integer32,
        zxAnRuSwUpdatingTaskRowStatus        RowStatus        
        }
        
    zxAnRuSwUpdatingTaskName   OBJECT-TYPE  
        SYNTAX      DisplayString (SIZE (1..64))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "The task name of software version updating." 
        ::= { zxAnRuSwUpdatingTaskEntry 1 }  
        
    zxAnRuSwUpdatingTaskDesc   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (0..128))
        MAX-ACCESS  read-create 
        STATUS      current
        DESCRIPTION 
            "The task description."
        ::= { zxAnRuSwUpdatingTaskEntry 2 }                              
        
    zxAnRuSwUpdatingTaskMode   OBJECT-TYPE
        SYNTAX  INTEGER {
                    online(1),           
                    offline(2), 
                    both(3)                                      
        }
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The update mode of task.
             Mode is defined as follows:
               1   update software version to online RU
               2   update software version to offline RU
               3   updating software version  supports both online RU and
                   offline              
               "      
        DEFVAL  { both }
        ::= {zxAnRuSwUpdatingTaskEntry 3 }    
        
    zxAnRuSwUpdatingTaskServiceType   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (1..8)) 
        MAX-ACCESS  read-create 
        STATUS      current
        DESCRIPTION 
            "The Remote Unit service type such as 'GPON','EPON','ADSL2',
            'VDSL2' etc."
        ::= { zxAnRuSwUpdatingTaskEntry 4 }      
                
    zxAnRuSwUpdatingTaskVendor   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (1..20))
        MAX-ACCESS  read-create 
        STATUS      current
        DESCRIPTION 
            "The vendor of Remote Unit, such as 'zte', 'cisco' etc."
        DEFVAL  { "zte" }     
        ::= { zxAnRuSwUpdatingTaskEntry 5 }  
                        
    zxAnRuSwUpdatingTaskEquipType   OBJECT-TYPE  
        SYNTAX      DisplayString (SIZE (1..16))
        MAX-ACCESS  read-create 
        STATUS      current
        DESCRIPTION 
            "The Remote Unit equipment type such as 'F620', 'D420', 'F622' etc."            
        ::= { zxAnRuSwUpdatingTaskEntry 6 }          
        
    zxAnRuSwUpdatingTaskCrtrnType   OBJECT-TYPE 
        SYNTAX  INTEGER {
                    ignore(1),           
                    equal(2),
                    notEqual(3),
                    below(4),
                    upper(5)                    
        }
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The criterion type of the updating rule." 
        DEFVAL  { ignore }
        ::= {zxAnRuSwUpdatingTaskEntry 7 }             

    zxAnRuSwUpdatingTaskCrtrnVer   OBJECT-TYPE  
        SYNTAX      DisplayString (SIZE (0..16))
        MAX-ACCESS  read-create 
        STATUS      current
        DESCRIPTION 
            "The Remote Unit running version as the base to compare.
             The maximum byte size is 16 for EPON and 14 for GPON.
             when 'zxAnRuSwUpdatingTaskCrtrnType' is 'ignore', then the size
             of the value is zero."
        ::= { zxAnRuSwUpdatingTaskEntry 8 }                   
            
    zxAnRuSwUpdatingTaskOperObjType   OBJECT-TYPE
        SYNTAX  INTEGER {
                    ne(1),           
                    port(2)                     
        }
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The operation object type of task. 
             Type is defined as follows:
               1   update version according to ne
               2   update version according to port, port is defined as PON port 
                   for xPON equipment
               "      
        DEFVAL  { port }
        ::= {zxAnRuSwUpdatingTaskEntry 9 }                          
        
    zxAnRuSwUpdatingTaskOperObjList   OBJECT-TYPE 
        SYNTAX      OCTET STRING (SIZE (0..2048))
        MAX-ACCESS  read-create 
        STATUS      current
        DESCRIPTION 
            "The Remote Unit operation object list.
             This attribute is only valid for port level,if NE level then 
             size of the attribute is zero. 
             Object format is defined as follows:
             Remote Unit service type(1 byte) + slot count(1 byte)
                                      + rack No.(4 bits)
                                      + shelf No.(4 bits)
                                      + slot No.(1 byte)
                                      + port bitmap(n bytes)
             'port bitmap' uses a different format for different types of RU 
             service. For xPON, the 'port bitmap' is four bytes.             
             Remote Unit service type is defined as follows:
                 1  GPON
                 2  EPON
                 ...... 
             "
        ::= { zxAnRuSwUpdatingTaskEntry 10 }          
        
    zxAnRuSwUpdatingTaskAction   OBJECT-TYPE
        SYNTAX  INTEGER {
                    abort(1),
                    restart(2)                           
        }
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The action of the task." 
        ::= {zxAnRuSwUpdatingTaskEntry 11 }              

    zxAnRuSwUpdatingTaskFileName   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (1..32))
        MAX-ACCESS  read-create 
        STATUS      current
        DESCRIPTION 
            "The version file used to update." 
        ::= { zxAnRuSwUpdatingTaskEntry 12 }              
        
    zxAnRuSwUpdatingTaskFileLocate   OBJECT-TYPE 
        SYNTAX  INTEGER {
                    local(1),           
                    remote(2)                   
        }            
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The version file location. 
             It includes two ways, one is local way that file comes from NE, 
             the other is remote way that file comes from remote FTP server.
             "
        DEFVAL  { local }
        ::= {zxAnRuSwUpdatingTaskEntry 13 }              
        
    zxAnRuSwUpdatingTaskStatus   OBJECT-TYPE
        SYNTAX  INTEGER {
                    processing(1),           
                    aborted(2), 
                    finished(3)                                      
        }
        MAX-ACCESS      read-only
        STATUS          current 
        DESCRIPTION
            "The task status.
            "      
        ::= {zxAnRuSwUpdatingTaskEntry 14 }            
        
    zxAnRuSwUpdatingTaskRuAction   OBJECT-TYPE
        SYNTAX  INTEGER {
                    update(1),
                    updateAndReboot(2), 
                    reboot(3),
                    updateLinkup(4),
                    updateAndCommit(5)                    
        }
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The RU updating action of software version." 
        DEFVAL  { updateAndReboot }
        ::= {zxAnRuSwUpdatingTaskEntry 15 }              

    zxAnRuSwUpdatingTaskParallelLmt   OBJECT-TYPE
        SYNTAX       Integer32(0..1024)
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION 
            "The number of parallel limited in a task.
             Zero means no limit."
        DEFVAL  { 64 }
        ::= {zxAnRuSwUpdatingTaskEntry 16 }              
                                      
    zxAnRuSwUpdatingTaskRowStatus    OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The row status of this entry."
        ::= {zxAnRuSwUpdatingTaskEntry 30 }   
                       
------------------------------------------------------------------------------- 
-- 5. Remote Unit Software Management: task statistics table
-------------------------------------------------------------------------------   
   zxAnRuSwTaskStatTable   OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnRuSwTaskStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
           "RU software update task statistics information table."
        ::= { zxAnRuSwObjects 3 }

    zxAnRuSwTaskStatEntry   OBJECT-TYPE
        SYNTAX      ZxAnRuSwTaskStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "RU software update task statistics  information  entry."                      
        INDEX   { zxAnRuSwUpdatingTaskName }
        ::= { zxAnRuSwTaskStatTable 1 }

    ZxAnRuSwTaskStatEntry ::= SEQUENCE {       
        zxAnRuSwTaskStatsSuccesses  Integer32, 
        zxAnRuSwTaskStatsFailures   Integer32, 
        zxAnRuSwTaskStatsUpdatings  Integer32,
        zxAnRuSwTaskStatsWaitings   Integer32
        } 
                                              
    zxAnRuSwTaskStatsSuccesses   OBJECT-TYPE 
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION 
            "The successful RU count of updating in a task."
        ::= { zxAnRuSwTaskStatEntry 1 }  
        
    zxAnRuSwTaskStatsFailures   OBJECT-TYPE 
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION 
            "The failed RU count of updating in a task."
        ::= { zxAnRuSwTaskStatEntry 2 }  
                
    zxAnRuSwTaskStatsUpdatings   OBJECT-TYPE 
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION 
            "The RU count of updating in progress in a task." 
        ::= { zxAnRuSwTaskStatEntry 3 }           
           
    zxAnRuSwTaskStatsWaitings   OBJECT-TYPE 
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION 
            "The RU count of waiting in a task."
        ::= { zxAnRuSwTaskStatEntry 4 }           
           
------------------------------------------------------------------------------- 
-- 6. Remote Unit Software Management: update status table
-------------------------------------------------------------------------------   
   zxAnRuSwUpdateStatusTable   OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnRuSwUpdateStatusEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
           " RU software version update status configuration information 
             table.Each RU exists an item in this table,it records the 
             result of updating RU version last time.If RU version updating
             is in process then can get the updating percent by reading 
             this table."
        ::= { zxAnRuSwObjects 4 }

    zxAnRuSwUpdateStatusEntry   OBJECT-TYPE
        SYNTAX      ZxAnRuSwUpdateStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "RU software version updating status configuration information 
             entry. "                     
        INDEX   { zxAnRuSwRack,zxAnRuSwShelf, 
                  zxAnRuSwSlot,zxAnRuSwPort,
                  zxAnRuSwOnu }
        ::= { zxAnRuSwUpdateStatusTable 1 }

    ZxAnRuSwUpdateStatusEntry ::= SEQUENCE {
        zxAnRuSwRack                             Integer32, 
        zxAnRuSwShelf                            Integer32, 
        zxAnRuSwSlot                             Integer32, 
        zxAnRuSwPort                             Integer32, 
        zxAnRuSwOnu                              Integer32, 
        zxAnRuSwUpdateStatusServiceType          DisplayString,
        zxAnRuSwUpdateStatusEquipType            DisplayString,
        zxAnRuSwUpdateStatusFileName             DisplayString,
        zxAnRuSwUpdateStatusResult               INTEGER, 
        zxAnRuSwUpdateStatusFailReason           INTEGER, 
        zxAnRuSwUpdateStatusProgress             INTEGER, 
        zxAnRuSwUpdateStatusSource               INTEGER, 
        zxAnRuSwUpdateStatusTaskName             DisplayString,
        zxAnRuSwUpdateStatusModifyTime           DisplayString,
        zxAnRuSwUpdateStatusCurrVersion          DisplayString,
        zxAnRuSwUpdateStatusLastVersion          DisplayString      
        }

    zxAnRuSwRack    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The rack No."        
        ::= {zxAnRuSwUpdateStatusEntry 1 }
        
    zxAnRuSwShelf    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The shelf No."        
        ::= {zxAnRuSwUpdateStatusEntry 2 }        
        
    zxAnRuSwSlot    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The slot No."        
        ::= {zxAnRuSwUpdateStatusEntry 3 }     
        
    zxAnRuSwPort    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The port No."        
        ::= {zxAnRuSwUpdateStatusEntry 4 }     
        
    zxAnRuSwOnu    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The ONU No,it is only valid for xPON RU
             ,if RU isn't xPON equment then the value is zero. 
            "        
        ::= {zxAnRuSwUpdateStatusEntry 5 }     
                
    zxAnRuSwUpdateStatusServiceType   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (1..8)) 
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION 
            "The RU service type such as 'GPON', 'EPON', 'ADSL2',
            'VDSL2' etc. "              
        ::= { zxAnRuSwUpdateStatusEntry 6 }  
        
    zxAnRuSwUpdateStatusEquipType   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (1..16))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The RU equipment type such as 'F620', 'D420', 'F622' etc."
        ::= { zxAnRuSwUpdateStatusEntry 7 }       
        
    zxAnRuSwUpdateStatusFileName   OBJECT-TYPE         
        SYNTAX      DisplayString (SIZE (1..14))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The version file name."
        ::= { zxAnRuSwUpdateStatusEntry 8 }                
        
    zxAnRuSwUpdateStatusResult   OBJECT-TYPE
        SYNTAX  INTEGER {
                    notStarted(1),           
                    inProgress(2),
                    success(3), 
                    failure(4),
                    waiting(5)                    
        }
        MAX-ACCESS      read-only
        STATUS          current 
        DESCRIPTION
            "The result status of updating version."      
        ::= {zxAnRuSwUpdateStatusEntry 9 }     
        
    zxAnRuSwUpdateStatusFailReason   OBJECT-TYPE
        SYNTAX  INTEGER {
                  none(1),
                  downloadErr(2),
                  commitErr(3),
                  activateErr(4),
                  crcErr(5),
                  validErr(6),
                  useAbort(7),
                  offline(8),
                  rebootErr(9),
                  ruDeleted(10),
                  timeout(11),
                  notSupport(12)
        }
        MAX-ACCESS      read-only
        STATUS          current 
        DESCRIPTION
            "The failure reason of updating version."              
        ::= {zxAnRuSwUpdateStatusEntry 10 }        
            
    zxAnRuSwUpdateStatusProgress   OBJECT-TYPE
        SYNTAX          INTEGER(0..100) 
        MAX-ACCESS      read-only
        STATUS          current 
        DESCRIPTION
            "The percent of updating version."            
        ::= {zxAnRuSwUpdateStatusEntry 11 }                          
        
    zxAnRuSwUpdateStatusSource   OBJECT-TYPE
        SYNTAX  INTEGER {
                    task(1),            
                    manual(2)                                                   
        }
        MAX-ACCESS      read-only
        STATUS          current 
        DESCRIPTION
            "The source of updating version.
             It includes two ways, one is task updating, the other is 
             manual updating."               
        ::= {zxAnRuSwUpdateStatusEntry 12 }
              
    zxAnRuSwUpdateStatusTaskName   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The updating task name.
             When zxAnRuSwUpdateStatusSource is 'task' requires this attribute.
             When zxAnRuSwUpdateStatusFileLocate is 'manual' then the 
             size of the attribute is zero."
        ::= { zxAnRuSwUpdateStatusEntry 13 }      
                  
              
    zxAnRuSwUpdateStatusModifyTime   OBJECT-TYPE  
        SYNTAX      DisplayString (SIZE (1..19))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The last modification time.
             The format is yyyy-mm-dd HH:MM:SS.For example,
             2001-01-01 02:22:33 ."
        ::= { zxAnRuSwUpdateStatusEntry 14 }   
        
    zxAnRuSwUpdateStatusCurrVersion   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (1..14))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "This attribute identifies the now version of the software."
        ::= { zxAnRuSwUpdateStatusEntry 15 } 
        
    zxAnRuSwUpdateStatusLastVersion   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (1..14))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "This attribute identifies the old version of the software."
        ::= { zxAnRuSwUpdateStatusEntry 16 } 

------------------------------------------------------------------------------- 
-- 7. Remote Unit Software Management: Image table
-------------------------------------------------------------------------------   
   zxAnRuSwImageTable   OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnRuSwImageEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
           " RU software version information table.
             Usually,two instances of the software image managed entity are 
             contained in an instance of an RU or equipment managed entity 
             whose software is independently managed."
        ::= { zxAnRuSwObjects 5 }

    zxAnRuSwImageEntry   OBJECT-TYPE
        SYNTAX      ZxAnRuSwImageEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "RU software version information   entry."                      
        INDEX   { zxAnRuSwRack,zxAnRuSwShelf,zxAnRuSwSlot,
                  zxAnRuSwPort,zxAnRuSwOnu,zxAnRuSwImageIndex }
        ::= { zxAnRuSwImageTable 1 }

    ZxAnRuSwImageEntry ::= SEQUENCE {
        zxAnRuSwImageRack           Integer32,
        zxAnRuSwImageShelf          Integer32,
        zxAnRuSwImageSlot           Integer32,
        zxAnRuSwImagePort           Integer32,
        zxAnRuSwImageOnu            Integer32,
        zxAnRuSwImageIndex          INTEGER,
        zxAnRuSwImageVersion        DisplayString,
        zxAnRuSwImageStatus         BITS       
        }
        
    zxAnRuSwImageRack    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The rack No."        
        ::= {zxAnRuSwImageEntry 1 }
        
    zxAnRuSwImageShelf    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The shelf No."        
        ::= {zxAnRuSwImageEntry 2 }        
        
    zxAnRuSwImageSlot    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The slot No."        
        ::= {zxAnRuSwImageEntry 3 }    
        
    zxAnRuSwImagePort    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The port No."        
        ::= {zxAnRuSwImageEntry 4 }    
        
    zxAnRuSwImageOnu    OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The ONU No,it is only valid for xPON RU, 
             if RU isn't xPON equment then the value is zero."        
        ::= {zxAnRuSwImageEntry 5 }            
            
    zxAnRuSwImageIndex   OBJECT-TYPE 
        SYNTAX       INTEGER(1..65535)
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION 
            "This attribute provides a unique number for each instance of 
             this managed entity. The number consists of a two-byte field.
             The first field (MSB) identifies the ME  instance  
             (RU (value 0x00) or circuit pack slot (value 0x01-0xFF) 
             containing the associated software image ME. The second field
             (LSB) distinguishes between the two (redundant) software image
             ME instances (values 0x00 and 0x01)."
        ::= { zxAnRuSwImageEntry 6 }   
        
    zxAnRuSwImageVersion   OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (1..14))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "This attribute identifies the version of the software."
        ::= { zxAnRuSwImageEntry 7 }      
        
   zxAnRuSwImageStatus   OBJECT-TYPE         
        SYNTAX  BITS {
            isCommitted(0),
            isActive(1),
            isValid(2)          
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
           "Bit 0 indicates Whether the associated software image is 
                 'committed'(1) or 'uncommitted'(0). 
            Bit 1 indicates Whether the associated software image is 
                 'active'(1) or 'inactive'(0).
            Bit 2 indicates Whether the associated software image is 
                 'valid'(1) or 'invalid'(0)."                                        
        ::= { zxAnRuSwImageEntry 8 }                         
        
-------------------------------------------------------------------------------
-- 20.Remote Unit Software Management: Trap
-------------------------------------------------------------------------------        
    zxAnRuSwUpdatedTrap   NOTIFICATION-TYPE
        OBJECTS {
                 zxAnRuSwUpdateStatusServiceType,
                 zxAnRuSwUpdateStatusEquipType,
                 zxAnRuSwUpdateStatusFileName,
                 zxAnRuSwUpdateStatusResult,
                 zxAnRuSwUpdateStatusFailReason,
                 zxAnRuSwUpdateStatusSource,
                 zxAnRuSwUpdateStatusTaskName,         
                 zxAnRuSwUpdateStatusCurrVersion,
                 zxAnRuSwUpdateStatusLastVersion,
                 zxAnRuSwUpdateStatusModifyTime
                 }
        STATUS  current
        DESCRIPTION
            "A zxAnRuSwUpdatedTrap trap is sent when the
             version of RU software was updated."
        ::= { zxAnRuSwNotifications 1 }
END 