-- *****************************************************************
-- NMS-EPON-ONU-BATCH-CONFIG.MIB:  NMS LLID ONU BATCH CONFIG MIB file
-- APRIL 2010
-- *****************************************************************
--

               NMS-EPON-ONU-BATCH-CONFIG DEFINITIONS ::= BEGIN

               IMPORTS
                    Counter, IpAddress, Counter
			FROM RFC1155-SMI
		    OBJECT-TYPE
			FROM RFC-1212
                    DisplayString
			FROM RFC1213-MIB
		    nmsEPONGroup
			FROM NMS-SMI
	            PortList
	                FROM Q-BRIDGE-MIB
		    TruthValue,RowStatus,PhysAddress,DisplayString,MacAddress
		    	FROM SNMPv2-TC;
          
               nmsEponOnuBatchConfig         OBJECT IDENTIFIER ::= { nmsEPONGroup 22 }
               
                
               nmsEponOnuConfigIndex OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "ONU index, just LLID the same value as llidIfIndex in NMS-EPON-LLID.MIB. While setting, the buffer will be written into the 
                           corresponding ONU config information, you can read nmsEponOnuBatchConfigTable to get this configuration. After setting, the newly 
                           updating configuration of this ONU won't be upated to the buffer. When you set this value to 0, the buffer will be cleared, 
                           and nmsEponOnuConfigTable will be null."
                   ::= { nmsEponOnuBatchConfig 1 } 
               
               

               nmsEponOnuConfigTable OBJECT-TYPE
                   SYNTAX  SEQUENCE OF NMSEponOnuConfigEntry
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                            "A list of the ONU config table entries. The corresponding onu id will read/write to nmsEponOnuConfigIndex. Get-next and get-bulk operation is only supported"
                   ::= { nmsEponOnuBatchConfig 2 }

               nmsEponOnuConfigEntry OBJECT-TYPE
                   SYNTAX NMSEponOnuConfigEntry
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                            "A collection of certain ONU configuration. The ONU id can be read or set by nmsEponOnuConfigIndex."
                   INDEX { onuConfigSequenceNo }
               ::= { nmsEponOnuConfigTable 1 }

               NMSEponOnuConfigEntry ::=
                   SEQUENCE {
                       onuConfigSequenceNo
                           INTEGER,
                       onuConfigCommand
                           OCTET STRING
                   }
                   
               onuConfigSequenceNo OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                           "ONU configuration command sequence number."
                   ::= { nmsEponOnuConfigEntry 1 } 

               onuConfigCommand OBJECT-TYPE
                   SYNTAX  OCTET STRING
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                           "ONU configuration command value."
                   ::= { nmsEponOnuConfigEntry 2 } 



               onuConfigurationAdd OBJECT-TYPE
                   SYNTAX  OCTET STRING
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                           "ONU configuration command set value. After this operation, buffer will be added, but the configuration won't work."
                   ::= { nmsEponOnuBatchConfig 3 } 

               onuCfgApplyLLIDs OBJECT-TYPE
                   SYNTAX  PortList
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "ONU LLID list, which defines the ONU to be applied."
                   ::= { nmsEponOnuBatchConfig 4 } 

               onuCfgApplyAction OBJECT-TYPE
                   SYNTAX  INTEGER{no_action(0),
                                   apply(1)
                                   }
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                           "While set to 1, all the configuration command in buffer will apply to device and the configuration works."
                   ::= { nmsEponOnuBatchConfig 5 } 

               ounCfgApplyResult OBJECT-TYPE
                   SYNTAX  INTEGER{success(0),
                                   processing(1),
                                   other(2),
                                   reserved(3)
                                   }
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                           "ONU configuraton appling result."
                   ::= { nmsEponOnuBatchConfig 6 } 

