

Internet Printing Protocol Working Group                     Pat Fleming
INTERNET DRAFT                                                       IBM
Expires 20 June 2001                                           Ken Jones
                                                                eStarCom
[Target Category: Standards Track]                           Harry Lewis
                                                                     IBM
                                                            Ira McDonald
                                                          High North Inc
                                                        20 December 2000

                   Internet Printing Protocol (IPP):
                    LDAP Schema for Printer Services
              <draft-ietf-ipp-ldap-printer-schema-04.txt>

    Copyright (C) The Internet Society (2000). All Rights Reserved.

Status of This Memo 

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC 2026.  Internet-Drafts are
   working documents of the Internet Engineering Task Force (IETF), its
   areas, and its working groups.  Note that other groups may also
   distribute working documents as Internet-Drafts.  
   
   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any 
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress." 
   
   To view the list of Internet-Draft Shadow Directories, see
   http://www.ietf.org/shadow.html.  

Abstract 

   This document is a product of the Internet Printing Protocol Working 
   Group, chartered by the IETF.  Comments should be sent to the
   ipp@pwg.org mailing list and the principal editor
   flemingp@us.ibm.com.  
   
   This document defines a common printer schema for use with directory 
   services that support the Lightweight Directory Access Protocol
   (LDAP) [RFC 2251].  Using this common printer schema enables client
   applications to use LDAP to search for printers using application or
   user specified search criteria.  Searches are defined based on the
   entry's type and attributes independent of the LDAP directory being
   used.  
   
   This document describes the LDAP schema, object classes and
   attributes, for printers and printer services.  This document uses
   the printer attributes defined in Appendix E of [RFC 2911], the
   'printer:' service template defined in [SLPPRT], and the mapping
   between SLP service advertisements and LDAP descriptions of services

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001       [Page 1]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

   defined in [RFC 2926] to define an LDAP printer schema.  
   
   The goal of this document is to define a consistent schema to be used
   by printers and print servers.  The LDAP printer schema described in 
   this document MAY be used in part or whole.  















































Fleming, Jones, Lewis, McDonald      Expires 20 June 2001       [Page 2]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

                           Table of Contents

1.  Introduction ...............................................       5
2.  Terminology ................................................       5
3.  Definition of Object Classes ...............................       6
  3.1.  slpServicePrinter ......................................       7
  3.2.  printerAbstract ........................................       7
  3.3.  printerService .........................................       8
  3.4.  printerServiceAuxClass .................................       8
  3.5.  printerIPP .............................................       9
  3.6.  printerLPR .............................................       9
4.  Definition of Attribute Types ..............................      10
  4.1.  printer-uri ............................................      11
  4.2.  printer-xri-supported ..................................      11
  4.3.  printer-name ...........................................      12
  4.4.  printer-natural-language-configured ....................      13
  4.5.  printer-location .......................................      13
  4.6.  printer-info ...........................................      13
  4.7.  printer-more-info ......................................      14
  4.8.  printer-make-and-model .................................      14
  4.9.  printer-ipp-versions-supported .........................      14
  4.10.  printer-multiple-document-jobs-supported ..............      15
  4.11.  printer-charset-configured ............................      15
  4.12.  printer-charset-supported .............................      15
  4.13.  printer-generated-natural-language-supported ..........      16
  4.14.  printer-document-format-supported .....................      16
  4.15.  printer-color-supported ...............................      16
  4.16.  printer-compression-supported .........................      16
  4.17.  printer-pages-per-minute ..............................      17
  4.18.  printer-pages-per-minute-color ........................      17
  4.19.  printer-finishings-supported ..........................      17
  4.20.  printer-number-up-supported ...........................      18
  4.21.  printer-sides-supported ...............................      18
  4.22.  printer-media-supported ...............................      18
  4.23.  printer-media-local-supported .........................      18
  4.24.  printer-resolution-supported ..........................      19
  4.25.  printer-print-quality-supported .......................      19
  4.26.  printer-job-priority-supported ........................      19
  4.27.  printer-copies-supported ..............................      20
  4.28.  printer-job-k-octets-supported ........................      20
  4.29.  printer-current-operator ..............................      20
  4.30.  printer-service-person ................................      20
  4.31.  printer-delivery-orientation-supported ................      21
  4.32.  printer-stacking-order-supported ......................      21
  4.33.  printer-output-features-supported .....................      21
  4.34.  printer-aliases .......................................      22
