SNMP-NOTIFICATION-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY,
	OBJECT-TYPE,
	snmpModules
		FROM SNMPv2-SMI
	RowStatus,
	StorageType
		FROM SNMPv2-TC
	SnmpAdminString
		FROM SNMP-FRAMEWORK-MIB
	SnmpTagValue,
	snmpTargetParamsName
		FROM SNMP-TARGET-MIB
	MODULE-COMPLIANCE,
	OBJECT-GROUP
		FROM SNMPv2-CONF;

snmpNotificationMIB MODULE-IDENTITY
	LAST-UPDATED "200210140000Z"	-- Oct 14, 2002 12:00:00 AM
	ORGANIZATION "IETF SNMPv3 Working Group"
	CONTACT-INFO
		"WG-email:   snmpv3@lists.tislabs.com
		Subscribe:  majordomo@lists.tislabs.com
		            In message body:  subscribe snmpv3

		Co-Chair:   Russ Mundy
		            Network Associates Laboratories
		Postal:     15204 Omega Drive, Suite 300
		            Rockville, MD 20850-4601
		            USA
		EMail:      mundy@tislabs.com
		Phone:      +1 301-947-7107

		Co-Chair:   David Harrington
		            Enterasys Networks
		Postal:     35 Industrial Way
		            P. O. Box 5004
		            Rochester, New Hampshire 03866-5005
		            USA
		EMail:      dbh@enterasys.com
		Phone:      +1 603-337-2614

		Co-editor:  David B. Levi
		            Nortel Networks
		Postal:     3505 Kesterwood Drive
		            Knoxville, Tennessee 37918
		EMail:      dlevi@nortelnetworks.com
		Phone:      +1 865 686 0432

		Co-editor:  Paul Meyer
		            Secure Computing Corporation
		Postal:     2675 Long Lake Road
		            Roseville, Minnesota 55113
		EMail:      paul_meyer@securecomputing.com
		Phone:      +1 651 628 1592

		Co-editor:  Bob Stewart
		            Retired"
	DESCRIPTION
		"This MIB module defines MIB objects which provide
		mechanisms to remotely configure the parameters
		used by an SNMP entity for the generation of
		notifications.

		Copyright (C) The Internet Society (2002). This
		version of this MIB module is part of RFC 3413;
		see the RFC itself for full legal notices.

		"
	REVISION "200210140000Z"	-- Oct 14, 2002 12:00:00 AM
	DESCRIPTION
		"Clarifications, published as
		RFC 3413."
	REVISION "199808040000Z"	-- Aug 4, 1998 12:00:00 AM
	DESCRIPTION
		"Clarifications, published as
		RFC 2573."
	REVISION "199707140000Z"	-- Jul 14, 1997 12:00:00 AM
	DESCRIPTION
		"The initial revision, published as RFC2273."
	-- 1.3.6.1.6.3.13
	::= { snmpModules 13 }


snmpNotifyObjects OBJECT IDENTIFIER 
	-- 1.3.6.1.6.3.13.1
	::= { snmpNotificationMIB 1 }

snmpNotifyConformance OBJECT IDENTIFIER 
	-- 1.3.6.1.6.3.13.3
	::= { snmpNotificationMIB 3 }

--
--
-- The snmpNotifyObjects group
--
--

snmpNotifyTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnmpNotifyEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This table is used to select management targets which should
		receive notifications, as well as the type of notification
		which should be sent to each selected management target."
	-- 1.3.6.1.6.3.13.1.1
	::= { snmpNotifyObjects 1 }


snmpNotifyEntry OBJECT-TYPE
	SYNTAX  SnmpNotifyEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in this table selects a set of management targets
		which should receive notifications, as well as the type of
		notification which should be sent to each selected
		management target.

		Entries in the snmpNotifyTable are created and
		deleted using the snmpNotifyRowStatus object."
	INDEX {
 		IMPLIED snmpNotifyName }
	-- 1.3.6.1.6.3.13.1.1.1
	::= { snmpNotifyTable 1 }


SnmpNotifyEntry ::= SEQUENCE {

	snmpNotifyName        SnmpAdminString,
	snmpNotifyTag         SnmpTagValue,
	snmpNotifyType        INTEGER,
	snmpNotifyStorageType StorageType,
	snmpNotifyRowStatus   RowStatus }


snmpNotifyName OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (1..32))
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"The locally arbitrary, but unique identifier associated
		with this snmpNotifyEntry."
	-- 1.3.6.1.6.3.13.1.1.1.1
	::= { snmpNotifyEntry 1 }


