< draft-ietf-svrloc-printer-scheme-05.txt   draft-ietf-svrloc-printer-scheme-06.txt >
Service Location Working Group Pete St. Pierre Service Location Working Group Pete St. Pierre
INTERNET DRAFT Sun Microsystems INTERNET DRAFT Sun Microsystems
Expires 31 July 2000 Scott Isaccson Expires 8 September 2000 Scott Isaccson
Novell Novell
Ira McDonald Ira McDonald
High North High North
31 January 2000 8 March 2000
Definition of the Printer Abstract Service Type Definition of the Printer Abstract Service Type v2.0
<draft-ietf-svrloc-printer-scheme-05.txt> <draft-ietf-svrloc-printer-scheme-06.txt>
Copyright (C) The Internet Society (2000). All Rights Reserved.
Status of This Memo Status of This Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. Internet-Drafts are working all provisions of Section 10 of RFC2026. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts. working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
skipping to change at page 1, line 40 skipping to change at page 1, line 42
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
This document is a product of the Service Location and Internet This document is a product of the Service Location and Internet
Printing Protocol Working Groups of the Internet Engineering Task Printing Protocol Working Groups of the Internet Engineering Task
Force (IETF). Comments should be sent to the srvloc@srvloc.org and Force (IETF). Comments should be sent to the srvloc@srvloc.org and
ipp@pwg.org mailing lists. ipp@pwg.org mailing lists.
This document defines the 'printer:' abstract service type and the This document defines the 'service:printer:' abstract type and the
attributes associated with it. This 'printer:' service template is attributes associated with it. This 'service:printer:' template is
designed to be used in conjunction with the Service Location designed to be used in conjunction with the Service Location
Protocol, Version 2 (SLPv2) [13], but may be used with any directory Protocol, Version 2 (SLPv2) [13], but may be used with any directory
service which supports attribute/value pair registration, such as the service which supports attribute/value pair registration, such as the
Lightweight Directory Access Protocol, Version 3 (LDAPv3, RFC 2251). Lightweight Directory Access Protocol, Version 3 (LDAPv3 [16]).
The 'printer:' service type is specified as an abstract service type. The 'service:printer:' type is specified as an abstract service type.
Printers advertised with the 'printer:' abstract service type may be Printers advertised with the 'service:printer:' abstract type may be
accessible by one or more print protocols, such as IPP [3] and LPR accessible by one or more print protocols, such as IPP [3] and LPR
[2]. [2].
Table of Contents Table of Contents
1. Introduction ............................................... 3 1. Introduction ............................................... 3
2. Terminology ................................................ 3 2. Terminology ................................................ 3
3. Template url-path Definition ............................... 4 3. Template url-path Definition ............................... 4
3.1. IPP .................................................... 4 3.1. IPP .................................................... 4
3.2. LPR .................................................... 4 3.2. LPR .................................................... 4
4. Printer Service Template ................................... 5 4. Printer Service Template ................................... 5
5. Summary of Required Attributes ............................. 15 5. Summary of Required Attributes ............................. 16
5.1. Rationale for Required Attributes ...................... 15 5.1. Rationale for Required Attributes ...................... 16
6. Summary of Optional Attributes ............................. 16 6. Summary of Recommended Attributes .......................... 17
6.1. Rationale for Optional Attributes ...................... 16 6.1. Rationale for Recommended Attributes ................... 17
7. Summary of Attribute Origins ............................... 18 7. Summary of Optional Attributes ............................. 18
8. IANA Considerations ........................................ 19 7.1. Rationale for Optional Attributes ...................... 19
9. Internationalization Considerations ........................ 19 8. Summary of Attribute Origins ............................... 20
10. Security Considerations ................................... 19 9. IANA Considerations ........................................ 21
11. References ................................................ 20 10. Internationalization Considerations ....................... 21
12. Acknowledgments ........................................... 21 11. Security Considerations ................................... 21
13. Authors' Addresses ........................................ 21 12. References ................................................ 22
14. Full Copyright Statement .................................. 22 13. Acknowledgments ........................................... 24
14. Authors' Addresses ........................................ 24
15. Full Copyright Statement .................................. 25
1. Introduction 1. Introduction
Service Type templates are used to describe in a standard way those Service Type templates are used to describe in a standard way those
services which use the 'service:' URL. The template described in services which use the 'service:' URL. The template described in
this document is an abstract service type that includes concrete this document is an abstract service type that includes concrete
types such as the printing protocol defined in RFC 1179 [2], "Line types such as the printing protocol defined in RFC 1179 [2], "Line
Printer Daemon Protocol". The service type for this 'service:' URL Printer Daemon Protocol". This template defines the
is 'printer:'. 'service:printer:' abstract type.
The 'printer:' abstract service type supports consistent registration The 'service:printer:' abstract type supports consistent registration
of printer services. The attributes described within this document of printer services. The attributes described within this document
are derived from previous specifications developed by the IETF IPP WG are derived from previous specifications developed by the IETF IPP WG
and IETF Printer MIB WG. and IETF Printer MIB WG.
The attributes specified are intended to facilitate both automatic The attributes specified are intended to facilitate both automatic
and manual selection of services, not to provide service state, and manual selection of services, not to provide service state,
statistics, or notification. The target audience of service statistics, or notification. The target audience of service
attributes consists of users, either software agents or end users. attributes consists of users, either software agents or end users.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [14]. document are to be interpreted as described in RFC 2119 [14].
3. Template url-path Definition 3. Template url-path Definition
The 'printer:' type is an abstract service type. Because an abstract The 'service:printer:' type is an abstract type. Because an abstract
service type may contain one of many concrete types, the 'url-path' service type may contain one of many concrete types, the 'url-path'
associated with a 'printer:' service URL may vary. IPP and LPR associated with a 'service:printer:' URL may vary. IPP and LPR
printers are presently supported by this 'printer:' template. Other printers are presently supported by this 'service:printer:' template.
printer protocols MAY be supported by extension templates or by Other printer protocols MAY be supported by extension templates or by
future updates of this abstract 'printer:' template. future updates of this abstract 'service:printer:' template.
3.1. IPP 3.1. IPP
An IPP Printer object is defined in "IPP/1.1 Model and Semantics" 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 [3]. An IPP printer concrete URL is defined in "IPP/1.1 Encoding and
Transport" [9]. Transport" [9].
Examples of valid 'service:' URLs for IPP printers include: Examples of valid 'service:' URLs for IPP printers include:
service:printer:ipp://server.sun.com/cgi-bin/public-printer service:printer:ipp://server.sun.com/cgi-bin/public-printer
service:printer:ipp://foo.sun.com/printers?public-printer service:printer:ipp://foo.sun.com/printers?public-printer
3.2. LPR 3.2. LPR
An LPR accessible printer MAY include a queue name as the last part 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 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 to use a default print queue. The definition of an LPR printer
concrete URL is specified in this document, in the 'printer:' service concrete URL is specified in this document, in the 'service:printer:'
template. template.
Examples of valid 'service:' URLs for LPR printers include: Examples of valid 'service:' URLs for LPR printers include:
service:printer:lpr://server.sun.com service:printer:lpr://server.sun.com
service:printer:lpr://server.sun.com/public-printer service:printer:lpr://server.sun.com/public-printer
4. Printer Service Template 4. Printer Service Template
The 'printer:' service template defined below conforms to the grammar The 'service:printer:' template defined below conforms to the grammar
described in "Service Templates and service: Schemes". Please refer described in "Service Templates and service: Schemes". Please refer
to [4] for detailed explanation of the syntax. to [4] for detailed explanation of the syntax.
Name of submitters: Pete St. Pierre <Pete.StPierre@eng.sun.com> Name of submitters: Pete St. Pierre <Pete.StPierre@eng.sun.com>
Scott Isaacson <sisaacson@novell.com> Scott Isaacson <sisaacson@novell.com>
Ira McDonald <imcdonald@sharplabs.com> Ira McDonald <imcdonald@sharplabs.com>
Language of service template: en (English) Language of service template: en (English)
Security Considerations: Security Considerations:
By advertising the security methods associated with each supported By advertising the security methods for each supported printer URL
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 the printer may expose information useful to attackers. SLPv2
security or another security method SHOULD be used to authenticate security or another security method SHOULD be used to authenticate
any service advertisements. any service advertisements.
Template Text: Template Text:
-------------------- template begins here -------------------- -------------------- template begins here --------------------
template-type = printer template-type = printer
template-version = 1.0 template-version = 2.0
template-description = template-description =
The 'printer:' service template describes the attributes The 'service:printer:' template describes the attributes
supported by network printing devices. Devices may be supported by network printing devices. Devices may be
either directly connected to a network or managed by a either directly connected to a network or managed by a
print server. The device or server understands one or print server. The device or server understands one or
more network print protocols such as IPP or LPR. more network print protocols such as IPP or LPR.
template-url-syntax = template-url-syntax =
url-path = ippurl / lprurl url-path = ippurl / lprurl
ippurl = IPP URL as defined in [9] ippurl = IPP URL as defined in [9]
lprurl = "lpr://" hostport [ "/" qname ] lprurl = "lpr://" hostport [ "/" qname ]
hostport = host [ ":" port ] hostport = host [ ":" port ]
skipping to change at page 6, line 15 skipping to change at page 6, line 13
"h" / "i" / "j" / "k" / "l" / "m" / "n" / "h" / "i" / "j" / "k" / "l" / "m" / "n" /
"o" / "p" / "q" / "r" / "s" / "t" / "u" / "o" / "p" / "q" / "r" / "s" / "t" / "u" /
"v" / "w" / "x" / "y" / "z" / "v" / "w" / "x" / "y" / "z" /
"A" / "B" / "C" / "D" / "E" / "F" / "G" / "A" / "B" / "C" / "D" / "E" / "F" / "G" /
"H" / "I" / "J" / "K" / "L" / "M" / "N" / "H" / "I" / "J" / "K" / "L" / "M" / "N" /
"O" / "P" / "Q" / "R" / "S" / "T" / "U" / "O" / "P" / "Q" / "R" / "S" / "T" / "U" /
"V" / "W" / "X" / "Y" / "Z" "V" / "W" / "X" / "Y" / "Z"
digit = "0" / "1" / "2" / "3" / "4" / "5" / "6" / digit = "0" / "1" / "2" / "3" / "4" / "5" / "6" /
"7" / "8" / "9" "7" / "8" / "9"
printer-uri-supported = STRING L printer-xri-supported = STRING L
# REQUIRED for all registrations by conforming SLP SAs # REQUIRED for all registrations by conforming SLP SAs
# IPP 'printer-uri-supported' # 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' # IPP 'uri-authentication-supported'
# The ORDERED list of authentication supported for each URI # IPP 'uri-authentication-supported'
# specified in 'printer-uri-supported' for this printer. # The unordered list of XRI (extended resource identifiers)
# Each list member (including the last) is delimited by '>'. # supported by this printer. Each member of the list
# For example: # consists of a URI (uniform resource identifier) followed
# 'none> basic> certificate>' # by optional authentication and security metaparameters.
# (see example of 'printer-uri-supported' above). # The keywords for URI and their metaparameters are:
# Legal values include # 'uri' == IPP 'printer-uri-supported' value
# 'auth' == IPP 'uri-authentication-supported' value
# 'sec' == IPP 'uri-security-supported' value
# Legal values of the 'auth' metaparameter include
# 'none' (no authentication for this URI) # 'none' (no authentication for this URI)
# 'requesting-user-name' (from operation request) # 'requesting-user-name' (from operation request)
# 'basic' (HTTP/1.1 Basic, RFC 2617) # 'basic' (HTTP/1.1 Basic, RFC 2617 [18])
# 'digest' (HTTP/1.1 Basic, RFC 2617) # 'digest' (HTTP/1.1 Basic, RFC 2617 [18])
# 'certificate' (from certificate) # 'certificate' (from certificate)
# per IPP Model [3] (extensions MAY also be used). # per IPP Model [3] (extensions MAY also be used).
# URI that do not support authentication SHALL specify # A missing 'auth' metaparameter SHALL mean 'none'.
# 'none'. # Legal values of the 'sec' metaparameter include
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) # 'none' (no security for this URI)
# 'ssl3' (Netscape SSL3) # 'ssl3' (Netscape SSL3)
# 'tls' (IETF TLS/1.0, RFC 2246) # 'tls' (IETF TLS/1.0, RFC 2246 [15])
# per IPP Model [3] (extensions MAY also be used). # per IPP Model [3] (extensions MAY also be used).
# URI that do not support security SHALL specify # A missing 'sec' metaparameter SHALL mean 'none'.
# 'none'. # Each metaparameter of a list member is delimited by '<'.
# Each list member (including the last) is delimited by '>'.
# For example:
# 'uri=ipp://foo.com< auth=digest< sec=tls< >
# 'uri=lpr://bar.com< auth=none< sec=none< >
# Registrations MAY consolidate values for metaparameters,
# as in the following example:
# 'uri=ipp://foo.com< auth=basic,digest< sec=tls,ssl3< >
printer-name = STRING printer-name = STRING
# REQUIRED for all registrations by conforming SLP SAs # REQUIRED for all registrations by conforming SLP SAs
# IPP 'printer-name' # IPP 'printer-name'
# The site-specific administrative name of this printer, # The site-specific administrative name of this printer.
# in the language in 'natural-language-configured'. # This value of this attribute SHOULD be in the language
# specified in 'printer-natural-language-configured'
# (although the printer's name may be in any language).
# This name MAY be the last part of the printer's URI or it # This name MAY be the last part of the printer's URI or it
# MAY be completely unrelated. # MAY be completely unrelated.
# This name MAY contain characters that are not allowed in a # This name MAY contain characters that are not allowed in a
# conventional URI (which conforms to RFC 2396). # conventional URI (which conforms to RFC 2396 [17]).
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
# This attribute SHOULD be static (time of registration)
# and SHOULD NOT be dynamically refreshed (subsequently). printer-natural-language-configured = STRING L O
unknown
# RECOMMENDED 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, the (declared) language of the attributes
# 'printer-name', 'printer-location', 'printer-info',
# 'printer-make-and-model', 'printer-media-local-supported',
# 'printer-current-operator', 'printer-service-person'.
# 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.
# 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.
printer-location = STRING O printer-location = STRING O
unknown unknown
# RECOMMENDED for all registrations by conforming SLP SAs
# IPP 'printer-location' # IPP 'printer-location'
# The physical location of this printer, # The physical location of this printer.
# in the language in 'natural-language-configured'. # This value of this attribute SHOULD be in the language
# specified in 'printer-natural-language-configured'.
# A free form description of this printer's physical # A free form description of this printer's physical
# location, for example: # location, for example:
# 'Orlando office, 2nd floor, near the fire escape' # 'Orlando office, 2nd floor, near the fire escape'
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
# However, it is STRONGLY RECOMMENDED that this attribute # However, it is STRONGLY RECOMMENDED that this attribute
# be supported and that it be set to a meaningful value so # be supported and that it be set to a meaningful value so
# that users can determine this printer's physical location # that users can determine this printer's physical location
# for printer selection (before print job submission) and # for printer selection (before print job submission) and
# for output collection (after print job completion). # for output collection (after print job completion).
printer-info = STRING O printer-info = STRING O
unknown unknown
# IPP 'printer-info' # IPP 'printer-info'
# Additional descriptive information on this printer, # Additional descriptive information on this printer.
# in the language in 'natural-language-configured'.
# This value of this attribute SHOULD be in the language
# specified in 'printer-natural-language-configured'.
# A free form string that may contain any site-specific # A free form string that may contain any site-specific
# descriptive information about this printer. # descriptive information about this printer.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
printer-more-info = STRING L O printer-more-info = STRING L O
unknown unknown
# IPP 'printer-more-info' # IPP 'printer-more-info'
# A URI used to obtain more information about this specific # A URI used to obtain more information about this specific
# printer. For example, this could be an 'http:' URI # printer. For example, this could be an 'http:' URI
# referencing an HTML page accessible to a Web Browser. # referencing an HTML page accessible to a Web Browser.
# The information obtained from this URI is intended for # The information obtained from this URI is intended for
# end user consumption. # end user consumption.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
printer-make-and-model = STRING O printer-make-and-model = STRING O
unknown unknown
# IPP 'printer-make-and-model' # IPP 'printer-make-and-model'
# The manufacturer, make, and model of this printer, # The manufacturer, make, and model of this printer,
# a simple text string defined by the manufacturer, # a simple text string defined by the manufacturer.
# in the language in 'natural-language-configured'. # This value of this attribute SHOULD be in the language
# specified in 'printer-natural-language-configured'.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
ipp-versions-supported = STRING L M O printer-ipp-versions-supported = STRING L M O
none none
# IPP 'ipp-versions-supported' # IPP 'ipp-versions-supported'
# The unordered list of 'major.minor' IPP versions # The unordered list of 'major.minor' IPP versions
# supported by this printer or 'none'. # supported by this printer or 'none'.
# For example: # For example:
# '1.0, 1.1' # '1.0, 1.1'
# Legal values include 'none', '1.0', and '1.1', # Legal values include 'none', '1.0', and '1.1',
# per IPP Model [3] (extensions MAY also be used). # per IPP Model [3] (extensions MAY also be used).
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'none'. # then this attribute SHALL be set to 'none'.
multiple-document-jobs-supported = STRING L O printer-multiple-document-jobs-supported = STRING L O
unknown unknown
# IPP 'multiple-document-jobs-supported' # IPP 'multiple-document-jobs-supported'
# Indicates whether this printer supports more than one # Indicates whether this printer supports more than one
# document per job. # document per job.
# This template attribute is an extended boolean. # This template attribute is an extended boolean.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
unknown, true, false unknown, true, false
charset-configured = STRING L O printer-charset-configured = STRING L O
utf-8 utf-8
# IPP 'charset-configured' # IPP 'charset-configured'
# The configured charset in which error and status messages # The configured charset in which error and status messages
# will be generated (by default) by this printer. # 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: # For example:
# 'utf-8' (ISO 10646/Unicode) or 'iso-8859-1' (Latin1) # 'utf-8' (ISO 10646/Unicode) or 'iso-8859-1' (Latin1)
# Legal values of charset tags (names/aliases) come from # Legal values of charset tags (names/aliases) come from
# the IANA Registry of Coded Character Sets [6] and # the IANA Registry of Coded Character Sets [6] and
# the '(preferred MIME name)' SHALL be used as the tag. # the '(preferred MIME name)' SHALL be used as the tag.
# For coherence with IPP Model [3], charset tags in this # For coherence with IPP Model [3], charset tags in this
# attribute SHALL be lowercase normalized. # attribute SHALL be lowercase normalized.
# This attribute SHOULD be static (time of registration) printer-charset-supported = STRING L M O
# and SHOULD NOT be dynamically refreshed (subsequently).
charset-supported = STRING L M O
utf-8 utf-8
# IPP 'charset-supported' # IPP 'charset-supported'
# The possible charsets in which error and status messages # The possible charsets in which error and status messages
# may be generated (if requested) by this printer. # may be generated (if requested) by this printer.
# Also, the possible charsets for printer string attributes # Also, the possible charsets for printer string attributes
# set by operator, system administrator, or manufacturer. # set by operator, system administrator, or manufacturer.
# For example: # For example:
# 'utf-8' (ISO 10646/Unicode) or 'iso-8859-1' (Latin1) # 'utf-8' (ISO 10646/Unicode) or 'iso-8859-1' (Latin1)
# Legal values of charset tags (names/aliases) come from # Legal values of charset tags (names/aliases) come from
# the IANA Registry of Coded Character Sets [6] and # the IANA Registry of Coded Character Sets [6] and
# the '(preferred MIME name)' SHALL be used as the tag. # the '(preferred MIME name)' SHALL be used as the tag.
# This attribute SHALL include the value 'utf-8', per # This attribute SHALL include the value 'utf-8', per
# RFC 2277, 'IETF Policy on Charsets and Languages' [12]. # RFC 2277, 'IETF Policy on Charsets and Languages' [12].
# For coherence with IPP Model [3], charset tags in this # For coherence with IPP Model [3], charset tags in this
# attribute SHALL be lowercase normalized. # attribute SHALL be lowercase normalized.
natural-language-configured = STRING L printer-generated-natural-language-supported = STRING L M O
# REQUIRED for all registrations by conforming SLP SAs unknown
# IPP 'natural-language-configured' # RECOMMENDED for all registrations by conforming SLP SAs
# 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' # IPP 'generated-natural-language-supported'
# The possible languages in which error and status messages # The possible languages in which error and status messages
# may be generated (if requested) by this printer. # may be generated (if requested) by this printer.
# Also, the possible languages for printer string attributes # Also, the possible languages for printer string attributes
# set by operator, system administrator, or manufacturer. # set by operator, system administrator, or manufacturer.
# For example: # For example:
# 'en-us' (US English) or 'fr-fr' (French in France) # 'en-us' (US English) or 'fr-fr' (French in France)
# Legal values of language tags conform to RFC 1766 # Legal values of language tags conform to RFC 1766
# 'Tags for the Identification of Languages' [5]. # 'Tags for the Identification of Languages' [5].
# For coherence with IPP Model [3], language tags in this # For coherence with IPP Model [3], language tags in this
# attribute SHALL be lowercase normalized. # attribute SHALL be lowercase normalized.
# 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.
document-format-supported = STRING L M printer-document-format-supported = STRING L M O
# REQUIRED for all registrations by conforming SLP SAs unknown
# RECOMMENDED for all registrations by conforming SLP SAs
# IPP 'document-format-supported' # IPP 'document-format-supported'
# The possible document formats in which data may be # The possible document formats in which data may be
# interpreted and printed by this printer. # interpreted and printed by this printer.
# Legal values of document formats (MIME types) come from # Legal values of document formats (MIME types) come from
# the IANA Registry of Internet Media Types [11]. # the IANA Registry of Internet Media Types [11].
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # 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.
color-supported = STRING L O printer-color-supported = STRING L O
unknown unknown
# IPP 'color-supported' # IPP 'color-supported'
# Indicates whether this printer is capable of any type of # Indicates whether this printer is capable of any type of
# color printing at all, including highlight color. # color printing at all, including highlight color.
# This template attribute is an extended boolean. # This template attribute is an extended boolean.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
unknown, true, false unknown, true, false
compression-supported = STRING L M printer-compression-supported = STRING L M O
# REQUIRED for all registrations by conforming SLP SAs none
# RECOMMENDED for all registrations by conforming SLP SAs
# IPP 'compression-supported' # IPP 'compression-supported'
# The unordered list of compression algorithms supported # The unordered list of compression algorithms supported
# by this printer. # by this printer.
# For example: # For example:
# 'deflate, gzip' # 'deflate, gzip'
# Legal values include # Legal values include
# 'none' # 'none'
# 'deflate' (public domain ZIP) # 'deflate' (public domain ZIP)
# 'gzip' (GNU ZIP) # 'gzip' (GNU ZIP)
# 'compress' (UNIX) # 'compress' (UNIX)
# per IPP Model [3] (extensions MAY also be used). # per IPP Model [3] (extensions MAY also be used).
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'none'. # then this attribute SHALL be set to 'none'.
# However, it is STRONGLY RECOMMENDED that this attribute
# be supported and that it be set to a meaningful value.
pages-per-minute = INTEGER O printer-pages-per-minute = INTEGER O
-1 -1
# IPP 'pages-per-minute' # IPP 'pages-per-minute'
# The nominal number of pages per minute which may be # The nominal number of pages per minute which may be
# output by this printer (e.g., simplex, black-and-white). # output by this printer (e.g., simplex, black-and-white).
# This attribute is informative, NOT a service guarantee. # This attribute is informative, NOT a service guarantee.
# Typically, it is the value used in marketing literature # Typically, it is the value used in marketing literature
# to describe this printer. # to describe this printer.
# A value of '-1' indicates unknown. # A value of '-1' indicates unknown.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to '-1'. # then this attribute SHALL be set to '-1'.
pages-per-minute-color = INTEGER O printer-pages-per-minute-color = INTEGER O
-1 -1
# IPP 'pages-per-minute-color' # IPP 'pages-per-minute-color'
# The nominal number of color pages per minute which may be # The nominal number of color pages per minute which may be
# output by this printer (e.g., simplex, color). # output by this printer (e.g., simplex, color).
# This attribute is informative, NOT a service guarantee. # This attribute is informative, NOT a service guarantee.
# Typically, it is the value used in marketing literature # Typically, it is the value used in marketing literature
# to describe this printer. # to describe this printer.
# A value of '-1' indicates unknown. # A value of '-1' indicates unknown.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to '-1'. # then this attribute SHALL be set to '-1'.
finishings-supported = STRING L M O printer-finishings-supported = STRING L M O
none none
# IPP 'finishings-supported' # IPP 'finishings-supported'
# The possible finishing operations supported by this # The possible finishing operations supported by this
# printer. # printer.
# Legal values of finishings are defined in IPP Model [3]. # Legal values of finishings are defined in IPP Model [3].
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'none'. # then this attribute SHALL be set to 'none'.
none, staple, punch, cover, bind, none, staple, punch, cover, bind,
saddle-stitch, edge-stitch, saddle-stitch, edge-stitch,
staple-top-left, staple-bottom-left, staple-top-left, staple-bottom-left,
staple-top-right, staple-bottom-right, staple-top-right, staple-bottom-right,
edge-stitch-left, edge-stitch-top, edge-stitch-left, edge-stitch-top,
edge-stitch-right, edge-stitch-bottom, edge-stitch-right, edge-stitch-bottom,
staple-dual-left, staple-dual-top, staple-dual-left, staple-dual-top,
staple-dual-right, staple-dual-bottom staple-dual-right, staple-dual-bottom
number-up-supported = INTEGER M O printer-number-up-supported = INTEGER M O
1 1
# IPP 'number-up-supported' # IPP 'number-up-supported'
# The possible numbers of print-stream pages to impose # The possible numbers of print-stream pages to impose
# upon a single side of an instance of a selected # upon a single side of an instance of a selected
# medium. # medium.
# Legal values of this attribute include 1, 2, and 4 [3]. # Legal values of this attribute include 1, 2, and 4 [3].
# Implementations may support other values. # Implementations may support other values.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to '1'. # then this attribute SHALL be set to '1'.
sides-supported = STRING L M O printer-sides-supported = STRING L M O
one-sided one-sided
# IPP 'sides-supported' # IPP 'sides-supported'
# (Compare with Salutation 'duplex-mode') # (Compare with Salutation 'duplex-mode')
# The number of impression sides (one or two) and the # The number of impression sides (one or two) and the
# two-sided impression rotations supported by this printer. # two-sided impression rotations supported by this printer.
# Salutation 'simplex' == IPP 'one-sided' # Salutation 'simplex' == IPP 'one-sided'
# Salutation 'duplex' == IPP 'two-sided-long-edge' # Salutation 'duplex' == IPP 'two-sided-long-edge'
# Salutation 'tumble' == IPP 'two-sided-short-edge' # Salutation 'tumble' == IPP 'two-sided-short-edge'
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'one-sided'. # then this attribute SHALL be set to 'one-sided'.
one-sided, two-sided-long-edge, two-sided-short-edge one-sided, two-sided-long-edge, two-sided-short-edge
media-supported = STRING L M O printer-media-supported = STRING L M O
unknown unknown
# IPP 'media-supported' - only the standard keyword values # IPP 'media-supported' - only the standard keyword values
# The standard names/types/sizes (and optional color # The standard names/types/sizes (and optional color
# suffixes) of the media supported by this printer. # suffixes) of the media supported by this printer.
# The values specified are NOT localized according to the # The values specified are NOT localized according to
# value of 'natural-language-configured', but are in a # 'printer-natural-language-configured', but are in a
# fixed language of 'en-us' (US English). For example: # fixed language of 'en-us' (US English). For example:
# 'iso-a4' or 'envelope' or 'na-letter-white' # 'iso-a4' or 'envelope' or 'na-letter-white'
# Legal values of this attribute conform to ISO 10175 # Legal values of this attribute conform to ISO 10175
# 'Document Printing Application (DPA)' [10] and # 'Document Printing Application (DPA)' [10] and
# any IANA registered extensions, per IPP Model [3]. # any IANA registered extensions, per IPP Model [3].
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
media-local-supported = STRING M O printer-media-local-supported = STRING M O
unknown unknown
# IPP 'media-supported' - only site-specific name values # IPP 'media-supported' - only site-specific name values
# Site-specific names of media supported by this printer, # Site-specific names of media supported by this printer.
# in the language in 'natural-language-configured'. # This value of this attribute SHOULD be in the language
# specified in 'printer-natural-language-configured'
# (although the media names may be in any language).
# For example: # For example:
# 'purchasing-form' (site-specific name) # 'purchasing-form' (site-specific name)
# as opposed to (in 'media-supported' above): # as opposed to (in 'media-supported' above):
# 'na-letter' (standard keyword from ISO 10175 [10]). # 'na-letter' (standard keyword from ISO 10175 [10]).
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
printer-resolution-supported = STRING L M O printer-resolution-supported = STRING L M O
unknown unknown
# IPP 'printer-resolution-supported' # IPP 'printer-resolution-supported'
# (Compare with 'printer-uri-supported' in this template) # (Compare with 'printer-xri-supported' in this template)
# The unordered list of resolutions supported for printing # The unordered list of resolutions supported for printing
# documents by this printer. # documents by this printer.
# Each resolution supported is a string with 3 fields: # Each resolution supported is a string with 3 fields:
# 1) Crossfeed direction resolution (positive integer) # 1) Crossfeed direction resolution (positive integer)
# 2) Feed direction resolution (positive integer) # 2) Feed direction resolution (positive integer)
# 3) Resolution unit (enumerated value - see below) # 3) Resolution unit (enumerated value - see below)
# Each resolution field is delimited by '>', for example: # Each resolution field is delimited by '>', for example:
# '300> 300> dpi>, 600> 600> dpi>' # '300> 300> dpi>, 600> 600> dpi>'
# Legal values of resolution unit are # Legal values of resolution unit are
# 'dpi' (dots per inch) # 'dpi' (dots per inch)
# 'dpcm' (dots per centimeter) # 'dpcm' (dots per centimeter)
# per IPP Model [3] (extensions SHOULD NOT be used). # per IPP Model [3] (extensions SHOULD NOT be used).
# This attribute is derived from the Printer MIB [7]. # This attribute is derived from the Printer MIB [7].
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
print-quality-supported = STRING L M O printer-print-quality-supported = STRING L M O
unknown unknown
# IPP 'print-quality-supported' # IPP 'print-quality-supported'
# The unordered list of print qualities supported for # The unordered list of print qualities supported for
# printing documents on this printer. # printing documents on this printer.
# For example: # For example:
# 'draft, normal' # 'draft, normal'
# Legal values are defined in IPP Model [3]. # Legal values are defined in IPP Model [3].
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
unknown, draft, normal, high unknown, draft, normal, high
job-priority-supported = INTEGER O printer-job-priority-supported = INTEGER O
1 1
# IPP 'job-priority-supported' # IPP 'job-priority-supported'
# (Compare with Salutation 'priority-levels-supported') # (Compare with Salutation 'priority-levels-supported')
# Indicates the number of job priority levels supported. # Indicates the number of job priority levels supported.
# An IPP conformant printer which supports job priority # An IPP conformant printer which supports job priority
# must always support a full range of priorities from # must always support a full range of priorities from
# '1' to '100' (to ensure consistent behavior), therefore # '1' to '100' (to ensure consistent behavior), therefore
# this template attribute describes the 'granularity'. # this template attribute describes the 'granularity'.
# Legal values of this attribute are from '1' to '100'. # Legal values of this attribute are from '1' to '100'.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to '1'. # then this attribute SHALL be set to '1'.
copies-supported = INTEGER O printer-copies-supported = INTEGER O
-1 -1
# IPP 'copies-supported' # IPP 'copies-supported'
# The maximum number of copies of a document # The maximum number of copies of a document
# that may be printed as a single job. # that may be printed as a single job.
# A value of '0' indicates no maximum limit. # A value of '0' indicates no maximum limit.
# A value of '-1' indicates unknown. # A value of '-1' indicates unknown.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to '-1'. # then this attribute SHALL be set to '-1'.
job-k-octets-supported = INTEGER O printer-job-k-octets-supported = INTEGER O
-1 -1
# IPP 'job-k-octets-supported' # IPP 'job-k-octets-supported'
# The maximum size in kilobytes (1,024 octets actually) # The maximum size in kilobytes (1,024 octets actually)
# incoming print job that this printer will accept. # incoming print job that this printer will accept.
# A value of '0' indicates no maximum limit. # A value of '0' indicates no maximum limit.
# A value of '-1' indicates unknown. # A value of '-1' indicates unknown.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to '-1'. # then this attribute SHALL be set to '-1'.
printer-current-operator = STRING M O printer-current-operator = STRING M O
unknown unknown
# Printer MIB 'prtGeneralCurrentOperator' # Printer MIB 'prtGeneralCurrentOperator'
# The name of the current human operator responsible for # The name of the current human operator responsible for
# operating this printer. It is suggested that this string # operating this printer. It is suggested that this string
# include information that would enable other humans to # include information that would enable other humans to
# reach the operator, such as a phone number. # reach the operator, such as a telephone number.
# This value of this attribute SHOULD be in the language
# specified in 'printer-natural-language-configured'
# (although the person's name may be in any language).
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # 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 printer-service-person = STRING M O
unknown unknown
# Printer MIB 'prtGeneralServicePerson' # Printer MIB 'prtGeneralServicePerson'
# The name of the current service person responsible for # The name of the current service person responsible for
# servicing this printer. It is suggested that this string # servicing this printer. It is suggested that this string
# include information that would enable other humans to # include information that would enable other humans to
# reach the service person, such as a phone number. # reach the service person, such as a telephone number.
# This value of this attribute SHOULD be in the language
# specified in 'printer-natural-language-configured'
# (although the person's name may be in any language).
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # 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 printer-delivery-orientation-supported = STRING L M O
unknown unknown
# Printer MIB 'prtOutputPageDeliveryOrientation' # Printer MIB 'prtOutputPageDeliveryOrientation'
# The possible delivery orientations of pages as they are # The possible delivery orientations of pages as they are
# printed and ejected from this printer. # printed and ejected from this printer.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
unknown, face-up, face-down unknown, face-up, face-down
stacking-order-supported = STRING L M O printer-stacking-order-supported = STRING L M O
unknown unknown
# Printer MIB 'prtOutputStackingOrder' # Printer MIB 'prtOutputStackingOrder'
# (Compare with Salutation 'paper-output') # (Compare with Salutation 'paper-output')
# The possible stacking order of pages as they are printed # The possible stacking order of pages as they are printed
# and ejected from this printer. # and ejected from this printer.
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
unknown, first-to-last, last-to-first unknown, first-to-last, last-to-first
output-features-supported = STRING L M O printer-output-features-supported = STRING L M O
unknown unknown
# Printer MIB 'prtOutputFeaturesGroup' # Printer MIB 'prtOutputFeaturesGroup'
# (Compare with Salutation 'paper-output') # (Compare with Salutation 'paper-output')
# The possible output features supported by this printer. # The possible output features supported by this printer.
# 'bursting' == Printer MIB 'prtOutputBursting' # 'bursting' == Printer MIB 'prtOutputBursting'
# 'decollating' == Printer MIB 'prtOutputDecollating' # 'decollating' == Printer MIB 'prtOutputDecollating'
# 'page-collating' == Printer MIB 'prtOutputPageCollated' # 'page-collating' == Printer MIB 'prtOutputPageCollated'
# 'offset-stacking' == Printer MIB 'prtOutputOffestStacking' # 'offset-stacking' == Printer MIB 'prtOutputOffestStacking'
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
skipping to change at page 14, line 50 skipping to change at page 15, line 4
unknown unknown
# Printer MIB 'prtOutputFeaturesGroup' # Printer MIB 'prtOutputFeaturesGroup'
# (Compare with Salutation 'paper-output') # (Compare with Salutation 'paper-output')
# The possible output features supported by this printer. # The possible output features supported by this printer.
# 'bursting' == Printer MIB 'prtOutputBursting' # 'bursting' == Printer MIB 'prtOutputBursting'
# 'decollating' == Printer MIB 'prtOutputDecollating' # 'decollating' == Printer MIB 'prtOutputDecollating'
# 'page-collating' == Printer MIB 'prtOutputPageCollated' # 'page-collating' == Printer MIB 'prtOutputPageCollated'
# 'offset-stacking' == Printer MIB 'prtOutputOffestStacking' # 'offset-stacking' == Printer MIB 'prtOutputOffestStacking'
# If this printer information is not known to the SLP SA, # If this printer information is not known to the SLP SA,
# then this attribute SHALL be set to 'unknown'. # then this attribute SHALL be set to 'unknown'.
unknown, bursting, decollating, page-collating, unknown, bursting, decollating, page-collating,
offset-stacking offset-stacking
-------------------- template ends here ---------------------- -------------------- template ends here ----------------------
5. Summary of Required Attributes 5. Summary of Required Attributes
Attributes are associated with 'service:' URLs in order to provide a Attributes are associated with 'service:' URLs in order to provide a
dynamic search capability to service location clients, not to burden dynamic search capability to service location clients. SLP SAs
servers implementations during registrations. SHOULD include OPTIONAL attributes in their service registrations.
A small subset (8) of the attributes defined in 'printer:' are Two (2) of the attributes defined in 'service:printer:' are REQUIRED
REQUIRED in all compliant service registrations by SLP SAs: in all compliant service registrations by SLP SAs:
SLP Required Attribute IPP Generic Directory Schema SLP Required Attribute IPP Generic Schem
---------------------- ---------------------------- ---------------------- -----------------
printer-uri-supported r printer-xri-supported r
uri-authentication-supported r printer-name 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] r RECOMMENDED - Appendix E 'Generic Directory Schema' IPP Model [3]
REQUIRED - SLP 'printer:' template REQUIRED - SLP 'service: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] m Missing - Appendix E 'Generic Directory Schema' IPP Model [3]
REQUIRED - SLP 'printer:' template REQUIRED - SLP 'service:printer:' template
5.1. Rationale for Required Attributes 5.1. Rationale for Required Attributes
'natural-language-configured' 'printer-xri-supported'
- REQUIRED in SLP 'printer:' template to specify language tags for - REQUIRED in SLP 'service:printer:' to consolidate values from the
'printer-name', 'printer-location', 'printer-info', and following three IPP attributes (without parallel ordered attributes):
'printer-make-and-model' attributes; 'printer-uri-supported', 'uri-authentication-supported', and
'uri-security-supported'.
All other REQUIRED SLP 'service:printer:' template attributes are
RECOMMENDED in Appendix E 'Generic Directory Schema' IPP Model [3].
6. Summary of Recommended Attributes
Attributes are associated with 'service:' URLs in order to provide a
dynamic search capability to service location clients. SLP SAs
SHOULD include RECOMMENDED attributes in their service registrations.
Some of the attributes defined in 'service:printer:' are RECOMMENDED
in all compliant service registrations by SLP SAs:
SLP Recommended Attribute IPP Generic Schem
------------------------- -----------------
printer-location o
printer-natural-language-configured m
printer-generated-natural-language-supported o
printer-document-format-supported r
printer-compression-supported r
r RECOMMENDED - Appendix E 'Generic Directory Schema' IPP Model [3]
OPTIONAL - SLP 'service:printer:'' template (with specified defau
o OPTIONAL - Appendix E 'Generic Directory Schema' IPP Model [3]
OPTIONAL - SLP 'service:printer:'' template (with specified defau
m Missing - Appendix E 'Generic Directory Schema' IPP Model [3]
OPTIONAL - SLP 'service:printer:'' template (with specified defau
6.1. Rationale for Recommended Attributes
'printer-location'
- RECOMMENDED in SLP 'service:printer:' template to aid users in
selecting appropriate printers (by physical proximity);
- OPTIONAL in Appendix E 'Generic Directory Schema' of IPP Model [3].
'printer-natural-language-configured'
- RECOMMENDED in SLP 'service:printer:' template to specify language
tags for 'printer-name', 'printer-location', 'printer-info',
'printer-make-and-model', 'printer-media-local-supported',
'printer-current-operator', and 'printer-service-person' attributes;
- missing in Appendix E 'Generic Directory Schema' of IPP Model [3], - missing in Appendix E 'Generic Directory Schema' of IPP Model [3],
because the corresponding IPP attributes are language tagged in-band because the corresponding IPP attributes are language tagged in-band
via the IPP 'textWithLanguage' syntax. via the IPP 'textWithLanguage' syntax.
'natural-language-supported' 'printer-generated-natural-language-supported'
- REQUIRED in SLP 'printer:' template to assist users in selecting - RECOMMENDED in SLP 'service:printer:' template to aid users in
appropriate printers; selecting appropriate printers;
- missing in Appendix E 'Generic Directory Schema' of IPP Model [3]. - OPTIONAL in Appendix E 'Generic Directory Schema' of IPP Model [3].
All other REQUIRED SLP 'printer:' template attributes are RECOMMENDED All other RECOMMENDED SLP 'service:printer:' template attributes are
in Appendix E 'Generic Directory Schema' IPP Model [3]. RECOMMENDED in Appendix E 'Generic Directory Schema' IPP Model [3].
6. Summary of Optional Attributes 7. Summary of Optional Attributes
Many of the attributes defined in 'printer:' are OPTIONAL in all Attributes are associated with 'service:' URLs in order to provide a
compliant service registrations by SLP SAs: dynamic search capability to service location clients. SLP SAs MAY
include OPTIONAL attributes in their service registrations.
SLP Optional Attribute IPP Generic Directory Schema Most of the attributes defined in 'service:printer:' are OPTIONAL in
---------------------- ---------------------------- all compliant service registrations by SLP SAs:
printer-location r
printer-info o SLP Optional Attribute IPP Generic Schem
printer-more-info o ---------------------- -----------------
printer-make-and-model r printer-info o
ipp-versions-supported r printer-more-info o
multiple-document-jobs-supported o printer-make-and-model r
charset-configured m (SLP enhancement) printer-ipp-versions-supported r
charset-supported o printer-multiple-document-jobs-supported o
color-supported r printer-charset-configured m (SLP enhancemen
finishings-supported r printer-charset-supported o
number-up-supported o printer-color-supported r
sides-supported r printer-finishings-supported r
media-supported r printer-number-up-supported o
media-local-supported m (part of 'media-supported') printer-sides-supported r
pages-per-minute o printer-media-supported r
pages-per-minute-color o printer-media-local-supported r (site-specific)
printer-resolution-supported o printer-pages-per-minute o
print-quality-supported o printer-pages-per-minute-color o
job-priority-supported m (SLP enhancement) printer-resolution-supported o
copies-supported m (SLP enhancement) printer-print-quality-supported o
job-k-octets-supported m (SLP enhancement) printer-job-priority-supported m (SLP enhancemen
printer-current-operator m (from Printer MIB) printer-copies-supported m (SLP enhancemen
printer-service-person m (from Printer MIB) printer-job-k-octets-supported m (SLP enhancemen
delivery-orientation-supported m (from Printer MIB) printer-current-operator m (from Printer M
stacking-order-supported m (from Printer MIB) printer-service-person m (from Printer M
output-features-supported m (from Printer MIB) printer-delivery-orientation-supported m (from Printer M
printer-stacking-order-supported m (from Printer M
printer-output-features-supported m (from Printer M
r RECOMMENDED - Appendix E 'Generic Directory Schema' IPP Model [3] r RECOMMENDED - Appendix E 'Generic Directory Schema' IPP Model [3]
OPTIONAL - SLP 'printer:' template (with specified default) OPTIONAL - SLP 'service:printer:'' template (with specified defau
o OPTIONAL - Appendix E 'Generic Directory Schema' IPP Model [3] o OPTIONAL - Appendix E 'Generic Directory Schema' IPP Model [3]
OPTIONAL - SLP 'printer:' template (with specified default) OPTIONAL - SLP 'service:printer:'' template (with specified defau
m Missing - Appendix E 'Generic Directory Schema' IPP Model [3] m Missing - Appendix E 'Generic Directory Schema' IPP Model [3]
OPTIONAL - SLP 'printer:' template (with specified default) OPTIONAL - SLP 'service:printer:'' template (with specified defau
6.1. Rationale for Optional Attributes 7.1. Rationale for Optional Attributes
'printer-location', 'printer-make-and-model', 'color-supported', 'printer-location', 'printer-make-and-model',
'finishings-supported', 'sides-supported', 'media-supported', and 'printer-color-supported', 'printer-finishings-supported',
'local-media-supported' 'printer-sides-supported', 'printer-media-supported', and
- OPTIONAL in SLP 'printer:' template because network print servers 'printer-media-local-supported'
may not be able to determine this information; - OPTIONAL in SLP 'service:printer:' template because network print
servers may not be able to determine this information;
- RECOMMENDED in Appendix E 'Generic Directory Schema' of IPP Model - RECOMMENDED in Appendix E 'Generic Directory Schema' of IPP Model
[3]. [3].
'ipp-versions-supported' 'printer-ipp-versions-supported'
- OPTIONAL in SLP 'printer:' template because network printers may - OPTIONAL in SLP 'service:printer:' template because network
not support IPP; printers may not support IPP;
- RECOMMENDED in Appendix E 'Generic Directory Schema' of IPP Model - RECOMMENDED in Appendix E 'Generic Directory Schema' of IPP Model
[3]. [3].
'charset-configured' 'printer-charset-configured'
- OPTIONAL in SLP 'printer:' template to assist users in selecting - OPTIONAL in SLP 'service:printer:'' template to aid users in
appropriate printers; selecting appropriate printers;
- missing in Appendix E 'Generic Directory Schema' of IPP Model [3]. - missing in Appendix E 'Generic Directory Schema' of IPP Model [3].
'job-priority-supported', 'copies-supported', and 'printer-job-priority-supported', 'printer-copies-supported', and
'job-k-octets-supported' 'printer-job-k-octets-supported'
- OPTIONAL in SLP 'printer:' template to assist users in selecting - OPTIONAL in SLP 'service:printer:'' template to aid users in
appropriate printers; selecting appropriate printers;
- missing in Appendix E 'Generic Directory Schema' of IPP Model [3]. - missing in Appendix E 'Generic Directory Schema' of IPP Model [3].
'printer-current-operator', 'printer-service-person', 'printer-current-operator', 'printer-service-person',
'delivery-orientation-supported', 'stacking-order-supported', and 'printer-delivery-orientation-supported',
'output-features-supported' 'printer-stacking-order-supported', and
- OPTIONAL in SLP 'printer:' template to assist users in selecting 'printer-output-features-supported'
appropriate printers; - OPTIONAL in SLP 'service:printer:'' template to aid users in
selecting appropriate printers;
- missing in Appendix E 'Generic Directory Schema' of IPP Model [3], - missing in Appendix E 'Generic Directory Schema' of IPP Model [3],
because they are only specified in the Printer MIB [7], not in IPP. because they are only specified in the Printer MIB [7], not in IPP.
All other OPTIONAL SLP 'printer:' template attributes are OPTIONAL in All other OPTIONAL SLP 'service:printer:' template attributes are
Appendix E 'Generic Directory Schema' IPP Model [3]. also OPTIONAL in Appendix E 'Generic Directory Schema' IPP Model [3].
7. Summary of Attribute Origins 8. Summary of Attribute Origins
The following table summarizes the origins of all of the attributes The following table summarizes the origins of all of the attributes
in the 'printer:' service template (except 'template-xxx' generic in the 'service:printer:' template (except 'template-xxx' generic
attributes defined in "Service Templates and service: Schemes" [4] attributes defined in "Service Templates and service: Schemes" [4]
and required for all 'service:' templates). and required for all 'service:' templates). The two source documents
are IPP Model [3] and Printer MIB [7].
Attribute Name IPP[3] Printer MIB[7] Attribute Name IPP Printer MIB
-------------- ------ -------------- -------------- --- -----------
printer-uri-supported X printer-xri-supported X
uri-authentication-supported X printer-name X
uri-security-supported X printer-natural-language-configured X
printer-name X printer-location X
printer-location X printer-info X
printer-info X printer-more-info X
printer-more-info X printer-make-and-model X
printer-make-and-model X printer-ipp-versions-supported X
ipp-versions-supported X printer-multiple-document-jobs-supported X
multiple-document-jobs-supported X printer-charset-configured X
charset-configured X printer-charset-supported X
charset-supported X printer-generated-natural-language-supported X
natural-language-configured X printer-document-format-supported X
natural-language-supported X printer-color-supported X
document-format-supported X printer-compression-supported X
color-supported X printer-pages-per-minute X
compression-supported X printer-pages-per-minute-color X
pages-per-minute X printer-finishings-supported X
pages-per-minute-color X printer-number-up-supported X
finishings-supported X printer-sides-supported X
number-up-supported X printer-media-supported X
sides-supported X printer-media-local-supported X
media-supported X printer-resolution-supported X
media-local-supported X printer-print-quality-supported X
printer-resolution-supported X printer-job-priority-supported X
print-quality-supported X printer-copies-supported X
job-priority-supported X printer-job-k-octets-supported X
copies-supported X printer-current-operator X
job-k-octets-supported X printer-service-person X
printer-current-operator X delivery-orientation-supported X
printer-service-person X stacking-order-supported X
delivery-orientation-supported X output-features-supported X
stacking-order-supported X
output-features-supported X
8. IANA Considerations 'printer-xri-supported'
- REQUIRED in SLP 'service:printer:' to consolidate values from the
following three IPP attributes (without parallel ordered attributes):
'printer-uri-supported', 'uri-authentication-supported', and
'uri-security-supported'.
Registration of this 'printer:' service template will follow the 9. IANA Considerations
Registration of this 'service:printer:' template will follow the
procedures defined in section 4 'A Procedure for Standardizing New procedures defined in section 4 'A Procedure for Standardizing New
Service Types' and section 5 'IANA Considerations' of "Service Service Types' and section 5 'IANA Considerations' of "Service
Templates and service: Schemes" [4]. Templates and service: Schemes" [4].
9. Internationalization Considerations 10. Internationalization Considerations
All attribute values in registrations using this 'printer:' service All attribute values in registrations using the 'service:printer:'
template MUST be encoded in UTF-8 characters, as required by "Service template MUST be encoded in UTF-8 characters, as required by "Service
Location Protocol, Version 2" [13]. Thus, all registrations using Location Protocol, Version 2" [13]. Also, a language tag for all of
this 'printer:' service template conform to "IETF Policy on Character the textual attributes in the 'service:printer:' template SHOULD be
Sets and Languages" [12]. supplied in the attribute 'printer-natural-language-configured'.
Therefore, all registrations using the 'service:printer:' template
conform to "IETF Policy on Character Sets and Languages" [12].
10. Security Considerations 11. Security Considerations
When used with SLPv2, this 'printer:' service template inherits all When used with SLPv2, this 'service:printer:' template inherits all
of the security issues described in section 17 'Security of the security issues described in section 17 'Security
Considerations' of "Service Location Protocol, Version 2" [13]. Considerations' of "Service Location Protocol, Version 2" [13].
11. References By advertising the security methods for each supported printer URL
the printer may expose information useful to attackers. SLPv2
security or another security method SHOULD be used to authenticate
any service advertisements.
12. References
[1] J. Veizades, E. Guttman, C. Perkins, S. Kaplan. Service Location [1] J. Veizades, E. Guttman, C. Perkins, S. Kaplan. Service Location
Protocol, RFC 2165, June 1997. Protocol, RFC 2165, June 1997.
[2] L. McLaughlin. Line Printer Daemon Protocol, RFC 1179, August [2] L. McLaughlin. Line Printer Daemon Protocol, RFC 1179, August
1990. 1990.
[3] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell. [3] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell.
IPP/1.1: Model and Semantics, <draft-ietf-ipp-model-v11-04.txt> IPP/1.1: Model and Semantics, <draft-ietf-ipp-model-v11-06.txt>
(work in progress), June 1999. (work in progress), March 2000.
[4] E. Guttman, C. Perkins, J. Kempf. Service Templates and service: [4] E. Guttman, C. Perkins, J. Kempf. Service Templates and service:
Schemes, RFC 2609, June 1999. (Updates RFC 2165) Schemes, RFC 2609, June 1999. (Updates RFC 2165)
[5] H. Alvestrand. Tags for the Identification of Languages, RFC [5] H. Alvestrand. Tags for the Identification of Languages, RFC
1766. March 1995. 1766. March 1995.
[6] IANA Registry of Coded Character Sets: [6] IANA Registry of Coded Character Sets:
ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets. ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets.
[7] R. Smith, F. Wright, T. Hastings, S. Zilles, J. Gyllenskog. [7] R. Smith, F. Wright, T. Hastings, S. Zilles, J. Gyllenskog.
Printer MIB, RFC 1759, March 1995. Printer MIB, RFC 1759, March 1995.
[8] Salutation Consortium, Inc. Salutation Architecture [8] Salutation Consortium, Inc. Salutation Architecture
Specification V2.0, December 1996. Specification V2.0, December 1996.
[9] R. Herriot, S. Butler, P. Moore, R. Turner. IPP/1.1: Encoding [9] R. Herriot, S. Butler, P. Moore, R. Turner. IPP/1.1: Encoding
and Transport, <draft-ietf-ipp-protocol-v11-03.txt> (work in and Transport, <draft-ietf-ipp-protocol-v11-05.txt> (work in
progress), June 1999. progress), March 2000.
[10] Information Technology - Document Printing Application (DPA), [10] Information Technology - Document Printing Application (DPA),
ISO/IEC 10175, June 1996. ISO/IEC 10175, June 1996.
[11] IANA Registry of Internet Media Types (also called MIME types): [11] IANA Registry of Internet Media Types (also called MIME types):
ftp://ftp.isi.edu/in-notes/iana/assignments/media-types ftp://ftp.isi.edu/in-notes/iana/assignments/media-types
[12] H. Alvestrand. IETF Policy on Character Sets and Languages, RFC [12] H. Alvestrand. IETF Policy on Character Sets and Languages, RFC
2277, January 1998. 2277, January 1998.
[13] E. Guttman, C. Perkins, J. Veizades, M. Day. Service Location [13] E. Guttman, C. Perkins, J. Veizades, M. Day. Service Location
Protocol, Version 2, RFC 2608, June 1999. (Updates RFC 2165) Protocol, Version 2, RFC 2608, June 1999. (Updates RFC 2165)
[14] S. Bradner. Key words for use in RFCs to Indicate Requirement [14] S. Bradner. Key words for use in RFCs to Indicate Requirement
Levels, RFC 2119, March 1997. Levels, RFC 2119, March 1997.
12. Acknowledgments [15] T. Dierks, C. Allen. TLS Protocol Version 1.0, RFC 2246,
January 1999.
This document is a submission to the Service Location Working group. [16] M. Wahl, T. Howes, S. Kille. Lightweight Directory Access
Protocol Version 3, RFC 2251, December 1997.
Thanks to Jean Beha (Xerox), Jim Erwin (Novell), Tom Hastings [17] T. Berners-Lee, R. Fielding, L. Masinter. URI Generic Syntax,
(Xerox), Bob Herriot (Xerox), James Kempf (Sun), Hugo Parra (Novell), RFC 2396, August 1998.
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.
13. Authors' Addresses [18] J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach,
A. Luotonen, L. Stewart. HTTP Authentication: Basic and Digest
Access Authentication, RFC 2617, June 1999.
13. Acknowledgments
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.
Thanks to Jean Beha (Xerox), Jim Erwin (Novell), Pat Fleming (IBM),
Tom Hastings (Xerox), Bob Herriot (Xerox), Ken Jones (Sun), James
Kempf (Sun), Harry Lewis (IBM), 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 'service:printer:' template.
14. Authors' Addresses
Questions about this memo can be directed to: Questions about this memo can be directed to:
Pete St. Pierre Pete St. Pierre
Sun Microsystems Sun Microsystems
901 San Antonio Avenue 901 San Antonio Avenue
Palo Alto, CA 94043 Palo Alto, CA 94043
USA USA
Phone: 650-786-5790 Phone: 650-786-5790
EMail: Pete.StPierre@eng.sun.com EMail: Pete.StPierre@eng.sun.com
skipping to change at page 22, line 5 skipping to change at page 25, line 5
EMail: sisaacson@novell.com EMail: sisaacson@novell.com
Ira McDonald Ira McDonald
High North High North
221 Ridge Ave 221 Ridge Ave
Grand Marais, MI 49839 Grand Marais, MI 49839
USA USA
Phone: 906-494-2434 (or 2697) Phone: 906-494-2434 (or 2697)
Email: imcdonald@sharplabs.com Email: imcdonald@sharplabs.com
14. Full Copyright Statement 15. Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved. Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
 End of changes. 105 change blocks. 
291 lines changed or deleted 368 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/