5.  Definition of Syntaxes .....................................      23
6.  IANA Considerations ........................................      23
7.  Internationalization Considerations ........................      23
8.  Security Considerations ....................................      23
9.  References .................................................      23

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001       [Page 3]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

10.  Acknowledgments ...........................................      24
11.  Authors' Addresses ........................................      25
12.  Full Copyright Statement ..................................      26

















































Fleming, Jones, Lewis, McDonald      Expires 20 June 2001       [Page 4]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



1.  Introduction

   The use of directory services based on the Lightweight Directory
   Access Protocol [RFC 2251] is becoming increasingly popular for
   distributed services.  To ensure interoperability between vendor
   implementations it is crucial to standardize the schemas which
   describe these services.  
   
   Under the auspices of the IETF IPP Working Group the IPP protocol is 
   being developed to bring a standards based printing solution to the
   Internet.  
   
   Section 16 of [RFC 2911] describes a list of attributes which should
   be included in a general directory schema describing IPP print
   services.  The syntax for each of these attributes is described in
   detail in [RFC 2911] and [SLPPRT].  This document will take these
   attributes and map them to LDAP attributes and object classes.  
   
   This document defines several object classes to provide LDAP
   applications with multiple options in defining printer information
   using LDAP schema.  Classes are provided for defining directory
   entries with common printer information and for extending existing
   directory entries with SLP, IPP, and LPR specific information.  
   



2.  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].  


















Fleming, Jones, Lewis, McDonald      Expires 20 June 2001       [Page 5]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



3.  Definition of Object Classes

   We define the following LDAP object classes for use with both generic
   printer related information and services specific to SLP, IPP, and
   LPR.  
   
   slpServicePrinter - auxiliary class for SLP registered printers
   printerAbstract - abstract class for all printer classes
   printerService - structural class for printers
   printerServiceAuxClass - auxiliary class for printers
   printerIPP - auxiliary class for IPP printers
   printerLPR - auxiliary class for LPR printers
   
   The following are some examples of how applications MAY choose to use
   these classes when creating directory entries:  
   
   1) Use printerService for directory entries containing common printer
   information.  
   
   2) Use both printerService and slpServicePrinter for directory
   entries containing common printer information for SLP registered
   printers.  
   
   3) Use printerService, printerLPR and printerIPP for directory
   entries containing common printer information for printers that
   support both LPR and IPP.  
   
   4) Use printerServiceAuxClass and object classes not defined by this 
   document for directory entries containing common printer information.
   In this example, printerServiceAuxClass is used for extending other
   structural classes defining printer information with common printer
   information defined in this document.  
   
   Note that specifying the abstract object class printerAbstract is
   OPTIONAL when using printerService or printerServiceAuxClass to
   create directory entries per [RFC 2251].  
   
   Refer to section 4 for definition of attribute types referenced by
   these object classes.  We use names instead of OIDs in MUST and MAY
   for clarity.  Some attribute names described in [RFC 2911] have been 
   prefixed with 'printer-' as recommended in [SLPPRT] and [RFC 2926].  
   
   For the object classes defined in this section, schema developers MAY
   add to the list of MAY OIDs, but MUST NOT modify the list of MUST
   OIDs and MUST NOT remove OIDs from the list of MAY OIDs.  Schema
   developers MAY derive additional classes from the abstract and
   structural classes defined in this section.  Note, an object class
   definition SHOULD NOT be changed without having a new name and OID
   assigned to it.  

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001       [Page 6]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

   


3.1.  slpServicePrinter

   This auxiliary class defines Service Location Protocol (SLP) specific
   information.  It MUST be used with a structural class such as
   printerService.  It MAY be used to create new or extend existing
   directory entries with SLP 'service:printer' abstract service type
   information as defined in [SLPPRT].  This object class is derived
   from 'slpService', the parent class for all SLP services, defined in 
   [RFC 2926].  
   
   ( 1.3.18.0.2.6.254
   NAME  'slpServicePrinter'
   DESC  'Service Location Protocol (SLP) information.'
   AUXILIARY
   SUP   slpService
   )


