From 4bfd864f10b68b71482b35c818559068ef8d5797 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 27 Nov 2024 20:54:24 +0100 Subject: doc: Add RFC documents --- doc/rfc/rfc2708.txt | 1459 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1459 insertions(+) create mode 100644 doc/rfc/rfc2708.txt (limited to 'doc/rfc/rfc2708.txt') diff --git a/doc/rfc/rfc2708.txt b/doc/rfc/rfc2708.txt new file mode 100644 index 0000000..2d006bc --- /dev/null +++ b/doc/rfc/rfc2708.txt @@ -0,0 +1,1459 @@ + + + + + + +Network Working Group R. Bergman +Request for Comments: 2708 Dataproducts Corp. +Category: Informational November 1999 + + + Job Submission Protocol Mapping Recommendations + for the Job Monitoring MIB + +Status of this Memo + + This memo provides information for the Internet community. It does + not specify an Internet standard of any kind. Distribution of this + memo is unlimited. + +Copyright Notice + + Copyright (C) The Internet Society (1999). All Rights Reserved. + +Abstract + + This document defines the recommended mapping for many currently + popular Job submission protocols to objects and attributes in the Job + Monitoring MIB. + +Table of Contents + + 1.0 INTRODUCTION.................................................2 + 2.0 LINE PRINTER DAEMON (LPR/LPD) PROTOCOL.......................4 + 2.1 jmJobSubmissionID Mapped to LPR/LPD..........................4 + 2.2 jmJobIndex Mapped to LPR/LPD.................................5 + 2.3 Other MIB Objects Mapped to LPR/LPD..........................5 + 2.4 The Attribute Group Mapped to LPD............................5 + 3.0 APPLETALK PROTOCOL...........................................6 + 3.1 jmJobSubmissionID Mapped to AppleTalk........................6 + 3.2 Other AppleTalk Mappings.....................................6 + 4.0 INTERNET PRINTING PROTOCOL (IPP).............................6 + 4.1 jmJobSubmissionID Mapped to IPP..............................7 + 4.2 jmJobIndex Mapped to IPP.....................................7 + 4.3 Other MIB Objects Mapped to IPP..............................8 + 4.4 The Attribute Group Mapped to IPP............................8 + 5.0 INTELLIGENT PRINTER DATA STREAM (IPDS)......................10 + 5.1 jmJobSubmissionId Mapped to IPDS............................10 + 5.2 The Attribute Group Mapped to IPDS..........................11 + 6.0 DOCUMENT PRINTING APPLICATION (DPA).........................11 + 6.1 jmJobSubmissionID Mapped to DPA.............................11 + 6.2 jmJobIndex Mapped to DPA....................................12 + 6.3 Other MIB Objects Mapped to DPA.............................12 + 6.4 The Attribute Group Mapped to DPA...........................13 + + + +Bergman Informational [Page 1] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + 7.0 NOVELL DISTRIBUTED PRINT SERVICE (NDPS).....................14 + 7.1 jmJobSubmissionID Mapped to NDPS............................14 + 7.2 jmJobIndex Mapped to NDPS...................................14 + 7.3 Other MIB Objects Mapped to NDPS............................15 + 7.4 The Attribute Group Mapped to NDPS..........................15 + 8.0 PRINTER JOB LANGUAGE (PJL)..................................17 + 8.1 jmJobSubmissionID Mapped to PJL.............................17 + 8.2 jmJobIndex Mapped to PJL....................................18 + 8.3 Other MIB Objects Mapped to PJL.............................18 + 8.4 The Attribute Group Mapped to PJL...........................18 + 9.0 POSTSCRIPT..................................................18 + 9.1 jmJobSubmissionID Mapped to PostScript......................19 + 9.2 Other MIB Objects and Attributes Mapped to PostScript.......19 + 10.0 NETWARE PSERVER............................................19 + 10.1 jmJobSubmissionID Mapped to PServer........................19 + 10.2 jmJobIndex Mapped to PServer...............................19 + 10.3 Other MIB Objects Mapped to PJL............................20 + 10.4 The Attribute Group Mapped to PServer......................20 + 11.0 NETWARE NPRINTER or RPRINTER...............................20 + 12.0 SERVER MESSAGE BLOCK (SMB) PROTOCOL........................21 + 12.1 jmJobSubmissionID Mapped to SMB............................21 + 12.2 jmJobIndex Mapped to SMB...................................21 + 12.3 Other MIB objects Mapped to SMB............................21 + 13.0 TRANSPORT INDEPENDENT PRINTER/SYSTEM INTERFACE (TIP/SI)....22 + 13.1 jmJobSubmissionID Mapped to TIP/SI.........................22 + 13.2 jmJobIndex Mapped to TIP/SI................................22 + 13.3 Other MIB Objects Mapped to TIP/SI.........................22 + 13.4 The Attribute Group Mapped to TIP/SI.......................22 + 14.0 SECURITY CONSIDERATIONS....................................23 + 15.0 REFERENCES.................................................23 + 16.0 AUTHORS' ADDRESSES.........................................24 + 17.0 FULL COPYRIGHT STATEMENT...................................26 + +1.0 INTRODUCTION + + The Job Monitoring MIB [JobMIB] is intended to be implemented in a + device or server that supports any job submission protocol. However, + the information available and the method of presentation varies + significantly by job submission protocol. A common method of mapping + job submission information to the Job Monitoring MIB is essential for + interoperability of Job MIB agents and monitoring applications. This + document defines recommended mappings for most popular job submission + protocols to ensure this compatibility. + + + + + + + + +Bergman Informational [Page 2] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + All mappings are unidirectional from the job submission protocol to + the MIB. It is assumed that support of the job submission protocol + in the printer implies that the reverse information flow is presently + defined and does not require interaction from the MIB. This mapping + is not defined in this document as it should be obvious. + + This document refers to system configurations that are defined in the + Job Monitoring MIB [JobMIB]. For those readers that are familiar + with the configuration descriptions, a short summary appears here. + Please see the Job MIB document for further details. + + Configuration 1: This is a simple peer-to-peer system which contains + only a client and a printer. The Job MIB agent is + resident in the printer. + + Configuration 2: This system contains a client, server, and a + printer. The Jib MIB agent is resident in the + server. + + Configuration 3: This system, as in configuration 2, contains a + client, server, and a printer. In this case the + Job MIB agent is implemented within the printer. + + The most important object to be mapped is jmJobSubmissionID, since + this is a method for the user or client to determine the jmJobIndex + for a submitted job. Therefore, jmJobSubmissionID is specified for + all job submission protocols defined in this document. The remaining + objects mapped include only those items that have the equivalent + information presented to the printer by the job submission protocol. + + While this document places a strong emphasis on jmJobSubmissionID + mapping to obtain jmJobIndex, the preferred method is through the use + of a bi-directional job submission protocol that returns the + equivalent value of jmJobIndex to the client, such as IPP. When a + bi-directional protocol that returns jmJobIndex is in use, the + jmJobSubmissionID object has no value to the client. When the + jmJobIndex cannot be returned, the use of a client defined + jmJobSubmissionID is preferred over an agent derived value. The + client defined version allows for retrieval of jmJobIndex using a + single SNMP Get operation, since jmJobSubmissionID is the index into + the jmJobIDTable. An agent derived value will require a search + through multiple entries in the jmJobIDTable. + + The majority of the protocols mapped in this document are oriented + towards network job submission. However, the Job Monitoring MIB is + also intended to monitor print jobs received from other than network + ports, such as parallel and serial ports. Some of the job submission + protocols included that are used with non-networked ports are PJL, + + + +Bergman Informational [Page 3] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + PostScript, and TIP/SI. In addition, the Job Monitoring MIB can be + used with print jobs that are internally generated, such as self test + pages. In this latter case, no mapping is required since all job + submission protocols are bypassed. + +2.0 LINE PRINTER DAEMON (LPR/LPD) PROTOCOL + + The LPR/LPD printing protocol [LPD] is used with BSD UNIX systems in + the client-server-printer configuration. Usage of the Job Monitoring + MIB with LPR/LPD will most likely conform to Configuration 3, where + the monitor application or the server uses SNMP to obtain job + information from the printer. The client communicates with the UNIX + server using the existing LPD protocol to obtain job information. + + The LPR/LPD protocol is also used in the Windows environment to + implement peer-to-peer printing, as shown in configuration 1. In + this case, SNMP is used by the client and/or the monitor application + to obtain the job information. + + One of the major problems of LPR/LPD is the large number of vendor + unique extensions currently used with the protocol and the resulting + compatibility issues between available implementations. To avoid + these issues, this mapping of LPR/LPD is restricted to the protocol + as defined by RFC 1179. + + The LPR/LPD protocol transfers print job data and control information + in separate files, known as the Data File and Control File, + respectively. Most of the information concerning the print job is + contained in the Control File. In many LPD implementations, the + Control File is transferred following the Data File. Thus much of + the information concerning the job may not be available until the + completion of the data transmission. + +2.1 jmJobSubmissionID Mapped to LPR/LPD + + The LPR/LPD Receive Data File command contains a parameter which + defines the name of the data file. This name field is structured as + follows: + + dfaXXX or daXXXX + + Where XXX or XXXX is the numeric job number assigned by the network + entity submitting the print job to the printer. The recommended + mapping of this name field to jmJobSubmissionID is: + + + + + + + +Bergman Informational [Page 4] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + octet 1: '9' + + octets 2-40: Contains the portion of the name field. If + the portion is less than 40 octets, the + left-most character in the string shall appear in octet + position 2. Any unused portion of this field shall be + filled with spaces. Otherwise, only the last 39 bytes + shall be included. + + octets 41-48: '00000XXX' or '0000XXXX', where XXX or XXXX is the + decimal (ASCII coded) representation of the LPR/LPD job + number. + +2.2 jmJobIndex Mapped to LPR/LPD + + The job index (jmJobIndex) is assigned by the SNMP job monitoring + agent and is independent of the XXX (or XXXX) index assigned by the + LPR/LPD client. This will allow the SNMP agent to track jobs + received from multiple sources. + +2.3 Other MIB Objects Mapped to LPR/LPD + +MIB Object | LPR/LPD Parameter +------------------------------+---------------------------------------- +jmJobKOctetsPerCopyRequested | Number of bytes as defined in the Data + | File +jmJobOwner | Control file command code = P (User Id) + +2.4 The Attribute Group Mapped to LPD + + Other attributes that are applicable, but not defined in this section + such as attributes that map to a vendor unique extension, may also be + included. + +MIB attribute | LPR/LPD information | Data type +----------------------+---------------------------------+-------------- +jobName | Job Name (notes 1, 2) | Octet String +queueNameRequested | Queue name from the Data File | Octet String +fileName | Source File Name (notes 1, 3) | Octet String + +Notes: +------ + 1. The information is optional in the Control File. The attribute + should be included if present in the Control File. + 2. Control file command code = J. If this optional field is omitted + from the control file, then the agent returns the file name + (command code = N), if present. + 3. Control file command code = N. + + + +Bergman Informational [Page 5] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +3.0 APPLETALK PROTOCOL + + AppleTalk was originally developed as a peer-to-peer network + protocol, as described in configuration 1, for use with Apple + Macintosh computers. Today, print spoolers are also available for + use with Macintosh computer networks that conform to configurations + 2/3. In addition, printing with the AppleTalk protocol is supported + from both Windows NT servers and Novell servers also per + configurations 2/3. + + The AppleTalk protocol provides very little information that can be + used with the Job Monitoring MIB. The Macintosh print drivers are + able to provide information concerning the user and document name but + imbed this information in the PDL, which is typically PostScript. + The preferred jmJobSubmissionID is constructed from the information + in the PostScript file, as defined in section 9.0. + +3.1 jmJobSubmissionID Mapped to AppleTalk + + An alternative jmJobSubmissionID may be constructed from the + Connection Identifier contained in the AppleTalk Printer Access + Protocol (PAP) header. Since the Connection Id is not readily + available in any of the defined AppleTalk implementations, this + approach may be of little utility. + + octet 1: 'A' + + octets 2-40: Contains the AppleTalk printer name, with the first + character of the name in octet 2. AppleTalk printer + names are a maximum of 31 characters. Any unused + portion of this field shall be filled with spaces. + + octets 41-48: '00000XXX', where 'XXX' is the decimal (ASCII coded) + representation of the Connection Id. + +3.2 Other AppleTalk Mappings + + No other Job MIB objects or parameters can be derived from + information available in the AppleTalk headers + +4.0 INTERNET PRINTING PROTOCOL (IPP) + + The Internet Printing Protocol [IPP] supports printing using any one + of the three possible configurations. For configuration 2, the + mapping defined herein is performed on an agent within the server. + Otherwise, the mapping is performed on an agent within the printer. + + + + + +Bergman Informational [Page 6] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +4.1 jmJobSubmissionID Mapped to IPP + + IPP contains a rich set of parameters which allow several methods of + creating the jmJobSubmissionID object. To prevent interoperability + problems, the preferred method is to use the IPP job-uri attribute as + follows: + + octet 1: '4' + + octets 2-40: Contains the IPP job-uri job description attribute + generated by the printer. (The job-uri is returned to + the client by IPP.) If the job-uri is less than 40 + octets, the left-most character in the string shall + appear in octet position 2. Any unused portion of this + field shall be filled with spaces. Otherwise, only the + last 39 bytes shall be included. + + octets 41-48: Contains the decimal (ASCII coded) representation of + the job-id job description attribute. Leading zeros + shall be inserted to fill the entire 8 octet field. + + NOTE - Since IPP returns the "job-identifier" attribute with the + jmJobIndex value for a job when the job is submitted, the use of the + jmJobSubmissionID table should not be needed by a management + application. See Section 1.0. + +4.2 jmJobIndex Mapped to IPP + + The job index (jmJobIndex) assigned by the SNMP job monitoring agent + is returned to the client by IPP as the job-id job description + attribute. (Since IPP does not require consecutively generated job- + ids, the agent may receive jobs from multiple clients and can assign + jmJobIndex in an ascending sequence independent of the submitting job + client.) The IPP job-id must be restricted to the range of 1 to + 99,999,999 (decimal) to allow the value to be properly represented in + jmJobSubmissionID. + + + + + + + + + + + + + + + +Bergman Informational [Page 7] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +4.3 Other MIB Objects Mapped to IPP + + MIB Object | IPP Job attribute + ---------------------------------+----------------------------------- + jmJobState | job-state + jmJobStateReasons1 | job-state-reasons (note 1) + jmNumberOfInterveningJobs | number-of-intervening-jobs + jmJobKOctetsPerCopyRequested | job-k-octets + jmJobKOctetsProcessed | job-k-octets-processed + jmJobImpressionsPerCopyRequested | job-impressions + jmJobImpressionsCompleted | job-impressions-completed + jmJobOwner | job-originating-user-name + + Notes: + ------ + 1. jmJobStateReasons1 is a bit map which can describe up to 31 job + state reasons. Also the IPP "job-state-reasons" attribute is a + multi-valued attribute with each value being a keyword. The IPP + condition may change multiple bits in this object. The IPP "job- + state-reasons" attribute may also change one or more of the + jobStateReasonsN attributes (see section 4.4). + + +4.4 The Attribute Group Mapped to IPP + + The following mappings are required if the listed IPP job template + attribute is provided. + + + + + + + + + + + + + + + + + + + + + + + + +Bergman Informational [Page 8] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +MIB attribute | IPP job attribute | Data type +---------------------------+------------------------------+------------- +jobStateReasonsN(N=2, 3, 4)| job-state-reasons (note 3) | Integer +jobCodedCharSet | attributes-charset (note 1) | Octet String +jobNaturalLanguageTag | attributes-natural-language | Octet String +jobURI | job-uri | Octet String +jobName | job-name | Octet String +physicalDevice | output-device-assigned | Octet String +numberOfDocuments | number-of-documents | Integer +jobPriority | job-priority | Integer +jobHoldUntil | job-hold-until | Octet String +sides | sides (note 2) | Integer +finishing | finishings | Integer +printQualityRequested | print-quality | Integer +printerResolutionRequested | printer-resolution | Integer +jobCopiesRequested | copies (note 4) | Integer +documentCopiesRequested | copies (note 4) | Integer +jobCollationType | multiple-document-handling | Integer +sheetsRequested | job-media-sheets | Integer +sheetsCompleted | job-media-sheets-completed | Integer +mediumRequested | media | Octet String +jobSubmissionTime | time-at-submission | Integer +jobStartedProcessingTime | time-at-processing | Integer +jobCompletionTime | time-at-completed | Integer + + Notes: + ------ + 1. jobCodedCharSet is an enum from the IANA registry which is also + used in the Printer MIB. The IPP attributes-charset is the name + (MIME preferred name) of the character set. + 2. The Job MIB sides attribute uses the integer values "1" and "2". + The IPP sides attribute uses three keywords. + 3. jobStateReasonsN are three attributes (N=2, 3, 4). Also the IPP + "job-state-reasons" attribute is a multi-valued attribute with + each value being a keyword. The IPP condition may change multiple + bits in one or more of these Job MIB attributes. See also + jmJobStateReasons1 in section 4.3. + 4. The IPP "copies" attribute maps to the Job MIB: + (1) jobCopiesRequested when the job has only one document OR IPP + "multiple-document-handling" is 'single-valued' + (2) documentCopiesRequested, in which case the MIB value is the + total number of document copies that the job will produce as a + whole. + + + + + + + + +Bergman Informational [Page 9] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +5.0 INTELLIGENT PRINTER DATA STREAM (IPDS) + + The IPDS datastream facilitates a close relationship between the + print supervisor (Print Services Facility - PSF) and the printer. + There are PSF applications for UNIX, Windows, OS/2, OS/400 and host + operating systems such as VM, MVS and VSE. Together, PSF and IPDS + represent a complete, mature and robust job management framework + which includes font and resource management, page progress tracking, + job cancellation, complete error recovery and end-user notification. + Because PSF and the printer correspond via the use of locally + assigned IDĘs, there is a limited amount of clear text information + provided during submission for use by the Job MIB. + +5.1 jmJobSubmissionId Mapped to IPDS + + For IPDS on the MVS or VSE platform: + + octet 1: 'E' + + octets 2-40: Contains bytes 2-27 of the XOH Define Group Boundary + Group ID triplet. Octet position 2 must carry the + value x'01'. Bytes 28-40 must be filled with spaces. + + octets 41-48: Contains a decimal (ASCII coded) representation of the + jmJobIndex assigned by the agent. Leading zeros shall + be inserted to fill the entire 8 octet field. + + For IPDS on the VM platform: + + octet 1: 'F' + + octets 2-40: Contains bytes 2-31 of the XOH Define Group Boundary + Group ID triplet. Octet position 2 must carry the + value x'02'. Bytes 32-40 must be filled with spaces. + + octets 41-48: Contains a decimal (ASCII coded) representation of the + jmJobIndex assigned by the agent. Leading zeros shall + be inserted to fill the entire 8 octet field. + + For IPDS on the OS/400 platform: + + octet 1: 'G' + + octets 2-40: Contains bytes 2-36 of the XOH Define Group Boundary + Group ID triplet. Octet position 2 must carry the + value x'03'. Bytes 37-40 must be filled with spaces. + + + + + +Bergman Informational [Page 10] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + octets 41-48: Contains a decimal (ASCII coded) representation of the + jmJobIndex assigned by the agent. Leading zeros shall + be inserted to fill the entire 8 octet field. + +5.2 The Attribute Group Mapped to IPDS + +For MVS/VSE: + +MIB attribute | IPDS XOH DGB Group ID | Data type +----------------------------------+-----------------------+------------- +jobSourcePlatformType sptMVS(7) | Byte 2 = x'01' | Integer +jobName | Bytes 4-11 | Octet String + + +For VM: + +MIB attribute | IPDS XOH DGB Group ID | Data type +----------------------------------+-----------------------+------------- +jobSourcePlatformType sptVM(8) | Byte 2 = x'02' | Integer +fileName | Bytes 4-11 | Octet String + + +For OS/400: + +MIB attribute | IPDS XOH DGB Group ID | Data type +----------------------------------+-----------------------+------------- +jobSourcePlatformType sptOS400(9) | byte 2 = x'03' | Integer +fileName | Bytes 23-32 | Octet String +jobName | Bytes 37-46 | Octet String + +6.0 DOCUMENT PRINTING APPLICATION (DPA) + + The ISO 10175 Document Printing Application (DPA) [DPA] supports + printing using any one of the three possible configurations. For + configuration 2, the mapping defined herein is performed on a server. + Otherwise, the mapping is performed on an agent within the printer. + +6.1 jmJobSubmissionID Mapped to DPA + + DPA contains a rich set of parameters which allow several methods of + creating the jmJobSubmissionID object. To prevent interoperability + problems, the preferred method is to use the DPA job-owner attribute + as follows: + + + + + + + + +Bergman Informational [Page 11] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + octet 1: '0' + + octets 2-40: Contains the DPA job-owner attribute supplied by the + submitter. If the job-owner is less than 40 octets, + the left-most character in the string shall appear in + octet position 2. Any unused portion of this field + shall be filled with spaces. Otherwise, only the last + 39 bytes shall be included. + + octets 41-48: Contains an 8-digit sequential decimal number. + +6.2 jmJobIndex Mapped to DPA + + The job index (jmJobIndex) assigned by the SNMP job monitoring agent + is returned to the client by DPA as a decimal digit string as the + value of the DPA job-identifier attribute. (Since DPA does not + require consecutively generated job-identifiers, the agent may + receive jobs from multiple clients and can assign the jmJobIndex in + an ascending sequence independent of the submitting job client.) The + DPA job-identifier must be restricted to the range of 1 to 99,999,999 + (decimal) to allow the value to be properly represented in + jmJobSubmissionID. + + NOTE - Since DPA returns the "job-identifier" attribute with the + jmJobIndex value for a job when the job is submitted, the use of the + jmJobSubmissionID table should not be needed by a management + application. See Section 1.0. + +6.3 Other MIB Objects Mapped to DPA + + MIB Object | DPA Job attribute + ---------------------------------+------------------------------------ + jmJobState | job-state + jmJobStateReasons1 | job-state-reasons (note 2) + jmNumberOfInterveningJobs | intervening-jobs + jmJobKOctetsPerCopyRequested | total-job-octets (notes 1, 3) + jmJobKOctetsProcessed | job-octets-completed (note 1) + jmJobImpressionsPerCopyRequested | job-impression-count (note 3) + jmJobImpressionsCompleted | impressions-completed + jmJobOwner | job-owner + + Notes: + ------ + 1. jmJobKOctetsPerCopyRequested and jmJobKOctetsProcessed is in K + octets while the DPA job-total-octets and job-octets-completed is + in octets and is 63-bits of significance. + + + + + +Bergman Informational [Page 12] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + 2. jmJobStateReasons1 is a bit map which can describe up to 31 job + state reasons. Also the DPA "job-state-reasons" attribute is a + multi-valued attribute with each value being an object identifier + (OID). The DPA condition may change multiple bits in this object. + The DPA condition may also change one or more of the + jobStateReasonsN attributes (see section 4.4) + 3. DPA octets include the multiplication factor due to job and + document copies, while the MIB values do not. + +6.4 The Attribute Group Mapped to DPA + + The following mappings are required if the listed DPA job attribute + is provided. + +MIB attribute | DPA job attribute |IPP Data type +---------------------------+------------------------------+------------- +jobStateReasonsN(N=2, 3, 4)| job-state-reasons (note 2) | Integer +jobCodedCharSet | (note 1) | Octet String +jobAccountName | accounting-information | Octet String +jobName | job-name | Octet String +deviceNameRequested | printer-name-requested | Octet String +physicalDevice | printers-assigned | Octet String +numberOfDocuments | number-of-documents | Integer +fileName | file-name | Octet String +documentName | document-name | Octet String +jobComment | job-comment | Octet String +documentFormat | document-format | Octet String +jobPriority | job-priority | Integer +jobProcessAfterDateAndTime | job-print-after | Octet String +outputBin | results-profile.output-bin | Octet String +sides | sides (note 3) | Integer +finishing | job-finishing, finishing | Integer +printQualityRequested | print-quality | Integer +printerResolutionRequested | default-printer-resolution | Integer + | (note 4) | +jobCopiesRequested | results-profile.job-copies | Integer +jobCopiesCompleted | job-copies-completed | Integer +documentCopiesRequested | copy-count (note 5) | Integer +documentCopiesCompleted | copies-completed (note 6) | Integer +sheetsRequested | job-media-sheet-count | Integer +sheetsCompleted | job-media-sheets-completed | Integer +pagesRequested | job-page-count | Integer +pagesCompleted | pages-completed | Integer +mediumRequested | page-media-select, | Octet String + | default-medium | +jobSubmissionTime | submission-time (note 7) | Octet String +jobStartedProcessingTime | started-printing-time (note 7) Octet String +jobCompletionTime | completion-time (note 7) | Octet String + + + +Bergman Informational [Page 13] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + Notes: + ------ + 1. Every DPA attribute is tagged indicating the coded character set + to be used for that attribute. + 2. jobStateReasonsN are three attributes (N=2, 3, 4). The DPA + condition may change one or more of the bits in one or more of + these Job MIB items. Also the DPA job-state-reasons is a multi- + valued attribute with each value being an OBJECT IDENTIFIER (OID). + 3. The Job MIB sides attribute is an integer '1' or '2' while the DPA + sides attribute has one of six OID values that includes plex. + 4. printerResolutionRequested has x and y resolution and is intended + to override the resolution instruction in the document, if any, + while the DPA default-printer-resolution is the same in x and y + and only takes effect if the document does not contain a + resolution instruction + 5. The DPA "copy-count" attribute is a per-document attribute, so the + MIB value is the sum of the documents' "copy-count" values times + the job's "results-profile.job-copies" value. + 6. The DPA "copies-completed" attribute is a per-document attribute, + so the MIB value is the sum of the documents' "copies-completed" + values times the job's "results-profile.job-copies" value. + 7. The DPA GeneratlizedTime data type is defined by ISO 8824 (ISO- + 8824) while the MIB DateAndTime is defined by SNMPv2-TC (SNMPv2- + TC). + +7.0 NOVELL DISTRIBUTED PRINT SERVICE (NDPS) + + Novell Distributed Print Services is a DPA based job submission + protocol that conforms to configuration 3. + +7.1 jmJobSubmissionID Mapped to NDPS + + NDPS supports the generation of a properly formatted + jmJobSubmissionID for use in the Job MIB, via the attribute ndps- + att-job-identifier. + +7.2 jmJobIndex Mapped to NDPS + + NDPS defines the attribute ndps-att-job-identifier-on-printer that + can be used to return the value of jmJobIndex to the NDPS client. See + Section 1.0. + + + + + + + + + + +Bergman Informational [Page 14] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +7.3 Other MIB Objects Mapped to NDPS + +MIB Object | NDPS Parameter +---------------------------------+-------------------------------------- +jmJobState | ndps-att-current-job-state (note 1) +jmJobStateReasons1 | ndps-att-job-state-reasons (note 2) +jmNumberOfInterveningJobs | ndps-att-intervening-jobs +jmJobKOctetsPerCopyRequested | ndps-att-total-job-octets (notes 3,4) +jmJobKOctetsProcessed | ndps-att-octets-completed (note 3) +jmJobImpressionsPerCopyRequested | ndps-att-job-impressions-count +jmJobImpressionsCompleted | ndps-att-impressions-completed +jmJobOwner | ndps-att-job-owner (note 5) + + Notes: + ------ + 1. Some of the NDPS job states must be represented by both a + jmJobState and a jmJobStateReasons1 object or a jobStateReasonsN + attribute (N=2, 3, 4). + 2. The NDPS job state reasons may be mapped to either the object + jmJobStateReasons1 or the attribute jobStateReasonsN (N=2, 3, 4). + 3. jmJobKOctetsPerCopyRequested and jmJobKOctetsProcessed is in K + octets while the NDPS ndps-att-job-total-octets and ndps-att-job- + octets-completed is in octets and is 63-bits of significance. + 4. NDPS octets include the multiplication factor due to job and + document copies, while the MIB values do not. + 5. The Job MIB object must be multiplied by the attribute + jobCopiesRequested to obtain the NDPS attribute value, if multiple + copies have been requested. + +7.4 The Attribute Group Mapped to NDPS + + The following mappings are required if the listed PJL attribute or + command option is provided. + + + + + + + + + + + + + + + + + + +Bergman Informational [Page 15] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +MIB attribute | NDPS parameter | Data type +---------------------------+------------------------------+------------- +jobStateReasonsN(N=2, 3, 4)| ndps-job-state-reasons | Integer +jobAccountName | ndps-att-job-owner | Octet String +jobName | ndps-att-job-name | Octet String +jobOriginatingHost | ndps-att-job-originator | Octet String +deviceNameRequested | ndps-att-printer-name-- | Octet String + | requested | +numberOfDocuments | ndps-att-number-of-documents | Integer +fileName | ndps-att-document-file-name | Octet String +documentName | ndps-att-document-name | Octet String +jobComment | ndps-att-job-comment | Octet String +documentFormatIndex | ndps-att-prtInterpreterIndex | Integer +documentFormat | ndps-att-document-format | Integer +jobPriority | ndps-att-job-priority | Integer +jobProcessAfterDateAndTime | ndps-att-job-print-after | Octet String +outputBin | ndps-att-results-profile | Integer + | (note 1) | +sides | ndps-att-sides (note 2) | Integer +finishing | ndps-att-job-finishing | Integer +printQualityRequested | ndps-att-print-quality | Integer +printerResolutionRequested | ndps-att-default-printer-- | + | resolution (note 3) | Integer +printerResolutionUsed | ndps-att-default-resolutions-- + | used | Integer +jobCopiesRequested | ndps-att-results-profile | Integer + | (note 4) | +jobCopiesCompleted | ndps-att-job-copies-completed| Integer +documentCopiesRequested | ndps-att-copy-count (note 5) | Integer +documentCopiesCompleted | ndps-att-copies-completed | Integer + | (note 6) | +sheetsRequested | ndps-att-job-media-- | + | sheet-count | Integer +sheetsCompleted | ndps-att-media-sheets-- | + | completed | Integer +mediumConsumed | ndps-att-media-used | Integer +jobSubmissionToServerTime | ndps-att-submission-time | Octet String + | (note 7) | +jobSubmissionTime | ndps-att-started-printing-time Octet String + | (note 7) | +jobCompletionTime | ndps-att-completion-time | Octet String + | (note 7) | + Notes: + ------ + 1. The output-bin field in ndps-att-results-profile is to be used. + 2. The Job MIB sides attribute is an integer '1' or '2' while the + NDPS sides attribute has one of six OID values that includes plex. + + + + +Bergman Informational [Page 16] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + 3. printerResolutionRequested has x and y resolution and is intended + to override the resolution instruction in the document, if any, + while the ndps-att-default-printer-resolution is the same in x and + y and only takes effect if the document does not contain a + resolution instruction + 4. The job-copies field in ndps-att-results-profile is to be used. + 5. The NDPS "copy-count" attribute is a per-document attribute, so + the MIB value is the sum of the documents' "copy-count" values + times the job's "results-profile.job-copies" value. + 6. The NDPS "copies-completed" attribute is a per-document attribute, + so the MIB value is the sum of the documents' "copies-completed" + values times the job's "results-profile.job-copies" value. + 7. The NDPS GeneratlizedTime data type is defined by ISO 8824 (ISO- + 8824) while the MIB DateAndTime is defined by SNMPv2-TC (SNMPv2- + TC). + +8.0 PRINTER JOB LANGUAGE (PJL) + + PJL [PJL] has been developed by Hewlett-Packard to provide job + control information to the printer and status information to + applications, independent of the PDL. + +8.1 jmJobSubmissionID Mapped to PJL + + PJL has defined the SUBMISSIONID option for the JOB command which + indicates a properly formatted jmJobSubmissionID for use in the Job + MIB. The PJL JOB command is presented at the start of a print job + with options that apply only the attached job. The syntax for this + command option is: + + @PJL JOB SUBMISSIONID = "id string" + + Driver software that implements this PJL command option must provide + the "id string" in one of the client version formats specified in the + Job MIB for jmJobSubmissionID. + + For drivers that are not able to create the SUBMISSIONID option, it + is recommended that jmJobSubmissionID format 0 be created by the + agent using the PJL attribute DocOwner or DocOwnerId. + + octet 1: '0' + + octets 2-40: Contains the string associated with DocOwner or + DocOwnerId. If the string is less than 40 octets, the + left-most character in the string shall appear in octet + + + + + + +Bergman Informational [Page 17] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + position 2. Otherwise, only the last 39 bytes shall be + included. Any unused portion of this field shall be + filled with spaces. If DocOwner or DocOwnerId cannot + be obtained, this field shall be blank. + + + octets 41-48: Contains the value of jmJobIndex associated with the + job. Leading zeros shall be inserted to fill the + entire 8 octet field. + +8.2 jmJobIndex Mapped to PJL + + PJL does not provide a value that can be mapped to jmJobIndex. + +8.3 Other MIB Objects Mapped to PJL + + MIB Object | PJL Job attribute + ----------------------+------------------------------------ + jobOwner | DocOwner or DocOwnerId attribute + +8.4 The Attribute Group Mapped to PJL + + The following mappings are required if the listed PJL attribute or + command option is provided. + +MIB attribute | PJL attribute or command option | Data type +----------------------+----------------------------------+-------------- +serverAssignedJobName | DocName attribute or the command | Octet String + | @PJL JOB Name = "string" | Octet String +submittingServerName | SrcServerName attribute | Octet String +jobOriginatingHost | SrcPort attribute | Octet String +queueNameRequested | SrcQ attribute | Octet String +fileName | JobFName attribute | Octet String +jobComment | JobDesc attribute | Octet String +jobSubmissionTime | TimeSubmit attribute | Octet String + +9.0 POSTSCRIPT + + The PostScript PDL permits comment fields which can be used by + application drivers to include job information. Although there are + no restrictions or requirements as to what information may be + included, many drivers include job owner and/or document name. + + + + + + + + + +Bergman Informational [Page 18] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +9.1 jmJobSubmissionID Mapped to PostScript + + The use of a standard format job submission id comment string will + allow interoperability of printers and drivers from multiple vendors. + The following comment string format is recommended for use with + PostScript level 1 and level 2 data streams. + + %%JMPJobSubmissionId:(id-string) + + where "id string" can be any jmJobSubmissionID format reserved for + clients. + +9.2 Other MIB Objects and Attributes Mapped to PostScript + + No Other mappings from PostScript comment strings are recommended, + but many Job MIB objects and attributes can be defined using vendor + unique comment strings. + +10.0 NETWARE PSERVER + + The NetWare PServer job submission protocol is implemented in a + client- server-printer system on the server to printer link as + defined in configuration 3. + +10.1 jmJobSubmissionID Mapped to PServer + + octet 1: 'B' + + octets 2-40: Contains the Directory Path Name of the agent as + recorded by the Novell File Server in the queue + directory. If the string is less than 40 octets, the + left-most character in the string shall appear in octet + position 2. Otherwise, only the last 39 bytes shall be + included. Any unused portion of this field shall be + filled with spaces. + + octets 41-48: '000XXXXX' The decimal (ASCII coded) representation + of the Job Number as per the NetWare File Server Queue + Management Services. + +10.2 jmJobIndex Mapped to PServer + + The job index (jmJobIndex) is assigned by the SNMP job monitoring + agent and is independent of the Job Number assigned by the NetWare + File Server Queue Management Services. This will allow the SNMP + agent to track jobs received from multiple sources. + + + + + +Bergman Informational [Page 19] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +10.3 Other MIB Objects Mapped to PJL + + MIB Object | PServer Job attribute + ----------------------+-------------------------------------------- + jobOwner | Client Id Number + +10.4 The Attribute Group Mapped to PServer + + The following mappings are required if the listed PServer parameter + is provided in the Novell File Server queue directory. + +MIB attribute | PServer parameter | Data type +---------------------------+-----------------------------+-------------- +serverAssignedJobName | Job File Name | Octet String +queueNameRequested | Queue Id | Integer +physicalDevice | Server Id Number | Integer +jobComment | Job Description | Octet String +jobPriority | (note 1) | Integer +jobProcessAfterDateAndTime | Target Execution Time | Octet String +jobCopiesRequested | Number of Copies | Integer +mediumRequested | Form Name | Octet String +jobSubmissionToServerTime | Job Entry Time | Octet String + + Notes: + ------ + 1. The job priority is determined by the priority assigned to the + queue that contains the job. Each queue can be assigned a unique + priority and the priority of the job is inherited from the queue. + +11.0 NETWARE NPRINTER or RPRINTER + + The NetWare NPrinter/RPrinter protocol was designed to transfer print + data from a Novell File Server to a printer attached directly to a + local port (e.g. parallel or serial) on a PC. NPrinter/RPrinter is + an extremely lightweight printing protocol. Consequently, no + information required by the Job Monitoring MIB is provided and a + meaningful jmJobSubmissionID cannot be generated. + + It is recommended that an additional job submission layer, such as + PJL or another vendor private protocol, be included on top of + NPrinter/RPrinter to provide the required information. The mapping + should then be performed according to the recommendations of the + higher layer submission protocol. + + + + + + + + +Bergman Informational [Page 20] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +12.0 SERVER MESSAGE BLOCK (SMB) PROTOCOL + + The Server Message Block protocol is used with several PC Network + operating systems, such as Microsoft Windows for Workgroups, IBM LAN + Server, and Artisoft Lantastic. SMB systems supporting the Job + Monitoring MIB will conform to either configuration 1 or 3. + +12.1 jmJobSubmissionID Mapped to SMB + + octet 1: 'C' + + octets 2-40: Contains a decimal (ASCII coded) representation of the + 16 bit SMB Tree Id field, which uniquely identifies the + connection that submitted the job to the printer. The + most significant digit of the numeric string shall be + placed in octet position 2. All unused portions of + this field shall be filled with spaces. The SMB Tree + Id has a maximum value of 65,535. + + octets 41-48: Contains a decimal (ASCII coded) representation of the + File Handle returned from the printer agent to the + client in response to a Create Print File command. + Leading zeros shall be inserted to fill the entire 8 + octet field. + +12.2 jmJobIndex Mapped to SMB + + It is strongly recommended that the File Handle returned from the + printer agent be identical to jmJobIndex. If these items are + identical, there is no need for the client application to perform a + search on jmJobSubmissionID. To be compatible with the 16 bit field + allocated to this value by SMB, the maximum jmJobIndex is 65,535. + +12.3 Other MIB objects Mapped to SMB + + MIB Object | SMB Parameter + ----------------+------------------------------------------------ + jmJobOwner | SMB User Id field (note 1) + + Notes: + ------ + 1. A decimal (ASCII coded) representation of the SMB User Id numeric + shall be presented as jmJobOwner. + + + + + + + + +Bergman Informational [Page 21] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +13.0 TRANSPORT INDEPENDENT PRINTER/SYSTEM INTERFACE (TIP/SI) + + The TIP/SI protocol, although currently specified as a part of the + IEEE 1284 parallel port standards [TIP/SI], was originally developed + as a network protocol. TIP/SI thus has the potential of being + integrated into any network or non-network configuration. + +13.1 jmJobSubmissionID Mapped to TIP/SI + + octet 1: 'D' + + octets 2-40: Contains the Job Name from the Job Control-Start Job + (JC-SJ) command. If the Job Name portion is less than + 40 octets, the left-most character in the string shall + appear in octet position 2. Any unused portion of this + field shall be filled with spaces. Otherwise, only the + last 39 bytes shall be included. + + octets 41-48: Contains a decimal (ASCII coded) representation of the + jmJobIndex assigned by the agent. Leading zeros shall + be inserted to fill the entire 8 octet field. + +13.2 jmJobIndex Mapped to TIP/SI + + jmJobIndex is returned to the client as the Printer Assigned Job Id + in a Job Control-Start Job (JC-SJ) response packet. To be compatible + with the 16 bit field allocated to this value by TIP/SI, the maximum + jmJobIndex is 65,535. + +13.3 Other MIB Objects Mapped to TIP/SI + + MIB Object | TIP/SI Parameter + -----------------------+--------------------------------------------- + jmJobOwner | User string + +13.4 The Attribute Group Mapped to TIP/SI + + MIB attribute | TIP/SI information | Data type + ----------------------+---------------------------------+------------- + jobName | Job Name string | Octet String + jobComment | Additional Information string | Octet String + + + + + + + + + + +Bergman Informational [Page 22] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +14.0 Security Considerations + + This document provides mapping recommendations of job submission + protocols for use with the Job Monitoring MIB. The mapping procedures + defined do not enhance or compromise any security provisions + available within the job submission protocols contained within this + document. + + The security considerations specified for the Job Monitoring MIB + [JobMIB] are also unaffected by any of the recommendations in this + document. + + The security provisions available in the job submission protocols are + documented in the appropriate specifications that define the + protocols. The degree of security available varies from very good, + for protocols such as the Internet Printing Protocol [IPP], to non- + existent, for example the Line Printer Daemon Protocol [LPD]. + + Since the defined mapping operation occurs as a secondary operation + after the user has been authenticated and there is no storage of any + authorization credentials other than the user name, no security + breaches are anticipated. Also, the Job MIB does not provide any + back-door mechanism for access to any other security parameters. + However, implementers must always consider the impact of the defined + mapping procedures upon the security model desired from the protocol. + +15.0 REFERENCES + + [DPA] ISO/IEC 10175-1:1996(E), "Information technology - Text + and office systems - Document Printing Application (DPA) + - Part 1: Abstract service definition and procedures", + JTC1/SC18. + + [IPP] deBry, R., Hastings, T., Herriot, R., Issaacson, S. and + P. Powell, "The Internet Printing Protocol/1.0: Model + and Semantics", RFC 2566, April 1999. + + [ISO-8824] ISO/IEC 8824:1990, "Information technology - Open + Systems Interconnection - Specification of Abstract + Syntax Notation (ASN.1)". + + [JobMIB] Bergman, R., Hastings, T., Isaacson, S. and H. Lewis, + "The Job Monitoring MIB - V1.0", RFC 2707, November + 1999. + + [LPD] McLaughlin, L., "Line Printer Daemon Protocol", RFC + 1179, August 1990. + + + + +Bergman Informational [Page 23] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + [PJL] Printer Job Language Technical Reference Manual, + Hewlett-Packard part number 5021-0328. + + [PrtMIB] Smith, R., Wright, F., Hastings, T., Zilles, S. and J. + Gyllenskog, "Printer MIB", RFC 1759, March 1995. + + [SNMPv2-TC] McCloghrie, K., Perkins, D. and J. Schoenwaelder, + "Textual Conventions for SMIv2", STD 58, RFC 2579, April + 1999. + + [TIP/SI] IEEE Standard 1284.1, Transport Independent + Printer/System Interface. + +16.0 Authors' Addresses + + This document was created with significant contributions from the + following individuals. + + Ron Bergman (Editor) + Dataproducts Corp. + 1757 Tapo Canyon Road + Simi Valley, CA 93063-3394 + + Phone: 805-578-4421 + Fax: 805-578-4001 + EMail: rbergman@dpc.com + + + Tom Hastings + Xerox Corporation, ESAE-231 + 701 S. Aviation Blvd. + El Segundo, CA 90245 + + Phone: 310-333-6413 + Fax: 310-333-5514 + EMail: hastings@cp10.es.xerox.com + + + Scott A. Isaacson + Novell, Inc. + 122 E 1700 S + Provo, UT 84606 + + Phone: 801-861-7366 + Fax: 801-861-4025 + EMail: scott_isaacson@novell.com + + + + + +Bergman Informational [Page 24] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + + Harry Lewis + IBM Corporation + 6300 Diagonal Hwy + Boulder, CO 80301 + + Phone: (303) 924-5337 + Fax: (303) 924-4662 + EMail: harryl@us.ibm.com + + + Bob Pentecost + Hewlett-Packard Corporation + 11311 Chinden Boulevard + Boise, ID 83714 + + Phone: (208) 396-3312 + Fax: (208) 396-4122 + EMail: bpenteco@boi.hp.com + + Send comments to the printmib WG using the Job Monitoring Project + (JMP) Mailing List: jmp@pwg.org + + For further information, access the PWG web page under "JMP": + http://www.pwg.org/ + + Other Participants: + + Chuck Adams - Tektronix + Keith Carter - IBM Corporation + Angelo Caruso - Xerox + Jeff Copeland - QMS + Andy Davidson - Tektronix + Mabry Dozier - QMS + Lee Farrell - Canon + David Kellerman - Northlake Software + Rick Landau - Digital + Jay Martin - Underscore + Ira McDonald - Xerox + Stuart Rowley - Kyocera + Bob Setterbo - Adobe + Gail Songer - EFI + Mike Timperman - Lexmark + William Wagner - DPI/Osicom + Chris Wellens - Interworking Labs + Rob Whittle - Novell + Don Wright - Lexmark + Lloyd Young - Lexmark + + + + +Bergman Informational [Page 25] + +RFC 2708 Job Submission Protocol Mapping November 1999 + + +17. 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. + +Acknowledgement + + Funding for the RFC Editor function is currently provided by the + Internet Society. + + + + + + + + + + + + + + + + + + + +Bergman Informational [Page 26] + -- cgit v1.2.3