Service Location Working Group Pete St. Pierre INTERNET DRAFT Sun Microsystems 4 November 1997 Definition of printer: URLs for use with Service Location draft-ietf-srvloc-printer-scheme-00.txt Status of This Memo This document is a submission by the Service Location Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the srvloc@corp.home.net mailing list. Distribution of this memo is unlimited. This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (North Europe), ftp.nis.garr.it (South Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Abstract This document defines the printer service type and the attributes associated with it. This template is designed to be used in conjuction with the Service Location Protocol [1], but may be used with any directory service supporting attribute/value pair registration. The printer service type is designed as an abstract service type. It is expected that printers advertised with the printer type may be accessible by one or more protocols. IPP and lpr are a two examples of printing protocols that may be used to perform the actual printing function. St.Pierre Expires 4 May 1998 [Page i] Internet Draft Service Templates and URLs 4 November 1997 Contents Status of This Memo i Abstract i 1. Printer service: URL Scheme 1 2. urlpath Definition 1 2.1. IPP . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.2. lpr . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Printer Scheme Background 2 4. Printer Service Template 3 A. Attribute Origins 9 B. References 10 1. Printer service: URL Scheme Service Type templates are used to describe in a standard way those services which use the service: URL. The template described in this document is an abstract type that includes concrete types such as the printing protocol defined in RFC 1179 [2], "Line Printer Daemon Protocol". The service type for this service: URL is printer. 2. urlpath Definition The printer type is an abstract service type. Because an abstract service type may contain one of many concrete types, the urlpath associated with a printer URL may vary. Two types of printers that are expected to be common in printer URLs are ipp and lpr. 2.1. IPP An IPP printer uses the http protocol and the queue name for a printer is inherent in the http URL. The definition of an IPP printer object is defined in section 2.1 of the IPP Model and Semantics draft.[3] Using this definition, a Service URL for an IPP printer would look like: St.Pierre Expires 4 May 1998 [Page 1] Internet Draft Service Templates and URLs 4 November 1997 service:printer:http://server.sun.com/cgi-bin/public-printer service:printer:http://www.sun.com/cgi-bin/printers?public-printer 2.2. lpr An lpr accessible printer includes a queue name as the last part of the URL. If a queue name is absent, the print server is assumed to use a default print queue. service:printer:lpr://server.sun.com service:printer:lpr://server.sun.com/public-printer 3. Printer Scheme Background The printer scheme provides for consistent registration of printer services. The attributes described within this draft are a combination of previous works conducted by the IETF Printer MIB WG, the IETF IPP WG and the Salutation Consortium. The attributes specified are intended to facilitate both automatic as well as manual selection of services not to provide service statistics or notification. In short, the target audience of service attributes are users, either programatic or end users, whereas the audience of MIB statistics are network managers. St.Pierre Expires 4 May 1998 [Page 2] Internet Draft Service Templates and URLs 4 November 1997 4. Printer Service Template The printer template, as defined below, conforms to the grammar described in "Service Templates and service: Schemes". Please refer to [4] for detailed explaination of the syntax. type = printer version = 0.0 language = en description = The printer service template describes the attributes supported by network printing devices. Devices may be either directly connected to a network, or connected to a printer spooler that understands the a network queuing protocol such as IPP, lpr or the Salutation Architecture. url-syntax = url-path = ippurl / lprurl ippurl = url as defined in [3] lprurl = "lpr://" hostport [ "/" qname ] hostport = host [ ":" port ] host = hostname / hostnumber hostname = *( domainlavel "." ) toplabel domainlabel = alphanum / alphanum * [alphanum / "-"] alphanum toplabel = alpha / alpha * [alphanum / "-"] alphanum hostnumber = ipv4-number / ipv6-number ipv4-number = 1*3digit 3*3("." 1*3digit) ipv6-number = 32*hex 3digit = digit digit digit port = 1*digit alphanum = alpha / digit alpha = "a" / "b" / "c" / "d" / "e" / "f" / "g" / "h" / "i" / "j" / "k" / "l" / "m" / "n" / "o" / "p" / "q" / "r" / "s" / "t" / "u" / "v" / "w" / "x" / "y" / "z" / "A" / "B" / "C" / "D" / "E" / "F" / "G" / "H" / "I" / "J" / "K" / "L" / "M" / "N" / "O" / "P" / "Q" / "R" / "S" / "T" / "U" / "V" / "W" / "X" / "Y" / "Z" digit = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" name = STRING # This attribute contains the name of the printer. It is a # name that is more user friendly than the printer-URI. St.Pierre Expires 4 May 1998 [Page 3] Internet Draft Service Templates and URLs 4 November 1997 # An administrator determines a printer's name and sets this # attribute to that name. This name may be the last part of # the printer's URI or it may be unrelated. In non-US-English # locales, a name may contain characters that are not allowed # in a URI. description = STRING # A free form string that can contain any site-specific # descriptive information about this printer. printer-info = STRING L O # A URI used to obtain more information about # this specific printer. For example, this could # be an HTTP type URI referencing an HTML page accessible # to a Web Browser. The information obtained from this # URI is intended for end user consumption. Features # outside the scope of IPP can be accessed from this URI. security-mechanisms-supported = STRING L M none # The security mechanisms supported. tls, ssl, http-basic, http-digest, none protocols = STRING L M # The names of the concrete protocol types supported # by the printer abstract service type. Example values # include http and lpr make-model = STRING L # A simple text string defined by the manufacturer # The syntax shall be: # vendor-name "/" model-name # where the vendor-name is the same as that registered with # IANA for use in domain names. # For example: "vendor-x/super-duper-printer". location-description = STRING # A free form description of this printer's physical # location For example: "2nd floor, near the fire escape" location-address = STRING O # Physical/Postal address for this device. Useful for # nailing down a group of printers in a very large corporate # network. For example: 960 Main Street, San Jose, CA 95130 operator = STRING L M # A person, or persons responsible for maintaining a # printer on a day-to-day basis. St.Pierre Expires 4 May 1998 [Page 4] Internet Draft Service Templates and URLs 4 November 1997 duplex-mode = STRING M simplex # The duplex capabilities a printer can handle. simplex, duplex, tumble priority-queue = BOOLEAN O FALSE # The printer or print queue is a priority queuing device. fonts-supported = STRING L M O # A list of fonts that are supported by the printer. number-up = INTEGER O 1 # Specifies the number of source page-images to impose # upon a single side of an instance of a selected # medium. For example, if the value is: # '1': The Printer SHALL place one logical page on a # single side of an instance of the selected medium # (MAY add some sort of translation, scaling, or # rotation). # '2': The Printer SHALL place two logical pages on a # single side of an instance of the selected medium # (MAY add some sort of translation, scaling, or # rotation). # '4': The Printer SHALL place four logical pages on a # single side of an instance of the selected medium # (MAY add some sort of translation, scaling, or # rotation). 1, 2, 4 media-size = STRING L M na-letter # Size values follow the ISO standards. iso-a0, iso-a1, iso-a2, iso-a3, iso-a4, iso-a5, iso-a6, iso-a7, iso-a8, iso-a9, iso-a10, iso-b0, iso-b1, iso-b2, iso-b3, iso-b4, iso-b5, iso-b6, iso-b7, iso-b8, iso-b9, iso-b10, na-letter, na-legal, executive, folio, invoice, ledger, quarto, iso-c3, iso-c4, iso-c5, iso-c6, iso-designated-long, na-10x13-envelope, na-9x12-envelope, na-number-10-envelope, na-7x9-envelope, na-7x9-envelope, na-9x11-envelope, na-10x14-envelope, na-number-9-envelope, na-6x9-envelope, na-10x15-envelope, monarch-envelope, a, b, c, d, jis-b0, jis-b1, jis-b2, jis-b3, jis-b4, jis-b5, jis-b6, jis-b7, jis-b8, jis-b9, jis-b10, unknown media-color = STRING M O white # The color of the print media St.Pierre Expires 4 May 1998 [Page 5] Internet Draft Service Templates and URLs 4 November 1997 other, unknown, white, pink, yellow, buff, goldenrod, blue, green, transparent color-supported = BOOLEAN O false # Indicates whether color is supported color-type = STRING L M O none # Whether the printer supports color none, highlight, three color, four color, monochromatic marker-color = STRING L M O black # The name of the color of this colorant(ink). other, unknown, white, red, green, blue, cyan, magenta, yellow, black max-speed = INTEGER O # The maximum speed of the printer expressed in Speed # units. speed-units = STRING O sheetsPerHour # Unit of speed for the Max speed value. tenThousandthsOfInchesPerHour, micrometersPerHour, charactersPerHour, linesPerHour, impressionsPerHour, sheetsPerHour, dotRowPerHour, feetPerHour, metersPerHour document-format = STRING O M # The format of the data to be printed. The standard # values for this attribute are Internet Media types # which are sometimes called MIME types. paper-output = STRING M L O standard # The mode in which pages output are arranged. standard, noncollated sort, collated sort, stack, unknown media-direction = STRING O portrait # The orientation of the media as it is fed to the # printer. portrait, landscape, unknown print-quality = STRING O normal # Subjective evaluation of the overall printing quality. draft, normal, high St.Pierre Expires 4 May 1998 [Page 6] Internet Draft Service Templates and URLs 4 November 1997 resolution = STRING L M O unknown # The pixel density of the printer in dots per inch. other, res-100, res-200, res-240, res-300, res-600, res-800, res-1200, res-1800, res-100x200, res-300x600, res-600x300, res-400x800, res-800x400, res-600x1200, res-1200x600, res-1800x600, unknown copy-count = INTEGER O -1 # The maximum number of copies of a document # that will be printed as a single job. A value of -1 # indicates there is no limit. max-job-size = INTEGER O -1 # The maximum size, in Kilobytes, of a print job that # the print queue will accept." A value of -1 indicates # there is no limit. finishing = STRING M O none # Identifies the finishing operationssupported by the printer. none, staple, staple-top-left, staple-bottom-left, staple-top-right, staple-bottom-right, saddle-stitch, edge-stitch, punch, bind, cover stacking-order = STRING O unknown # The current state of the stacking order for the associated # output sub-unit. 'firstToLast' means that as pages are # output, the front of the next page is placed against the # back of the previous page. 'lastToFirst' means that as # pages are output, the back of the next page is placed # against the front of the previous page. unknown, First to Last, Last to First delivery-orientation = STRING O unknown # Orientation of pages as the are printed and ejected from # the printer. unknown, face up, face down service-person = STRING O M # A list of service contact names for this printer. media-type = STRING O M stationery St.Pierre Expires 4 May 1998 [Page 7] Internet Draft Service Templates and URLs 4 November 1997 # Media types available to be printed upon. stationery, transparency, envelope, envelope-plain, envelope-window, continuous-long, continuous-short, tab-stock, multi-part-form, labels, multi-layer, unknown media-length = INTEGER O -1 # Indicates the length (in the direction of the printer # feed) of the media. The value -2 indicates that the # length is unknown -1 means there is no limit. media-capacity = INTEGER O # The total amount of media that may be contained in a # media tray. Used with the media size, the maximum size of # a print job may be calculated. This assumes the media # tray is full. media-capacity-units = STRING O -1 # The unit of media capacity. # -1 indicates that the units are unknown. -1, .0001 inches, micrometers, sheets, feet, meters St.Pierre Expires 4 May 1998 [Page 8] Internet Draft Service Templates and URLs 4 November 1997 A. Attribute Origins The following table summarizes the attributes included in the printer scheme and their origins. This table does not include attributes required in the "Service Templates and URLs" Draft. It also includes attributes that may not have a specific origin, but were deemed useful in locating a printer service. Attribute Printer MIB[5] IPP[3] Salutation[6] Printer Name X Printer Description X Printer Info X Security Mechanisms X Protocols Make/Model X Location Description X Location Address Operator X Duplex Mode X Priority Queue X Fonts Supported X Number Up X Media Size X X Media Color X Color Supported X Color Type Colors Max Speed X X Speed Units X X Document Format X X Paper Output X Media Direction X Print Quality X Resolution X X Max Copy Count X Max Job Size X Finishings Supported X Stacking Order X Stacking Orientation X X Service Person X Media Type X Media Length X Media Capacity X Media Capacity Units X St.Pierre Expires 4 May 1998 [Page 9] Internet Draft Service Templates and URLs 4 November 1997 B. References [1]J. Veizades, E. Guttman, C. Perkins, and S. Kaplan. "Service Location Protocol", RFC 2165. June 1997. [2]L. McLaughlin III, "Line Printer Daemon Protocol", RFC 1179. August 1990. [3]R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell, "IPP/1.0: Model and Semantics", Work in progress, October 1997. [4]E. Guttman, C. Perkins, J. Kempf, "Service Templates and service: Schemes", Work in Progress, September, 1997 draft-ietf-svrloc-service-scheme-03.txt [5]R. Turner, F. Wright, R. Smith, "Printer MIB", Work in progress, April 1997. [6]Salutation Consortium, Inc., "Salutation Architecture Specification V2.0", December 1996. Authors' Addresses Questions about this memo can be directed to: Pete St. Pierre Sun Microsystems 901 San Antonio Avenue Palo Alto, CA 94043 USA Phone: +1 415 786-5790 email: Pete.StPierre@Eng.Sun.COM St.Pierre Expires 4 May 1998 [Page 10]