3.2.  printerAbstract

   This abstract class defines printer information.  It is a base class
   for deriving other printer related classes, such as, but not limited
   to, classes defined in this document.  It defines a common set of
   printer attributes that are not specific to any one type of service,
   protocol or operating system.  
   
   ( 1.3.18.0.2.6.258
   NAME  'printerAbstract'
   DESC  'Printer related information.'
   ABSTRACT
   SUP   top 
   MAY   ( printer-name $
           printer-natural-language-configured $
           printer-location $ printer-info $ printer-more-info $ 
           printer-make-and-model $ 
           printer-multiple-document-jobs-supported $ 
           printer-charset-configured $ printer-charset-supported $ 
           printer-generated-natural-language-supported $ 
           printer-document-format-supported $ printer-color-supported $
           printer-compression-supported $ printer-pages-per-minute $ 
           printer-pages-per-minute-color $ 
           printer-finishings-supported $ printer-number-up-supported $ 
           printer-sides-supported $ printer-media-supported $ 
           printer-media-local-supported $ 
           printer-resolution-supported $ 
           printer-print-quality-supported $ 
           printer-job-priority-supported $ printer-copies-supported $ 
           printer-job-k-octets-supported $ printer-current-operator $

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001       [Page 7]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

           printer-service-person $ 
           printer-delivery-orientation-supported $ 
           printer-stacking-order-supported $ 
           printer-output-features-supported )
   )


3.3.  printerService

   This structural class defines printer information.  It is derived
   from class printerAbstract and thus inherits common printer
   attributes.  This class can be used with or without auxiliary classes
   to define printer information.  Auxiliary classes can be used to
   extend the common printer information with protocol, service or
   operating system specific information.  Note that when extending
   other structural classes with auxiliary classes, printerService MUST
   NOT be used.  
   
   LDAP applications SHOULD use printer-uri as the naming attribute.
   That is, when using printerService, printer-uri SHOULD be used as the
   attribute type of the directory entry's relative distinguished name
   (RDN).  printer-uri uniquely identifies each of the printer services
   for a given printer.  Note that if the printer service changes
   domains, printer-uri must be updated with the new domain name.  
   
   ( 1.3.18.0.2.6.255
   NAME  'printerService'
   DESC  'Printer information.'
   STRUCTURAL
   SUP   printerAbstract
   MAY   ( printer-uri $ printer-xri-supported )
   )


3.4.  printerServiceAuxClass

   This auxiliary class defines printer information.  It is derived from
   class printerAbstract and thus inherits common printer attributes.
   This class MUST be used with a structural class.  
   
   LDAP applications SHOULD use printer-uri as the naming attribute.
   That is, when using printerServiceAuxClass, printer-uri SHOULD be
   used as the attribute type of the directory entry's relative
   distinguished name (RDN).  printer-uri uniquely identifies each of
   the printer services for a given printer.  Note that if the printer
   service changes domains, printer-uri must be updated with the new
   domain name.  
   
   ( 1.3.18.0.2.6.257
   NAME  'printerServiceAuxClass'
   DESC  'Printer information.'

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001       [Page 8]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

   AUXILIARY
   SUP   printerAbstract
   MAY   ( printer-uri $ printer-xri-supported )
   )


3.5.  printerIPP

   This auxiliary class defines Internet Printing Protocol (IPP)
   information.  It MUST be used with a structural class such as
   printerService.  It is used to extend structural classes with IPP
   specific printer information.  
   
   ( 1.3.18.0.2.6.256
   NAME  'printerIPP'
   DESC  'Internet Printing Protocol (IPP) information.'
   AUXILIARY
   SUP   top
   MAY   ( printer-ipp-versions-supported $ 
           printer-multiple-document-jobs-supported )
   )


3.6.  printerLPR

   This auxiliary class defines LPR information.  It MUST be used with a
   structural class such as printerService.  It is used to identify
   directory entries that support LPR.  
   
   ( 1.3.18.0.2.6.253
   NAME  'printerLPR'
   DESC  'LPR information.'
   AUXILIARY
   SUP   top
   MUST ( printer-name )
   MAY ( printer-aliases)
   )















