Skip to content

IPP System Service Discovery with DNS SD

Michael R Sweet edited this page Mar 19, 2020 · 2 revisions

As the focus of most discovery in IPP is on Clients finding Printers that implement print, 3D print, faxout, and scan services, the PWG 5100.22-2019: IPP System Service v1.0 specification did not define discovery mechanisms for the system service. However, in order to implement a common management application for imaging systems (such as the proposed GSoC 2020 GUI project) we want to be able to discover these system services automatically, in addition to simply entering a hostname and port. This page proposes DNS-SD discover of IPP System Services.

DNS-SD Service Type

The proposed DNS-SD service type is "_ipps-system._tcp". A system service named "Bob's Imaging" would have the DNS-SD service name "Bob's Imaging._ipps-system._tcp.local.".

The choice of this new service type is driven by several factors:

  1. Printers advertise separate "_ipp._tcp" (IPP) and "_ipps._tcp" (IPPS) services, each with a unique name. The only shared naming that is allowed is for MFPs that provide print, scan, and fax functionality from the same physical device (which is reflected in the TXT record)
  2. Because 3D printing uses different applications and file formats than 2D printing, and we require TLS support for 3D printing, 3D Printers advertise using the "_ipps-3d._tcp" (IPPS 3D) service type.
  3. Because the IPP System Service requires TLS, it should likewise only be advertised using "ipps" in the service type name.

DNS-SD LOC Record

As for other service types, the system service should public a LOC record to provide the physical location of the service from the "system-geo-location" System Description attribute.

DNS-SD TXT Record

The following TXT record keys are proposed:

  • "air" to provide the authentication requirements from the "system-xri-supported" System Description attribute
  • "note" to provide the human-readable location string from the "system-location" System Description attribute
  • "UUID" to provide the UUID from the "system-uuid" System Status attribute

The remaining TXT record keys used for IPP Everywhere, IPP FaxOut, and IPP Scan are not useful or necessary.

New Attribute(s)

To mirror the "printer-dns-sd-name (name(63))" Printer Description attribute, we should define a new "system-dns-sd-name (name(63))" System Description attribute to configure/report the DNS-SD service name.