Chris,
> On Mar 2, 2020, at 1:49 PM, Rizzo, Christopher via ipp <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/3ef363e8/attachment.html>