Hi folks,
Since I've had no comments from my fellow editors on the following
SLP 'printer:' template in the past week, I'm forwarding it to the
IPP WG for comment.
To read it, you'll need the latest 'service:' scheme spec (see note
below) and Pete's last draft of SLP 'printer:' template spec
(from March 1998, sorry I don't have the URL in front of me -
all drafts on SLP are of the form 'draft-ietf-svrloc-xxx.txt'
at 'ftp://ftp.ietf.org/internet-drafts').
I'd like to discuss the updated SLP 'printer:' template at our
IPP WG Telecon next week (Wednesday, 4 November 1998).
Cheers,
- Ira McDonald (outside consultant at Xerox)
High North Inc
906-494-2434
----------------------------------
Copies: Pete St. Pierre <Pete.StPierre at eng.sun.com>
Tom Hastings <hastings at cp10.es.xerox.com>
Bob Herriot <robert.herriot at eng.sun.com>
Ira McDonald <imcdonal at eso.mc.xerox.com>
Hi Pete, Tom, and Bob Wednesday (21 October 1998)
As the primary editors of SLP 'printer:' template, IPP Model, and IPP
Encoding and Transport, I'm sending this along to you first for review.
Here's a few more references, a change log, and my proposed text for the
next version of the SLP 'printer:' template. Briefly, several attribute
names grew the '-supported' suffix, because they were multi-valued
capabilities info. And I added a comment to every attribute showing the
primary source document (IPP, Printer MIB, or Salutations) for the
values and semantics of the attribute.
Also this version conforms (I hope) to the latest "Service Templates and
service: Schemes", <draft-ietf-svrloc-service-scheme-11.txt>, October
1998. Specifically, the 'language' attribute was deleted from the
template (it's now explicit in the SLP protocol envelope in SLPv2). And
the language of all IANA-registered templates is now English in SLPv2
(although templates may be translated to other languages for SLPv2 use).
Please send your comments as inline text, so they survive the email
gremlins...Pete, a reminder, I can't received any attachments...just
inline text in email.
Cheers,
- Ira McDonald (outside consultant at Xerox)
High North Inc
PO Box 221
Grand Marais, MI 49839
906-494-2434
PS - My wife Nancy and I will be packing up and moving back to Rochester
(NY) for the winter again in the next two weeks, so I'm going to have
some interrupted availability (like a week with no email contact during
our trip). So your prompt comments would be appreciated - thanks.
************************************************************************
**** Revised 'printer:' template - 21 October 1998 - Ira E McDonald ****
************************************************************************
* High Level Changes
H1) 'version' was incremented to '0.2' (from '0.1').
H2) 'language = en' was deleted, per the latest draft of
"Service Templates and service: Schemes", October 1998.
H3) 'ippurl' reference in 'url-syntax' was changed to "IPP Transport
and Encoding" [9], rather than the (incorrect) [3].
H4) Added a comment to each attribute, w/ the source attribute name in
IPP (base document), Printer MIB (RFC 1759), or Salutations.
H5) Revised various attribute descriptions for clarity or accuracy.
(ie, consistency with IPP specs).
* Detail Level Changes
D1) 'uri-supported' (multi-valued and ordered) attribute was added,
for use with (existing) 'uri-security-supported' - per IPP Model.
D2) 'service-person' was moved up to follow \operator', for clarity
- per Printer MIB.
D3) 'natural-language-configured' was added (it was already referred to
to as the language of other attributes in the previous draft),
and attribute descriptions were revised to clarify which attributes
are interpreted by 'natural-language-configured' - per IPP Model.
D4) 'charset-configured' was added - per IPP Model.
D5) 'duplex-mode' was revised to collapse to (original) Salutations
keywords and (overlapping) IPP keywords were added to description.
D6) 'media-supported' was revised to clarify that it contains ONLY the
ISO 10175 media keywords, in fixed locale of 'en' (English).
D7) 'media-local-supported' was revised to clarify that it contains ONLY
the site-specific names, in 'natural-language-configured' locale.
D8) 'color-supported' was revised to clarify that it covers ALL color
capabilities, including highlight color printing - per IPP Model.
D9) 'print-quality' was renamed to 'print-quality-supported' (could also
have become 'print-quality-default', single valued) - per IPP Model.
D10)'resolution' was renamed to 'resolution-supported' (could also
have become 'resolution-default', single valued) - per IPP Model.
D11)'copies' was renamed to 'copies-supported' - per IPP Model.
D12)'job-k-octet-supported' was renamed to 'job-k-octets-supported'
(typo in previous version of template) - per IPP Model.
D13)'finishing' was renamed to 'finishings-supported' (could also have
(become 'finishings-default') and explicit staple positions were
removed - per IPP Model.
(ISSUE - should we import the far more complete set of finishings in
the latest IETF/PWG Finisher MIB draft?)
D14)'delivery-orientation' (from Printer MIB) values of 'face-up' and
'face-down' had hyphens added for standard style.
D15)'pages-per-minute' was added - per request of Angelo Caruso.
* Corrected References
[3]--change date to June 1998 (latest draft)
[4]--change date to October 1998 (latest draft)
* Additional References
[9]R. Herriot, S. Butler, P. Moore, R. Turner,
"IPP/1.0: Encoding and Transport", Work in progress, June 1998
[10]"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
-------------------- template begins here --------------------
type = printer
version = 0.2
description =
The printer service template describes the attributes
supported by network printing devices. Devices may be
either directly connected to a network, or connected to a
printer spooler that understands the a network queuing
protocol such as IPP, lpr or the Salutation Architecture.
url-syntax =
url-path = ippurl / lprurl
ippurl = url as defined in [9]
lprurl = "lpr://" hostport [ "/" qname ]
hostport = host [ ":" port ]
host = hostname / hostnumber
hostname = *( domainlavel "." ) toplabel
domainlabel = alphanum /
alphanum * [alphanum / "-"] alphanum
toplabel = alpha / alpha * [alphanum / "-"] alphanum
hostnumber = ipv4-number / ipv6-number
ipv4-number = 1*3digit 3*3("." 1*3digit)
ipv6-number = 32*hex
3digit = digit digit digit
port = 1*digit
alphanum = alpha / digit
alpha = "a" / "b" / "c" / "d" / "e" / "f" / "g" /
"h" / "i" / "j" / "k" / "l" / "m" / "n" /
"o" / "p" / "q" / "r" / "s" / "t" / "u" /
"v" / "w" / "x" / "y" / "z" /
"A" / "B" / "C" / "D" / "E" / "F" / "G" /
"H" / "I" / "J" / "K" / "L" / "M" / "N" /
"O" / "P" / "Q" / "R" / "S" / "T" / "U" /
"V" / "W" / "X" / "Y" / "Z"
digit = "0" / "1" / "2" / "3" / "4" / "5" / "6" /
"7" / "8" / "9"
name = STRING
# IPP 'printer-name'
# This attribute contains the name of this printer,
# in the locale specified by 'natural-language-configured'.
# An administrator determines a printer's name and sets this
# attribute to that name. This name may be the last part of
# the printer's URI or it may be unrelated. In
# non-US-English locales, a name may contain characters
# that are not allowed in a URI.
description = STRING
# IPP 'printer-info'
# This attribute contains the description of this printer,
# in the locale specified by 'natural-language-configured'.
# A free form string that can contain any site-specific
# descriptive information about this printer.
printer-more-info = STRING L O
# IPP 'printer-more-info'
# A URI used to obtain more information about
# this specific printer. For example, this could
# be an HTTP type URI referencing an HTML page accessible
# to a Web Browser. The information obtained from this
# URI is intended for end user consumption. Features
# outside the scope of IPP can be accessed from this URI.
uri-supported = STRING L M O
# IPP 'printer-uri-supported'
# The ordered list of URI supported by this printer,
# correlated with the 'uri-security-supported' attribute.
uri-security-supported = STRING L M O
none
# IPP 'uri-security-supported'
# The ordered list of security supported for each URI
# listed in the 'uri-supported' attribute for this printer.
# TLS is one example. URIs that do not support a security
# mechanism should specify 'none'.
none, tls, ssl3
concrete-protocols = STRING L M
# The names of the concrete protocol types supported
# by the printer abstract service type.
# Example values include 'http' (for IPP/1.0) and 'lpr'
abstract-protocol = STRING L O
# The name of the abstract protocol which may be run over
# any concrete types listed. For example, the abstract
# protocol 'ipp' might be run over the concrete types of
# transport option).
# in a future version of IPP
# IPP/1.0 MUST operate over 'http' concrete protocol.
# LPR MUST operate over 'lpr' concrete protocol.
# Advertised service URLs MUST contain protocol schemes
# advertised in the 'concrete-protocol' attribute above.
lpr, ipp
make-model = STRING O
# IPP 'printer-make-and-model'
# This attribute contains the make/model of this printer,
# in the locale specified by 'natural-language-configured'.
# A simple text string defined by the manufacturer.
# It should provide the name of the vendor and the model
# name or number
location = STRING O
# IPP 'printer-location'
# This attribute contains the location of this printer,
# in the locale specified by 'natural-language-configured'.
# A free form description of this printer's physical
# location For example: '2nd floor, near the fire escape'
operator = STRING M O
# Printer MIB 'prtGeneralCurrentOperator'
# A person, or persons responsible for maintaining a
# printer on a day-to-day basis.
service-person = STRING M O
# Printer MIB 'prtGeneralServicePerson'
# A list of service contact names for this printer.
natural-language-configured = STRING L
# IPP 'natural-language-configured'
# The configured language in which error and status messages
# will be generated (by default) by this printer.
# Also, the language in which printer string attributes are
# set by operator or system administrator or manufacturer,
# including 'name', 'description', 'make-model', 'location',
# which are IPP 'printer-[name|info|location|make-model]'.
# Legal values of language tags conform to RFC 1766
# 'Tags for the Identification of Languages' [5].
natural-language-supported = STRING L M
# IPP 'generated-natural-language-supported'
# The possible languages in which error and status messages
# may be generated (if requested) by this printer.
# Legal values of language tags conform to RFC 1766
# 'Tags for the Identification of Languages' [5].
charset-configured = STRING L
utf-8
# IPP 'charset-configured'
# The configured charset in which error and status messages
# will be generated (by default) by this printer,
# for example UTF-8, Shift-JIS, or ISO-8859-1 (Latin1).
# Legal values of charset tags (names/aliases) come from
# the IANA Registry of Coded Character Sets [6].
charset-supported = STRING L M
utf-8
# IPP 'charset-supported'
# The possible charsets in which error and status messages
# may be generated (if requested) by this printer,
# for example UTF-8, Shift-JIS, or ISO-8859-1 (Latin1).
# Legal values of charset tags (names/aliases) come from
# the IANA Registry of Coded Character Sets [6].
duplex-mode = STRING L M O
simplex
# Salutations 'duplex-mode'
# (Compare with IPP 'sides')
# The number of impression sides (one or two) and the
# two-sided impression rotations supported by this printer.
# IPP 'one-sided' is equivalent to 'simplex'.
# IPP 'two-sided-long-edge' is equivalent to 'duplex'.
# IPP 'two-sided-short-edge' is equivalent to 'tumble'.
simplex, duplex, tumble
priority-levels-supported = INTEGER O
1
# Salutations 'priority-levels-supported'
# The number of priority levels supported by this printer.
# A value of 1 indicates all jobs have the same priority.
number-up = INTEGER O
1
# IPP 'number-up'
# Specifies the number of source page-images to impose
# upon a single side of an instance of a selected
# medium.
media-supported = STRING L M O
# 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 locale of 'en' (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].
media-local-supported = STRING M O
# IPP 'media-supported' - only the site-specific values
# The site-specific names/types/sizes (and optional color
# suffixes) of the media supported by this printer,
# in the locale specified by 'natural-language-configured'.
# For example 'purchasing-form' (site-specific name)
# as opposed to 'na-letter' (standard keyword from [10]).
color-supported = BOOLEAN O
false
# IPP 'color-supported'
# Indicates whether the printer is capable of any type of
# color printing at all, including highlight color.
document-format-supported = STRING L M O
# 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].
paper-output = STRING L M O
standard
# Salutations 'paper-output'
# The mode in which pages output are arranged.
standard, noncollated sort, collated sort, stack, unknown
print-quality-supported = STRING L M O
normal
# IPP 'print-quality-supported'
# The possible subjective print quality modes in which
# documents may be printed by this printer.
draft, normal, high
resolution-supported = STRING L M O
# IPP 'printer-resolution-supported'
# The possible resolutions in which documents may be
# printed by this printer (in sets of three values).
# A string reprentation of 3 comma (',') separated integers
# where each integer itself is represented as a string.
# The 3 integers represent in order: 1) a cross feed
# direction resolution (positive integer value), 2) a feed
# direction resolution (positive integer value), and 3)
# a units value. In the latter case, a '3' indicates
# dots per inch and a '4' indicates dots per centimeter.
# These values are derived from the Printer MIB [6].
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 -1 indicates there is no limit.
job-k-octets-supported = INTEGER O
-1
# IPP 'job-k-octets-supported'
# The maximum size, in kilobytes, of a print job that
# this printer will accept.
# A value of -1 indicates there is no limit.
finishings-supported = STRING L M O
none
# IPP 'finishings-supported'
# The possible finishing operations supported by this
# printer.
none, staple, punch, cover, bind
delivery-orientation = STRING L O
unknown
# Printer MIB 'prtOutputPageDeliveryOrientation'
# Orientation of pages as they are printed and ejected from
# the printer.
unknown, face-up, face-down
pages-per-minute = INTEGER O
# IPP 'pages-per-minute' (proposed new attribute)
# The optimal number of pages per minute which may be
# generated by this printer (eg, simplex, black-and-white).
# This attribute is informative, NOT a service guarantee.
-------------------- template ends here ----------------------