PKTC-IETF-EVENT-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY,
	OBJECT-TYPE,
	Unsigned32,
	NOTIFICATION-TYPE,
	mib-2
		FROM SNMPv2-SMI
	TruthValue,
	DateAndTime,
	TEXTUAL-CONVENTION
		FROM SNMPv2-TC
	SnmpAdminString
		FROM SNMP-FRAMEWORK-MIB
	OBJECT-GROUP,
	MODULE-COMPLIANCE,
	NOTIFICATION-GROUP
		FROM SNMPv2-CONF
	ifPhysAddress
		FROM IF-MIB
	InetAddressType,
	InetAddress,
	InetPortNumber
		FROM INET-ADDRESS-MIB
	snmpTargetBasicGroup,
	snmpTargetResponseGroup
		FROM SNMP-TARGET-MIB
	snmpNotifyGroup,
	snmpNotifyFilterGroup
		FROM SNMP-NOTIFICATION-MIB
	SyslogSeverity,
	SyslogFacility
		FROM SYSLOG-TC-MIB;

pktcIetfEventMib MODULE-IDENTITY
	LAST-UPDATED "200903300000Z"	-- Mar 30, 2009 12:00:00 AM
	ORGANIZATION "IETF IP over Cable Data Network Working Group"
	CONTACT-INFO
		"Sumanth Channabasappa
		         Cable Television Laboratories, Inc.
		         858 Coal Creek Circle,
		         Louisville, CO 80027, USA
		         +1 303-661-3307
		         Sumanth@cablelabs.com

		         Wim De Ketelaere
		         tComLabs
		         Gildestraat 8
		         9000 Gent, Belgium
		         +32 9 269 22 90
		         deketelaere@tComLabs.com








		         Eugene Nechamkin
		         Broadcom Corporation
		         200 - 13711 International Place
		         Richmond, BC, V6V 2Z8, Canada
		         +1 604 233 8500
		         enechamkin@broadcom.com

		IETF IPCDN Working Group
		     General Discussion: ipcdn@ietf.org
		     Subscribe: http://www.ietf.org/mailman/listinfo/ipcdn
		     Archive: ftp://ftp.ietf.org/ietf-mail-archive/ipcdn
		     Co-Chair: Jean-Francois Mule, jf.mule@cablelabs.com
		     Co-Chair: Richard Woundy, Richard_Woundy@cable.comcast.com"
	DESCRIPTION
		"This MIB module specifies the basic management objects
		for managing events generated by the Multimedia
		Terminal Adapter devices compliant with the PacketCable
		and IPCablecom requirements.

		Copyright (c) 2009 IETF Trust and the persons
		identified as authors of the code.  All rights reserved.

		Redistribution and use in source and binary forms, with or
		without modification, are permitted provided that the
		following conditions are met:

		- Redistributions of source code must retain the above
		  copyright notice, this list of conditions and the
		  following disclaimer.

		- Redistributions in binary form must reproduce the above
		  copyright notice, this list of conditions and the
		  following disclaimer in the documentation and/or other
		  materials provided with the distribution.

		- Neither the name of Internet Society, IETF or IETF
		  Trust, nor the names of specific contributors, may be
		  used to endorse or promote products derived from this
		  software without specific prior written permission.

		THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
		CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED
		WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
		WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
		PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
		OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
		INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES





		(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
		GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
		BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
		LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
		(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
		OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
		POSSIBILITY OF SUCH DAMAGE.

		This version of this MIB module is part of RFC 5428;
		see the RFC itself for full legal notices."
	REVISION "200903300000Z"	-- Mar 30, 2009 12:00:00 AM
	DESCRIPTION
		"Initial version, published as RFC 5428."
	-- 1.3.6.1.2.1.182
	::= { mib-2 182 }


SyslogSeverityMask ::= TEXTUAL-CONVENTION
	STATUS  current
	DESCRIPTION
		"This textual convention represents a bit mask representing
		the severity of the syslog events that can be generated.
		It corresponds to the various severity levels associated
		with syslog messages, as specified in 'The Syslog Protocol',
		[RFC5424].

		     emerg           (0),  - emergency; system is unusable
		     alert           (1),  - action must be taken immediately
		     crit            (2),  - critical condition
		     err             (3),  - error condition
		     warning         (4),  - warning condition
		     notice          (5),  - normal but significant condition
		     info            (6),  - informational message
		     debug           (7)   - debug-level messages"
	SYNTAX BITS {
			emerg(0),
			alert(1),
			crit(2),
			err(3),
			warning(4),
			notice(5),
			info(6),
			debug(7) }


--
--

pktcEventNotifications OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.0
	::= { pktcIetfEventMib 0 }

pktcEventMibObjects OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.1
	::= { pktcIetfEventMib 1 }

pktcEventConformance OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.2
	::= { pktcIetfEventMib 2 }

--
--

pktcEventControl OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.1.1
	::= { pktcEventMibObjects 1 }

pktcEventThrottle OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.1.2
	::= { pktcEventMibObjects 2 }

pktcEventStatus OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.1.3
	::= { pktcEventMibObjects 3 }

pktcEvents OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.1.4
	::= { pktcEventMibObjects 4 }

pktcEventLog OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.1.5
	::= { pktcEventMibObjects 5 }

---
--   Event Reporting control objects
---

pktcEventReset OBJECT-TYPE
	SYNTAX  BITS {
			resetEventLogTable(0),
			resetEventTable(1) }
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object allows a management station to
		clear the local log of generated events, reset the
		management event descriptions, or both.

		MTAs generate management events.  These events are stored
		in the MIB table pktcEventLogTable.  If a management
		station needs to clear all the current entries (e.g.,
		after a troubleshooting operation is complete), it can
		do so by setting the resetEventLogTable(0) bit to a
		value of '1'.

		The MTA is pre-configured with the events that it can
		generate.  This is stored in the MIB table
		pktcEventTable.  This table also contains the
		descriptions associated with these events.  These
		descriptions can be modified by a management station.
		However, if the management station wishes to reset the
		descriptions to factory defaults, it can do so by
		setting the resetEventTable(1) bit to a value of '1'.

		The MTA actions are summarized below:

		  Bit resetEventLogTable(0) set to a value of '1'
		   - delete all entries in pktcEventLogTable;





		   - reset the value of pktcEventLogIndex to '0'.

		  Bit resetEventTable(1) set to a value of '1'
		   - reset the pktcEventTable to the
		     factory default values.

		  Bits resetEventLogTable(0) and resetEventTable(1)
		  set to a value of '1'
		   - perform the above actions as though they were
		     performed individually (in any order).

		  Setting a reset bit to a value of '0' MUST NOT
		  result in any action.

		The MTA MUST perform the above actions regardless of
		persistence (i.e., storage in non-volatile memory).

		The MTA MUST always return a value of '00' when
		this MIB object is read.

		A management station that resets tables using this MIB
		object needs to be careful about the impact to other
		management stations that may be reliant on the
		information contained in the table(s) being reset.  For
		example, say management station A creates a specific set
		of event descriptions in the event table
		(pktcEventTable) for debugging purposes and expects any
		generated events to report the modified descriptions.  In
		such a case, if another management station resets the
		event table to factory defaults, any subsequent events
		will not contain the modified descriptions expected by
		management station A.  Such multi-manager contentions are
		not addressed within this MIB module.  Thus, management
		stations are RECOMMENDED to use this MIB object with
		care and caution, and only when absolutely required."
	-- 1.3.6.1.2.1.182.1.1.1
	::= { pktcEventControl 1 }


---
-- syslog-specific MIB objects
---

pktcEventSyslog OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.1.1.2
	::= { pktcEventControl 2 }

pktcEventSyslogCapabilities OBJECT-TYPE
	SYNTAX  BITS {
			formatBSDSyslog(0),
			formatSyslogProtocol(1),
			transportUDP(2),
			transportTLS(3),
			transportBEEP(4) }
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains the MTA capabilities
		for supporting the syslog protocol, specifically
		the message formats and the transport protocols.

		The BSD syslog message format is specified
		in [RFC3164] (formatBSDSyslog), and the IETF
		syslog protocol is specified in [RFC5424]
		(formatSyslogProtocol).

		The MTA MUST set the appropriate protocol and
		transport bits, based on implementation."
	REFERENCE
		"The BSD syslog Protocol, [RFC3164];
		The Syslog Protocol, [RFC5424];
		Transmission of Syslog Messages over UDP, [RFC5426];
		TLS Transport Mapping for Syslog, [RFC5425];
		Reliable Delivery for syslog, [RFC3195]."
	-- 1.3.6.1.2.1.182.1.1.2.1
	::= { pktcEventSyslog 1 }


pktcEventSyslogAddressType OBJECT-TYPE
	SYNTAX  InetAddressType
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object defines the Internet address type of
		the syslog server specified by the MIB object
		pktcEventSyslogAddress.  A value of dns(16) is
		disallowed since a non-resolvable DNS domain name
		will leave the device without a syslog server to
		which it can report events."
	REFERENCE
		"PacketCable MTA Device Provisioning Specification,
		[PKT-SP-PROV]."
	DEFVAL { ipv4 }
	-- 1.3.6.1.2.1.182.1.1.2.2
	::= { pktcEventSyslog 2 }


pktcEventSyslogAddress OBJECT-TYPE
	SYNTAX  InetAddress
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object contains the IP address of the





		syslog server to which the MTA can transmit a syslog
		message upon the generation of a management event.
		The type of address this object represents is defined
		by the MIB object pktDevEventSyslogAddressType.

		The format of the syslog message is specified by the
		MIB object pktcEventSyslogMessageFormat."
	REFERENCE
		"PacketCable MTA Device Provisioning Specification,
		[PKT-SP-PROV];
		PacketCable Management Event Mechanism Specification,
		[PKT-SP-MEM1.5];"
	DEFVAL { "0.0.0.0" }
	-- 1.3.6.1.2.1.182.1.1.2.3
	::= { pktcEventSyslog 3 }


pktcEventSyslogMessageFormat OBJECT-TYPE
	SYNTAX  INTEGER {
			formatBSDSyslog(1),      	-- The BSD syslog Protocol
			formatSyslogProtocol(2) 	-- The syslog Protocol
			}
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object contains the syslog message format to
		be used for transmitting syslog messages to the server
		contained in the MIB object pktcEventSyslogServer."
	REFERENCE
		"The BSD syslog Protocol, [RFC3164];
		The Syslog Protocol, [RFC5424]."
	DEFVAL { formatSyslogProtocol }
	-- 1.3.6.1.2.1.182.1.1.2.4
	::= { pktcEventSyslog 4 }


pktcEventSyslogTransport OBJECT-TYPE
	SYNTAX  INTEGER {
			udp(1),  	-- Transmission of syslog messages over UDP
			tls(2),  	-- TLS Transport Mapping for Syslog
			beep(3) 	-- BEEP Transport Mapping for Syslog
			}
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object specifies the transport to be
		used to transmit syslog messages to the syslog
		server contained in the MIB object
		pktcEventSyslogAddress.

		If the MTA does not support the transport
		specified in a SET operation, then the





		MTA MUST return an appropriate error
		response, such as 'inconsistentValue'."
	REFERENCE
		"Transmission of Syslog messages over UDP, [RFC5426];
		TLS Transport Mapping for Syslog, [RFC5425]."
	DEFVAL { tls }
	-- 1.3.6.1.2.1.182.1.1.2.5
	::= { pktcEventSyslog 5 }


pktcEventSyslogPort OBJECT-TYPE
	SYNTAX  InetPortNumber
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object contains the port number of the
		syslog server to which the syslog messages are to
		be transmitted."
	REFERENCE
		"Transmission of Syslog Messages over UDP, [RFC5426];
		TLS Transport Mapping for Syslog, [RFC5425]."
	DEFVAL { 6514 }
	-- 1.3.6.1.2.1.182.1.1.2.6
	::= { pktcEventSyslog 6 }


---
--  Event classes
---

pktcEventClassTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF PktcEventClassEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This MIB table allows for management events that can be
		generated by an MTA to be classified into categories,
		or 'event classes'.  For example, all the configuration-
		related events can be associated with an event class
		titled 'configuration'.  Such a classification allows
		for a management station to affect changes on a common
		group of events at once.  Two operations are specified
		on an event class: enabling or disabling of all the
		events in an event class, and selective enabling or
		disabling based on the severity level."
	-- 1.3.6.1.2.1.182.1.1.3
	::= { pktcEventControl 3 }


pktcEventClassEntry OBJECT-TYPE
	SYNTAX  PktcEventClassEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"Each entry in this table specifies an event class, a
		grouping of events, as identified by the MTA
		manufacturer.  Any event associated with an event class
		in this table MUST be specified in the
		pktcEventTable.

		The MTA MUST create one entry (index=100) for the event
		class titled 'generic'.  This event class MUST contain
		all the events that are not contained in any other
		vendor-specified event classes.

		A management station SHOULD NOT associate an event
		with multiple event classes.  However, if an event is
		associated with multiple event classes, the MTA
		MUST give precedence to the event class with the
		lowest index.  Thus, at a given point in time,
		only one event class is applicable for an event.

		The event table (pktcEventTable) provides the event
		class that affects the event.  Whenever an event is
		generated, the MTA MUST verify the applicable
		event class entry to take any specified actions.

		Entries in this table persist across resets and
		reboots."
	INDEX {
		pktcEventClassIndex }
	-- 1.3.6.1.2.1.182.1.1.3.1
	::= { pktcEventClassTable 1 }


PktcEventClassEntry ::= SEQUENCE {

	pktcEventClassIndex    Unsigned32,
	pktcEventClassName     SnmpAdminString,
	pktcEventClassStatus   TruthValue,
	pktcEventClassSeverity SyslogSeverityMask }


pktcEventClassIndex OBJECT-TYPE
	SYNTAX  Unsigned32 (1..100)
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This MIB object is an index into the event
		class table.  It is a locally meaningful
		value."
	-- 1.3.6.1.2.1.182.1.1.3.1.1
	::= { pktcEventClassEntry 1 }


pktcEventClassName OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (1..100))
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains the name of the
		event class.

		Vendors MAY define different event classes
		(e.g., DHCP, SNMP, DEBUG) to group together
		management events of a particular category.

		Event class names need to take into
		consideration the SnmpAdminString definition
		requirements, such as the use of control code
		sequence CR LF to represent a newline."
	-- 1.3.6.1.2.1.182.1.1.3.1.2
	::= { pktcEventClassEntry 2 }


pktcEventClassStatus OBJECT-TYPE
	SYNTAX  TruthValue
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object indicates if events belonging
		to the corresponding event class are enabled
		or disabled, for event reporting.

		Setting this object to a value of 'true' enables
		reporting of all the events in the event class.

		When enabled, the means of reporting events is
		specified by the MIB object pktcEventReporting.

		Setting this object to a value of 'false' disables
		any event reporting, irrespective of the value of the
		MIB object pktcEventReporting for a specific
		event.

		The default value of this MIB object is vendor-
		specific.  However, the vendor SHOULD enable all
		event categories defined by PacketCable or
		IPCablecom by default."
	-- 1.3.6.1.2.1.182.1.1.3.1.3
	::= { pktcEventClassEntry 3 }


pktcEventClassSeverity OBJECT-TYPE
	SYNTAX  SyslogSeverityMask
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object defines the severity level
		of events belonging to a specific event class





		that are enabled for event reporting.

		This MIB object has no effect on the event
		reporting unless the MIB object
		pktcEventClassStatus is set to a value
		of 'true' (enabled), for the corresponding
		event class.

		Setting a bit within the mask to a value of '1'
		implies that events corresponding to that
		severity level MUST be reported as defined by
		the corresponding value of 'pktcEventReporting'
		for events in the event class.

		Setting a bit to a value of '0' implies that
		events corresponding to that level MUST NOT be
		reported, irrespective of the corresponding
		value of 'pktcEventReporting' for events
		in the event class.

		It is recommended that the bits corresponding
		to emerg(0), alert(1), crit(2), and err(3)
		be set to a value of '1' to ensure reporting of
		events requiring immediate attention."
	REFERENCE
		"The Syslog Protocol, [RFC5424]."
	-- 1.3.6.1.2.1.182.1.1.3.1.4
	::= { pktcEventClassEntry 4 }


---
--   Event throttling control
---

pktcEventThrottleAdminStatus OBJECT-TYPE
	SYNTAX  INTEGER {
			unconstrained(1),
			maintainBelowThreshold(2),
			stopAtThreshold(3),
			inhibited(4) }
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object controls the throttling of the
		transmitted messages upon generation of an event
		(SNMP/syslog).  It does not affect local logging
		of events.

		A value of unconstrained(1) causes event messages





		to be transmitted without regard to the threshold
		settings.

		A value of maintainBelowThreshold(2) causes event
		messages to be suppressed if the number of
		transmissions would otherwise exceed the threshold
		specified by pktcEventThrottleThreshold over the
		interval specified by pktcEventThrottleInterval.

		A value of stopAtThreshold(3) causes event message
		transmission to cease once the threshold specified
		by pktcEventThrottleThreshold (over the interval
		specified by pktcEventThrottleInterval) is reached.
		Event generation is resumed when the value of this
		MIB object is modified by a management station or
		when the device resets or reboots.

		A value of inhibited(4) causes all event message
		transmissions to be suppressed.

		An event causing both an SNMP and a syslog message
		is still treated as a single event.

		Refer to MIB objects pktcEventThrottleThreshold and
		pktcEventThrottleInterval for information on
		throttling."
	DEFVAL { unconstrained }
	-- 1.3.6.1.2.1.182.1.2.1
	::= { pktcEventThrottle 1 }


pktcEventThrottleThreshold OBJECT-TYPE
	SYNTAX  Unsigned32 (0..1024)
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object contains the number of events per
		pktcEventThrottleInterval to be transmitted before
		throttling.

		An event resulting in multiple actions (e.g., SNMP
		and syslog) is still treated as a single event."
	DEFVAL { 2 }
	-- 1.3.6.1.2.1.182.1.2.2
	::= { pktcEventThrottle 2 }


pktcEventThrottleInterval OBJECT-TYPE
	SYNTAX  Unsigned32 (0..604800)
	UNITS	"seconds"
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object contains the interval over which
		the throttle threshold applies."
	DEFVAL { 1 }
	-- 1.3.6.1.2.1.182.1.2.3
	::= { pktcEventThrottle 3 }


---
-- Reporting of transmission status
---

pktcEventTransmissionStatus OBJECT-TYPE
	SYNTAX  BITS {
			syslogThrottled(0),
			snmpThrottled(1),
			validsyslogServerAbsent(2),
			validSnmpManagerAbsent(3),
			syslogTransmitError(4),
			snmpTransmitError(5) }
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object reflects the status of the event
		 transmissions using syslog, SNMP, or both.

		If a bit corresponding to a state is set to a value
		of:
		    '1', it indicates that the state is true
		    '0', it indicates that the state is false

		If the MTA is not configured with a syslog server
		or an SNMP Manager, the corresponding 'throttling'
		and 'transmit error' bits MUST be set to a value of
		'0'.  For example, if an SNMP Manager is not
		configured on the MTA, the bit corresponding to
		validSnmpManagerAbsent(3) is set to a value of '1',
		and the values of the bits corresponding to
		snmpThrottled(1) and snmpTransmitError(5) are set
		to a value of '0'.

		'Event throttling' is based on thresholds and the
		current setting of the MIB object
		pktcEventThrottleAdminStatus.

		'Server/Manager' indicators are based on the
		availability of valid syslog server/SNMP Managers.






		Transmit errors are reported when detected.  If an
		MTA cannot detect an error situation, the value of
		the BIT will be set '0'.

		It is to be noted that not all the conditions that are
		indicated by this MIB object are detectable by all
		devices, and when detected may not be accurate.  It is
		meant to provide a report of the status as determined
		by the device during event transmissions."
	-- 1.3.6.1.2.1.182.1.3.1
	::= { pktcEventStatus 1 }


---
-- Description of events
---

pktcEventTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF PktcEventEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This MIB table contains all possible management events
		that can be generated by the device.  This includes
		PacketCable- and IPCablecom-defined events and
		vendor-specific events."
	-- 1.3.6.1.2.1.182.1.4.1
	::= { pktcEvents 1 }


pktcEventEntry OBJECT-TYPE
	SYNTAX  PktcEventEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in this table is created for each
		event the MTA implementing this MIB is
		capable of reporting.  Entries in this table
		are persisted across resets and reboots."
	INDEX {
		pktcEventOrganization,
		pktcEventIdentifier }
	-- 1.3.6.1.2.1.182.1.4.1.1
	::= { pktcEventTable 1 }


PktcEventEntry ::= SEQUENCE {

	pktcEventOrganization  Unsigned32,
	pktcEventIdentifier    Unsigned32,
	pktcEventFacility      SyslogFacility,
	pktcEventSeverityLevel SyslogSeverity,
	pktcEventReporting     BITS,
	pktcEventText          SnmpAdminString,
	pktcEventClass         SnmpAdminString }


pktcEventOrganization OBJECT-TYPE
	SYNTAX  Unsigned32 (1..4294967295)
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This MIB object provides the IANA enterprise number of
		the organization defining the event.  Thus, all
		PacketCable- or IPCablecom-defined events will contain
		the PacketCable or IPCablecom IANA enterprise
		number, and all vendor-specific events will contain
		the IANA enterprise number of the defining
		organization."
	REFERENCE
		"IANA Private Enterprise Number assignment,
		[IANA-ENTERPRISE]."
	-- 1.3.6.1.2.1.182.1.4.1.1.1
	::= { pktcEventEntry 1 }


pktcEventIdentifier OBJECT-TYPE
	SYNTAX  Unsigned32 (1..4294967295)
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This MIB object contains the event identifier for the
		corresponding event."
	REFERENCE
		"PacketCable Management Event Mechanism Specification,
		[PKT-SP-MEM1.5];
		PacketCable MTA Device Provisioning Specification,
		[PKT-SP-PROV]."
	-- 1.3.6.1.2.1.182.1.4.1.1.2
	::= { pktcEventEntry 2 }


pktcEventFacility OBJECT-TYPE
	SYNTAX  SyslogFacility
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains the facility
		for the event.
		For PacketCable, IPCablecom, or ETSI events,
		this MUST be set to a value of local0(16)."
	REFERENCE
		"The Syslog Protocol, [RFC5424];
		Textual Conventions for Syslog Management,
		[RFC5427]."
	-- 1.3.6.1.2.1.182.1.4.1.1.3
	::= { pktcEventEntry 3 }


pktcEventSeverityLevel OBJECT-TYPE
	SYNTAX  SyslogSeverity
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object contains the severity level that
		is applicable to the specified event."
	REFERENCE
		"The Syslog Protocol, [RFC5424];
		Textual Conventions for Syslog Management,
		[RFC5427]."
	-- 1.3.6.1.2.1.182.1.4.1.1.4
	::= { pktcEventEntry 4 }


pktcEventReporting OBJECT-TYPE
	SYNTAX  BITS {
			local(0),
			syslog(1),
			snmpTrap(2),
			snmpInform(3) }
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object defines the action to be taken on
		occurrence of this event.  Bit local(0) refers to local
		logging of events; bit sylog(1) refers to the
		transmission of events using syslog; bit snmpTrap(2)
		refers to the transmission of events using SNMP Traps
		(SNMPv2-Trap-PDU); and bit snmpInform(3) refers to the
		transmission of events using SNMP INFORMs.

		Setting a bit to a value of '1' indicates that the
		corresponding action will be taken upon occurrence of
		this event.  If none of the bits are set, then no action
		is taken upon occurrence of the event.  The success of
		transmission using syslog and SNMP depends on the
		MTA configuration.  For example, a valid syslog server
		address is required for syslog message transmission.

		Specification of a management event does not necessarily
		include the actions to be taken upon its generation,
		i.e., it does not need to specify if a generated event
		needs to be transmitted via SNMP or syslog, or stored
		locally.  Thus, certain default values are specified,
		based on the event's severity level specified by the
		MIB object pktcEventSeverityLevel, as follows:
		    - If the severity level of an event is emerg(0),
		    alert(1), crit(2), or err(3), set the bits for
		    local(0), syslog(1), and snmpInform(3) to a value
		    of '1' and set the remaining bits to a value of '0'.





		    - For an event with any other severity level, set
		    the bits for local(0) and syslog(1) to a value
		    of '1' and set the rest of the bits to a value
		    of '0'."
	-- 1.3.6.1.2.1.182.1.4.1.1.5
	::= { pktcEventEntry 5 }


pktcEventText OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (0..127))
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"This MIB object provides a human-readable
		description of the event.  Descriptions need
		to take into consideration the SnmpAdminString
		definition requirements such as the use of
		control code sequence CR LF to represent a
		newline."
	-- 1.3.6.1.2.1.182.1.4.1.1.6
	::= { pktcEventEntry 6 }


