[IPP] RFC: printer-finisher attribute

Michael Sweet <msweet@apple.com> Fri, 20 June 2014 18:27 UTC

Return-Path: <ipp-bounces@pwg.org>
X-Original-To: ietfarch-ipp-archive@ietfa.amsl.com
Delivered-To: ietfarch-ipp-archive@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 108311B28CA for <ietfarch-ipp-archive@ietfa.amsl.com>; Fri, 20 Jun 2014 11:27:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.442
X-Spam-Level:
X-Spam-Status: No, score=-2.442 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, RP_MATCHES_RCVD=-0.651, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KBl0NFAHw-dT for <ietfarch-ipp-archive@ietfa.amsl.com>; Fri, 20 Jun 2014 11:27:41 -0700 (PDT)
Received: from www.pwg.org (www.pwg.org [IPv6:2600:3c01::f03c:91ff:fe70:b03f]) by ietfa.amsl.com (Postfix) with ESMTP id 6E6751B28D2 for <ipp-archive@lists.ietf.org>; Fri, 20 Jun 2014 11:26:03 -0700 (PDT)
Received: from pwg.org (localhost [IPv6:::1]) by www.pwg.org (Postfix) with ESMTP id DA7528354; Fri, 20 Jun 2014 18:26:20 +0000 (UTC)
X-Original-To: ipp@pwg.org
Delivered-To: ipp@pwg.org
Received: from mail-in6.apple.com (mail-out6.apple.com [17.151.62.28]) by www.pwg.org (Postfix) with ESMTPS id 947BC833A for <ipp@pwg.org>; Fri, 20 Jun 2014 18:26:18 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1403288759; x=2267202359; h=From:Sender:Reply-To:Subject:Date:Message-id:To:Cc:MIME-version:Content-type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=zKThh8j32Pcdfrt2HIqfjUPacZPDSxcqqW62hegreQM=; b=blQU3YknB9HxoXBBLNfSILpSNj/H+MAmz9ZSgMFPQEJG9RtEe7bR+6kvFp/VXlZ3 q6Pjombpo5XL3Nr2y8HHgf4iPQInusc0I5Hyl/3s1aiolPMVfySAKC9uIv02+12i t/OA2ZNEK3uSeX0decDoiK8STsvDJ6mhs6q/+97myR2xepb8VKVjM2To5CNFWGGE og3mP/LEw7OPVBLLbIln8hxb6RBTGv2ADOcQJAiMilcs1fJrUOr5o72hK8+4N4YG DcidVrpGR7NMWtFWsXTS8TDViDAKtGA2KTndNBagbtwHkBbZFuR/4DdPmTEdmmaW HGueDJOQb+snKQk7ocXttg==;
Received: from mail-out.apple.com (mail-out.apple.com [17.151.62.51]) (using TLS with cipher RC4-MD5 (128/128 bits)) (Client did not present a certificate) by mail-in6.apple.com (Apple Secure Mail Relay) with SMTP id D1.28.27911.7BC74A35; Fri, 20 Jun 2014 11:25:59 -0700 (PDT)
MIME-version: 1.0
Received: from relay6.apple.com ([17.128.113.90]) by local.mail-out.apple.com (Oracle Communications Messaging Server 7.0.5.30.0 64bit (built Oct 22 2013)) with ESMTP id <0N7H00C8UCIXYEH0@local.mail-out.apple.com> for ipp@pwg.org; Fri, 20 Jun 2014 11:25:59 -0700 (PDT)
X-AuditID: 11973e15-f79cf6d000006d07-34-53a47cb75948
Received: from chive.apple.com (chive.apple.com [17.128.115.15]) (using TLS with cipher RC4-MD5 (128/128 bits)) (Client did not present a certificate) by relay6.apple.com (Apple SCV relay) with SMTP id 98.91.30921.AAC74A35; Fri, 20 Jun 2014 11:25:46 -0700 (PDT)
Received: from [17.153.48.82] (unknown [17.153.48.82]) by chive.apple.com (Oracle Communications Messaging Server 7.0.5.30.0 64bit (built Oct 22 2013)) with ESMTPSA id <0N7H00K8WCJ96450@chive.apple.com> for ipp@pwg.org; Fri, 20 Jun 2014 11:25:59 -0700 (PDT)
From: Michael Sweet <msweet@apple.com>
Date: Fri, 20 Jun 2014 14:25:57 -0400
To: "<ipp@pwg.org>" <ipp@pwg.org>
Message-id: <DF5CB569-D1E3-4239-8437-0167CDD30797@apple.com>
X-Mailer: Apple Mail (2.1878.2)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrHLMWRmVeSWpSXmKPExsUiON3OWHd7zZJgg6f/zS2O7XvJ4sDoMW/x dKYAxigum5TUnMyy1CJ9uwSujAU/ggo2Fld83LmapYFxQ3IXIyeHhICJxPWN1xkhbDGJC/fW s3UxcnEICcxikri75QsTSIJXQFDix+R7LBCJSUwSZ++fZYfpfr/uC1Sim0mio6mbEcJpZ5L4 +u0zM0gVm4CaxO9JfawgNrPAFEaJ/ZfMQWwWAVWJB6fvsoHYwgIaEtsu3QKzRQQUJX5O284I sdpG4vTjpawQ2+QlZrSfYAdZICHQzCYxaeZE9gmMArOQnDgLyQ4IW1ti2cLXzLMYOYBsHYnJ CxkhwqYST95uZ4OwrSV+znkEFVeUmNL9kH0BI/sqRqHcxMwc3cw8M73EgoKcVL3k/NxNjJAA F93BeGaV1SFGAQ5GJR5ejYglwUKsiWXFlbmHGKU5WJTEeSW5FwULCaQnlqRmp6YWpBbFF5Xm pBYfYmTi4JRqYHzsW6/GZPr765QIt7ANrDPXF3sJ7VCJ68lJiN5UFXivyULb0PHSjfgQpzWO W+9Frnm5I0jnDLePf1r+9K6NKZ3Sm6VeZpw12FXcu3SuNfPJn4yVKu/cbPLcpEyO20aIv7/q xzb3xYy65bdVl7x6dv6q2r8PD7t+RFRMm/LN+6Tmgsin94undyixFGckGmoxFxUnAgB1DlTE UQIAAA==
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrALMWRmVeSWpSXmKPExsUi2FDMr7uqZkmwQcNlA4tj+16yODB6zFs8 nSmAMYrLJiU1J7MstUjfLoErY8GPoIKNxRUfd65maWDckNzFyMkhIWAi8X7dFxYIW0ziwr31 bF2MXBxCAt1MEj9vfGeBcNqZJL5++8wMUsUmoCbxe1IfK4jNLDCFUWL/JXMQm0VAVeLB6bts ILawgIbEtku3wGwRAUWJn9O2M4LYvAI2EqcfL2WFsA0k3hw8zgSxWV5iRvsJ9gmMPLOQjJ2F pAwiri2xbOFr5lmMHEC2jsTkhYwQYVOJJ2+3s0HY1hI/5zyCiitKTOl+yL6AkX0Vo0BRak5i pZleYkFBTqpecn7uJkZw2BVG7WBsWG51iFGAg1GJh/dC6JJgIdbEsuLK3EOMKkAjHm1YfYFR iiUvPy9VSYRXOgQozZuSWFmVWpQfX1Sak1p8iFGag0VJnHdvxOJgIYH0xJLU7NTUgtQimCwT B6dUA+NcU9Zf36+27vYpPjE1sMh4V2Lq2ilTP54s+PL88sZcZenGntmLm+xmNBac4wj1/Ju0 /uaSE90tHSGTuvrYnsufW363MOVimn5DXdaSy7mzeW78zWPw5J+yXGRewP8fSn8/T5iun6++ +XPGtFtH9eqcDddvjjDQ/xNvUiLFVX/Rkne3eVrBrCglluKMREMt5qLiRAB41yWhQwIAAA==
Subject: [IPP] RFC: printer-finisher attribute
X-BeenThere: ipp@pwg.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Internet Printing Protocol Workgroup discussion list <ipp.pwg.org>
List-Unsubscribe: <https://www.pwg.org/mailman/options/ipp>, <mailto:ipp-request@pwg.org?subject=unsubscribe>
List-Archive: <http://www.pwg.org/pipermail/ipp/>
List-Post: <mailto:ipp@pwg.org>
List-Help: <mailto:ipp-request@pwg.org?subject=help>
List-Subscribe: <https://www.pwg.org/mailman/listinfo/ipp>, <mailto:ipp-request@pwg.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2139547601=="
Sender: ipp-bounces@pwg.org
Errors-To: ipp-bounces@pwg.org