Fleming, Jones, Lewis, McDonald      Expires 20 June 2001       [Page 9]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



4.  Definition of Attribute Types

   The following attribute types are referenced by the object classes
   defined in section 3.  
   
   The following table is a summary of the attribute names referenced by
   this document and their corresponding names from [RFC 2911].  Some
   attribute names described in [RFC 2911] have been prefixed with
   'printer-' as recommended in [RFC 2926], to address the flat
   namespace for LDAP identifiers.  
   
   LDAP & SLP Printer Schema       IPP Model [RFC 2911]
   ------------------------------  -------------------------------------
   printer-uri
   printer-xri-supported
                                   [IPP printer-uri-supported]
                                   [IPP uri-authentication-supported]
                                   [IPP uri-security-supported]
   printer-name                    printer-name
   printer-natural-language-configured 
                                   natural-language-configured
   printer-location                printer-location
   printer-info                    printer-info
   printer-more-info               printer-more-info
   printer-make-and-model          printer-make-and-model
   printer-ipp-versions-supported  ipp-versions-supported
   printer-multiple-document-jobs-supported        
                                   multiple-document-jobs-supported   
   printer-charset-configured      charset-configured
   printer-charset-supported       charset-supported
   printer-generated-natural-language-supported 
                                   generated-natural-language-supported
   printer-document-format-supported 
                                   document-format-supported
   printer-color-supported         color-supported
   printer-compression-supported   compression-supported
   printer-pages-per-minute        pages-per-minute
   printer-pages-per-minute-color  pages-per-minute-color
   printer-finishings-supported    finishings-supported
   printer-number-up-supported     number-up-supported
   printer-sides-supported         sides-supported
   printer-media-supported         media-supported
   printer-media-local-supported   [site names from IPP media-supported]
   printer-resolution-supported    printer-resolution-supported
   printer-print-quality-supported print-quality-supported
   printer-job-priority-supported  job-priority-supported
   printer-copies-supported        copies-supported
   printer-job-k-octets-supported  job-k-octets-supported
   printer-current-operator

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 10]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

   printer-service-person
   printer-delivery-orientation-supported
   printer-stacking-order-supported
   printer-output-features-supported
   printer-aliases
   
   In the following definitions, we use matching rule names instead of
   OIDs for clarity.  Note that if the printer information is not known,
   the attribute value is not set (for optional attributes).  In the
   following definitions, referenced matching rules are defined in
   section 8 of [RFC 2252].  
   
   The following definitions reference syntax OIDs as defined in [RFC
   2252], which are summarized below:  
   Syntax OID                     Syntax Description
   -----------------------------  ------------------
   1.3.6.1.4.1.1466.115.121.1.7   Boolean  
   1.3.6.1.4.1.1466.115.121.1.15  Directory String (UTF-8 [RFC 2279])
   1.3.6.1.4.1.1466.115.121.1.27  Integer  
   


4.1.  printer-uri

   Note, that for SLP registered printers, the LDAP printer-uri
   attribute should set to the value of the registered URL of the
   printer.  
   
   ( 1.3.18.0.2.4.1140
   NAME 'printer-uri'
   DESC 'The URI supported by this printer.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX 1.3.6.1.4.1.1466.115.121.1.15   
   SINGLE-VALUE
   )


4.2.  printer-xri-supported

   A list of XRI (extended resource identifiers) supported by this
   printer.  Each value of this list consists of a URI (uniform resource
   identifier) followed by optional authentication and security
   metaparameters.  The keywords for URI and their metaparameters are:  
      '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)
      'requesting-user-name' (from operation request)

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 11]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

      '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).  A missing 'auth'
   metaparameter SHALL mean 'none'.  Legal values of the 'sec'
   metaparameter 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).  A missing 'sec'
   metaparameter SHALL mean 'none'.  Each metaparameter of a list member
   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<'
   
   ( 1.3.18.0.2.4.1107
   NAME 'printer-xri-supported'
   DESC 'The unordered list of XRI (extended resource identifiers)
         supported by this printer.  Each member of the list consists of
         a URI (uniform resource identifier) followed by optional 
         authentication and security metaparameters.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX 1.3.6.1.4.1.1466.115.121.1.15   
   )