pktcEventClass OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (0..100))
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object represents the event class
		that affects the event.  If an event is associated
		with only one event class, then its name
		(pktcEventClassName) is reported.  If an event
		is associated with more than one event class,
		then the name of the event class with the
		lowest index in the event class table
		(pktcEventClassTable) is reported.

		See the MIB table pktcEventClassTable
		for a description of event classes and usage.

		Descriptions need to take into consideration the
		SnmpAdminString definition requirements, such as
		the use of control code sequence CR LF to
		represent a newline."
	-- 1.3.6.1.2.1.182.1.4.1.1.7
	::= { pktcEventEntry 7 }


---
-- Log of generated events
---

pktcEventLogTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF PktcEventLogEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This MIB table contains a log of the events
		generated by the MTA.

		A description of all the events that can be
		generated by the device can be obtained from the
		MIB table pktcEventTable.

		An MTA is not required to persist the contents of this
		table across resets."
	-- 1.3.6.1.2.1.182.1.5.1
	::= { pktcEventLog 1 }


pktcEventLogEntry OBJECT-TYPE
	SYNTAX  PktcEventLogEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"Each entry in this table describes an event that
		has occurred, indexed in the chronological order of
		generation.  The details of the event are borrowed
		from the parameters associated with the corresponding
		event entry in pktcEventTable at the
		time of the event generation.
		While all entries created as such can be cleared using
		the MIB object pktcEventReset, the event entries
		themselves cannot be individually deleted."
	INDEX {
		pktcEventLogIndex }
	-- 1.3.6.1.2.1.182.1.5.1.1
	::= { pktcEventLogTable 1 }