All,

One of the common issues we've run into are finisher limits - maximum capacity in particular.

Currently the only want to get this information is via the Finishing MIB.  The following is a proposal for inclusion in the Finishings 2.0 specification to add a "printer-finisher" Printer Description attribute that exposes the Finishing MIB, much as we already do for the various Printer MIB properties.

If there are no objections, I will issue one more prototype draft of the Finishings 2.0 spec so we can review this and the finishings-col-database addition in the next WG concall.

...

6.15 printer-finisher (1setOf octetString(MAX))

The REQUIRED "printer-finisher" Printer attribute provides current finisher details mapped from the SNMP finDeviceTable defined in IETF Finishing MIB [RFC3806].

This attribute MUST be supported if the "printer-finisher-description" (section 6.16) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "printer-finisher-description" attribute. The ith value in the "printer-finisher" attribute corresponds to the ith value in the "printer-finisher-description" attribute.

6.15.1 Keywords for printer-finisher

Table 2 defines the IPP datatypes and keywords for encoding "printer-finisher" from all of the machine-readable (non-localized) columnar objects in finDeviceTable [RFC3806].

6.15.2 Encoding of printer-finisher

Values of "printer-finisher" MUST be encoded using a visible subset of the [US-ASCII] charset. Control codes (0x00 to 0x1F and 0x7F) MUST NOT be used. The ABNF [STD68] in Figure 2 defines the standard encoding in "printer-finisher" for all the machine-readable (non-localized) columnar objects in finDeviceTable [RFC3806].