4.3.  printer-name

   The site-specific administrative name of this printer.  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 MAY be completely unrelated.  This name MAY
   contain characters that are not allowed in a conventional URI (which
   conforms to [RFC 2396]).  
   
   ( 1.3.18.0.2.4.1135
   NAME 'printer-name'
   DESC 'The site-specific administrative name of this printer, more 
         end-user friendly than a URI.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   SINGLE-VALUE
   )

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 12]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



4.4.  printer-natural-language-configured

   ( 1.3.18.0.2.4.1119
   NAME 'printer-natural-language-configured'
   DESC '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".'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   SINGLE-VALUE
   )


4.5.  printer-location

   ( 1.3.18.0.2.4.1136
   NAME 'printer-location'
   DESC 'Identifies the location of the printer. This could include 
         things like: "in Room 123A", "second floor of building XYZ".'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   SINGLE-VALUE
   )


4.6.  printer-info

   ( 1.3.18.0.2.4.1139
   NAME 'printer-info'
   DESC 'Identifies the descriptive information about this printer.  
         This could include things like: "This printer can be used for 
         printing color transparencies for HR presentations", or "Out 
         of courtesy for others, please print only small (1-5 page) jobs
         at this printer", or even "This printer is going away on July 
         1, 1997, please find a new printer".'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}    

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 13]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

   SINGLE-VALUE
   )


4.7.  printer-more-info

   ( 1.3.18.0.2.4.1134
   NAME 'printer-more-info'
   DESC '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.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15
   SINGLE-VALUE
   )


4.8.  printer-make-and-model

   ( 1.3.18.0.2.4.1138
   NAME 'printer-make-and-model'
   DESC 'Identifies the make and model of the device.  The device 
         manufacturer may initially populate this attribute.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   SINGLE-VALUE
   )


4.9.  printer-ipp-versions-supported

   ( 1.3.18.0.2.4.1133
   NAME 'printer-ipp-versions-supported'
   DESC 'Identifies the IPP protocol version(s) that this printer 
         supports, including major and minor versions, i.e., the version
         numbers for which this Printer implementation meets the 
         conformance requirements.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   )




Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 14]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



4.10.  printer-multiple-document-jobs-supported

   ( 1.3.18.0.2.4.1132
   NAME 'printer-multiple-document-jobs-supported'
   DESC 'Indicates whether or not the printer supports more than one 
         document per job, i.e., more than one Send-Document or 
         Send-Data operation with document data.'
   EQUALITY booleanMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.7  
   SINGLE-VALUE
   )


4.11.  printer-charset-configured

   ( 1.3.18.0.2.4.1109
   NAME 'printer-charset-configured'
   DESC '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 are 
         defined by the IANA Registry of Coded Character Sets and the 
         "(preferred MIME name)" SHALL be used as the tag.  For 
         coherence with IPP Model, charset tags in this attribute SHALL
         be lowercase normalized.  This attribute SHOULD be static (time
         of registration) and SHOULD NOT be dynamically refreshed 
         (subsequently).'
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{63}  
   SINGLE-VALUE
   )


4.12.  printer-charset-supported

   ( 1.3.18.0.2.4.1131
   NAME 'printer-charset-supported'
   DESC 'Identifies the set of charsets supported for attribute type 
         values of type Directory String for this directory entry.  For 
         example: "utf-8" (ISO 10646/Unicode) or "iso-8859-1" (Latin1).
         Legal values are defined by the IANA Registry of Coded 
         Character Sets and the preferred MIME name.'
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{63}  
   )




Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 15]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



4.13.  printer-generated-natural-language-supported

   ( 1.3.18.0.2.4.1137
   NAME 'printer-generated-natural-language-supported'
   DESC 'Identifies the natural language(s) supported for this directory
         entry.  For example: "en-us" (US English) or "fr-fr" (French in
         France).  Legal values conform to [RFC 1766], Tags for the
         Identification of Languages.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{63}  
   )