PktcEventLogEntry ::= SEQUENCE {

	pktcEventLogIndex          Unsigned32,
	pktcEventLogTime           DateAndTime,
	pktcEventLogOrganization   Unsigned32,
	pktcEventLogIdentifier     Unsigned32,
	pktcEventLogText           SnmpAdminString,
	pktcEventLogEndpointName   SnmpAdminString,
	pktcEventLogType           BITS,
	pktcEventLogTargetInfo     SnmpAdminString,
	pktcEventLogCorrelationId  Unsigned32,
	pktcEventLogAdditionalInfo SnmpAdminString }


pktcEventLogIndex OBJECT-TYPE
	SYNTAX  Unsigned32 (1..4294967295)
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This MIB object provides relative ordering of the
		objects in the event log.

		If the MTA implements non-volatile storage,
		then this object will always increase except when
		the MIB object reaches a value of 2^32-1.

		If the MTA does not implement non-volatile storage,
		then this object will always increase except when
		the MIB object reaches a value of 2^32-1 or the MTA
		is reset.

		When the value reaches 2^32-1, or an MTA that does
		not implement non-volatile storage is reset,
		newer events will be stored starting with an index
		value of '1' (cyclic rotation)."
	-- 1.3.6.1.2.1.182.1.5.1.1.1
	::= { pktcEventLogEntry 1 }