snmpNotifyTag OBJECT-TYPE
	SYNTAX  SnmpTagValue
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"This object contains a single tag value which is used
		to select entries in the snmpTargetAddrTable.  Any entry
		in the snmpTargetAddrTable which contains a tag value
		which is equal to the value of an instance of this
		object is selected.  If this object contains a value
		of zero length, no entries are selected."
	DEFVAL { "" }
	-- 1.3.6.1.6.3.13.1.1.1.2
	::= { snmpNotifyEntry 2 }


snmpNotifyType OBJECT-TYPE
	SYNTAX  INTEGER {
			trap(1),
			inform(2) }
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"This object determines the type of notification to
		be generated for entries in the snmpTargetAddrTable
		selected by the corresponding instance of
		snmpNotifyTag.  This value is only used when
		generating notifications, and is ignored when
		using the snmpTargetAddrTable for other purposes.

		If the value of this object is trap(1), then any
		messages generated for selected rows will contain
		Unconfirmed-Class PDUs.

		If the value of this object is inform(2), then any
		messages generated for selected rows will contain
		Confirmed-Class PDUs.

		Note that if an SNMP entity only supports
		generation of Unconfirmed-Class PDUs (and not
		Confirmed-Class PDUs), then this object may be
		read-only."
	DEFVAL { trap }
	-- 1.3.6.1.6.3.13.1.1.1.3
	::= { snmpNotifyEntry 3 }


snmpNotifyStorageType OBJECT-TYPE
	SYNTAX  StorageType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The storage type for this conceptual row.
		Conceptual rows having the value 'permanent' need not
		allow write-access to any columnar objects in the row."
	DEFVAL { nonVolatile }
	-- 1.3.6.1.6.3.13.1.1.1.4
	::= { snmpNotifyEntry 4 }


snmpNotifyRowStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The status of this conceptual row.

		To create a row in this table, a manager must
		set this object to either createAndGo(4) or
		createAndWait(5)."
	-- 1.3.6.1.6.3.13.1.1.1.5
	::= { snmpNotifyEntry 5 }


snmpNotifyFilterProfileTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnmpNotifyFilterProfileEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This table is used to associate a notification filter
		profile with a particular set of target parameters."
	-- 1.3.6.1.6.3.13.1.2
	::= { snmpNotifyObjects 2 }


snmpNotifyFilterProfileEntry OBJECT-TYPE
	SYNTAX  SnmpNotifyFilterProfileEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in this table indicates the name of the filter
		profile to be used when generating notifications using
		the corresponding entry in the snmpTargetParamsTable.

		Entries in the snmpNotifyFilterProfileTable are created
		and deleted using the snmpNotifyFilterProfileRowStatus
		object."
	INDEX {
 		IMPLIED snmpTargetParamsName }
	-- 1.3.6.1.6.3.13.1.2.1
	::= { snmpNotifyFilterProfileTable 1 }


SnmpNotifyFilterProfileEntry ::= SEQUENCE {

	snmpNotifyFilterProfileName      SnmpAdminString,
	snmpNotifyFilterProfileStorType  StorageType,
	snmpNotifyFilterProfileRowStatus RowStatus }


snmpNotifyFilterProfileName OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (1..32))
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The name of the filter profile to be used when generating
		notifications using the corresponding entry in the
		snmpTargetAddrTable."
	-- 1.3.6.1.6.3.13.1.2.1.1
	::= { snmpNotifyFilterProfileEntry 1 }


snmpNotifyFilterProfileStorType OBJECT-TYPE
	SYNTAX  StorageType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The storage type for this conceptual row.
		Conceptual rows having the value 'permanent' need not
		allow write-access to any columnar objects in the row."
	DEFVAL { nonVolatile }
	-- 1.3.6.1.6.3.13.1.2.1.2
	::= { snmpNotifyFilterProfileEntry 2 }


snmpNotifyFilterProfileRowStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The status of this conceptual row.

		To create a row in this table, a manager must
		set this object to either createAndGo(4) or
		createAndWait(5).

		Until instances of all corresponding columns are
		appropriately configured, the value of the
		corresponding instance of the
		snmpNotifyFilterProfileRowStatus column is 'notReady'.

		In particular, a newly created row cannot be made
		active until the corresponding instance of
		snmpNotifyFilterProfileName has been set."
	-- 1.3.6.1.6.3.13.1.2.1.3
	::= { snmpNotifyFilterProfileEntry 3 }


snmpNotifyFilterTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SnmpNotifyFilterEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"The table of filter profiles.  Filter profiles are used
		to determine whether particular management targets should
		receive particular notifications.

		When a notification is generated, it must be compared
		with the filters associated with each management target
		which is configured to receive notifications, in order to
		determine whether it may be sent to each such management
		target.

		A more complete discussion of notification filtering
		can be found in section 6. of [SNMP-APPL]."
	-- 1.3.6.1.6.3.13.1.3
	::= { snmpNotifyObjects 3 }


