Internet Printing Protocol Working Group Tom Hastings INTERNET DRAFT Xerox Expires 19 September 2000 Ira McDonald High North 19 March 2000 Internet Printing Protocol (IPP): Notifications over SNMP via Job Monitoring MIB Copyright (C) The Internet Society (2000). All Rights Reserved. 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 proposes a mapping of IPP notifications over SNMP via new device and job traps extensions defined for the Job Monitoring MIB [RFC-2707]. This mapping may be used to deliver printer notifications for any printer (not just IPP-capable ones) and also job notifications for any job (not just ones submitted via IPP). This document proposes: (4) SNMP traps; and (24) SNMP leaf objects (for use in various trap bindings). Hastings, McDonald Expires 19 September 2000 [Page 1] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 Table of Contents 1. Introduction ............................................... 4 1.1. Terminology for Conformance ............................ 4 2. SNMP Network Management Framework .......................... 4 3. Managed Object Mapping ..................................... 5 3.1. SNMP Mapping for IPP Printer Events .................... 5 3.2. SNMP Mapping for IPP Job Events ........................ 5 3.3. Rules for Encoding Notifications ....................... 6 3.4. Registration for IPP Notifications ..................... 7 3.4.1. Registration via IPP ............................... 7 3.4.2. Registration via SNMP .............................. 7 3.5. Relationship to other MIBs ............................. 8 3.5.1. MIB-II (RFC 1213) .................................. 8 3.5.2. Host Resources MIB (RFC 1514) ...................... 8 3.5.3. Printer MIB (RFC 1759) ............................. 8 4. Managed Object Definitions ................................. 9 4.1. Device Basic Event Trap ................................ 9 4.1.1. jmDeviceBasicV2Event (notification) ................ 9 4.2. Job Basic Event Trap ................................... 10 4.2.1. jmJobBasicV2Event (notification) ................... 11 4.3. Job Completed Event Trap ............................... 11 4.3.1. jmJobCompletedV2Event (notification) ............... 12 4.4. Job Progress Event Trap ................................ 13 4.4.1. jmJobProgressV2Event (notification) ................ 13 4.5. Event Binding Group .................................... 14 4.5.1. jmEventTriggerEvent (object) ....................... 14 4.5.2. jmEventSubscriptionID (object) ..................... 15 4.5.3. jmEventSubscriberUserName (object) ................. 15 4.5.4. jmEventSubscriberUserData (object) ................. 16 4.5.5. jmEventDeviceURI (object) .......................... 16 4.5.6. jmEventDeviceName (object) ......................... 17 4.5.7. jmEventDeviceState (object) ........................ 17 4.5.8. jmEventDeviceStateReasons (object) ................. 17 4.5.9. jmEventDeviceIsAcceptingJobs (object) .............. 18 4.5.10. jmEventJobSetIndex (object) ....................... 18 4.5.11. jmEventJobIndex (object) .......................... 19 4.5.12. jmEventJobName (object) ........................... 19 4.5.13. jmEventJobState (object) .......................... 19 4.5.14. jmEventJobStateReasons (object) ................... 20 4.5.15. jmEventJobKOctets (object) ........................ 20 4.5.16. jmEventJobKOctetsProcessed (object) ............... 21 4.5.17. jmEventJobImpressions (object) .................... 21 4.5.18. jmEventJobImpressionsCompleted (object) ........... 21 4.5.19. jmEventJobMediaSheets (object) .................... 22 4.5.20. jmEventJobMediaSheetsCompleted (object) ........... 22 4.5.21. jmEventJobImpressionsCompletedCC (object) ......... 22 4.5.22. jmEventJobCollationType (object) .................. 23 4.5.23. jmEventJobSheetCompletedCopyNum (object) .......... 23 4.5.24. jmEventJobSheetCompletedDocNum (object) ........... 23 5. IANA Considerations ........................................ 25 Hastings, McDonald Expires 19 September 2000 [Page 2] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 6. Internationalization Considerations ........................ 25 7. Security Considerations .................................... 25 8. References ................................................. 26 9. Change Log ................................................. 27 10. Intellectual Property Notice .............................. 29 11. Authors' Addresses ........................................ 29 12. Full Copyright Statement .................................. 30 Hastings, McDonald Expires 19 September 2000 [Page 3] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 1. Introduction The IPP protocol [IPP-PRO] supports passive monitoring of IPP Printer and Job objects, via client polling of IPP object attributes using the 'Get-Printer-Attributes' and 'Get-Job-Attributes' operations. This IPP Notifications over SNMP mapping supports dynamic monitoring of IPP Printer and Job objects, via server generation of SNMP traps. 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]. 2. SNMP Network Management Framework See: Section 1.1 'SNMPv1', section 1.2 'SNMPv2', and section 1.3 'SNMPv3' of [RFC-2576]. Hastings, McDonald Expires 19 September 2000 [Page 4] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 3. Managed Object Mapping 3.1. SNMP Mapping for IPP Printer Events IPP Printer event attribute Job Monitoring MIB object mapping --------------------------- --------------------------------- version-number [no mapping - not useful] status-code [implicit in each generated trap] request-id [request-id in SNMP trap header] attributes-charset [no mapping - strings are UTF-8] attributes-natural-language [no mapping - no text bindings] printer-uri jmEventDeviceURI printer-name jmEventDeviceName job-id jmEventJobIndex [and jmEventJobSetIndex] job-name jmEventJobName trigger-event jmEventTriggerEvent trigger-time [sysUpTime in SNMP trap bindings] trigger-date-time [hrSystemDate in Host Res MIB] subscription-id jmEventSubscriptionID subscriber-user-name jmEventSubscriberUserName subscriber-user-data jmEventSubscriberUserData printer-state jmEventDeviceState printer-state-reasons jmEventDeviceStateReasons printer-is-accepting-jobs jmEventDeviceIsAcceptingJobs Hastings, McDonald Expires 19 September 2000 [Page 5] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 3.2. SNMP Mapping for IPP Job Events IPP Job event attribute Job Monitoring MIB object mapping ----------------------- --------------------------------- version-number [no mapping - not useful] status-code [implicit in each generated trap] request-id [request-id in SNMP trap header] attributes-charset [no mapping - strings are UTF-8] attributes-natural-language [no mapping - no text bindings] printer-uri jmEventDeviceURI printer-name jmEventDeviceName job-id jmEventJobIndex [and jmEventJobSetIndex] job-name jmEventJobName trigger-event jmEventTriggerEvent trigger-time [sysUpTime in SNMP trap bindings] trigger-date-time [hrSystemDate in Host Res MIB] subscription-id jmEventSubscriptionID subscriber-user-name jmEventSubscriberUserName subscriber-user-data jmEventSubscriberUserData job-state jmEventJobState job-state-reasons jmEventJobStateReasons [job-completed - extra bindings] job-k-octets jmEventJobKOctets job-k-octets-processed jmEventJobKOctetsProcessed job-impressions jmEventJobImpressions job-impressions-completed jmEventJobImpressionsCompleted job-media-sheets jmEventJobMediaSheets job-media-sheets-completed jmEventJobMediaSheetsCompleted [job-progress - extra bindings] impressions-completed-current-copy jmEventJobImpressionsCompletedCC job-collation-type jmEventJobCollationType sheet-completed-copy-number jmEventJobSheetCompletedCopyNum sheet-completed-document-number jmEventJobSheetCompletedDocNum Hastings, McDonald Expires 19 September 2000 [Page 6] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 3.3. Rules for Encoding Notifications Over some transports and/or media, the variable-bindings of these SNMP traps MAY not fit the MTU (maximum transmission unit) size. Conforming IPP Notification generators SHALL perform this procedure to ensure that all variable-bindings of these SNMP traps are always included in the generated SNMP trap packet: 1) Truncate all strings specified for variable-bindings to the reduced maximum sizes that are specified in their corresponding OBJECT clauses in their MODULE-COMPLIANCE. 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: - 'jmEventSubscriberUserName' - 'jmEventSubscriberUserData' - 'jmEventDeviceURI' - 'jmEventDeviceName' - 'jmEventDeviceStateReasons' - 'jmEventJobName' - 'jmEventJobStateReasons' 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) If all variable-bindings do NOT fit within the MTU, then -> logic error (variable-bindings MUST now fit). 3.4. Registration for IPP Notifications IPP Clients may register for IPP Notifications delivered via SNMP by either of the following methods: 3.4.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' = 'snmpnotify://hostname[.port]' Hastings, McDonald Expires 19 September 2000 [Page 7] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 3.4.2. Registration via SNMP SNMP Set-Request operations MAY be used to create appropriate rows in the SNMP Notification MIB defined in [RFC-2573] and MAY specify: 1) 'snmpNotifyTag' - tag of this notification - see 'snmpTargetAddrTagList' below - example "jmDeviceBasicV2Event" or "jmJobBasicV2Event" 2) 'snmpNotifyType' - notification sent using either SNMP Trap (unacknowledged) or SNMP Inform-Request (acknowledged) 3) 'snmpNotifyStorageType' - row persistence of this registration SNMP Set-Request operations MAY be used to create appropriate rows in the SNMP Target MIB defined in [RFC-2573] and MAY specify: 1) 'snmpTargetAddrTDomain' and 'snmpTargetAddrTAddress' - target transport protocol and address (equivalent to URI) 2) 'snmpTargetAddressTimeout' and 'snmpTargetAddrRetryCount' - retry timeout and limit (for acknowledged notifications delivered using SNMP Inform-Request rather than SNMP Trap) 3) 'snmpTargetAddrTagList' - tags of notifications to be sent to this target (client) - example "jmDeviceBasicV2Event" or "jmJobBasicV2Event" 4) 'snmpTargetAddrParamsEntry' - notification security and SNMP protocol version 5) 'snmpTargetAddrStorageType' - row persistence of this registration 3.5. Relationship to other MIBs 3.5.1. MIB-II (RFC 1213) All SNMPv1 trap messages include 'time-stamp' which is the value of the 'sysUpTime' object from MIB-II [RFC-1213]. All SNMPv2 trap bindings include the 'sysUpTime' object from MIB-II [RFC-1213]. 3.5.2. Host Resources MIB (RFC 1514) The 'jmDeviceBasicV2Event' trap defined in this document permits optional binding of the 'hrDeviceStatus', 'hrDevicePrinterStatus', Hastings, McDonald Expires 19 September 2000 [Page 8] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 and 'hrPrinterDetectedErrorState' objects from Host Resources MIB [RFC-1514]. 3.5.3. Printer MIB (RFC 1759) The 'jmDeviceBasicV2Event' trap defined in this document permits optional binding of the 'hrDeviceStatus', 'hrDevicePrinterStatus', and 'hrPrinterDetectedErrorState' objects from Host Resources MIB [RFC-1514]. The appropriate value of 'hrDeviceIndex' to use in the Printer MIB [RFC-1759] may be indicated by the instance suffix of the 'hrDeviceStatus' variable's OID. Hastings, McDonald Expires 19 September 2000 [Page 9] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 4. Managed Object Definitions 4.1. Device Basic Event Trap -- Device Basic Event Group (Cond Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which send this Device event via SNMP. jmDeviceBasicV1Enterprise OBJECT-IDENTITY STATUS current DESCRIPTION "The value of the enterprise-specific OID in an SNMPv1 trap for a Device basic event' sent by this managed system." ::= { jobmonMIBNotifications 1 } jmDeviceBasicV2EventPrefix OBJECT IDENTIFIER ::= { jmDeviceBasicV1Enterprise 0 } jmDeviceBasicV2Event NOTIFICATION-TYPE OBJECTS { jmEventTriggerEvent, jmEventSubscriptionID, jmEventSubscriberUserName, jmEventSubscriberUserData, jmEventDeviceURI, jmEventDeviceName, jmEventJobSetIndex, jmEventJobIndex, jmEventJobName, jmEventDeviceState, jmEventDeviceStateReasons, jmEventDeviceIsAcceptingJobs } STATUS current DESCRIPTION "This SMIv2 trap corresponds to an IPP Printer basic event. This trap is sent when requested by a prior subscription. The event type is specified in 'jmEventTriggerEvent'. Event types reported via 'jmDeviceBasicV2Event' include: - 'printer-restarted' - 'printer-shutdown' - 'printer-state-changed' - 'printer-media-changed' - 'printer-config-changed' Hastings, McDonald Expires 19 September 2000 [Page 10] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 - 'printer-queue-changed' - 'printer-no-longer-full' - 'printer-almost-idle' - 'device-restarted' - 'device-shutdown' - 'device-state-changed' - 'device-media-changed' - 'device-config-changed' - 'device-queue-changed' - 'device-no-longer-full' - 'device-almost-idle' - and (optionally) vendor extension event types Additional variable-bindings SHOULD be appended to this trap for all device-level events: - Systems with the Host Resources MIB [RFC-1514] SHOULD add 'hrSystemDate' (compare to IPP 'printer-current-time') and 'hrDeviceStatus' (compare to IPP 'printer-state') Additional variable-bindings MAY be appended to this trap for all printer-specific events: - Systems with the Host Resources MIB [RFC-1514] MAY add 'hrPrinterStatus' (compare to IPP 'printer-state') and 'hrPrinterDetectedErrorState' (compare to IPP 'printer-state-reasons') Systems MAY add other variable-bindings from any MIB. See: Section 5.2 'notify-events' of [IPP-NOT]; Section 7 'Notification Content' in [IPP-NOT]." ::= { jmDeviceBasicV2EventPrefix 1 } 4.2. Job Basic Event Trap -- Job Basic Event Group (Cond Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which send this Job event via SNMP. jmJobBasicV1Enterprise OBJECT-IDENTITY STATUS current DESCRIPTION "The value of the enterprise-specific OID in an SNMPv1 trap for a Job basic event sent by this managed system." ::= { jobmonMIBNotifications 2 } jmJobBasicV2EventPrefix Hastings, McDonald Expires 19 September 2000 [Page 11] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 OBJECT IDENTIFIER ::= { jmJobBasicV1Enterprise 0 } jmJobBasicV2Event NOTIFICATION-TYPE OBJECTS { jmEventTriggerEvent, jmEventSubscriptionID, jmEventSubscriberUserName, jmEventSubscriberUserData, jmEventDeviceURI, jmEventDeviceName, jmEventJobSetIndex, jmEventJobIndex, jmEventJobName, jmEventJobState, jmEventJobStateReasons } STATUS current DESCRIPTION "This SMIv2 trap corresponds to an IPP Job basic event. This trap is sent when requested by a prior subscription. The event type is specified in 'jmEventTriggerEvent'. Event types reported via 'jmJobBasicV2Event' include: - 'job-created' - 'job-state-changed' - 'job-config-changed' - 'job-purged' - and (optionally) vendor extension event types Systems MAY add other variable-bindings from any MIB. See: Section 5.2 'notify-events' of [IPP-NOT]; Section 7 'Notification Content' in [IPP-NOT]." ::= { jmJobBasicV2EventPrefix 1 } 4.3. Job Completed Event Trap -- Job Completed Event Group (Cond Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which send this Job event via SNMP. jmJobCompletedV1Enterprise OBJECT-IDENTITY STATUS current DESCRIPTION "The value of the enterprise-specific OID in an SNMPv1 trap for a Job completed event sent by this managed system." ::= { jobmonMIBNotifications 3 } Hastings, McDonald Expires 19 September 2000 [Page 12] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 jmJobCompletedV2EventPrefix OBJECT IDENTIFIER ::= { jmJobCompletedV1Enterprise 0 } jmJobCompletedV2Event NOTIFICATION-TYPE OBJECTS { jmEventTriggerEvent, jmEventSubscriptionID, jmEventSubscriberUserName, jmEventSubscriberUserData, jmEventDeviceURI, jmEventDeviceName, jmEventJobSetIndex, jmEventJobIndex, jmEventJobName, jmEventJobState, jmEventJobStateReasons, jmEventJobKOctetsProcessed, jmEventJobImpressionsCompleted, jmEventJobMediaSheetsCompleted } STATUS current DESCRIPTION "This SMIv2 trap corresponds to an IPP 'job-completed' event. This trap is sent when requested by a prior subscription. The event type is specified in 'jmEventTriggerEvent'. Event types reported via 'jmJobCompletedV2Event' include: - 'job-completed' - and (optionally) vendor extension event types Additional variable-bindings SHOULD be appended to this trap for all 'job-completed' events: - Systems which support this job information SHOULD add 'jmEventJobKOctets' (compare to IPP 'job-k-octets' job size attribute and to Job Mon MIB 'jobKOctetsTransferred' attribute) 'jmEventJobImpressions' (compare to IPP 'job-impressions' job size attribute) 'jmEventJobMediaSheets' (compare to IPP 'job-media-sheets' job size attribute and to Job Mon MIB 'sheetsRequested' attribute) Systems MAY add other variable-bindings from any MIB. See: Section 5.2 'notify-events' of [IPP-NOT]; Section 7 'Notification Content' in [IPP-NOT]." ::= { jmJobCompletedV2EventPrefix 1 } Hastings, McDonald Expires 19 September 2000 [Page 13] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 4.4. Job Progress Event Trap -- Job Progress Event Group (Cond Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which send this Job event via SNMP. jmJobProgressV1Enterprise OBJECT-IDENTITY STATUS current DESCRIPTION "The value of the enterprise-specific OID in an SNMPv1 trap for a Job progress event sent by this managed system." ::= { jobmonMIBNotifications 4 } jmJobProgressV2EventPrefix OBJECT IDENTIFIER ::= { jmJobProgressV1Enterprise 0 } jmJobProgressV2Event NOTIFICATION-TYPE OBJECTS { jmEventTriggerEvent, jmEventSubscriptionID, jmEventSubscriberUserName, jmEventSubscriberUserData, jmEventDeviceURI, jmEventDeviceName, jmEventJobSetIndex, jmEventJobIndex, jmEventJobName, jmEventJobState, jmEventJobStateReasons, jmEventJobKOctetsProcessed, jmEventJobImpressionsCompleted, jmEventJobMediaSheetsCompleted, jmEventJobImpressionsCompletedCC, jmEventJobCollationType, jmEventJobSheetCompletedCopyNum, jmEventJobSheetCompletedDocNum } STATUS current DESCRIPTION "This SMIv2 trap corresponds to an IPP 'job-progress' event. This trap is sent when requested by a prior subscription. The event type is specified in 'jmEventTriggerEvent'. Event types reported via 'jmJobProgressV2Event' include: - 'job-progress' - and (optionally) vendor extension event types Hastings, McDonald Expires 19 September 2000 [Page 14] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 Additional variable-bindings SHOULD be appended to this trap for all 'job-progress' events: - Systems which support this job information SHOULD add 'jmEventJobKOctets' (compare to IPP 'job-k-octets' job size attribute and to Job Mon MIB 'jobKOctetsTransferred' attribute) 'jmEventJobImpressions' (compare to IPP 'job-impressions' job size attribute) 'jmEventJobMediaSheets' (compare to IPP 'job-media-sheets' job size attribute and to Job Mon MIB 'sheetsRequested' attribute) Systems MAY add other variable-bindings from any MIB. See: Section 5.2 'notify-events' of [IPP-NOT]; Section 7 'Notification Content' in [IPP-NOT]." ::= { jmJobProgressV2EventPrefix 1 } 4.5. Event Binding Group -- Event Binding Group (Cond Mandatory) -- -- Implementation of this group is conditionally mandatory; -- mandatory for systems which send Device or Job events via SNMP. -- -- Note: All of the objects in this group are defined ONLY for the -- purpose of providing instantaneous bindings for SNMP traps - it's -- NEVER suitable for an SNMP Manager to Get these objects directly. jmEventBinding OBJECT IDENTIFIER ::= { jobmonMIBObjects 5 } jmEventTriggerEvent OBJECT-TYPE SYNTAX JmUTF8StringTC (SIZE (0..63)) -- 255 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The trigger event type associated with this event. Standard Printer event types defined in [IPP-NOT] are: - 'printer-restarted' - 'printer-shutdown' - 'printer-state-changed' - 'printer-media-changed' - 'printer-config-changed' - 'printer-queue-changed' - 'printer-no-longer-full' - 'printer-almost-idle' Standard Device event types generalized from [IPP-NOT] are: Hastings, McDonald Expires 19 September 2000 [Page 15] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 - 'device-restarted' - 'device-shutdown' - 'device-state-changed' - 'device-media-changed' - 'device-config-changed' - 'device-queue-changed' - 'device-no-longer-full' - 'device-almost-idle' Standard Job event types defined in [IPP-NOT] are: - 'job-created' - 'job-completed' - 'job-state-changed' - 'job-config-changed' - 'job-purged' - 'job-progress' Conformance: The natural language for keywords in trigger event type SHALL always be US English. Conformance: This trigger event type SHALL be valid and reported in ALL Job Monitoring MIB notifications. See: Section 5.2 'notify-events' and Section 7 'Notification Content' in [IPP-NOT]." -- DEFVAL intentionally omitted - reported value SHALL be valid ::= { jmEventBinding 1 } jmEventSubscriptionID OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The subscription identifier associated with this event or zero (if none). Conformance: This subscription identifier SHALL be valid and reported, if available on this managed system. See: Section 5.8 'subscription-id' and Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { 0 } -- no subscription ID ::= { jmEventBinding 2 } jmEventSubscriberUserName OBJECT-TYPE SYNTAX JmUTF8StringTC (SIZE (0..63)) -- 1023 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The subscriber user name associated with this event or the empty string (if none). Hastings, McDonald Expires 19 September 2000 [Page 16] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 Note: The natural language appropriate for text-to-speech of subscriber user name is orthogonal to the localized text context in IPP 'attributes-natural-language'. The subscriber user name MAY include an in-line 'language tag' using Plane 14 'language tag' characters approved for ISO 10646/Unicode. Conformance: This subscriber user name SHALL be valid and reported, if available on this managed system. See: 'Language Tagging in Unicode Plain Text', RFC 2482 (January 1999); 'Plane 14 Characters for Language Tags', Unicode Technical Report #7 (January 1999); Section 4.3.6 'job-originating-user-name' and Section 4.4.2 'uri-authentication-supported' (usage of 'requesting-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 ::= { jmEventBinding 3 } jmEventSubscriberUserData 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 event or the empty string (if none). Conformance: This subscriber user data SHALL be valid and reported, if available on this managed system. See: Section 5.4 'subscriber-user-data' and Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { ''H } -- no subscriber user data ::= { jmEventBinding 4 } jmEventDeviceURI OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) -- 1023 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The device URI associated with this event or the empty string (if none). Conformance: This device URI SHALL be valid and reported, if available on this managed system. See: Section 4.3.3 'job-printer-uri' in [IPP-MOD]; Section 4.4.1 'printer-uri-supported' in [IPP-MOD]; Hastings, McDonald Expires 19 September 2000 [Page 17] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { ''H } -- no device URI ::= { jmEventBinding 5 } jmEventDeviceName OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..127)) -- 127 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The device name associated with this event or the empty string (if none). Conformance: This device name SHALL be valid and reported, if available on this managed system. See: Section 4.4.4 'printer-name' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { ''H } -- no device name ::= { jmEventBinding 6 } jmEventDeviceState OBJECT-TYPE SYNTAX INTEGER { -- enum in [IPP-MOD] unknown(2), -- unknown device state idle(3), processing(4), stopped(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "The device state associated with this event or 'unknown'. Note: This object uses the keywords from the [IPP-MOD] enumerated type 'printer-state' for coherence. Conformance: This device state SHALL be valid and reported, if available on this managed system. See: Section 4.4.11 'printer-state' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { unknown } -- unknown device state ::= { jmEventBinding 7 } jmEventDeviceStateReasons OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) -- 255*n in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The device state reasons associated with this event (as a comma-separated list) or the empty string (if none). Hastings, McDonald Expires 19 September 2000 [Page 18] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 Conformance: The natural language for keywords in device state reasons SHALL always be US English. Conformance: These device state reasons SHALL be valid and reported, if available on this managed system. See: Section 4.4.12 'printer-state-reasons' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { ''H } -- no device state reasons ::= { jmEventBinding 8 } jmEventDeviceIsAcceptingJobs OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The device substate associated with this event or 'true' (if unknown). Conformance: This device substate SHALL be valid and reported, if available on this managed system. See: Section 4.4.23 'printer-is-accepting-jobs' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { true } -- device is accepting jobs ::= { jmEventBinding 9 } jmEventJobSetIndex OBJECT-TYPE SYNTAX Integer32 (0..32767) MAX-ACCESS read-only STATUS current DESCRIPTION "The job set index associated with this event or zero (if none). Conformance: This job set index SHALL be valid and reported, if available on this managed system. See: 'jmGeneralJobSetIndex' object in [RFC-2707]; Section 4.3.2 'job-id' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { 0 } -- no job set index ::= { jmEventBinding 10 } Hastings, McDonald Expires 19 September 2000 [Page 19] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 jmEventJobIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job index associated with this event or zero (if none). Conformance: This job index SHALL be valid and reported, if available on this managed system. See: 'jmJobIndex' object in [RFC-2707]; Section 4.3.2 'job-id' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { 0 } -- no job index ::= { jmEventBinding 11 } jmEventJobName OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) -- 255 in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The job name associated with this event or the empty string (if none). Conformance: This job name SHALL be valid and reported, if available on this managed system. See: 'jobName' attribute in [RFC-2707]; Section 4.3.5 'job-name' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { ''H } -- no job name ::= { jmEventBinding 12 } jmEventJobState OBJECT-TYPE SYNTAX INTEGER { -- enum in [IPP-MOD] unknown(2), -- unknown job state pending(3), pendingHeld(4), processing(5), processingStopped(6), canceled(7), aborted(8), completed(9) } MAX-ACCESS read-only STATUS current DESCRIPTION "The job state associated with this event or 'unknown'. Hastings, McDonald Expires 19 September 2000 [Page 20] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 Note: This object uses the keywords from the [IPP-MOD] enumerated type 'job-state' for coherence. Conformance: This job state SHALL be valid and reported, if available on this managed system. See: 'jmJobState' object in [RFC-2707]; Section 4.3.7 'job-state' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { unknown } -- unknown job state ::= { jmEventBinding 13 } jmEventJobStateReasons OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) -- 255*n in [IPP-MOD] MAX-ACCESS read-only STATUS current DESCRIPTION "The job state reasons associated with this event (as a comma-separated list) or the empty string (if none). Conformance: The natural language for keywords in job state reasons SHALL always be US English. Conformance: These job state reasons SHALL be valid and reported, if available on this managed system. See: 'jmJobStateReasons1' object in [RFC-2707]; 'jobStateReasons2', 'jobStateReasons3', and 'jobStateReasons4' attributes in [RFC-2707]; Section 4.3.8 'job-state-reasons' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { ''H } -- no job state reasons ::= { jmEventBinding 14 } jmEventJobKOctets OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job size in K octets associated with this event or zero (if none) or '-2' (if unknown). Conformance: This job size SHALL be valid and reported, if available on this managed system. See: 'jobKOctetsTransferred' attribute in [RFC-2707]; Section 4.3.17.1 'job-k-octets' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { -2 } -- unknown job size ::= { jmEventBinding 15 } Hastings, McDonald Expires 19 September 2000 [Page 21] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 jmEventJobKOctetsProcessed OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job progress in K octets associated with this event or zero (if none) or '-2' (if unknown). Conformance: This job progress SHALL be valid and reported, if available on this managed system. See: 'jmJobKOctetsProcessed' object in [RFC-2707]; Section 4.3.18.1 'job-k-octets-processed' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { -2 } -- unknown job progress ::= { jmEventBinding 16 } jmEventJobImpressions OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job size in impressions associated with this event or zero (if none) or '-2' (if unknown). Conformance: This job size SHALL be valid and reported, if available on this managed system. See: Section 4.3.17.2 'job-impressions' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { -2 } -- unknown job size ::= { jmEventBinding 17 } jmEventJobImpressionsCompleted OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job progress in impressions associated with this event or zero (if none) or '-2' (if unknown). Conformance: This job progress SHALL be valid and reported, if available on this managed system. See: 'jmJobImpressionsCompleted' object in [RFC-2707]; Section 4.3.18.2 'job-impressions-completed' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { -2 } -- unknown job progress Hastings, McDonald Expires 19 September 2000 [Page 22] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 ::= { jmEventBinding 18 } jmEventJobMediaSheets OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job size in media sheets associated with this event or zero (if none) or '-2' (if unknown). Conformance: This job size SHALL be valid and reported, if available on this managed system. See: 'sheetsRequested' attribute in [RFC-2707]; Section 4.3.17.3 'job-media-sheets' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { -2 } -- unknown job size ::= { jmEventBinding 19 } jmEventJobMediaSheetsCompleted OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job progress in media sheets associated with this event or zero (if none) or '-2' (if unknown). Conformance: This job progress SHALL be valid and reported, if available on this managed system. See: 'sheetsCompleted' attribute in [RFC-2707]; Section 4.3.18.3 'job-media-sheets-completed' in [IPP-MOD]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { -2 } -- unknown job progress ::= { jmEventBinding 20 } jmEventJobImpressionsCompletedCC OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job progress in impressions completed on the current copy associated with this event or zero (if none) or '-2' (if unknown). Conformance: This job progress SHALL be valid and reported, if available on this managed system. See: 'jmJobImpressionsCompleted' object in [RFC-2707]; 'impressions-completed-current-copy' in [IPP-PROG]; Hastings, McDonald Expires 19 September 2000 [Page 23] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { unknown } -- unknown job progress ::= { jmEventBinding 21 } jmEventJobCollationType OBJECT-TYPE SYNTAX JmJobCollationTypeTC MAX-ACCESS read-only STATUS current DESCRIPTION "The job collation type associated with this event or 'unknown' (if unknown). Conformance: This job collation type be valid and reported, if available on this managed system. See: 'jobCollationType' attribute in [RFC-2707]; 'job-collation-type' in [IPP-PROG]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { unknown } -- unknown job collation type ::= { jmEventBinding 22 } jmEventJobSheetCompletedCopyNum OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job progress number of the copy currently being stacked for the document associated with this event or zero (if none) or '-2' (if unknown). Conformance: This job progress SHALL be valid and reported, if available on this managed system. See: 'sheetCompletedCopyNumber' attribute in [RFC-2707]; 'sheet-completed-copy-number' in [IPP-PROG]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { -2 } -- unknown copy number ::= { jmEventBinding 23 } jmEventJobSheetCompletedDocNum OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The job progress number of the document currently being stacked associated with this event or zero (if none) or '-2' (if unknown). Conformance: This job progress SHALL be valid and reported, if available on this managed system. Hastings, McDonald Expires 19 September 2000 [Page 24] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 See: 'sheetCompletedDocumentNumber' attribute in [RFC-2707]; 'sheet-completed-document-number' in [IPP-PROG]; Section 7 'Notification Content' in [IPP-NOT]." DEFVAL { -2 } -- unknown document number ::= { jmEventBinding 24 } Hastings, McDonald Expires 19 September 2000 [Page 25] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 5. IANA Considerations None. 6. Internationalization Considerations The 'jmEventTriggerEvent', 'jmEventDeviceState', and 'jmEventDeviceStateReasons' text objects defined in this document are of type 'JmUTF8StringTC' (UTF-8 stream-encoded ISO 10646/Unicode text) defined in the Job Monitoring MIB [RFC-2707]. The natural language of these objects is US English. The 'jmEventSubscriberUserName' text object defined in this document is of type 'JmUTF8StringTC' (UTF-8 stream-encoded ISO 10646/Unicode text) defined in the Job Monitoring MIB [RFC-2707]. The natural language of this object is inherently ambiguous (as it usually contains some transform of a personal name). 7. Security Considerations This IPP Notifications over SNMP mapping 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 via IPP Notifications over SNMP. Hastings, McDonald Expires 19 September 2000 [Page 26] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 8. References [IPP-MOD] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell. IPP/1.1 Model and Semantics, (work-in-progress), March 2000. [IPP-NOT] S. Isaacson, J. Martin, R. deBry, T. Hastings, M. Shepherd, R. Bergman. IPP Event Notification Specification, (work-in-progress), March 2000. [IPP-PROG] T. Hastings, R. Bergman, H. Lewis. Proposed Job Progress Attributes for IPP, (work-in-progress), February 2000. [RFC-1213] K. McCloghrie, M. Rose. MIB-II, RFC 1213, March 1991. [RFC-1514] P. Grillo, S. Waldbusser. Host Resources MIB, RFC 1514, September 1993. [RFC-1759] R. Smith, F. Wright, T. Hastings, S. Zilles, J. Gyllenskog. Printer MIB, RFC 1759, March 1995. [RFC-2573] D. Levi, P. Meyer, B. Stewart. SNMP Applications, RFC 2573, April 1999. [RFC-2576] R. Frye, D. Levi, S. Routhier, B. Wijnen. Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework, RFC 2576, March 2000. [RFC-2707] R. Bergman, T. Hastings, S. Isaacson, H. Lewis. Job Monitoring MIB v1.0, RFC 2707, November 1999 Hastings, McDonald Expires 19 September 2000 [Page 27] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 9. Change Log Changes in reverse chronological order (most recent first). - 19 March 2000 1) Renamed Printer Event notification group to Device Basic Event and 'jmPrinterEventV2Event' notification to 'jmDeviceBasicV2Event', to better align with IPP and to support non-printing jobs. 2) Revised 'jmDeviceBasicV2Event' notification to remove 'hrDeviceStatus', 'hrPrinterStatus', 'hrPrinterDetectedErrorState' from mandatory trap bindings because they were redundant, per request of Ron Bergman. 3) Renamed Job Event notification group to Job Basic Event and 'jmJobEventV2Event' notification to 'jmJobBasicV2Event', to better align with IPP and to support variant job events. 4) Defined new Job Completed Event notification group and defined new Job Progress Event notification group, to better align with IPP and to support variant job events. 5) Renamed Event object group to Event Binding, 'jmEventPrinterState' to 'jmEventDeviceState', 'jmEventPrinterStateReasons' to 'jmEventDeviceStateReasons', 'jmEventPrinterIsAcceptingJobs' to 'jmEventDeviceIsAcceptingJobs', to support non-printing jobs. 6) Revised Event Binding object group, adding explicit objects 'jmEventDeviceURI', 'jmEventDeviceName', 'jmEventJobSetIndex', 'jmEventJobIndex', 'jmEventJobName', 'jmEventJobState', 'jmEventJobStateReasons', 'jmEventJobKOctets', 'jmEventJobKOctetsProcessed', 'jmEventJobImpressions', 'jmEventJobImpressionsCompleted', 'jmEventJobMediaSheets', 'jmEventJobMediaSheetsCompleted', 'jmEventJobImpressionsCompletedCC', 'jmEventJobCollationType', 'jmEventJobSheetCompletedCopyNum', 'jmEventJobSheetCompletedDocNum', per request of Ron Bergman. 7) Revised SYNTAX of 'jmEventTriggerEvent' object from from 'JmUTF8StringTC' (string) to IPP-aligned enumeration, per request of Ron Bergman. 8) Removed all references to Printer MIB v2, as they were of limited value, per request of Ron Bergman. 9) Revised 'SNMP Mapping for IPP Printer Events' section for renamed event binding objects, per request of Ron Bergman. 10) Revised 'Rules for Encoding Notifications' section to truncate additional string bindings, per request of Ron Bergman. 11) Revised 'Registration via IPP' section, to change scheme name from 'ipp-snmp:' to 'snmpnotify:', per request of Ron Bergman. - 1 December 1999 1) Deleted 'JmTriggerEventTC' textual convention (see below). Hastings, McDonald Expires 19 September 2000 [Page 28] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 2) Revised SYNTAX of 'jmEventTriggerEvent' object from 'JmTriggerEventTC' (enumeration) to 'JmUTF8StringTC' (string), to support use of IPP standard keywords. 3) Added 'jmEventPrinterState', 'jmEventPrinterStateReasons', and 'jmEventPrinterIsAcceptingJobs' objects for consistency w/ [IPP-NOT] and to reduce ambiguity about printer states inherent in RFC 1759. 4) Revised DESCRIPTION of 'jmPrinterEventV2Event' notification to add SHOULD (recommendation) for 'jmEventPrinterState', 'jmEventPrinterStateReasons', and 'jmEventPrinterIsAcceptingJobs' objects. 5) Revised 'SNMP Mapping for IPP Printer Events' section to add direct mapping of IPP notification attributes to 'jmEventPrinterState', 'jmEventPrinterStateReasons', and 'jmEventPrinterIsAcceptingJobs' objects. 6) Revised 'Rules for Encoding Notifications' section to add 'jmEventPrinterState' and 'jmEventPrinterStateReasons'. 7) Revised 'IANA Considerations' section to specify there are none - no enumerated or keyword textual conventions are now defined in this document. 8) Revised 'Internationalization Considerations' section to specify that US English keywords are used in 'jmEventTriggerEvent', 'jmEventPrinterState', and 'jmEventPrinterStateReasons' objects and thus no explicit natural language tagging is required. - 10 October 1999 1) Initial version. Hastings, McDonald Expires 19 September 2000 [Page 29] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 10. 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. 11. 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: imcdonald@sharplabs.com Hastings, McDonald Expires 19 September 2000 [Page 30] Internet Draft IPP Notify over SNMP via Job Mon MIB 19 March 2000 12. Full Copyright Statement Copyright (C) The Internet Society (2000). 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 September 2000 [Page 31]