pktcEventLogTime OBJECT-TYPE
	SYNTAX  DateAndTime
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object provides a human-readable description
		of the date and time at which the event occurred.
		The value of the date and time contained in this MIB
		object SHOULD reflect the date and time used in the
		syslog message resulting from the associated event,
		if such a syslog message was transmitted."
	-- 1.3.6.1.2.1.182.1.5.1.1.2
	::= { pktcEventLogEntry 2 }


pktcEventLogOrganization OBJECT-TYPE
	SYNTAX  Unsigned32 (1..4294967295)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object provides the IANA enterprise number of
		the organization defining the event.  Thus, all
		PacketCable- or IPCablecom-defined events will contain
		the CableLabs or IPCablecom IANA enterprise number, and
		all vendor-specific events will contain the IANA
		enterprise number of the defining organization."
	-- 1.3.6.1.2.1.182.1.5.1.1.3
	::= { pktcEventLogEntry 3 }


pktcEventLogIdentifier OBJECT-TYPE
	SYNTAX  Unsigned32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains the event identifier for the
		corresponding event."
	-- 1.3.6.1.2.1.182.1.5.1.1.4
	::= { pktcEventLogEntry 4 }


pktcEventLogText OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (0..127))
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains the contents of
		the MIB object pktcEventText, corresponding
		to the event, at the moment of generation."
	-- 1.3.6.1.2.1.182.1.5.1.1.5
	::= { pktcEventLogEntry 5 }