4.14.  printer-document-format-supported

   ( 1.3.18.0.2.4.1130
   NAME 'printer-document-format-supported'
   DESC 'The possible document formats in which data may be interpreted 
         and printed by this printer.  Legal values are MIME types come 
         from the IANA Registry of Internet Media Types.'
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   )


4.15.  printer-color-supported

   ( 1.3.18.0.2.4.1129
   NAME 'printer-color-supported'
   DESC 'Indicates whether this printer is capable of any type of color 
         printing at all, including highlight color.'
   EQUALITY booleanMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.7  
   SINGLE-VALUE
   )


4.16.  printer-compression-supported

   ( 1.3.18.0.2.4.1128
   NAME 'printer-compression-supported'
   DESC 'Compression algorithms supported by this printer.  For example:
         "deflate, gzip".  Legal values include; "none", "deflate" 
         (public domain ZIP), "gzip" (GNU ZIP), "compress" (UNIX).'
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{255}  
   )

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 16]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



4.17.  printer-pages-per-minute

   ( 1.3.18.0.2.4.1127
   NAME 'printer-pages-per-minute'
   DESC 'The nominal number of pages per minute which may be output by 
         this printer (e.g., a simplex or black-and-white printer).  
         This attribute is informative, NOT a service guarantee.  
         Typically, it is the value used in marketing literature to 
         describe this printer.'
   EQUALITY integerMatch
   ORDERING integerOrderingMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.27  
   SINGLE-VALUE
   )


4.18.  printer-pages-per-minute-color

   ( 1.3.18.0.2.4.1126
   NAME 'printer-pages-per-minute-color'
   DESC 'The nominal number of color pages per minute which may be 
         output by this printer (e.g., a simplex or color printer).
         This attribute is informative, NOT a service guarantee.  
         Typically, it is the value used in marketing literature to 
         describe this printer.'
   EQUALITY integerMatch
   ORDERING integerOrderingMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.27  
   SINGLE-VALUE
   )


4.19.  printer-finishings-supported

   ( 1.3.18.0.2.4.1125
   NAME 'printer-finishings-supported'
   DESC 'The possible finishing operations supported by this printer. 
         Legal values include; "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".'
   EQUALITY caseIgnoreMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{255}  
   )



Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 17]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



4.20.  printer-number-up-supported

   ( 1.3.18.0.2.4.1124
   NAME 'printer-number-up-supported'
   DESC 'The possible numbers of print-stream pages to impose upon a 
         single side of an instance of a selected medium. Legal values 
         include; 1, 2, and 4.  Implementations may support other 
         values.'
   EQUALITY integerMatch
   ORDERING integerOrderingMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.27  
   )


4.21.  printer-sides-supported

   ( 1.3.18.0.2.4.1123
   NAME 'printer-sides-supported'
   DESC 'The number of impression sides (one or two) and the two-sided 
         impression rotations supported by this printer.  Legal values 
         include; "one-sided", "two-sided-long-edge", 
         "two-sided-short-edge".'           
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   )


4.22.  printer-media-supported

   ( 1.3.18.0.2.4.1122
   NAME 'printer-media-supported'
   DESC 'The standard names/types/sizes (and optional color suffixes) of
         the media supported by this printer.  For example: "iso-a4",  
         "envelope", or "na-letter-white".  Legal values  conform to ISO
         10175, Document Printing Application (DPA), and any IANA 
         registered extensions.'
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{255}  
   )


4.23.  printer-media-local-supported

   ( 1.3.18.0.2.4.1117
   NAME 'printer-media-local-supported'
   DESC 'Site-specific names of media supported by this printer, in the 
         language in "printer-natural-language-configured".  
         For example: "purchasing-form" (site-specific name) as opposed 
         to (in "printer-media-supported"): "na-letter" (standard 

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 18]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

         keyword from ISO 10175).'
   EQUALITY caseIgnoreMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{255}  
   )


