ISSUE 111 (restated): How does an application determine the coded character set for the objects and attributes that the agent generates (that cannot come from the job submitting client)? The following 3 objects and attributes are in question: jmGeneralJobSetName object processingMessage attribute physicalDevice (name value) attribute Suggested solution: Use UTF-8 only for these 3 objects/attributes. Since most of the implemetations will be using US-ASCII, there is no burden for them. Introduce the 'JmUTF8StringTC' textual convention for these three objects/attributes. Suggested text: 1. Replace the current International Considerations section: 3.6 Internationalization Considerations There are a number of objects in this MIB that are represented as coded character sets with a data type of OCTET STRING. Most of the objects are supplied as job attributes by the client that submits the job to the server or device and so are represented in the coded character set specified by that client. For simplicity, this specification assumes that the clients, job monitoring applications, servers, and devices are all running in the same locale, including locales that use two-octet coded character sets, such as ISO 10646 (Unicode). Job monitoring applications are expected to understand the coded character set of the client (and job), server, or device. No special means is provided for the monitor to discover the coded character set used by jobs or by the server or device. This specification does not contain an object that indicates what locale the server or device is running in, let alone contain an object to control what locale the agent is to use to represent coded character set objects. This MIB also contains objects that are represented using the DateAndTime textual convention from SMIv2 [SMIv2]. The job management application SHALL display such objects in the locale of the user running the monitoring application. with: 3.6 Internationalization Considerations There are a few objects and attributes that are represented using the Universal Multiple-Octet Coded Character Set (UCS) [ISO 10646] encoded as an octet string using the UTF-8 [UTF-8] character encoding scheme. The 'JmUTF8StringTC' textual convention is used to indicate UTF-8 text strings. These objects and attributes are always supplied (if implemented) by the agent, not by the job submitting client: jmGeneralJobSetName object processingMessage attribute physicalDevice (name value) attribute The coded character set for representing these objects and attributes SHALL be UTF-8 as recommended by RFC 2130 [RFC 2130] and the "IETF Policy on Character Sets and Language" [char-set policy]. NOTE - For strings in 7-bit US-ASCII, there is no impact since the UTF-8 representation is identical to the US-ASCII [US-ASCII] encoding. This MIB also contains objects that are represented using the DateAndTime textual convention from SMIv2 [SMIv2]. The job management application SHALL display such objects in the locale of the user running the monitoring application. 2. Add the following textual-convention: JmUTF8StringTC ::= TEXTUAL-CONVENTION DISPLAY-HINT "255a" STATUS current DESCRIPTION "To facilitate internationalization, this TC represents information taken from the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 character encoding scheme." REFERENCE "See section 3.6, 'Internationalizaton Considerations'." SYNTAX OCTET STRING (SIZE (0..63)) 3. Change the following 3 objects and attributes syntaxes from OCTET STRING(SIZE(0..63)) to JmUTF8StringTC: jmGeneralJobSetName object processingMessage attribute physicalDevice (name value) attribute From: jmGeneralJobSetName OBJECT-TYPE SYNTAX OCTET STRING(SIZE(0..63)) MAX-ACCESS read-only STATUS current to: jmGeneralJobSetName OBJECT-TYPE SYNTAX JmUTF8StringTC MAX-ACCESS read-only STATUS current DESCRIPTION "The human readable name of this job set assigned by the system administrator (by means outside of this MIB). Typically, this name SHOULD be the name of the job queue. If a server or device has only a single job set, this object can be the administratively assigned name of the server or device itself. This name does not need to be unique, though each job set in a single Job Monitoring MIB SHOULD have distinct names. NOTE - The purpose of this object is to help the user of the job monitoring application distinguish between several job sets in implementations that support more than one job set." REFERENCE "See the OBJECT compliance macro for the minimum maximum length required for conformance." ::= { jmGeneralEntry 7 } From: processingMessage(6), OCTET STRING(SIZE(0..63)) OCTETS: MULTI-ROW: A coded character set message that to: processingMessage(6), JmUTF8StringTC OCTETS: MULTI-ROW: A coded character set message that is generated during the processing of the job as a simple form of processing log to show progress and any problems. There is no restriction for the same message occurring in multiple rows. From: physicalDevice(32), hrDeviceIndex AND/OR OCTET STRING(SIZE(0..63)) to: physicalDevice(32), hrDeviceIndex AND/OR JmUTF8StringTC INTEGER: MULTI-ROW: The index of the physical device MIB instance requested/used, such as the Printer MIB[print-mib]. This value is an hrDeviceIndex value. See the Host Resources MIB[hr-mib]. AND/OR OCTETS: MULTI-ROW: The name of the physical device to which the job is assigned. 4. Page 79: Add the following to the References section so that the above references can be made: [char-set policy] Harald Avelstrand, "IETF Policy on Character Sets and Language", June 1997. Latest draft: [ISO 10646] ISO/IEC 10646-1:1993, "Information technology -- Universal Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and Basic Multilingual Plane, JTC1/SC2. [US-ASCII] Coded Character Set - 7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. [UTF-8] F. Yergeau, "UTF-8, a transformation format of Unicode and ISO 10646", RFC 2044, October 1996.