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" -- 30 March 2009
       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" -- 30 March 2009
 
       DESCRIPTION
          "Initial version, published as RFC 5428."
 
   ::=  { 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 ::= { pktcIetfEventMib 0 }
   pktcEventMibObjects    OBJECT IDENTIFIER ::= { pktcIetfEventMib 1 }
   pktcEventConformance   OBJECT IDENTIFIER ::= { pktcIetfEventMib 2 }
   --
   --
   pktcEventControl   OBJECT IDENTIFIER ::= { pktcEventMibObjects 1 }
   pktcEventThrottle  OBJECT IDENTIFIER ::= { pktcEventMibObjects 2 }
   pktcEventStatus    OBJECT IDENTIFIER ::= { pktcEventMibObjects 3 }
   pktcEvents         OBJECT IDENTIFIER ::= { pktcEventMibObjects 4 }
   pktcEventLog       OBJECT IDENTIFIER ::= { 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."
       ::= { pktcEventControl 1 }
 
   ---
   -- syslog-specific MIB objects
   ---
 
   pktcEventSyslog   OBJECT IDENTIFIER ::= { 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]."
       ::= { 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 }
       ::= { 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" }
       ::= { 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 }
       ::= { 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}
       ::= { 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 }
       ::= { 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."
       ::= { 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 }
       ::= { 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."
       ::= { 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."
       ::= { 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."
       ::= { 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]."
       ::= { 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 }
       ::= { 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 }
       ::= { 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 }
       ::= { 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."
       ::= { 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."
       ::= { 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 }
       ::= { 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]."
       ::= { 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]."
       ::= { 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]."
       ::= { 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]."
       ::= { 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'."
       ::= { 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."
       ::= { 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."
       ::= { 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."
       ::= { 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 }
       ::= { 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)."
       ::= { 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."
       ::= { 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."
       ::= { 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."
       ::= { 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."
       ::= { 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."
       ::= { 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."
       ::= { 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."
       ::= { 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]."
       ::= { 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."
       ::= { 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."
       ::= { pktcEventNotifications 1 }
 
   ---
   -- Conformance/Compliance
   ---
 
   pktcEventCompliances  OBJECT IDENTIFIER ::=
                                         { pktcEventConformance  1 }
   pktcEventGroups       OBJECT IDENTIFIER ::=
                                         { pktcEventConformance  2 }
 
   pktcEventBasicCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
               "The compliance statement for devices that implement
               the event-reporting feature."
 
       MODULE   --pktcIetfEventMib
 
   MANDATORY-GROUPS {
                    pktcEventGroup,
 
                    pktcEventNotificationGroup
                    }
 
          MODULE SNMP-TARGET-MIB
              MANDATORY-GROUPS {
                  snmpTargetBasicGroup,
                  snmpTargetResponseGroup
              }
 
          MODULE SNMP-NOTIFICATION-MIB
              MANDATORY-GROUPS {
                   snmpNotifyGroup,
                   snmpNotifyFilterGroup
              }
 
       ::= { 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."
       ::= { 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."
       ::= { pktcEventGroups 2 }
   END