6.15.3 Examples of printer-input-tray

The following example shows two rows of the machine-readable (non-localized) columnar objects from finDeviceTable encoded into corresponding values of "printer-finisher".

Note: Line breaks are shown below for readability of this example. Line breaks MUST NOT be encoded into actual values of "printer-finisher".

printer-finisher[1] =
    type=stitcher;unit=sheets;maxcapacity=500;capacity=100;
printer-input-tray[2] =
    type=puncher;unit=sheets;maxcapacity=100;capacity=20;
 
Table 2 - Keywords for "printer-finisher"

Finishing MIB Object    IPP Data-type  IPP Keyword    PWG SM Keyword    Conformance
----------------------  -------------  -------------  ----------------  -----------
finDevice...
Index (note 1)          Integer        index          Id                OPTIONAL
Type                    String         type           FinisherType      REQUIRED
CapacityUnit            String         unit           FinisherCapacity  REQUIRED
                                                      Unit
MaxCapacity             Integer        maxcapacity    FinisherMax       REQUIRED
                                                      Capacity
CurrentCapacity         Integer        capacity       FinisherCurrent   REQUIRED
                                                      Capacity
PresentOnOff            String         presentonoff   FinisherPresent   OPTIONAL
                                                      OnOff
AssociatedMediaPaths    ---            ---            FinisherAssociated ---
                                                      MediaPaths
