Subject: [IPP] Various questions about 5100.13

From: "Kennedy, Smith \(Wireless & IPP Standards\) via ipp" <[email-masked]>
Date: Mon, 26 Oct 2020 16:35:55 +0000

Hi guys,

Trying to resolve various questions I have about stuff from 5100.13 that have arisen in my quest to produce the next IPP Driverless Printing Extensions v2.0 draft. If you could answer these offline, we will be able to move more quickly through the next review.

- "jpeg-k-octets-supported" and "pdf-k-octets-supported" : Why were these defined to use the (rangeOfInteger(0:MAX)) syntax if the lower bound is required to be zero?

- "printer-organization" and "printer-organizational-unit" : Why were these defined to use the (1setOf text(MAX)) syntax? Is this to accommodate values that are bigger than one text(MAX) could hold?

- "printer-input-tray", "printer-output-tray" and "printer-supply" - why were all of these defined as (1setOf octetString(MAX)) and not as (1setOf text(MAX)) if they contain textual information?

- what value do any of the "xxx-index" keywords for "printer-supply" provide?  correlation with the MIB for cross-protocol coordination? If none, I think we ought to make them all "DEPRECATED"

- In JPS3 "5.6.40.1 Encoding of printer-supply-description", #2 says:

2. Each value of"printer-supply-description" MUST be tagged with the natural language [RFC5646] specified by prtGeneralCurrentLocalization, prtLocalizationLanguage, and prtLocalizationCountry; and

It isn't clear where these "tags" need to be in the string values, and they aren't included in the PAPI values from the example, but I think they ought to be. Here's the examples I have in NODRIVER currently:

printer-supply-description[1] = "Black Toner Cartridge S/N:16859422"
printer-supply-description[2] = "Cyan Toner Cartridge S/N:16852765"
printer-supply-description[3] = "Magenta Toner Cartridge S/N:16859681"
printer-supply-description[4] = "Yellow Toner Cartridge S/N:16859372"
printer-supply-description[5] = "Waste Toner Bin S/N:16816815"
printer-supply-description[6] = "Fuser Kit S/N:16820223"
printer-supply-description[7] = "Transfer Kit S/N:16821304"

When tagged to indicate US English, would a tagged set look like this?

printer-supply-description[1] = "en-USBlack Toner Cartridge S/N:16859422"
printer-supply-description[2] = "en-USCyan Toner Cartridge S/N:16852765"
printer-supply-description[3] = "en-USMagenta Toner Cartridge S/N:16859681"
printer-supply-description[4] = "en-USYellow Toner Cartridge S/N:16859372"
printer-supply-description[5] = "en-USWaste Toner Bin S/N:16816815"
printer-supply-description[6] = "en-USFuser Kit S/N:16820223"
printer-supply-description[7] = "en-USTransfer Kit S/N:16821304"

Thanks for your help!

Smith

/**
    Smith Kennedy
    HP Inc.
*/

_______________________________________________
ipp mailing list
[email-masked]
https://www.pwg.org/mailman/listinfo/ipp

---

From: Michael Sweet via ipp <[email-masked]>
Date: Mon, 26 Oct 2020 12:46:57 -0400

Smith,

> On Oct 26, 2020, at 12:35 PM, Kennedy, Smith (Wireless & IPP Standards) <[email-masked]> wrote:
> 
> Hi guys,
> 

To be consistent with the job-k-octets-supported attribute (also rangeOfInteger).

> - "printer-organization" and "printer-organizational-unit" : Why were these defined to use the (1setOf text(MAX)) syntax? Is this to accommodate values that are bigger than one text(MAX) could hold?

Hmm, not sure, I don't see a reason why they'd be 1setOf and all of the implementations I've seen are always single-valued.

> - "printer-input-tray", "printer-output-tray" and "printer-supply" - why were all of these defined as (1setOf octetString(MAX)) and not as (1setOf text(MAX)) if they contain textual information?

"text" and "name" are human-readable (localized) text values with associated character set and language.  "octetString" is a binary string, in this case defined as US-ASCII with a particular ABNF syntax.

> - what value do any of the "xxx-index" keywords for "printer-supply" provide?  correlation with the MIB for cross-protocol coordination? If none, I think we ought to make them all "DEPRECATED"

I've never found there to be any value to them, but I believe it was supposed to map to the MIB table index.

> 2. Each value of"printer-supply-description" MUST be tagged with the natural language [RFC5646] specified by prtGeneralCurrentLocalization, prtLocalizationLanguage, and prtLocalizationCountry; and

FWIW, this should probably be reworded as it is confusing.  What it is trying to say is that if the description from the MIB is tagged in a different language than the request language, you need to use the textWithLanguage syntax so that the Client knows which language the description is in.

For example, if the MIB description is US English (en-US) but the IPP response is in French (fr-FR), the Printer MUST encode the values using the textWithLanguage syntax.

> printer-supply-description[7] = "en-USTransfer Kit S/N:16821304"

Tagged in this case means either encoding as textWithLanguage or using the attributes-natural-language value and the textWithoutLanguage encoding.

________________________
Michael Sweet

---

From: "Kennedy, Smith \(Wireless & IPP Standards\) via ipp" <[email-masked]>
Date: Mon, 26 Oct 2020 16:56:46 +0000

Hi Mike,

Thanks for the quick reply!

> On Oct 26, 2020, at 10:46 AM, Michael Sweet <[email-masked]> wrote:
> 
> Smith,
> 
> > On Oct 26, 2020, at 12:35 PM, Kennedy, Smith (Wireless & IPP Standards) <[email-masked] <mailto:[email-masked]>> wrote:
> >
> > Hi guys,
> >

Hmmm, so shouldn't the minimum value be at least the lower bounds of "job-k-octets-supported"?

> Hmm, not sure, I don't see a reason why they'd be 1setOf and all of the implementations I've seen are always single-valued.

We could leave it as-is but since this is a v2.0 I'm going to simplify it.

> "text" and "name" are human-readable (localized) text values with associated character set and language. "octetString" is a binary string, in this case defined as US-ASCII with a particular ABNF sy…

Ah, right!

> > - In JPS3 "5.6.40.1 <http://5.6.40.1> Encoding of printer-supply-description", #2 says:
> >

> For example, if the MIB description is US English (en-US) but the IPP response is in French (fr-FR), the Printer MUST encode the values using the textWithLanguage syntax.

That's what I started to wonder after hitting "Send".

OK, I'll reword and make it clear that the tags aren't visible, unless there is a way to encode the naturalLanguage portion of a  textWithLanguage value in PAPI?