snmpNotifyFilterEntry OBJECT-TYPE
	SYNTAX  SnmpNotifyFilterEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"An element of a filter profile.

		Entries in the snmpNotifyFilterTable are created and
		deleted using the snmpNotifyFilterRowStatus object."
	INDEX {
		snmpNotifyFilterProfileName,
		IMPLIED snmpNotifyFilterSubtree }
	-- 1.3.6.1.6.3.13.1.3.1
	::= { snmpNotifyFilterTable 1 }


SnmpNotifyFilterEntry ::= SEQUENCE {

	snmpNotifyFilterSubtree     OBJECT IDENTIFIER,
	snmpNotifyFilterMask        OCTET STRING,
	snmpNotifyFilterType        INTEGER,
	snmpNotifyFilterStorageType StorageType,
	snmpNotifyFilterRowStatus   RowStatus }


snmpNotifyFilterSubtree OBJECT-TYPE
	SYNTAX  OBJECT IDENTIFIER
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"The MIB subtree which, when combined with the corresponding
		instance of snmpNotifyFilterMask, defines a family of
		subtrees which are included in or excluded from the
		filter profile."
	-- 1.3.6.1.6.3.13.1.3.1.1
	::= { snmpNotifyFilterEntry 1 }


snmpNotifyFilterMask OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (0..16))
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The bit mask which, in combination with the corresponding
		instance of snmpNotifyFilterSubtree, defines a family of
		subtrees which are included in or excluded from the
		filter profile.

		Each bit of this bit mask corresponds to a
		sub-identifier of snmpNotifyFilterSubtree, with the
		most significant bit of the i-th octet of this octet
		string value (extended if necessary, see below)
		corresponding to the (8*i - 7)-th sub-identifier, and
		the least significant bit of the i-th octet of this
		octet string corresponding to the (8*i)-th
		sub-identifier, where i is in the range 1 through 16.

		Each bit of this bit mask specifies whether or not
		the corresponding sub-identifiers must match when
		determining if an OBJECT IDENTIFIER matches this
		family of filter subtrees; a '1' indicates that an
		exact match must occur; a '0' indicates 'wild card',
		i.e., any sub-identifier value matches.

		Thus, the OBJECT IDENTIFIER X of an object instance
		is contained in a family of filter subtrees if, for
		each sub-identifier of the value of
		snmpNotifyFilterSubtree, either:

		  the i-th bit of snmpNotifyFilterMask is 0, or

		  the i-th sub-identifier of X is equal to the i-th
		  sub-identifier of the value of
		  snmpNotifyFilterSubtree.

		If the value of this bit mask is M bits long and
		there are more than M sub-identifiers in the
		corresponding instance of snmpNotifyFilterSubtree,
		then the bit mask is extended with 1's to be the
		required length.

		Note that when the value of this object is the
		zero-length string, this extension rule results in
		a mask of all-1's being used (i.e., no 'wild card'),
		and the family of filter subtrees is the one
		subtree uniquely identified by the corresponding
		instance of snmpNotifyFilterSubtree."
	DEFVAL { ''H }
	-- 1.3.6.1.6.3.13.1.3.1.2
	::= { snmpNotifyFilterEntry 2 }


snmpNotifyFilterType OBJECT-TYPE
	SYNTAX  INTEGER {
			included(1),
			excluded(2) }
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"This object indicates whether the family of filter subtrees
		defined by this entry are included in or excluded from a
		filter.  A more detailed discussion of the use of this
		object can be found in section 6. of [SNMP-APPL]."
	DEFVAL { included }
	-- 1.3.6.1.6.3.13.1.3.1.3
	::= { snmpNotifyFilterEntry 3 }


snmpNotifyFilterStorageType OBJECT-TYPE
	SYNTAX  StorageType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The storage type for this conceptual row.
		Conceptual rows having the value 'permanent' need not
		allow write-access to any columnar objects in the row."
	DEFVAL { nonVolatile }
	-- 1.3.6.1.6.3.13.1.3.1.4
	::= { snmpNotifyFilterEntry 4 }


snmpNotifyFilterRowStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The status of this conceptual row.

		To create a row in this table, a manager must
		set this object to either createAndGo(4) or
		createAndWait(5)."
	-- 1.3.6.1.6.3.13.1.3.1.5
	::= { snmpNotifyFilterEntry 5 }


--
--
-- Conformance information
--
--

snmpNotifyCompliances OBJECT IDENTIFIER 
	-- 1.3.6.1.6.3.13.3.1
	::= { snmpNotifyConformance 1 }

snmpNotifyGroups OBJECT IDENTIFIER 
	-- 1.3.6.1.6.3.13.3.2
	::= { snmpNotifyConformance 2 }


