ipp transaction-based printing extensions · web viewabstract: this document defines extensions to...

70
The Printer Working Group January 30 February 18 , 2020 Working Draft IPP Transaction-Based Printing Extensions v1.1 (TRANS) Status: Stable Copyright © 2013-2020 The Printer Working Group. All rights reserved. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Upload: others

Post on 04-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

The Printer Working Group

January 30February 18, 2020Working Draft

IPP Transaction-Based Printing Extensions v1.1(TRANS)

Status: Stable

Abstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed for paid, PIN, release, and quota-based printing through local and commercial services.

This document is a PWG Working Draft. For a definition of a "PWG Working Draft", see:

https://ftp.pwg.org/pub/pwg/general/pwg-process30.pdf

Copyright © 2013-2020 The Printer Working Group. All rights reserved.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

161718

19

20

Page 2: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

The Printer Working Group

January 30February 18, 2020Working Draft

This document is available electronically at:

https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrans11-20200130.docx https:// ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrans11-20200218.docxhttps://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrans11-20200130.pdf https://ftp.pwg.org/ pub/pwg/ipp/wd/wd-ipptrans11-20200218.pdf

Copyright © 2013-2020 The Printer Working Group. All rights reserved.

21

22232425

26

27

Page 3: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Copyright © 2013-2020 The Printer Working Group. All rights reserved.

This document may be copied and furnished to others, and derivative works that comment on, or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice, this paragraph and the title of the Document as referenced below are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the IEEE-ISTO and the Printer Working Group, a program of the IEEE-ISTO.

Title: IPP Transaction-Based Printing Extensions v1.1 (TRANS)

The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

The Printer Working Group, a program of the IEEE-ISTO, reserves the right to make changes to the document without further notice. The document may be updated, replaced or made obsolete by other documents at any time.

The IEEE-ISTO takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights.

The IEEE-ISTO invites any interested party to bring to its attention any copyrights, patents, or patent applications, or other proprietary rights which may cover technology that may be required to implement the contents of this document. The IEEE-ISTO and its programs shall not be responsible for identifying patents for which a license may be required by a document and/or IEEE-ISTO Industry Group Standard or for conducting inquiries into the legal validity or scope of those patents that are brought to its attention. Inquiries may be submitted to the IEEE-ISTO by e-mail at: [email protected].

The Printer Working Group acknowledges that the IEEE-ISTO (acting itself or through its designees) is, and shall at all times be the sole entity that may authorize the use of certification marks, trademarks, or other special designations to indicate compliance with these materials.Page 3 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

1

2

28

29303132333435

36

373839

404142

4344454647

48495051525354

55565758

3

Page 4: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Use of this document is wholly voluntary. The existence of this document does not imply that there are no other ways to produce, test, measure, purchase, market, or provide other goods and services related to its scope.

Page 4 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

4

5

596061

62

6

Page 5: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

About the IEEE-ISTO

