Subject: JMP> Some comments on the IPP part of the Mapping RFC

From: Tom Hastings <[email-masked]>
Date: Fri, 14 Nov 1997 14:48:23 PST

My comments are preceded with TH> about the previous line.

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 a server.  Otherwise, the mapping is performed on an
agent 
TH> replace "a" with "an agent within the" to be like the next sentence.

within the printer.

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 template 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 representation of the job-id job 
                 template attribute.

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 template attribute.  
TH> Change "template" to "decscrition" since job-id is a Description attr.

(Since IPP does not require consecutively generated job-ids, the agent may
receive job 
TH>  add "s" to "job"

from multiple clients and can assign jmJobIndex in an accending sequence 
TH>  change "accending" to "ascending"

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.

4.3  Other MIB Objects Mapped to IPP

MIB Object                | IPP Job template attribute
TH> Delete "template", since these are not all Job Template attributes.

--------------------------+---------------------------------------------
jmJobOwner                | job-originating-user
jmJobKOctetsRequested     | job-k-octets
jmJobKOctetsProcessed     | job-k-octets-processed
jmJobImpressionsRequested | job-impressions
jmJobImpressionsProcessed | job-impressions-completed
jmJobStateReasons1        | job-state-reasons (note 1)
jmNumberOfInterveningJobs | number-of-intervening-jobs

 Notes:
 ------
  1. JobStateReasons is a bit map described in one object and three 
     attributes.  The IPP condition may change one or more of the bits 
     in one or more of these Job MIB items.

4.4  The Attribute Group Mapped to IPP

The following mappings are required if the listed IPP job template
attribute is TH> Delete "template", since these are not all Job Template
attributes.

provided.

MIB attribute              | IPP job template attribute   | Data type
---------------------------+------------------------------+-------------
TH> Add the following:
jobCodedCharSet            | attributes-codeset (note 3)  | Octet String

TH> Add the following assuming that we agree:
jobNaturalLanguage         | attributes-natural-language  | Octet String

jobName                    | job-name                     | Octet String
TH> Add the following line:
numberOfDocuments          | number-of-documents          | Integer

documentFormat             | document-format              | Octet String
jobPriority                | job-priority                 | Integer
jobHoldUntil               | job-hold-until               | Octet String
sides                      | sides                        | Integer
TH> Add (note 2) in previous mail

finishing                  | finishings                   | Integer
printQualityRequested      | print-quality                | Integer
printerResolutionRequested | printer-resolution           | Integer
jobCopiesRequested         | copies                       | Integer
mediumRequested            | media                        | Octet String
jobSubmissionTime          | time-at-submission           | Integer
jobStartedProcessingTime   | time-at-processing           | Integer
jobCompletionTime          | time-at-completed            | Integer
sheetsRequested            | job-media-sheets             | Integer
jobURI                     | job-uri                      | Octet String
jobStateReasonsN           | job-state-reasons (note 1)   | Integer
physicalDevice             | output-device-assigned       | Octet String
sheetsCompleted            | job-media-sheets-completed   | Integer

 Notes:
 ------
  1. JobStateReasons is a bit map described in one object and three 
     attributes.  The IPP condition may change one or more of the bits 
     in one or more of these Job MIB items.

TH> Note 2 from previous e-mail about sides:

TH> Add Note 3:

  3. In JMP jobCodedCharSet is an enum from the Printer MIB and IANA 
registry.  In IPP, attributes-charset is name (MIME prefered name) of the
charset.