-- *****************************************************************
-- UBIQUOSS-10GEPON-SOFTWARE-MANAGEMENT-GROUP-MIB.my
--
-- Jul. 2013, Hangil Won   
--
-- Copyright (c) 2006 by Ubiquoss, Corp.
-- All rights reserved.
-- 
-- *****************************************************************

	UBIQUOSS-10GEPON-SOFTWARE-MANAGEMENT-GROUP-MIB DEFINITIONS ::= BEGIN
 
		IMPORTS
			ifIndex			
				FROM RFC1213-MIB						
			IpAddress, Integer32, OBJECT-TYPE, MODULE-IDENTITY			
				FROM SNMPv2-SMI			                                                    
			MacAddress, DisplayString			
				FROM SNMPv2-TC
			ubi10GEponGroupMIB		
				FROM UBQS-SMI 			
			ubiPortIndex
				FROM UBQS-INTERFACE-MIB;
	
	
		ubi10gSoftwareMIB MODULE-IDENTITY 
			LAST-UPDATED "201601072200Z"		
			ORGANIZATION 
				"Ubiquoss Inc."
			CONTACT-INFO 
				"Chair		: Hangil Won
							  Ubiquoss Inc.
				 Postal:	: 8F Ubiquoss B/D, 68, Pangyo-ro
				 			  255beon-gil, Bundang-gu, Seongnam-si,
				 			  Gyeonggi-do, 463-400, Republic of Korea							  
				 EMail: 	: hg88pro@ubiquoss.com"
			DESCRIPTION 
				"This MIB module defines epon software management information"
   			::= { ubi10GEponGroupMIB 6 }

	
	
--
-- Node definitions
--                      
	   ubi10gSoftwareMIBObjects	OBJECT IDENTIFIER ::= { ubi10gSoftwareMIB 1 } 

-- ***********************************************************
-- oltSoftwareInfoTable
-- ***********************************************************    
		olt10gSoftwareInfoTable OBJECT-TYPE
			SYNTAX SEQUENCE OF Olt10gSoftwareInfoEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"10g Olt software download"
			::= { ubi10gSoftwareMIBObjects 1 }  
			
		olt10gSoftwareInfoEntry OBJECT-TYPE
			SYNTAX Olt10gSoftwareInfoEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			INDEX { ubiPortIndex }
			::= { olt10gSoftwareInfoTable 1 }
		
		Olt10gSoftwareInfoEntry ::=
			SEQUENCE { 
				olt10gSwVersion
					DisplayString,
				olt10gHwVersion
					DisplayString  
			 }

		olt10gSwVersion OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..20))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Olt software version number (xx.xx.xx)"
			::= { olt10gSoftwareInfoEntry 1 }
		
	
		olt10gHwVersion OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..20))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Olt Hardware version number"
			::= { olt10gSoftwareInfoEntry 2 }                
			
-- ***********************************************************
-- onu10gSoftwareInfoTable
-- ***********************************************************   			
		onu10gSoftwareInfoTable OBJECT-TYPE
			SYNTAX SEQUENCE OF Onu10gSoftwareInfoEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				""
			::= { ubi10gSoftwareMIBObjects 2 } 
						               
		onu10gSoftwareInfoEntry OBJECT-TYPE
			SYNTAX Onu10gSoftwareInfoEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			INDEX { ubiPortIndex, onu10gId }
			::= { onu10gSoftwareInfoTable 1 }
		
		Onu10gSoftwareInfoEntry ::=
			SEQUENCE { 
				onu10gSwVersion
					DisplayString,
				onu10gHwVersion
					DisplayString
			 }
				
		onu10gSwVersion OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..20))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Onu software version number (xx.xx.xx)"
			::= { onu10gSoftwareInfoEntry 1 }
		
	
		onu10gHwVersion OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..20))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Onu Hardware version number"
			::= { onu10gSoftwareInfoEntry 2 }  
			                                      