4.24.  printer-resolution-supported

   ( 1.3.18.0.2.4.1121
   NAME 'printer-resolution-supported'
   DESC 'List of resolutions supported for printing documents by this 
         printer.  Each resolution value is a string with 3 fields:  
         1) Cross feed direction resolution (positive integer), 2) Feed
         direction resolution (positive integer), 3) Resolution unit.  
         Legal values are "dpi" (dots per inch) and "dpcm" (dots per 
         centimeter).  Each resolution field is delimited by ">".  For 
         example:  "300> 300> dpi>".'
   EQUALITY caseIgnoreMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{255}  
   )


4.25.  printer-print-quality-supported

   ( 1.3.18.0.2.4.1120
   NAME 'printer-print-quality-supported'
   DESC 'List of print qualities supported for printing documents on 
         this printer.  For example: "draft, normal".  Legal values 
         include; "unknown", "draft", "normal", "high".'
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   )


4.26.  printer-job-priority-supported

   ( 1.3.18.0.2.4.1110
   NAME 'printer-job-priority-supported'
   DESC '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 attribute describes the 
         "granularity".  Legal values of this attribute are from "1" to 
         "100".'
   EQUALITY integerMatch
   ORDERING integerOrderingMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.27  
   SINGLE-VALUE
   )

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 19]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



4.27.  printer-copies-supported

   ( 1.3.18.0.2.4.1118
   NAME 'printer-copies-supported'
   DESC '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.'
   EQUALITY integerMatch
   ORDERING integerOrderingMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.27  
   SINGLE-VALUE
   )


4.28.  printer-job-k-octets-supported

   ( 1.3.18.0.2.4.1111
   NAME 'printer-job-k-octets-supported'
   DESC '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.'
   EQUALITY integerMatch
   ORDERING integerOrderingMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.27  
   SINGLE-VALUE
   )


4.29.  printer-current-operator

   ( 1.3.18.0.2.4.1112
   NAME 'printer-current-operator'
   DESC '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.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   SINGLE-VALUE
   )


4.30.  printer-service-person

   ( 1.3.18.0.2.4.1113
   NAME 'printer-service-person'

Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 20]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

   DESC 'The name of the current human 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.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   SINGLE-VALUE
   )


4.31.  printer-delivery-orientation-supported

   ( 1.3.18.0.2.4.1114
   NAME 'printer-delivery-orientation-supported'
   DESC 'The possible delivery orientations of pages as they are printed
         and ejected from this printer.  Legal values include; 
         "unknown", "face-up", and "face-down".'
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   )


4.32.  printer-stacking-order-supported

   ( 1.3.18.0.2.4.1115
   NAME 'printer-stacking-order-supported'
   DESC 'The possible stacking order of pages as they are printed and 
         ejected from this printer. Legal values include; "unknown", 
         "first-to-last", "last-to-first".'
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   )


4.33.  printer-output-features-supported

   ( 1.3.18.0.2.4.1116
   NAME 'printer-output-features-supported'
   DESC 'The possible output features supported by this printer. Legal 
         values include; "unknown", "bursting", "decollating", 
         "page-collating", "offset-stacking".'
   EQUALITY caseIgnoreMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   )






Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 21]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



4.34.  printer-aliases

   ( 1.3.18.0.2.4.1108
   NAME 'printer-aliases'
   DESC 'Site-specific administrative names of this printer in addition 
        the printer name specified for printer-name.'
   EQUALITY caseIgnoreMatch
   ORDERING caseIgnoreOrderingMatch
   SUBSTR caseIgnoreSubstringMatch
   SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{127}  
   )







































Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 22]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



5.  Definition of Syntaxes

   No new syntaxes are defined by this document.  


6.  IANA Considerations

   There are no IANA registration considerations defined by this
   document.  


7.  Internationalization Considerations

   All text string attribute values in objects of the printerService
   class MUST be encoded in UTF-8 [RFC 2279] characters, as required by
   the syntax 'Directory String' [RFC 2252].  Also, a language tag for
   all of the text string attributes in objects of the printerService
   class SHOULD be supplied in 'printer-natural-language-configured'.
   Therefore, all objects of the printerService class conform to "IETF
   Policy on Character Sets and Languages" [RFC 2277].  