AssociatedOutputs       ---            ---            FinisherAssociated ---
                                                      Outputs
Status                  Integer        status         SubunitStates     OPTIONAL

Notes:
1.    finDeviceIndex is OPTIONAL in "printer-finisher", because correlation with the original MIB order is considered unimportant.

 
Figure 2 - ABNF for "printer-finisher" Values

printer-finisher = *finisher-required *[finisher-optional]
    ; set of finisher elements encoded into one value
 
finisher-required = finisher-req ";"
finisher-req = finisher-type / finisher-unit /
                 finisher-max-capacity /
                 finisher-capacity
finisher-optional = finisher-opt ";"
finisher-opt = finisher-index / finisher-presentonoff /
                 finisher-status / finisher-ext
 
finisher-type = "type" "=" 1*ALPHA
    ; enumerated value as an alpha string (e.g.,
    ; 'stitcher') of finDeviceType in [RFC3806] mapped
    ; indirectly from the *label* in FinDeviceTypeTC
 
finisher-unit = "unit" "=" 1*ALPHA
    ; enumerated value as an alpha string (e.g., 'other') of
    ; finDeviceCapacityUnit in [RFC3806] mapped indirectly from
    ; the *label* in PrtCapacityUnitTC in [RFC3805]
 
finisher-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"]
    ; integer value as a numeric string mapped directly from
    ; finDeviceMaxCapacity in [RFC3806]
 
finisher-capacity = "capacity" "=" 1*[DIGIT / "-"]
    ; integer value as a numeric string mapped directly from
    ; finDeviceCurrentCapacity in [RFC3806]
 
finisher-index = "index" "=" 1*DIGIT
    ; integer value as a numeric string mapped directly from
    ; finDeviceIndex in [RFC3806]
 
finisher-presentonoff = "presentonoff" "=" 1*ALPHA
    ; string value as an alpha string mapped directly from
    ; PresentOnOff in [RFC3805]
 
finisher-status = "status" "=" 1*DIGIT
    ; integer value as a numeric string mapped directly from
    ; finDeviceStatus in [RFC3806]
 
finisher-ext   = 1*ALPHA "=" 1*ALPHA
    ; extension point for other MIB values not mapped

6.16 printer-finisher-description (1setOf text(MAX))

The REQUIRED "printer-finisher-description" READ-ONLY Printer attribute provides current supply descriptions mapped from the SNMP finDeviceDescription object in the finDeviceTable defined in IETF Finishing MIB [RFC3806].

This attribute MUST be supported if the "printer-finisher" (section 6.15) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "printer-finisher" attribute. The ith value in the "printer-finisher-description" attribute corresponds to the ith value in the "printer-finisher" attribute.

6.16.1 Encoding of printer-finisher-description

Values of the "printer-finisher-description" attribute MUST be mapped from the corresponding human-readable (localized) values of finDeviceDescription, exactly as follows:

1.    Each value of finDeviceDescription MUST be converted from the character set [RFC3808] specified by prtGeneralCurrentLocalization and prtLocalizationCharacterSet into the charset specified by "charset-configured" and then copied into a text value of "printer-finisher-description"; and
2.    Each value of "printer-finisher-description" MUST be tagged with the natural language [RFC5646] specified by prtGeneralCurrentLocalization, prtLocalizationLanguage, and prtLocalizationCountry.

6.16.2 Example of printer-finisher-description

The following example shows two instances of the human-readable (localized) columnar object finDeviceDescription in the finDeviceTable encoded into corresponding values of "printer-finisher-description":

printer-finisher-description[1] = "Stapler S/N:EXAMPLE-12345"
printer-finisher-description[2] = "Hole Punch S/N:EXAMPLE-67890"

_________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair

_______________________________________________
ipp mailing list
ipp@pwg.org
https://www.pwg.org/mailman/listinfo/ipp