	ALPHA-NOTIFICATION-MIB DEFINITIONS ::= BEGIN

	--==========================================================================
	--
	-- Alpha Technologies Ltd.
	-- Copyright 2014
	--                      
	--==========================================================================

	IMPORTS
		MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32
			FROM SNMPv2-SMI
		alarmActiveModelPointer, alarmActiveResourceId,
		alarmModelDescription
			FROM ALARM-MIB
		alpha, controllerInfoName, componentListStaticName, componentListReference
			FROM ALPHA-RESOURCE-MIB
   		MODULE-COMPLIANCE, OBJECT-GROUP,
   		NOTIFICATION-GROUP
      	 	FROM SNMPv2-CONF;               


	alphaAlarmNotifications MODULE-IDENTITY
		LAST-UPDATED "201707310000Z"
		ORGANIZATION "Alpha Technologies Ltd."
		CONTACT-INFO
		  	 "Alpha Technologies Ltd.
			  7700 Riverfront Gate
			  Burnaby, BC  V5J 5M4
			  Canada

			  Tel: 1-604-436-5900
			  Fax: 1-604-436-1233"
		DESCRIPTION
		  "This MIB defines the notification block(s) available in system controllers."
		
		REVISION    "201707310000Z"  -- July 31, 2017
		DESCRIPTION
			"
			Added alarmAdditionalInformation varbinds.
			Tested with SimpleWeb: http://www.simpleweb.org      
			Passed highest level of compliance.  (level 6)
			"
		
		REVISION    "201507280000Z"  -- July 28, 2015
		DESCRIPTION
			"
			Updated to follow MIB structure conformance rules.  Tested with 
			SimpleWeb: http://www.simpleweb.org      
			Passed highest level of compliance.  (level 6)
			"
		           
		REVISION    "201507230000Z"  -- July 23, 2015
		DESCRIPTION
			"Fixed MIB syntax warnings."

		REVISION    "201506230000Z"  -- June 23, 2015
		DESCRIPTION
			"General revision."    
					  
	::= { alpha 100 }
                         
	alphaAlarmNotificationsExtension 	OBJECT IDENTIFIER ::= {  alpha 101 }

	-- Tectual convention
	
	                                                            
	-- Notifications
	
	alphaAlarmActiveState NOTIFICATION-TYPE
	OBJECTS     
	{ 
		alarmActiveModelPointer,
		alarmActiveResourceId,       
		alarmPriority,
		alarmModelDescription, 
		componentListStaticName,
		componentListReference,
		alarmSeverity,
		controllerInfoName,
		alarmCustomDescription,
		alarmAdditionalInformation
		
	}
	STATUS      current
	DESCRIPTION
	"                    	    
	SNMPv2 notification varbinds start with SysUptime
	and Notification Oid as the first two in the list
	by default. The first varbind in this definition
	would be the third varbind in the raw output of the
	notification.
	
	An instance of the alarm indicated by
	alarmActiveModelPointer has been raised
	against the entity indicated by
	alarmActiveResourceId.
	                         
	The state of the alarm is indicated by the 
	alarmModelState.

	The description of the alarm along with its source 
	is indicated by the alarmModelDescription and 
	componentListStaticName respectively.   
	
	componentListSnmpId provides the Id set to the 
	source of the alarm.
	                         
	The agent must throttle the generation of
	consecutive alarmActiveState traps so that there is at
	least a two-second gap between traps of this
	type against the same alarmActiveModelPointer and
	alarmActiveResourceId.  When traps are throttled,
	they are queued for sending at a future time.
	
	A management application should periodically check
	the value of alarmActiveLastChanged to detect any
	missed alarmActiveState notification-events, e.g.,
	due to throttling or transmission loss.
	"
	::= { alphaAlarmNotifications 1 }
	
	alphaAlarmClearState NOTIFICATION-TYPE
	OBJECTS     
	{ 
		alarmActiveModelPointer,
		alarmActiveResourceId,  
		alarmPriority,
		alarmModelDescription,
		componentListStaticName,
		componentListReference,
		alarmSeverity,
		controllerInfoName,
		alarmCustomDescription,
		alarmAdditionalInformation
	}
	STATUS      current
	DESCRIPTION
	"             
	SNMPv2 notification varbinds start with SysUptime
	and Notification Oid as the first two in the list
	by default. The first varbind in this definition
	would be the third varbind in the raw output of the
	notification.	
	
	An instance of the alarm indicated by
	alarmActiveModelPointer has been cleared against
	the entity indicated by alarmActiveResourceId.

	The state of the alarm is indicated by the 
	alarmModelState.

	The description of the alarm along with its source 
	is indicated by the alarmModelDescription and 
	componentListStaticName respectively.   
		
	componentListSnmpId provides the Id set to the 
	source of the alarm.

	The agent must throttle the generation of
	consecutive alarmActiveClear traps so that there is at
	least a two-second gap between traps of this
	type against the same alarmActiveModelPointer and
	alarmActiveResourceId.  When traps are throttled,
	they are queued for sending at a future time.
	
	A management application should periodically check
	the value of alarmActiveLastChanged to detect any
	missed alarmClearState notification-events, e.g.,
	due to throttling or transmission loss.
	"
	::= { alphaAlarmNotifications 2 }
	 	              
	 	                
	alarmSeverity OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION	
		"
		User defined value used for filtering purposes.
		"
	::= { alphaAlarmNotificationsExtension 1 }                           
	
	
	alarmCustomDescription OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION	
		"
		User defined value used for filtering purposes.
		"
	::= { alphaAlarmNotificationsExtension 2 }  	
	
    alarmPriority OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION	
		"
		User defined value used for filtering purposes.
		"
	::= { alphaAlarmNotificationsExtension 3 }  	
	
	alarmAdditionalInformation OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"
		Additional information about the alarm. Each piece of information is separated by 2 colons ::. The following are currently provided
		- Physical location, in the format bay-shelf-slot-channel (used by LP Module alarms)
		- What alert is producing this alarm (used by LP Module alarms)
		"
	::= { alphaAlarmNotificationsExtension 4 }
     
                 
	               
	-- Conformance
	
	alphaAlarmNotificationConformance OBJECT IDENTIFIER ::= { alphaAlarmNotifications 102 }
	
	alphaAlarmNotificationCompliances OBJECT IDENTIFIER ::= { alphaAlarmNotificationConformance 1 }
	
	alphaAlarmNotificationCompliance MODULE-COMPLIANCE
	      STATUS  current
	      DESCRIPTION
	          "The compliance statement for systems supporting
	          the alpha MIB."
	      MODULE -- this module
	          MANDATORY-GROUPS {
	           alphaParameterGroup
	          }
	      GROUP       alphaNotificationsGroup
	       DESCRIPTION
	           "Alarm extension group for Alpha specific data field."
	   ::= { alphaAlarmNotificationCompliances 1 }
	
	alphaAlarmNotificationGroups OBJECT IDENTIFIER ::= { alphaAlarmNotificationCompliances 2 }
	
	alphaParameterGroup OBJECT-GROUP
	        OBJECTS {
	           alarmSeverity,
	           alarmCustomDescription,
	           alarmPriority,
			   alarmAdditionalInformation
	          }
	          STATUS   current
	          DESCRIPTION
	               "Active alpha list group."
	          ::= { alphaAlarmNotificationGroups 1}
	
	
	alphaNotificationsGroup NOTIFICATION-GROUP
	   NOTIFICATIONS { alphaAlarmActiveState, alphaAlarmClearState }
	   STATUS        current
	   DESCRIPTION
	           "The collection of notifications that can be used to
	           model alarms for faults lacking pre-existing
	           notification definitions."
	   ::= { alphaAlarmNotificationGroups 2 }
	                 
                                      
END



































































































































































































































































































































