8.  Security Considerations

   As with any LDAP schema, it is important to protect specific entries 
   and attributes with the appropriate access control.  It is
   particularly important that only administrators can modify entries
   defined in this schema.  For additional considerations of deploying
   printers in an IPP environment the reader is referred to section 8 of
   [RFC 2911].  
   
   By advertising the security methods for each supported printer URL
   the printer may expose information useful to attackers.  Suitable
   security methods SHOULD be used to authenticate any service
   advertisements.  
   
   Obtaining a reference to an object and storing it in the directory
   may make a handle to the object available to a wider audience.  This 
   may have security implications.  



9.  References

   [SLPPRT] St. Pierre, Isaacson, McDonald.  Definition Printer Abstract
   Service Type v2.0, <draft-ietf-svrloc-printer-schema-06.txt>, March
   2000 (appoved and archived in the IANA SLP Template Registry:  


Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 23]

Internet Draft     LDAP Schema for Printer Services     20 December 2000

   ftp://isi.edu/in-notes/iana/assignments/svrloc-templates/ 
   in the file 'printer.2.0.en') 
   
   [RFC 1179] McLaughlin.  Line Printer Daemon Protocol, RFC 1179,
   August 1990.  
   
   [RFC 1766] Alvestrand.  Tags for the Identification of Languages, RFC
   1766, March 1995.  
   
   [RFC 2119] Bradner.  Key words for use in RFCs to Indicate
   Requirement Levels, RFC 2119, March 1997.  
   
   [RFC 2246] Dierks, Allen.  TLS Protocol Version 1.0, RFC 2246,
   January 1999.  
   
   [RFC 2251] Wahl, Howes, Kille.  Lightweight Directory Access Protocol
   (v3), RFC 2251, December 1997.  
   
   [RFC 2252] Wahl, Coulbeck, Howes, Kille.  Lightweight Directory
   Access Protocol (v3): Attribute Syntax Definitions, RFC 2252,
   December 1997.  
   
   [RFC 2277] Alvestrand.  IETF Policy on Character Sets and Languages, 
   RFC 2277, January 1998.  
   
   [RFC 2279] Yergeau.  UTF-8, a Transformation Format of ISO 10646, RFC
   2279, January 1998.  
   
   [RFC 2307] Howard.  An Approach for Using LDAP as a Network
   Information Service, RFC 2307, March 1998.  
   
   [RFC 2396] Berners-Lee, Fielding, Masinter.  URI Generic Syntax, RFC
   2396, August 1998.  
   
   [RFC 2911] deBry, Hastings, Herriot, Isaacson, Powell.  Internet
   Printing Protocol/1.1: Model and Semantics, RFC 2911, September 2000.
   
   [RFC 2926] Kempf, Moats, St. Pierre.  Conversion of LDAP Schemas to
   and from SLP Templates, RFC 2926, September 2000.  



10.  Acknowledgments

   This document is a submission to the IPP Working group.  
   
   Thanks to Kimberly Reger (IBM), Robert Moore (IBM) and Lee Rafalow
   (IBM) for their review comments and help in preparing this document.




Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 24]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



11.  Authors' Addresses

   Principal Editor:
   Pat Fleming
   IBM
   Highway 52 N.
   Rochester, MN 55901
   USA
   Phone: +1 507-253-7583
   EMail: flemingp@us.ibm.com
   
   Ken Jones
   eStarCom
   400 S McCaslin Blvd Suite 211
   Louisville, CO  80027
   USA
   Phone: +1 720-890-7507
   EMail: kenjones@estarcom.com
   
   Harry Lewis
   IBM
   6300 Diagonal Hwy
   Boulder, CO  80301
   USA
   Phone: +1 303-924-5337
   EMail: harryl@us.ibm.com
   
   Ira McDonald
   High North Inc
   221 Ridge Ave
   Grand Marais, MI 49839
   USA
   Phone: +1 906-494-2434
   Email: imcdonald@sharplabs.com
   Email: imcdonald@crt.xerox.com















Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 25]

Internet Draft     LDAP Schema for Printer Services     20 December 2000



12.  Full Copyright Statement

   Copyright (C) The Internet Society (2000).  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." 























Fleming, Jones, Lewis, McDonald      Expires 20 June 2001      [Page 26]