-- ***********************************************************
-- softwareGroup
-- ***********************************************************
		reset10gOltId OBJECT-TYPE
			SYNTAX Integer32 
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"reset Olt Id"
			::= { ubi10gSoftwareMIBObjects 3 }      
			
		reset10gOnuId OBJECT-TYPE
			SYNTAX Integer32 (0..64)  
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION                                  
				"reset Onu Id"
			::= { ubi10gSoftwareMIBObjects 4 }  
		          
		reset10gOp OBJECT-TYPE
			SYNTAX INTEGER
				{
					normal(0),
					reset(1),
					resetWithInit(2)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"reset Operation"
			::= { ubi10gSoftwareMIBObjects 5 }	
			
		reset10gMacAddr OBJECT-TYPE
			SYNTAX MacAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"reset Mac addr"
			::= { ubi10gSoftwareMIBObjects 6 }
			
		reset10gMacOltId OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"reset Mac addr"
			::= { ubi10gSoftwareMIBObjects 7 } 
		
  		reset10gMacOp OBJECT-TYPE
			SYNTAX INTEGER
				{
					normal(0),
					reset(1),
					resetWithInit(2)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"reset Mac Operation"
			::= { ubi10gSoftwareMIBObjects 8 }
		                                      
		reset10gBoard OBJECT-TYPE
			SYNTAX		Integer32(1..12)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"10G pon board-reset
				 1~12 : Slot Id"
			::= {  ubi10gSoftwareMIBObjects 11 }
			                                        
-- ***********************************************************
-- SoftwareDownloadTable
-- ***********************************************************   			                                       
 	softwareDownload10g OBJECT IDENTIFIER ::= { ubi10gSoftwareMIBObjects 9 }
       
	softwareDownload10gOltId OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Olt ID"
			::= { softwareDownload10g 1 }     
	
	softwareDownload10gOnuId OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Onu ID"
			::= { softwareDownload10g 2 }
 
 	softwareDownload10gHostIp OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"file server IP address (xxx.xxx.xxx.xxx)"
			::= { softwareDownload10g 3 }

	softwareDownload10gFileName OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..80))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"software image file name to be downloaded"
			::= { softwareDownload10g 4 }
 
	softwareDownload10gOption OBJECT-TYPE
			SYNTAX INTEGER
				{
				forced(1),
				checkVersion(2)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"software image file name to be downloaded"
			::= { softwareDownload10g 5 }       
			
	softwareDownload10gOp OBJECT-TYPE
			SYNTAX INTEGER
				{
				normal(1),
				operate(2)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				""
			::= { softwareDownload10g 6 }

-- ***********************************************************
-- onuAutoDownload10gGroup
-- ***********************************************************
	onuAutoDownload10g OBJECT IDENTIFIER ::= { ubi10gSoftwareMIBObjects 10 }
 
    onu10gSoftwareTable OBJECT-TYPE
			SYNTAX SEQUENCE OF Onu10gSoftwareEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"ONU firmware image table"
			::= { onuAutoDownload10g 1 }           

	onu10gSoftwareEntry OBJECT-TYPE
			SYNTAX Onu10gSoftwareEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			INDEX { onu10gSoftwareId }
			::= { onu10gSoftwareTable 1 }
			
	Onu10gSoftwareEntry ::=
			SEQUENCE { 
				onu10gSoftwareId
					INTEGER,
				onu10gSoftwareFileName
					DisplayString
			 }

	onu10gSoftwareId OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"ONU software image file number"
		::= { onu10gSoftwareEntry 1 }
		
	onu10gSoftwareFileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..80))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"ONU software image file name"
		::= { onu10gSoftwareEntry 2 }
                                         
	onuDownload10g OBJECT IDENTIFIER ::= { onuAutoDownload10g 2 }
	
	onuDownload10gHostIp OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"file server IP address (xxx.xxx.xxx.xxx)"
			::= { onuDownload10g 1 }
		
	onuDownload10gFileName OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..80))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"software image file name to be downloaded"
			::= { onuDownload10g 2 }		
		
	onuDownload10gAction OBJECT-TYPE
			SYNTAX INTEGER
				{
				noAction(0),
				add(1),
				remove(2)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"To set value with run(1) will start download"
			::= { onuDownload10g 3 }   
	
	
	onuDownload10gActionOp OBJECT-TYPE
			SYNTAX INTEGER
				{
				normal(0),
				operate(1),
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				""
			::= { onuDownload10g 4 }
		                                          
		                                          
	onuDownload10gStatusTable OBJECT-TYPE
			SYNTAX SEQUENCE OF OnuDownload10gStatusEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"ONU firmware image table"
			::= { onuAutoDownload10g 3 }
		
		
		onuDownload10gStatusEntry OBJECT-TYPE
			SYNTAX OnuDownload10gStatusEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			INDEX { ifIndex }
			::= { onuDownload10gStatusTable 1 }
		
		OnuDownload10gStatusEntry ::=
			SEQUENCE { 
				onuDownload10gStatusMask
					OCTET STRING
			 }

		
		onuDownload10gStatusMask OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (0..32))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"ONU download status bitmask.
				 32 of ONUs x 8 bit for each ONU = 256 bits (32 bytes)

				 0x00~0x7F : 'onuSoftwareId' on download complete
				 0x80 : wait to download
				 0x81 : unavailable entity
				 0x82 : fail to download
				 0x83 : no image
                 0x84 : already up-to-date version
				"
			::= { onuDownload10gStatusEntry 1 }

--		onuVersionComparison OBJECT-TYPE
--			SYNTAX INTEGER
--				{
--				disable(0),
--				enable(1)
--				}
--			MAX-ACCESS read-write
--			STATUS current
--			DESCRIPTION
--				"set auto-download version-comparison flag"
--			::= { onuAutoDownload 4 }		
		
		onu10gResetOption OBJECT-TYPE
			SYNTAX INTEGER
				{
				automatic(1),
				manual(2),
				automatic_with_time(3)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"ONU reset method after auto-download
				Auto-reset with time(3) : Set Only"
			::= { onuAutoDownload10g 4 }

		
		onuAutoDownload10gStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
				start(1),
				stop(2)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"ONU auto-download status"
			::= { onuAutoDownload10g 5 }

		onuAutoDownload10gResetTime OBJECT-TYPE
			SYNTAX		Integer32(0..23)
			MAX-ACCESS	read-write
			STATUS current
			DESCRIPTION
				"ONU auto-download auto-reset time 
				Unit : time of day
				255 : Auto-reset immediately, 
					  manual-reset,  
					  or auto-download stopped."
			::= { onuAutoDownload10g 6 }

			                     
-- ***********************************************************
--  ubiSoftwareMIBNotificationPrefix
-- ***********************************************************
-- the following two OBJECT IDENTIFIERS are used to define SNMPv2 Notifications
-- that are backward compatible with SNMPv1 Traps.           

	ubiSoftwareMIBNotificationPrefix OBJECT IDENTIFIER ::= { ubiSoftwareMIB 2 }
	ubiSoftwareMIBNotifications OBJECT IDENTIFIER ::= { ubiSoftwareMIBNotificationPrefix 0 }
    
    ubiEponOltImageUpgradeNotification NOTIFICATION-TYPE
       OBJECTS       {
                     	ubiAlarmIndex,
						ubiAlarmId,
						ubiAlarmType,
						ubiAlarmSeverity,
						ubiAlarmPhysicalLoc,
						ubiAlarmLogicalLoc,
						ubiAlarmCurStatus,
						ubiAlarmAuxinfo,
						ubiAlarmDateTime,
						ubiAlarmStatus
                     }
       STATUS        current
       DESCRIPTION
           "olt upgrade notification"
       ::= { ubiSoftwareMIBNotifications 1 }
       
     ubiEponOltImageUpgradeFailNotification NOTIFICATION-TYPE
       OBJECTS       {
                     	ubiAlarmIndex,
						ubiAlarmId,
						ubiAlarmType,
						ubiAlarmSeverity,
						ubiAlarmPhysicalLoc,
						ubiAlarmLogicalLoc,
						ubiAlarmCurStatus,
						ubiAlarmAuxinfo,
						ubiAlarmDateTime,
						ubiAlarmStatus
                     }
       STATUS        current
       DESCRIPTION
           "olt upgrade notification"
       ::= { ubiSoftwareMIBNotifications 2 }
                                       
    ubiEponOnuImageUpgradeNotification NOTIFICATION-TYPE
       OBJECTS       {
                     	ubiAlarmIndex,
						ubiAlarmId,
						ubiAlarmType,
						ubiAlarmSeverity,
						ubiAlarmPhysicalLoc,
						ubiAlarmLogicalLoc,
						ubiAlarmCurStatus,
						ubiAlarmAuxinfo,
						ubiAlarmDateTime,
						ubiAlarmStatus
                     }
       STATUS        current
       DESCRIPTION
           "onu upgrade notification"
       ::= { ubiSoftwareMIBNotifications 3 }
       
     ubiEponOnuImageUpgradeFailNotification NOTIFICATION-TYPE
       OBJECTS       {
                     	ubiAlarmIndex,
						ubiAlarmId,
						ubiAlarmType,
						ubiAlarmSeverity,
						ubiAlarmPhysicalLoc,
						ubiAlarmLogicalLoc,
						ubiAlarmCurStatus,
						ubiAlarmAuxinfo,
						ubiAlarmDateTime,
						ubiAlarmStatus
                     }
       STATUS        current
       DESCRIPTION
           "onu upgrade notification"
       ::= { ubiSoftwareMIBNotifications 4 }        
    

	END

--
-- UBIQUOSS-10GEPON-SOFTWARE-MANAGEMENT-GROUP-MIB.mib
--