pktcEventLogEndpointName OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (0..255))
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains the unique identifier of the
		MTA endpoint that generated the corresponding event.
		If the generated event was not associated with
		any specific endpoint on the MTA, then this MIB object
		contains the MTA identifier.

		An MTA endpoint can be uniquely identified using a
		combination of the MTA identifier and the endpoint
		number.  The MTA is identified via its Fully-Qualified
		Domain Name (FQDN) and the associated IP address at
		the given point in time.

		The format of the value contained by this MIB object
		is as follows:

		aaln/n:<FQDN>/<IP>, when it identifies an endpoint,
		                    'n' being the endpoint number;
		or,
		<FQDN>/<IP>, when it identifies an MTA.

		The value contained by this MIB object needs to observe
		the SnmpAdminString definition requirements."
	-- 1.3.6.1.2.1.182.1.5.1.1.6
	::= { pktcEventLogEntry 6 }


pktcEventLogType OBJECT-TYPE
	SYNTAX  BITS {
			local(0),
			syslog(1),
			snmpTrap(2),
			snmpInform(3) }
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains the type of actions taken by
		the MTA when the event indicated by the MIB object
		pktcEventLogIdentifier occurred.

		A bit with a value of '1' indicates the corresponding
		action was taken.  Setting it to a value of '0'
		indicates that the corresponding action was not taken.

		An event may trigger one or more actions (e.g., syslog
		and SNMP) or result only in a local log.  An action may
		also be prevented due to throttling, in which case it is
		not reported by this MIB object."
	-- 1.3.6.1.2.1.182.1.5.1.1.7
	::= { pktcEventLogEntry 7 }


