Internet Printing Protocol Working Group Tom Hastings INTERNET DRAFT Xerox Expires 19 March 2000 Ira McDonald High North 19 September 1999 Definition of Managed Objects for IPP Servers using SMIv2 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." To view the list of Internet-Draft Shadow Directories, see http://www.ietf.org/shadow.html. Abstract This document is a submission to the Internet Printing Protocol Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the ipp@pwg.org mailing list. This document defines the IPP Server MIB for monitoring IPP Printer entities in printers, spoolers, gateways, etc. The IPP Server MIB is designed to be used in conjunction with the Internet Printing Protocol [IPP-PRO]. The IPP Server MIB may also be used to send job-level events via SNMP traps for jobs submitted via any print protocol (not just IPP). Hastings, McDonald Expires 19 March 2000 [Page 1] Internet Draft IPP Server MIB 19 September 1999 Table of Contents 1. Introduction ............................................... 3 1.1. Terminology for Conformance ............................ 3 2. SNMP Network Management Framework .......................... 4 2.1. SNMPv1 Network Management Framework .................... 4 2.1.1. Object Definitions ................................. 4 2.2. SNMPv2 Network Management Framework .................... 4 2.3. SNMPv3 Network Management Framework .................... 5 3. Overview of IPP Server MIB ................................. 7 3.1. Structure of IPP Server MIB ............................ 7 3.2. Relationship to other MIBs ............................. 8 3.3. Registration for IPP Notifications ..................... 8 3.3.1. Registration via IPP ............................... 8 3.3.2. Registration via SNMP .............................. 8 3.4. Encoding Rules for IPP Notifications ................... 9 4. Definition of IPP Server MIB ............................... 10 4.1. IppPrinterState (textual convention) ................... 11 4.2. IppJobState (textual convention) ....................... 12 4.3. IppJobCollationType (textual convention) ............... 12 4.4. IppTriggerEvent (textual convention) ................... 13 4.5. Printer Group (Mandatory) .............................. 13 4.6. Printer URI Group (Mandatory) .......................... 17 4.7. Event Group (Conditionally Mandatory) .................. 19 4.8. Printer Basic Event Group (Conditionally Mandatory) .... 25 4.9. Job Basic Event Group (Conditionally Mandatory) ........ 28 4.10. Job Status Event Group (Conditionally Mandatory) ...... 29 4.11. Job Progress Event Group (Conditionally Mandatory) .... 30 4.12. Conformance Information ............................... 32 5. IANA Considerations ........................................ 37 6. Internationalization Considerations ........................ 37 7. Security Considerations .................................... 37 8. References ................................................. 38 9. Intellectual Property Notice ............................... 38 10. Authors' Addresses ........................................ 38 11. Full Copyright Statement .................................. 39 Hastings, McDonald Expires 19 March 2000 [Page 2] Internet Draft IPP Server MIB 19 September 1999 1. Introduction The IPP Server MIB supports passive monitoring (but not active configuration) of IPP Printer entities, via client polling of SNMP objects in the 'ippPrinterTable' (one row for each configured IPP Printer). The IPP Server MIB supports (optional) dynamic monitoring of events from IPP Printer entities, via server generation of SNMP traps specifying SNMP objects in the IPP Event group. Persistent events are NOT supported in this IPP Server MIB - unlike the the IETF Printer MIB [RFC-1759] that defines an Alert table. 1.1. Terminology for Conformance The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted per [RFC-2119]. Hastings, McDonald Expires 19 March 2000 [Page 3] Internet Draft IPP Server MIB 19 September 1999 2. SNMP Network Management Framework 2.1. SNMPv1 Network Management Framework The SNMPv1 Network Management Framework consists of the following: - RFC 1155 (STD 16) defines Version 1 of the Structure of Management Information (SMIv1), the mechanisms used for describing and naming objects for the purpose of management; - RFC 1212 (STD 16) defines a more concise description mechanism (Concise-SMIv1), that is wholly consistent with the SMIv1; - RFC 1157 (STD 15) defines Version 1 of the Simple Network Management Protocol (SNMPv1), the protocol used for network access to managed objects, including the security model SNMPv1c (Community-based Security with SNMPv1 PDUs). - RFC 1215 defines a convention for defining Traps for use with the SMIv1; - RFC 1213 (STD 17) defines MIB-II, the core set of managed objects for the Internet suite of protocols, including the managed objects for SNMPv1 network management agents. The Framework permits new objects to be defined for the purpose of experimentation and evaluation. 2.1.1. Object Definitions Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) defined in the SMI. In particular, each object object type is named by an OBJECT IDENTIFIER, an administratively assigned name. The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the descriptor, to refer to the object type. 2.2. SNMPv2 Network Management Framework The SNMPv2 Network Management Framework consists of the following: Hastings, McDonald Expires 19 March 2000 [Page 4] Internet Draft IPP Server MIB 19 September 1999 - RFC 1902 (Draft Standard) defines Version 2 of the Structure of Management Information (SMIv2), the mechanisms used for describing and naming objects for the purpose of management - note that RFC 1902 is now obsoleted by RFC 2578 (STD 58); - RFC 1903 (Draft Standard) defines the SMIv2 Textual Conventions, the mechanisms used for defining 'named object types' (refinements of standard SMIv2 types), for use in defining managed objects - note that RFC 1903 is now obsoleted by RFC 2579 (STD 58); - RFC 1904 (Draft Standard) defines the SMIv2 Conformance, the mechanisms used for defining 'conformance statements', for use in specifying precise levels of implementation conformance for management agents - note that RFC 1904 is now obsoleted by RFC 2580 (STD 58); - RFC 1905 (Draft Standard) defines Version 2 of the Simple Network Management Protocol (SNMPv2), the protocol used for network access to managed objects, without any security model (see RFC 1901 below) - note that RFC 1905 PDUs are also used by SNMPv3 in RFC 2574; - RFC 1906 (Draft Standard) defines the SNMPv2 Transport Mappings, used by SNMPv2 'on-the-wire' over various protocol suites; - RFC 1907 (Draft Standard) defines the SNMPv2 Agent MIB, the set of managed objects for SNMPv2 network management agents - note that RFC 1907 is now also used with SNMPv1 (RFC 1157) and SNMPv3 (RFC 2574) agents. The SNMPv2 Network Management Framework is augmented by the following: - RFC 1901 (Experimental) defines the security model SNMPv2c (Community-based Security with SNMPv2 PDUs). 2.3. SNMPv3 Network Management Framework The SNMPv3 Network Management Framework consists of the following: - RFC 2578 (STD 58) defines Version 2 of the Structure of Management Information (SMIv2), the mechanisms used for describing and naming objects for the purpose of management - note that RFC 1902 is now obsoleted by RFC 2578 (STD 58); - RFC 2579 (STD 58) defines the SMIv2 Textual Conventions, the mechanisms used for defining 'named object types' (refinements of standard SMIv2 types), for use in defining managed objects - note that RFC 1903 is now obsoleted by RFC 2579 (STD 58); Hastings, McDonald Expires 19 March 2000 [Page 5] Internet Draft IPP Server MIB 19 September 1999 - RFC 2580 (STD 58) defines the SMIv2 Conformance, the mechanisms used for defining 'conformance statements', for use in specifying precise levels of implementation conformance for management agents - note that RFC 1904 is now obsoleted by RFC 2580 (STD 58); - RFC 2571 (Draft Standard) defines an architecture for describing SNMP Network Management Frameworks, including the SNMP Framework MIB; - RFC 2572 (Draft Standard) defines message processing and dispatching for SNMP, including the SNMP Message Processing MIB; - RFC 2573 (Draft Standard) defines SNMP applications and dispatching for SNMP, including the SNMP Target and Notification MIBs (standardized trap subscription/registration) and SNMP Proxy MIB; - RFC 2574 (Draft Standard) defines Version 3 of the Simple Network Management Protocol (SNMPv3), the protocol used for network access to managed objects, including the security model SNMPv3u (User-based Security with SNMPv2 PDUs - see RFC 2575 below) and the SNMP User-based Security MIB; - RFC 2575 (Draft Standard) defines the View-based Access Control Model for use with all versions of SNMP, including the SNMP View-based Access Control MIB. The SNMPv3 Network Management Framework is augmented by the following: - RFC 1907 (Draft Standard) defines the SNMPv2 Agent MIB, the set of managed objects for SNMPv2 network management agents - note that RFC 1907 is now also used with SNMPv1 (RFC 1157) and SNMPv3 (RFC 2574) agents. Hastings, McDonald Expires 19 March 2000 [Page 6] Internet Draft IPP Server MIB 19 September 1999 3. Overview of IPP Server MIB 3.1. Structure of IPP Server MIB The IPP Server MIB defines three object groups and four notification groups: - Printer Group (Mandatory) The IPP Printer group defines zero (0) leaf objects, one (1) table object, one (1) index object, and ten (10) columnar objects (including 5 counters). 'ippPrinterTable' contains one entry for name, state, and counters of each IPP Printer currently configured on this managed host system. - Printer URI Group (Mandatory) The IPP Printer URI group defines zero (0) leaf objects, one (1) table object, one (1) index object, and three (3) columnar objects. 'ippPrinterURITable' contains one entry for each URI supported of each IPP Printer currently configured on this managed host system. - Event Group (Conditionally Mandatory) The IPP Event group defines twenty-one (21) leaf objects (including 5 counters), zero (0) table objects, zero (0) index objects, and zero (0) columnar objects. The IPP Event group contains objects used as variable-bindings in one or more of the four notifications defined in the IPP Server MIB. - Printer Basic Event Group (Conditionally Mandatory) The IPP Printer Basic Event group defines one (1) notification. 'ippPrinterBasicV2Event' corresponds to IPP 'printer-basic-event'. - Job Basic Event Group (Conditionally Mandatory) The IPP Job Basic Event group defines one (1) notification. 'ippJobBasicV2Event' corresponds to IPP 'job-basic-event'. - Job Status Event Group (Conditionally Mandatory) The IPP Job Status Event group defines one (1) notification. 'ippJobStatusV2Event' corresponds to IPP 'job-status-event'. - Job Progress Event Group (Conditionally Mandatory) The IPP Job Progress Event group defines one (1) notification. 'ippJobProgressV2Event' corresponds to IPP 'job-progress-event'. Hastings, McDonald Expires 19 March 2000 [Page 7] Internet Draft IPP Server MIB 19 September 1999 3.2. Relationship to other MIBs To be supplied - refer to related 'standards track' or 'experimental' SNMP MIBs. 3.3. Registration for IPP Notifications IPP Clients may register for IPP Notifications delivered via SNMP by either of the following methods: 3.3.1. Registration via IPP IPP Create-Subscription and Job creation (Create-Job, Print-Job, Print-URI) operations MAY be used to create per-Printer or per-Job IPP Subscription objects and MAY specify 'notify-recipient' = 'ipp-snmp://hostname[.port]' 3.3.2. Registration via SNMP SNMP Set-Request operations MAY be used to create appropriate rows in the SNMP Target and Notification MIB tables defined in [RFC-2573] and MAY specify: 'snmpTargetAddrTDomain' and 'snmpTargetAddrTAddress' - transport domain and transport address (equivalent to URI) 'snmpTargetAddressTimeout' and 'snmpTargetAddrRetryCount' - retry timeout and limit (for acknowledged notifications delivered using SNMP Inform-Request rather than SNMP Trap) 'snmpTargetAddrStorageType' - row persistence of the registration 'snmpNotifyType' - notification using SNMP Trap (unacknowledged) or SNMP Inform-Request (acknowledged) 'snmpTargetParamsEntry' - notification security and SNMP protocol version Hastings, McDonald Expires 19 March 2000 [Page 8] Internet Draft IPP Server MIB 19 September 1999 3.4. Encoding Rules for IPP Notifications Note: **** Encoding Rules for SNMP Packet Size Limits **** Over some transport protocols, the variable-bindings of this SNMP trap MAY not fit the MTU (maximum transmission unit) size. Conforming IPP Server MIB implementations SHALL perform this procedure to ensure that all variable-bindings of this SNMP trap are always included in the generated SNMP trap packet: 1) Truncate all strings, EXCEPT 'ippEventPrinterStateReasons' (or 'ippEventJobStateReasons' for job-level SNMP traps), to the reduced maximum size that is specified in their corresponding OBJECT clauses in the 'ippMIBCompliance' MODULE-COMPLIANCE macro in this IPP Server MIB. 1a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 2) Truncate the next one of the following string objects to the empty string (zero length in the ASN.1 BER encoding), in the order listed: - 'ippEventSubscriberUserName' - 'ippEventSubscriberUserData' - 'ippEventJobName' 2a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 2b) If all variable-bindings do NOT fit within the MTU, then repeat step (2) for next string object. 3) Truncate the 'ippEventPrinterStateReasons' string object (or 'ippEventJobStateReasons' for job-level SNMP traps) to the reduced maximum size that is specified in its corresponding OBJECT clause in the 'ippMIBCompliance' MODULE-COMPLIANCE macro in this IPP Server MIB, preserving all possible state reasons which triggered this SNMP trap. 3a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 4) Truncate the 'ippEventPrinterStateReasons' string object (or 'ippEventJobStateReasons' for job-level SNMP traps) to the empty string (zero length in the ASN.1 BER encoding). 4a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 4b) If all variable-bindings do NOT fit within the MTU, then -> logic error (variable-bindings MUST now fit). See the DESCRIPTION clauses of the four IPP Server MIB notifications, where the above algorithm is included or referenced: 'ippPrinterBasicV2Event' 'ippJobBasicV2Event' 'ippJobStatusV2Event' 'ippJobProgressV2Event' Hastings, McDonald Expires 19 March 2000 [Page 9] Internet Draft IPP Server MIB 19 September 1999 4. Definition of IPP Server MIB IPP-SERVER-MIB DEFINITIONS ::= BEGIN -- Module: Internet Printing Protocol Server MIB (work-in-progress) -- Editor: Tom Hastings, Ira McDonald -- File: -- Date: 19 September 1999 IMPORTS MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-IDENTITY, OBJECT-TYPE, Counter32, Integer32, experimental FROM SNMPv2-SMI -- IETF RFC 2578 (SMIv2) TEXTUAL-CONVENTION, DisplayString, TruthValue FROM SNMPv2-TC -- IETF RFC 2579 (SMIv2) MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- IETF RFC 2580 (SMIv2) SnmpAdminString FROM SNMP-FRAMEWORK-MIB; -- IETF RFC 2571 (SNMPv3) ippServerMIB MODULE-IDENTITY LAST-UPDATED "9909190000Z" ORGANIZATION "IETF Internet Printing Protocol (IPP) Working Group" CONTACT-INFO " Tom Hastings Postal: Xerox Corporation, MS 834-03E 701 S Aviation Blvd El Segundo, CA 90245 Phone: +1 310-333-6413 Email: hastings@cp10.es.xerox.com Ira McDonald Postal: High North Inc 221 Ridge Ave Grand Marais, MI 49839 Phone: +1 906-494-2434 Email: imcdonal@sdsp.mc.xerox.com" DESCRIPTION "The MIB module for passive monitoring (but not configuration) of IPP Printer entities, via client polling of SNMP objects. Also, the MIB module for dynamic monitoring of specific events Hastings, McDonald Expires 19 March 2000 [Page 10] Internet Draft IPP Server MIB 19 September 1999 from IPP Printers and Jobs, via server generation of SNMP traps (traps defined in this MIB are optional for conformance). Scope: An IPP Printer, for applicability of and conformance to the IPP Server MIB, is an entity playing a request-receiver role (and optional notification-generator role) in the IPP protocol (an embedded printer, a spooler, an application gateway, or any other IPP server-side entity). See: (For IPP attributes referenced in this IPP Server MIB) [IPP-MOD] - IPP/1.0 Model and Semantics - RFC 2566. [IPP-PRO] - IPP/1.0 Encoding and Transport - RFC 2565. [IPP-NOT] - IPP Event Notification (work-in-progress). [PWG-JOB] - PWG Job Monitoring MIB v1.0." -- Revision History REVISION "9909190000Z" -- 19 September 1999 DESCRIPTION "Version 0.3 - aligned w/ [IPP-NOT] - 10 September 1999." REVISION "9908300000Z" -- 30 August 1999 DESCRIPTION "Version 0.2 - aligned w/ [IPP-NOT] - 25 August 1999." REVISION "9908160000Z" -- 16 August 1999 DESCRIPTION "Version 0.1 - aligned w/ Notification Model - 11 August 1999." REVISION "9908090000Z" -- 9 August 1999 DESCRIPTION "Version 0.0 - the initial version." ::= { experimental 9999 } -- to be assigned ippMIBObjects OBJECT IDENTIFIER ::= { ippServerMIB 1 } ippMIBNotifications OBJECT IDENTIFIER ::= { ippServerMIB 2 } ippMIBConformance OBJECT IDENTIFIER ::= { ippServerMIB 3 } -- -- Textual Conventions -- IppPrinterState ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The current state of this IPP Printer. See: Section 4.4.10 'printer-state' in [IPP-MOD]." SYNTAX INTEGER { other(1), unknown(2), idle(3), Hastings, McDonald Expires 19 March 2000 [Page 11] Internet Draft IPP Server MIB 19 September 1999 processing(4), stopped(5) } IppJobState ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The current state of this IPP Job. See: Section 4.3.7 'job-state' in [IPP-MOD]." SYNTAX INTEGER { other(1), unknown(2), pending(3), pendingHeld(4), processing(5), processingStopped(6), canceled(7), aborted(8), completed(9) } IppJobCollationType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The collation type (for Documents and Copies) of this IPP Job. See: 'JmJobCollationTypeTC' and 'jobCollationType' in [PWG-JOB]; Section 7 'Notification Content' in [IPP-NOT]." SYNTAX INTEGER { other(1), unknown(2), uncollatedSheets(3), -- sheets within each document copy -- are not collated: 1 1 ..., 2 2 ..., -- No corresponding value of IPP -- "multiple-document-handling" collatedDocuments(4), -- internal collated sheets, -- documents: A, B, A, B, ... -- Corresponds to IPP "multiple- -- document-handling"='separate- -- documents-collated-copies' uncollatedDocuments(5) -- internal collated sheets, -- documents: A, A, ..., B, B, ... -- Corresponds to IPP "multiple- -- document-handling"='separate- -- documents-uncollated-copies' } Hastings, McDonald Expires 19 March 2000 [Page 12] Internet Draft IPP Server MIB 19 September 1999 IppTriggerEvent ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The trigger event type for this IPP event (SNMP trap). See: Section 5.2 'notify-events' and Section 7 'Notification Content' in [IPP-NOT]." SYNTAX INTEGER { other(1), unknown(2), none(3), -- SHOULD not be used printerRestarted(101), -- 'printer-restarted' printerShutdown(102), -- 'printer-shutdown' printerStateChanged(103), -- 'printer-state-changed' printerMediaChanged(104), -- 'printer-media-changed' printerConfigChanged(105), -- 'printer-config-changed' printerQueueChanged(106), -- 'printer-queue-changed' printerNoLongerFull(107), -- 'printer-no-longer-full' printerAlmostIdle(108), -- 'printer-almost-idle' jobCreated(201), -- 'job-created' jobCompleted(202), -- 'job-completed' jobStateChanged(203), -- 'job-state-changed' jobConfigChanged(204), -- 'job-config-changed' jobPurged(205), -- 'job-purged' jobProgress(206) -- 'job-progress' } -- Printer Group (Mandatory) -- -- Implementation of this group is mandatory for all systems which -- implement the Internet Printing Protocol and this IPP Server MIB. ippPrinter OBJECT IDENTIFIER ::= { ippMIBObjects 1 } ippPrinterTable OBJECT-TYPE SYNTAX SEQUENCE OF IppPrinterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of IPP Printers on this managed host system. Conformance: Rows in this conceptual table SHOULD be permanent (preserved across hardware resets and reboots), although they MAY be added, removed, or modified by system administrators (by some means outside the scope of this IPP Server MIB). See: Section 4.4 'Printer Description Attributes' and Section 2.1 'Printer Object' in [IPP-MOD]." ::= { ippPrinter 1 } ippPrinterEntry OBJECT-TYPE Hastings, McDonald Expires 19 March 2000 [Page 13] Internet Draft IPP Server MIB 19 September 1999 SYNTAX IppPrinterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry for an IPP Printer on this managed host system." INDEX { ippPrinterIndex } ::= { ippPrinterTable 1 } IppPrinterEntry ::= SEQUENCE { ippPrinterIndex Integer32 (1..2147483647), ippPrinterNaturalLanguage DisplayString (SIZE (0..63)), ippPrinterName SnmpAdminString (SIZE (0..127)), ippPrinterState IppPrinterState, ippPrinterStateReasons SnmpAdminString (SIZE (0..255)), ippPrinterIsAcceptingJobs TruthValue, ippPrinterIncomingConnections Counter32, -- client connections ippPrinterIncomingRequests Counter32, -- operation requests ippPrinterOutgoingErrors Counter32, -- error responses ippPrinterOutgoingWarnings Counter32, -- warning responses ippPrinterOutgoingEvents Counter32 -- notifications } -- Example: -- -- ippPrinterIndex = 1 -- ippPrinterNaturalLanguage = 'en-us' -- ippPrinterName = 'marsupial' -- ippPrinterState = 'idle(3)' -- ippPrinterStateReasons = 'paused' -- ippPrinterIsAcceptingJobs = 'true(1)' -- ippPrinterIncomingConnections = 2487 -- ippPrinterIncomingRequests = 32456 -- ippPrinterOutgoingErrors = 937 -- ippPrinterOutgoingWarnings = 1236 -- ippPrinterOutgoingEvents = 127778 ippPrinterIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The local unique identifier of this 'ippPrinterTable' row." ::= { ippPrinterEntry 1 } ippPrinterNaturalLanguage OBJECT-TYPE SYNTAX DisplayString (SIZE (0..63)) -- 63 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The natural language configured on this IPP Printer, specified as a language-tag per RFC 1766, using International Hastings, McDonald Expires 19 March 2000 [Page 14] Internet Draft IPP Server MIB 19 September 1999 Standard language codes (ISO 639) and country codes (ISO 3166). In particular, the natural language of 'ippPrinterName'. Conformance: This printer natural language SHALL be lowercase normalized, per [IPP-MOD]. See: Section 4.4.16 'natural-language-configured' and Section 4.1.8 'naturalLanguage' in [IPP-MOD]; Section 2 'The Language tag' in RFC 1766, 'Tags for the Identification of Languages'; Section 4 'Languages' in RFC 2277 / BCP 18, 'IETF Policy on Character Sets and Languages'." -- DEFVAL intentionally omitted - natural language SHALL be valid ::= { ippPrinterEntry 2 } ippPrinterName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..127)) -- 127 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The administrative name configured on this IPP Printer. See: Section 4.4.4 'printer-name' and Section 4.1.2 'name' in [IPP-MOD]." DEFVAL { ''H } -- no printer name ::= { ippPrinterEntry 3 } ippPrinterState OBJECT-TYPE SYNTAX IppPrinterState MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of this IPP Printer. See: Section 4.4.11 'printer-state' in [IPP-MOD]." -- DEFVAL intentionally omitted - current state SHALL be valid ::= { ippPrinterEntry 4 } ippPrinterStateReasons OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) -- multivalue in IPP MAX-ACCESS read-only STATUS current DESCRIPTION "The comma-separated list of state reasons on this IPP Printer. These printer state reasons are English keywords, NOT localized. Note: The datatype 'SnmpAdminString' permits any future IPP extension to 'keyword or name', allowing product-specific and/or site-specific names (in locale of 'ippPrinterNaturalLanguage') to be present in this object. See: Section 4.4.12 'printer-state-reasons' and Section 4.1.3 'keyword' in [IPP-MOD]." Hastings, McDonald Expires 19 March 2000 [Page 15] Internet Draft IPP Server MIB 19 September 1999 -- DEFVAL intentionally omitted - state reasons SHALL be valid ::= { ippPrinterEntry 5 } ippPrinterIsAcceptingJobs OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The current mode for new end-user jobs on this IPP Printer. 'true' - this IPP Printer is currently accepting new jobs 'false' - this IPP Printer is NOT currently accepting new jobs See: Section 4.4.23 'printer-is-accepting-jobs' and Section 4.1.11 'boolean' in [IPP-MOD]." DEFVAL { true } -- printer is accepting jobs ::= { ippPrinterEntry 6 } ippPrinterIncomingConnections OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total incoming connections received by this IPP Printer." ::= { ippPrinterEntry 7 } ippPrinterIncomingRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total incoming requests received by this IPP Printer." ::= { ippPrinterEntry 8 } ippPrinterOutgoingErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total outgoing error responses sent by this IPP Printer." ::= { ippPrinterEntry 9 } ippPrinterOutgoingWarnings OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total outgoing warning responses sent by this IPP Printer." ::= { ippPrinterEntry 10 } ippPrinterOutgoingEvents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Hastings, McDonald Expires 19 March 2000 [Page 16] Internet Draft IPP Server MIB 19 September 1999 STATUS current DESCRIPTION "The total outgoing events sent by this IPP Printer." ::= { ippPrinterEntry 11 } -- Printer URI Group (Mandatory) -- -- Implementation of this group is mandatory for all systems which -- implement the Internet Printing Protocol and this IPP Server MIB. ippPrinterURI OBJECT IDENTIFIER ::= { ippMIBObjects 2 } ippPrinterURITable OBJECT-TYPE SYNTAX SEQUENCE OF IppPrinterURIEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of IPP Printer URI on this managed host system. Conformance: Rows in this conceptual table SHOULD be permanent (preserved across hardware resets and reboots), although they MAY be added, removed, or modified by system administrators (by some means outside the scope of this IPP Server MIB). See: Section 4.4 'Printer Description Attributes' and Section 2.1 'Printer Object' in [IPP-MOD]." ::= { ippPrinterURI 1 } ippPrinterURIEntry OBJECT-TYPE SYNTAX IppPrinterURIEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry for an IPP Printer URI on this managed host system." INDEX { ippPrinterIndex, ippPrinterURIIndex } ::= { ippPrinterURITable 1 } IppPrinterURIEntry ::= SEQUENCE { ippPrinterURIIndex Integer32 (1..2147483647), ippPrinterURIString SnmpAdminString (SIZE (0..255)), ippPrinterURIAuthentication SnmpAdminString (SIZE (0..63)), ippPrinterURISecurity SnmpAdminString (SIZE (0..63)) } -- Example: -- -- ippPrinterURIIndex = 1 -- ippPrinterURIString = 'ipp://wombat.com/printer' -- ippPrinterURIAuthentication = 'digest' (RFC 2617) -- ippPrinterURISecurity = 'tls' (RFC 2246) Hastings, McDonald Expires 19 March 2000 [Page 17] Internet Draft IPP Server MIB 19 September 1999 ippPrinterURIIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The local unique identifier of this 'ippPrinterURITable' row, when prefixed by 'ippPrinterIndex'." ::= { ippPrinterURIEntry 1 } ippPrinterURIString OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) -- 1023 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "A printer URI supported on this IPP Printer. This URI conforms to the syntax specified in RFC 2396. Note: The datatype 'SnmpAdminString' permits any future IPP extension to native UTF-8, allowing international URI (without using the hexadecimal escapes specified in RFC 2396) to be present in this object. See: Section 4.4.1 'printer-uri-supported' and Section 4.1.5 'uri' in [IPP-MOD]; Section 5.10 'printer-uri' in [IPP-NOT]." -- DEFVAL intentionally omitted - printer URI SHALL be valid ::= { ippPrinterURIEntry 2 } ippPrinterURIAuthentication OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..63)) -- 255 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The authentication mode supported for this IPP Printer URI. This authentication mode is an English keyword, NOT localized. Note: The datatype 'SnmpAdminString' permits any future IPP extension to 'keyword or name', allowing product-specific and/or site-specific names (in locale of 'ippPrinterNaturalLanguage') to be present in this object. See: Section 4.4.2 'uri-authentication-supported' and Section 4.1.3 'keyword' in [IPP-MOD]." -- DEFVAL intentionally omitted - authentication SHALL be valid ::= { ippPrinterURIEntry 3 } ippPrinterURISecurity OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..63)) -- 255 in [IPP-MOD] MAX-ACCESS read-only STATUS current Hastings, McDonald Expires 19 March 2000 [Page 18] Internet Draft IPP Server MIB 19 September 1999 DESCRIPTION "The security mode supported on this IPP Printer URI. This security mode is an English keyword, NOT localized. Note: The datatype 'SnmpAdminString' permits any future IPP extension to 'keyword or name', allowing product-specific and/or site-specific names (in locale of 'ippPrinterNaturalLanguage') to be present in this object. See: Section 4.4.3 'uri-security-supported' and Section 4.1.3 'keyword' in [IPP-MOD]." -- DEFVAL intentionally omitted - security SHALL be valid ::= { ippPrinterURIEntry 4 } -- Event Group (Conditionally Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which deliver any IPP events via SNMP. ippEvent OBJECT IDENTIFIER ::= { ippMIBObjects 3 } -- Example: -- -- ippEventVersionNumber = '1.0' -- ippEventRequestID = 35 -- ippEventNaturalLanguage = 'en-us' -- ippEventPrinterIndex = 1 -- ippEventPrinterURIIndex = 2 -- ippEventJobID = 267 -- ippEventJobName = 'Project schedule' -- ippEventTriggerEvent = 'jobStateChanged(203)' -- ippEventSubscriptionID = 457 -- ippEventSubscriberUserName = 'thastings' -- ippEventSubscriberUserData = '1234' -- ippEventPrinterState = 'processing(4)' -- ippEventPrinterStateReasons = 'media-need' -- ippEventPrinterIsAcceptingJobs = 'true(1)' -- ippEventJobState = 'processing(5)' -- ippEventJobStateReasons = 'job-printing' -- ippEventJobKOctetsCompleted = 327 -- ippEventImpressionsCompleted = 264 -- ippEventMediaSheetsCompleted = 132 -- ippEventJobCollationType = 'uncollatedSheets(3)' -- ippEventSheetCompletedCopyNum = 1 -- ippEventSheetCompletedDocNum = 1 -- ippEventImpressionsInterpreted = 286 -- ippEventImpressionsCompletedCC = 264 ippEventVersionNumber OBJECT-TYPE SYNTAX DisplayString (SIZE (0..10)) -- 255 in [IPP-MOD] MAX-ACCESS read-only Hastings, McDonald Expires 19 March 2000 [Page 19] Internet Draft IPP Server MIB 19 September 1999 STATUS current DESCRIPTION "The IPP version number used to encode this IPP event. See: Section 4.4.14 'ipp-versions-supported' in [IPP-MOD]; Section 3.3 'Version-number' in [IPP-PRO]." -- DEFVAL intentionally omitted - version number SHALL be valid ::= { ippEvent 1 } ippEventRequestID OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The request identifier (sequence number) for this IPP event or zero (if not applicable, because this is a unique event). See: Section 3.6 'Request-id' of [IPP-PRO]; Section 5.7 'request-id' of [IPP-NOT]." DEFVAL { 0 } -- no request ID ::= { ippEvent 2 } ippEventNaturalLanguage OBJECT-TYPE SYNTAX DisplayString (SIZE (0..63)) -- 63 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The natural language of text string attributes in this event, specified as a language-tag per RFC 1766, using International Standard language codes (ISO 639) and country codes (ISO 3166). In particular, the natural language of 'ippEventJobName' (when present in the variable-bindings of this event). Conformance: This event natural language SHALL be lowercase normalized, per [IPP-MOD]. See: Section 4.4.16 'natural-language-configured' and Section 4.1.8 'naturalLanguage' in [IPP-MOD]; Section 5.6 'attributes-natural-language' in [IPP-NOT]; Section 2 'The Language tag' in RFC 1766, 'Tags for the Identification of Languages'; Section 4 'Languages' in RFC 2277 / BCP 18, 'IETF Policy on Character Sets and Languages'." -- DEFVAL intentionally omitted - natural language SHALL be valid ::= { ippEvent 3 } ippEventPrinterIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of 'ippPrinterIndex' for this IPP event or zero (if not applicable, because no printer is associated). Hastings, McDonald Expires 19 March 2000 [Page 20] Internet Draft IPP Server MIB 19 September 1999 See: 'ippPrinterIndex' in this IPP Server MIB." DEFVAL { 0 } -- no printer associated ::= { ippEvent 4 } ippEventPrinterURIIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of 'ippPrinterURIIndex' for this IPP event or zero (if not applicable, because no printer is associated). See: 'ippPrinterURIIndex' in this IPP Server MIB." DEFVAL { 0 } -- no printer associated ::= { ippEvent 5 } ippEventJobID OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job identifier for this IPP event or zero (if not applicable, because no job is associated). See: Section 4.3.2 'job-id' of [IPP-MOD]." DEFVAL { 0 } -- no job identifier ::= { ippEvent 6 } ippEventJobName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) -- 1023 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The name submitted by owner at creation time of this IPP Job. See: Section 4.3.5 'job-name' and Section 4.1.2 'name' in [IPP-MOD]." DEFVAL { ''H } -- no job name ::= { ippEvent 7 } ippEventTriggerEvent OBJECT-TYPE SYNTAX IppTriggerEvent MAX-ACCESS read-only STATUS current DESCRIPTION "The trigger event type for this IPP event (SNMP trap). See: Section 5.2 'notify-events' and Section 7 'Notification Content' in [IPP-NOT]." -- DEFVAL intentionally omitted - trigger event SHALL be valid ::= { ippEvent 8 } ippEventSubscriptionID OBJECT-TYPE SYNTAX Integer32 (0..2147483647) Hastings, McDonald Expires 19 March 2000 [Page 21] Internet Draft IPP Server MIB 19 September 1999 MAX-ACCESS read-only STATUS current DESCRIPTION "The subscription identifier for this IPP event or zero (if not applicable, because this is a unique event). See: Section 5.8 'subscription-id' and Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { 0 } -- no subscription ID ::= { ippEvent 9 } ippEventSubscriberUserName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) -- 1023 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The subscriber user name associated with this IPP event. See: Section 4.3.6 'job-originating-user-name' in [IPP-MOD]; Section 5.11 'subscriber-user-name' and Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { ''H } -- no subscriber user name ::= { ippEvent 10 } ippEventSubscriberUserData OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..63)) -- 63 in [IPP-NOT] MAX-ACCESS read-only STATUS current DESCRIPTION "The subscriber user data associated with this IPP event. See: Section 5.4 'subscriber-user-data' and Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { ''H } -- no subscriber user data ::= { ippEvent 11 } ippEventPrinterState OBJECT-TYPE SYNTAX IppPrinterState MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of this IPP Printer. See: Section 4.4.11 'printer-state' in [IPP-MOD]." -- DEFVAL intentionally omitted - current state SHALL be valid ::= { ippEvent 12 } ippEventPrinterStateReasons OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) -- multivalue in IPP MAX-ACCESS read-only STATUS current DESCRIPTION "The comma-separated list of state reasons on this IPP Printer. These printer state reasons are English keywords, NOT localized. Hastings, McDonald Expires 19 March 2000 [Page 22] Internet Draft IPP Server MIB 19 September 1999 Note: The datatype 'SnmpAdminString' permits any future IPP extension to 'keyword or name', allowing product-specific and/or site-specific names (in locale of 'ippEventNaturalLanguage') to be present in this object. See: Section 4.4.12 'printer-state-reasons' and Section 4.1.3 'keyword' in [IPP-MOD]." -- DEFVAL intentionally omitted - state reasons SHALL be valid ::= { ippEvent 13 } ippEventPrinterIsAcceptingJobs OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The current mode for new end-user jobs on this IPP Printer. 'true' - this IPP Printer is currently accepting new jobs 'false' - this IPP Printer is NOT currently accepting new jobs See: Section 4.4.23 'printer-is-accepting-jobs' and Section 4.1.11 'boolean' in [IPP-MOD]." DEFVAL { true } -- printer is accepting jobs ::= { ippEvent 14 } ippEventJobState OBJECT-TYPE SYNTAX IppJobState MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of this IPP Job. See: Section 4.3.7 'job-state' in [IPP-MOD]." -- DEFVAL intentionally omitted - current state SHALL be valid ::= { ippEvent 15 } ippEventJobStateReasons OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) -- multivalue in IPP MAX-ACCESS read-only STATUS current DESCRIPTION "The comma-separated list of state reasons on this IPP Job. These job state reasons are English keywords, NOT localized. Note: The datatype 'SnmpAdminString' permits any future IPP extension to 'keyword or name', allowing product-specific and/or site-specific names (in locale of 'ippEventNaturalLanguage') to be present in this object. See: Section 4.3.8 'job-state-reasons' and Section 4.1.3 'keyword' in [IPP-MOD]." -- DEFVAL intentionally omitted - state reasons SHALL be valid ::= { ippEvent 16 } Hastings, McDonald Expires 19 March 2000 [Page 23] Internet Draft IPP Server MIB 19 September 1999 ippEventJobKOctetsProcessed OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of octets processed in K octets, rounded up. See: Section 4.3.18.1 'job-k-octets-processed' and Section 4.1.12 'integer' in [IPP-MOD]." -- DEFVAL omitted per SMIv2 - should be initialized to zero ::= { ippEvent 17 } ippEventImpressionsCompleted OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of impressions completed for this IPP Job. See: Section 4.3.18.2 'job-impressions-completed' and Section 4.1.12 'integer' in [IPP-MOD]." -- DEFVAL omitted per SMIv2 - should be initialized to zero ::= { ippEvent 18 } ippEventMediaSheetsCompleted OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of media sheets completed for this IPP Job. See: Section 4.3.18.3 'job-media-sheets-completed' and Section 4.1.12 'integer' in [IPP-MOD]." -- DEFVAL omitted per SMIv2 - should be initialized to zero ::= { ippEvent 19 } ippEventJobCollationType OBJECT-TYPE SYNTAX IppJobCollationType MAX-ACCESS read-only STATUS current DESCRIPTION "The collation type (for Documents and Copies) of this IPP Job. See: 'JmJobCollationTypeTC' and 'jobCollationType' in [PWG-JOB]; Section 7 'Notification Content' in [IPP-NOT]." -- DEFVAL intentionally omitted - job collation type SHALL be valid ::= { ippEvent 20 } ippEventSheetCompletedCopyNum OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION Hastings, McDonald Expires 19 March 2000 [Page 24] Internet Draft IPP Server MIB 19 September 1999 "The ordinal number of the Copy currently being stacked for the current Document in this IPP Job. See: 'sheetCompletedCopyNumber' in [PWG-JOB]; Section 7 'Notification Content' in [IPP-NOT]." -- DEFVAL intentionally omitted - copy number SHALL be valid ::= { ippEvent 21 } ippEventSheetCompletedDocNum OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The ordinal number of the Document currently being stacked for this IPP Job. See: 'sheetCompletedDocumentNumber' in [PWG-JOB]; Section 7 'Notification Content' in [IPP-NOT]." -- DEFVAL intentionally omitted - document number SHALL be valid ::= { ippEvent 22 } ippEventImpressionsInterpreted OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of impressions interpreted for this IPP Job. See: 'impressionsInterpreted' in [PWG-JOB]; Section 7 'Notification Content' in [IPP-NOT]." -- DEFVAL omitted per SMIv2 - should be initialized to zero ::= { ippEvent 23 } ippEventImpressionsCompletedCC OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of impressions completed for the current Copy of the current Document in this IPP Job. See: 'impressionsCompletedCurrentCopy' in [PWG-JOB]; Section 7 'Notification Content' in [IPP-NOT]." -- DEFVAL omitted per SMIv2 - should be initialized to zero ::= { ippEvent 24 } -- Printer Basic Event Group (Conditionally Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which deliver this IPP event via SNMP. ippPrinterBasicV1Enterprise OBJECT-IDENTITY STATUS current DESCRIPTION "The value of the enterprise-specific OID in an SNMPv1 trap Hastings, McDonald Expires 19 March 2000 [Page 25] Internet Draft IPP Server MIB 19 September 1999 for a 'printer-basic-event' generated by this managed system." ::= { ippMIBNotifications 1 } ippPrinterBasicV2EventPrefix OBJECT IDENTIFIER ::= { ippPrinterBasicV1Enterprise 0 } ippPrinterBasicV2Event NOTIFICATION-TYPE OBJECTS { ippEventVersionNumber, ippEventRequestID, ippEventNaturalLanguage, ippEventPrinterIndex, ippEventPrinterURIIndex, ippEventJobID, -- per-job subscription events ippEventJobName, -- per-job subscription events ippEventTriggerEvent, ippEventSubscriptionID, ippEventSubscriberUserName, ippEventSubscriberUserData, ippEventPrinterState, ippEventPrinterStateReasons, ippEventPrinterIsAcceptingJobs } STATUS current DESCRIPTION "This SMIv2 trap corresponds to the IPP 'printer-basic-event'. This trap is sent whenever requested by a prior subscription for the included printer-level 'ippEventTriggerEvent', which may be: - 'printer-restarted' - 'printer-shutdown' - 'printer-state-changed' - 'printer-media-changed' - 'printer-config-changed' - 'printer-queue-changed' - 'printer-no-longer-full' - 'printer-almost-idle' - or other registered IPP 'printer-basic-event' trigger Additional variable-bindings MAY be appended to this trap: - IPP Printers, which support 'printer-current-time', SHALL add 'hrSystemDate' from the IETF Host Resources MIB (RFC 1514). - IPP Printers MAY add any other useful object from any MIB. The IPP Notification attribute 'printer-uri' has been included by reference (not by value) in these variable-bindings (via 'ippEventPrinterIndex' and 'ippEventPrinterURIIndex'). The IPP Notification attribute 'printer-name' has been included by reference (not by value) in these variable-bindings (via 'ippEventPrinterIndex'). Hastings, McDonald Expires 19 March 2000 [Page 26] Internet Draft IPP Server MIB 19 September 1999 The IPP Notification attribute 'attributes-charset' has been omitted from these variable bindings, since the UTF-8 string type 'SnmpAdminString' from RFC 2571 (SNMPv3 Framework MIB) is used in this IPP Server MIB, for compliance with RFC 2277 (IETF Policy on Character Sets and Languages, January 1998). IPP Printer implementations MUST support UTF-8, per [IPP-MOD]. The IPP Notification attribute 'trigger-time' has been omitted from these variable-bindings, since the mandatory object 'sysUpTime' from the System group of IETF MIB-II (RFC 1213) MUST be included in SNMPv1, SNMPv2, and SNMPv3 traps (either in the envelope in SNMPv1 or as a fixed binding in SNMPv2/v3). Note: **** Encoding Rules for SNMP Packet Size Limits **** Over some transport protocols, the variable-bindings of this SNMP trap MAY not fit the MTU (maximum transmission unit) size. Conforming IPP Server MIB implementations SHALL perform this procedure to ensure that all variable-bindings of this SNMP trap are always included in the generated SNMP trap packet: 1) Truncate all strings, EXCEPT 'ippEventPrinterStateReasons', to the reduced maximum size that is specified in their corresponding OBJECT clauses in the 'ippMIBCompliance' MODULE-COMPLIANCE macro in this IPP Server MIB. 1a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 2) Truncate the next one of the following string objects to the empty string (zero length in the ASN.1 BER encoding), in the order listed: - 'ippEventSubscriberUserName' - 'ippEventSubscriberUserData' - 'ippEventJobName' 2a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 2b) If all variable-bindings do NOT fit within the MTU, then repeat step (2) for next string object. 3) Truncate the 'ippEventPrinterStateReasons' string object to the reduced maximum size that is specified in its corresponding OBJECT clause in the 'ippMIBCompliance' MODULE-COMPLIANCE macro in this IPP Server MIB, preserving all possible state reasons which triggered this SNMP trap. 3a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 4) Truncate the 'ippEventPrinterStateReasons' string object to the empty string (zero length in the ASN.1 BER encoding). 4a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 4b) If all variable-bindings do NOT fit within the MTU, then -> logic error (variable-bindings MUST now fit)." ::= { ippPrinterBasicV2EventPrefix 1 } Hastings, McDonald Expires 19 March 2000 [Page 27] Internet Draft IPP Server MIB 19 September 1999 -- Job Basic Event Group (Conditionally Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which deliver this IPP event via SNMP. ippJobBasicV1Enterprise OBJECT-IDENTITY STATUS current DESCRIPTION "The value of the enterprise-specific OID in an SNMPv1 trap for a 'job-basic-event' generated by this managed system." ::= { ippMIBNotifications 2 } ippJobBasicV2EventPrefix OBJECT IDENTIFIER ::= { ippJobBasicV1Enterprise 0 } ippJobBasicV2Event NOTIFICATION-TYPE OBJECTS { ippEventVersionNumber, ippEventRequestID, ippEventNaturalLanguage, ippEventPrinterIndex, ippEventPrinterURIIndex, ippEventJobID, ippEventJobName, ippEventTriggerEvent, ippEventSubscriptionID, ippEventSubscriberUserName, ippEventSubscriberUserData, ippEventJobState, ippEventJobStateReasons } STATUS current DESCRIPTION "This SMIv2 trap corresponds to the IPP 'job-basic-event'. This trap is sent whenever requested by a prior subscription for the included job-level 'ippEventTriggerEvent', which may be: - 'job-created' - 'job-config-changed' - or other registered IPP 'job-basic-event' trigger Additional variable-bindings MAY be appended to this trap: - IPP Printers, which support 'printer-current-time', SHALL add 'hrSystemDate' from the IETF Host Resources MIB (RFC 1514). - IPP Printers MAY add any other useful object from any MIB. See: DESCRIPTION clause of 'ippPrinterBasicV2Event' trap for information about (apparently) omitted IPP attributes. Note: **** Encoding Rules for SNMP Packet Size Limits **** Hastings, McDonald Expires 19 March 2000 [Page 28] Internet Draft IPP Server MIB 19 September 1999 Over some transport protocols, the variable-bindings of this SNMP trap MAY not fit the MTU (maximum transmission unit) size. Conforming IPP Server MIB implementations SHALL perform this procedure to ensure that all variable-bindings of this SNMP trap are always included in the generated SNMP trap packet: 1) Truncate all strings, EXCEPT 'ippEventJobStateReasons', to the reduced maximum size that is specified in their corresponding OBJECT clauses in the 'ippMIBCompliance' MODULE-COMPLIANCE macro in this IPP Server MIB. 1a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 2) Truncate the next one of the following string objects to the empty string (zero length in the ASN.1 BER encoding), in the order listed: - 'ippEventSubscriberUserName' - 'ippEventSubscriberUserData' - 'ippEventJobName' 2a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 2b) If all variable-bindings do NOT fit within the MTU, then repeat step (2) for next string object. 3) Truncate the 'ippEventJobStateReasons' string object to the reduced maximum size that is specified in its corresponding OBJECT clause in the 'ippMIBCompliance' MODULE-COMPLIANCE macro in this IPP Server MIB, preserving all possible state reasons which triggered this SNMP trap. 3a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 4) Truncate the 'ippEventJobStateReasons' string object to the empty string (zero length in the ASN.1 BER encoding). 4a) If all variable-bindings now fit within the MTU, then exit this procedure and generate the SNMP trap. 4b) If all variable-bindings do NOT fit within the MTU, then -> logic error (variable-bindings MUST now fit)." ::= { ippJobBasicV2EventPrefix 1 } -- Job Status Event Group (Conditionally Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which deliver this IPP event via SNMP. ippJobStatusV1Enterprise OBJECT-IDENTITY STATUS current DESCRIPTION "The value of the enterprise-specific OID in an SNMPv1 trap for a 'job-status-event' generated by this managed system." ::= { ippMIBNotifications 3 } ippJobStatusV2EventPrefix OBJECT IDENTIFIER ::= { ippJobStatusV1Enterprise 0 } Hastings, McDonald Expires 19 March 2000 [Page 29] Internet Draft IPP Server MIB 19 September 1999 ippJobStatusV2Event NOTIFICATION-TYPE OBJECTS { ippEventVersionNumber, ippEventRequestID, ippEventNaturalLanguage, ippEventPrinterIndex, ippEventPrinterURIIndex, ippEventJobID, ippEventJobName, ippEventTriggerEvent, ippEventSubscriptionID, ippEventSubscriberUserName, ippEventSubscriberUserData, ippEventJobState, ippEventJobStateReasons, ippEventJobKOctetsProcessed, ippEventImpressionsCompleted, ippEventMediaSheetsCompleted } STATUS current DESCRIPTION "This SMIv2 trap corresponds to the IPP 'job-status-event'. This trap is sent whenever requested by a prior subscription for the included job-level 'ippEventTriggerEvent', which may be: - 'job-completed' - 'job-state-changed' - 'job-purged' - or other registered IPP 'job-status-event' trigger Additional variable-bindings MAY be appended to this trap: - IPP Printers, which support 'printer-current-time', SHALL add 'hrSystemDate' from the IETF Host Resources MIB (RFC 1514). - IPP Printers MAY add any other useful object from any MIB. See: DESCRIPTION clause of 'ippPrinterBasicV2Event' trap for information about (apparently) omitted IPP attributes. See: DESCRIPTION clause of 'ippJobBasicV2Event' trap for required encoding rules for SNMP packet size limits." ::= { ippJobStatusV2EventPrefix 1 } -- Job Progress Event Group (Conditionally Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which deliver this IPP event via SNMP. ippJobProgressV1Enterprise OBJECT-IDENTITY STATUS current DESCRIPTION Hastings, McDonald Expires 19 March 2000 [Page 30] Internet Draft IPP Server MIB 19 September 1999 "The value of the enterprise-specific OID in an SNMPv1 trap for a 'job-progress-event' generated by this managed system." ::= { ippMIBNotifications 4 } ippJobProgressV2EventPrefix OBJECT IDENTIFIER ::= { ippJobProgressV1Enterprise 0 } ippJobProgressV2Event NOTIFICATION-TYPE OBJECTS { ippEventVersionNumber, ippEventRequestID, ippEventNaturalLanguage, ippEventPrinterIndex, ippEventPrinterURIIndex, ippEventJobID, ippEventJobName, ippEventTriggerEvent, ippEventSubscriptionID, ippEventJobKOctetsProcessed, ippEventImpressionsCompleted, ippEventMediaSheetsCompleted, ippEventJobCollationType, ippEventSheetCompletedCopyNum, ippEventSheetCompletedDocNum, ippEventImpressionsInterpreted, ippEventImpressionsCompletedCC } STATUS current DESCRIPTION "This SMIv2 trap corresponds to the IPP 'job-progress-event'. This trap is sent whenever requested by a prior subscription for the included job-level 'ippEventTriggerEvent', which may be: - 'job-progress' - or other registered IPP 'job-progress-event' trigger Additional variable-bindings MAY be appended to this trap: - IPP Printers, which support 'printer-current-time', SHALL add 'hrSystemDate' from the IETF Host Resources MIB (RFC 1514). - IPP Printers MAY add any other useful object from any MIB. See: DESCRIPTION clause of 'ippPrinterBasicV2Event' trap for information about (apparently) omitted IPP attributes. See: DESCRIPTION clause of 'ippJobBasicV2Event' trap for required encoding rules for SNMP packet size limits." ::= { ippJobProgressV2EventPrefix 1 } Hastings, McDonald Expires 19 March 2000 [Page 31] Internet Draft IPP Server MIB 19 September 1999 -- Conformance Information -- -- with Mandatory and Optional Conformance Groups ippMIBGroups OBJECT IDENTIFIER ::= { ippMIBConformance 2 } ippMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statements for SNMP management agents that implement the Internet Printing Protocol MIB." MODULE -- this module MANDATORY-GROUPS { ippPrinterGroup, ippPrinterURIGroup } GROUP ippEventGroup DESCRIPTION "Implementation of this group is conditionally mandatory; mandatory for systems which deliver any IPP events via SNMP." GROUP ippPrinterBasicEventGroup DESCRIPTION "Implementation of this group is conditionally mandatory; mandatory for systems which deliver this IPP event via SNMP." GROUP ippJobBasicEventGroup DESCRIPTION "Implementation of this group is conditionally mandatory; mandatory for systems which deliver this IPP event via SNMP." GROUP ippJobStatusEventGroup DESCRIPTION "Implementation of this group is conditionally mandatory; mandatory for systems which deliver this IPP event via SNMP." GROUP ippJobProgressEventGroup DESCRIPTION "Implementation of this group is conditionally mandatory; mandatory for systems which deliver this IPP event via SNMP." OBJECT ippPrinterNaturalLanguage SYNTAX DisplayString (SIZE (0..5)) -- 63 in [IPP-MOD] DESCRIPTION "It is conformant to implement this object as a shorter string; only 5 octets maximum string length need be supported." OBJECT ippPrinterName SYNTAX SnmpAdminString (SIZE (0..31)) -- 127 in [IPP-MOD] DESCRIPTION Hastings, McDonald Expires 19 March 2000 [Page 32] Internet Draft IPP Server MIB 19 September 1999 "It is conformant to implement this object as a shorter string; only 31 octets maximum string length need be supported." OBJECT ippPrinterStateReasons SYNTAX SnmpAdminString (SIZE (0..63)) -- multivalue in IPP DESCRIPTION "It is conformant to implement this object as a shorter string; only 63 octets maximum string length need be supported." OBJECT ippPrinterURIString SYNTAX SnmpAdminString (SIZE (0..63)) -- 1023 in [IPP-MOD] DESCRIPTION "It is conformant to implement this object as a shorter string; only 63 octets maximum string length need be supported." OBJECT ippPrinterURIAuthentication SYNTAX SnmpAdminString (SIZE (0..31)) -- 255 in [IPP-MOD] DESCRIPTION "It is conformant to implement this object as a shorter string; only 31 octets maximum string length need be supported." OBJECT ippPrinterURISecurity SYNTAX SnmpAdminString (SIZE (0..31)) -- 255 in [IPP-MOD] DESCRIPTION "It is conformant to implement this object as a shorter string; only 31 octets maximum string length need be supported." OBJECT ippEventVersionNumber SYNTAX DisplayString (SIZE (0..5)) -- 255 in [IPP-MOD] DESCRIPTION "It is conformant to implement this object as a shorter string; only 5 octets maximum string length need be supported." OBJECT ippEventNaturalLanguage SYNTAX DisplayString (SIZE (0..5)) -- 63 in [IPP-MOD] DESCRIPTION "It is conformant to implement this object as a shorter string; only 5 octets maximum string length need be supported." OBJECT ippEventJobName SYNTAX SnmpAdminString (SIZE (0..31)) -- 1023 in [IPP-MOD] DESCRIPTION "It is conformant to implement this object as a shorter string; only 31 octets maximum string length need be supported." OBJECT ippEventJobStateReasons SYNTAX SnmpAdminString (SIZE (0..63)) -- multivalue in IPP DESCRIPTION "It is conformant to implement this object as a shorter string; only 63 octets maximum string length need be supported." Hastings, McDonald Expires 19 March 2000 [Page 33] Internet Draft IPP Server MIB 19 September 1999 OBJECT ippEventSubscriberUserName SYNTAX SnmpAdminString (SIZE (0..31)) -- 1023 in [IPP-MOD] DESCRIPTION "It is conformant to implement this object as a shorter string; only 31 octets maximum string length need be supported." OBJECT ippEventSubscriberUserData SYNTAX SnmpAdminString (SIZE (0..31)) -- 1023 in [IPP-MOD] DESCRIPTION "It is conformant to implement this object as a shorter string; only 31 octets maximum string length need be supported." ::= { ippMIBConformance 1 } -- Conformance Groups -- -- with Required Objects for all Implementations ippPrinterGroup OBJECT-GROUP OBJECTS { ippPrinterNaturalLanguage, ippPrinterName, ippPrinterState, ippPrinterStateReasons, ippPrinterIsAcceptingJobs, ippPrinterIncomingConnections, ippPrinterIncomingRequests, ippPrinterOutgoingErrors, ippPrinterOutgoingWarnings, ippPrinterOutgoingEvents } STATUS current DESCRIPTION "IPP Printer group - printer state and counters" ::= { ippMIBGroups 1 } ippPrinterURIGroup OBJECT-GROUP OBJECTS { ippPrinterURIString, ippPrinterURIAuthentication, ippPrinterURISecurity } STATUS current DESCRIPTION "IPP Printer URI group - printer URI, authentication, security" ::= { ippMIBGroups 2 } ippEventGroup OBJECT-GROUP OBJECTS { ippEventVersionNumber, ippEventNaturalLanguage, Hastings, McDonald Expires 19 March 2000 [Page 34] Internet Draft IPP Server MIB 19 September 1999 ippEventRequestID, ippEventPrinterIndex, ippEventPrinterURIIndex, ippEventJobID, ippEventJobName, ippEventTriggerEvent, ippEventSubscriptionID, ippEventSubscriberUserName, ippEventSubscriberUserData, ippEventPrinterState, ippEventPrinterStateReasons, ippEventPrinterIsAcceptingJobs, ippEventJobState, ippEventJobStateReasons, ippEventJobKOctetsProcessed, ippEventImpressionsCompleted, ippEventMediaSheetsCompleted, ippEventJobCollationType, ippEventSheetCompletedCopyNum, ippEventSheetCompletedDocNum, ippEventImpressionsInterpreted, ippEventImpressionsCompletedCC } STATUS current DESCRIPTION "IPP Event group - printer and job event attributes" ::= { ippMIBGroups 3 } ippPrinterBasicEventGroup NOTIFICATION-GROUP NOTIFICATIONS { ippPrinterBasicV2Event } STATUS current DESCRIPTION "IPP Printer Basic Event group - 'printer-basic-event'" ::= { ippMIBGroups 4 } ippJobBasicEventGroup NOTIFICATION-GROUP NOTIFICATIONS { ippJobBasicV2Event } STATUS current DESCRIPTION "IPP Job Basic Event group - 'job-basic-event'" ::= { ippMIBGroups 5 } ippJobStatusEventGroup NOTIFICATION-GROUP NOTIFICATIONS { ippJobStatusV2Event } STATUS current Hastings, McDonald Expires 19 March 2000 [Page 35] Internet Draft IPP Server MIB 19 September 1999 DESCRIPTION "IPP Job Status Event group - 'job-status-event'" ::= { ippMIBGroups 6 } ippJobProgressEventGroup NOTIFICATION-GROUP NOTIFICATIONS { ippJobProgressV2Event } STATUS current DESCRIPTION "IPP Job Progress Event group - 'job-progress-event'" ::= { ippMIBGroups 7 } END Hastings, McDonald Expires 19 March 2000 [Page 36] Internet Draft IPP Server MIB 19 September 1999 5. IANA Considerations None. 6. Internationalization Considerations All text and name string objects defined in the IPP Server MIB are of type 'SnmpAdminString' (UTF-8 stream-encoded ISO 10646/Unicode) imported from the SNMP Framework MIB defined in [RFC-2571]. The natural language of all of these text and name string objects is specified by either 'ippPrinterNaturalLanguage' or 'ippEventNaturalLanguage' (see below). The Printer group defines the 'ippPrinterNaturalLanguage' object that reports the currently configured natural language on the IPP Printer as a language-tag [RFC-1766], using International Standard language codes [ISO-639] and country codes [ISO-3166]. The Event group defines the 'ippEventNaturalLanguage' object that reports the subscriber requested natural language in each IPP trap as a language-tag [RFC-1766], using International Standard language codes [ISO-639] and country codes [ISO-3166]. 7. Security Considerations The IPP Server MIB defines only 'read-only' objects. It is suitable for use with any version of SNMP, as no update security is required (because no configuration updates are supported). No sensitive information is available in IPP Server MIB objects or in the bindings of IPP Server MIB traps. Hastings, McDonald Expires 19 March 2000 [Page 37] Internet Draft IPP Server MIB 19 September 1999 8. References To be supplied. 9. Intellectual Property Notice The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF Secretariat." The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. 10. Authors' Addresses Tom Hastings Xerox Corporation 701 S Aviation Blvd, MS 834-03E El Segundo, CA 90245 Phone: +1 310-333-6413 Email: hastings@cp10.es.xerox.com Ira McDonald High North Inc 221 Ridge Ave Grand Marais, MI 49839 Phone: +1 906-494-2434 or +1 906-494-2697 Email: imcdonal@sdsp.mc.xerox.com Hastings, McDonald Expires 19 March 2000 [Page 38] Internet Draft IPP Server MIB 19 September 1999 11. Full Copyright Statement Copyright (C) The Internet Society (1999). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Hastings, McDonald Expires 19 March 2000 [Page 39]