--
--
-- Compliance statements
--
--

snmpNotifyBasicCompliance MODULE-COMPLIANCE
	STATUS  current
	DESCRIPTION
		"The compliance statement for minimal SNMP entities which
		implement only SNMP Unconfirmed-Class notifications and
		read-create operations on only the snmpTargetAddrTable."

	MODULE SNMP-TARGET-MIB
	MANDATORY-GROUPS {
			snmpTargetBasicGroup }

	OBJECT snmpTargetParamsMPModel
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access is not required."
	OBJECT snmpTargetParamsSecurityModel
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access is not required."
	OBJECT snmpTargetParamsSecurityName
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access is not required."
	OBJECT snmpTargetParamsSecurityLevel
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access is not required."
	OBJECT snmpTargetParamsStorageType
	  SYNTAX INTEGER {
			readOnly(5) }
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access is not required.
		Support of the values other(1), volatile(2),
		nonVolatile(3), and permanent(4) is not required."
	OBJECT snmpTargetParamsRowStatus
	  SYNTAX INTEGER {
			active(1) }
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access to the
		snmpTargetParamsTable is not required.
		Support of the values notInService(2), notReady(3),
		createAndGo(4), createAndWait(5), and destroy(6) is
		not required."
	MODULE 
	MANDATORY-GROUPS {
			snmpNotifyGroup }

	OBJECT snmpNotifyTag
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access is not required."
	OBJECT snmpNotifyType
	  SYNTAX INTEGER {
			trap(1) }
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access is not required.
		Support of the value notify(2) is not required."
	OBJECT snmpNotifyStorageType
	  SYNTAX INTEGER {
			readOnly(5) }
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access is not required.
		Support of the values other(1), volatile(2),
		nonVolatile(3), and permanent(4) is not required."
	OBJECT snmpNotifyRowStatus
	  SYNTAX INTEGER {
			active(1) }
	  MIN-ACCESS read-only
	  DESCRIPTION 
		"Create/delete/modify access to the
		snmpNotifyTable is not required.
		Support of the values notInService(2), notReady(3),
		createAndGo(4), createAndWait(5), and destroy(6) is
		not required."
	-- 1.3.6.1.6.3.13.3.1.1
	::= { snmpNotifyCompliances 1 }


snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE
	STATUS  current
	DESCRIPTION
		"The compliance statement for SNMP entities which implement
		SNMP Unconfirmed-Class notifications with filtering, and
		read-create operations on all related tables."

	MODULE SNMP-TARGET-MIB
	MANDATORY-GROUPS {
			snmpTargetBasicGroup }

	MODULE 
	MANDATORY-GROUPS {
			snmpNotifyGroup,
			snmpNotifyFilterGroup }

	-- 1.3.6.1.6.3.13.3.1.2
	::= { snmpNotifyCompliances 2 }


snmpNotifyFullCompliance MODULE-COMPLIANCE
	STATUS  current
	DESCRIPTION
		"The compliance statement for SNMP entities which either
		implement only SNMP Confirmed-Class notifications, or both
		SNMP Unconfirmed-Class and Confirmed-Class notifications,
		plus filtering and read-create operations on all related
		tables."

	MODULE SNMP-TARGET-MIB
	MANDATORY-GROUPS {
			snmpTargetBasicGroup,
			snmpTargetResponseGroup }

	MODULE 
	MANDATORY-GROUPS {
			snmpNotifyGroup,
			snmpNotifyFilterGroup }

	-- 1.3.6.1.6.3.13.3.1.3
	::= { snmpNotifyCompliances 3 }

snmpNotifyGroup OBJECT-GROUP
	OBJECTS {
		snmpNotifyTag,
		snmpNotifyType,
		snmpNotifyStorageType,
		snmpNotifyRowStatus }
	STATUS  current
	DESCRIPTION
		"A collection of objects for selecting which management
		targets are used for generating notifications, and the
		type of notification to be generated for each selected
		management target."
	-- 1.3.6.1.6.3.13.3.2.1
	::= { snmpNotifyGroups 1 }

snmpNotifyFilterGroup OBJECT-GROUP
	OBJECTS {
		snmpNotifyFilterProfileName,
		snmpNotifyFilterProfileStorType,
		snmpNotifyFilterProfileRowStatus,
		snmpNotifyFilterMask,
		snmpNotifyFilterType,
		snmpNotifyFilterStorageType,
		snmpNotifyFilterRowStatus }
	STATUS  current
	DESCRIPTION
		"A collection of objects providing remote configuration
		of notification filters."
	-- 1.3.6.1.6.3.13.3.2.2
	::= { snmpNotifyGroups 2 }

END