pktcEventLogTargetInfo OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (0..255))
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains a comma-separated list of the
		actions taken for external notifications, along with the
		target IP address for the generated events.  Locally
		stored events MUST NOT be recorded in this MIB object.

		The syntax is as:
		<action-1/IP>,<action-2/IP>,<action-3/IP>

		Where <action-n/IP> is to be denoted as follows:
		  For syslog events:
		         syslog/<IP address of the syslog server>
		  For SNMP traps:
		         snmpTrap/<IP address of the SNMP server>
		  For SNMP INFORMS:
		         snmpInform/<IP address of the SNMP server>

		 If there are multiple targets for the same type (SNMP
		 traps sent to multiple IP addresses) or if there are
		 multiple message types sent to the same IP (syslog and
		 SNMP sent to the same IP address), they need to be
		 reported individually.






		 It is to be noted that this MIB object may not be able
		 to store all the data in some cases (e.g., multiple
		 IPv6 addresses), in which case some actions may not be
		 reported.  In such cases, the MTA MUST present a value
		 of '...' at the end of the value.

		 Values contained by this MIB object need to observe the
		 SnmpAdminString definition requirements."
	-- 1.3.6.1.2.1.182.1.5.1.1.8
	::= { pktcEventLogEntry 8 }


pktcEventLogCorrelationId OBJECT-TYPE
	SYNTAX  Unsigned32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains the correlation ID
		generated by the MTA during the initiation of the
		last provisioning flow, within or following which
		the event occurred.

		Although a correlation ID once generated after MTA
		reset does not change until next MTA reset, the
		value of this object will differ for the events
		preserved across MTA resets in case of a persistent
		pktcEventLogTable.

		For more information on the generation of correlation
		IDs, refer to the corresponding PacketCable/IPCablecom
		Device Provisioning specifications."
	REFERENCE
		"PacketCable MTA Device Provisioning Specification,
		[PKT-SP-PROV]."
	-- 1.3.6.1.2.1.182.1.5.1.1.9
	::= { pktcEventLogEntry 9 }


