# Name of submitters: Pete St. Pierre # Scott Isaacson # Ira McDonald # # Security Considerations: # By advertising the security methods associated with each supported # printer URL via the mandatory attributes 'printer-uri-supported' # 'uri-authentication-supported', and 'uri-security-supported', the # the printer may expose information useful to attackers. Either SLP # security or another security method SHOULD be used to authenticate # any service advertisements. # ----------------------------------------------------------------------- # Abstract # This document is a product of the Service Location and Internet # Printing Protocol Working Groups of the Internet Engineering Task # Force (IETF). Comments should be sent to the srvloc&srvloc.org and # ipp&pwg.org mailing lists. # # This document defines the 'printer:' abstract service type and the # attributes associated with it. This 'printer:' service template is # designed to be used in conjunction with the Service Location # Protocol, Version 2 (SLPv2) [13], but may be used with any directory # service which supports attribute/value pair registration, such as the # Lightweight Directory Access Protocol, Version 3 (LDAPv3, RFC 2251). # # The 'printer:' service type is specified as an abstract service type. # Printers advertised with the 'printer:' abstract service type may be # accessible by one or more print protocols, such as IPP [3] and LPR # [2]. # Introduction # 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 service 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:'. # # The 'printer:' abstract service type supports consistent registration # of printer services. The attributes described within this document # are derived from previous specifications developed by the IETF IPP WG # and IETF Printer MIB WG. # # The attributes specified are intended to facilitate both automatic # and manual selection of services, not to provide service state, # statistics, or notification. The target audience of service # attributes consists of users, either software agents or end users. # Terminology # The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", # "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this # document are to be interpreted as described in RFC 2119 [14]. # Template url-path Definition # The 'printer:' type is an abstract service type. Because an abstract # service type may contain one of many concrete types, the 'url-path' # associated with a 'printer:' service URL may vary. IPP and LPR # printers are presently supported by this 'printer:' template. Other # printer protocols MAY be supported by extension templates or by # future updates of this abstract 'printer:' template. # IPP # An IPP Printer object is defined in "IPP/1.1 Model and Semantics" # [3]. An IPP printer concrete URL is defined in "IPP/1.1 Encoding and # Transport" [9]. # # Examples of valid 'service:' URLs for IPP printers include: # # service:printer:ipp://server.sun.com/cgi-bin/public-printer # service:printer:ipp://foo.sun.com/printers?public-printer # LPR # An LPR accessible printer MAY include a queue name as the last part # of the URL. If the queue name is absent, the print server is assumed # to use a default print queue. The definition of an LPR printer # concrete URL is specified in this document, in the 'printer:' service # template. # # Examples of valid 'service:' URLs for LPR printers include: # # service:printer:lpr://server.sun.com # service:printer:lpr://server.sun.com/public-printer # Printer Service Template # The 'printer:' service template defined below conforms to the grammar # described in "Service Templates and service: Schemes". Please refer # to [4] for detailed explanation of the syntax. # # Name of submitters: Pete St. Pierre # Scott Isaacson # Ira McDonald # # Language of service template: en (English) # # Security Considerations: # By advertising the security methods associated with each supported # printer URL via the mandatory attributes 'printer-uri-supported' # 'uri-authentication-supported', and 'uri-security-supported', the # the printer may expose information useful to attackers. SLPv2 # security or another security method SHOULD be used to authenticate # any service advertisements. # # Template Text: # -------------------- template begins here -------------------- template-type = printer template-version = 1.0 template-description = The 'printer:' service template describes the attributes supported by network printing devices. Devices may be either directly connected to a network or managed by a print server. The device or server understands one or more network print protocols such as IPP or LPR. template-url-syntax = url-path = ippurl / lprurl ippurl = IPP URL as defined in [9] lprurl = "lpr://" hostport [ "/" qname ] hostport = host [ ":" port ] host = hostname / hostnumber hostname = *( domainlabel "." ) 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" printer-uri-supported = STRING L # REQUIRED for all registrations by conforming SLP SAs # IPP 'printer-uri-supported' # The ORDERED list of URI supported by this printer, # correlated with 'uri-authentication-supported' values # and correlated with 'uri-security-supported' values. # Each list member (including the last) is delimited by '>'. # For example: # 'lpr://foo.com> ipp://bar.com>' uri-authentication-supported = STRING L # REQUIRED for all registrations by conforming SLP SAs # IPP 'uri-authentication-supported' # The ORDERED list of authentication supported for each URI # specified in 'printer-uri-supported' for this printer. # Each list member (including the last) is delimited by '>'. # For example: # 'none> basic> certificate>' # (see example of 'printer-uri-supported' above). # Legal values include # 'none' (no authentication for this URI) # 'requesting-user-name' (from operation request) # 'basic' (HTTP/1.1 Basic, RFC 2617) # 'digest' (HTTP/1.1 Basic, RFC 2617) # 'certificate' (from certificate) # per IPP Model [3] (extensions MAY also be used). # URI that do not support authentication SHALL specify # 'none'. uri-security-supported = STRING L # REQUIRED for all registrations by conforming SLP SAs # IPP 'uri-security-supported' # The ORDERED list of security supported for each URI # specified in 'printer-uri-supported' for this printer. # Each list member (including the last) is delimited by '>'. # For example: # 'none> tls>' # (see example of 'printer-uri-supported' above). # Legal values include # 'none' (no security for this URI) # 'ssl3' (Netscape SSL3) # 'tls' (IETF TLS/1.0, RFC 2246) # per IPP Model [3] (extensions MAY also be used). # URI that do not support security SHALL specify # 'none'. printer-name = STRING # REQUIRED for all registrations by conforming SLP SAs # IPP 'printer-name' # The site-specific administrative name of this printer, # in the language in 'natural-language-configured'. # This name MAY be the last part of the printer's URI or it # MAY be completely unrelated. # This name MAY contain characters that are not allowed in a # conventional URI (which conforms to RFC 2396). # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. # This attribute SHOULD be static (time of registration) # and SHOULD NOT be dynamically refreshed (subsequently). printer-location = STRING O unknown # IPP 'printer-location' # The physical location of this printer, # in the language in 'natural-language-configured'. # A free form description of this printer's physical # location, for example: # 'Orlando office, 2nd floor, near the fire escape' # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. # However, it is STRONGLY RECOMMENDED that this attribute # be supported and that it be set to a meaningful value so # that users can determine this printer's physical location # for printer selection (before print job submission) and # for output collection (after print job completion). printer-info = STRING O unknown # IPP 'printer-info' # Additional descriptive information on this printer, # in the language in 'natural-language-configured'. # A free form string that may contain any site-specific # descriptive information about this printer. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. printer-more-info = STRING L O unknown # IPP 'printer-more-info' # A URI used to obtain more information about this specific # printer. For example, this could be an 'http:' URI # referencing an HTML page accessible to a Web Browser. # The information obtained from this URI is intended for # end user consumption. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. printer-make-and-model = STRING O unknown # IPP 'printer-make-and-model' # The manufacturer, make, and model of this printer, # a simple text string defined by the manufacturer, # in the language in 'natural-language-configured'. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. ipp-versions-supported = STRING L M O none # IPP 'ipp-versions-supported' # The unordered list of 'major.minor' IPP versions # supported by this printer or 'none'. # For example: # '1.0, 1.1' # Legal values include 'none', '1.0', and '1.1', # per IPP Model [3] (extensions MAY also be used). # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'none'. multiple-document-jobs-supported = STRING L O unknown # IPP 'multiple-document-jobs-supported' # Indicates whether this printer supports more than one # document per job. # This template attribute is an extended boolean. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. unknown, true, false charset-configured = STRING L O utf-8 # IPP 'charset-configured' # The configured charset in which error and status messages # will be generated (by default) by this printer. # Also, a possible charset for printer string attributes # set by operator, system administrator, or manufacturer. # For example: # 'utf-8' (ISO 10646/Unicode) or 'iso-8859-1' (Latin1) # Legal values of charset tags (names/aliases) come from # the IANA Registry of Coded Character Sets [6] and # the '(preferred MIME name)' SHALL be used as the tag. # For coherence with IPP Model [3], charset tags in this # attribute SHALL be lowercase normalized. # This attribute SHOULD be static (time of registration) # and SHOULD NOT be dynamically refreshed (subsequently). charset-supported = STRING L M O utf-8 # IPP 'charset-supported' # The possible charsets in which error and status messages # may be generated (if requested) by this printer. # Also, the possible charsets for printer string attributes # set by operator, system administrator, or manufacturer. # For example: # 'utf-8' (ISO 10646/Unicode) or 'iso-8859-1' (Latin1) # Legal values of charset tags (names/aliases) come from # the IANA Registry of Coded Character Sets [6] and # the '(preferred MIME name)' SHALL be used as the tag. # This attribute SHALL include the value 'utf-8', per # RFC 2277, 'IETF Policy on Charsets and Languages' [12]. # For coherence with IPP Model [3], charset tags in this # attribute SHALL be lowercase normalized. natural-language-configured = STRING L # REQUIRED for all registrations by conforming SLP SAs # IPP 'natural-language-configured' # The configured language in which error and status messages # will be generated (by default) by this printer. # Also, a possible language for printer string attributes # set by operator, system administrator, or manufacturer. # Also, the (declared) language of the 'printer-name', # 'printer-location', 'printer-info', and # 'printer-make-and-model' attributes of this printer. # For example: # 'en-us' (US English) or 'fr-fr' (French in France) # Legal values of language tags conform to RFC 1766 # 'Tags for the Identification of Languages' [5]. # For coherence with IPP Model [3], language tags in this # attribute SHALL be lowercase normalized. # This attribute SHOULD be static (time of registration) # and SHOULD NOT be dynamically refreshed (subsequently). natural-language-supported = STRING L M # REQUIRED for all registrations by conforming SLP SAs # IPP 'generated-natural-language-supported' # The possible languages in which error and status messages # may be generated (if requested) by this printer. # Also, the possible languages for printer string attributes # set by operator, system administrator, or manufacturer. # For example: # 'en-us' (US English) or 'fr-fr' (French in France) # Legal values of language tags conform to RFC 1766 # 'Tags for the Identification of Languages' [5]. # For coherence with IPP Model [3], language tags in this # attribute SHALL be lowercase normalized. document-format-supported = STRING L M # REQUIRED for all registrations by conforming SLP SAs # IPP 'document-format-supported' # The possible document formats in which data may be # interpreted and printed by this printer. # Legal values of document formats (MIME types) come from # the IANA Registry of Internet Media Types [11]. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. color-supported = STRING L O unknown # IPP 'color-supported' # Indicates whether this printer is capable of any type of # color printing at all, including highlight color. # This template attribute is an extended boolean. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. unknown, true, false compression-supported = STRING L M # REQUIRED for all registrations by conforming SLP SAs # IPP 'compression-supported' # The unordered list of compression algorithms supported # by this printer. # For example: # 'deflate, gzip' # Legal values include # 'none' # 'deflate' (public domain ZIP) # 'gzip' (GNU ZIP) # 'compress' (UNIX) # per IPP Model [3] (extensions MAY also be used). # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'none'. pages-per-minute = INTEGER O -1 # IPP 'pages-per-minute' # The nominal number of pages per minute which may be # output by this printer (e.g., simplex, black-and-white). # This attribute is informative, NOT a service guarantee. # Typically, it is the value used in marketing literature # to describe this printer. # A value of '-1' indicates unknown. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to '-1'. pages-per-minute-color = INTEGER O -1 # IPP 'pages-per-minute-color' # The nominal number of color pages per minute which may be # output by this printer (e.g., simplex, color). # This attribute is informative, NOT a service guarantee. # Typically, it is the value used in marketing literature # to describe this printer. # A value of '-1' indicates unknown. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to '-1'. finishings-supported = STRING L M O none # IPP 'finishings-supported' # The possible finishing operations supported by this # printer. # Legal values of finishings are defined in IPP Model [3]. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'none'. none, staple, punch, cover, bind, saddle-stitch, edge-stitch, staple-top-left, staple-bottom-left, staple-top-right, staple-bottom-right, edge-stitch-left, edge-stitch-top, edge-stitch-right, edge-stitch-bottom, staple-dual-left, staple-dual-top, staple-dual-right, staple-dual-bottom number-up-supported = INTEGER M O 1 # IPP 'number-up-supported' # The possible numbers of print-stream pages to impose # upon a single side of an instance of a selected # medium. # Legal values of this attribute include 1, 2, and 4 [3]. # Implementations may support other values. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to '1'. sides-supported = STRING L M O one-sided # IPP 'sides-supported' # (Compare with Salutation 'duplex-mode') # The number of impression sides (one or two) and the # two-sided impression rotations supported by this printer. # Salutation 'simplex' == IPP 'one-sided' # Salutation 'duplex' == IPP 'two-sided-long-edge' # Salutation 'tumble' == IPP 'two-sided-short-edge' # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'one-sided'. one-sided, two-sided-long-edge, two-sided-short-edge media-supported = STRING L M O unknown # IPP 'media-supported' - only the standard keyword values # The standard names/types/sizes (and optional color # suffixes) of the media supported by this printer. # The values specified are NOT localized according to the # value of 'natural-language-configured', but are in a # fixed language of 'en-us' (US English). For example: # 'iso-a4' or 'envelope' or 'na-letter-white' # Legal values of this attribute conform to ISO 10175 # 'Document Printing Application (DPA)' [10] and # any IANA registered extensions, per IPP Model [3]. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. media-local-supported = STRING M O unknown # IPP 'media-supported' - only site-specific name values # Site-specific names of media supported by this printer, # in the language in 'natural-language-configured'. # For example: # 'purchasing-form' (site-specific name) # as opposed to (in 'media-supported' above): # 'na-letter' (standard keyword from ISO 10175 [10]). # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. printer-resolution-supported = STRING L M O unknown # IPP 'printer-resolution-supported' # (Compare with 'printer-uri-supported' in this template) # The unordered list of resolutions supported for printing # documents by this printer. # Each resolution supported is a string with 3 fields: # 1) Crossfeed direction resolution (positive integer) # 2) Feed direction resolution (positive integer) # 3) Resolution unit (enumerated value - see below) # Each resolution field is delimited by '>', for example: # '300> 300> dpi>, 600> 600> dpi>' # Legal values of resolution unit are # 'dpi' (dots per inch) # 'dpcm' (dots per centimeter) # per IPP Model [3] (extensions SHOULD NOT be used). # This attribute is derived from the Printer MIB [7]. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. print-quality-supported = STRING L M O unknown # IPP 'print-quality-supported' # The unordered list of print qualities supported for # printing documents on this printer. # For example: # 'draft, normal' # Legal values are defined in IPP Model [3]. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. unknown, draft, normal, high job-priority-supported = INTEGER O 1 # IPP 'job-priority-supported' # (Compare with Salutation 'priority-levels-supported') # Indicates the number of job priority levels supported. # An IPP conformant printer which supports job priority # must always support a full range of priorities from # '1' to '100' (to ensure consistent behavior), therefore # this template attribute describes the 'granularity'. # Legal values of this attribute are from '1' to '100'. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to '1'. copies-supported = INTEGER O -1 # IPP 'copies-supported' # The maximum number of copies of a document # that may be printed as a single job. # A value of '0' indicates no maximum limit. # A value of '-1' indicates unknown. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to '-1'. job-k-octets-supported = INTEGER O -1 # IPP 'job-k-octets-supported' # The maximum size in kilobytes (1,024 octets actually) # incoming print job that this printer will accept. # A value of '0' indicates no maximum limit. # A value of '-1' indicates unknown. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to '-1'. printer-current-operator = STRING M O unknown # Printer MIB 'prtGeneralCurrentOperator' # The name of the current human operator responsible for # operating this printer. It is suggested that this string # include information that would enable other humans to # reach the operator, such as a phone number. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. # This attribute SHOULD be static (time of registration) # and SHOULD NOT be dynamically refreshed (subsequently). printer-service-person = STRING M O unknown # Printer MIB 'prtGeneralServicePerson' # The name of the current service person responsible for # servicing this printer. It is suggested that this string # include information that would enable other humans to # reach the service person, such as a phone number. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. # This attribute SHOULD be static (time of registration) # and SHOULD NOT be dynamically refreshed (subsequently). delivery-orientation-supported = STRING L O unknown # Printer MIB 'prtOutputPageDeliveryOrientation' # The possible delivery orientations of pages as they are # printed and ejected from this printer. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. unknown, face-up, face-down stacking-order-supported = STRING L M O unknown # Printer MIB 'prtOutputStackingOrder' # (Compare with Salutation 'paper-output') # The possible stacking order of pages as they are printed # and ejected from this printer. # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. unknown, first-to-last, last-to-first output-features-supported = STRING L M O unknown # Printer MIB 'prtOutputFeaturesGroup' # (Compare with Salutation 'paper-output') # The possible output features supported by this printer. # 'bursting' == Printer MIB 'prtOutputBursting' # 'decollating' == Printer MIB 'prtOutputDecollating' # 'page-collating' == Printer MIB 'prtOutputPageCollated' # 'offset-stacking' == Printer MIB 'prtOutputOffestStacking' # If this printer information is not known to the SLP SA, # then this attribute SHALL be set to 'unknown'. unknown, bursting, decollating, page-collating, offset-stacking # -------------------- template ends here ---------------------- # Summary of Required Attributes # Attributes are associated with 'service:' URLs in order to provide a # dynamic search capability to service location clients, not to burden # servers implementations during registrations. # # A small subset (8) of the attributes defined in 'printer:' are # REQUIRED in all compliant service registrations by SLP SAs: # # SLP Required Attribute IPP Generic Directory Schema # ---------------------- ---------------------------- # printer-uri-supported r # uri-authentication-supported r # uri-security-supported r # printer-name r # natural-language-configured m (SLP enhancement) # natural-language-supported o (SLP enhancement) # document-format-supported r # compression-supported r # # r RECOMMENDED - Appendix E 'Generic Directory Schema' IPP Model [3] # REQUIRED - SLP 'printer:' template # o OPTIONAL - Appendix E 'Generic Directory Schema' IPP Model [3] # REQUIRED - SLP 'printer:' template # m Missing - Appendix E 'Generic Directory Schema' IPP Model [3] # REQUIRED - SLP 'printer:' template # Rationale for Required Attributes # 'natural-language-configured' # - REQUIRED in SLP 'printer:' template to specify language tags for # 'printer-name', 'printer-location', 'printer-info', and # 'printer-make-and-model' attributes; # - missing in Appendix E 'Generic Directory Schema' of IPP Model [3], # because the corresponding IPP attributes are language tagged in-band # via the IPP 'textWithLanguage' syntax. # # 'natural-language-supported' # - REQUIRED in SLP 'printer:' template to assist users in selecting # appropriate printers; # - missing in Appendix E 'Generic Directory Schema' of IPP Model [3]. # # All other REQUIRED SLP 'printer:' template attributes are RECOMMENDED # in Appendix E 'Generic Directory Schema' IPP Model [3]. # Summary of Optional Attributes # Many of the attributes defined in 'printer:' are OPTIONAL in all # compliant service registrations by SLP SAs: # # SLP Optional Attribute IPP Generic Directory Schema # ---------------------- ---------------------------- # printer-location r # printer-info o # printer-more-info o # printer-make-and-model r # ipp-versions-supported r # multiple-document-jobs-supported o # charset-configured m (SLP enhancement) # charset-supported o # color-supported r # finishings-supported r # number-up-supported o # sides-supported r # media-supported r # media-local-supported m (part of 'media-supported') # pages-per-minute o # pages-per-minute-color o # printer-resolution-supported o # print-quality-supported o # job-priority-supported m (SLP enhancement) # copies-supported m (SLP enhancement) # job-k-octets-supported m (SLP enhancement) # printer-current-operator m (from Printer MIB) # printer-service-person m (from Printer MIB) # delivery-orientation-supported m (from Printer MIB) # stacking-order-supported m (from Printer MIB) # output-features-supported m (from Printer MIB) # # r RECOMMENDED - Appendix E 'Generic Directory Schema' IPP Model [3] # OPTIONAL - SLP 'printer:' template (with specified default) # o OPTIONAL - Appendix E 'Generic Directory Schema' IPP Model [3] # OPTIONAL - SLP 'printer:' template (with specified default) # m Missing - Appendix E 'Generic Directory Schema' IPP Model [3] # OPTIONAL - SLP 'printer:' template (with specified default) # Rationale for Optional Attributes # 'printer-location', 'printer-make-and-model', 'color-supported', # 'finishings-supported', 'sides-supported', 'media-supported', and # 'local-media-supported' # # # - OPTIONAL in SLP 'printer:' template because network print servers # may not be able to determine this information; # - RECOMMENDED in Appendix E 'Generic Directory Schema' of IPP Model # [3]. # # 'ipp-versions-supported' # - OPTIONAL in SLP 'printer:' template because network printers may # not support IPP; # - RECOMMENDED in Appendix E 'Generic Directory Schema' of IPP Model # [3]. # # 'charset-configured' # - OPTIONAL in SLP 'printer:' template to assist users in selecting # appropriate printers; # - missing in Appendix E 'Generic Directory Schema' of IPP Model [3]. # # 'job-priority-supported', 'copies-supported', and # 'job-k-octets-supported' # - OPTIONAL in SLP 'printer:' template to assist users in selecting # appropriate printers; # - missing in Appendix E 'Generic Directory Schema' of IPP Model [3]. # # 'printer-current-operator', 'printer-service-person', # 'delivery-orientation-supported', 'stacking-order-supported', and # 'output-features-supported' # - OPTIONAL in SLP 'printer:' template to assist users in selecting # appropriate printers; # - missing in Appendix E 'Generic Directory Schema' of IPP Model [3], # because they are only specified in the Printer MIB [7], not in IPP. # # All other OPTIONAL SLP 'printer:' template attributes are OPTIONAL in # Appendix E 'Generic Directory Schema' IPP Model [3]. # Summary of Attribute Origins # The following table summarizes the origins of all of the attributes # in the 'printer:' service template (except 'template-xxx' generic # attributes defined in "Service Templates and service: Schemes" [4] # and required for all 'service:' templates). # # Attribute Name IPP[3] Printer MIB[7] # -------------- ------ -------------- # printer-uri-supported X # uri-authentication-supported X # uri-security-supported X # printer-name X # printer-location X # printer-info X # printer-more-info X # printer-make-and-model X # ipp-versions-supported X # multiple-document-jobs-supported X # charset-configured X # charset-supported X # natural-language-configured X # natural-language-supported X # document-format-supported X # color-supported X # compression-supported X # pages-per-minute X # pages-per-minute-color X # finishings-supported X # number-up-supported X # sides-supported X # media-supported X # media-local-supported X # printer-resolution-supported X # print-quality-supported X # job-priority-supported X # copies-supported X # job-k-octets-supported X # printer-current-operator X # printer-service-person X # delivery-orientation-supported X # stacking-order-supported X # output-features-supported X # IANA Considerations # Registration of this 'printer:' service template will follow the # procedures defined in section 4 'A Procedure for Standardizing New # Service Types' and section 5 'IANA Considerations' of "Service # Templates and service: Schemes" [4]. # Internationalization Considerations # All attribute values in registrations using this 'printer:' service # template MUST be encoded in UTF-8 characters, as required by "Service # Location Protocol, Version 2" [13]. Thus, all registrations using # this 'printer:' service template conform to "IETF Policy on Character # Sets and Languages" [12]. # Security Considerations # When used with SLPv2, this 'printer:' service template inherits all # of the security issues described in section 17 'Security # Considerations' of "Service Location Protocol, Version 2" [13]. # References # [1] J. Veizades, E. Guttman, C. Perkins, S. Kaplan. Service Location # Protocol, RFC 2165, June 1997. # # [2] L. McLaughlin. Line Printer Daemon Protocol, RFC 1179, August # 1990. # # [3] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell. # IPP/1.1: Model and Semantics, # (work in progress), June 1999. # # [4] E. Guttman, C. Perkins, J. Kempf. Service Templates and service: # Schemes, RFC 2609, June 1999. (Updates RFC 2165) # # [5] H. Alvestrand. Tags for the Identification of Languages, RFC # 1766. March 1995. # # [6] IANA Registry of Coded Character Sets: # ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets. # # [7] R. Smith, F. Wright, T. Hastings, S. Zilles, J. Gyllenskog. # Printer MIB, RFC 1759, March 1995. # # [8] Salutation Consortium, Inc. Salutation Architecture # Specification V2.0, December 1996. # # [9] R. Herriot, S. Butler, P. Moore, R. Turner. IPP/1.1: Encoding # and Transport, (work in # progress), June 1999. # # [10] Information Technology - Document Printing Application (DPA), # ISO/IEC 10175, June 1996. # # [11] IANA Registry of Internet Media Types (also called MIME types): # ftp://ftp.isi.edu/in-notes/iana/assignments/media-types # # [12] H. Alvestrand. IETF Policy on Character Sets and Languages, RFC # 2277, January 1998. # # [13] E. Guttman, C. Perkins, J. Veizades, M. Day. Service Location # Protocol, Version 2, RFC 2608, June 1999. (Updates RFC 2165) # # [14] S. Bradner. Key words for use in RFCs to Indicate Requirement # Levels, RFC 2119, March 1997. # # Acknowledgments # This document is a submission to the Service Location Working group. # # Thanks to Jean Beha (Xerox), Jim Erwin (Novell), Tom Hastings # (Xerox), Bob Herriot (Xerox), James Kempf (Sun), Hugo Parra (Novell), # Todd Rupper (Novell), and Randy Turner (formerly Sharp). Appendix E # 'Generic Directory Schema' in IPP/1.1 Model [3] (recommended and # optional attributes for registering IPP printers) was the primary # input to this version of the 'printer:' service template. # 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: 650-786-5790 # EMail: Pete.StPierre&eng.sun.com # # Scott Isaccson # Novell # 122 E 1700 S # Provo, UT 84606 # USA # Phone: 801-861-7366 # EMail: sisaacson&novell.com # # Ira McDonald # High North # 221 Ridge Ave # Grand Marais, MI 49839 # USA # Phone: 906-494-2434 (or 2697) # Email: imcdonald&sharplabs.com # Full Copyright Statement # Copyright (C) The Internet Society (1999). All Rights Reserved. # # This document and translations of it may be copied and furnished to # others, and derivative works that comment on or otherwise explain it # or assist in its implementation may be prepared, copied, published # and distributed, in whole or in part, without restriction of any # kind, provided that the above copyright notice and this paragraph are # included on all such copies and derivative works. However, this # document itself may not be modified in any way, such as by removing # the copyright notice or references to the Internet Society or other # Internet organizations, except as needed for the purpose of # developing Internet standards in which case the procedures for # copyrights defined in the Internet Standards process must be # followed, or as required to translate it into languages other than # English. # # The limited permissions granted above are perpetual and will not be # revoked by the Internet Society or its successors or assigns. # # This document and the information contained herein is provided on an # "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING # TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING # BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION # HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."