Internet Printing Protocol Working Group Pat Fleming INTERNET DRAFT IBMExpires 20 June 2001<draft-ietf-ipp-ldap-printer-schema-05.txt> Ken JoneseStarCom[Target Category:Standards Track]Informational] eStarCom Expires 28 February 2002 Harry Lewis IBM Ira McDonald High North Inc20 December 200028 August 2001 Internet Printing Protocol (IPP): LDAP Schema for Printer Services<draft-ietf-ipp-ldap-printer-schema-04.txt>Copyright (C) The Internet Society(2000).(2001). 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 documentis 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 searchprovides information forprinters using application or user specified search criteria. Searches are defined based ontheentry's type and attributes independentInternet community. It does not specify an Internet standard ofthe LDAP directory being used.any kind. This documentdescribes thedefines an LDAP schema, object classes and attributes, for printers and printerservices.services, for use with directories that support Lightweight Directory Access Protocol (LDAPv3) [RFC2251]. This documentusesis based on the printer attributesdefinedlisted in Appendix E of[RFC 2911],Internet Printing Protocol (IPP/1.1) [RFC2911], the'printer:' serviceService Location Protocol (SLPv2) [RFC2608] 'service:printer:' template defined in [SLPPRT], and the mapping between SLP service advertisements and LDAP descriptions of services defined in[RFC 2926] to define an LDAP printer schema. The goal of this document is to define a consistent schema[RFC2926]. Send comments tobe used by printersthe IPP WG <ipp@pwg.org> andprint servers. The LDAP printer schema described in this document MAY be used in part or whole.the editor <flemingp@us.ibm.com>. Table of Contents 1. Introduction ...............................................54 2. Terminology ................................................54 3. Definition of Object Classes ...............................65 3.1. slpServicePrinter ......................................76 3.2. printerAbstract ........................................76 3.3. printerService .........................................87 3.4. printerServiceAuxClass .................................87 3.5. printerIPP .............................................98 3.6. printerLPR .............................................98 4. Definition of Attribute Types ..............................109 4.1. printer-uri ............................................1110 4.2. printer-xri-supported .................................. 11 4.3. printer-name ...........................................1211 4.4. printer-natural-language-configured ....................1312 4.5. printer-location .......................................1312 4.6. printer-info ........................................... 13 4.7. printer-more-info ......................................1413 4.8. printer-make-and-model .................................1413 4.9. printer-ipp-versions-supported ......................... 14 4.10. printer-multiple-document-jobs-supported ..............1514 4.11. printer-charset-configured ............................1514 4.12. printer-charset-supported ............................. 15 4.13. printer-generated-natural-language-supported ..........1615 4.14. printer-document-format-supported .....................1615 4.15. printer-color-supported ...............................1615 4.16. printer-compression-supported ......................... 16 4.17. printer-pages-per-minute ..............................1716 4.18. printer-pages-per-minute-color ........................1716 4.19. printer-finishings-supported .......................... 17 4.20. printer-number-up-supported ...........................1817 4.21. printer-sides-supported ...............................1817 4.22. printer-media-supported ...............................1817 4.23. printer-media-local-supported ......................... 18 4.24. printer-resolution-supported ..........................1918 4.25. printer-print-quality-supported .......................1918 4.26. printer-job-priority-supported ........................ 19 4.27. printer-copies-supported ..............................2019 4.28. printer-job-k-octets-supported ........................2019 4.29. printer-current-operator .............................. 20 4.30. printer-service-person ................................ 20 4.31. printer-delivery-orientation-supported ................2120 4.32. printer-stacking-order-supported ......................2120 4.33. printer-output-features-supported ..................... 21 4.34. printer-aliases .......................................2221 5. Definition of Syntaxes .....................................2322 6. Definition of Matching Rules ............................... 22 7. IANA Considerations ........................................ 237.8. Internationalization Considerations ........................ 238.9. Security Considerations .................................... 239.10. References................................................................................................. 2310.11. Acknowledgments ........................................... 2411.12. Authors' Addresses ........................................ 2512.13. Full Copyright Statement .................................. 26 1. IntroductionThe use of directory services based onThis document provides information for the Internet community. It does not specify an Internet standard of any kind. This document defines an LDAP schema, object classes and attributes, for printers and printer services, for use with directories that support Lightweight Directory Access Protocol[RFC 2251] is becoming increasingly popular for distributed services. To ensure interoperability between vendor implementations it(LDAPv3) [RFC2251]. This document iscrucial to standardize the schemas which describe these services. Underbased on theauspicesprinter attributes listed in Appendix E of Internet Printing Protocol (IPP/1.1) [RFC2911], theIETF IPP Working GroupService Location Protocol (SLPv2) [RFC2608] 'service:printer:' template defined in [SLPPRT], and theIPP protocol is being developed to bring a standards based printing solutionmapping between SLP service advertisements and LDAP descriptions of services defined in [RFC2926]. Send comments to theInternet. Section 16IPP WG <ipp@pwg.org> and the editor <flemingp@us.ibm.com>. Appendix E of[RFC 2911] describesIPP/1.1 [RFC2911] specifies a list of printer 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][RFC2911] and [SLPPRT]. This documentwill taketakes these attributes andmapmaps them to LDAP attributes and object classes. This document defines several object classes to provide LDAP applications withmultipleflexible 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 withSLP, IPP,SLPv2 [RFC2608], IPP/1.1 [RFC2911], and LPR [RFC1179] specific information. 2. TerminologyTheThis document provides information for the Internet community. It does not specify an Internet standard of any kind. For systems which choose to support this LDAP printer schema, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in sections 3 and 4 of this document are to be interpreted as described in[RFC 2119].[RFC2119]. 3. Definition of Object Classes We define the following LDAP object classes for use with both generic printer related information and services specific toSLP, IPP,SLPv2 [RFC2608], IPP/1.1 [RFC2911], andLPR.LPR [RFC1179]. 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].[RFC2251]. Refer tosectionSection 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][RFC2911] have been prefixed with 'printer-' as recommended in [SLPPRT] and[RFC 2926].[RFC2926]. 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. 3.1. slpServicePrinter This auxiliary class defines Service Location Protocol(SLP)(SLPv2) [RFC2608] 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].[RFC2926]. ( 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 $ 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-urimustMUST 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-urimustMUST be updated with the new domain name. ( 1.3.18.0.2.6.257 NAME 'printerServiceAuxClass' DESC 'Printer information.' AUXILIARY SUP printerAbstract MAY ( printer-uri $ printer-xri-supported ) ) 3.5. printerIPP This auxiliary class defines Internet Printing Protocol(IPP)(IPP/1.1) [RFC2911] 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 [RFC1179] 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) ) 4. Definition of Attribute Types The following attribute types are referenced by the object classes defined insectionSection 3. The following attribute types reference syntax OIDs defined in Section 6 of [RFC2252] (see Section 5 'Definition of Syntaxes' below). The following attribute types reference matching rule names (instead of OIDs) for clarity (see Section 6 below). 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 [RFC2252] and/or Section 6 of [X.520]. (see Section 6 'Definition of Matching Rules' below). Note: Some implementations of LDAP servers do not support some or all of the [X.520] matching rules in the EQUALITY, ORDERING, or SUBSTR clauses of attribute definitions. Administrators may wish to: 1) Omit the EQUALITY clause (or at least the 'booleanMatch', which is not defined in [RFC2252]); 2) Omit the ORDERING clause (or at least the 'integerOrderingMatch', which is not defined in [RFC2252]); 3) Omit the SUBSTR clause. The following table is a summary of the attribute namesreferenceddefined by this document and their corresponding names from[RFC 2911].[RFC2911]. Some attribute names described in[RFC 2911][RFC2911] have been prefixed with 'printer-' as recommended in[RFC 2926],[RFC2926], to address the flat namespace for LDAP identifiers. LDAP & SLP Printer Schema IPP Model[RFC 2911][RFC2911] ------------------------------ ------------------------------------- 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 printer-service-person printer-delivery-orientation-supported printer-stacking-order-supported printer-output-features-supported printer-aliasesIn 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 Integer4.1. printer-uri Note, that for SLP registered printers, the LDAP printer-uri attributeshouldMUST set to the value of the registered URL of the printer. ( 1.3.18.0.2.4.1140 NAME 'printer-uri' DESC'The'A URI supported by thisprinter.'printer. This URI SHOULD be used as a relative distinguished name (RDN). If printer-xri-supported is implemented, then this URI value MUST be listed in a member value of printer-xri-supported.' EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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) 'basic' (HTTP/1.1 Basic[RFC 2617])[RFC2617]) 'digest' (HTTP/1.1 Basic,[RFC 2617])[RFC2617]) '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])[RFC2246]) 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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 namemayMAY 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]).[RFC2396]). ( 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{127} SINGLE-VALUE ) 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][RFC3066] "Tags for the Identification of Languages".' EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{127} 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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 manufacturermayMAY initially populate this attribute.' EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{127} ) 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} ) 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],[RFC3066], Tags for the Identification of Languages.' EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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} ) 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} ) 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 keyword from ISO 10175).' EQUALITY caseIgnoreMatch SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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 ) 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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' 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch 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} ) 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 SUBSTRcaseIgnoreSubstringMatchcaseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{127} ) 5. Definition of Syntaxes No new attribute syntaxes are defined by this document. The attribute types defined in Section 4 above reference syntax OIDs defined in Section 6 of [RFC2252], 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 [RFC2279]) 1.3.6.1.4.1.1466.115.121.1.27 Integer 6. Definition of Matching Rules No new matching rules are defined by this document. The attribute types defined in Section 4 above reference matching rules defined in Section 8 of [RFC2252] and/or Section 6 of [X.520], which are summarized below: Matching Rule OID Matching Rule Name Usage ------------------------------ ------------------ ----- 2.5.13.13* booleanMatch EQUALITY 2.5.13.2 caseIgnoreMatch EQUALITY 2.5.13.14 integerMatch EQUALITY 2.5.13.3 caseIgnoreOrderingMatch ORDERING 2.5.13.15* integerOrderingMatch ORDERING 2.5.13.4 caseIgnoreSubstringsMatch SUBSTR * - Defined in ITU-T X.520:1996 [X.520] but not listed in [RFC2252] Note: Some implementations of LDAP servers do not support some or all of the [X.520] matching rules in the EQUALITY, ORDERING, or SUBSTR clauses of attribute definitions. Administrators may wish to: 1) Omit the EQUALITY clause (or at least the 'booleanMatch', which is not defined in [RFC2252]); 2) Omit the ORDERING clause (or at least the 'integerOrderingMatch', which is not defined in [RFC2252]); 3) Omit the SUBSTR clause. 7. IANA Considerations There are no IANA registration considerations defined by this document.7.8. Internationalization Considerations All text string attribute values in objects of the printerService class MUST be encoded in UTF-8[RFC 2279][RFC2279] characters, as required by the syntax 'Directory String'[RFC 2252].[RFC2252]. Also, a language tag [RFC3066] 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 the "IETF Policy on Character Sets and Languages"[RFC 2277]. 8.[RFC2277]. 9. 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 LDAP printer schema. For additional considerations of deploying printers in an IPPenvironmentenvironment, the reader is referred tosectionSection 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.[RFC2911]. 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.10. References [SLPPRT] St. Pierre, Isaacson, McDonald. Definition of the Printer Abstract Service Type v2.0,<draft-ietf-svrloc-printer-schema-06.txt>, March 2000 (appoved<durable URL below>, May 2000. Reviewed andarchivedapproved by IETF SLP Designated Expert, according to Section 5 'IANA Considerations' in [RFC2609]. Archived in the IANA SLP Template Registry: ftp://isi.edu/in-notes/iana/assignments/svrloc-templates/ in the file'printer.2.0.en') [RFC 1179]'printer.2.0.en' [RFC1179] McLaughlin. Line Printer Daemon Protocol, RFC 1179, August 1990.[RFC 1766] Alvestrand. Tags for the Identification of Languages, RFC 1766, March 1995. [RFC 2119][RFC2119] Bradner. Key words for use in RFCs to Indicate Requirement Levels, RFC 2119, March 1997.[RFC 2246][RFC2246] Dierks, Allen. TLS Protocol Version 1.0, RFC 2246, January 1999.[RFC 2251][RFC2251] Wahl, Howes, Kille. Lightweight Directory Access Protocol (v3), RFC 2251, December 1997.[RFC 2252][RFC2252] Wahl, Coulbeck, Howes, Kille. Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions, RFC 2252, December 1997.[RFC 2277][RFC2277] Alvestrand. IETF Policy on Character Sets and Languages, RFC 2277, January 1998.[RFC 2279][RFC2279] 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][RFC2396] Berners-Lee, Fielding, Masinter. URI Generic Syntax, RFC 2396, August 1998.[RFC 2911][RFC2608] Guttman, Perkins, Veizades, Day. Service Location Protocol v2, RFC 2608, June 1999. [RFC2609] Guttman, Perkins, Kempf. Service Templates and Service: Schemes, RFC 2609, June 1999. [RFC2617] Franks, Hallam-Baker, Hostetler, Lawrence, Leach, Luotonen, Stewart. HTTP Authentication: Basic and Digest Access Authentication, RFC 2617, June 1999. [RFC2911] deBry, Hastings, Herriot, Isaacson, Powell. Internet Printing Protocol/1.1: Model and Semantics, RFC 2911, September 2000.[RFC 2926][RFC2926] Kempf, Moats, St. Pierre. Conversion of LDAP Schemas to and from SLP Templates, RFC 2926, September 2000.10.[RFC3066] Alvestrand. Tags for the Identification of Languages, RFC 3066, January 2001. [X.520] The Directory: Selected Attribute Types. ITU-T Recommendation X.520 and ISO/IEC 9594-6, 1993. 11. AcknowledgmentsThis document is a submissionThanks to the members of the IPP Workinggroup. Thanks togroup, Kimberly Reger (IBM), Robert Moore (IBM) and Lee Rafalow(IBM)(IBM), and Kurt Zeilenga (OpenLDAP) for their review comments and help in preparing this document.11.12. 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.com12.13. Full Copyright Statement Copyright (C) The Internet Society(2000).(2001). 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."