Thanks Mike,
Yes, I noticed the IPP Everywhere requirement after sending out the note.
So why do we need to distinguish between IPP and IPP Everywhere printers? And if this is needed, is this the primary way to distinguish between them, or are there other indications? For example, is there an IPP Everywhere version TXT record (or should there be)?
And why use "_print" in IPP everywhere when Bonjour spec uses "_printer". It all seems to just add confusion. Maybe IPP Everywhere spec should include information clearing up this confusion (ie - a note that says "_print" IPP Everywhere service advertisement should not be confused with "_printer" from Bonjour spec, and that the "_print" advertisement is different (required in addition to) from the standard Bonjour advertisement to specifically differentiate an IPP Everywhere supported printer).
Apologies for my confusion, but when you have to read several specs (RFC, AirPrint, Bonjour Printing spec, IPP Everywhere) and try to coalesce all the requirements, it gets a little confusing.
Thanks,
Chris
Christopher Rizzo
Xerox Corporation
GDG/Discovery/Advance Technology
26600 SW Parkway Ave.
Wilsonville, OR 97070-9251
Phone: (585) 314-6936
Email: Christopher.Rizzo at xerox.com
"The realization came over me with full force that a good part of the remainder of my life was going to be spent in finding errors in my own programs."
-Maurice Wilkes, Memoirs of a Computer Pioneer
From: Michael Sweet <msweet at msweet.org>
Date: Monday, March 2, 2020 at 11:22 AM
To: Christopher Rizzo <Christopher.Rizzo at xerox.com>
Cc: PWG Workgroup <ipp at pwg.org>
Subject: Re: [IPP] PWG Call for Objections: IPP Transaction-Based Printing Extensions v1.1 (TRANS) (ends March 27, 2020)
Chris,
On Mar 2, 2020, at 1:49 PM, Rizzo, Christopher via ipp <ipp at pwg.org<mailto:ipp at pwg.org>> wrote:
I'm trying to get thru the IPP Everywhere self-cert tests and fix any issues with our software. The device under test (DUT) fails the very first test:
B-1 IPP Browse test: Printers appear in a search for "_ipp._tcp,_print" services.
The reason the device I'm testing fails, is because our device does not include ",_print" on the "_ipp._tcp" print service type.
I do not have strong knowledge of Bonjour requirements and MDNS itself, and I cannot find unambiguous requirements that say what "_print" is for and what it means to a client. In addition, the Bonjour Printing spec version 1.2.1 section 7.5 Advertising Services seems ambiguous, because it has an example (Apple LaserWriter) of advertising services without ",_print" in the first paragraph, and then shows "_http._tcp,_printer" service type example in last paragraph.
So the _print sub-type (that's what the ",_print" part selects with ippfind) is defined in the IPP Everywhere specification. Basically almost all IPP printers that support Bonjour also advertise the _ipp._tcp service type (as defined in the Bonjour Printing Specification) but we use the _print sub-type to differentiate an IPP printer from an IPP Everywhere printer.
(AirPrint does something similar, but with the _universal sub-type...)
What specification can I refer to that explicitly explains what the purpose of ",_printer" is and why it is required? (Actually - after writing this question and then reading RFC 6763 section 7.1 Selective Instance Enumeration - "_printer" subtype helps Safari Web Browser distinguish between a printer web page vs. a generic web server apparently, but that should only apply to the "_http" service - correct?) And on top of that, to my knowledge the ability to use Bonjour in Safari has been removed a few years back). Where in the IPP Everywhere specification is the requirement the ",_print" be appended to printing service advertisements, and which service advertisements should it be appended to?
From the IPP Everywhere specification:
4.2.1 Service (SRV) Instance Name
Printers MUST NOT use a service instance name containing a unique identifier by default. A unique identifier MAY be added to the instance if there is a name collision.
Printers that support DNS-SD MUST advertise the "_ipp._tcp" (generic IPP) and "_print._sub._ipp._tcp" (IPP EverywhereTM) services over mDNS.
Printers that support DNS-SD and the "ipps" URI scheme [RFC7472] MUST advertise the "_ipps._tcp" (generic IPPS) and "_print._sub._ipps._tcp" (IPP EverywhereTM Secure) services over mDNS.
Also, why does the test look for ",_print" when the Bonjour 1.2.1 spec and the RFC refers to ",_printer" as a sub-type on http advertisement?
The DNS-SD tests are only looking for the IPP and IPPS services, which use the "_print" sub-type.
________________________
Michael Sweet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pwg.org/pipermail/ipp/attachments/20200302/82900bab/attachment.html>