pktcEventLogAdditionalInfo OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (0..255))
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"This MIB object contains additional information
		in relation to the corresponding event that an
		MTA might wish to report, such as parameterized
		data or debugging information.  The format is
		vendor-specific.

		If the MTA cannot provide any additional information for
		the particular event generated, it MUST populate this





		MIB object with a zero-length OCTET-STRING.  Vendors
		providing this information need to observe the
		SnmpAdminString definition requirements, such as the
		use of control code sequence CR LF for newline."
	-- 1.3.6.1.2.1.182.1.5.1.1.10
	::= { pktcEventLogEntry 10 }



---
-- Notifications
---

pktcEventNotification NOTIFICATION-TYPE
	OBJECTS {
		pktcEventLogTime,
		pktcEventLogOrganization,
		pktcEventLogIdentifier,
		pktcEventLogEndpointName,
		pktcEventLogCorrelationId,
		ifPhysAddress}
	STATUS  current
	DESCRIPTION
		"This Notification MIB object contains the contents for
		event reporting.

		It contains the event log time, the organization
		ID, the event identifier, the endpoint identifier, the
		correlation ID, and the MTA's MAC address."
	-- 1.3.6.1.2.1.182.0.1
	::= { pktcEventNotifications 1 }

---
-- Conformance/Compliance
---