-- onu batch configuration template

		-- 1
		onuConfigTemplate OBJECT IDENTIFIER ::= {nmsEponOnuBatchConfig  7 }

		
		-- 1.1
		templateTable OBJECT-TYPE
			SYNTAX SEQUENCE OF TemplateEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			::= { onuConfigTemplate 1 }

		
		-- 1.1.1
		templateEntry OBJECT-TYPE
			SYNTAX TemplateEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			INDEX { templateName }
			::= { templateTable 1 }

		
		TemplateEntry ::=
			SEQUENCE { 
				templateName
					OCTET STRING,
				cmdCount
					Integer32,
				templateRowStatus
					RowStatus
			 }

		-- 1.1.1.1
		templateName OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (0..20))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateEntry 1 }

		
		-- 1.1.1.2
		cmdCount OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateEntry 2 }

		
		-- 1.1.1.3
		templateRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateEntry 3 }

		
		-- 1.2
		templateItemTable OBJECT-TYPE
			SYNTAX SEQUENCE OF TemplateItemEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			::= { onuConfigTemplate 2 }

		
		-- 1.2.1
		templateItemEntry OBJECT-TYPE
			SYNTAX TemplateItemEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			INDEX { templateItemName, templateItemIndex }
			::= { templateItemTable 1 }

		
		TemplateItemEntry ::=
			SEQUENCE { 
				templateItemName
					OCTET STRING,
				templateItemIndex
					Integer32,
				templateItemStr
					OCTET STRING,
				templateItemRowStatus
					RowStatus
			 }

		-- 1.2.1.1
		templateItemName OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (0..20))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateItemEntry 1 }

		
		-- 1.2.1.2
		templateItemIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65536)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateItemEntry 2 }

		
		-- 1.2.1.3
		templateItemStr OBJECT-TYPE
			SYNTAX OCTET STRING
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateItemEntry 3 }

		
		-- 1.2.1.4
		templateItemRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateItemEntry 4 }

		
		-- 1.3
		templateApplyTable OBJECT-TYPE
			SYNTAX SEQUENCE OF TemplateApplyEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			::= { onuConfigTemplate 3 }

		
		-- 1.3.1
		templateApplyEntry OBJECT-TYPE
			SYNTAX TemplateApplyEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			INDEX { ponIndex, templateApplyName }
			::= { templateApplyTable 1 }

		
		TemplateApplyEntry ::=
			SEQUENCE { 
				ponIndex
					Integer32,
				templateApplyName
					OCTET STRING,
				llidBitstring
					OCTET STRING
			 }

		-- 1.3.1.1
		ponIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65536)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateApplyEntry 1 }

		
		-- 1.3.1.2
		templateApplyName OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (0..20))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateApplyEntry 2 }

		
		-- 1.3.1.3
		llidBitstring OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (8))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateApplyEntry 3 }


		-- 1.4
		templateApplyNewTable OBJECT-TYPE
			SYNTAX SEQUENCE OF TemplateApplyNewEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			::= { onuConfigTemplate 4 }

		
		-- 1.4.1
		templateApplyNewEntry OBJECT-TYPE
			SYNTAX TemplateApplyNewEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			INDEX { ponIndexNew, templateApplyNameNew,llidBitstringNew }
			::= { templateApplyNewTable 1 }

		
		TemplateApplyNewEntry ::=
			SEQUENCE { 
				ponIndexNew
					Integer32,
				templateApplyNameNew
					OCTET STRING,
				llidBitstringNew
					OCTET STRING,
				templateParameters
					OCTET STRING,
				templateApplyRowstatus
					RowStatus
			 }

		-- 1.4.1.1
		ponIndexNew OBJECT-TYPE
			SYNTAX Integer32 (1..65536)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateApplyNewEntry 1 }

		
		-- 1.4.1.2
		templateApplyNameNew OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (0..20))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateApplyNewEntry 2 }

		
		-- 1.4.1.3
		llidBitstringNew OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (8))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { templateApplyNewEntry 3 }

		-- 1.4.1.4
		templateParameters OBJECT-TYPE
			SYNTAX OCTET STRING 
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Parameter string, the maximal length is 200."
			::= { templateApplyNewEntry 4 }

		-- 1.4.1.5
		templateApplyRowstatus OBJECT-TYPE
			SYNTAX RowStatus 
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"row status."
			::= { templateApplyNewEntry 5 }


               





END      