The IEEE-ISTO is a not-for-profit corporation offering industry groups an innovative and flexible operational forum and support services. The IEEE-ISTO provides a forum not only to develop standards, but also to facilitate activities that support the implementation and acceptance of standards in the marketplace. The organization is affiliated with the IEEE (http://www.ieee.org/) and the IEEE Standards Association (http://standards.ieee.org/).

For additional information regarding the IEEE-ISTO and its industry programs visit:

http://www.ieee-isto.org

About the IEEE-ISTO PWG

The Printer Working Group (or PWG) is a Program of the IEEE Industry Standards and Technology Organization (ISTO) with member organizations including printer manufacturers, print server developers, operating system providers, network operating system providers, network connectivity vendors, and print management application developers. The PWG is chartered to make printers and the applications and operating systems supporting them work together better. All references to the PWG in this document implicitly mean “The Printer Working Group, a Program of the IEEE ISTO.”

To meet this objective, the PWG documents the results of their work as open standards that define print related protocols, interfaces, procedures, and conventions. A PWG standard is a stable, well understood, and technically competent specification that is widely used with multiple independent and interoperable implementations. Printer manufacturers and vendors of printer related software benefit from the interoperability provided by voluntary conformance to these standards.

For additional information regarding the Printer Working Group visit:

https://www.pwg.org

Contact information:

The Printer Working Groupc/o The IEEE Industry Standards and Technology Organization445 Hoes Lane

Page 5 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

7

8

63

6465666768

69

70

71

72737475767778

798081828384

85

86

87

888990

9

Page 6: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Piscataway, NJ 08854USA

Page 6 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

10

11

9192

12

Page 7: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Table of Contents

1. Introduction.......................................................................................................................6

2. Terminology......................................................................................................................6

2.1 Conformance Terminology..........................................................................................6

2.2 Protocol Role Terminology..........................................................................................6

2.3 Printing Terminology...................................................................................................7

2.4 Acronyms and Organizations......................................................................................7

3. Requirements...................................................................................................................8

3.1 Rationale for IPP Transaction-Based Printing Extensions..........................................8

3.2 Use Cases..................................................................................................................9

3.2.1 Printing at a School..............................................................................................9

3.2.2 Printing to a Reprographics Shop.........................................................................9

3.3 Exceptions..................................................................................................................9

3.3.1 Account Exceeded Limit Exception......................................................................9

3.4 Out of Scope.............................................................................................................10

3.5 Design Requirements...............................................................................................10

4. IPP Model.......................................................................................................................11

4.1 User Accounts vs. Payment/Billing Accounts............................................................12

4.2 Priority of Service......................................................................................................12

4.3 Job Review...............................................................................................................14

5. HTTP Authentication - Default Username......................................................................14

6. IPP Attributes..................................................................................................................15

6.1 Operation Attributes..................................................................................................15Page 7 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

13

14

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

15

Page 8: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

6.1.1 charge-info-message (text).................................................................................15

6.1.2 job-authorization-uri (uri)....................................................................................15

6.1.3 job-impressions-estimated (integer(1:MAX))......................................................15

6.2 Job Status Attributes.................................................................................................15

6.2.1 job-charge-info (text)..........................................................................................15

6.3 Job Template Attributes............................................................................................16

6.3.1 job-account-type (type2 keyword | name(MAX))................................................16

6.4 Printer Description Attributes....................................................................................16

6.4.1 job-account-type-default (type2 keyword | name(MAX))....................................16

6.4.2 job-account-type-supported (1setOf (type2 keyword | name(MAX))).................16

6.4.3 job-authorization-uri-supported (boolean)..........................................................16

6.4.4 printer-charge-info (text(MAX))...........................................................................16

6.4.5 printer-charge-info-uri (uri)..................................................................................16

6.4.6 printer-mandatory-job-attributes (1setOf keyword).............................................17

6.4.7 printer-requested-job-attributes (1setOf keyword)..............................................17

7. Additional Semantics for Existing Operations.................................................................17

7.1 Create-Job, Print-Job, and Print-URI........................................................................17

7.2 Validate-Job..............................................................................................................18

7.2.1 Validate-Job Request.........................................................................................18

7.2.2 Validate-Job Response......................................................................................18

8. Additional Values for Existing Attributes.........................................................................19

8.1 job-state-reasons (1setOf type2 keyword)................................................................19

8.2 Status Codes............................................................................................................19

Page 8 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

16

17

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

18

Page 9: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

9. Conformance Requirements...........................................................................................20

9.1 Conformance Requirements for Clients....................................................................20

9.2 Conformance Requirements for Printers...................................................................20

10. Internationalization Considerations...............................................................................20

11. Security Considerations................................................................................................21

12. IANA Considerations....................................................................................................22

12.1 Attribute Registrations.............................................................................................22

12.2 Type2 keyword Registrations..................................................................................22

12.3 Operation Registrations..........................................................................................23

12.4 Status Code Registrations......................................................................................23

13. Overview of Changes...................................................................................................24

13.1 IPP Transaction-Based Printing Extensions v1.1....................................................24

14. References...................................................................................................................25

14.1 Normative References............................................................................................25

14.2 Informative References...........................................................................................26

15. Author's Address..........................................................................................................27

16. Change History.............................................................................................................28

16.1 February 20, 2020...................................................................................................28

16.2 January 30, 2020....................................................................................................28

16.3 January 28, 2020....................................................................................................29

16.4 December 16, 2019................................................................................................29

Page 9 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

19

20

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

21

Page 10: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

List of Figures

Figure 1 - Transaction-Based Printing Model.....................................................................12

Figure 2 - Typical Paid Imaging Sequence Diagram..........................................................13

Page 10 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

22

23

162

163

164

165

24

Page 11: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

1. Introduction

Whether provided by a third-party or an organization's infrastructure services, transaction-based printing services such as PIN, release, quota-based, managed, and account/payment-based printing are increasingly common. For example, a school may provide printing services to its students; each student submits print requests, authenticates with the print service either at time of submission or at the printer, and is then "billed" for their usage, where billing may just apply the print job against a monthly quota allowed by their student fees. Other organizations may require accounting of all print jobs; in those cases, the transactions associate print jobs with customer accounts and/or track usage and content for regulatory compliance.

Whatever the usage, IPP currently exposes only a handful of attributes that describe a Printer's business transaction capabilities and does not allow a Client to directly participate in transaction-based printing through IPP. This specification defines additional attributes, values, and semantics to enable a variety of transaction-based printing services directly through IPP. The intent is not to define a full framework for a particular class of transaction-based printing such as that envisioned by the CIP4 PrintTalk [PrintTalk] specification, but rather to define a general-purpose framework that can be used by a variety of solutions using business transactions that is compatible with other public standards.

This specification updates the previous version [PWG5100.16-2013] and, adds related attributes from other specifications, and moves unrelated attributes to other specifications. A list of changes can be found in section .

2. Terminology

2.1 Conformance Terminology

Capitalized terms, such as MUST, MUST NOT, RECOMMENDED, REQUIRED, SHOULD, SHOULD NOT, MAY, and OPTIONAL, have special meaning relating to conformance as defined in Key words for use in RFCs to Indicate Requirement Levels [BCP14]. The term CONDITIONALLY REQUIRED is additionally defined for a conformance requirement that applies when a specified condition is true.

Page 11 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

25

26

166

167168169170171172173174175

176177178179180181182183184

185186187

188

189

190191192193194

27

Page 12: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

The term DEPRECATED is used for previously defined and approved protocol elements that SHOULD NOT be used or implemented. The term OBSOLETE is used for previously defined and approved protocol elements that MUST NOT be used or implemented.

2.2 Protocol Role Terminology

The following protocol roles are defined to specify unambiguous conformance requirements:

Client: Initiator of outgoing connections and sender of outgoing operation requests (Hypertext Transfer Protocol -- HTTP/1.1 [RFC7230] User Agent).

Printer: Listener for incoming connections and receiver of incoming operation requests (Hypertext Transfer Protocol -- HTTP/1.1 [RFC7230] Server) that represents one or more Physical Devices or a Logical Device.

2.3 Printing Terminology

Document: An object created and managed by a Printer that contains the description, processing, and status information. A Document object may have attached data and is bound to a single Job.

End User: A person or automata using a Client to communicate with a Printer.

Job: An object created and managed by a Printer that contains description, processing, and status information. The Job also contains zero or more Document objects.

Job Creation Request: Any operation that causes the creation of a Job object, e.g., the Create-Job, Print-Job, and Print-URI operations [STD92].

Logical Device: a A print server, software service, or gateway that processes jobs and either forwards or stores the processed job or uses one or more Physical Devices to render output.

Output Device: A single Logical or Physical Device

Paid Imaging Services: Printing, facsimile, and scanning performed for a monetary fee. Facsimile, scanning, and the means of collecting payment are outside the scope of this specification.Page 12 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

28

29

195196197

198

199200

201202

203204205

206

207208209

210

211212

213214

215216217

218

219220221

30

Page 13: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Physical Device: a A hardware implementation of a endpoint device, e.g., a marking engine, a fax modem, etc.

PIN Printing: Printing where the User/Client provides a passcode or number in the print request that is later used to release the Job at the Printer's console or control panel.

Quota-Based Printing: Printing where Jobs are measured and potentially limited by the Printer. The method of measurement and limiting are outside the scope of this document.

Release Printing: Printing where Jobs are submitted to the print service and held until the User subsequently provides identification information at the Printer, such as by entering a username and password at the console or swiping or presenting an idenfication card to a card reader on the Printer. Jobs may be directed at a Physical Printer or at a Logical Printer such as a central print service.

Transaction-Based Printing: Printing, including Paid Imaging Services, PIN Printing, Release Printing, and Quota-Based Printing, where authorized Jobs are a business transaction between the End User/Client and Printer.

2.4 Acronyms and Organizations

IANA: Internet Assigned Numbers Authority, https://www.iana.org/

IETF: Internet Engineering Task Force, https://www.ietf.org/

ISO: International Organization for Standardization, https://www.iso.org/

PIN: Personal Identification Number

PWG: Printer Working Group, https://www.pwg.org/

Page 13 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

31

32

222223

224225

226227

228229230231232

233234235

236

237

238

239

240

241

242

33

Page 14: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

3. Requirements

3.1 Rationale for IPP Transaction-Based Printing Extensions

Given the following existing specifications and the need for a standard method of supporting Transaction-Based Printing without vendor-specific driver software, the IPP Transaction-Based Printing Extensions specification should:

[1.] Use existing the existing IPP specifications to support job submission to and monitoring of Paid Imaging Services,

1.[2.] Define HTTP authorization requirements as needed to support Transaction-Based Printing,

2.[3.] Define operation attributes and amend operation semantics as needed for a Client to obtain and supply authorization from an IPP Printer,

3.[4.] Define status code values needed for Transaction-Based Printing to inform a Client when exceptions occur during job submission,

4.[5.] Define Job Status attributes and values needed for Transaction-Based Printing to provide authorization status information to Clients,

5.[6.] Define Job Template attributes needed to clearly express output intent for Transaction-Based Printing, and

6.[7.] Define Printer Description attributes and values needed for Transaction-Based Printing.

The IPP Job Extensions v2.0 (JOBEXT) [PWG5100.7] defines attributes for Job accounting.

The IPP Enterprise Printing Extensions v2.0 (EPX) [PWG5100.11] defines attributes for PIN and Release Printing.

The IPP 2.0, 2.1, and 2.2 specification [PWG5100.12] defines:

1. A collection of existing IPP specifications that form the basis for IPP/2.02. Standard job template attributes3. Specific interoperability requirements, such as HTTP/1.1 support with chunking

and IPP collection attribute support

Page 14 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

34

35

243

244

245246247

248249250251252253254255256257258259260261

262263

264265

266

267268269270

36

Page 15: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

4. New version number and operation requirements for different classes of Imaging Devices

IPP Everywhere [PWG5100.14] defines:

1. Protocols and schema to support discovery, identification, and auto-configuration of Imaging Devices,

2. A standard profile of IPP attributes, operations, and values to promote interoperability, and

3. Standard document formats for job submission.

The PWG Raster Format [PWG5102.4] defines a minimal file format for transmission of multi-page color and grayscale bitmap images

The Document management -- Portable document format -- Part 1: PDF 1.7 [ISO32000] defines:

1. A rich file format for transmission of multi-page color and grayscale vector and bitmap images

2. Standard page attributes to support page size, orientation, and duplex functionality

The JPEG File Interchange Format Version 1.02 [JFIF] defines a compact file format for transmission of photographic images

3.2 Use Cases

3.2.1 Printing at a School

Jane wants to print her thesis on the laser printer in her school's computing lab. After initiating the print action in her application and selecting the laser printer, the application software validates access to the printer by providing the proposed job ticket information. The print service supporting the laser printer provides the application software an authorization code for the job submission. After Jane confirms the print action, the application software submits the print job with the authorization code to the print service. The print service then prints the job on the laser printer and includes the print job in her student activity fees.

Page 15 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

37

38

271272

273

274275276277278

279280

281282

283284285286

287288

289

290

291292293294295296297298

39

Page 16: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

3.2.2 Printing to a Reprographics Shop

John wants to print 100 marketing booklets for a real estate conference using a local reprographics shop. John prepares the electronic files needed for the booklets and then initiates a job submission through a generic job management utility. After selecting the reprographics shop and specifying the job processing intent and delivery location, the utility software validates access to the service for the shop. The service challenges the user (via the utility software) to provide user account information. Once accepted, the service provides an authorization code to the utility software, which then submits the complete job, including the authorization code, for printing. The shop charges John's account, prints the job, and delivers the booklets to the conference.

3.3 Exceptions

The following subsections define exceptions in addition to those defined in the Internet Printing Protocol/1.1 [STD92].

3.3.1 Account Exceeded Limit Exception

Jane wants to print flyers for a school event on the school's large format printer. After initiating the print action in her application and selecting the large format printer, the application software validates access to the printer, obtains an authorization code, and submits the job. After pre-processing the job, the print service associated with the printer determines that Jane's account lacks sufficient funds to complete the print job and stops the job from printing, adding status information to the job indicating the reason. The application software queries the print service for the job status and presents the issue to Jane. Jane then visits the web page provided by the print service to add additional printing credits to her school activity account. The print service then resumes processing of the job, printing the flyers on the large format printer.

3.4 Out of Scope

The following are considered out of scope for this specification:

1. The actual method of payment for Paid Imaging Services,2. The actual methods of measurement and limit enforcement for Quota-Based

Printing,

Page 16 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

40

41

299

300301302303304305306307308

309

310311

312

313314315316317318319320321322

323

324

325326327

42

Page 17: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[3.] The actual methods of multi-factor authentication for PIN and Release Printing, e.g., smart cards, and

3.[4.] Definition of new HTTP authentication methods.

3.5 Design Requirements

The design requirements for the IPP Transaction-Based Printing Extensions specification are:

1. Define HTTP authorization extensions and requirements;[2.] Follow the naming conventions defines in the Internet Printing ProtocolIPP/1.1:

Model and Semantics [RFC2911STD92], including keyword value case (lower) and hyphenation requirements;

2.[3.] Define attributes and values to support Transaction-Based Printing; and[4.] Amend operation semantics to support Transaction-Based Printing.;[5.] Support printing with vender-neutral Client software from any Client to any

Printer using a variety of discovery protocols, IPP for the transport, and standard document formats.

Page 17 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

43

44

328329330

331

332333

334335336337338339340341342

343

45

Page 18: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

4. IPP Model

This document defines new attributes, keyword values for the “job-state-reasons” Job Description Status attribute, and status codes for the Create-Job, Print-Job, Print-URI, and Validate-Job operations that allows IPP to support Transaction-Based Printing. Figure 1 shows the general model of Transaction-Based Printing while Figure 2 shows a typical Paid Imaging Service interaction between a Client and Printer.

The “printer-charge-info-uri” Printer Description attribute (section 6.4.12) provides a URL that allows End Users to manage paid Paid printing Printing accounts on the Printer. Typically, this web page will allow new users End Users to sign up for the Paid Imaging Service, purchase additional pages/ and/or credits for printing, manage queued jobsJobs, and so forth.

The “job-authorization-uri” (section 6.1.2) operation attribute allows a Printer to provide an authorization or transaction code to the Client that is used in subsequent job Job creation Creation requests Requests to obtain a printout. The valid time period, number of print jobs, and/or number of pages for an authorization code is specific to the implementation. However, since there is no way for the Client to tell the Printer it will not be using the authorization code, the Printer MUST automatically expire the provided URI after a suitable period of time that SHOULD be longer than 60 seconds. Printers notify Clients that they require a “job-authorization-uri” value in a print job Job creation Creation request Request by including the attribute name in the “printer-mandatory-job-attributes” Printer Description attribute (section 6.4.15)[PWG5100.7]. Printers notify Clients that a “job-authorization-uri” value is no longer valid by returning the client-error-account-authorization-failed (section 8.2) status code and placing the “job-authorization-uri” attribute in the unsupported attributes group of the response.

The “job-impressions-estimated” (section 6.1.3) operation attribute allows the Client to supply an estimate of the number of impressions or sides that will be submitted for printing.

The “charge-info-message” (section 6.1.1) operation attribute allows the Printer to return a localized message to the Client tailored to the requesting user. The message is typically the current status of the account (number of pages and/or /amount of credit remaining) but can also contain account-specific error messages when the account cannot be used for

Page 18 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

46

47

344

345346347348349

350351352353354

355356357358359360361362363364365366367

368369

370371372373

48

Page 19: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

printing. Once a job Job is created, the “job-charge-info” (section 6.2.1) Job Description Status attribute provides any updated account information for that jobJob.

Account issues that are discovered at validation or job Job creation time are reported using the new status codes defined in section 8.2. Once a job Job has been created, these same issues are reported in the “job-state-reasons” (section 8.1) Job Description Status attribute with the corresponding keyword values.

Page 19 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

49

50

374375

376377378379

380

51

Page 20: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Figure 1 - Transaction-Based Printing Model

4.1 User Accounts vs. Payment/Billing Accounts

Printers that support multiple payment or billing options for each user End User account can support them via the “job-account-id” and “job-accounting-user-id” Job Template attributes [PWG5100.7]. Printers notify Clients that they require these values in a print job Job creation Creation request Request by including the corresponding attribute names in the “printer-mandatory-job-attributes” Printer Description attribute [PWG5100.7](section 6.4.15).

4.2 Priority of Service

The "job-priority" [STD92] Job Template attribute can be used by the Printer to determine the cost of or type of service for the Job. For example, a Job with a priority of 100 would cause the Job to be processed before other Jobs of lesser priority and might then be billed at twice the normal rate. Similarly, a Job with a priority of 1 would cause the Job to be processed after all other Jobs and might be billed at half the normal rate.

Page 20 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

52

53

381

382

383

384385386387388389

390

391392393394395

54

Page 21: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[4.3] PIN Printing

Printers support PIN Printing using the “job-password” and “job-password-encryption” operation attributes [PWG5100.11]. Jobs created with these attributes MUST be placed in the ‘pending-held’ state with the ‘job-password-wait’ keyword added to the “job-state-reasons” Job Description attribute.

When the User later enters the PIN/passcode on the Printer, the job is placed in the ‘pending’ or ‘processing’ state and the ‘job-password-wait’ keyword is removed from the “job-state-reasons” Job Description attribute.

Page 21 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

55

56

396

397398399400

401402403

404

57

Page 22: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Client PrinterPOST Validate-Job Request ⇢

⇠ 401 UnauthorizedWWW-Authenticate: Basic realm=”Example”

POST Validate-Job Request ⇢Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-impressions-estimated=20

⇠ 200 OKValidate-Job Response = successful-okcharge-info-message=”14 pages in account.”job-authorization-uri = “urn:uuid:...”

POST Print-Job Request ⇢Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-authorization-uri = “urn:uuid:...”<20 page document>

⇠ 200 OKPrint-Job Response = successful-okcharge-info-message=”14 pages in account.”job-id=1234job-state=pendingjob-state-reasons=”none”

POST Get-Job-Attributes Request ⇢Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-id=1234

⇠ 200 OKGet-Job-Attributes Response = successful-okjob-charge-info=”6 pages in account.”job-impressions-completed=8job-state=processingjob-state-reasons=”job-printing”

POST Get-Job-Attributes Request ⇢Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-id=1234

⇠ 200 OKGet-Job-Attributes Response = successful-okjob-charge-info=”Need to order more pages.”job-impressions-completed=14job-state=processing-stoppedjob-state-reasons=”account-limit-reached”

... User Visits printer-charge-info-uri to order 10 more pages ...

POST Get-Job-Attributes Request ⇢Page 22 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

58

59

405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447

60

Page 23: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-id=1234

⇠ 200 OKGet-Job-Attributes Response = successful-okjob-charge-info=”20 pages charged.”job-impressions-completed=20job-state=completedjob-state-reasons=”none”

Figure 2 - Typical Paid Imaging Sequence Diagram

[4.4] Release Printing

Printers can act as “release printing” services for one or more associated output devices, where print jobs are spooled and later released by the User at an output device by entering a PIN/passcode (see section 4.2), swiping an identification card, or providing other identification to the associated Printer.

Jobs submitted to such a Printer can be placed in the ‘pending-held’ state with the ‘job-release-wait’ keyword added to the “job-state-reasons” Job Description attribute. The Job is placed in the 'pending-held' state only if it cannot be processed until the Output Device has been selected, which determines the security policy and (if applicable) costs that must be accounted for and paid. When the User later releases the job at an output device, the Job is placed in the ‘pending’ or ‘processing’ state and the ‘job-release-wait’ keyword is removed from the “job-state-reasons” Job Description attribute.

[4.5] Job Review

Printers can institute a policy of holding new Jobs for review, such as when an unusual print request is received ("print one million copies of a brochure"), randomly as a means of auditing all print jobs, or as a blanket policy ("all color print jobs from students are held for review"). Such Jobs are placed in the 'pending-held' state with the 'job-held-for-review' keyword added to the "job-state-reasons" Job Description Status attribute. When released by an authorized user, the Printer then places the Job in the 'pending' or 'processing' states and removes the 'job-held-for-review' keyword.

Page 23 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

61

62

448449450451452453454455

456

457

458459460461

462463464465466467468

469

470471472473474475476

63

Page 24: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

5. HTTP Authentication - Default Username

Printers supporting Basic authentication [RFC7617] MUST support a default username specified in the WWW-Authenticate header. For example:

WWW-Authenticate: Basic realm=”Example Printer” username=”guest”

Printers supporting Digest authentication [RFC7616] MUST support a default username specified in the WWW-Authenticate header. For example:

WWW-Authenticate: Digest realm=”Example Printer” \ nonce=”0123456789abcdefg” username=”guest”

The default username can be changed or disabled through the Printer’s web interface or other mechanisms.

Page 24 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

64

65

477

478479

480

481482

483484

485486

487

66

Page 25: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[6.] IPP Attributes

5.1[6.1] Operation Attributes

5.1.1[6.1.1] charge-info-message (text)

This attribute provides a localized message concerning any Paid Imaging Service charge information, typically the remaining balance on the requesting user’s account. Printers that implement Paid Imaging Services SHOULD return this attribute in response to a Create-Job, Print-Job, Print-URI, or Validate-Job request.

5.1.2[6.1.2] job-authorization-uri (uri)

This RECOMMENDED attribute specifies an implementation-specific URI representing an authorization or reservation code for a print job Job creation Creation requestRequest. It is returned by the Validate-Job operation (section 7.2) and supplied in the Create-Job, Print-Job, and Print-URI operations (section 7.1).

Printers that support this attribute MUST also support the “job-authorization-uri-supported” (section 6.4.3) Printer Description attribute.

5.1.3[6.1.3] job-impressions-estimated (integer(1:MAX))

This attribute specifies the estimated "job-impressions" [STD92] value for a subsequent print jJob creation Creation requestRequest. It is supplied in a Validate-Job request (section 7.2) when supporting accounting or Paid Imaging Services.

5.2[6.2] Job Status Attributes

5.2.1[6.2.1] job-charge-info (text)

This RECOMMENDED attribute provides a localized message concerning any Paid Imaging Service charge information, typically the cost charged to the requesting user’s account.

Page 25 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

67

68

488

489

490

491

492493494495

496

497498499500

501502

503

504505506

507

508

509510511

69

Page 26: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Page 26 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

70

71

512

72

Page 27: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

5.2.2 profile-uri-actual (uri)

This attribute is returned by the Validate-Job operation (section 7.2) and specifies which ICC color profile will be used by the Printer for the given Job Template attributes. This attribute MUST be supported if the "printer-icc-profiles" Printer attribute [PWG5100.13] is supported.

The ICC profile can be used for Client-based color matching and soft proofing.

[6.3] Job Template Attributes

5.2.3[6.3.1] job-account-type (type2 keyword | name(MAX))

This RECOMMENDED attribute specifies the type of value that was specified in the "job-account-id" Job Template attribute [PWG5100.7]. The following values are defined in this specification:

'general': A general-purpose identifier was supplied.

'group': A group identifier was supplied.

'none': No account identifier was supplied.

[6.3.2] print-scaling (type2 keyword)

This REQUIRED attribute specifies how the Printer scales the Document data to fit the requested media. Standard keywords are:

'auto'; if the “ipp-attribute-fidelity” attribute is true or the document is larger than the requested media, scale the document using the 'fit' method if the margins are non-zero, otherwise scale using the 'fill' method. If the “ipp-attribute-fidelity” attribute is false or unspecified and the document is smaller than the requested media, scale using the 'none' method.

‘auto-fit’; if the “ipp-attribute-fidelity” attribute is true or the document is larger than the requested media, scale the document using the ‘fit’ method. Otherwise, scale using the ‘none’ method.

Page 27 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

73

74

513

514515516517

518

519

520

521522523

524

525

526

527

528529

530531532533534

535536537

75

Page 28: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

'fill'; scale the document to fill the requested media size, preserving the aspect ratio of the document data but potentially cropping portions of the document.

'fit'; scale the document to fit the printable area of the requested media size, preserving the aspect ratio of the document data without cropping the document.

'none'; do not scale the document to fit the requested media size. If the document is larger than the requested media, center and clip the resulting output. If the document is smaller than the requested media, center the resulting output.

The 'auto' value is typically the default. Figure 3 shows how a 3:2 aspect ratio photo image is scaled using the 'fit' and 'fill' values on US Letter and US Legal media.

The "print-scaling" attribute MUST control the scaling of the supported IPP Everywhere MIME media types - "application/oxps", "application/pdf", "image/jpeg", and "image/pwg-raster" - and SHOULD control the scaling of document data in other formats.

Page 28 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

76

77

538539

540541

542543544

545546

547548549

550

78

Page 29: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Figure 3 - "print-scaling" Values

Page 29 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

79

80

551

552

81

Page 30: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[6.4] Printer Description Attributes

5.2.4[6.4.1] job-account-type-default (type2 keyword | name(MAX))

The default value supplied by the Printer if the Client omits the "job-account-type" (section 6.3.1) Job Template attribute. This attribute is REQUIRED if the “job-account-type” Job Template attribute is supported.

5.2.5[6.4.2] job-account-type-supported (1setOf (type2 keyword | name(MAX)))

The list of supported "job-account-type" (section 6.3.1) Job Template attribute values. This attribute is REQUIRED if the “job-account-type” Job Template attribute is supported.

5.2.6[6.4.3] job-authorization-uri-supported (boolean)

This attribute specifies whether the “job-authorization-uri” (section 6.1.2) operation attribute is supported. This attribute is REQUIRED if the “job-authorization-uri” operation attribute is supported.

[6.4.4] jpeg-k-octets-supported (rangeOfInteger(0:MAX))

This attribute specifies the upper and lower bounds of total sizes of JFIF jobs in K octets, i.e., in units of 1024 octets. The lower bound is always 0. Printers that support the "image/jpeg" MIME media type MUST support this attribute.

[6.4.5] jpeg-x-dimension-supported (rangeOfInteger(0:65535))

This attribute specifies the maximum horizontal dimension of JFIF jobs in samples per line. Pursuant to the JPEG File Information Format Version 1.02 [JFIF], the lower bound is always 0. Printers that support the "image/jpeg" MIME media type MUST support this attribute.

[6.4.6] jpeg-y-dimension-supported (rangeOfInteger(1:65535))

This attribute specifies the maximum vertical dimension of JFIF jobs in lines. Pursuant to the JPEG File Information Format Version 1.02 [JFIF], the lower bound is always 1. Printers that support the "image/jpeg" MIME media type MUST support this attribute.

Page 30 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

82

83

553

554

555556557

558

559560

561

562563564

565

566567568

569

570571572573

574

575576577

84

Page 31: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[6.4.7] pdf-k-octets-supported (rangeOfInteger(0:MAX))

This attribute specifies the upper and lower bounds of total sizes of PDF jobs in K octets, i.e., in units of 1024 octets. The lower bound is always 0. Printers that support the "application/pdf" MIME media type MUST support this attribute.

[6.4.8] pdf-versions-supported (1setOf type2 keyword)

This attribute specifies the supported versions of documents using the "application/pdf" MIME media type. Printers that support the "application/pdf" MIME media type MUST support this attribute.

The following keyword values are defined:

'adobe-1.3': PDF files conforming to Adobe PDF Language Reference, Version 1.3 [ADOBEPDF1.3] are supported

'adobe-1.4': PDF files conforming to Adobe PDF Language Reference, Version 1.4 [ADOBEPDF1.4] are supported

'adobe-1.5': PDF files conforming to Adobe PDF Language Reference, Version 1.5 [ADOBEPDF1.5] are supported

'adobe-1.6': PDF files conforming to Adobe PDF Language Reference, Version 1.6 [ADOBEPDF1.6] are supported

'iso-15930-1_2001': PDF files conforming to "Graphic technology -- Prepress digital data exchange -- Use of PDF -- Part 1: Complete exchange using CMYK data (PDF/X-1 and PDF/X-1a)" [ISO15930-1] are supported

'iso-15930-3_2002': PDF files conforming to "Graphic technology -- Prepress digital data exchange -- Use of PDF -- Part 3: Complete exchange suitable for colour-managed workflows (PDF/X-3)" [ISO15930-3] are supported

'iso-15930-4_2003': PDF files conforming to "Graphic technology -- Prepress digital data exchange using PDF -- Part 4: Complete exchange of CMYK and spot colour printing data using PDF 1.4 (PDF/X-1a)" [ISO15930-4] are supported

Page 31 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

85

86

578

579580581

582

583584585

586

587588

589590

591592

593594

595596597

598599600

601602603

87

Page 32: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

'iso-15930-6_2003': PDF files conforming to "Graphic technology -- Prepress digital data exchange using PDF -- Part 6: Complete exchange of printing data suitable for colour-managed workflows using PDF 1.4 (PDF/X-3)" [ISO15930-6] are supported

'iso-15930-7_2010': PDF files conforming to "Graphic technology -- Prepress digital data exchange using PDF -- Part 7: Complete exchange of printing data (PDF/X-4) and partial exchange of printing data with external profile reference (PDF/X-4p) using PDF 1.6" [ISO15930-7] are supported

'iso-15930-8_2010': PDF files conforming to "Graphic technology -- Prepress digital data exchange using PDF -- Part 8: Partial exchange of printing data using PDF 1.6 (PDF/X-5)" [ISO15930-8] are supported

'iso-16612-2:2010': PDF files conforming to "Graphic technology -- Variable data exchange -- Part 2: Using PDF/X-4 and PDF/X-5 (PDF/VT-1 and PDF/VT-2)" [ISO16612-2] are supported

'iso-19005-1_2005': PDF files conforming to Document Management – Electronic document file format for long term preservation – Part 1: Use of PDF 1.4 (PDF/A-1) [ISO19005-1] are supported

'iso-19005-2_2011': PDF files conforming to Document management – Electronic document file format for long-term preservation – Part 2: Use of ISO 32000-1 (PDF/A-2) [ISO19005-2] are supported

'iso-19005-3_2012': PDF files conforming to Document management -- Electronic document file format for long-term preservation -- Part 3: Use of ISO 32000-1 with support for embedded files (PDF/A-3) [ISO19005-3] are supported

'iso-32000-1_2008': PDF files conforming to Document management—Portable document format—Part 1: PDF 1.7 [ISO32000-1] are supported

'none': PDF files are not supported

'pwg-5102.3': PDF files conforming to Portable Document Format: Image Streamable (PDF/is) [PWG5102.3]

Page 32 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

88

89

604605606

607608609610

611612613

614615616

617618619

620621622

623624625

626627

628

629630

90

Page 33: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[6.4.9] print-scaling-default (type2 keyword)

This REQUIRED attribute provides the default value supplied by the Printer if the Client omits the "print-scaling" (section 6.3.2) Job Template attribute from a Job Creation request.

[6.4.10] print-scaling-supported (1setOf type2 keyword)

This REQUIRED attribute lists the supported values for the "print-scaling" (section 6.3.2) Job Template attribute. Printers MUST support all of the listed values for the supported IPP Everywhere MIME media types - "application/pdf", "image/jpeg", and "image/pwg-raster".

5.2.7[6.4.11] printer-charge-info (text(MAX))

This RECOMMENDED attribute provides a human-readable description of Paid Imaging Services for the Printer. Typically, this description will provide a summary of cost information.

5.2.8[6.4.12] printer-charge-info-uri (uri)

This RECOMMENDED attribute provides a "http:" or "https:" URI referring to a human-readable web page for Paid Imaging Services for the Printer. Typically, this web page will provide cost information and allow the Client to obtain a "job-accounting-id" value for subsequent print jobs.

[6.4.13] printer-dns-sd-name (name(63))

This REQUIRED attribute provides the current DNS-SD service name for the Printer. For example, if the Printer registers “Example Make and Model._ipp._tcp,_print.local.”, this attribute would contain “Example Make and Model”.

Printers that support changing the value using the Set-Printer-Attributes operation MUST list "printer-dns-sd-name" in the "printer-settable-attributes-supported" Printer attribute [RFC3380]. When a new name is set, the Printer MUST re-register all DNS-SD services associated with it. However, if the new name causes a collision with other network devices, the Printer MUST replace the value set with a non-conflicting name as required by multicast DNS, typically by appending a unique number to the provided name.

Page 33 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

91

92

631

632633634

635

636637638639

640

641642643

644

645646647648

649

650651652

653654655656657658

93

Page 34: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Note: Changing the DNS-SD service name can prevent Clients from resolving the Printer's services if those Clients use a statically configured name for the Printer.

[6.4.14] printer-kind (1setOf type2 keyword | name(MAX))

This REQUIRED attribute lists the categories of printing that are supported by the Printer. This information is typically used to conveniently determine whether a Printer supports the kind of printing required by the Client software. Name values define site- or vendor-specific categories while keywords define standard categories. The following keywords are defined:

‘disc’: the Printer supports printing on optical discs such as printable CD-Rs and DVD-Rs

‘document’: the Printer supports regular document printing on standard cut sheet media such as US Letter, US Legal, US Tabloid, ISO A4, and ISO A3 media

‘envelope’: the Printer supports printing on envelopes

‘label’: the Printer supports printing on cut labels

'large-format': the Printer supports printing on cut sheet sizes and roll media larger than ISO A3

‘photo’: the Printer supports printing with photographic print quality

'postcard': the Printer supports printing on postcards

‘receipt’: the Printer supports printing receipts on continuous rolls

‘roll’: the Printer supports printing documents or photos on continuous rolls, typically on large-format printers

Page 34 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

94

95

659660

661

662663664665666

667668

669670

671

672

673674

675

676

677

678679

96

Page 35: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[6.4.15] Printers that support changing the value using the Set-Printer-Attributes operation MUST list "printer-kind" in the "printer-settable-attributes-supported" Printer attribute [RFC3380]. The Get-Printer-Supported-Values operation returns the factory default category values for the Printer.printer-mandatory-job-attributes (1setOf keyword)

This RECOMMENDED Printer Description attribute lists the minimum Job Template and operation attributes that are required for a successful Job Creation Request. A Printer MAY reject the Job Creation Request if the Client does not supply these attributes in its request.

Member attributes of collections are specified by concatenating attribute names delimited by the period (".") character, e.g., the "media-source" member attribute of the "media-col" Job Template attribute [PWG5100.7] would be requested using the keyword value 'media-col.media-source'.

Printers MUST NOT report this attribute in a Get-Printer-Attributes response if no attributes are required for a successful Job Creation Request.

5.2.9[6.4.16] printer-requested-job-attributes (1setOf keyword)

This RECOMMENDED attribute lists the attributes the Printer wants but does not need in order to support Job Accounting. Member attributes of collections are specified by concatenating attribute names delimited by the period (".") character, e.g., the "document-source-application-name" member attribute of the "document-format-details" operation attribute [PWG5100.7] would be requested using the keyword value 'document-format-details.document-source-application-name'. If supported, Clients MUST allow the End User to explicitly consent to the sending of any attributes or values that are not explicitly chosen by the End User.

For example, a Printer can list the 'media' and 'media-col' keywords in "printer-requested-job-attributes". If the Client application provides a UI control for selecting a media size, no additional consent is needed since the UI allows the User to select which value is sent.

However, if a Printer lists the "document-format-details.document-source-application-name' keyword in "printer-requested-job-attributes", it is unlikely that the Client application will provide a UI control for selecting the application name that is sent to the Printer. In this case, the Client MUST provide a UI that allows the End User to opt out of sending the

Page 35 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

97

98

680681682683684

685686687688

689690691692

693694

695

696697698699700701702703

704705706

707708709710

99

Page 36: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

requested information. If the End User opts out of sending the requested information, the Client MUST NOT send it.

6.[7.] Additional Semantics for Existing Operations

6.1[7.1] Create-Job, Print-Job, and Print-URI

Printers that support Paid Imaging Services SHOULD accept the “job-authorization-uri” (section 6.1.2) operation attribute. Printers that support Paid Imaging Services SHOULD also return the “charge-info-message” (section 6.1.1) operation attribute. Clients determine whether to include the "job-authorization-uri" operation attribute by querying for the value of the "job-authorization-uri-supported" (section 6.4.3) Printer attribute.

6.2[7.2] Validate-Job

The Validate-Job operation is used to validate access to the Printer, validate and resolve any conflicts in the Job Template attributes that will be used in a subsequent Create-Job or Print-Job request, and determine the optimal raster parameters for printing.

6.2.1[7.2.1] Validate-Job Request

Printers SHOULD accept the “job-impressions-estimated” (section 6.1.3) operation attribute.

6.2.2[7.2.2] Validate-Job Response

Printers SHOULD return the "charge-info-message" (section 6.1.1) and "job-authorization-uri" (section 6.1.2) operation attributes. Printers that support the "printer-icc-profiles" Printer attribute MUST return the "profile-uri-actual" (section 6.2) operation attribute in the Validate-Job response, which contains one of the "profile-uri" member attribute values contained in the "printer-icc-profiles" Printer attribute.

Page 36 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

100

101

711712

713

714

715716717718719

720

721722723

724

725726

727

728729730731732

733

102

Michael R Sweet, 01/28/20,
Changed to SHOULD since the point of this specification is to provide a way to support transactions.
Page 37: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

7. Additional Values for Existing Attributes

7.1[7.3] job-state-reasons (1setOf type2 keyword)

This specification defines the following new values for the “job-state-reasons” [STD92] Job Status attribute:

‘account-authorization-failed’: The “job-authorization-uri” attribute was not supplied the value supplied is not valid, or the value supplied has expired.

‘account-closed’: The requesting user’s account has been closed.

‘account-info-needed’: Additional information is required, such as a “job-account-id” or “job-accounting-user-id” value.

‘account-limit-reached’: The requesting user’s account has reached its limit and/or exhausted any balance on the account.

'conflicting-attributes': The Job Template or Document Template attributes contain conflicting values.

'job-held-for-review': The Job has been held for review.

‘job-release-wait’: The Job is held until released for printing on a particular output device.

'unsupported-attributes-or-values': The Job Template or Document-Template attributes contain unsupported attributes or values.

[7.4] Status Codes

This specification defines the following new status codes that can be returned by the Create-Job, Print-Job, Print-URI, or Validate-Job operations:

client-error-account-info-needed (0x41C); The request is missing required account information such as the “requesting-user-name”, “requesting-user-uri”, “job-account-id”, or “job-accounting-user-id”.

Page 37 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

103

104

734

735

736737

738739

740

741742

743744

745746

747

748749

750751

752

753754

755756757

105

Page 38: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

client-error-account-closed (0x41D); The requesting user’s account has been closed.

client-error-account-limit-reached (0x41E); The requesting user’s account has reached its limit or exhausted any remaining balance.

client-error-account-authorization-failed (0x41F); The print jJob creation Creation request Request is missing the “job-authorization-uri” operation attribute, the supplied value is not valid, or the value supplied has expired.

Page 38 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

106

107

758759

760761

762763764

765

108

Page 39: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

8. Conformance Requirements

This section summarizes the Conformance Requirements detailed in the definitions in this document for Clients and Printers.

8.1 Conformance Requirements for Clients

In order for a Client to claim conformance to this specification, a Client MUST support the following:

3.[6.] The internationalization considerations in section 10; and4. The security consideration in section 11.The "print-scaling" (section 6.3.2) Job

Template attribute[1.] The "print-scaling-default" (section 6.4.9) and "print-scaling-supported" (section

6.4.10) Printer attributes

8.2 Conformance Requirements for Printers

In order for a Printer to claim conformance to this specification, a Printer MUST support:

5.[2.] The internationalization considerations in section 10; and1. The security consideration in section 11. The "print-scaling" (section 6.3.2) Job

Template attribute[3.] The "print-scaling-default" (section 6.4.9) and "print-scaling-supported" (section

6.4.10) Printer attributes[4.] The "printer-dns-sd-name" (section 6.4.13) Printer attribute[5.] The "printer-kind" (section 6.4.14) Printer attribute

Printers that conform to HTTP Digest Access Authentication [RFC7616] and/or the HTTP 'Basic' Authentication Scheme [RFC7617] MUST support the "username" attribute in the "WWW-Authenticate" header (section 5).

To claim conformance for the OPTIONAL RECOMMENDED "job-authorization-uri" (section 6.1.2) operation attribute, Printers MUST support the "job-authorization-uri-supported" (section 6.4.3) Printer attribute.

Page 39 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

109

110

766

767768

769

770771

772773774775776

777

778

779780781782783784785

786787788

789790791

111

Page 40: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Printers that support the "printer-icc-profiles" Printer attribute MUST support the "profile-uri-actual" (section 6.2) operation attribute.

Printers that conform to the JPEG File Interchange Format Version 1.02 [JFIF] MUST support:

[1.] The "jpeg-k-octets-supported" (section 6.4.4) Printer attribute[2.] The "jpeg-x-dimension-supported" (section 6.4.5) Printer attribute[3.] The "jpeg-y-dimension-supported" (section 6.4.6) Printer attribute

Printers that conform to the Document management -- Portable document format -- Part 1: PDF 1.7 [ISO32000] MUST support:

[1.] The "pdf-k-octets-supported" (section 6.4.7) Printer attribute[2.] The "pdf-versions-supported" (section 6.4.8) Printer attribute

[9.] Internationalization Considerations

For interoperability and basic support for multiple languages, conforming implementations MUST support:

1. The Universal Character Set (UCS) Transformation Format -- 8 bit (UTF-8) [STD63] encoding of Unicode [UNICODE] [ISO10646]; and

2. The Unicode Format for Network Interchange [RFC5198] which requires transmission of well-formed UTF-8 strings and recommends transmission of normalized UTF-8 strings in Normalization Form C (NFC) [UAX15].

Unicode NFC is defined as the result of performing Canonical Decomposition (into base characters and combining marks) followed by Canonical Composition (into canonical composed characters wherever Unicode has assigned them).

WARNING – Performing normalization on UTF-8 strings received from Clients and subsequently storing the results (e.g., in Job objects) could cause false negatives in Client searches and failed access (e.g., to Printers with percent-encoded UTF-8 URIs now 'hidden').

Implementations of this specification SHOULD conform to the following standards on processing of human-readable Unicode text strings, see:

Page 40 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

112

113

792793

794795

796797798

799800

801802

803

804805

806807808809810

811812813

814815816817

818819

114

Page 41: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Unicode Bidirectional Algorithm [UAX9] – left-to-right, right-to-left, and vertical

Unicode Line Breaking Algorithm [UAX14] – character classes and wrapping

Unicode Normalization Forms [UAX15] – especially NFC for [RFC5198]

Unicode Text Segmentation [UAX29] – grapheme clusters, words, sentences

Unicode Identifier and Pattern Syntax [UAX31] – identifier use and normalization

Unicode Collation Algorithm [UTS10] – sorting

Unicode Locale Data Markup Language [UTS35] – locale databases

Implementations of this specification are advised to also review the following informational documents on processing of human-readable Unicode text strings:

Unicode Character Encoding Model [UTR17] – multi-layer character model

Unicode Character Property Model [UTR23] – character properties

Unicode Conformance Model [UTR33] – Unicode conformance basis

9.[10.] Security Considerations

The IPP extensions defined in this document require the same security considerations as defined in the Internet Printing Protocol/1.1 [STD92].

Implementations of this specification SHOULD conform to the following standard on processing of human-readable Unicode text strings, see:

Unicode Security Mechanisms [UTS39] – detecting and avoiding security attacks

Implementations of this specification are advised to also review the following informational document on processing of human-readable Unicode text strings:

Unicode Security FAQ [UNISECFAQ] – common Unicode security issues

Page 41 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

115

116

820

821

822

823

824

825

826

827828

829

830

831

832

833834

835836

837

838839

840

117

Page 42: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

10.[11.] IANA Considerations

10.1[11.1] Attribute Registrations

The attributes defined in this specification will be published by IANA according to the procedures in the Internet Printing Protocol/1.1 [STD92] in the following file:

http://www.iana.org/assignments/ipp-registrations

The registry entries will contain the following information:

Operation attributes: Reference-------------------- ---------charge-info-message (text) [PWG5100.16]job-authorization-uri (uri) [PWG5100.16]job-impressions-estimated (integer(1:MAX)) [PWG5100.16]profile-uri-actual (uri) [PWG5100.16]

Job Status attributes: Reference-------------------------- ---------job-charge-info (text) [PWG5100.16]

Job Template attributes: Reference----------------------- ---------job-account-type (type2 keyword | name(MAX)) [PWG5100.16]print-scaling (type2 keyword) [PWG5100.16]

Printer Description attributes: Reference------------------------------ ---------job-account-type-default (type2 keyword | name(MAX)) [PWG5100.16]job-account-type-supported (1setOf (type2 keyword | name(MAX))

[PWG5100.16]job-authorization-uri-supported (boolean) [PWG5100.16]jpeg-k-octets-supported (rangeOfInteger(0:MAX)) [PWG5100.16]jpeg-x-dimension-supported (rangeOfInteger(0:65535)) [PWG5100.16]jpeg-y-dimension-supported (rangeOfInteger(1:65535)) [PWG5100.16]pdf-k-octets-supported (rangeOfInteger(0:MAX)) [PWG5100.16]pdf-versions-supported (1setOf type2 keyword) [PWG5100.16]print-scaling-default (type2 keyword) [PWG5100.16]print-scaling-supported (1setOf type2 keyword) [PWG5100.16]printer-charge-info (text(MAX)) [PWG5100.16]printer-charge-info-uri (uri) [PWG5100.16]printer-dns-sd-name (name(63)) [PWG5100.16]

Page 42 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

118

119

841

842

843844

845

846

847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878

120

Page 43: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

printer-kind (1setOf type2 keyword) [PWG5100.16]printer-mandatory-job-attributes (1setOf keyword) [PWG5100.16]printer-requested-job-attributes (1setOf keyword) [PWG5100.16]

10.2[11.2] Type2 keyword Registrations

The keyword values defined in this specification will be published by IANA according to the procedures in the Internet Printing Protocol/1.1 [STD92] in the following file:

http://www.iana.org/assignments/ipp-registrations

The registry entries will contain the following information:

Attributes (attribute syntax) Keyword Attribute Value Reference ----------------------- ---------job-account-type (type2 keyword | name(MAX)) [PWG5100.16] general [PWG5100.16] group [PWG5100.16] none [PWG5100.16]job-account-type (type2 keyword | name(MAX)) [PWG5100.16] < any "job-account-type" value > [PWG5100.16]job-account-type (1setOf (type2 keyword | name(MAX))) [PWG5100.16] < any "job-account-type" value > [PWG5100.16]

job-state-reasons (1setOf type2 keyword) [STD92] account-authorization-failed [PWG5100.16] account-closed [PWG5100.16] account-info-needed [PWG5100.16] account-limit-reached [PWG5100.16] conflicting-attributes [PWG5100.16] job-held-for-review [PWG5100.16] job-release-wait [PWG5100.16] unsupported-attributes-or-values [PWG5100.16]

pdf-versions-supported (1setOf type2 keyword) [PWG5100.16] adobe-1.3 [PWG5100.16] adobe-1.4 [PWG5100.16] adobe-1.5 [PWG5100.16] adobe-1.6 [PWG5100.16] iso-15930-1_2001 [PWG5100.16]

Page 43 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

121

122

879880881882883

884

885886

887

888

889890891892893894895896897898899900901902903904905906907908909910911912913914915916

123

Page 44: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

iso-15930-3_2002 [PWG5100.16] iso-15930-4_2003 [PWG5100.16] iso-15930-6_2003 [PWG5100.16] iso-15930-7_2010 [PWG5100.16] iso-15930-8_2010 [PWG5100.16] iso-16612-2_2010 [PWG5100.16] iso-19005-1_2005 [PWG5100.16] iso-19005-2_2011 [PWG5100.16] iso-19005-3_2012 [PWG5100.16] iso-32000-1_2008 [PWG5100.16] none [PWG5100.16] pwg-5102.3 [PWG5100.16]

[11.3] Operation Registrations

The operations defined in this specification will be published by IANA according to the procedures in the Internet Printing Protocol/1.1 [STD92] in the following file:

http://www.iana.org/assignments/ipp-registrations

The registry entries will contain the following information:

Operation Name Reference-------------- ---------Create-Job (extension) [PWG5100.16]Print-Job (extension) [PWG5100.16]Print-URI (extension) [PWG5100.16]Validate-Job (extension) [PWG5100.16]

10.3[11.4] Status Code Registrations

The status codes defined in this specification will be published by IANA according to the procedures in the Internet Printing Protocol/1.1 [STD92] in the following file:

http://www.iana.org/assignments/ipp-registrations

The registry entries will contain the following information:

Value Status Code Name Reference------ --------------------------------------------- ---------0x0400:0x04FF - Client Error: 0x041C client-error-account-info-needed [PWG5100.16]

Page 44 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

124

125

917918919920921922923924925926927928

929

930931

932

933

934935936937938939

940

941942

943

944

945946947948

126

Page 45: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

0x041D client-error-account-closed [PWG5100.16] 0x041E client-error-account-limit-reached [PWG5100.16] 0x041F client-error-account-authorization-failed [PWG5100.16]

Page 45 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

127

128

949950951

952

129

Page 46: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

11. Overview of Changes

11.1[11.5] IPP Transaction-Based Printing Extensions v1.1

The following changes were made to the previous version of this specification [PWG5100.16-2013]:

The RECOMMENDED "printer-charge-info" and "printer-charge-info-uri" Printer Description attributes were added from [PWG5100.13-2012];

The RECOMMENDED "printer-mandatory-job-attributes" Printer Description attribute was added from [PWG5100.11-2010];

The RECOMMENDED "printer-requested-job-attributes" Printer Description attribute was added;

The "profile-uri" operation attribute was moved to the IPP Driverless Printing Extensions v2.0 (NODRIVER);

The "print-scaling" Job Template attribute was moved to the IPP Driverless Printing Extensions v2.0 (NODRIVER);

The "jpeg-k-octets-supported", "jpeg-x-dimension-supported", "jpeg-y-dimension-supported", "pdf-k-octets-supported", "pdf-versions-supported", "print-scaling-default", "print-scaling-supported", "printer-dns-sd-name", and "printer-kind" Printer Description attributes were moved to the IPP Driverless Printing Extensions v2.0 (NODRIVER);

The 'conflicting-attributes', 'job-release-wait', and 'unsupported-attributes-or-values' keywords for the "job-state-reasons" Job Status attribute were moved to the IPP Enterprise Printing Extensions v2.0 (EPX); and

The required state for Jobs submitted to release printing services was relaxed.

Page 46 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

130

131

953

954

955956

957958

959960

961962

963964

965966

967968969970971

972973974

975

976

132

Page 47: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

12. References

12.1[11.6] Normative References

[BCP14] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119/BCP 14, March 1997, https://tools.ietf.org/html/bcp14

[ISO10646] "Information technology -- Universal Coded Character Set (UCS)", ISO/IEC 10646:2011

[ISO15930-1] "Graphic technology -- Prepress digital data exchange -- Use of PDF -- Part 1: Complete exchange using CMYK data (PDF/X-1 and PDF/X-1a)", ISO 15930-1:2001, 2001

[ISO15930-3] "Graphic technology -- Prepress digital data exchange -- Use of PDF -- Part 3: Complete exchange suitable for colour-managed workflows (PDF/X-3)", ISO 15930-3:2002

[ISO15930-4] "Graphic technology -- Prepress digital data exchange using PDF -- Part 4: Complete exchange of CMYK and spot colour printing data using PDF 1.4 (PDF/X-1a)", ISO 15930-4:2003

[ISO15930-6] "Graphic technology -- Prepress digital data exchange using PDF -- Part 6: Complete exchange of printing data suitable for colour-managed workflows using PDF 1.4 (PDF/X-3)", ISO 15930-6:2003

[ISO15930-7] "Graphic technology -- Prepress digital data exchange using PDF -- Part 7: Complete exchange of printing data (PDF/X-4) and partial exchange of printing data with external profile reference (PDF/X-4p) using PDF 1.6", ISO 15930-7:2010

[ISO15930-8] "Graphic technology -- Prepress digital data exchange using PDF -- Part 8: Partial exchange of printing data using PDF 1.6 (PDF/X-5)", ISO 15930-8:2010, 2010

Page 47 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

133

134

977

978

979980981

982983

984985986

987988989

990991992

993994995

996997998999

100010011002

135

Page 48: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[ISO16612-2] "Graphic technology -- Variable data exchange -- Part 2: Using PDF/X-4 and PDF/X-5 (PDF/VT-1 and PDF/VT-2)", ISO 16612-2:2010

[ISO19005-1] "Document Management – Electronic document file format for long term preservation – Part 1: Use of PDF 1.4 (PDF/A-1)", ISO 19005-1:2005, October 2005

[ISO19005-2] "Document management – Electronic document file format for long-term preservation – Part 2: Use of ISO 32000-1 (PDF/A-2)", ISO 19005-2:2011, June 2011

[ISO19005-3] "Document management -- Electronic document file format for long-term preservation -- Part 3: Use of ISO 32000-1 with support for embedded files (PDF/A-3)", ISO 19005-3:2012, October 2012

[ISO29500-2] "Information technology -- Document description and processing languages -- Office Open XML File Formats -- Part 2: Open Packaging Conventions", ISO/IEC 29500-2:2012, September 2012

[ISO32000] "Document management — Portable document format — Part 1: PDF 1.7", ISO 32000-2008, January 2008

[JFIF] E. Hamilton, "JPEG File Interchange Format Version 1.02", September 1992, https://www.w3.org/Graphics/JPEG/jfif3.pdf

[PWG5100.7] M. Sweet, "IPP Job Extensions v2.0 (JOBEXT)", PWG 5100.7-2019, August 2019, https://ftp.pwg.org/pub/pwg/candidates/cs-ippjobext20-20190816-5100.7.pdf

[PWG5100.11] S. Kennedy, "IPP Enterprise Printing Extensions v2.0 (EPX)", PWG 5100.11-YYYY, Month YYYY, https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippepx20-20191010.pdf

[PWG5100.12] R. Bergman, H. Lewis, I. McDonald, M. Sweet, "IPP 2.0, 2.1, and 2.2", PWG 5100.12-2015, October 2015, https://www.pwg.org/pub/pwg/standards/std-ipp20-20151030-5100.12.pdf

Page 48 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

136

137

10031004

100510061007

100810091010

101110121013

101410151016

10171018

10191020

102110221023

102410251026

1027102810291030

138

Page 49: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[PWG5100.13] S. Kennedy, "IPP Driverless Printing Extensions v2.0", PWG 5100.13-YYYY, Month YYYY, https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippnodriverv20-20191121.pdf

[PWG5100.14] M. Sweet, I. McDonald, A. Mitchell, J. Hutchings, "IPP Everywhere v1.1", PWG 5100.14-YYYY2013, January 2013Month YYYY, https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeve11-20190827.pdf https:// ftp.pwg.org/pub/pwg/candidates/cs-ippeve10-20130128-5100.14.pdf

[RFC3380] T. Hastings, R. Herriot, C. Kugler, H. Lewis, "Internet Printing Protocols (IPP): Job and Printer Set Operations", RFC 3380, September 2002, https://tools.ietf.org/html/rfc3380

[RFC5198] J. Klensin, M. Padlipsky, "Unicode Format for Network Interchange", RFC 5198, March 2008, https://tools.ietf.org/html/rfc5198

[RFC6763] S. Cheshire, M. Krocmal, "DNS-Based Service Discovery", RFC 6763, February 2013, https://tools.ietf.org/html/rfc6763

[RFC7230] R. Fielding, J. Reschke, "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, June 2014, https://tools.ietf.org/html/rfc7230

[RFC7616] R. Shekh-Yusef, D. Ahrens, S. Bremer, "HTTP Digest Access Authentication", RFC 7616, September 2015, https://tools.ietf.org/html/rfc7616

[RFC7617] J. Reschke, "The 'Basic' HTTP Authentication Scheme", RFC 7617, September 2015, https://tools.ietf.org/html/rfc7617

[STD63] F. Yergeau, "UTF-8, a transformation format of ISO 10646", RFC 3629/STD 63, November 2003, https://tools.ietf.org/html/std63

[STD92] M. Sweet, I. McDonald, "Internet Printing Protocol/1.1", STD 92, June 2018, https://tools.ietf.org/html/std92

[UAX9] Unicode Consortium, “Unicode Bidirectional Algorithm”, UAX#9, February 2019, https://www.unicode.org/reports/tr9

Page 49 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

139

140

103110321033

1034103510361037

103810391040

10411042

10431044

104510461047

104810491050

10511052

10531054

10551056

10571058

141

Page 50: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

[UAX14] Unicode Consortium, “Unicode Line Breaking Algorithm”, UAX#14, February 2019, https://www.unicode.org/reports/tr14

[UAX15] M. Davis, M. Duerst, "Unicode Normalization Forms", Unicode Standard Annex 15, February 2019, https://www.unicode.org/reports/tr15

[UAX29] Unicode Consortium, “Unicode Text Segmentation”, UAX#29, February 2019, https://www.unicode.org/reports/tr29

[UAX31] Unicode Consortium, “Unicode Identifier and Pattern Syntax”, UAX#31, February 2019, https://www.unicode.org/reports/tr31

[UNICODE] Unicode Consortium, "Unicode Standard", Version 12.0.0, March 2019, https://www.unicode.org/versions/Unicode12.0.0/

[UTS10] Unicode Consortium, “Unicode Collation Algorithm”, UTS#10, April 2019, https://www.unicode.org/reports/tr10

[UTS35] Unicode Consortium, “Unicode Locale Data Markup Language”, UTS#35, March 2019, https://www.unicode.org/reports/tr35

[UTS39] Unicode Consortium, “Unicode Security Mechanisms”, UTS#39, May 2019, https://www.unicode.org/reports/tr39

12.2[11.7] Informative References

[BONJOUR] Apple Inc., "Bonjour Printing Specification Version 1.2.1", February 2015, https://developer.apple.com/bonjour/printing-specification/bonjourprinting-1.2.1.pdf

[PrintTalk] CIP4, "Print Talk Specification Version 2.0", October 2019, https://confluence.cip4.org/display/PUB/PrintTalk

[PWG5100.11-2010]T. Hastings, D. Fullman, "IPP Job and Printer Extensions - Set 2 (JPS2)", PWG 5100.11-2010, October 2010,

Page 50 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

142

143

10591060

106110621063

10641065

10661067

10681069

10701071

10721073

10741075

1076

1077107810791080

10811082

108310841085

144

Page 51: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

https://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext10-20101030-5100.11.pdf

[PWG5100.13-2012]M. Sweet, I. McDonald, "IPP: Job and Printer Extensions - Set 3 (JPS3)", PWG 5100.13-2012, July 2012, https://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf

[PWG5100.16-2013]M. Sweet, "IPP Transaction-Based Printing Extensions", PWG 5100.16-2013, November 2013, https://ftp.pwg.org/pub/pwg/candidates/cs-ipptrans10-20131108-5100.16.pdf

[UTR17] Unicode Consortium “Unicode Character Encoding Model”, UTR#17, November 2008, https://www.unicode.org/reports/tr17

[UTR23] Unicode Consortium “Unicode Character Property Model”, UTR#23, May 2015, https://www.unicode.org/reports/tr23

[UTR33] Unicode Consortium “Unicode Conformance Model”, UTR#33, November 2008, https://www.unicode.org/reports/tr33

[UNISECFAQ] Unicode Consortium “Unicode Security FAQ”, November 2016,https://www.unicode.org/faq/security.html

13.[12.] Author's Address

Primary author:

Michael SweetApple Inc.One Apple Park WayCupertino, CA [email protected] Robotics Corporation

Page 51 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

145

146

10861087

10881089109010911092

10931094109510961097

10981099

11001101

11021103

11041105

1106

1107

11081109111011111112

1113

147

Page 52: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

14.[13.] Change History

This section will be removed when this document is published.

14.1[13.1] February 20, 2020

Abstract: Removed PIN and Release Printing

Removed "jpeg-xxx", "pdf-xxx", "print-scaling", "printer-dns-sd-name", and "printer-kind" attributes (these will now live in the updated PWG 5100.13)

Updated references to point to published documents rather than the current working drafts

Section 2.3: Fixed spelling mistake in definition of Release Printing

Section 3.1: Fixed typo

Sections 4.2 and 4.3: Job Status attributes

Section 4.3: Capitalize defined terms

Section 6.2.2: Remove mention of OpenXPS

Moved "printer-mandatory-job-attributes" from PWG 5100.11 to this specification

Moved "jpeg-k-octets-supported", "jpeg-x-dimension-supported", "jpeg-y-dimension-supported", "pdf-k-octets-supported", "pdf-versions-supported", "print-scaling", "print-scaling-default", "print-scaling-supported", "printer-dns-sd-name", "printer-kind", and "profile-uri" to NODRIVER

Moved 'conflicting-attributes', 'job-release-wait', and 'unsupported-attributes-or-values' keywords to EPX

14.2 January 30, 2020

Section 4: Changed title to "IPP Model"

Page 52 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

148

149

1114

1115

1116

1117

11181119

11201121

1122

1123

1124

1125

1126

1127

1128112911301131

11321133

1134

1135

150

Page 53: IPP Transaction-Based Printing Extensions · Web viewAbstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed

Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020

Section 6.4: Added printer-requested-job-attributes attribute from the Job Accounting draft.

Section 7.1: Broke up SHOULDs into two separate sentences.

14.3[13.2] January 28, 2020

Status: Stable

Added line numbers

Global: Reviewed all usage of MAY, replaced with "can" or "SHOULD" as appropriate

Global: Paid Imaging Service is a defined term, use it

Global: PIN Printing is a defined term, use it

Section 4.3: Fixed some editorial issues suggested in the December 19, 2019 concall

14.4[13.3] December 16, 2019

Initial revision.

Page 53 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.

151

152

11361137

1138

1139

1140

1141

11421143

1144

1145

11461147

1148

1149

153