pktcEventCompliances OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.2.1
	::= { pktcEventConformance 1 }

pktcEventGroups OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.182.2.2
	::= { pktcEventConformance 2 }


pktcEventBasicCompliance MODULE-COMPLIANCE
	STATUS  current
	DESCRIPTION
		"The compliance statement for devices that implement
		the event-reporting feature."

	MODULE 
	MANDATORY-GROUPS {
			pktcEventGroup,
			pktcEventNotificationGroup }

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

	MODULE SNMP-NOTIFICATION-MIB
	MANDATORY-GROUPS {
			snmpNotifyGroup,
			snmpNotifyFilterGroup }

	-- 1.3.6.1.2.1.182.2.1.3
	::= { pktcEventCompliances 3 }

pktcEventGroup OBJECT-GROUP
	OBJECTS {
		pktcEventReset,
		pktcEventSyslogCapabilities,
		pktcEventSyslogAddressType,
		pktcEventSyslogAddress,
		pktcEventSyslogTransport,
		pktcEventSyslogPort,
		pktcEventSyslogMessageFormat,
		pktcEventThrottleAdminStatus,
		pktcEventThrottleThreshold,
		pktcEventThrottleInterval,
		pktcEventTransmissionStatus,
		pktcEventFacility,
		pktcEventSeverityLevel,
		pktcEventReporting,
		pktcEventText,
		pktcEventLogTime,
		pktcEventLogOrganization,
		pktcEventLogIdentifier,
		pktcEventLogText,
		pktcEventLogEndpointName,
		pktcEventLogType,
		pktcEventLogTargetInfo,
		pktcEventLogCorrelationId,
		pktcEventLogAdditionalInfo,
		pktcEventClass,
		pktcEventClassName,
		pktcEventClassStatus,
		pktcEventClassSeverity }
	STATUS  current
	DESCRIPTION
		"Group of MIB objects for PacketCable Management Event
		MIB."
	-- 1.3.6.1.2.1.182.2.2.1
	::= { pktcEventGroups 1 }

pktcEventNotificationGroup NOTIFICATION-GROUP
	NOTIFICATIONS {
		pktcEventNotification }
	STATUS  current
	DESCRIPTION
		"Group of MIB objects for notifications related to
		change in status of the MTA Device."
	-- 1.3.6.1.2.1.182.2.2.2
	::= { pktcEventGroups 2 }

END
