draft-ietf-printmib-job-monitor-07.txt   draft-ietf-printmib-job-monitor-08.txt 
INTERNET-DRAFT R. Bergman INTERNET-DRAFT R. Bergman
Dataproducts Corp. Dataproducts Corp.
T. Hastings T. Hastings (editor)
Xerox Corporation Xerox Corporation
S. Isaacson S. Isaacson
Novell, Inc. Novell, Inc.
H. Lewis H. Lewis
IBM Corp. IBM Corp.
February 3, 1998 February 19, 1999
Job Monitoring MIB - V1 Job Monitoring MIB - V1.0
<draft-ietf-printmib-job-monitor-07.txt> <draft-ietf-printmib-job-monitor-08.txt>
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft and is in full conformance with
documents of the Internet Engineering Task Force (IETF), its all provisions of Section 10 of [RFC2026]. Internet-Drafts are
areas, and its working groups. Note that other groups may also working documents of the Internet Engineering Task Force (IETF),
distribute working documents as Internet-Drafts. 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 Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-Drafts documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in as reference material or to cite them other than as "work in
progress." progress."
To learn the current status of any Internet-Draft, please check The list of current Internet-Drafts can be accessed at
the "1id-abstracts.txt" listing contained in the Internet-Drafts http://www.ietf.org/ietf/1id-abstracts.txt
Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net
(Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
Coast), or ftp.isi.edu (US West Coast).
This Internet-Draft expires on August 3, 1998. The list of Internet-Draft Shadow Directories can be accessed as
http://www.ietf.org/shadow.html.
This Internet-Draft expires on August 19, 1999.
Copyright Notice
@
Copyright (C) The Internet Society (1998). All Rights Reserved.
@
Abstract Abstract
This document has been developed and approved by the Printer This document has been developed and approved by the Printer
Working Group (PWG) as a PWG standard. It is intended to be Working Group (PWG) as a PWG standard. It is intended to be
distributed as an Informational RFC. This document provides a distributed as an Informational RFC. This document provides a
printer industry standard SNMP MIB for (1) monitoring the status printer industry standard SNMP MIB for (1) monitoring the status
and progress of print jobs (2) obtaining resource requirements and progress of print jobs (2) obtaining resource requirements
before a job is processed, (3) monitoring resource consumption before a job is processed, (3) monitoring resource consumption
while a job is being processed and (4) collecting resource while a job is being processed and (4) collecting resource
accounting data after the completion of a job. This MIB is accounting data after the completion of a job. This MIB is
intended to be implemented (1) in a printer or (2) in a server intended to be implemented (1) in a printer or (2) in a server
that supports one or more printers. Use of the object set is not that supports one or more printers. Use of the object set is not
limited to printing. However, support for services other than limited to printing. However, support for services other than
printing is outside the scope of this Job Monitoring MIB. Future printing is outside the scope of this Job Monitoring MIB. Future
extensions to this MIB may include, but are not limited to, fax extensions to this MIB may include, but are not limited to, fax
machines and scanners. machines and scanners.
TABLE OF CONTENTS TABLE OF CONTENTS
1. INTRODUCTION 8 1 INTRODUCTION 6
1.1 Types of Information in the MIB 8 1.1 Types of Information in the MIB 6
1.2 Types of Job Monitoring Applications 10 1.2 Types of Job Monitoring Applications 8
2. TERMINOLOGY AND JOB MODEL 11 2 TERMINOLOGY AND JOB MODEL 9
2.1 System Configurations for the Job Monitoring MIB 14 2.1 System Configurations for the Job Monitoring MIB 12
2.1.1 Configuration 1 - client-printer 14 2.1.1 Configuration 1 - client-printer 12
2.1.2 Configuration 2 - client-server-printer - agent in the 2.1.2 Configuration 2 - client-server-printer - agent in the
server 15 server 13
2.1.3 Configuration 3 - client-server-printer - client monitors 2.1.3 Configuration 3 - client-server-printer - client monitors
printer agent and server 16 printer agent and server 14
3. MANAGED OBJECT USAGE 18 3 MANAGED OBJECT USAGE 16
3.1 Conformance Considerations 18 3.1 Conformance Considerations 16
3.1.1 Conformance Terminology 18 3.1.1 Conformance Terminology 16
3.1.2 Agent Conformance Requirements 18 3.1.2 Agent Conformance Requirements 16
3.1.2.1 MIB II System Group objects 19 3.1.2.1 MIB II System Group objects 17
3.1.2.2 MIB II Interface Group objects 19 3.1.2.2 MIB II Interface Group objects 17
3.1.2.3 Printer MIB objects 19 3.1.2.3 Printer MIB objects 17
3.1.3 Job Monitoring Application Conformance Requirements 19 3.1.3 Job Monitoring Application Conformance Requirements 17
3.2 The Job Tables and the Oldest Active and Newest Active Indexes 19 3.2 The Job Tables and the Oldest Active and Newest Active Indexes 18
3.3 The Attribute Mechanism 21 3.3 The Attribute Mechanism and the Attribute Table(s) 20
3.3.1 Conformance of Attribute Implementation 22 3.3.1 Conformance of Attribute Implementation 20
3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and 3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and
Attributes 22 Attributes 21
3.3.3 Data Sub-types and Attribute Naming Conventions 23 3.3.3 Index Value Attributes 21
3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) 3.3.4 Data Sub-types and Attribute Naming Conventions 22
Attributes 24 3.3.5 Single-Value (Row) Versus Multi-Value (MULTI-ROW)
3.3.5 Requested Objects and Attributes 24 Attributes 23
3.3.6 Consumption Attributes 25 3.3.6 Requested Objects and Attributes 23
3.3.7 Index Value Attributes 25 3.3.7 Consumption Attributes 23
3.3.8 Attribute Specifications 24
3.3.9 Job State Reason bit definitions 44
3.3.9.1 JmJobStateReasons1TC specification 45
3.3.9.2 JmJobStateReasons2TC specification 49
3.3.9.3 JmJobStateReasons3TC specification 52
3.3.9.4 JmJobStateReasons4TC specification 53
3.4 Monitoring Job Progress 25 3.4 Monitoring Job Progress 53
3.5 Job Identification 29 3.5 Job Identification 57
3.5.1 The Job Submission ID specifications 58
3.6 Internationalization Considerations 30 3.6 Internationalization Considerations 63
3.6.1 Text generated by the server or device 30 3.6.1 Text generated by the server or device 63
3.6.2 Text supplied by the job submitter 31 3.6.2 Text supplied by the job submitter 64
3.6.3 'DateAndTime' for representing the date and time 32 3.6.3 'DateAndTime' for representing the date and time 65
3.7 IANA and PWG Registration Considerations 32
3.7.1 PWG Registration of enums 33 3.7 IANA and PWG Registration Considerations 65
3.7.1.1 Type 1 enumerations 33 3.7.1 PWG Registration of enums 65
3.7.1.2 Type 2 enumerations 33 3.7.1.1 Type 1 enumerations 66
3.7.1.3 Type 3 enumeration 34 3.7.1.2 Type 2 enumerations 66
3.7.2 PWG Registration of type 2 bit values 34 3.7.1.3 Type 3 enumeration 66
3.7.3 PWG Registration of Job Submission Id Formats 34 3.7.2 PWG Registration of type 2 bit values 67
3.7.3 PWG Registration of Job Submission Id Formats 67
3.7.4 PWG Registration of MIME types/sub-types for document- 3.7.4 PWG Registration of MIME types/sub-types for document-
formats 34 formats 67
3.8 Security Considerations 34 3.8 Security Considerations 67
3.8.1 Read-Write objects 34 3.8.1 Read-Write objects 67
3.8.2 Read-Only Objects In Other User's Jobs 35 3.8.2 Read-Only Objects In Other User's Jobs 68
3.9 Notifications 35 3.9 Notifications 68
4. MIB SPECIFICATION 35 4 MIB SPECIFICATION 68
Textual Conventions for this MIB Module 37 Textual conventions for this MIB module 70
JmUTF8StringTC 37 JmUTF8StringTC 70
JmJobStringTC 37 JmJobStringTC 70
JmNaturalLanguageTagTC 37 JmNaturalLanguageTagTC 70
JmTimeStampTC 37 JmTimeStampTC 71
JmJobSourcePlatformTypeTC 38 JmJobSourcePlatformTypeTC 71
JmFinishingTC 39 JmFinishingTC 72
JmPrintQualityTC 40 JmPrintQualityTC 73
JmPrinterResolutionTC 40 JmPrinterResolutionTC 73
JmTonerEconomyTC 41 JmTonerEconomyTC 74
JmBooleanTC 41 JmBooleanTC 74
JmMediumTypeTC 41 JmMediumTypeTC 74
JmJobCollationTypeTC 43 JmJobCollationTypeTC 76
JmJobSubmissionIDTypeTC 46 JmJobSubmissionIDTypeTC 76
JmJobStateTC 48 JmJobStateTC 77
JmAttributeTypeTC 51 JmAttributeTypeTC 80
other (Int32(-2..) and/or Octets63) 51 JmJobServiceTypesTC 84
Job State attributes 52 JmJobStateReasons1TC 85
jobStateReasons2 (JmJobStateReasons2TC) 52 JmJobStateReasons2TC 85
jobStateReasons3 (JmJobStateReasons3TC) 52 JmJobStateReasons3TC 86
jobStateReasons4 (JmJobStateReasons4TC) 52 JmJobStateReasons4TC 86
processingMessage (UTF8String63) 52
processingMessageNaturalLangTag (Octets63) 53
jobCodedCharSet (CodedCharSet) 53
jobNaturalLanguageTag (Octets63) 54
Job Identification attributes 54
jobURI (Octets(0..63)) 54
jobAccountName (Octets63) 54
serverAssignedJobName (JobString63) 55
jobName (JobString63) 55
jobServiceTypes (JmJobServiceTypesTC) 56
jobSourceChannelIndex (Int32(0..)) 56
jobSourcePlatformType (JmJobSourcePlatformTypeTC) 56
submittingServerName (JobString63) 56
submittingApplicationName (JobString63) 56
jobOriginatingHost (JobString63) 57
deviceNameRequested (JobString63) 57
queueNameRequested (JobString63) 57
physicalDevice (hrDeviceIndex and/or UTF8String63) 57
numberOfDocuments (Int32(-2..)) 57
fileName (JobString63) 58
documentName (JobString63) 58
jobComment (JobString63) 58
documentFormatIndex (Int32(0..)) 58
documentFormat (PrtInterpreterLangFamilyTC and/or Octets63)59
Job Parameter attributes 59
jobPriority (Int32(-2..100)) 59
jobProcessAfterDateAndTime (DateAndTime) 60
jobHold (JmBooleanTC) 60
jobHoldUntil (JobString63) 60
outputBin (Int32(0..) and/or JobString63) 60
sides (Int32(-2..2)) 61
finishing (JmFinishingTC) 61
Image Quality attributes (requested and used) 61
printQualityRequested (JmPrintQualityTC) 61
printQualityUsed (JmPrintQualityTC) 61
printerResolutionRequested (JmPrinterResolutionTC) 61
printerResolutionUsed (JmPrinterResolutionTC) 61
tonerEcomonyRequested (JmTonerEconomyTC) 61
tonerEcomonyUsed (JmTonerEconomyTC) 61
tonerDensityRequested (Int32(-2..100)) 61
tonerDensityUsed (Int32(-2..100)) 62
Job Progress attributes (requested and consumed) 62
jobCopiesRequested (Int32(-2..)) 62
jobCopiesCompleted (Int32(-2..)) 62
documentCopiesRequested (Int32(-2..)) 62
documentCopiesCompleted (Int32(-2..)) 62
jobKOctetsTransferred (Int32(-2..)) 63
sheetCompletedCopyNumber (Int32(-2..))4 63
sheetCompletedDocumentNumber (Int32(-2..))4 63
jobCollationType JmJobCollationTypeTC) 63
Impression attributes (requested and consumed) 64
impressionsSpooled (Int32(-2..)) 64
impressionsSentToDevice (Int32(-2..)) 64
impressionsInterpreted (Int32(-2..)) 64
impressionsCompletedCurrentCopy (Int32(-2..)) 64
fullColorImpressionsCompleted (Int32(-2..)) 64
highlightColorImpressionsCompleted (Int32(-2..)) 65
Page attributes (requested and consumed) 65
pagesRequested (Int32(-2..)) 65
pagesCompleted (Int32(-2..)) 65
pagesCompletedCurrentCopy (Int32(-2..)) 66
Sheet attributes (requested and consumed) 66
sheetsRequested (Int32(-2..)) 66
sheetsCompleted (Int32(-2..)) 66
sheetsCompletedCurrentCopy (Int32(-2..)) 66
Resource attributes (requested and consumed) 66
mediumRequested (JmMediumTypeTC and/or JobString63) 67
mediumConsumed (Int32(-2..) and JobString63) 67
colorantRequested (Int32(-2..) and/or JobString63) 67
colorantConsumed (Int32(-2..) and/or JobString63) 68
Time attributes (set by server or device) 68
jobSubmissionToServerTime (JmTimeStampTC and/or DateAndTime)68
jobSubmissionTime (JmTimeStampTC and/or DateAndTime) 68
jobStartedBeingHeldTime (JmTimeStampTC) 69
jobStartedProcessingTime (JmTimeStampTC and/or DateAndTime)69
jobCompletionTime (JmTimeStampTC and/or DateAndTime) 69
jobProcessingCPUTime (Int32(-2..)) 69
JmJobServiceTypesTC 71
JmJobStateReasons1TC 73
JmJobStateReasons2TC 77
JmJobStateReasons3TC 81
JmJobStateReasons4TC 81
The General Group (MANDATORY) 82 The General Group (MANDATORY) 87
jmGeneralJobSetIndex (Int32(1..32767)) 83 jmGeneralJobSetIndex (Int32(1..32767)) 88
jmGeneralNumberOfActiveJobs (Int32(0..)) 83 jmGeneralNumberOfActiveJobs (Int32(0..)) 88
jmGeneralOldestActiveJobIndex (Int32(0..)) 84 jmGeneralOldestActiveJobIndex (Int32(0..)) 89
jmGeneralNewestActiveJobIndex (Int32(0..)) 84 jmGeneralNewestActiveJobIndex (Int32(0..)) 89
jmGeneralJobPersistence (Int32(15..)) 85 jmGeneralJobPersistence (Int32(15..)) 90
jmGeneralAttributePersistence (Int32(15..)) 85 jmGeneralAttributePersistence (Int32(15..)) 90
jmGeneralJobSetName (UTF8String63) 86 jmGeneralJobSetName (UTF8String63) 91
The Job ID Group (MANDATORY) 86 The Job ID Group (MANDATORY) 92
jmJobSubmissionID (OCTET STRING(SIZE(48))) 88 jmJobSubmissionID (OCTET STRING(SIZE(48))) 93
jmJobIDJobSetIndex (Int32(0..32767)) 89 jmJobIDJobSetIndex (Int32(0..32767)) 94
jmJobIDJobIndex (Int32(0..)) 89 jmJobIDJobIndex (Int32(0..)) 94
The Job Group (MANDATORY) 89 The Job Group (MANDATORY) 95
jmJobIndex (Int32(1..)) 91 jmJobIndex (Int32(1..)) 96
jmJobState (JmJobStateTC) 91 jmJobState (JmJobStateTC) 96
jmJobStateReasons1 (JmJobStateReasons1TC) 92 jmJobStateReasons1 (JmJobStateReasons1TC) 97
jmNumberOfInterveningJobs (Int32(-2..)) 92 jmNumberOfInterveningJobs (Int32(-2..)) 97
jmJobKOctetsPerCopyRequested (Int32(-2..)) 93 jmJobKOctetsPerCopyRequested (Int32(-2..)) 98
jmJobKOctetsProcessed (Int32(-2..)) 93 jmJobKOctetsProcessed (Int32(-2..)) 98
jmJobImpressionsPerCopyRequested (Int32(-2..)) 94 jmJobImpressionsPerCopyRequested (Int32(-2..)) 99
jmJobImpressionsCompleted (Int32(-2..)) 94 jmJobImpressionsCompleted (Int32(-2..)) 99
jmJobOwner (JobString63) 95 jmJobOwner (JobString63) 100
The Attribute Group (MANDATORY) 95 The Attribute Group (MANDATORY) 101
jmAttributeTypeIndex (JmAttributeTypeTC) 98 jmAttributeTypeIndex (JmAttributeTypeTC) 103
jmAttributeInstanceIndex (Int32(1..32767)) 98 jmAttributeInstanceIndex (Int32(1..32767)) 103
jmAttributeValueAsInteger (Int32(-2..)) 99 jmAttributeValueAsInteger (Int32(-2..)) 104
jmAttributeValueAsOctets (Octets63) 100 jmAttributeValueAsOctets (Octets63) 105
5. APPENDIX A - IMPLEMENTING THE JOB LIFE CYCLE 103 5 APPENDIX A - IMPLEMENTING THE JOB LIFE CYCLE 108
6. APPENDIX B - SUPPORT OF JOB SUBMISSION PROTOCOLS 104 6 APPENDIX B - SUPPORT OF JOB SUBMISSION PROTOCOLS 109
7. REFERENCES 104 7 REFERENCES 109
8. AUTHOR'S ADDRESSES 106 8 AUTHOR'S ADDRESSES 111
9. INDEX 109 9 CHANGE HISTORY 114
9.1 Changes to produce version 1.0, dated February 19, 1999 114
9.2 Changes to produce version 1.2, dated October 2, 1998 114
9.3 Changes to produce version 1.1, dated October 1, 1998 115
10 INDEX 116
Job Monitoring MIB Job Monitoring MIB
1. Introduction 1 Introduction
This specification defines an official Printer Working Group (PWG) This specification defines an official Printer Working Group (PWG)
[PWG] standard SNMP MIB for the monitoring of jobs on network printers. [PWG] standard SNMP MIB for the monitoring of jobs on network printers.
This specification is being published as an IETF Information Document This specification is being published as an IETF Information Document
for the convenience of the Internet community. In consultation with for the convenience of the Internet community. In consultation with
the IETF Application Area Directors, it was concluded that this MIB the IETF Application Area Directors, it was concluded that this MIB
specification properly belongs as an Information document, because this specification properly belongs as an Information document, because this
MIB monitors a service node on the network, rather than a network node MIB monitors a service node on the network, rather than a network node
proper. proper.
skipping to change at page 10, line 45 skipping to change at page 8, line 45
accounting system. It is recognized that depending on accounting system. It is recognized that depending on
accounting programs to copy MIB data during the job-retention accounting programs to copy MIB data during the job-retention
period is somewhat unreliable, since the accounting program may period is somewhat unreliable, since the accounting program may
not be running (or may have crashed). Such a program is also not be running (or may have crashed). Such a program is also
expected to keep a shadow copy of the entire Job Attribute expected to keep a shadow copy of the entire Job Attribute
table including completed, canceled, and aborted jobs which the table including completed, canceled, and aborted jobs which the
program updates on each polling cycle. Such a program polls at program updates on each polling cycle. Such a program polls at
the rate of the persistence of the Attribute table. The design the rate of the persistence of the Attribute table. The design
is not optimized to help such an application determine which is not optimized to help such an application determine which
jobs are completed, canceled, or aborted. Instead, the jobs are completed, canceled, or aborted. Instead, the
application SHALL query each job that the application's shadow application SHOULD query each job that the application's shadow
copy shows was not complete, canceled, or aborted at the copy shows was not complete, canceled, or aborted at the
previous poll cycle to see if it is now complete or canceled, previous poll cycle to see if it is now complete or canceled,
plus any new jobs that have been submitted. plus any new jobs that have been submitted.
The MIB provides a set of objects that represent a compatible subset of The MIB provides a set of objects that represent a compatible subset of
job and document attributes of the ISO DPA standard[iso-dpa] and the job and document attributes of the ISO DPA standard[iso-dpa] and the
Internet Printing Protocol (IPP)[ipp-model], so that coherence is Internet Printing Protocol (IPP)[ipp-model], so that coherence is
maintained between these two protocols and the information presented to maintained between these two protocols and the information presented to
end users and system operators by monitoring applications. However, end users and system operators by monitoring applications. However,
the job monitoring MIB is intended to be used with printers that the job monitoring MIB is intended to be used with printers that
implement other job submitting and management protocols, such as IEEE implement other job submitting and management protocols, such as IEEE
1284.1 (TIPSI)[tipsi], as well as with ones that do implement ISO DPA. 1284.1 (TIPSI)[tipsi], as well as with ones that do implement ISO DPA.
Thus the job monitoring MIB does not require implementation of either Thus the job monitoring MIB does not require implementation of either
the ISO DPA or IPP protocols. the ISO DPA or IPP protocols.
The MIB is designed so that an additional MIB(s) can be specified in The MIB is designed so that an additional MIB(s) can be specified in
the future for monitoring multi-function (scan, FAX, copy) jobs as an the future for monitoring multi-function (scan, FAX, copy) jobs as an
augmentation to this MIB. augmentation to this MIB.
2. Terminology and Job Model 2 Terminology and Job Model
This section defines the terms that are used in this specification and This section defines the terms that are used in this specification and
the general model for jobs in alphabetical order. the general model for jobs in alphabetical order.
NOTE - Existing systems use conflicting terms, so these terms are NOTE - Existing systems use conflicting terms, so these terms are
drawn from the ISO 10175 Document Printing Application (DPA) drawn from the ISO 10175 Document Printing Application (DPA)
standard[iso-dpa]. For example, PostScript systems use the term standard[iso-dpa]. For example, PostScript systems use the term
session for what is called a job in this specification and the term session for what is called a job in this specification and the term
job to mean what is called a document in this specification. job to mean what is called a document in this specification.
skipping to change at page 11, line 41 skipping to change at page 9, line 41
Monitoring MIB module for a server or a device. Monitoring MIB module for a server or a device.
Attribute: A name, value-pair that specifies a job or document Attribute: A name, value-pair that specifies a job or document
instruction, a status, or a condition of a job or a document that has instruction, a status, or a condition of a job or a document that has
been submitted to a server or device. A particular attribute NEED NOT been submitted to a server or device. A particular attribute NEED NOT
be present in each job instance. In other words, attributes are be present in each job instance. In other words, attributes are
present in a job instance only when there is a need to express the present in a job instance only when there is a need to express the
value, either because (1) the client supplied a value in the job value, either because (1) the client supplied a value in the job
submission protocol, (2) the document data contained an embedded submission protocol, (2) the document data contained an embedded
attribute, or (3) the server or device supplied a default value. An attribute, or (3) the server or device supplied a default value. An
agent SHALL represent an attribute as an entry (row) in the Attribute agent MAY represent an attribute as an entry (row) in the Attribute
table in this MIB in which entries are present only when necessary. table in this MIB in which entries are present only when necessary.
Attributes are identified in this MIB by an enum. Attributes are identified in this MIB by an enum.
Client: The network entity that end users use to submit jobs to Client: The network entity that end users use to submit jobs to
spoolers, servers, or printers and other devices, depending on the spoolers, servers, or printers and other devices, depending on the
configuration, using any job submission protocol over a serial or configuration, using any job submission protocol over a serial or
parallel port to a directly-connected device or over the network to a parallel port to a directly-connected device or over the network to a
networked-connected device. networked-connected device.
Device: A hardware entity that (1) interfaces to humans, such as a Device: A hardware entity that (1) interfaces to humans, such as a
skipping to change at page 15, line 48 skipping to change at page 13, line 48
communicating directly with: communicating directly with:
A Job Monitoring MIB agent that is part of the server (or a front A Job Monitoring MIB agent that is part of the server (or a front
for the server) for the server)
There is no SNMP Job Monitoring MIB agent in the printer in There is no SNMP Job Monitoring MIB agent in the printer in
configuration 2, at least that the client or monitor are aware. In configuration 2, at least that the client or monitor are aware. In
this configuration, the agent SHALL return the current values of the this configuration, the agent SHALL return the current values of the
objects in the Job Monitoring MIB both for jobs the server keeps and objects in the Job Monitoring MIB both for jobs the server keeps and
jobs that the server has submitted to the printer. The Job Monitoring jobs that the server has submitted to the printer. The Job Monitoring
MIB agent SHALL obtain the required information from the printer by a MIB agent obtains the required information from the printer by a method
method that is beyond the scope of this document. The agent in the that is beyond the scope of this document. The agent in the server
server SHALL keep the job in the Job Monitoring MIB in the server as SHALL keep the job in the Job Monitoring MIB in the server as long as
long as the job is in the printer, plus a defined time period after the the job is in the printer, plus a defined time period after the job
job enters the completed state in which accounting programs can copy enters the completed state in which accounting programs can copy out
out the accounting data from the Job Monitoring MIB. the accounting data from the Job Monitoring MIB.
all end-user all end-user
+-------+ +----------+ +-------+ +----------+
|monitor| | client | ######## SNMP query |monitor| | client | ######## SNMP query
+---+---# +---#----+-+ **** non-SNMP cntrl +---+---# +---#----+-+ **** non-SNMP cntrl
# # | ---- job submission # # | ---- job submission
# # | # # |
# # | # # |
#=====#=+==v==+ #=====#=+==v==+
| agent | | | agent | |
skipping to change at page 18, line 5 skipping to change at page 16, line 5
The Job Monitoring MIB is designed to support the following The Job Monitoring MIB is designed to support the following
relationships (not shown in Figure 2-3): relationships (not shown in Figure 2-3):
1. Multiple clients MAY submit jobs to a server. 1. Multiple clients MAY submit jobs to a server.
2. Multiple clients MAY monitor a server. 2. Multiple clients MAY monitor a server.
3. Multiple monitors MAY monitor a server. 3. Multiple monitors MAY monitor a server.
4. A client MAY submit jobs to multiple servers. 4. A client MAY submit jobs to multiple servers.
5. A monitor MAY monitor multiple servers. 5. A monitor MAY monitor multiple servers.
6. Multiple servers MAY submit jobs to a printer. 6. Multiple servers MAY submit jobs to a printer.
7. Multiple servers MAY control a printer. 7. Multiple servers MAY control a printer.
3. Managed Object Usage 3 Managed Object Usage
This section describes the usage of the objects in the MIB. This section describes the usage of the objects in the MIB.
3.1 Conformance Considerations 3.1 Conformance Considerations
In order to achieve interoperability between job monitoring In order to achieve interoperability between job monitoring
applications and job monitoring agents, this specification includes the applications and job monitoring agents, this specification includes the
conformance requirements for both monitoring applications and agents. conformance requirements for both monitoring applications and agents.
3.1.1 Conformance Terminology 3.1.1 Conformance Terminology
This specification uses the verbs: "SHALL", "SHOULD", "MAY", and "NEED This specification uses the verbs: "SHALL", "SHOULD", "MAY", and "NEED
NOT" to specify conformance requirements according to RFC 2119 [req- NOT" to specify conformance requirements according to RFC 2119
words] as follows: [RFC2119] as follows:
"SHALL": indicates an action that the subject of the sentence must "SHALL": indicates an action that the subject of the sentence must
implement in order to claim conformance to this specification implement in order to claim conformance to this specification
"MAY": indicates an action that the subject of the sentence does not "MAY": indicates an action that the subject of the sentence does not
have to implement in order to claim conformance to this have to implement in order to claim conformance to this
specification, in other words that action is an implementation option specification, in other words that action is an implementation option
"NEED NOT": indicates an action that the subject of the sentence "NEED NOT": indicates an action that the subject of the sentence
does not have to implement in order to claim conformance to this does not have to implement in order to claim conformance to this
skipping to change at page 21, line 47 skipping to change at page 20, line 5
NOTE - Applications detect the end of the jmAttributeTable table when NOTE - Applications detect the end of the jmAttributeTable table when
the OID returned by the GetNext operation is an OID in a different MIB. the OID returned by the GetNext operation is an OID in a different MIB.
There is no object in this MIB that specifies the maximum value for the There is no object in this MIB that specifies the maximum value for the
jmJobIndex supported by the implementation. jmJobIndex supported by the implementation.
When the server or device is power-cycled, the agent SHALL remember the When the server or device is power-cycled, the agent SHALL remember the
next jmJobIndex value to be assigned, so that new jobs are not assigned next jmJobIndex value to be assigned, so that new jobs are not assigned
the same jmJobIndex as recent jobs before the power cycle. the same jmJobIndex as recent jobs before the power cycle.
3.3 The Attribute Mechanism 3.3 The Attribute Mechanism and the Attribute Table(s)
Attributes are similar to information objects, except that attributes Attributes are similar to information objects, except that attributes
are identified by an enum, instead of an OID, so that attributes may be are identified by an enum, instead of an OID, so that attributes may be
registered without requiring a new MIB. Also an implementation that registered without requiring a new MIB. Also an implementation that
does not have the functionality represented by the attribute can omit does not have the functionality represented by the attribute can omit
the attribute entirely, rather than having to return a distinguished the attribute entirely, rather than having to return a distinguished
value. The agent is free to materialize an attribute in the value. The agent is free to materialize an attribute in the
jmAttributeTable as soon as the agent is aware of the value of the jmAttributeTable as soon as the agent is aware of the value of the
attribute. attribute.
skipping to change at page 23, line 4 skipping to change at page 21, line 17
Some attributes have a 'useful' Integer32 value, some have a 'useful' Some attributes have a 'useful' Integer32 value, some have a 'useful'
OCTET STRING value, some MAY have either or both depending on OCTET STRING value, some MAY have either or both depending on
implementation, and some MUST have both. See the JmAttributeTypeTC implementation, and some MUST have both. See the JmAttributeTypeTC
textual convention for the specification of each attribute. textual convention for the specification of each attribute.
SNMP requires that if an object cannot be implemented because its SNMP requires that if an object cannot be implemented because its
values cannot be accessed, then a compliant agent SHALL return an SNMP values cannot be accessed, then a compliant agent SHALL return an SNMP
error in SNMPv1 or an exception value in SNMPv2. However, this MIB has error in SNMPv1 or an exception value in SNMPv2. However, this MIB has
been designed so that 'all' objects can and SHALL be implemented by an been designed so that 'all' objects can and SHALL be implemented by an
agent, so that neither the SNMPv1 error nor the SNMPv2 exception value agent, so that neither the SNMPv1 error nor the SNMPv2 exception value
SHALL be generated by the agent. This MIB has also been designed so SHALL be generated by the agent. This MIB has also been designed so
that when an agent materializes an attribute, the agent SHALL that when an agent materializes an attribute, the agent SHALL
materialize a row consisting of both the jmAttributeValueAsInteger and materialize a row consisting of both the jmAttributeValueAsInteger and
jmAttributeValueAsOctets objects. jmAttributeValueAsOctets objects.
In general, values for objects and attributes have been chosen so that In general, values for objects and attributes have been chosen so that
a management application will be able to determine whether a 'useful', a management application will be able to determine whether a 'useful',
'unknown', or 'other' value is available. When a useful value is not 'unknown', or 'other' value is available. When a useful value is not
available for an object that agent SHALL return a zero-length string available for an object, that agent SHALL return a zero-length string
for octet strings, the value 'unknown(2)' for enums, a '0' value for an for octet strings, the value 'unknown(2)' for enums, a '0' value for an
object that represents an index in another table, and a value '-2' for object that represents an index in another table, and a value '-2' for
counting integers. counting integers.
Since each attribute is represented by a row consisting of both the Since each attribute is represented by a row consisting of both the
jmAttributeValueAsInteger and jmAttributeValueAsOctets MANDATORY jmAttributeValueAsInteger and jmAttributeValueAsOctets MANDATORY
objects, SNMP requires that the agent SHALL always create an attribute objects, SNMP requires that the agent SHALL always create an attribute
row with both objects specified. However, for most attributes the row with both objects specified. However, for most attributes the
agent SHALL return a "useful" value for one of the objects and SHALL agent SHALL return a "useful" value for one of the objects and SHALL
return the 'other' value for the other object. For integer only return the 'other' value for the other object. For integer only
attributes, the agent SHALL always return a zero-length string value attributes, the agent SHALL always return a zero-length string value
for the jmAttributeValueAsOctets object. For octet string only for the jmAttributeValueAsOctets object. For octet string only
attributes, the agent SHALL always return a '-1' value for the attributes, the agent SHALL always return a '-1' value for the
jmAttributeValueAsInteger object. jmAttributeValueAsInteger object.
3.3.3 Data Sub-types and Attribute Naming Conventions 3.3.3 Index Value Attributes
A number of attributes are indexes in other tables. Such attribute
names end with the word 'Index'. If the agent has not (yet) assigned
an index value for a particular index attribute for a job, the agent
SHALL either: (1) return the value 0 or (2) not add this attribute to
the jmAttributeTable until the index value is assigned. In the
interests of brevity, the semantics for 0 is specified once here and is
not repeated for each index attribute specification and a DEFVAL of 0
is implied, even though the DEFVAL for jmAttributeValueAsInteger is -2.
3.3.4 Data Sub-types and Attribute Naming Conventions
Many attributes are sub-typed to give a more specific data type than Many attributes are sub-typed to give a more specific data type than
Integer32 or OCTET STRING. The data sub-type of each attribute is Integer32 or OCTET STRING. The data sub-type of each attribute is
indicated on the first line(s) of the description. Some attributes indicated on the first line(s) of the description. Some attributes
have several different data sub-type representations. When an have several different data sub-type representations. When an
attribute has both an Integer32 data sub-type and an OCTET STRING data attribute has both an Integer32 data sub-type and an OCTET STRING data
sub-type, the attribute can be represented in a single row in the sub-type, the attribute can be represented in a single row in the
jmAttributeTable. In this case, the data sub-type name is not included jmAttributeTable. In this case, the data sub-type name is not included
as the last part of the name of the attribute, e.g., documentFormat(38) as the last part of the name of the attribute, e.g., documentFormat(38)
which is both an enum and/or a name. When the data sub-types cannot be which is both an enum and/or a name. When the data sub-types cannot be
skipping to change at page 24, line 22 skipping to change at page 23, line 5
'Int32(1..)' Integer32 (1..2147483647) 'Int32(1..)' Integer32 (1..2147483647)
'Int32(m..n)' For all other Integer ranges, the lower 'Int32(m..n)' For all other Integer ranges, the lower
and upper bound of the range is and upper bound of the range is
indicated. indicated.
'UTF8String63' JmUTF8StringTC (SIZE(0..63)) 'UTF8String63' JmUTF8StringTC (SIZE(0..63))
'JobString63' JmJobStringTC (SIZE(0..63)) 'JobString63' JmJobStringTC (SIZE(0..63))
'Octets63' OCTET STRING (SIZE(0..63)) 'Octets63' OCTET STRING (SIZE(0..63))
'Octets(m..n)' For all other OCTET STRING ranges, the 'Octets(m..n)' For all other OCTET STRING ranges, the
exact range is indicated. exact range is indicated.
3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes 3.3.5 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes
Most attributes SHALL have only one row per job. However, a few Most attributes have only one row per job. However, a few attributes
attributes can have multiple values per job or even per document, where can have multiple values per job or even per document, where each value
each value is a separate row in the jmAttributeTable. Unless indicated is a separate row in the jmAttributeTable. Unless indicated with
with 'MULTI-ROW:' in the JmAttributeTypeTC description, an agent SHALL 'MULTI-ROW:' in the JmAttributeTypeTC description, an agent SHALL
ensure that each attribute occurs only once in the jmAttributeTable for ensure that each attribute occurs only once in the jmAttributeTable for
a job. Most of the 'MULTI-ROW' attributes do not allow duplicate a job. Most of the 'MULTI-ROW' attributes do not allow duplicate
values, i.e., the agent SHALL ensure that each value occurs only once values, i.e., the agent SHALL ensure that each value occurs only once
for a job. Only if the specification of the 'MULTI-ROW' attribute also for a job. Only if the specification of the 'MULTI-ROW' attribute also
says "There is no restriction on the same xxx occurring in multiple says "There is no restriction on the same xxx occurring in multiple
rows" can the agent allow duplicate values to occur for the job. rows" can the agent allow duplicate values to occur for the job.
NOTE - Duplicates are allowed for 'extensive' 'MULTI-ROW' attributes, NOTE - Duplicates are allowed for 'extensive' 'MULTI-ROW' attributes,
such as fileName(34) or documentName(35) which are specified to be such as fileName(34) or documentName(35) which are specified to be
'per-document' attributes, but are not allowed for 'intensive' 'MULTI- 'per-document' attributes, but are not allowed for 'intensive' 'MULTI-
ROW' attributes, such as mediumConsumed(171) and documentFormat(38) ROW' attributes, such as mediumConsumed(171) and documentFormat(38)
which are specified to be 'per-job' attributes. which are specified to be 'per-job' attributes.
3.3.5 Requested Objects and Attributes 3.3.6 Requested Objects and Attributes
A number of objects and attributes record requirements for the job. A number of objects and attributes record requirements for the job.
Such object and attribute names end with the word 'Requested'. In the Such object and attribute names end with the word 'Requested'. In the
interests of brevity, the phrase 'requested' SHALL mean: (1) requested interests of brevity, the phrase 'requested' means: (1) requested by
by the client (or intervening server) in the job submission protocol the client (or intervening server) in the job submission protocol and
and MAY also mean (2) embedded in the submitted document data, and/or may also mean (2) embedded in the submitted document data, and/or (3)
(3) defaulted by the recipient device or server with the same semantics defaulted by the recipient device or server with the same semantics as
as if the requester had supplied, depending on implementation. Also if if the requester had supplied, depending on implementation. Also if a
a value is supplied by the job submission client, and the server/device value is supplied by the job submission client, and the server/device
determines a better value, through processing or other means, the agent determines a better value, through processing or other means, the agent
MAY return that better value for such object and attribute. MAY return that better value for such object and attribute.
3.3.6 Consumption Attributes 3.3.7 Consumption Attributes
A number of objects and attributes record consumption. Such attribute A number of objects and attributes record consumption. Such attribute
names end with the word 'Completed' or 'Consumed'. If the job has not names end with the word 'Completed' or 'Consumed'. If the job has not
yet consumed what that resource is metering, the agent either: (1) yet consumed what that resource is metering, the agent either: (1)
SHALL return the value 0 or (2) SHALL not add this attribute to the SHALL return the value 0 or (2) SHALL not add this attribute to the
jmAttributeTable until the consumption begins. In the interests of jmAttributeTable until the consumption begins. In the interests of
brevity, the semantics for 0 is specified once here and is not repeated brevity, the semantics for 0 is specified once here and is not repeated
for each consumption attribute specification and a DEFVAL of 0 is for each consumption attribute specification and a DEFVAL of 0 is
indicated. implied, even though the DEFVAL for jmAttributeValueAsInteger is -2.
3.3.7 Index Value Attributes 3.3.8 Attribute Specifications
A number of attributes are indexes in other tables. Such attribute This section specifies the job attributes.
names end with the word 'Index'. If the agent has not (yet) assigned
an index value for a particular index attribute for a job, the agent In the following definitions of the attributes, each description
SHALL either: (1) return the value 0 or (2) not add this attribute to indicates whether the useful value of the attribute SHALL be
the jmAttributeTable until the index value is assigned. In the represented using the jmAttributeValueAsInteger or the
interests of brevity, the semantics for 0 is specified once here and is jmAttributeValueAsOctets objects by the initial tag: 'INTEGER:' or
not repeated for each index attribute specification and a DEFVAL of 0 'OCTETS:', respectively.
is indicated.
Some attributes allow the agent implementer a choice of useful values
of either an integer, an octet string representation, or both,
depending on implementation. These attributes are indicated with
'INTEGER:' AND/OR 'OCTETS:' tags.
A very few attributes require both objects at the same time to
represent a pair of useful values (see mediumConsumed(171)). These
attributes are indicated with 'INTEGER:' AND 'OCTETS:' tags. See the
jmAttributeGroup for the descriptions of these two MANDATORY objects.
NOTE - The enum assignments are grouped logically with values assigned
in groups of 20, so that additional values may be registered in the
future and assigned a value that is part of their logical grouping.
Values in the range 2**30 to 2**31-1 are reserved for private or
experimental usage. This range corresponds to the same range reserved
in IPP. Implementers are warned that use of such values may conflict
with other implementations. Implementers are encouraged to request
registration of enum values following the procedures in Section 3.7.1.
NOTE: No attribute name exceeds 31 characters.
The standard attribute types are:
jmAttributeTypeIndex Datatype
-------------------- --------
other(1), Integer32 (-2..2147483647)
AND/OR
OCTET STRING(SIZE(0..63))
INTEGER: and/or OCTETS: An attribute that is not in the
list and/or that has not been approved and registered with
the PWG.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Job State attributes (3 - 19 decimal)
+
+ The following attributes specify the state of a job.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobStateReasons2(3), JmJobStateReasons2TC
INTEGER: Additional information about the job's current
state that augments the jmJobState object. See the
description under the JmJobStateReasons1TC textual-
convention.
jobStateReasons3(4), JmJobStateReasons3TC
INTEGER: Additional information about the job's current
state that augments the jmJobState object. See the
description under JmJobStateReasons1TC textual-convention.
jobStateReasons4(5), JmJobStateReasons4TC
INTEGER: Additional information about the job's current
state that augments the jmJobState object. See the
description under JmJobStateReasons1TC textual-convention.
processingMessage(6), JmUTF8StringTC (SIZE(0..63))
OCTETS: MULTI-ROW: A coded character set message that is
generated by the server or device during the processing of
the job as a simple form of processing log to show progress
and any problems. The natural language of each value is
specified by the corresponding
processingMessageNaturalLangTag(7) value.
NOTE - This attribute is intended for such conditions as
interpreter messages, rather than being the printable form
of the jmJobState and jmJobStateReasons1 objects and
jobStateReasons2, jobStateReasons3, and jobStateReasons4
attributes. In order to produce a localized printable form
of these job state objects/attribute, a management
application SHOULD produce a message from their enum and
bit values.
NOTE - There is no job description attribute in IPP/1.0
that corresponds to this attribute and this attribute does
not correspond to the IPP/1.0 'job-state-message' job
description attribute, which is just a printable form of
the IPP 'job-state' and 'job-state-reasons' job attributes.
There is no restriction for the same message occurring in
multiple rows.
processingMessageNaturalLangTag(7), OCTET STRING(SIZE(0..63))
OCTETS: MULTI-ROW: The natural language of the
corresponding processingMessage(6) attribute value. See
section 3.6.1, entitled 'Text generated by the server or
device'.
If the agent does not know the natural language of the job
processing message, the agent SHALL either (1) return a
zero length string value for the
processingMessageNaturalLangTag(7) attribute or (2) not
return the processingMessageNaturalLangTag(7) attribute for
the job.
There is no restriction for the same tag occurring in
multiple rows, since when this attribute is implemented, it
SHOULD have a value row for each corresponding
processingMessage(6) attribute value row.
jobCodedCharSet(8), CodedCharSet
INTEGER: The MIBenum identifier of the coded character set
that the agent is using to represent coded character set
objects and attributes of type 'JmJobStringTC'. These
coded character set objects and attributes are either: (1)
supplied by the job submitting client or (2) defaulted by
the server or device when omitted by the job submitting
client. The agent SHALL represent these objects and
attributes in the MIB either (1) in the coded character set
as they were submitted or (2) MAY convert the coded
character set to another coded character set or encoding
scheme as identified by the jobCodedCharSet(8) attribute.
See section 3.6.2, entitled 'Text supplied by the job
submitter'.
These MIBenum values are assigned by IANA [IANA-charsets]
when the coded character sets are registered. The coded
character set SHALL be one of the ones registered with IANA
[IANA] and the enum value uses the CodedCharSet textual-
convention from the Printer MIB. See the JmJobStringTC
textual-convention.
If the agent does not know what coded character set was
used by the job submitting client, the agent SHALL either
(1) return the 'unknown(2)' value for the
jobCodedCharSet(8) attribute or (2) not return the
jobCodedCharSet(8) attribute for the job.
jobNaturalLanguageTag(9), OCTET STRING(SIZE(0..63))
OCTETS: The natural language of the job attributes supplied
by the job submitter or defaulted by the server or device
for the job, i.e., all objects and attributes represented
by the 'JmJobStringTC' textual-convention, such as jobName,
mediumRequested, etc. See Section 3.6.2, entitled 'Text
supplied by the job submitter'.
If the agent does not know what natural language was used
by the job submitting client, the agent SHALL either (1)
return a zero length string value for the
jobNaturalLanguageTag(9) attribute or (2) not return
jobNaturalLanguageTag(9) attribute for the job.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Job Identification attributes (20 - 49 decimal)
+
+ The following attributes help an end user, a system
+ operator, or an accounting program identify a job.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobURI(20), OCTET STRING(SIZE(0..63))
OCTETS: MULTI-ROW: The job's Universal Resource
Identifier (URI) [RFC1738]. See IPP [ipp-model] for
example usage.
NOTE - The agent may be able to generate this value on each
SNMP Get operation from smaller values, rather than having
to store the entire URI.
If the URI exceeds 63 octets, the agent SHALL use multiple
values, with the next 63 octets coming in the second value,
etc.
NOTE - IPP [ipp-model] has a 1023-octet maximum length for
a URI, though the URI standard itself and HTTP/1.1 specify
no maximum length.
jobAccountName(21), OCTET STRING(SIZE(0..63))
OCTETS: Arbitrary binary information which MAY be coded
character set data or encrypted data supplied by the
submitting user for use by accounting services to allocate
or categorize charges for services provided, such as a
customer account name or number.
NOTE: This attribute NEED NOT be printable characters.
serverAssignedJobName(22), JmJobStringTC (SIZE(0..63))
OCTETS: Configuration 3 only: The human readable string
name, number, or ID of the job as assigned by the server
that submitted the job to the device that the agent is
providing access to with this MIB.
NOTE - This attribute is intended for enabling a user to
find his/her job that a server submitted to a device when
either the client does not support the jmJobSubmissionID or
the server does not pass the jmJobSubmissionID through to
the device.
jobName(23), JmJobStringTC (SIZE(0..63))
OCTETS: The human readable string name of the job as
assigned by the submitting user to help the user
distinguish between his/her various jobs. This name does
not need to be unique.
This attribute is intended for enabling a user or the
user's application to convey a job name that MAY be printed
on a start sheet, returned in a query result, or used in
notification or logging messages.
In order to assist users to find their jobs for job
submission protocols that don't supply a jmJobSubmissionID,
the agent SHOULD maintain the jobName attribute for the
time specified by the jmGeneralJobPersistence object,
rather than the (shorter) jmGeneralAttributePersistence
object.
If this attribute is not specified when the job is
submitted, no job name is assumed, but implementation
specific defaults are allowed, such as the value of the
documentName attribute of the first document in the job or
the fileName attribute of the first document in the job.
The jobName attribute is distinguished from the jobComment
attribute, in that the jobName attribute is intended to
permit the submitting user to distinguish between different
jobs that he/she has submitted. The jobComment attribute
is intended to be free form additional information that a
user might wish to use to communicate with himself/herself,
such as a reminder of what to do with the results or to
indicate a different set of input parameters were tried in
several different job submissions.
jobServiceTypes(24), JmJobServiceTypesTC
INTEGER: Specifies the type(s) of service to which the job
has been submitted (print, fax, scan, etc.). The service
type is bit encoded with each job service type so that more
general and arbitrary services can be created, such as
services with more than one destination type, or ones with
only a source or only a destination. For example, a job
service might scan, faxOut, and print a single job. In
this case, three bits would be set in the jobServiceTypes
attribute, corresponding to the hexadecimal values: 0x8 +
0x20 + 0x4, respectively, yielding: 0x2C.
Whether this attribute is set from a job attribute supplied
by the job submission client or is set by the recipient job
submission server or device depends on the job submission
protocol. This attribute SHALL be implemented if the
server or device has other types in addition to or instead
of printing.
One of the purposes of this attribute is to permit a
requester to filter out jobs that are not of interest. For
example, a printer operator may only be interested in jobs
that include printing.
jobSourceChannelIndex(25), Integer32 (0..2147483647)
INTEGER: The index of the row in the associated Printer
MIB[print-mib] of the channel which is the source of the
print job.
jobSourcePlatformType(26), JmJobSourcePlatformTypeTC
INTEGER: The source platform type of the immediate
upstream submitter that submitted the job to the server
(configuration 2) or device (configuration 1 and 3) to
which the agent is providing access. For configuration 1,
this is the type of the client that submitted the job to
the device; for configuration 2, this is the type of the
client that submitted the job to the server; and for
configuration 3, this is the type of the server that
submitted the job to the device.
submittingServerName(27), JmJobStringTC (SIZE(0..63))
OCTETS: For configuration 3 only: The administrative name
of the server that submitted the job to the device.
submittingApplicationName(28), JmJobStringTC (SIZE(0..63))
OCTETS: The name of the client application (not the server
in configuration 3) that submitted the job to the server or
device.
jobOriginatingHost(29), JmJobStringTC (SIZE(0..63))
OCTETS: The name of the client host (not the server host
name in configuration 3) that submitted the job to the
server or device.
deviceNameRequested(30), JmJobStringTC (SIZE(0..63))
OCTETS: The administratively defined coded character set
name of the target device requested by the submitting user.
For configuration 1, its value corresponds to the Printer
MIB[print-mib]: prtGeneralPrinterName object. For
configuration 2 and 3, its value is the name of the logical
or physical device that the user supplied to indicate to
the server on which device(s) they wanted the job to be
processed.
queueNameRequested(31), JmJobStringTC (SIZE(0..63))
OCTETS: The administratively defined coded character set
name of the target queue requested by the submitting user.
For configuration 1, its value corresponds to the queue in
the device for which the agent is providing access. For
configuration 2 and 3, its value is the name of the queue
that the user supplied to indicate to the server on which
device(s) they wanted the job to be processed.
NOTE - typically an implementation SHOULD support either
the deviceNameRequested or queueNameRequested attribute,
but not both.
physicalDevice(32), hrDeviceIndex
AND/OR
JmUTF8StringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The index of the physical device MIB
instance requested/used, such as the Printer MIB[print-
mib]. This value is an hrDeviceIndex value. See the Host
Resources MIB[hr-mib].
AND/OR
OCTETS: MULTI-ROW: The name of the physical device to
which the job is assigned.
numberOfDocuments(33), Integer32 (-2..2147483647)
INTEGER: The number of documents in this job.
The agent SHOULD return this attribute if the job has more
than one document.
fileName(34), JmJobStringTC (SIZE(0..63))
OCTETS: MULTI-ROW: The coded character set file name or
URI[URI-spec] of the document.
There is no restriction on the same file name occurring in
multiple rows.
documentName(35), JmJobStringTC (SIZE(0..63))
OCTETS: MULTI-ROW: The coded character set name of the
document.
There is no restriction on the same document name occurring
in multiple rows.
jobComment(36), JmJobStringTC (SIZE(0..63))
OCTETS: An arbitrary human-readable coded character text
string supplied by the submitting user or the job
submitting application program for any purpose. For
example, a user might indicate what he/she is going to do
with the printed output or the job submitting application
program might indicate how the document was produced.
The jobComment attribute is not intended to be a name; see
the jobName attribute.
documentFormatIndex(37), Integer32 (0..2147483647)
INTEGER: MULTI-ROW: The index in the prtInterpreterTable
in the Printer MIB[print-mib] of the page description
language (PDL) or control language interpreter that this
job requires/uses. A document or a job MAY use more than
one PDL or control language.
NOTE - As with all intensive attributes where multiple rows
are allowed, there SHALL be only one distinct row for each
distinct interpreter; there SHALL be no duplicates.
NOTE - This attribute type is intended to be used with an
agent that implements the Printer MIB and SHALL not be used
if the agent does not implement the Printer MIB. Such an
agent SHALL use the documentFormat attribute instead.
documentFormat(38), PrtInterpreterLangFamilyTC
AND/OR
OCTET STRING(SIZE(0..63))
INTEGER: MULTI-ROW: The interpreter language family
corresponding to the Printer MIB[print-mib]
prtInterpreterLangFamily object, that this job
requires/uses. A document or a job MAY use more than one
PDL or control language.
AND/OR
OCTETS: MULTI-ROW: The document format registered as a
media type[iana-media-types], i.e., the name of the MIME
content-type/subtype. Examples: 'application/postscript',
'application/vnd.hp-PCL', 'application/pdf', 'text/plain'
(US-ASCII SHALL be assumed), 'text/plain; charset=iso-8859-
1', and 'application/octet-stream'. The IPP 'document-
format' job attribute uses these same values with the same
semantics. See the IPP [ipp-model] 'mimeMediaType'
attribute syntax and the document-format attribute for
further examples and explanation.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Job Parameter attributes (50 - 67 decimal)
+
+ The following attributes represent input parameters
+ supplied by the submitting client in the job submission
+ protocol.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobPriority(50), Integer32 (-2..100)
INTEGER: The priority for scheduling the job. It is used
by servers and devices that employ a priority-based
scheduling algorithm.
A higher value specifies a higher priority. The value 1 is
defined to indicate the lowest possible priority (a job
which a priority-based scheduling algorithm SHALL pass over
in favor of higher priority jobs). The value 100 is
defined to indicate the highest possible priority.
Priority is expected to be evenly or 'normally' distributed
across this range. The mapping of vendor-defined priority
over this range is implementation-specific. -2 indicates
unknown.
jobProcessAfterDateAndTime(51), DateAndTime (SNMPv2-TC)
OCTETS: The calendar date and time of day after which the
job SHALL become a candidate to be scheduled for
processing. If the value of this attribute is in the
future, the server SHALL set the value of the job's
jmJobState object to pendingHeld and add the
jobProcessAfterSpecified bit value to the job's
jmJobStateReasons1 object. When the specified date and
time arrives, the server SHALL remove the
jobProcessAfterSpecified bit value from the job's
jmJobStateReasons1 object and, if no other reasons remain,
SHALL change the job's jmJobState object to pending.
jobHold(52), JmBooleanTC
INTEGER: If the value is 'true(4)', a client has
explicitly specified that the job is to be held until
explicitly released. Until the job is explicitly released
by a client, the job SHALL be in the pendingHeld state with
the jobHoldSpecified value in the jmJobStateReasons1
attribute.
jobHoldUntil(53), JmJobStringTC (SIZE(0..63))
OCTETS: The named time period during which the job SHALL
become a candidate for processing, such as 'evening',
'night', 'weekend', 'second-shift', 'third-shift', etc.,
(supported values configured by the system administrator).
See IPP [ipp-model] for the standard keyword values. Until
that time period arrives, the job SHALL be in the
pendingHeld state with the jobHoldUntilSpecified value in
the jmJobStateReasons1 object. The value 'no-hold' SHALL
indicate explicitly that no time period has been specified;
the absence of this attribute SHALL indicate implicitly
that no time period has been specified.
outputBin(54), Integer32 (0..2147483647)
AND/OR
JmJobStringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The output subunit index in the
Printer MIB[print-mib]
AND/OR
OCTETS: MULTI-ROW: the name or number (represented as
ASCII digits) of the output bin to which all or part of the
job is placed in.
sides(55), Integer32 (-2..2)
INTEGER: MULTI-ROW: The number of sides, '1' or '2', that
any document in this job requires/used.
finishing(56), JmFinishingTC
INTEGER: MULTI-ROW: Type of finishing that any document
in this job requires/used.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Image Quality attributes (requested and consumed) (70 - 87)
+
+ For devices that can vary the image quality.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
printQualityRequested(70), JmPrintQualityTC
INTEGER: MULTI-ROW: The print quality selection requested
for a document in the job for printers that allow quality
differentiation.
printQualityUsed(71), JmPrintQualityTC
INTEGER: MULTI-ROW: The print quality selection actually
used by a document in the job for printers that allow
quality differentiation.
printerResolutionRequested(72), JmPrinterResolutionTC
OCTETS: MULTI-ROW: The printer resolution requested for a
document in the job for printers that support resolution
selection.
printerResolutionUsed(73), JmPrinterResolutionTC
OCTETS: MULTI-ROW: The printer resolution actually used
by a document in the job for printers that support
resolution selection.
tonerEcomonyRequested(74), JmTonerEconomyTC
INTEGER: MULTI-ROW: The toner economy selection requested
for documents in the job for printers that allow toner
economy differentiation.
tonerEcomonyUsed(75), JmTonerEconomyTC
INTEGER: MULTI-ROW: The toner economy selection actually
used by documents in the job for printers that allow toner
economy differentiation.
tonerDensityRequested(76) Integer32 (-2..100)
INTEGER: MULTI-ROW: The toner density requested for a
document in this job for devices that can vary toner
density levels. Level 1 is the lowest density and level
100 is the highest density level. Devices with a smaller
range, SHALL map the 1-100 range evenly onto the
implemented range.
tonerDensityUsed(77), Integer32 (-2..100)
INTEGER: MULTI-ROW: The toner density used by documents
in this job for devices that can vary toner density levels.
Level 1 is the lowest density and level 100 is the highest
density level. Devices with a smaller range, SHALL map the
1-100 range evenly onto the implemented range.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Job Progress attributes (requested and consumed) (90-109)
+
+ Pairs of these attributes can be used by monitoring
+ applications to show an indication of relative progress
+ to users. See section 3.4, entitled:
+ 'Monitoring Job Progress'.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobCopiesRequested(90), Integer32 (-2..2147483647)
INTEGER: The number of copies of the entire job that are
to be produced.
jobCopiesCompleted(91), Integer32 (-2..2147483647)
INTEGER: The number of copies of the entire job that have
been completed so far.
documentCopiesRequested(92), Integer32 (-2..2147483647)
INTEGER: The total count of the number of document copies
requested for the job as a whole. If there are documents
A, B, and C, and document B is specified to produce 4
copies, the number of document copies requested is 6 for
the job.
This attribute SHALL be used only when a job has multiple
documents. The jobCopiesRequested attribute SHALL be used
when the job has only one document.
documentCopiesCompleted(93), Integer32 (-2..2147483647)
INTEGER: The total count of the number of document copies
completed so far for the job as a whole. If there are
documents A, B, and C, and document B is specified to
produce 4 copies, the number of document copies starts a 0
and runs up to 6 for the job as the job processes.
This attribute SHALL be used only when a job has multiple
documents. The jobCopiesCompleted attribute SHALL be used
when the job has only one document.
jobKOctetsTransferred(94), Integer32 (-2..2147483647)
INTEGER: The number of K (1024) octets transferred to the
server or device to which the agent is providing access.
This count is independent of the number of copies of the
job or documents that will be produced, but it is only a
measure of the number of bytes transferred to the server or
device.
The agent SHALL round the actual number of octets
transferred up to the next higher K. Thus 0 octets SHALL
be represented as '0', 1-1024 octets SHALL BE represented
as '1', 1025-2048 SHALL be '2', etc. When the job
completes, the values of the jmJobKOctetsPerCopyRequested
object and the jobKOctetsTransferred attribute SHALL be
equal.
NOTE - The jobKOctetsTransferred can be used with the
jmJobKOctetsPerCopyRequested object in order to produce a
relative indication of the progress of the job for agents
that do not implement the jmJobKOctetsProcessed object.
sheetCompletedCopyNumber(95), Integer32 (-2..2147483647)
INTEGER: The number of the copy being stacked for the
current document. This number starts at 0, is set to 1
when the first sheet of the first copy for each document is
being stacked and is equal to n where n is the nth sheet
stacked in the current document copy. See section 3.4 ,
entitled 'Monitoring Job Progress'.
sheetCompletedDocumentNumber(96), Integer32 (-2..2147483647)
INTEGER: The ordinal number of the document in the job
that is currently being stacked. This number starts at 0,
increments to 1 when the first sheet of the first document
in the job is being stacked, and is equal to n where n is
the nth document in the job, starting with 1.
Implementations that only support one document jobs SHOULD
NOT implement this attribute.
jobCollationType(97), JmJobCollationTypeTC
INTEGER: The type of job collation. See also Section 3.4,
entitled 'Monitoring Job Progress'.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Impression attributes (110 - 129 decimal)
+
+ See the definition of the terms 'impression', 'sheet',
+ and 'page' in Section 2.
+
+ See also jmJobImpressionsPerCopyRequested and
+ jmJobImpressionsCompleted objects in the jmJobTable.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
impressionsSpooled(110), Integer32 (-2..2147483647)
INTEGER: The number of impressions spooled to the server
or device for the job so far.
impressionsSentToDevice(111), Integer32 (-2..2147483647)
INTEGER: The number of impressions sent to the device for
the job so far.
impressionsInterpreted(112), Integer32 (-2..2147483647)
INTEGER: The number of impressions interpreted for the job
so far.
impressionsCompletedCurrentCopy(113),
Integer32 (-2..2147483647)
INTEGER: The number of impressions completed by the device
for the current copy of the current document so far. For
printing, the impressions completed includes interpreting,
marking, and stacking the output. For other types of job
services, the number of impressions completed includes the
number of impressions processed.
This value SHALL be reset to 0 for each document in the job
and for each document copy.
fullColorImpressionsCompleted(114), Integer32 (-2..2147483647)
INTEGER: The number of full color impressions completed by
the device for this job so far. For printing, the
impressions completed includes interpreting, marking, and
stacking the output. For other types of job services, the
number of impressions completed includes the number of
impressions processed. Full color impressions are typically
defined as those requiring 3 or more colorants, but this
MAY vary by implementation. In any case, the value of this
attribute counts by 1 for each side that has full color,
not by the number of colors per side (and the other
impression counters are incremented, except
highlightColorImpressionsCompleted(115)).
highlightColorImpressionsCompleted(115),
Integer32 (-2..2147483647)
INTEGER: The number of highlight color impressions
completed by the device for this job so far. For printing,
the impressions completed includes interpreting, marking,
and stacking the output. For other types of job services,
the number of impressions completed includes the number of
impressions processed. Highlight color impressions are
typically defined as those requiring black plus one other
colorant, but this MAY vary by implementation. In any
case, the value of this attribute counts by 1 for each side
that has highlight color (and the other impression counters
are incremented, except
fullColorImpressionsCompleted(114)).
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Page attributes (130 - 149 decimal)
+
+ See the definition of 'impression', 'sheet', and 'page'
+ in Section 2.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
pagesRequested(130), Integer32 (-2..2147483647)
INTEGER: The number of logical pages requested by the job
to be processed.
pagesCompleted(131), Integer32 (-2..2147483647)
INTEGER: The number of logical pages completed for this
job so far.
For implementations where multiple copies are produced by
the interpreter with only a single pass over the data, the
final value SHALL be equal to the value of the
pagesRequested object. For implementations where multiple
copies are produced by the interpreter by processing the
data for each copy, the final value SHALL be a multiple of
the value of the pagesRequested object.
NOTE - See the impressionsCompletedCurrentCopy and
pagesCompletedCurrentCopy attributes for attributes that
are reset on each document copy.
NOTE - The pagesCompleted object can be used with the
pagesRequested object to provide an indication of the
relative progress of the job, provided that the
multiplicative factor is taken into account for some
implementations of multiple copies.
pagesCompletedCurrentCopy(132), Integer32 (-2..2147483647)
INTEGER: The number of logical pages completed for the
current copy of the document so far. This value SHALL be
reset to 0 for each document in the job and for each
document copy.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Sheet attributes (150 - 169 decimal)
+
+ See the definition of 'impression', 'sheet', and 'page'
+ in Section 2.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sheetsRequested(150), Integer32 (-2..2147483647)
INTEGER: The total number of medium sheets requested to be
produced for this job.
Unlike the jmJobKOctetsPerCopyRequested and
jmJobImpressionsPerCopyRequested attributes, the
sheetsRequested(150) attribute SHALL include the
multiplicative factor contributed by the number of copies
and so is the total number of sheets to be produced by the
job, as opposed to the size of the document(s) submitted.
sheetsCompleted(151), Integer32 (-2..2147483647)
INTEGER: The total number of medium sheets that have
completed marking and stacking for the entire job so far
whether those sheets have been processed on one side or on
both.
sheetsCompletedCurrentCopy(152), Integer32 (-2..2147483647)
INTEGER: The number of medium sheets that have completed
marking and stacking for the current copy of a document in
the job so far whether those sheets have been processed on
one side or on both.
The value of this attribute SHALL be 0 before the job
starts processing and SHALL be reset to 1 after the first
sheet of each document and document copy in the job is
processed and stacked.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Resources attributes (requested and consumed) (170 - 189)
+
+ Pairs of these attributes can be used by monitoring
+ applications to show an indication of relative usage to
+ users, i.e., a 'thermometer'.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mediumRequested(170), JmMediumTypeTC
AND/OR
JmJobStringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The type
AND/OR
OCTETS: MULTI-ROW: the name of the medium that is
required by the job.
NOTE - The name (JmJobStringTC) values correspond to the
name values of the prtInputMediaName object in the Printer
MIB [print-mib] and the name, size, and input tray values
of the IPP 'media' attribute [ipp-model].
mediumConsumed(171), Integer32 (-2..2147483647)
AND
JmJobStringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The number of sheets
AND
OCTETS: MULTI-ROW: the name of the medium that has been
consumed so far whether those sheets have been processed on
one side or on both.
This attribute SHALL have both Integer32 and OCTET STRING
(represented as JmJobStringTC) values.
NOTE - The name (JmJobStringTC) values correspond to the
name values of the prtInputMediaName object in the Printer
MIB [print-mib] and the name, size, and input tray values
of the IPP 'media' attribute [ipp-model].
colorantRequested(172), Integer32 (-2..2147483647)
AND/OR
JmJobStringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in
the Printer MIB[print-mib]
AND/OR
OCTETS: MULTI-ROW: the name of the colorant requested.
NOTE - The name (JmJobStringTC) values correspond to the
name values of the prtMarkerColorantValue object in the
Printer MIB. Examples are: red, blue.
colorantConsumed(173), Integer32 (-2..2147483647)
AND/OR
JmJobStringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in
the Printer MIB[print-mib]
AND/OR
OCTETS: MULTI-ROW: the name of the colorant consumed.
NOTE - The name (JmJobStringTC) values correspond to the
name values of the prtMarkerColorantValue object in the
Printer MIB. Examples are: red, blue
mediumTypeConsumed(174), Integer32 (-2..2147483647)
AND
JmJobStringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The number of sheets of the indicated
medium type that has been consumed so far whether those
sheets have been processed on one side or on both
AND
OCTETS: MULTI-ROW: the name of that medium type.
This attribute SHALL have both Integer32 and OCTET STRING
(represented as JmJobStringTC) values.
NOTE - The type name (JmJobStringTC) values correspond to
the type name values of the prtInputMediaType object in the
Printer MIB [print-mib]. Values are: 'stationery',
'transparency', 'envelope', etc. These medium type names
correspond to the enum values of JmMediumTypeTC used in the
mediumRequested attribute.
mediumSizeConsumed(175), Integer32 (-2..2147483647)
AND
JmJobStringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The number of sheets of the indicated
medium size that has been consumed so far whether those
sheets have been processed on one side or on both
AND
OCTETS: MULTI-ROW: the name of that medium size.
This attribute SHALL have both Integer32 and OCTET STRING
(represented as JmJobStringTC) values.
NOTE - The size name (JmJobStringTC) values correspond to
the size name values in the Printer MIB [print-mib]
Appendix B. These size name values are also a subset of
the keyword values defined by [ipp-model] for the 'media'
Job Template attribute. Values are: 'letter', 'a', 'iso-
a4', 'jis-b4', etc.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Time attributes (set by server or device) (190 - 209 decimal)
+
+ This section of attributes are ones that are set by the
+ server or device that accepts jobs. Two forms of time are
+ provided. Each form is represented in a separate attribute.
+ See section 3.1.2 and section 3.1.3 for the
+ conformance requirements for time attribute for agents and
+ monitoring applications, respectively. The two forms are:
+
+ 'DateAndTime' is an 8 or 11 octet binary encoded year,
+ month, day, hour, minute, second, deci-second with
+ optional offset from UTC. See SNMPv2-TC [SMIv2-TC].
+
+ NOTE: 'DateAndTime' is not printable characters; it is
+ binary.
+
+ 'JmTimeStampTC' is the time of day measured in the number of
+ seconds since the system was booted.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobSubmissionToServerTime(190), JmTimeStampTC
AND/OR
DateAndTime
INTEGER: Configuration 3 only: The time
AND/OR
OCTETS: the date and time that the job was submitted to
the server (as distinguished from the device which uses
jobSubmissionTime).
jobSubmissionTime(191), JmTimeStampTC
AND/OR
DateAndTime
INTEGER: Configurations 1, 2, and 3: The time
AND/OR
OCTETS: the date and time that the job was submitted to
the server or device to which the agent is providing
access.
jobStartedBeingHeldTime(192), JmTimeStampTC
AND/OR
DateAndTime
INTEGER: The time
AND/OR
OCTETS: the date and time that the job last entered the
pendingHeld state. If the job has never entered the
pendingHeld state, then the value SHALL be '0' or the
attribute SHALL not be present in the table.
jobStartedProcessingTime(193), JmTimeStampTC
AND/OR
DateAndTime
INTEGER: The time
AND/OR
OCTETS: the date and time that the job started processing.
jobCompletionTime(194), JmTimeStampTC
AND/OR
DateAndTime
INTEGER: The time
AND/OR
OCTETS: the date and time that the job entered the
completed, canceled, or aborted state.
jobProcessingCPUTime(195) Integer32 (-2..2147483647)
UNITS 'seconds'
INTEGER: The amount of CPU time in seconds that the job
has been in the processing state. If the job enters the
processingStopped state, that elapsed time SHALL not be
included. In other words, the jobProcessingCPUTime value
SHOULD be relatively repeatable when the same job is
processed again on the same device.
3.3.9 Job State Reason bit definitions
The JmJobStateReasonsNTC (N=1..4) textual-conventions are used with the
jmJobStateReasons1 object and jobStateReasonsN (N=2..4), respectively,
to provide additional information regarding the current jmJobState
object value. These values MAY be used with any job state or states
for which the reason makes sense.
NOTE - While values cannot be added to the jmJobState object without
impacting deployed clients that take actions upon receiving jmJobState
values, it is the intent that additional JmJobStateReasonsNTC enums can
be defined and registered without impacting such deployed clients. In
other words, the jmJobStateReasons1 object and jobStateReasonsN
attributes are intended to be extensible.
NOTE - The Job Monitoring MIB contains a superset of the IPP
values[ipp-model] for the IPP 'job-state-reasons' attribute, since the
Job Monitoring MIB is intended to cover other job submission protocols
as well. Also some of the names of the reasons have been changed from
'printer' to 'device', since the Job Monitoring MIB is intended to
cover additional types of devices, including input devices, such as
scanners.
3.3.9.1 JmJobStateReasons1TC specification
The following standard values are defined (in hexadecimal) as powers of
two, since multiple values MAY be used at the same time. For ease of
understanding, the JmJobStateReasons1TC reasons are presented in the
order in which the reasons are likely to occur (if implemented),
starting with the 'jobIncoming' value and ending with the
'jobCompletedWithErrors' value.
other 0x1
The job state reason is not one of the standardized or
registered reasons.
unknown 0x2
The job state reason is not known to the agent or is
indeterminent.
jobIncoming 0x4
The job has been accepted by the server or device, but the
server or device is expecting (1) additional operations
from the client to finish creating the job and/or (2) is
accessing/accepting document data.
submissionInterrupted 0x8
The job was not completely submitted for some unforeseen
reason, such as: (1) the server has crashed before the job
was closed by the client, (2) the server or the document
transfer method has crashed in some non-recoverable way
before the document data was entirely transferred to the
server, (3) the client crashed or failed to close the job
before the time-out period.
jobOutgoing 0x10
Configuration 2 only: The server is transmitting the job
to the device.
jobHoldSpecified 0x20
The value of the job's jobHold(52) attribute is TRUE. The
job SHALL NOT be a candidate for processing until this
reason is removed and there are no other reasons to hold
the job.
jobHoldUntilSpecified 0x40
The value of the job's jobHoldUntil(53) attribute specifies
a time period that is still in the future. The job SHALL
NOT be a candidate for processing until this reason is
removed and there are no other reasons to hold the job.
jobProcessAfterSpecified 0x80
The value of the job's jobProcessAfterDateAndTime(51)
attribute specifies a time that is still in the future.
The job SHALL NOT be a candidate for processing until this
reason is removed and there are no other reasons to hold
the job.
resourcesAreNotReady 0x100
At least one of the resources needed by the job, such as
media, fonts, resource objects, etc., is not ready on any
of the physical devices for which the job is a candidate.
This condition MAY be detected when the job is accepted, or
subsequently while the job is pending or processing,
depending on implementation.
deviceStoppedPartly 0x200
One or more, but not all, of the devices to which the job
is assigned are stopped. If all of the devices are stopped
(or the only device is stopped), the deviceStopped reason
SHALL be used.
deviceStopped 0x400
The device(s) to which the job is assigned is (are all)
stopped.
jobInterpreting 0x800
The device to which the job is assigned is interpreting the
document data.
jobPrinting 0x1000
The output device to which the job is assigned is marking
media. This value is useful for servers and output devices
which spend a great deal of time processing (1) when no
marking is happening and then want to show that marking is
now happening or (2) when the job is in the process of
being canceled or aborted while the job remains in the
processing state, but the marking has not yet stopped so
that impression or sheet counts are still increasing for
the job.
jobCanceledByUser 0x2000
The job was canceled by the owner of the job, i.e., by a
user whose name is the same as the value of the job's
jmJobOwner object, or by some other authorized end-user,
such as a member of the job owner's security group.
jobCanceledByOperator 0x4000
The job was canceled by the operator, i.e., by a user who
has been authenticated as having operator privileges
(whether local or remote).
jobCanceledAtDevice 0x8000
The job was canceled by an unidentified local user, i.e., a
user at a console at the device.
abortedBySystem 0x10000
The job (1) is in the process of being aborted, (2) has
been aborted by the system and placed in the 'aborted'
state, or (3) has been aborted by the system and placed in
the 'pendingHeld' state, so that a user or operator can
manually try the job again.
processingToStopPoint 0x20000
The requester has issued an operation to cancel or
interrupt the job or the server/device has aborted the job,
but the server/device is still performing some actions on
the job until a specified stop point occurs or job
termination/cleanup is completed.
This reason is recommended to be used in conjunction with
the processing job state to indicate that the server/device
is still performing some actions on the job while the job
remains in the processing state. After all the job's
resources consumed counters have stopped incrementing, the
server/device moves the job from the processing state to
the canceled or aborted job states.
serviceOffLine 0x40000
The service or document transform is off-line and accepting
no jobs. All pending jobs are put into the pendingHeld
state. This situation could be true if the service's or
document transform's input is impaired or broken.
jobCompletedSuccessfully 0x80000
The job completed successfully.
jobCompletedWithWarnings 0x100000
The job completed with warnings.
jobCompletedWithErrors 0x200000
The job completed with errors (and possibly warnings too).
The following additional job state reasons have been added to represent
job states that are in ISO DPA[iso-dpa] and other job submission
protocols:
jobPaused 0x400000
The job has been indefinitely suspended by a client issuing
an operation to suspend the job so that other jobs may
proceed using the same devices. The client MAY issue an
operation to resume the paused job at any time, in which
case the agent SHALL remove the jobPaused values from the
job's jmJobStateReasons1 object and the job is eventually
resumed at or near the point where the job was paused.
jobInterrupted 0x800000
The job has been interrupted while processing by a client
issuing an operation that specifies another job to be run
instead of the current job. The server or device will
automatically resume the interrupted job when the
interrupting job completes.
jobRetained 0x1000000
The job is being retained by the server or device with all
of the job's document data (and submitted resources, such
as fonts, logos, and forms, if any). Thus a client could
issue an operation to the server or device to either (1)
re-do the job (or a copy of the job) on the same server or
device or (2) resubmit the job to another server or device.
When a client could no longer re-do/resubmit the job, such
as after the document data has been discarded, the agent
SHALL remove the jobRetained value from the
jmJobStateReasons1 object.
These bit definitions are the equivalent of a type 2 enum except that
combinations of bits may be used together. See section 3.7.1.2. The
remaining bits are reserved for future standardization and/or
registration.
3.3.9.2 JmJobStateReasons2TC specification
The following standard values are defined (in hexadecimal) as powers of
two, since multiple values MAY be used at the same time.
cascaded 0x1
An outbound gateway has transmitted all of the job's job
and document attributes and data to another spooling
system.
deletedByAdministrator 0x2
The administrator has deleted the job.
discardTimeArrived 0x4
The job has been deleted due to the fact that the time
specified by the job's job-discard-time attribute has
arrived.
postProcessingFailed 0x8
The post-processing agent failed while trying to log
accounting attributes for the job; therefore the job has
been placed into the completed state with the jobRetained
jmJobStateReasons1 object value for a system-defined period
of time, so the administrator can examine it, resubmit it,
etc.
jobTransforming 0x10
The server/device is interpreting document data and
producing another electronic representation.
maxJobFaultCountExceeded 0x20
The job has faulted several times and has exceeded the
administratively defined fault count limit.
devicesNeedAttentionTimeOut 0x40
One or more document transforms that the job is using needs
human intervention in order for the job to make progress,
but the human intervention did not occur within the site-
settable time-out value.
needsKeyOperatorTimeOut 0x80
One or more devices or document transforms that the job is
using need a specially trained operator (who may need a key
to unlock the device and gain access) in order for the job
to make progress, but the key operator intervention did not
occur within the site-settable time-out value.
jobStartWaitTimeOut 0x100
The server/device has stopped the job at the beginning of
processing to await human action, such as installing a
special cartridge or special non-standard media, but the
job was not resumed within the site-settable time-out value
and the server/device has transitioned the job to the
pendingHeld state.
jobEndWaitTimeOut 0x200
The server/device has stopped the job at the end of
processing to await human action, such as removing a
special cartridge or restoring standard media, but the job
was not resumed within the site-settable time-out value and
the server/device has transitioned the job to the completed
state.
jobPasswordWaitTimeOut 0x400
The server/device has stopped the job at the beginning of
processing to await input of the job's password, but the
password was not received within the site-settable time-out
value.
deviceTimedOut 0x800
A device that the job was using has not responded in a
period specified by the device's site-settable attribute.
connectingToDeviceTimeOut 0x1000
The server is attempting to connect to one or more devices
which may be dial-up, polled, or queued, and so may be busy
with traffic from other systems, but server was unable to
connect to the device within the site-settable time-out
value.
transferring 0x2000
The job is being transferred to a down stream server or
downstream device.
queuedInDevice 0x4000
The server/device has queued the job in a down stream
server or downstream device.
jobQueued 0x8000
The server/device has queued the document data.
jobCleanup 0x10000
The server/device is performing cleanup activity as part of
ending normal processing.
jobPasswordWait 0x20000
The server/device has selected the job to be next to
process, but instead of assigning resources and starting
the job processing, the server/device has transitioned the
job to the pendingHeld state to await entry of a password
(and dispatched another job, if there is one).
validating 0x40000
The server/device is validating the job after accepting the
job.
queueHeld 0x80000
The operator has held the entire job set or queue.
jobProofWait 0x100000
The job has produced a single proof copy and is in the
pendingHeld state waiting for the requester to issue an
operation to release the job to print normally, obeying any
job and document copy attributes that were originally
submitted.
heldForDiagnostics 0x200000
The system is running intrusive diagnostics, so that all
jobs are being held.
noSpaceOnServer 0x800000
There is no room on the server to store all of the job.
pinRequired 0x1000000
The System Administrator settable device policy is (1) to
require PINs, and (2) to hold jobs that do not have a pin
supplied as an input parameter when the job was created.
exceededAccountLimit 0x2000000
The account for which this job is drawn has exceeded its
limit. This condition SHOULD be detected before the job is
scheduled so that the user does not wait until his/her job
is scheduled only to find that the account is overdrawn.
This condition MAY also occur while the job is processing
either as processing begins or part way through processing.
heldForRetry 0x4000000
The job encountered some errors that the server/device
could not recover from with its normal retry procedures,
but the error might not be encountered if the job is
processed again in the future. Example cases are phone
number busy or remote file system in-accessible. For such
a situation, the server/device SHALL transition the job
from the processing to the pendingHeld, rather than to the
aborted state.
The following values are from the X/Open PSIS draft standard:
canceledByShutdown 0x8000000
The job was canceled because the server or device was
shutdown before completing the job.
deviceUnavailable 0x10000000
This job was aborted by the system because the device is
currently unable to accept jobs.
wrongDevice 0x20000000
This job was aborted by the system because the device is
unable to handle this particular job; the spooler SHOULD
try another device or the user should submit the job to
another device.
badJob 0x40000000
This job was aborted by the system because this job has a
major problem, such as an ill-formed PDL; the spooler
SHOULD not even try another device.
These bit definitions are the equivalent of a type 2 enum except that
combinations of them may be used together. See section 3.7.1.2.
3.3.9.3 JmJobStateReasons3TC specification
This textual-convention is used with the jobStateReasons3 attribute to
provides additional information regarding the jmJobState object. The
following standard values are defined (in hexadecimal) as powers of
two, since multiple values may be used at the same time:
jobInterruptedByDeviceFailure 0x1
A device or the print system software that the job was
using has failed while the job was processing. The server
or device is keeping the job in the pendingHeld state until
an operator can determine what to do with the job.
These bit definitions are the equivalent of a type 2 enum except that
combinations of them may be used together. See section 3.7.1.2. The
remaining bits are reserved for future standardization and/or
registration.
3.3.9.4 JmJobStateReasons4TC specification
This textual-convention is used with the jobStateReasons4 attribute to
provides additional information regarding the jmJobState object. The
following standard values are defined (in hexadecimal) as powers of
two, since multiple values MAY be used at the same time.
None defined at this time.
These bit definitions are the equivalent of a type 2 enum except that
combinations of them may be used together. See section 3.7.1.2. The
remaining bits are reserved for future standardization and/or
registration.
3.4 Monitoring Job Progress 3.4 Monitoring Job Progress
There are a number of objects and attributes for monitoring the There are a number of objects and attributes for monitoring the
progress of a job. These objects and attributes count the number of K progress of a job. These objects and attributes count the number of K
octets, impressions, sheets, and pages requested or completed. For octets, impressions, sheets, and pages requested or completed. For
impressions and sheets, "completed" SHALL mean stacked, unless the impressions and sheets, "completed" means stacked, unless the
implementation is unable to detect when each sheet is stacked, in which implementation is unable to detect when each sheet is stacked, in which
case stacked is approximated when processing of each sheet completes. case stacked is approximated when processing of each sheet completes.
There are objects and attributes for the overall job and for the There are objects and attributes for the overall job and for the
current copy of the document currently being stacked. For the latter, current copy of the document currently being stacked. For the latter,
the rate at which the various objects and attributes count depends on the rate at which the various objects and attributes count depends on
the sheet and document collation of the job. the sheet and document collation of the job.
Job Collation included sheet collation and document collation. Sheet Job Collation included sheet collation and document collation. Sheet
collation is defined to be the ordering of sheets within a document collation is defined to be the ordering of sheets within a document
copy. Document collation is defined to be ordering of document copies copy. Document collation is defined to be ordering of document copies
skipping to change at page 26, line 13 skipping to change at page 54, line 13
bin collator and one that does not. bin collator and one that does not.
2.collatedDocuments(4) - Collation of the sheets within each 2.collatedDocuments(4) - Collation of the sheets within each
document copy is performed within the printing device by making document copy is performed within the printing device by making
multiple passes over either the source or an intermediate multiple passes over either the source or an intermediate
representation of the document. In addition, when there are representation of the document. In addition, when there are
multiple documents per job, the i'th copy of each document is multiple documents per job, the i'th copy of each document is
stacked before the j'th copy of each document, i.e., the stacked before the j'th copy of each document, i.e., the
documents are collated within each job copy. For example, if a documents are collated within each job copy. For example, if a
job is submitted with documents, A and B, the job is made job is submitted with documents, A and B, the job is made
available to the end user as: A, B, A, B, .. The available to the end user as: A, B, A, B, .... The
'collatedDocuments(4)' value corresponds to the IPP [ipp-model] 'collatedDocuments(4)' value corresponds to the IPP [ipp-model]
'separate-documents-collated-copies' value of the "multiple- 'separate-documents-collated-copies' value of the "multiple-
document-handling" attribute. document-handling" attribute.
If jobCopiesRequested or documentCopiesRequested = 1, then If jobCopiesRequested or documentCopiesRequested = 1, then
jobCollationType is defined as 4. jobCollationType is defined as 4.
3.uncollatedDocuments(5) - Collation of the sheets within each 3.uncollatedDocuments(5) - Collation of the sheets within each
document copy is performed within the printing device by making document copy is performed within the printing device by making
multiple passes over either the source or an intermediate multiple passes over either the source or an intermediate
representation of the document. In addition, when there are representation of the document. In addition, when there are
multiple documents per job, all copies of the first document in multiple documents per job, all copies of the first document in
the job are stacked before the any copied of the next document the job are stacked before the any copied of the next document
in the job, i.e., the documents are uncollated within the job. in the job, i.e., the documents are uncollated within the job.
For example, if a job is submitted with documents, A and B, the For example, if a job is submitted with documents, A and B, the
job is mad available to the end user as: A, A, ., B, B, .. job is mad available to the end user as: A, A, ..., B, B, ....
The 'uncollatedDocuments(5)' value corresponds to the IPP [ipp- The 'uncollatedDocuments(5)' value corresponds to the IPP [ipp-
model] 'separate-documents-uncollated-copies' value of the model] 'separate-documents-uncollated-copies' value of the
"multiple-document-handling" attribute. "multiple-document-handling" attribute.
Consider the following four variables that are used to monitor the Consider the following four variables that are used to monitor the
progress of a job's impressions: progress of a job's impressions:
1.jmJobImpressionsCompleted - counts the total number of 1.jmJobImpressionsCompleted - counts the total number of
impressions stacked for the job impressions stacked for the job
skipping to change at page 29, line 52 skipping to change at page 58, line 4
the monitoring application to identify the job of interest from all the the monitoring application to identify the job of interest from all the
jobs currently "known" by the server or device. The value of jobs currently "known" by the server or device. The value of
jmJobSubmissionID can be assigned by either the client's local system jmJobSubmissionID can be assigned by either the client's local system
or a downstream server or device. The point of assignment depends on or a downstream server or device. The point of assignment depends on
the job submission protocol in use. the job submission protocol in use.
The server/device-side identifier, called the jmJobIndex object, SHALL The server/device-side identifier, called the jmJobIndex object, SHALL
be assigned by the SNMP Job Monitoring MIB agent when the server or be assigned by the SNMP Job Monitoring MIB agent when the server or
device accepts the jobs from submitting clients. The jmJobIndex object device accepts the jobs from submitting clients. The jmJobIndex object
allows the interested party to obtain all objects desired that relate allows the interested party to obtain all objects desired that relate
to a particular job. See Section 3.2, entitled 'The Job Tables and the
to a particular job. See Section 3.2, entitled 'The Job Tables and the
Oldest Active and Newest Active Indexes' for the specification of how Oldest Active and Newest Active Indexes' for the specification of how
the agent SHALL assign the jmJobIndex values. the agent SHALL assign the jmJobIndex values.
The MIB provides a mapping table that maps each jmJobSubmissionID value The MIB provides a mapping table that maps each jmJobSubmissionID value
to a corresponding jmJobIndex value generated by the agent, so that an to a corresponding jmJobIndex value generated by the agent, so that an
application can determine the correct value for the jmJobIndex value application can determine the correct value for the jmJobIndex value
for the job of interest in a single Get operation, given the Job for the job of interest in a single Get operation, given the Job
Submission ID. See the jmJobIDGroup. Submission ID. See the jmJobIDGroup.
In some configurations there may be more than one application program In some configurations there may be more than one application program
skipping to change at page 30, line 28 skipping to change at page 58, line 29
jmJobSubmissionID value. In this case there would be a separate entry jmJobSubmissionID value. In this case there would be a separate entry
in the jmJobSubmissionID table, one for each jmJobSubmissionID. All in the jmJobSubmissionID table, one for each jmJobSubmissionID. All
entries would map to the same jmJobIndex that contains the job data. entries would map to the same jmJobIndex that contains the job data.
When the job is deleted, it is up to the agent to remove all entries When the job is deleted, it is up to the agent to remove all entries
that point to the job from the jmJobSubmissionID table as well. that point to the job from the jmJobSubmissionID table as well.
The jobName attribute provides a name that the user supplies as a job The jobName attribute provides a name that the user supplies as a job
attribute with the job. The jobName attribute is not necessarily attribute with the job. The jobName attribute is not necessarily
unique, even for one user, let alone across users. unique, even for one user, let alone across users.
3.5.1 The Job Submission ID specifications
This section specifies the formats for each of the registered Job
Submission Ids. This format is used by the JmJobSubmissionIDTypeTC.
Each job submission ID is a fixed-length, 48-octet printable US-ASCII
[US-ASCII] coded character string containing no control characters,
consisting of the following fields:
octet 1: The format letter identifying the format. The US-
ASCII characters '0-9', 'A-Z', and 'a-z' are assigned in
order giving 62 possible formats.
octets 2-40: A 39-character, US-ASCII trailing SPACE filled
field specified by the format letter, if the data is less
than 39 ASCII characters.
octets 41-48: A sequential or random US-ASCII number to make
the ID quasi-unique.
If the client does not supply a job submission ID in the job submission
protocol, then the agent SHALL assign a job submission ID using any of
the standard formats that are reserved for the agent. Clients SHALL
not use formats that are reserved for agents and agents SHALL NOT use
formats that are reserved for clients, in order to reduce conflicts in
ID generation. See the description for which formats are reserved for
clients or for agents.
Registration of additional formats may be done following the procedures
described in Section 3.7.3.
The format values defined at the time of completion of this
specification are:
Format
Letter Description
------ ------------
'0' Job Owner generated by the server/device
octets 2-40: The last 39 bytes of the jmJobOwner object.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the agent.
This format is reserved for agents.
NOTE - Clients wishing to use a job submission ID that
incorporates the job owner, SHALL use format '8', not
format '0'.
'1' Job Name
octets 2-40: The last 39 bytes of the jobName attribute.
octets 41-48: The US-ASCII 8-decimal-digit random number
assigned by the client.
This format is reserved for clients.
'2' Client MAC address
octets 2-40: The client MAC address: in hexadecimal with each
nibble of the 6 octet address being '0'-'9' or 'A' - 'F'
(uppercase only). Most significant octet first.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'3' Client URL
octets 2-40: The last 39 bytes of the client URL [URI-spec].
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'4' Job URI
octets 2-40: The last 39 bytes of the URI [URI-spec] assigned
by the server or device to the job when the job was
submitted for processing.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the agent.
This format is reserved for agents.
'5' POSIX User Number
octets 2-40: The last 39 bytes of a user number, such as POSIX
user number.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'6' User Account Number
octets 2-40: The last 39 bytes of the user account number.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'7' DTMF Incoming FAX routing number
octets 2-40: The last 39 bytes of the DTMF incoming FAX
routing number.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'8' Job Owner supplied by the client
octets 2-40: The last 39 bytes of the job owner name (that the
agent returns in the jmJobOwner object).
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients. See format '0' which is
reserved for agents.
'9' Host Name
octets 2-40: The last 39 bytes of the host name with trailing
SPACES that submitted the job to this server/device using a
protocol, such as LPD [RFC1179] which includes the host
name in the job submission protocol.
octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the job id generated by the submitting
server (configuration 3) or the client (configuration 1 and
2), such as in the LPD protocol.
This format is reserved for clients.
'A' AppleTalk Protocol
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 3-digit US-ASCII
decimal representation of the Connection Id.
This format is reserved for agents.
'B' NetWare PServer
octets 2-40: Contains the Directory Path Name 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 US-ASCII representation of the
Job Number as per the NetWare File Server Queue Management
Services.
This format is reserved for agents.
'C' Server Message Block protocol (SMB)
octets 2-40: Contains a decimal (US-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: The US-ASCII 8-decimal-digit leading zero
representation of the File Handle returned from the device
to the client in response to a Create Print File command.
This format is reserved for agents.
'D' Transport Independent Printer/System Interface (TIP/SI)
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: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the job name. See
format '1' reserved to clients to submit job name ids in
which they supply octets 41-48.
'E' IPDS on the MVS or VSE platform
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: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the job name.
'F' IPDS on the VM platform
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: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the file name.
'G' IPDS on the OS/400 platform
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.
octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the job name.
NOTE - the job submission id is only intended to be unique between a
limited set of clients for a limited duration of time, namely, for the
life time of the job in the context of the server or device that is
processing the job. Some of the formats include something that is
unique per client and a random number so that the same job submitted by
the same client will have a different job submission id. For other
formats, where part of the id is guaranteed to be unique for each
client, such as the MAC address or URL, a sequential number SHOULD
suffice for each client (and may be easier for each client to manage).
Therefore, the length of the job submission id has been selected to
reduce the probability of collision to an extremely low number, but is
not intended to be an absolute guarantee of uniqueness. None-the-less,
collisions are remotely possible, but without bad consequences, since
this MIB is intended to be used only for monitoring jobs, not for
controlling and managing them.
3.6 Internationalization Considerations 3.6 Internationalization Considerations
This section describes the internationalization considerations included This section describes the internationalization considerations included
in this MIB. in this MIB.
3.6.1 Text generated by the server or device 3.6.1 Text generated by the server or device
There are a few objects and attributes generated by the server or There are a few objects and attributes generated by the server or
device that SHALL be represented using the Universal Multiple-Octet device that SHALL be represented using the Universal Multiple-Octet
Coded Character Set (UCS) [ISO-10646]. These objects and attributes Coded Character Set (UCS) [ISO-10646]. These objects and attributes
are always supplied (if implemented) by the agent, not by the job are always supplied (if implemented) by the agent, not by the job
submitting client: submitting client:
1. jmGeneralJobSetName object 1. jmGeneralJobSetName object
2. processingMessage(6) attribute 2. processingMessage(6) attribute
3. physicalDevice(32) (name value) attribute 3. physicalDevice(32) (name value) attribute
The character encoding scheme for representing these objects and The character encoding scheme for representing these objects and
attributes SHALL be UTF-8 as recommended by RFC 2130 [RFC 2130] and the attributes SHALL be UTF-8 as REQUIRED by RFC 2277 [RFC2277]. The
"IETF Policy on Character Sets and Language" [char-set policy]. The
'JmUTF8StringTC' textual convention is used to indicate UTF-8 text 'JmUTF8StringTC' textual convention is used to indicate UTF-8 text
strings. strings.
NOTE - For strings in 7-bit US-ASCII, there is no impact since the UTF- NOTE - For strings in 7-bit US-ASCII, there is no impact since the UTF-
8 representation of 7-bit ASCII is identical to the US-ASCII [US-ASCII] 8 representation of 7-bit ASCII is identical to the US-ASCII [US-ASCII]
encoding. encoding.
The text contained in the processingMessage(6) attribute is generated The text contained in the processingMessage(6) attribute is generated
by the server/device. The natural language for the by the server/device. The natural language for the
processingMessage(6) attribute is identified by the processingMessage(6) attribute is identified by the
skipping to change at page 31, line 4 skipping to change at page 63, line 33
'JmUTF8StringTC' textual convention is used to indicate UTF-8 text 'JmUTF8StringTC' textual convention is used to indicate UTF-8 text
strings. strings.
NOTE - For strings in 7-bit US-ASCII, there is no impact since the UTF- NOTE - For strings in 7-bit US-ASCII, there is no impact since the UTF-
8 representation of 7-bit ASCII is identical to the US-ASCII [US-ASCII] 8 representation of 7-bit ASCII is identical to the US-ASCII [US-ASCII]
encoding. encoding.
The text contained in the processingMessage(6) attribute is generated The text contained in the processingMessage(6) attribute is generated
by the server/device. The natural language for the by the server/device. The natural language for the
processingMessage(6) attribute is identified by the processingMessage(6) attribute is identified by the
processingMessageNaturalLangTag(7) attribute. The processingMessageNaturalLangTag(7) attribute. The
processingMessageNaturalLangTag(7) attribute uses the processingMessageNaturalLangTag(7) attribute uses the
JmNaturalLanguageTagTC textual convention which SHALL conform to the JmNaturalLanguageTagTC textual convention which SHALL conform to the
language tag mechanism specified in RFC 1766 [RFC-1766]. The language tag mechanism specified in RFC 1766 [RFC1766]. The
JmNaturalLanguageTagTC value is the same as the IPP [IPP-model] JmNaturalLanguageTagTC value is the same as the IPP [IPP-model]
'naturalLanguage' attribute syntax. RFC 1766 specifies that a US-ASCII 'naturalLanguage' attribute syntax. RFC 1766 specifies that a US-ASCII
string consisting of the natural language followed by an optional string consisting of the natural language followed by an optional
country field. Both fields use the same two-character codes from ISO country field. Both fields use the same two-character codes from ISO
639 [ISO-639] and ISO 3166 [ISO-3166], respectively, that are used in 639 [ISO-639] and ISO 3166 [ISO-3166], respectively, that are used in
the Printer MIB for identifying language and country. the Printer MIB for identifying language and country.
Examples of the values of the processingMessageNaturalLangTag(7) Examples of the values of the processingMessageNaturalLangTag(7)
attribute include: attribute include:
1. 'en' for English 1. 'en' for English
skipping to change at page 31, line 34 skipping to change at page 64, line 16
All of the objects and attributes represented by the 'JmJobStringTC' All of the objects and attributes represented by the 'JmJobStringTC'
textual-convention are either (1) supplied in the job submission textual-convention are either (1) supplied in the job submission
protocol by the client that submits the job to the server or device or protocol by the client that submits the job to the server or device or
(2) are defaulted by the server or device if the job submitting client (2) are defaulted by the server or device if the job submitting client
does not supply values. The agent SHALL represent these objects and does not supply values. The agent SHALL represent these objects and
attributes in the MIB either (1) in the coded character set as they attributes in the MIB either (1) in the coded character set as they
were submitted or (2) MAY convert the coded character set to another were submitted or (2) MAY convert the coded character set to another
coded character set or encoding scheme. In any case, the resulting coded character set or encoding scheme. In any case, the resulting
coded character set representation SHOULD be UTF-8 [UTF-8], but SHALL coded character set representation SHOULD be UTF-8 [UTF-8], but SHALL
be one in which the code positions from 0 to 31 SHALL not be used, 32 be one in which the code positions from 0 to 31 is not used, 32 to 127
to 127 SHALL be US-ASCII [US-ASCII], 127 SHALL be unused, and the is US-ASCII [US-ASCII], 127 is not unused, and the remaining code
remaining code positions 128 to 255 SHALL represent single-byte or positions 128 to 255 represent single-byte or multi-byte graphic
multi-byte graphic characters structured according to ISO 2022 [ISO characters structured according to ISO 2022 [ISO-2022] or are unused.
2022] or SHALL be unused.
The coded character set SHALL be one of the ones registered with IANA The coded character set SHALL be one of the ones registered with IANA
[IANA] and SHALL be identified by the jobCodedCharSet attribute in the [IANA] and SHALL be identified by the jobCodedCharSet attribute in the
jmJobAttributeTable for the job. If the agent does not know what coded jmJobAttributeTable for the job. If the agent does not know what coded
character set was used by the job submitting client, the agent SHALL character set was used by the job submitting client, the agent SHALL
either (1) return the 'unknown(2)' value for the jobCodedCharSet either (1) return the 'unknown(2)' value for the jobCodedCharSet
attribute or (2) not return the jobCodedCharSet attribute for the job. attribute or (2) not return the jobCodedCharSet attribute for the job.
Examples of coded character sets which meet this criteria for use as Examples of coded character sets which meet this criteria for use as
the value of the jobCodedCharSet job attribute are: US-ASCII [US- the value of the jobCodedCharSet job attribute are: US-ASCII [US-
ASCII], ISO 8859-1 (Latin-1) [ISO 8859-1], any ISO 8859-n, HP Roman8, ASCII], ISO 8859-1 (Latin-1) [ISO-8859-1], any ISO 8859-n, HP Roman8,
IBM Code Page 850, Windows Default 8-bit set, UTF-8 [UTF-8], US-ASCII IBM Code Page 850, Windows Default 8-bit set, UTF-8 [UTF-8], US-ASCII
plus JIS X0208-1990 Japanese [JIS X0208], US-ASCII plus GB2312-1980 PRC plus JIS X0208-1990 Japanese [JIS X0208], US-ASCII plus GB2312-1980 PRC
Chinese [GB2312]. See the IANA registry of coded character sets [IANA Chinese [GB2312]. See the IANA registry of coded character sets [IANA
charsets]. charsets].
Examples of coded character sets which do not meet this criteria are: Examples of coded character sets which do not meet this criteria are:
national 7-bit sets conforming to ISO 646 (except US-ASCII), EBCDIC, national 7-bit sets conforming to ISO 646 (except US-ASCII), EBCDIC,
and ISO 10646 (Unicode) [ISO-10646]. In order to represent Unicode and ISO 10646 (Unicode) [ISO-10646]. In order to represent Unicode
characters, the UTF-8 [UTF-8] encoding scheme SHALL be used which has characters, the UTF-8 [UTF-8] encoding scheme SHALL be used which has
been assigned the MIBenum value of '106' by IANA. been assigned the MIBenum value of '106' by IANA.
The jobCodedCharSet attribute uses the imported 'CodedCharSet' textual- The jobCodedCharSet attribute uses the imported 'CodedCharSet' textual-
convention from the Printer MIB [printmib]. convention from the Printer MIB [printmib].
The natural language for attributes represented by the textual- The natural language for attributes represented by the textual-
convention JmJobStringTC SHALL be identified either (1) by the convention JmJobStringTC is identified either (1) by the
jobNaturalLanguageTag(9) attribute or SHALL be keywords in US-English jobNaturalLanguageTag(9) attribute or is keywords in US-English (as in
(as in IPP). A monitoring application SHOULD attempt to localize IPP). A monitoring application SHOULD attempt to localize keywords
keywords into the language of the user by means of some lookup into the language of the user by means of some lookup mechanism. If
mechanism. If the keyword value is not known to the monitoring the keyword value is not known to the monitoring application, the
application, the monitoring application SHOULD assume that the value is monitoring application SHOULD assume that the value is in the natural
in the natural language specified by the job's jobNaturalLanguageTag(9) language specified by the job's jobNaturalLanguageTag(9) attribute and
attribute and SHOULD present the value to its user as is. The SHOULD present the value to its user as is. The
jobNaturalLanguageTag(9) attribute value SHALL have the same syntax and jobNaturalLanguageTag(9) attribute value SHALL have the same syntax and
semantics as the processingMessageNaturalLangTag(7) attribute, except semantics as the processingMessageNaturalLangTag(7) attribute, except
that the jobNaturalLanguageTag(9) attribute identifies the natural that the jobNaturalLanguageTag(9) attribute identifies the natural
language of attributes supplied by the job submitter instead of the language of attributes supplied by the job submitter instead of the
natural language of the processingMessage(6) attribute. See Section natural language of the processingMessage(6) attribute. See Section
3.6.1. 3.6.1.
3.6.3 'DateAndTime' for representing the date and time 3.6.3 'DateAndTime' for representing the date and time
This MIB also contains objects that are represented using the This MIB also contains objects that are represented using the
skipping to change at page 33, line 52 skipping to change at page 66, line 35
6. JmPrintQualityTC [same enum values as IPP "print-quality" 6. JmPrintQualityTC [same enum values as IPP "print-quality"
attribute] attribute]
7. JmTonerEconomyTC 7. JmTonerEconomyTC
8. JmMediumTypeTC 8. JmMediumTypeTC
9. JmJobSubmissionIDTypeTC 9. JmJobSubmissionIDTypeTC
10.JmJobCollationTypeTC 10.JmJobCollationTypeTC
11.JmJobStateTC [same enum values as IPP "job-state" attribute] 11.JmJobStateTC [same enum values as IPP "job-state" attribute]
12.JmAttributeTypeTC 12.JmAttributeTypeTC
For those textual conventions that have the same enum values as the For those textual conventions that have the same enum values as the
indicated IPP Job attribute SHALL be simultaneously registered by the indicated IPP Job attribute are simultaneously registered by the PWG
PWG for use with IPP [ipp-model] and the Job Monitoring MIB. for use with IPP [ipp-model] and the Job Monitoring MIB.
3.7.1.3 Type 3 enumeration 3.7.1.3 Type 3 enumeration
Type 3 enumeration: An initial set of values are defined in the Job Type 3 enumeration: An initial set of values are defined in the Job
Monitoring MIB specification. Additional enumerated values are Monitoring MIB specification. Additional enumerated values are
registered through the PWG without PWG review. registered through the PWG without PWG review.
There are no type 3 enums in the current draft. There are no type 3 enums in the current draft.
3.7.2 PWG Registration of type 2 bit values 3.7.2 PWG Registration of type 2 bit values
skipping to change at page 34, line 28 skipping to change at page 67, line 20
3. JmJobStateReasons2TC 3. JmJobStateReasons2TC
4. JmJobStateReasons3TC 4. JmJobStateReasons3TC
5. JmJobStateReasons4TC 5. JmJobStateReasons4TC
These textual-conventions are defined as bits in an Integer so that These textual-conventions are defined as bits in an Integer so that
they can be used with SNMPv1 SMI. The jobStateReasonsN (N=1..4) they can be used with SNMPv1 SMI. The jobStateReasonsN (N=1..4)
attributes are defined as bit values using the corresponding attributes are defined as bit values using the corresponding
JmJobStateReasonsNTC textual-conventions. JmJobStateReasonsNTC textual-conventions.
The registration of JmJobServiceTypesTC and JmJobStateReasonsNTC bit The registration of JmJobServiceTypesTC and JmJobStateReasonsNTC bit
values SHALL follow the procedures for a type 2 enum as specified in values follow the procedures for a type 2 enum as specified in Section
Section 3.7.1.2. 3.7.1.2.
3.7.3 PWG Registration of Job Submission Id Formats 3.7.3 PWG Registration of Job Submission Id Formats
In addition to enums and bit values, this specification assigns a In addition to enums and bit values, this specification assigns a
single ASCII digit or letter to various job submission ID formats. See single ASCII digit or letter to various job submission ID formats. See
the JmJobSubmissionIDTypeTC textual-convention and the object. The the JmJobSubmissionIDTypeTC textual-convention and the object. The
registration of JobSubmissionID format numbers SHALL follow the registration of JobSubmissionID format numbers follows the procedures
procedures for a type 2 enum as specified in Section 3.7.1.2. for a type 2 enum as specified in Section 3.7.1.2.
3.7.4 PWG Registration of MIME types/sub-types for document-formats 3.7.4 PWG Registration of MIME types/sub-types for document-formats
The documentFormat(38) attribute has MIME type/sub-type values for The documentFormat(38) attribute has MIME type/sub-type values for
indicating document formats which IANA registers as "media type" names. indicating document formats which IANA registers as "media type" names.
The values of the documentFormat(38) attribute are the same as the The values of the documentFormat(38) attribute are the same as the
corresponding Internet Printing Protocol (IPP) "document-format" Job corresponding Internet Printing Protocol (IPP) "document-format" Job
attribute values [ipp-model]. attribute values [ipp-model].
3.8 Security Considerations 3.8 Security Considerations
skipping to change at page 35, line 31 skipping to change at page 68, line 31
of all jobs, independent of the policy for unprivileged users. of all jobs, independent of the policy for unprivileged users.
3.9 Notifications 3.9 Notifications
This MIB does not specify any notifications. For simplicity, This MIB does not specify any notifications. For simplicity,
management applications are expected to poll for status. The management applications are expected to poll for status. The
jmGeneralJobPersistence and jmGeneralAttributePersistence objects jmGeneralJobPersistence and jmGeneralAttributePersistence objects
assist an application to determine the polling rate. The resulting assist an application to determine the polling rate. The resulting
network traffic is not expected to be significant. network traffic is not expected to be significant.
4. MIB specification 4 MIB specification
The following pages constitute the actual Job Monitoring MIB. The following pages constitute the actual Job Monitoring MIB.
Job-Monitoring-MIB DEFINITIONS ::= BEGIN Job-Monitoring-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, enterprises, MODULE-IDENTITY, OBJECT-TYPE, enterprises,
Integer32 FROM SNMPv2-SMI Integer32 FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC TEXTUAL-CONVENTION FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
skipping to change at page 36, line 24 skipping to change at page 69, line 24
-- They are provided here for convenience: -- They are provided here for convenience:
-- hrDeviceIndex FROM HOST-RESOURCES-MIB -- hrDeviceIndex FROM HOST-RESOURCES-MIB
-- DateAndTime FROM SNMPv2-TC -- DateAndTime FROM SNMPv2-TC
-- PrtInterpreterLangFamilyTC, -- PrtInterpreterLangFamilyTC,
-- CodedCharSet FROM Printer-MIB -- CodedCharSet FROM Printer-MIB
-- Use the enterprises arc assigned to the PWG which is pwg(2699). -- Use the enterprises arc assigned to the PWG which is pwg(2699).
-- Group all PWG mibs under mibs(1). -- Group all PWG mibs under mibs(1).
jobmonMIB MODULE-IDENTITY jobmonMIB MODULE-IDENTITY
LAST-UPDATED "9802030000Z" LAST-UPDATED "9902190000Z"
ORGANIZATION "Printer Working Group (PWG)" ORGANIZATION "Printer Working Group (PWG)"
CONTACT-INFO CONTACT-INFO
"Tom Hastings "Tom Hastings
Postal: Xerox Corp. Postal: Xerox Corp.
Mail stop ESAE-231 Mail stop ESAE-231
701 S. Aviation Blvd. 701 S. Aviation Blvd.
El Segundo, CA 90245 El Segundo, CA 90245
Tel: (301)333-6413 Tel: (301)333-6413
Fax: (301)333-5514 Fax: (301)333-5514
skipping to change at page 37, line 14 skipping to change at page 70, line 14
-- Textual conventions for this MIB module -- Textual conventions for this MIB module
JmUTF8StringTC ::= TEXTUAL-CONVENTION JmUTF8StringTC ::= TEXTUAL-CONVENTION
DISPLAY-HINT "255a" DISPLAY-HINT "255a"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"To facilitate internationalization, this TC represents "To facilitate internationalization, this TC represents
information taken from the ISO/IEC IS 10646-1 character set, information taken from the ISO/IEC IS 10646-1 character set,
encoded as an octet string using the UTF-8 character encoding encoded as an octet string using the UTF-8 character encoding
scheme." scheme.
REFERENCE
"See section 3.6.1, entitled: 'Text generated by the server or See section 3.6.1, entitled: 'Text generated by the server or
device'." device'."
SYNTAX OCTET STRING (SIZE (0..63)) SYNTAX OCTET STRING (SIZE (0..63))
JmJobStringTC ::= TEXTUAL-CONVENTION JmJobStringTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"To facilitate internationalization, this TC represents "To facilitate internationalization, this TC represents
information using any coded character set registered by IANA as information using any coded character set registered by IANA as
specified in section 3.7. While it is recommended that the specified in section 3.7. While it is recommended that the
coded character set be UTF-8 [UTF-8], the actual coded coded character set be UTF-8 [UTF-8], the actual coded
character set SHALL be indicated by the value of the character set SHALL be indicated by the value of the
jobCodedCharSet(8) attribute for the job." jobCodedCharSet(8) attribute for the job.
REFERENCE
"See section 3.6.2, entitled: 'Text supplied by the job See section 3.6.2, entitled: 'Text supplied by the job
submitter'." submitter'."
SYNTAX OCTET STRING (SIZE (0..63)) SYNTAX OCTET STRING (SIZE (0..63))
JmNaturalLanguageTagTC ::= TEXTUAL-CONVENTION JmNaturalLanguageTagTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An IETF RFC 1766-compliant 'language tag', with zero or more "An IETF RFC 1766-compliant 'language tag', with zero or more
sub-tags that identify a natural language. While RFC 1766 sub-tags that identify a natural language. While RFC 1766
specifies that the US-ASCII values are case-insensitive, this specifies that the US-ASCII values are case-insensitive, this
MIB specification requires that all characters SHALL be lower MIB specification requires that all characters SHALL be lower
case in order to simplify comparing by management case in order to simplify comparing by management applications.
applications."
REFERENCE See section 3.6.1, entitled: 'Text generated by the server or
"See section 3.6.1, entitled: 'Text generated by the server or
device' and section 3.6.2, entitled: 'Text supplied by the job device' and section 3.6.2, entitled: 'Text supplied by the job
submitter'." submitter'."
SYNTAX OCTET STRING (SIZE (0..63)) SYNTAX OCTET STRING (SIZE (0..63))
JmTimeStampTC ::= TEXTUAL-CONVENTION JmTimeStampTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The simple time at which an event took place. The units SHALL "The simple time at which an event took place. The units are
be in seconds since the system was booted. in seconds since the system was booted.
NOTE - JmTimeStampTC is defined in units of seconds, rather NOTE - JmTimeStampTC is defined in units of seconds, rather
than 100ths of seconds, so as to be simpler for agents to than 100ths of seconds, so as to be simpler for agents to
implement (even if they have to implement the 100ths of a implement (even if they have to implement the 100ths of a
second to comply with implementing sysUpTime in MIB-II[mib- second to comply with implementing sysUpTime in MIB-II[mib-
II].) II].)
NOTE - JmTimeStampTC is defined as an Integer32 so that it can NOTE - JmTimeStampTC is defined as an Integer32 so that it can
be used as a value of an attribute, i.e., as a value of the be used as a value of an attribute, i.e., as a value of the
jmAttributeValueAsInteger object. The TimeStamp textual- jmAttributeValueAsInteger object. The TimeStamp textual-
skipping to change at page 38, line 31 skipping to change at page 71, line 31
APPLICATION 3 IMPLICIT INTEGER tag, not an Integer32 which is APPLICATION 3 IMPLICIT INTEGER tag, not an Integer32 which is
defined in SNMPv2-SMI [SMIv2-TC] as UNIVERSAL 2 IMPLICIT defined in SNMPv2-SMI [SMIv2-TC] as UNIVERSAL 2 IMPLICIT
INTEGER, so cannot be used in this MIB as one of the values of INTEGER, so cannot be used in this MIB as one of the values of
jmAttributeValueAsInteger." jmAttributeValueAsInteger."
SYNTAX INTEGER (0..2147483647) SYNTAX INTEGER (0..2147483647)
JmJobSourcePlatformTypeTC ::= TEXTUAL-CONVENTION JmJobSourcePlatformTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The source platform type that can submit jobs to servers or "The source platform type that can submit jobs to servers or
devices in any of the 3 configurations." devices in any of the 3 configurations.
REFERENCE
"This is a type 2 enumeration. See Section 3.7.1.2. See also This is a type 2 enumeration. See Section 3.7.1.2. See also
IANA operating-system-names registry." IANA operating-system-names registry."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), other(1),
unknown(2), unknown(2),
sptUNIX(3), -- UNIX sptUNIX(3), -- UNIX
sptOS2(4), -- OS/2 sptOS2(4), -- OS/2
sptPCDOS(5), -- DOS sptPCDOS(5), -- DOS
sptNT(6), -- NT sptNT(6), -- NT
sptMVS(7), -- MVS sptMVS(7), -- MVS
sptVM(8), -- VM sptVM(8), -- VM
skipping to change at page 39, line 28 skipping to change at page 72, line 28
The finishing is unknown. The finishing is unknown.
none(3), none(3),
Perform no finishing. Perform no finishing.
staple(4), staple(4),
Bind the document(s) with one or more staples. The exact Bind the document(s) with one or more staples. The exact
number and placement of the staples is site-defined. number and placement of the staples is site-defined.
punch(5), punch(5),
This value indicates that holes are required in the Holes are required in the finished document. The exact
finished document. The exact number and placement of the number and placement of the holes is site-defined. The
holes is site-defined The punch specification MAY be punch specification MAY be satisfied (in a site- and
satisfied (in a site- and implementation-specific manner) implementation-specific manner) either by
either by drilling/punching, or by substituting pre-drilled drilling/punching, or by substituting pre-drilled media.
media.
cover(6), cover(6),
This value is specified when it is desired to select a non- Select a non-printed (or pre-printed) cover for the
printed (or pre-printed) cover for the document. This does document. This does not supplant the specification of a
not supplant the specification of a printed cover (on cover printed cover (on cover stock medium) by the document
stock medium) by the document itself. itself.
bind(7) bind(7)
This value indicates that a binding is to be applied to the Binding is to be applied to the document; the type and
document; the type and placement of the binding is product- placement of the binding is product-specific.
specific."
REFERENCE This is a type 2 enumeration. See Section 3.7.1.2."
"This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), other(1),
unknown(2), unknown(2),
none(3), none(3),
staple(4), staple(4),
punch(5), punch(5),
cover(6), cover(6),
bind(7) bind(7)
} }
JmPrintQualityTC ::= TEXTUAL-CONVENTION JmPrintQualityTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Print quality settings. "Print quality settings.
These values are the same as the enum values of the IPP 'print- These values are the same as the enum values of the IPP 'print-
quality' attribute. See Section 3.7.1.2." quality' attribute. See Section 3.7.1.2.
REFERENCE
"This is a type 2 enumeration. See Section 3.7.1.2." This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), -- Not one of the specified or registered other(1), -- Not one of the specified or registered
-- values. -- values.
unknown(2), -- The actual value is unknown. unknown(2), -- The actual value is unknown.
draft(3), -- Lowest quality available on the printer. draft(3), -- Lowest quality available on the printer.
normal(4), -- Normal or intermediate quality on the normal(4), -- Normal or intermediate quality on the
-- printer. -- printer.
high(5) -- Highest quality available on the printer. high(5) -- Highest quality available on the printer.
} }
skipping to change at page 41, line 8 skipping to change at page 74, line 8
measure. Thus the SIGNED-INTEGERs represent integral values in measure. Thus the SIGNED-INTEGERs represent integral values in
either dots-per-inch or dots-per-centimeter. either dots-per-inch or dots-per-centimeter.
The syntax is the same as the IPP 'printer-resolution' The syntax is the same as the IPP 'printer-resolution'
attribute. See Section 3.7.1.2." attribute. See Section 3.7.1.2."
SYNTAX OCTET STRING (SIZE(9)) SYNTAX OCTET STRING (SIZE(9))
JmTonerEconomyTC ::= TEXTUAL-CONVENTION JmTonerEconomyTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Toner economy settings." "Toner economy settings.
REFERENCE
"This is a type 2 enumeration. See Section 3.7.1.2." This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
unknown(2), -- unknown. unknown(2), -- unknown.
off(3), -- Off. Normal. Use full toner. off(3), -- Off. Normal. Use full toner.
on(4) -- On. Use less toner than normal. on(4) -- On. Use less toner than normal.
} }
JmBooleanTC ::= TEXTUAL-CONVENTION JmBooleanTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Boolean true or false value." "Boolean true or false value.
REFERENCE
"This is a type 2 enumeration. See Section 3.7.1.2." This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
unknown(2), -- unknown. unknown(2), -- unknown.
false(3), -- FALSE. false(3), -- FALSE.
true(4) -- TRUE. true(4) -- TRUE.
} }
JmMediumTypeTC ::= TEXTUAL-CONVENTION JmMediumTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Identifies the type of medium. "Identifies the type of medium.
skipping to change at page 42, line 32 skipping to change at page 75, line 32
multiPartForm(11), multiPartForm(11),
Form medium composed of multiple layers not pre-attached to Form medium composed of multiple layers not pre-attached to
one another; each sheet MAY be drawn separately from an one another; each sheet MAY be drawn separately from an
input source. input source.
labels(12), labels(12),
Label-stock. Label-stock.
multiLayer(13) multiLayer(13)
Form medium composed of multiple layers which are pre- Form medium composed of multiple layers which are pre-
attached to one another, e.g. for use with impact attached to one another, e.g. for use with impact printers.
printers."
REFERENCE This is a type 2 enumeration. See Section 3.7.1.2. These enum
"This is a type 2 enumeration. See Section 3.7.1.2. These values correspond to the keyword name strings of the
enum values correspond to the keyword name strings of the
prtInputMediaType object in the Printer MIB [print-mib]. There prtInputMediaType object in the Printer MIB [print-mib]. There
is no printer description attribute in IPP/1.0 that represents is no printer description attribute in IPP/1.0 that represents
these values." these values."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), other(1),
unknown(2), unknown(2),
stationery(3), stationery(3),
transparency(4), transparency(4),
envelope(5), envelope(5),
envelopePlain(6), envelopePlain(6),
skipping to change at page 43, line 10 skipping to change at page 76, line 10
multiPartForm(11), multiPartForm(11),
labels(12), labels(12),
multiLayer(13) multiLayer(13)
} }
JmJobCollationTypeTC ::= TEXTUAL-CONVENTION JmJobCollationTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value is the type of job collation. Implementations that "This value is the type of job collation. Implementations that
don't support multiple documents or don't support multiple don't support multiple documents or don't support multiple
copies SHALL NOT support the uncollatedDocuments(5) value." copies SHALL NOT support the uncollatedDocuments(5) value.
REFERENCE
"This is a type 2 enumeration. See Section 3.7.1.2. See also This is a type 2 enumeration. See Section 3.7.1.2. See also
Section 3.4, entitled 'Monitoring Job Progress'." Section 3.4, entitled 'Monitoring Job Progress'."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), other(1),
unknown(2), unknown(2),
uncollatedSheets(3), -- sheets within each document copy uncollatedSheets(3), -- sheets within each document copy
-- are not collated: 1 1 ..., 2 2 ..., -- are not collated: 1 1 ..., 2 2 ...,
-- No corresponding value of IPP
-- "multiple-document-handling"
collatedDocuments(4), -- internal collated sheets, collatedDocuments(4), -- internal collated sheets,
-- documents: A, B, A, B, ... -- documents: A, B, A, B, ...
-- Corresponds to IPP "multiple-
-- document-handling"='separate-
-- documents-collated-copies'
uncollatedDocuments(5) -- internal collated sheets, uncollatedDocuments(5) -- internal collated sheets,
-- documents: A, A, ..., B, B, ... -- documents: A, A, ..., B, B, ...
-- Corresponds to IPP "multiple-
-- document-handling"='separate-
-- documents-uncollated-copies'
} }
JmJobSubmissionIDTypeTC ::= TEXTUAL-CONVENTION JmJobSubmissionIDTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Identifies the format type of a job submission ID. "Identifies the format type of a job submission ID.
Each job submission ID is a fixed-length, 48-octet printable Each job submission ID is a fixed-length, 48-octet printable
US-ASCII [US-ASCII] coded character string containing no US-ASCII [US-ASCII] coded character string containing no
control characters, consisting of the following fields: control characters, consisting of the fields defined in section
3.5.1.
octet 1: The format letter identifying the format. The US-
ASCII characters '0-9', 'A-Z', and 'a-z' are assigned in
order giving 62 possible formats.
octets 2-40: A 39-character, US-ASCII trailing SPACE filled
field specified by the format letter, if the data is less
than 39 ASCII characters.
octets 41-48: A sequential or random US-ASCII number to make
the ID quasi-unique.
If the client does not supply a job submission ID in the job
submission protocol, then the agent SHALL assign a job
submission ID using any of the standard formats that are
reserved for the agent. Clients SHALL not use formats that are
reserved for agents and agents SHALL NOT use formats that are
reserved for clients, in order to reduce conflicts in ID
generation. See the description for which formats are reserved
for clients or for agents.
Registration of additional formats may be done following the
procedures described in Section 3.7.3.
The format values defined at the time of completion of this
specification are:
Format
Letter Description
------ ------------
'0' Job Owner generated by the server/device
octets 2-40: The last 39 bytes of the jmJobOwner object.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the agent.
This format is reserved for agents.
NOTE - Clients wishing to use a job submission ID that
incorporates the job owner, SHALL use format '8', not
format '0'.
'1' Job Name
octets 2-40: The last 39 bytes of the jobName attribute.
octets 41-48: The US-ASCII 8-decimal-digit random number
assigned by the client.
This format is reserved for clients.
'2' Client MAC address
octets 2-40: The client MAC address: in hexadecimal with each
nibble of the 6 octet address being '0'-'9' or 'A' - 'F'
(uppercase only). Most significant octet first.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'3' Client URL
octets 2-40: The last 39 bytes of the client URL [URI-spec].
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'4' Job URI
octets 2-40: The last 39 bytes of the URI [URI-spec] assigned
by the server or device to the job when the job was
submitted for processing.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the agent.
This format is reserved for agents.
'5' POSIX User Number
octets 2-40: The last 39 bytes of a user number, such as POSIX
user number.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'6' User Account Number
octets 2-40: The last 39 bytes of the user account number.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'7' DTMF Incoming FAX routing number
octets 2-40: The last 39 bytes of the DTMF incoming FAX
routing number.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients.
'8' Job Owner supplied by the client
octets 2-40: The last 39 bytes of the job owner name (that the
agent returns in the jmJobOwner object).
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients. See format '0' which is
reserved for agents.
'9' Host Name
octets 2-40: The last 39 bytes of the host name with trailing
SPACES that submitted the job to this server/device using a
protocol, such as LPD [RFC-1179] which includes the host
name in the job submission protocol.
octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the job id generated by the submitting
server (configuration 3) or the client (configuration 1 and
2), such as in the LPD protocol.
This format is reserved for clients.
'A' AppleTalk Protocol
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 3-digit US-ASCII
decimal representation of the Connection Id.
This format is reserved for agents.
'B' NetWare PServer
octets 2-40: Contains the Directory Path Name 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 US-ASCII representation of the
Job Number as per the NetWare File Server Queue Management
Services.
This format is reserved for agents.
'C' Server Message Block protocol (SMB)
octets 2-40: Contains a decimal (US-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: The US-ASCII 8-decimal-digit leading zero
representation of the File Handle returned from the device
to the client in response to a Create Print File command.
This format is reserved for agents.
'D' Transport Independent Printer/System Interface (TIP/SI)
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: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the job name. See
format '1' reserved to clients to submit job name ids in
which they supply octets 41-48.
'E' IPDS on the MVS or VSE platform
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: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the job name.
'F' IPDS on the VM platform
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: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the file name.
'G' IPDS on the OS/400 platform
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.
octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the job name.
NOTE - the job submission id is only intended to be unique This is like a type 2 enumeration. See section 3.7.3."
between a limited set of clients for a limited duration of
time, namely, for the life time of the job in the context of
the server or device that is processing the job. Some of the
formats include something that is unique per client and a
random number so that the same job submitted by the same client
will have a different job submission id. For other formats,
where part of the id is guaranteed to be unique for each
client, such as the MAC address or URL, a sequential number
SHOULD suffice for each client (and may be easier for each
client to manage). Therefore, the length of the job submission
id has been selected to reduce the probability of collision to
an extremely low number, but is not intended to be an absolute
guarantee of uniqueness. None-the-less, collisions are
remotely possible, but without bad consequences, since this MIB
is intended to be used only for monitoring jobs, not for
controlling and managing them."
REFERENCE
"This is like a type 2 enumeration. See section 3.7.3."
SYNTAX OCTET STRING(SIZE(1)) -- ASCII '0'-'9', 'A'-'Z', 'a'-'z' SYNTAX OCTET STRING(SIZE(1)) -- ASCII '0'-'9', 'A'-'Z', 'a'-'z'
JmJobStateTC ::= TEXTUAL-CONVENTION JmJobStateTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The current state of the job (pending, processing, completed, "The current state of the job (pending, processing, completed,
etc.). etc.). The following figure shows the normal job state
transitions:
The following figure shows the normal job state transitions:
+----> canceled(7) +----> canceled(7)
/ /
+---> pending(3) -------> processing(5) ------+------> completed(9) +---> pending(3) -------> processing(5) ------+------> completed(9)
| ^ ^ \ | ^ ^ \
--->+ | | +----> aborted(8) --->+ | | +----> aborted(8)
| v v / | v v /
+---> pendingHeld(4) processingStopped(6) ---+ +---> pendingHeld(4) processingStopped(6) ---+
Figure 4 - Normal Job State Transitions Figure 4 - Normal Job State Transitions
skipping to change at page 49, line 17 skipping to change at page 78, line 17
processing(5), processing(5),
One or more of: One or more of:
1. the job is using, or is attempting to use, one or more 1. the job is using, or is attempting to use, one or more
purely software processes that are analyzing, creating, or purely software processes that are analyzing, creating, or
interpreting a PDL, etc., interpreting a PDL, etc.,
2. the job is using, or is attempting to use, one or more 2. the job is using, or is attempting to use, one or more
hardware devices that are interpreting a PDL, making marks hardware devices that are interpreting a PDL, making marks
on a medium, and/or performing finishing, such as stapling, on a medium, and/or performing finishing, such as stapling,
etc., etc., OR
OR
3. (configuration 2) the server has made the job ready for 3. (configuration 2) the server has made the job ready for
printing, but the output device is not yet printing it, printing, but the output device is not yet printing it,
either because the job hasn't reached the output device or either because the job hasn't reached the output device or
because the job is queued in the output device or some because the job is queued in the output device or some
other spooler, awaiting the output device to print it. other spooler, awaiting the output device to print it.
When the job is in the processing state, the entire job When the job is in the processing state, the entire job
state includes the detailed status represented in the state includes the detailed status represented in the
device MIB indicated by the hrDeviceIndex value of the device MIB indicated by the hrDeviceIndex value of the
skipping to change at page 50, line 36 skipping to change at page 79, line 33
implemented, the abortedBySystem value SHALL remain while implemented, the abortedBySystem value SHALL remain while
the job is in the aborted state. the job is in the aborted state.
completed(9) completed(9)
The job has completed successfully or with warnings or The job has completed successfully or with warnings or
errors after processing and all of the media have been errors after processing and all of the media have been
successfully stacked in the appropriate output bin(s) AND successfully stacked in the appropriate output bin(s) AND
all MIB objects and attributes have reached their final all MIB objects and attributes have reached their final
values for the job. The job's jmJobStateReasons1 object values for the job. The job's jmJobStateReasons1 object
SHOULD contain one of: completedSuccessfully, SHOULD contain one of: completedSuccessfully,
completedWithWarnings, or completedWithErrors values." completedWithWarnings, or completedWithErrors values.
REFERENCE
"This is a type 2 enumeration. See Section 3.7.1.2." This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
unknown(2), unknown(2),
pending(3), pending(3),
pendingHeld(4), pendingHeld(4),
processing(5), processing(5),
processingStopped(6), processingStopped(6),
canceled(7), canceled(7),
aborted(8), aborted(8),
completed(9) completed(9)
} }
JmAttributeTypeTC ::= TEXTUAL-CONVENTION JmAttributeTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of the attribute which identifies the attribute. "The type of the attribute which identifies the attribute.
In the following definitions of the enums, each description
indicates whether the useful value of the attribute SHALL be
represented using the jmAttributeValueAsInteger or the
jmAttributeValueAsOctets objects by the initial tag: 'INTEGER:'
or 'OCTETS:', respectively.
Some attributes allow the agent implementer a choice of useful
values of either an integer, an octets representation, or both,
depending on implementation. These attributes are indicated
with 'INTEGER:' AND/OR 'OCTETS:' tags.
A very few attributes require both objects at the same time to
represent a pair of useful values (see mediumConsumed(171)).
These attributes are indicated with 'INTEGER:' AND 'OCTETS:'
tags. See the jmAttributeGroup for the descriptions of these
two MANDATORY objects.
NOTE - The enum assignments are grouped logically with values NOTE - The enum assignments are grouped logically with values
assigned in groups of 20, so that additional values may be assigned in groups of 20, so that additional values may be
registered in the future and assigned a value that is part of registered in the future and assigned a value that is part of
their logical grouping. their logical grouping.
Values in the range 2**30 to 2**31-1 are reserved for private Values in the range 2**30 to 2**31-1 are reserved for private
or experimental usage. This range corresponds to the same or experimental usage. This range corresponds to the same
range reserved in IPP. Implementers are warned that use of range reserved in IPP. Implementers are warned that use of
such values may conflict with other implementations. such values may conflict with other implementations.
Implementers are encouraged to request registration of enum Implementers are encouraged to request registration of enum
values following the procedures in Section 3.7.1. values following the procedures in Section 3.7.1.
NOTE: No attribute name exceeds 31 characters. See Section 3.2 entitled 'The Attribute Mechanism' for a
description of this textual-convention and its use in the
The standard attribute types defined at the time of completion jmAttributeTable. See Section 3.3.8 for the specification of
of the specification are:" each attribute. The comment(s) after each enum assignment
specifies the data type(s) of the attribute.
-- jmAttributeTypeIndex Datatype This is a type 2 enumeration. See Section 3.7.1.2."
-- -------------------- --------
-- other(1), Integer32 (-2..2147483647) SYNTAX INTEGER {
other(1), -- Integer32 (-2..2147483647)
-- AND/OR -- AND/OR
-- OCTET STRING(SIZE(0..63)) -- OCTET STRING(SIZE(0..63))
-- INTEGER: and/or OCTETS: An attribute that is not in the
-- list and/or that has not been approved and registered with
-- the PWG.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Job State attributes
-- +
-- + The following attributes specify the state of a job.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- jobStateReasons2(3), JmJobStateReasons2TC
-- INTEGER: Additional information about the job's current
-- state that augments the jmJobState object. See the
-- description under the JmJobStateReasons1TC textual-
-- convention.
-- jobStateReasons3(4), JmJobStateReasons3TC -- Job State attributes:
-- INTEGER: Additional information about the job's current jobStateReasons2(3), -- JmJobStateReasons2TC
-- state that augments the jmJobState object. See the jobStateReasons3(4), -- JmJobStateReasons3TC
-- description under JmJobStateReasons1TC textual-convention. jobStateReasons4(5), -- JmJobStateReasons4TC
processingMessage(6), -- JmUTF8StringTC (SIZE(0..63))
-- jobStateReasons4(5), JmJobStateReasons4TC processingMessageNaturalLangTag(7),
-- INTEGER: Additional information about the job's current -- OCTET STRING(SIZE(0..63))
-- state that augments the jmJobState object. See the jobCodedCharSet(8), -- CodedCharSet
-- description under JmJobStateReasons1TC textual-convention. jobNaturalLanguageTag(9), -- OCTET STRING(SIZE(0..63))
-- Job Identification attributes:
-- processingMessage(6), JmUTF8StringTC (SIZE(0..63)) jobURI(20), -- OCTET STRING(SIZE(0..63))
-- OCTETS: MULTI-ROW: A coded character set message that is jobAccountName(21), -- OCTET STRING(SIZE(0..63))
-- generated by the server or device during the processing of serverAssignedJobName(22), -- JmJobStringTC (SIZE(0..63))
-- the job as a simple form of processing log to show progress jobName(23), -- JmJobStringTC (SIZE(0..63))
-- and any problems. The natural language of each value is jobServiceTypes(24), -- JmJobServiceTypesTC
-- specified by the corresponding jobSourceChannelIndex(25), -- Integer32 (0..2147483647)
-- processingMessageNaturalLangTag(7) value. jobSourcePlatformType(26), -- JmJobSourcePlatformTypeTC
submittingServerName(27), -- JmJobStringTC (SIZE(0..63))
-- NOTE - This attribute is intended for such conditions as submittingApplicationName(28), -- JmJobStringTC (SIZE(0..63))
-- interpreter messages, rather than being the printable form jobOriginatingHost(29), -- JmJobStringTC (SIZE(0..63))
-- of the jmJobState and jmJobStateReasons1 objects and deviceNameRequested(30), -- JmJobStringTC (SIZE(0..63))
-- jobStateReasons2, jobStateReasons3, and jobStateReasons4 queueNameRequested(31), -- JmJobStringTC (SIZE(0..63))
-- attributes. In order to produce a localized printable form physicalDevice(32), -- hrDeviceIndex
-- of these job state objects/attribute, a management
-- application SHOULD produce a message from their enum and
-- bit values.
-- NOTE - There is no job description attribute in IPP/1.0
-- that corresponds to this attribute and this attribute does
-- not correspond to the IPP/1.0 'job-state-message' job
-- description attribute, which is just a printable form of
-- the IPP 'job-state' and 'job-state-reasons' job attributes.
-- There is no restriction for the same message occurring in
-- multiple rows.
-- processingMessageNaturalLangTag(7), OCTET STRING(SIZE(0..63))
-- OCTETS: MULTI-ROW: The natural language of the
-- corresponding processingMessage(6) attribute value. See
-- section 3.6.1, entitled 'Text generated by the server or
-- device'.
-- If the agent does not know the natural language of the job
-- processing message, the agent SHALL either (1) return a
-- zero length string value for the
-- processingMessageNaturalLangTag(7) attribute or (2) not
-- return the processingMessageNaturalLangTag(7) attribute for
-- the job.
-- There is no restriction for the same tag occurring in
-- multiple rows, since when this attribute is implemented, it
-- SHOULD have a value row for each corresponding
-- processingMessage(6) attribute value row.
-- jobCodedCharSet(8), CodedCharSet
-- INTEGER: The MIBenum identifier of the coded character set
-- that the agent is using to represent coded character set
-- objects and attributes of type 'JmJobStringTC'. These
-- coded character set objects and attributes are either: (1)
-- supplied by the job submitting client or (2) defaulted by
-- the server or device when omitted by the job submitting
-- client. The agent SHALL represent these objects and
-- attributes in the MIB either (1) in the coded character set
-- as they were submitted or (2) MAY convert the coded
-- character set to another coded character set or encoding
-- scheme as identified by the jobCodedCharSet(8) attribute.
-- See section 3.6.2, entitled 'Text supplied by the job
-- submitter'.
-- These MIBenum values are assigned by IANA [IANA-charsets]
-- when the coded character sets are registered. The coded
-- character set SHALL be one of the ones registered with IANA
-- [IANA] and the enum value uses the CodedCharSet textual-
-- convention from the Printer MIB. See the JmJobStringTC
-- textual-convention.
-- If the agent does not know what coded character set was
-- used by the job submitting client, the agent SHALL either
-- (1) return the 'unknown(2)' value for the
-- jobCodedCharSet(8) attribute or (2) not return the
-- jobCodedCharSet(8) attribute for the job.
-- jobNaturalLanguageTag(9), OCTET STRING(SIZE(0..63))
-- OCTETS: The natural language of the job attributes supplied
-- by the job submitter or defaulted by the server or device
-- for the job, i.e., all objects and attributes represented
-- by the 'JmJobStringTC' textual-convention, such as jobName,
-- mediumRequested, etc. See Section 3.6.2, entitled 'Text
-- supplied by the job submitter'.
-- If the agent does not know what natural language was used
-- by the job submitting client, the agent SHALL either (1)
-- return a zero length string value for the
-- jobNaturalLanguageTag(9) attribute or (2) not return
-- jobNaturalLanguageTag(9) attribute for the job.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Job Identification attributes
-- +
-- + The following attributes help an end user, a system
-- + operator, or an accounting program identify a job.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- jobURI(20), OCTET STRING(SIZE(0..63))
-- OCTETS: MULTI-ROW: The job's Universal Resource
-- Identifier (URI) [RFC-1738]. See IPP [ipp-model] for
-- example usage.
-- NOTE - The agent may be able to generate this value on each
-- SNMP Get operation from smaller values, rather than having
-- to store the entire URI.
-- If the URI exceeds 63 octets, the agent SHALL use multiple
-- values, with the next 63 octets coming in the second value,
-- etc.
-- NOTE - IPP [ipp-model] has a 1023-octet maximum length for
-- a URI, though the URI standard itself and HTTP/1.1 specify
-- no maximum length.
-- jobAccountName(21), OCTET STRING(SIZE(0..63))
-- OCTETS: Arbitrary binary information which MAY be coded
-- character set data or encrypted data supplied by the
-- submitting user for use by accounting services to allocate
-- or categorize charges for services provided, such as a
-- customer account name or number.
-- NOTE: This attribute NEED NOT be printable characters.
-- serverAssignedJobName(22), JmJobStringTC (SIZE(0..63))
-- OCTETS: Configuration 3 only: The human readable string
-- name, number, or ID of the job as assigned by the server
-- that submitted the job to the device that the agent is
-- providing access to with this MIB.
-- NOTE - This attribute is intended for enabling a user to
-- find his/her job that a server submitted to a device when
-- either the client does not support the jmJobSubmissionID or
-- the server does not pass the jmJobSubmissionID through to
-- the device.
-- jobName(23), JmJobStringTC (SIZE(0..63))
-- OCTETS: The human readable string name of the job as
-- assigned by the submitting user to help the user
-- distinguish between his/her various jobs. This name does
-- not need to be unique.
-- This attribute is intended for enabling a user or the
-- user's application to convey a job name that MAY be printed
-- on a start sheet, returned in a query result, or used in
-- notification or logging messages.
-- In order to assist users to find their jobs for job
-- submission protocols that don't supply a jmJobSubmissionID,
-- the agent SHOULD maintain the jobName attribute for the
-- time specified by the jmGeneralJobPersistence object,
-- rather than the (shorter) jmGeneralAttributePersistence
-- object.
-- If this attribute is not specified when the job is
-- submitted, no job name is assumed, but implementation
-- specific defaults are allowed, such as the value of the
-- documentName attribute of the first document in the job or
-- the fileName attribute of the first document in the job.
-- The jobName attribute is distinguished from the jobComment
-- attribute, in that the jobName attribute is intended to
-- permit the submitting user to distinguish between different
-- jobs that he/she has submitted. The jobComment attribute
-- is intended to be free form additional information that a
-- user might wish to use to communicate with himself/herself,
-- such as a reminder of what to do with the results or to
-- indicate a different set of input parameters were tried in
-- several different job submissions.
-- jobServiceTypes(24), JmJobServiceTypesTC
-- INTEGER: Specifies the type(s) of service to which the job
-- has been submitted (print, fax, scan, etc.). The service
-- type is bit encoded with each job service type so that more
-- general and arbitrary services can be created, such as
-- services with more than one destination type, or ones with
-- only a source or only a destination. For example, a job
-- service might scan, faxOut, and print a single job. In
-- this case, three bits would be set in the jobServiceTypes
-- attribute, corresponding to the hexadecimal values: 0x8 +
-- 0x20 + 0x4, respectively, yielding: 0x2C.
-- Whether this attribute is set from a job attribute supplied
-- by the job submission client or is set by the recipient job
-- submission server or device depends on the job submission
-- protocol. This attribute SHALL be implemented if the
-- server or device has other types in addition to or instead
-- of printing.
-- One of the purposes of this attribute is to permit a
-- requester to filter out jobs that are not of interest. For
-- example, a printer operator may only be interested in jobs
-- that include printing.
-- jobSourceChannelIndex(25), Integer32 (0..2147483647)
-- INTEGER: The index of the row in the associated Printer
-- MIB[print-mib] of the channel which is the source of the
-- print job.
-- jobSourcePlatformType(26), JmJobSourcePlatformTypeTC
-- INTEGER: The source platform type of the immediate
-- upstream submitter that submitted the job to the server
-- (configuration 2) or device (configuration 1 and 3) to
-- which the agent is providing access. For configuration 1,
-- this is the type of the client that submitted the job to
-- the device; for configuration 2, this is the type of the
-- client that submitted the job to the server; and for
-- configuration 3, this is the type of the server that
-- submitted the job to the device.
-- submittingServerName(27), JmJobStringTC (SIZE(0..63))
-- OCTETS: For configuration 3 only: The administrative name
-- of the server that submitted the job to the device.
-- submittingApplicationName(28), JmJobStringTC (SIZE(0..63))
-- OCTETS: The name of the client application (not the server
-- in configuration 3) that submitted the job to the server or
-- device.
-- jobOriginatingHost(29), JmJobStringTC (SIZE(0..63))
-- OCTETS: The name of the client host (not the server host
-- name in configuration 3) that submitted the job to the
-- server or device.
-- deviceNameRequested(30), JmJobStringTC (SIZE(0..63))
-- OCTETS: The administratively defined coded character set
-- name of the target device requested by the submitting user.
-- For configuration 1, its value corresponds to the Printer
-- MIB[print-mib]: prtGeneralPrinterName object. For
-- configuration 2 and 3, its value is the name of the logical
-- or physical device that the user supplied to indicate to
-- the server on which device(s) they wanted the job to be
-- processed.
-- queueNameRequested(31), JmJobStringTC (SIZE(0..63))
-- OCTETS: The administratively defined coded character set
-- name of the target queue requested by the submitting user.
-- For configuration 1, its value corresponds to the queue in
-- the device for which the agent is providing access. For
-- configuration 2 and 3, its value is the name of the queue
-- that the user supplied to indicate to the server on which
-- device(s) they wanted the job to be processed.
-- NOTE - typically an implementation SHOULD support either
-- the deviceNameRequested or queueNameRequested attribute,
-- but not both.
-- physicalDevice(32), hrDeviceIndex
-- AND/OR -- AND/OR
-- JmUTF8StringTC (SIZE(0..63)) -- JmUTF8StringTC (SIZE(0..63))
-- INTEGER: MULTI-ROW: The index of the physical device MIB numberOfDocuments(33), -- Integer32 (-2..2147483647)
-- instance requested/used, such as the Printer MIB[print- fileName(34), -- JmJobStringTC (SIZE(0..63))
-- mib]. This value is an hrDeviceIndex value. See the Host documentName(35), -- JmJobStringTC (SIZE(0..63))
-- Resources MIB[hr-mib]. jobComment(36), -- JmJobStringTC (SIZE(0..63))
documentFormatIndex(37), -- Integer32 (0..2147483647)
-- AND/OR documentFormat(38), -- PrtInterpreterLangFamilyTC
-- OCTETS: MULTI-ROW: The name of the physical device to
-- which the job is assigned.
-- numberOfDocuments(33), Integer32 (-2..2147483647)
-- INTEGER: The number of documents in this job.
-- The agent SHOULD return this attribute if the job has more
-- than one document.
-- fileName(34), JmJobStringTC (SIZE(0..63))
-- OCTETS: MULTI-ROW: The coded character set file name or
-- URI[URI-spec] of the document.
-- There is no restriction on the same file name occurring in
-- multiple rows.
-- documentName(35), JmJobStringTC (SIZE(0..63))
-- OCTETS: MULTI-ROW: The coded character set name of the
-- document.
-- There is no restriction on the same document name occurring
-- in multiple rows.
-- jobComment(36), JmJobStringTC (SIZE(0..63))
-- OCTETS: An arbitrary human-readable coded character text
-- string supplied by the submitting user or the job
-- submitting application program for any purpose. For
-- example, a user might indicate what he/she is going to do
-- with the printed output or the job submitting application
-- program might indicate how the document was produced.
-- The jobComment attribute is not intended to be a name; see
-- the jobName attribute.
-- documentFormatIndex(37), Integer32 (0..2147483647)
-- INTEGER: MULTI-ROW: The index in the prtInterpreterTable
-- in the Printer MIB[print-mib] of the page description
-- language (PDL) or control language interpreter that this
-- job requires/uses. A document or a job MAY use more than
-- one PDL or control language.
-- NOTE - As with all intensive attributes where multiple rows
-- are allowed, there SHALL be only one distinct row for each
-- distinct interpreter; there SHALL be no duplicates.
-- NOTE - This attribute type is intended to be used with an
-- agent that implements the Printer MIB and SHALL not be used
-- if the agent does not implement the Printer MIB. Such an
-- agent SHALL use the documentFormat attribute instead.
-- documentFormat(38), PrtInterpreterLangFamilyTC
-- AND/OR -- AND/OR
-- OCTET STRING(SIZE(0..63)) -- OCTET STRING(SIZE(0..63))
-- INTEGER: MULTI-ROW: The interpreter language family
-- corresponding to the Printer MIB[print-mib]
-- prtInterpreterLangFamily object, that this job
-- requires/uses. A document or a job MAY use more than one
-- PDL or control language.
-- AND/OR
-- OCTETS: MULTI-ROW: The document format registered as a
-- media type[iana-media-types], i.e., the name of the MIME
-- content-type/subtype. Examples: 'application/postscript',
-- 'application/vnd.hp-PCL', 'application/pdf', 'text/plain'
-- (US-ASCII SHALL be assumed), 'text/plain; charset=iso-8859-
-- 1', and 'application/octet-stream'. The IPP 'document-
-- format' job attribute uses these same values with the same
-- semantics. See the IPP [ipp-model] 'mimeMediaType'
-- attribute syntax and the document-format attribute for
-- further examples and explanation.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Job Parameter attributes
-- +
-- + The following attributes represent input parameters
-- + supplied by the submitting client in the job submission
-- + protocol.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- jobPriority(50), Integer32 (-2..100)
-- INTEGER: The priority for scheduling the job. It is used
-- by servers and devices that employ a priority-based
-- scheduling algorithm.
-- A higher value specifies a higher priority. The value 1 is
-- defined to indicate the lowest possible priority (a job
-- which a priority-based scheduling algorithm SHALL pass over
-- in favor of higher priority jobs). The value 100 is
-- defined to indicate the highest possible priority.
-- Priority is expected to be evenly or 'normally' distributed
-- across this range. The mapping of vendor-defined priority
-- over this range is implementation-specific. -2 indicates
-- unknown.
-- jobProcessAfterDateAndTime(51), DateAndTime (SNMPv2-TC)
-- OCTETS: The calendar date and time of day after which the
-- job SHALL become a candidate to be scheduled for
-- processing. If the value of this attribute is in the
-- future, the server SHALL set the value of the job's
-- jmJobState object to pendingHeld and add the
-- jobProcessAfterSpecified bit value to the job's
-- jmJobStateReasons1 object. When the specified date and
-- time arrives, the server SHALL remove the
-- jobProcessAfterSpecified bit value from the job's
-- jmJobStateReasons1 object and, if no other reasons remain,
-- SHALL change the job's jmJobState object to pending.
-- jobHold(52), JmBooleanTC
-- INTEGER: If the value is 'true(4)', a client has
-- explicitly specified that the job is to be held until
-- explicitly released. Until the job is explicitly released
-- by a client, the job SHALL be in the pendingHeld state with
-- the jobHoldSpecified value in the jmJobStateReasons1
-- attribute.
-- jobHoldUntil(53), JmJobStringTC (SIZE(0..63)) -- Job Parameter attributes:
-- OCTETS: The named time period during which the job SHALL jobPriority(50), -- Integer32 (-2..100)
-- become a candidate for processing, such as 'evening', jobProcessAfterDateAndTime(51), -- DateAndTime (SNMPv2-TC)
-- 'night', 'weekend', 'second-shift', 'third-shift', etc., as jobHold(52), -- JmBooleanTC
-- defined by the system administrator. See IPP [ipp-model] jobHoldUntil(53), -- JmJobStringTC (SIZE(0..63))
-- for the standard keyword values. Until that time period outputBin(54), -- Integer32 (0..2147483647)
-- arrives, the job SHALL be in the pendingHeld state with the
-- jobHoldUntilSpecified value in the jmJobStateReasons1
-- object. The value 'no-hold' SHALL indicate explicitly that
-- no time period has been specified; the absence of this
-- attribute SHALL indicate implicitly that no time period has
-- been specified.
-- outputBin(54), Integer32 (0..2147483647)
-- AND/OR -- AND/OR
-- JmJobStringTC (SIZE(0..63)) -- JmJobStringTC (SIZE(0..63))
-- INTEGER: MULTI-ROW: The output subunit index in the sides(55), -- Integer32 (-2..2)
-- Printer MIB[print-mib] finishing(56), -- JmFinishingTC
-- AND/OR
-- OCTETS: MULTI-ROW: the name or number (represented as
-- ASCII digits) of the output bin to which all or part of the
-- job is placed in.
-- sides(55), Integer32 (-2..2)
-- INTEGER: MULTI-ROW: The number of sides, '1' or '2', that
-- any document in this job requires/used.
-- finishing(56), JmFinishingTC
-- INTEGER: MULTI-ROW: Type of finishing that any document
-- in this job requires/used.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Image Quality attributes (requested and consumed)
-- +
-- + For devices that can vary the image quality.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- printQualityRequested(70), JmPrintQualityTC
-- INTEGER: MULTI-ROW: The print quality selection requested
-- for a document in the job for printers that allow quality
-- differentiation.
-- printQualityUsed(71), JmPrintQualityTC
-- INTEGER: MULTI-ROW: The print quality selection actually
-- used by a document in the job for printers that allow
-- quality differentiation.
-- printerResolutionRequested(72), JmPrinterResolutionTC
-- OCTETS: MULTI-ROW: The printer resolution requested for a
-- document in the job for printers that support resolution
-- selection.
-- printerResolutionUsed(73), JmPrinterResolutionTC
-- OCTETS: MULTI-ROW: The printer resolution actually used
-- by a document in the job for printers that support
-- resolution selection.
-- tonerEcomonyRequested(74), JmTonerEconomyTC
-- INTEGER: MULTI-ROW: The toner economy selection requested
-- for documents in the job for printers that allow toner
-- economy differentiation.
-- tonerEcomonyUsed(75), JmTonerEconomyTC
-- INTEGER: MULTI-ROW: The toner economy selection actually
-- used by documents in the job for printers that allow toner
-- economy differentiation.
-- tonerDensityRequested(76), Integer32 (-2..100)
-- INTEGER: MULTI-ROW: The toner density requested for a
-- document in this job for devices that can vary toner
-- density levels. Level 1 is the lowest density and level
-- 100 is the highest density level. Devices with a smaller
-- range, SHALL map the 1-100 range evenly onto the
-- implemented range.
-- tonerDensityUsed(77), Integer32 (-2..100)
-- INTEGER: MULTI-ROW: The toner density used by documents
-- in this job for devices that can vary toner density levels.
-- Level 1 is the lowest density and level 100 is the highest
-- density level. Devices with a smaller range, SHALL map the
-- 1-100 range evenly onto the implemented range.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Job Progress attributes (requested and consumed)
-- +
-- + Pairs of these attributes can be used by monitoring
-- + applications to show an indication of relative progress
-- + to users. See section 3.4, entitled
-- + 'Monitoring Job Progress'.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- jobCopiesRequested(90), Integer32 (-2..2147483647)
-- INTEGER: The number of copies of the entire job that are
-- to be produced.
-- jobCopiesCompleted(91), Integer32 (-2..2147483647)
-- INTEGER: The number of copies of the entire job that have
-- been completed so far.
-- documentCopiesRequested(92), Integer32 (-2..2147483647)
-- INTEGER: The total count of the number of document copies
-- requested for the job as a whole. If there are documents
-- A, B, and C, and document B is specified to produce 4
-- copies, the number of document copies requested is 6 for
-- the job.
-- This attribute SHALL be used only when a job has multiple
-- documents. The jobCopiesRequested attribute SHALL be used
-- when the job has only one document.
-- documentCopiesCompleted(93), Integer32 (-2..2147483647)
-- INTEGER: The total count of the number of document copies
-- completed so far for the job as a whole. If there are
-- documents A, B, and C, and document B is specified to
-- produce 4 copies, the number of document copies starts a 0
-- and runs up to 6 for the job as the job processes.
-- This attribute SHALL be used only when a job has multiple
-- documents. The jobCopiesCompleted attribute SHALL be used
-- when the job has only one document.
-- jobKOctetsTransferred(94), Integer32 (-2..2147483647)
-- INTEGER: The number of K (1024) octets transferred to the
-- server or device to which the agent is providing access.
-- This count is independent of the number of copies of the
-- job or documents that will be produced, but it is only a
-- measure of the number of bytes transferred to the server or
-- device.
-- The agent SHALL round the actual number of octets
-- transferred up to the next higher K. Thus 0 octets SHALL
-- be represented as '0', 1-1024 octets SHALL BE represented
-- as '1', 1025-2048 SHALL be '2', etc. When the job
-- completes, the values of the jmJobKOctetsPerCopyRequested
-- object and the jobKOctetsTransferred attribute SHALL be
-- equal.
-- NOTE - The jobKOctetsTransferred can be used with the
-- jmJobKOctetsPerCopyRequested object in order to produce a
-- relative indication of the progress of the job for agents
-- that do not implement the jmJobKOctetsProcessed object.
-- sheetCompletedCopyNumber(95), Integer32 (-2..2147483647)
-- INTEGER: The number of the copy being stacked for the
-- current document. This number starts at 0, is set to 1
-- when the first sheet of the first copy for each document is
-- being stacked and is equal to n where n is the nth sheet
-- stacked in the current document copy. See section 3.4 ,
-- entitled 'Monitoring Job Progress'.
-- sheetCompletedDocumentNumber(96), Integer32 (-2..2147483647)
-- INTEGER: The ordinal number of the document in the job
-- that is currently being stacked. This number starts at 0,
-- increments to 1 when the first sheet of the first document
-- in the job is being stacked, and is equal to n where n is
-- the nth document in the job, starting with 1.
-- Implementations that only support one document jobs SHOULD
-- NOT implement this attribute.
-- jobCollationType(97), JmJobCollationTypeTC
-- INTEGER: The type of job collation. See also Section 3.4,
-- entitled 'Monitoring Job Progress'.
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Impression attributes
-- +
-- + See the definition of the terms 'impression', 'sheet',
-- + and 'page' in Section 2.
-- +
-- + See also jmJobImpressionsPerCopyRequested and
-- + jmJobImpressionsCompleted objects in the jmJobTable.
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- impressionsSpooled(110), Integer32 (-2..2147483647)
-- INTEGER: The number of impressions spooled to the server
-- or device for the job so far.
-- impressionsSentToDevice(111), Integer32 (-2..2147483647)
-- INTEGER: The number of impressions sent to the device for
-- the job so far.
-- impressionsInterpreted(112), Integer32 (-2..2147483647)
-- INTEGER: The number of impressions interpreted for the job
-- so far.
-- impressionsCompletedCurrentCopy(113), -- Image Quality attributes:
printQualityRequested(70), -- JmPrintQualityTC
printQualityUsed(71), -- JmPrintQualityTC
printerResolutionRequested(72), -- JmPrinterResolutionTC
printerResolutionUsed(73), -- JmPrinterResolutionTC
tonerEcomonyRequested(74), -- JmTonerEconomyTC
tonerEcomonyUsed(75), -- JmTonerEconomyTC
tonerDensityRequested(76), -- Integer32 (-2..100)
tonerDensityUsed(77), -- Integer32 (-2..100)
-- Job Progress attributes:
jobCopiesRequested(90), -- Integer32 (-2..2147483647)
jobCopiesCompleted(91), -- Integer32 (-2..2147483647)
documentCopiesRequested(92), -- Integer32 (-2..2147483647)
documentCopiesCompleted(93), -- Integer32 (-2..2147483647)
jobKOctetsTransferred(94), -- Integer32 (-2..2147483647)
sheetCompletedCopyNumber(95), -- Integer32 (-2..2147483647)
sheetCompletedDocumentNumber(96),
-- Integer32 (-2..2147483647) -- Integer32 (-2..2147483647)
-- INTEGER: The number of impressions completed by the device jobCollationType(97), -- JmJobCollationTypeTC
-- for the current copy of the current document so far. For
-- printing, the impressions completed includes interpreting,
-- marking, and stacking the output. For other types of job
-- services, the number of impressions completed includes the
-- number of impressions processed.
-- This value SHALL be reset to 0 for each document in the job
-- and for each document copy.
-- fullColorImpressionsCompleted(114), Integer32 (-2..2147483647)
-- INTEGER: The number of full color impressions completed by
-- the device for this job so far. For printing, the
-- impressions completed includes interpreting, marking, and
-- stacking the output. For other types of job services, the
-- number of impressions completed includes the number of
-- impressions processed. Full color impressions are typically
-- defined as those requiring 3 or more colorants, but this
-- MAY vary by implementation. In any case, the value of this
-- attribute counts by 1 for each side that has full color,
-- not by the number of colors per side (and the other
-- impression counters are incremented, except
-- highlightColorImpressionsCompleted(115)).
-- highlightColorImpressionsCompleted(115), -- Impression attributes:
impressionsSpooled(110), -- Integer32 (-2..2147483647)
impressionsSentToDevice(111), -- Integer32 (-2..2147483647)
impressionsInterpreted(112), -- Integer32 (-2..2147483647)
impressionsCompletedCurrentCopy(113),
-- Integer32 (-2..2147483647)
fullColorImpressionsCompleted(114),
-- Integer32 (-2..2147483647)
highlightColorImpressionsCompleted(115),
-- Integer32 (-2..2147483647) -- Integer32 (-2..2147483647)
-- INTEGER: The number of highlight color impressions
-- completed by the device for this job so far. For printing,
-- the impressions completed includes interpreting, marking,
-- and stacking the output. For other types of job services,
-- the number of impressions completed includes the number of
-- impressions processed. Highlight color impressions are
-- typically defined as those requiring black plus one other
-- colorant, but this MAY vary by implementation. In any
-- case, the value of this attribute counts by 1 for each side
-- that has highlight color (and the other impression counters
-- are incremented, except
-- fullColorImpressionsCompleted(114)).
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Page attributes
-- +
-- + See the definition of 'impression', 'sheet', and 'page'
-- + in Section 2.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- pagesRequested(130), Integer32 (-2..2147483647)
-- INTEGER: The number of logical pages requested by the job
-- to be processed.
-- pagesCompleted(131), Integer32 (-2..2147483647)
-- INTEGER: The number of logical pages completed for this
-- job so far.
-- For implementations where multiple copies are produced by
-- the interpreter with only a single pass over the data, the
-- final value SHALL be equal to the value of the
-- pagesRequested object. For implementations where multiple
-- copies are produced by the interpreter by processing the
-- data for each copy, the final value SHALL be a multiple of
-- the value of the pagesRequested object.
-- NOTE - See the impressionsCompletedCurrentCopy and
-- pagesCompletedCurrentCopy attributes for attributes that
-- are reset on each document copy.
-- NOTE - The pagesCompleted object can be used with the
-- pagesRequested object to provide an indication of the
-- relative progress of the job, provided that the
-- multiplicative factor is taken into account for some
-- implementations of multiple copies.
-- pagesCompletedCurrentCopy(132), Integer32 (-2..2147483647)
-- INTEGER: The number of logical pages completed for the
-- current copy of the document so far. This value SHALL be
-- reset to 0 for each document in the job and for each
-- document copy.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Sheet attributes
-- +
-- + See the definition of 'impression', 'sheet', and 'page'
-- + in Section 2.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- sheetsRequested(150), Integer32 (-2..2147483647)
-- INTEGER: The total number of medium sheets requested to be
-- produced for this job.
-- Unlike the jmJobKOctetsPerCopyRequested and
-- jmJobImpressionsPerCopyRequested attributes, the
-- sheetsRequested(150) attribute SHALL include the
-- multiplicative factor contributed by the number of copies
-- and so is the total number of sheets to be produced by the
-- job, as opposed to the size of the document(s) submitted.
-- sheetsCompleted(151), Integer32 (-2..2147483647)
-- INTEGER: The total number of medium sheets that have
-- completed marking and stacking for the entire job so far
-- whether those sheets have been processed on one side or on
-- both.
-- sheetsCompletedCurrentCopy(152), Integer32 (-2..2147483647)
-- INTEGER: The number of medium sheets that have completed
-- marking and stacking for the current copy of a document in
-- the job so far whether those sheets have been processed on
-- one side or on both.
-- The value of this attribute SHALL be 0 before the job -- Page attributes:
-- starts processing and SHALL be reset to 1 after the first pagesRequested(130), -- Integer32 (-2..2147483647)
-- sheet of each document and document copy in the job is pagesCompleted(131), -- Integer32 (-2..2147483647)
-- processed and stacked. pagesCompletedCurrentCopy(132), -- Integer32 (-2..2147483647)
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Sheet attributes:
-- + Resources attributes (requested and consumed) sheetsRequested(150), -- Integer32 (-2..2147483647)
-- + sheetsCompleted(151), -- Integer32 (-2..2147483647)
-- + Pairs of these attributes can be used by monitoring sheetsCompletedCurrentCopy(152),-- Integer32 (-2..2147483647)
-- + applications to show an indication of relative usage to
-- + users.
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- mediumRequested(170), JmMediumTypeTC -- Resource attributes:
mediumRequested(170), -- JmMediumTypeTC
-- AND/OR -- AND/OR
-- JmJobStringTC (SIZE(0..63)) -- JmJobStringTC (SIZE(0..63))
-- INTEGER: MULTI-ROW: The type mediumConsumed(171), -- Integer32 (-2..2147483647)
-- AND/OR
-- OCTETS: MULTI-ROW: the name of the medium that is
-- required by the job.
-- NOTE - The name (JmJobStringTC) values correspond to the
-- prtInputMediaName object in the Printer MIB [print-mib] and
-- the values of the IPP 'media' attribute.
-- mediumConsumed(171), Integer32 (-2..2147483647)
-- AND -- AND
-- JmJobStringTC (SIZE(0..63)) -- JmJobStringTC (SIZE(0..63))
-- INTEGER: MULTI-ROW: The number of sheets colorantRequested(172), -- Integer32 (-2..2147483647)
-- AND
-- OCTETS: MULTI-ROW: the name of the medium that has been
-- consumed so far whether those sheets have been processed on
-- one side or on both.
-- This attribute SHALL have both Integer32 and OCTET STRING
-- (represented as JmJobStringTC) values.
-- NOTE - The name (JmJobStringTC) values correspond to the
-- name values of the prtInputMediaName object in the Printer
-- MIB [print-mib].
-- colorantRequested(172), Integer32 (-2..2147483647)
-- AND/OR -- AND/OR
-- JmJobStringTC (SIZE(0..63)) -- JmJobStringTC (SIZE(0..63))
-- INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in colorantConsumed(173), -- Integer32 (-2..2147483647)
-- the Printer MIB[print-mib]
-- AND/OR
-- OCTETS: MULTI-ROW: the name of the colorant requested.
-- NOTE - The name (JmJobStringTC) values correspond to the
-- name values of the prtMarkerColorantValue object in the
-- Printer MIB. Examples are: red, blue.
-- colorantConsumed(173), Integer32 (-2..2147483647)
-- AND/OR -- AND/OR
-- JmJobStringTC (SIZE(0..63)) -- JmJobStringTC (SIZE(0..63))
-- INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in mediumTypeConsumed(174), -- Integer32 (-2..2147483647)
-- the Printer MIB[print-mib] -- AND
-- AND/OR -- JmJobStringTC (SIZE(0..63))
-- OCTETS: MULTI-ROW: the name of the colorant consumed. mediumSizeConsumed(175), -- Integer32 (-2..2147483647)
-- AND
-- NOTE - The name (JmJobStringTC) values correspond to the -- JmJobStringTC (SIZE(0..63))
-- name values of the prtMarkerColorantValue object in the -- Time attributes:
-- Printer MIB. Examples are: red, blue jobSubmissionToServerTime(190), -- JmTimeStampTC
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Time attributes (set by server or device)
-- +
-- + This section of attributes are ones that are set by the
-- + server or device that accepts jobs. Two forms of time are
-- + provided. Each form is represented in a separate attribute.
-- + See section 3.1.2 and section 3.1.3 for the
-- + conformance requirements for time attribute for agents and
-- + monitoring applications, respectively. The two forms are:
-- +
-- + 'DateAndTime' is an 8 or 11 octet binary encoded year,
-- + month, day, hour, minute, second, deci-second with
-- + optional offset from UTC. See SNMPv2-TC [SMIv2-TC].
-- +
-- + NOTE: 'DateAndTime' is not printable characters; it is
-- + binary.
-- +
-- + 'JmTimeStampTC' is the time of day measured in the number of
-- + seconds since the system was booted.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- jobSubmissionToServerTime(190), JmTimeStampTC
-- AND/OR -- AND/OR
-- DateAndTime -- DateAndTime
-- INTEGER: Configuration 3 only: The time jobSubmissionTime(191), -- JmTimeStampTC
-- AND/OR
-- OCTETS: the date and time that the job was submitted to
-- the server (as distinguished from the device which uses
-- jobSubmissionTime).
-- jobSubmissionTime(191), JmTimeStampTC
-- AND/OR -- AND/OR
-- DateAndTime -- DateAndTime
-- INTEGER: Configurations 1, 2, and 3: The time jobStartedBeingHeldTime(192), -- JmTimeStampTC
-- AND/OR
-- OCTETS: the date and time that the job was submitted to
-- the server or device to which the agent is providing
-- access.
-- jobStartedBeingHeldTime(192), JmTimeStampTC
-- AND/OR -- AND/OR
-- DateAndTime -- DateAndTime
-- INTEGER: The time jobStartedProcessingTime(193), -- JmTimeStampTC
-- AND/OR
-- OCTETS: the date and time that the job last entered the
-- pendingHeld state. If the job has never entered the
-- pendingHeld state, then the value SHALL be '0' or the
-- attribute SHALL not be present in the table.
-- jobStartedProcessingTime(193), JmTimeStampTC
-- AND/OR -- AND/OR
-- DateAndTime -- DateAndTime
-- INTEGER: The time jobCompletionTime(194), -- JmTimeStampTC
-- AND/OR
-- OCTETS: the date and time that the job started processing.
-- jobCompletionTime(194), JmTimeStampTC
-- AND/OR -- AND/OR
-- DateAndTime -- DateAndTime
-- INTEGER: The time jobProcessingCPUTime(195) -- Integer32 (-2..2147483647)
-- AND/OR
-- OCTETS: the date and time that the job entered the
-- completed, canceled, or aborted state.
-- jobProcessingCPUTime(195) Integer32 (-2..2147483647)
-- UNITS 'seconds'
-- INTEGER: The amount of CPU time in seconds that the job
-- has been in the processing state. If the job enters the
-- processingStopped state, that elapsed time SHALL not be
-- included. In other words, the jobProcessingCPUTime value
-- SHOULD be relatively repeatable when the same job is
-- processed again on the same device."
REFERENCE
"See Section 3.2 entitled 'The Attribute Mechanism' for a
description of this textual-convention and its use in the
jmAttributeTable.
This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER {
other(1),
-- Job State attributes:
jobStateReasons2(3),
jobStateReasons3(4),
jobStateReasons4(5),
processingMessage(6),
processingMessageNaturalLangTag(7),
jobCodedCharSet(8),
jobNaturalLanguageTag(9),
-- Job Identification attributes:
jobURI(20),
jobAccountName(21),
serverAssignedJobName(22),
jobName(23),
jobServiceTypes(24),
jobSourceChannelIndex(25),
jobSourcePlatformType(26),
submittingServerName(27),
submittingApplicationName(28),
jobOriginatingHost(29),
deviceNameRequested(30),
queueNameRequested(31),
physicalDevice(32),
numberOfDocuments(33),
fileName(34),
documentName(35),
jobComment(36),
documentFormatIndex(37),
documentFormat(38),
-- Job Parameter attributes:
jobPriority(50),
jobProcessAfterDateAndTime(51),
jobHold(52),
jobHoldUntil(53),
outputBin(54),
sides(55),
finishing(56),
-- Image Quality attributes:
printQualityRequested(70),
printQualityUsed(71),
printerResolutionRequested(72),
printerResolutionUsed(73),
tonerEcomonyRequested(74),
tonerEcomonyUsed(75),
tonerDensityRequested(76),
tonerDensityUsed(77),
-- Job Progress attributes:
jobCopiesRequested(90),
jobCopiesCompleted(91),
documentCopiesRequested(92),
documentCopiesCompleted(93),
jobKOctetsTransferred(94),
sheetCompletedCopyNumber(95),
sheetCompletedDocumentNumber(96),
jobCollationType(97),
-- Impression attributes:
impressionsSpooled(110),
impressionsSentToDevice(111),
impressionsInterpreted(112),
impressionsCompletedCurrentCopy(113),
fullColorImpressionsCompleted(114),
highlightColorImpressionsCompleted(115),
-- Page attributes:
pagesRequested(130),
pagesCompleted(131),
pagesCompletedCurrentCopy(132),
-- Sheet attributes:
sheetsRequested(150),
sheetsCompleted(151),
sheetsCompletedCurrentCopy(152),
-- Resource attributes:
mediumRequested(170),
mediumConsumed(171),
colorantRequested(172),
colorantConsumed(173),
-- Time attributes:
jobSubmissionToServerTime(190),
jobSubmissionTime(191),
jobStartedBeingHeldTime(192),
jobStartedProcessingTime(193),
jobCompletionTime(194),
jobProcessingCPUTime(195)
} }
JmJobServiceTypesTC ::= TEXTUAL-CONVENTION JmJobServiceTypesTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Specifies the type(s) of service to which the job has been "Specifies the type(s) of service to which the job has been
submitted (print, fax, scan, etc.). The service type is submitted (print, fax, scan, etc.). The service type is
represented as an enum that is bit encoded with each job represented as an enum that is bit encoded with each job
service type so that more general and arbitrary services can be service type so that more general and arbitrary services can be
created, such as services with more than one destination type, created, such as services with more than one destination type,
skipping to change at page 73, line 14 skipping to change at page 85, line 20
getFile 0x40 getFile 0x40
The job contains some instructions that specify accessing The job contains some instructions that specify accessing
files or documents files or documents
putFile 0x80 putFile 0x80
The job contains some instructions that specify storing The job contains some instructions that specify storing
files or documents files or documents
mailList 0x100 mailList 0x100
The job contains some instructions that specify The job contains some instructions that specify
distribution of documents using an electronic mail system." distribution of documents using an electronic mail system.
REFERENCE
"These bit definitions are the equivalent of a type 2 enum These bit definitions are the equivalent of a type 2 enum
except that combinations of them MAY be used together. See except that combinations of them MAY be used together. See
section 3.7.1.2." section 3.7.1.2."
SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit
JmJobStateReasons1TC ::= TEXTUAL-CONVENTION JmJobStateReasons1TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The JmJobStateReasonsNTC (N=1..4) textual-conventions are used "The JmJobStateReasonsNTC (N=1..4) textual-conventions are used
with the jmJobStateReasons1 object and jobStateReasonsN with the jmJobStateReasons1 object and jobStateReasonsN
(N=2..4), respectively, to provide additional information (N=2..4), respectively, to provide additional information
regarding the current jmJobState object value. These values regarding the current jmJobState object value. These values
MAY be used with any job state or states for which the reason MAY be used with any job state or states for which the reason
makes sense. makes sense. See section 3.3.9.1 for the specification of each
bit value defined for use with the JmJobStateReasons1TC.
NOTE - While values cannot be added to the jmJobState object
without impacting deployed clients that take actions upon
receiving jmJobState values, it is the intent that additional
JmJobStateReasonsNTC enums can be defined and registered
without impacting such deployed clients. In other words, the
jmJobStateReasons1 object and jobStateReasonsN attributes are
intended to be extensible.
NOTE - The Job Monitoring MIB contains a superset of the IPP
values[ipp-model] for the IPP 'job-state-reasons' attribute,
since the Job Monitoring MIB is intended to cover other job
submission protocols as well. Also some of the names of the
reasons have been changed from 'printer' to 'device', since the
Job Monitoring MIB is intended to cover additional types of
devices, including input devices, such as scanners.
The following standard values are defined (in hexadecimal) as
powers of two, since multiple values MAY be used at the same
time. For ease of understanding, the JmJobStateReasons1TC
reasons are presented in the order in which the reasons are
likely to occur (if implemented), starting with the
'jobIncoming' value and ending with the
'jobCompletedWithErrors' value.
other 0x1
The job state reason is not one of the standardized or
registered reasons.
unknown 0x2
The job state reason is not known to the agent or is
indeterminent.
jobIncoming 0x4
The job has been accepted by the server or device, but the
server or device is expecting (1) additional operations
from the client to finish creating the job and/or (2) is
accessing/accepting document data.
submissionInterrupted 0x8
The job was not completely submitted for some unforeseen
reason, such as: (1) the server has crashed before the job
was closed by the client, (2) the server or the document
transfer method has crashed in some non-recoverable way
before the document data was entirely transferred to the
server, (3) the client crashed or failed to close the job
before the time-out period.
jobOutgoing 0x10
Configuration 2 only: The server is transmitting the job
to the device.
jobHoldSpecified 0x20
The value of the job's jobHold(52) attribute is TRUE. The
job SHALL NOT be a candidate for processing until this
reason is removed and there are no other reasons to hold
the job.
jobHoldUntilSpecified 0x40
The value of the job's jobHoldUntil(53) attribute specifies
a time period that is still in the future. The job SHALL
NOT be a candidate for processing until this reason is
removed and there are no other reasons to hold the job.
jobProcessAfterSpecified 0x80
The value of the job's jobProcessAfterDateAndTime(51)
attribute specifies a time that is still in the future.
The job SHALL NOT be a candidate for processing until this
reason is removed and there are no other reasons to hold
the job.
resourcesAreNotReady 0x100
At least one of the resources needed by the job, such as
media, fonts, resource objects, etc., is not ready on any
of the physical devices for which the job is a candidate.
This condition MAY be detected when the job is accepted, or
subsequently while the job is pending or processing,
depending on implementation.
deviceStoppedPartly 0x200
One or more, but not all, of the devices to which the job
is assigned are stopped. If all of the devices are stopped
(or the only device is stopped), the deviceStopped reason
SHALL be used.
deviceStopped 0x400
The device(s) to which the job is assigned is (are all)
stopped.
jobInterpreting 0x800
The device to which the job is assigned is interpreting the
document data.
jobPrinting 0x1000
The output device to which the job is assigned is marking
media. This value is useful for servers and output devices
which spend a great deal of time processing (1) when no
marking is happening and then want to show that marking is
now happening or (2) when the job is in the process of
being canceled or aborted while the job remains in the
processing state, but the marking has not yet stopped so
that impression or sheet counts are still increasing for
the job.
jobCanceledByUser 0x2000
The job was canceled by the owner of the job, i.e., by a
user whose name is the same as the value of the job's
jmJobOwner object, or by some other authorized end-user,
such as a member of the job owner's security group.
jobCanceledByOperator 0x4000
The job was canceled by the operator, i.e., by a user who
has been authenticated as having operator privileges
(whether local or remote).
jobCanceledAtDevice 0x8000
The job was canceled by an unidentified local user, i.e., a
user at a console at the device.
abortedBySystem 0x10000
The job (1) is in the process of being aborted, (2) has
been aborted by the system and placed in the 'aborted'
state, or (3) has been aborted by the system and placed in
the 'pendingHeld' state, so that a user or operator can
manually try the job again.
processingToStopPoint 0x20000
The requester has issued an operation to cancel or
interrupt the job or the server/device has aborted the job,
but the server/device is still performing some actions on
the job until a specified stop point occurs or job
termination/cleanup is completed.
This reason is recommended to be used in conjunction with
the processing job state to indicate that the server/device
is still performing some actions on the job while the job
remains in the processing state. After all the job's
resources consumed counters have stopped incrementing, the
server/device moves the job from the processing state to
the canceled or aborted job states.
serviceOffLine 0x40000
The service or document transform is off-line and accepting
no jobs. All pending jobs are put into the pendingHeld
state. This situation could be true if the service's or
document transform's input is impaired or broken.
jobCompletedSuccessfully 0x80000
The job completed successfully.
jobCompletedWithWarnings 0x100000
The job completed with warnings.
jobCompletedWithErrors 0x200000
The job completed with errors (and possibly warnings too).
The following additional job state reasons have been added to
represent job states that are in ISO DPA[iso-dpa] and other job
submission protocols:
jobPaused 0x400000
The job has been indefinitely suspended by a client issuing
an operation to suspend the job so that other jobs may
proceed using the same devices. The client MAY issue an
operation to resume the paused job at any time, in which
case the agent SHALL remove the jobPaused values from the
job's jmJobStateReasons1 object and the job is eventually
resumed at or near the point where the job was paused.
jobInterrupted 0x800000
The job has been interrupted while processing by a client
issuing an operation that specifies another job to be run
instead of the current job. The server or device will
automatically resume the interrupted job when the
interrupting job completes.
jobRetained 0x1000000 These bit definitions are the equivalent of a type 2 enum
The job is being retained by the server or device with all
of the job's document data (and submitted resources, such
as fonts, logos, and forms, if any). Thus a client could
issue an operation to the server or device to either (1)
re-do the job (or a copy of the job) on the same server or
device or (2) resubmit the job to another server or device.
When a client could no longer re-do/resubmit the job, such
as after the document data has been discarded, the agent
SHALL remove the jobRetained value from the
jmJobStateReasons1 object."
REFERENCE
"These bit definitions are the equivalent of a type 2 enum
except that combinations of bits may be used together. See except that combinations of bits may be used together. See
section 3.7.1.2. The remaining bits are reserved for future section 3.7.1.2."
standardization and/or registration."
SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit
JmJobStateReasons2TC ::= TEXTUAL-CONVENTION JmJobStateReasons2TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This textual-convention is used with the jobStateReasons2 "This textual-convention is used with the jobStateReasons2
attribute to provides additional information regarding the attribute to provides additional information regarding the
jmJobState object. See the description under jmJobState object. See section 3.3.9.2 for the specification
JmJobStateReasons1TC for additional information that applies to of JmJobStateReasons2TC. See section 3.3.9.1 for the
all reasons. description under JmJobStateReasons1TC for additional
information that applies to all reasons.
The following standard values are defined (in hexadecimal) as
powers of two, since multiple values may be used at the same
time:
cascaded 0x1
An outbound gateway has transmitted all of the job's job
and document attributes and data to another spooling
system.
deletedByAdministrator 0x2
The administrator has deleted the job.
discardTimeArrived 0x4
The job has been deleted due to the fact that the time
specified by the job's job-discard-time attribute has
arrived.
postProcessingFailed 0x8
The post-processing agent failed while trying to log
accounting attributes for the job; therefore the job has
been placed into the completed state with the jobRetained
jmJobStateReasons1 object value for a system-defined period
of time, so the administrator can examine it, resubmit it,
etc.
jobTransforming 0x10
The server/device is interpreting document data and
producing another electronic representation.
maxJobFaultCountExceeded 0x20
The job has faulted several times and has exceeded the
administratively defined fault count limit.
devicesNeedAttentionTimeOut 0x40
One or more document transforms that the job is using needs
human intervention in order for the job to make progress,
but the human intervention did not occur within the site-
settable time-out value.
needsKeyOperatorTimeOut 0x80
One or more devices or document transforms that the job is
using need a specially trained operator (who may need a key
to unlock the device and gain access) in order for the job
to make progress, but the key operator intervention did not
occur within the site-settable time-out value.
jobStartWaitTimeOut 0x100
The server/device has stopped the job at the beginning of
processing to await human action, such as installing a
special cartridge or special non-standard media, but the
job was not resumed within the site-settable time-out value
and the server/device has transitioned the job to the
pendingHeld state.
jobEndWaitTimeOut 0x200
The server/device has stopped the job at the end of
processing to await human action, such as removing a
special cartridge or restoring standard media, but the job
was not resumed within the site-settable time-out value and
the server/device has transitioned the job to the completed
state.
jobPasswordWaitTimeOut 0x400
The server/device has stopped the job at the beginning of
processing to await input of the job's password, but the
password was not received within the site-settable time-out
value.
deviceTimedOut 0x800
A device that the job was using has not responded in a
period specified by the device's site-settable attribute.
connectingToDeviceTimeOut 0x1000
The server is attempting to connect to one or more devices
which may be dial-up, polled, or queued, and so may be busy
with traffic from other systems, but server was unable to
connect to the device within the site-settable time-out
value.
transferring 0x2000
The job is being transferred to a down stream server or
downstream device.
queuedInDevice 0x4000
The server/device has queued the job in a down stream
server or downstream device.
jobQueued 0x8000
The server/device has queued the document data.
jobCleanup 0x10000
The server/device is performing cleanup activity as part of
ending normal processing.
jobPasswordWait 0x20000
The server/device has selected the job to be next to
process, but instead of assigning resources and starting
the job processing, the server/device has transitioned the
job to the pendingHeld state to await entry of a password
(and dispatched another job, if there is one).
validating 0x40000
The server/device is validating the job after accepting the
job.
queueHeld 0x80000
The operator has held the entire job set or queue.
jobProofWait 0x100000
The job has produced a single proof copy and is in the
pendingHeld state waiting for the requester to issue an
operation to release the job to print normally, obeying any
job and document copy attributes that were originally
submitted.
heldForDiagnostics 0x200000
The system is running intrusive diagnostics, so that all
jobs are being held.
noSpaceOnServer 0x800000
There is no room on the server to store all of the job.
pinRequired 0x1000000
The System Administrator settable device policy is (1) to
require PINs, and (2) to hold jobs that do not have a pin
supplied as an input parameter when the job was created.
exceededAccountLimit 0x2000000
The account for which this job is drawn has exceeded its
limit. This condition SHOULD be detected before the job is
scheduled so that the user does not wait until his/her job
is scheduled only to find that the account is overdrawn.
This condition MAY also occur while the job is processing
either as processing begins or part way through processing.
heldForRetry 0x4000000
The job encountered some errors that the server/device
could not recover from with its normal retry procedures,
but the error might not be encountered if the job is
processed again in the future. Example cases are phone
number busy or remote file system in-accessible. For such
a situation, the server/device SHALL transition the job
from the processing to the pendingHeld, rather than to the
aborted state.
The following values are from the X/Open PSIS draft standard:
canceledByShutdown 0x8000000
The job was canceled because the server or device was
shutdown before completing the job.
deviceUnavailable 0x10000000
This job was aborted by the system because the device is
currently unable to accept jobs.
wrongDevice 0x20000000
This job was aborted by the system because the device is
unable to handle this particular job; the spooler SHOULD
try another device or the user should submit the job to
another device.
badJob 0x40000000 These bit definitions are the equivalent of a type 2 enum
This job was aborted by the system because this job has a
major problem, such as an ill-formed PDL; the spooler
SHOULD not even try another device. "
REFERENCE
"These bit definitions are the equivalent of a type 2 enum
except that combinations of them may be used together. See except that combinations of them may be used together. See
section 3.7.1.2. See the description under section 3.7.1.2."
JmJobStateReasons1TC and the jobStateReasons2 attribute."
SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit
JmJobStateReasons3TC ::= TEXTUAL-CONVENTION JmJobStateReasons3TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This textual-convention is used with the jobStateReasons3 "This textual-convention is used with the jobStateReasons3
attribute to provides additional information regarding the attribute to provides additional information regarding the
jmJobState object. See the description under jmJobState object. See section 3.3.9.3 for the specification
JmJobStateReasons1TC for additional information that applies to of JmJobStateReasons3TC. See section 3.3.9.1 for the
all reasons. description under JmJobStateReasons1TC for additional
information that applies to all reasons.
The following standard values are defined (in hexadecimal) as
powers of two, since multiple values may be used at the same
time:
jobInterruptedByDeviceFailure 0x1 These bit definitions are the equivalent of a type 2 enum
A device or the print system software that the job was
using has failed while the job was processing. The server
or device is keeping the job in the pendingHeld state until
an operator can determine what to do with the job."
REFERENCE
"These bit definitions are the equivalent of a type 2 enum
except that combinations of them may be used together. See except that combinations of them may be used together. See
section 3.7.1.2. The remaining bits are reserved for future section 3.7.1.2. "
standardization and/or registration. See the description under
JmJobStateReasons1TC and the jobStateReasons3 attribute."
SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit
JmJobStateReasons4TC ::= TEXTUAL-CONVENTION JmJobStateReasons4TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This textual-convention is used in the jobStateReasons4 "This textual-convention is used in the jobStateReasons4
attribute to provides additional information regarding the attribute to provides additional information regarding the
jmJobState object. See the description under jmJobState object. See section 3.3.9.4 for the specification
JmJobStateReasons1TC for additional information that applies to of JmJobStateReasons4TC. See section 3.3.9.1 for the
all reasons. description under JmJobStateReasons1TC for additional
information that applies to all reasons.
The following standard values are defined (in hexadecimal) as
powers of two, since multiple values may be used at the same
time:
none yet defined. These bits are reserved for future These bit definitions are the equivalent of a type 2 enum
standardization and/or registration."
REFERENCE
"These bit definitions are the equivalent of a type 2 enum
except that combinations of them may be used together. See except that combinations of them may be used together. See
section 3.7.1.2. See the description under section 3.7.1.2."
JmJobStateReasons1TC and the jobStateReasons4 attribute."
SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER (0..2147483647) -- 31 bits, all but sign bit
jobmonMIBObjects OBJECT IDENTIFIER ::= { jobmonMIB 1 } jobmonMIBObjects OBJECT IDENTIFIER ::= { jobmonMIB 1 }
-- The General Group (MANDATORY) -- The General Group (MANDATORY)
-- The jmGeneralGroup consists entirely of the jmGeneralTable. -- The jmGeneralGroup consists entirely of the jmGeneralTable.
jmGeneral OBJECT IDENTIFIER ::= { jobmonMIBObjects 1 } jmGeneral OBJECT IDENTIFIER ::= { jobmonMIBObjects 1 }
jmGeneralTable OBJECT-TYPE jmGeneralTable OBJECT-TYPE
SYNTAX SEQUENCE OF JmGeneralEntry SYNTAX SEQUENCE OF JmGeneralEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The jmGeneralTable consists of information of a general nature "The jmGeneralTable consists of information of a general nature
that are per-job-set, but are not per-job. See Section 2 that are per-job-set, but are not per-job. See Section 2
entitled 'Terminology and Job Model' for the definition of a entitled 'Terminology and Job Model' for the definition of a
job set." job set.
REFERENCE
"The MANDATORY-GROUP macro specifies that this group is The MANDATORY-GROUP macro specifies that this group is
MANDATORY." MANDATORY."
::= { jmGeneral 1 } ::= { jmGeneral 1 }
jmGeneralEntry OBJECT-TYPE jmGeneralEntry OBJECT-TYPE
SYNTAX JmGeneralEntry SYNTAX JmGeneralEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Information about a job set (queue). "Information about a job set (queue).
skipping to change at page 83, line 21 skipping to change at page 88, line 21
and jmAttributeTable tables have this same index as their and jmAttributeTable tables have this same index as their
primary index. primary index.
The value(s) of the jmGeneralJobSetIndex SHALL be persistent The value(s) of the jmGeneralJobSetIndex SHALL be persistent
across power cycles, so that clients that have retained across power cycles, so that clients that have retained
jmGeneralJobSetIndex values will access the same job sets upon jmGeneralJobSetIndex values will access the same job sets upon
subsequent power-up. subsequent power-up.
An implementation that has only one job set, such as a printer An implementation that has only one job set, such as a printer
with a single queue, SHALL hard code this object with the value with a single queue, SHALL hard code this object with the value
1." 1.
REFERENCE
"See Section 2 entitled 'Terminology and Job Model' for the See Section 2 entitled 'Terminology and Job Model' for the
definition of a job set. definition of a job set.
Corresponds to the first index in jmJobTable and Corresponds to the first index in jmJobTable and
jmAttributeTable." jmAttributeTable."
::= { jmGeneralEntry 1 } ::= { jmGeneralEntry 1 }
jmGeneralNumberOfActiveJobs OBJECT-TYPE jmGeneralNumberOfActiveJobs OBJECT-TYPE
SYNTAX Integer32 (0..2147483647) SYNTAX Integer32 (0..2147483647)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 84, line 16 skipping to change at page 89, line 16
SYNTAX Integer32 (0..2147483647) SYNTAX Integer32 (0..2147483647)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The jmJobIndex of the oldest job that is still in one of the "The jmJobIndex of the oldest job that is still in one of the
'active' states (pending, processing, or processingStopped). 'active' states (pending, processing, or processingStopped).
In other words, the index of the 'active' job that has been in In other words, the index of the 'active' job that has been in
the job tables the longest. the job tables the longest.
If there are no active jobs, the agent SHALL set the value of If there are no active jobs, the agent SHALL set the value of
this object to 0." this object to 0.
REFERENCE
"See Section 3.2 entitled 'The Job Tables and the Oldest Active See Section 3.2 entitled 'The Job Tables and the Oldest Active
and Newest Active Indexes' for a description of the usage of and Newest Active Indexes' for a description of the usage of
this object." this object."
DEFVAL { 0 } -- no active jobs DEFVAL { 0 } -- no active jobs
::= { jmGeneralEntry 3 } ::= { jmGeneralEntry 3 }
jmGeneralNewestActiveJobIndex OBJECT-TYPE jmGeneralNewestActiveJobIndex OBJECT-TYPE
SYNTAX Integer32 (0..2147483647) SYNTAX Integer32 (0..2147483647)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The jmJobIndex of the newest job that is in one of the "The jmJobIndex of the newest job that is in one of the
'active' states (pending, processing, or processingStopped). 'active' states (pending, processing, or processingStopped).
In other words, the index of the 'active' job that has been In other words, the index of the 'active' job that has been
most recently added to the job tables. most recently added to the job tables.
When all jobs become 'inactive', i.e., enter the pendingHeld, When all jobs become 'inactive', i.e., enter the pendingHeld,
completed, canceled, or aborted states, the agent SHALL set the completed, canceled, or aborted states, the agent SHALL set the
value of this object to 0." value of this object to 0.
REFERENCE
"See Section 3.2 entitled 'The Job Tables and the Oldest Active See Section 3.2 entitled 'The Job Tables and the Oldest Active
and Newest Active Indexes' for a description of the usage of and Newest Active Indexes' for a description of the usage of
this object." this object."
DEFVAL { 0 } -- no active jobs DEFVAL { 0 } -- no active jobs
::= { jmGeneralEntry 4 } ::= { jmGeneralEntry 4 }
jmGeneralJobPersistence OBJECT-TYPE jmGeneralJobPersistence OBJECT-TYPE
SYNTAX Integer32 (15..2147483647) SYNTAX Integer32 (15..2147483647)
UNITS "seconds" UNITS "seconds"
MAX-ACCESS read-only MAX-ACCESS read-only