Network Working Group
Request for Comments: 3808
Category: Informational
I. McDonald
High North
June 2004

IANA Charset MIB

Status of this Memo

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

Copyright Notice

Copyright © The Internet Society (2004).

Abstract

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. This IANA Charset MIB is now an IANA registry. In particular, a single textual convention 'IANACharset' is defined that may be used to specify charset labels in MIB objects. 'IANACharset' was extracted from Printer MIB v2 (RFC 3805). 'IANACharset' was originally defined (and mis-named) as 'CodedCharSet' in Printer MIB v1 (RFC 1759). A tool has been written in C, that may be used by IANA to regenerate this IANA Charset MIB, when future charsets are registered in accordance with the IANA Charset Registration Procedures (RFC 2978).

Table of Contents

   1.  Introduction. . . . . . . . . . . . . . . . . . . . . . . . .   2
       1.1.  Conformance Terminology . . . . . . . . . . . . . . . .   2
       1.2.  Charset Terminology . . . . . . . . . . . . . . . . . .   2
   2.  The Internet-Standard Management Framework. . . . . . . . . .   2
   3.  Generation of IANA Charset MIB. . . . . . . . . . . . . . . .   3
   4.  Definition of IANA Charset MIB. . . . . . . . . . . . . . . .   3
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
   6.  Internationalization Considerations . . . . . . . . . . . . .  10
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   8.  Acknowledgements. . . . . . . . . . . . . . . . . . . . . . .  11
   9.  References. . . . . . . . . . . . . . . . . . . . . . . . . .  11
       9.1.  Normative References. . . . . . . . . . . . . . . . . .  11
       9.2.  Informative References. . . . . . . . . . . . . . . . .  12
   10. Authors' Addresses. . . . . . . . . . . . . . . . . . . . . .  13
   11. Full Copyright Statement. . . . . . . . . . . . . . . . . . .  14

1. Introduction

This IANA Charset MIB [CHARMIB] module defines the single textual convention 'IANACharset'. Once adopted, all future versions of the IANA Charset MIB [CHARMIB] may be machine-generated whenever the IANA Charset Registry [CHARSET] is updated by IANA staff according to the procedures defined in [RFC2978], using the utility [CHARGEN] described in section 3 of this document or any other machine- generation method.

It is strongly recommended that future updates to the IANA Charset MIB [CHARMIB] be machine-generated (rather than hand-edited) to avoid asynchrony between the IANA Charset Registry [CHARSET] and the IANA Charset MIB [CHARMIB].

   Note:  Questions and comments on this IANA Charset MIB [CHARMIB]
   should be sent to the editor (imcdonald@sharplabs.com) and IANA
   (iana@iana.org) with a copy to the IETF Charsets mailing list (ietf-
   charset@iana.org).

1.1. Conformance 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 BCP 14, RFC 2119 [RFC2119].

1.2. Charset Terminology

   The following terms are used in this specification, exactly as
   defined in section 1 'Definitions and Notation' of the IANA Charset
   Registration Procedures [RFC2978]:  "character", "charset", "coded
   character set (CCS)", and "character encoding scheme (CES)".

2. The Internet-Standard Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410].

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579], and STD 58, RFC 2580 [RFC2580].

3. Generation of IANA Charset MIB

   Intellectual Property:  The C language utility 'ianachar.c' [CHARGEN]
   and the IANA Charset MIB template file [CHARTEMP] are hereby donated
   by the author (Ira McDonald) to IANA, in perpetuity, free of license
   or any other restraint.

The [CHARGEN] utility may be used to generate an updated version of the 'IANACharset' textual convention by reading and parsing the (currently plaintext) IANA Charset Registry [CHARSET].

This utility parses each charset registration, finding (in order):

  1. The 'Name' field (which is saved for a fallback - see below);
  1. The 'MIBenum' field (which contains the IANA-assigned positive decimal enum value); and
  1. The (usually present) 'Alias' field that begins with 'cs' (that contains the IANA-assigned enum label). If an 'Alias' field is not found, the utility constructs one from the 'Name' field by:
  • Beginning the enum label with a lowercase 'cs' prefix;
  • Copying _only_ alpha/numeric characters from the 'Name' field to the enum label (ignoring punctuation, whitespace, etc.).

4. Definition of IANA Charset MIB

IANA-CHARSET-MIB DEFINITIONS ::= BEGIN

-- http://www.iana.org/assignments/ianacharset-mib

IMPORTS

    MODULE-IDENTITY,
        mib-2
            FROM SNMPv2-SMI                              -- [RFC2578]
    TEXTUAL-CONVENTION
            FROM SNMPv2-TC;                              -- [RFC2579]

ianaCharsetMIB MODULE-IDENTITY

    LAST-UPDATED    "200406080000Z"
    ORGANIZATION    "IANA"
    CONTACT-INFO    "       Internet Assigned Numbers Authority

Postal:

ICANN
4676 Admiralty Way, Suite 330 Marina del Rey, CA 90292

                    Tel:    +1 310 823 9358
                    E-Mail: iana@iana.org"
    
    DESCRIPTION     "This MIB module defines the IANACharset
                    TEXTUAL-CONVENTION.  The IANACharset TC is used to
                    specify the encoding of string objects defined in
                    a MIB.

Each version of this MIB will be released based on the IANA Charset Registry file (see RFC 2978) at http://www.iana.org/assignments/character-sets.

                    Note:  The IANACharset TC, originally defined in
                    RFC 1759, was inaccurately named CodedCharSet.
                    
                    Note:  Best practice is to define new MIB string
                    objects with invariant UTF-8 (RFC 3629) syntax
                    using the SnmpAdminString TC (defined in RFC 3411)
                    in accordance with IETF Policy on Character Sets and
                    Languages (RFC 2277).

Copyright © The Internet Society (2004). The initial version of this MIB module was published in RFC 3808; for full legal notices see the RFC itself. Supplementary information may be available on http://www.ietf.org/copyrights/ianamib.html."

-- revision history

    REVISION        "200406080000Z"
    DESCRIPTION     "Original version transferred from Printer MIB,
                    generated from the IANA maintained assignments
                    http://www.iana.org/assignments/character-sets."
    
    ::= { mib-2 106 }

IANACharset ::= TEXTUAL-CONVENTION

    STATUS  current
    DESCRIPTION
        "Specifies an IANA registered 'charset' - coded character set
        (CCS) plus optional character encoding scheme (CES) - terms
        defined in 'IANA Charset Registration Procedures' (RFC 2978).

Objects of this syntax are used to specify the encoding for string objects defined in one or more MIBs. For example, the prtLocalizationCharacterSet, prtInterpreterDefaultCharSetIn, and prtInterpreterDefaultCharSetOut objects defined in Printer MIB.

The current list of 'charset' names and enumerated values

is contained in the IANA Character Set Registry at:

http://www.iana.org/assignments/character-sets

        Enum names are derived from the IANA Charset Registry 'Alias'
        fields that begin with 'cs' (for character set).
        Enum values are derived from the parallel 'MIBenum' fields."
    SYNTAX  INTEGER {
        other(1),   -- used if the designated
                    -- character set is not currently
                    -- registered by IANA
        unknown(2), -- used as a default value
        csASCII(3),
        csISOLatin1(4),
        csISOLatin2(5),
        csISOLatin3(6),
        csISOLatin4(7),
        csISOLatinCyrillic(8),
        csISOLatinArabic(9),
        csISOLatinGreek(10),
        csISOLatinHebrew(11),
        csISOLatin5(12),
        csISOLatin6(13),
        csISOTextComm(14),
        csHalfWidthKatakana(15),
        csJISEncoding(16),
        csShiftJIS(17),
        csEUCPkdFmtJapanese(18),
        csEUCFixWidJapanese(19),
        csISO4UnitedKingdom(20),
        csISO11SwedishForNames(21),
        csISO15Italian(22),
        csISO17Spanish(23),
        csISO21German(24),
        csISO60DanishNorwegian(25),
        csISO69French(26),
        csISO10646UTF1(27),
        csISO646basic1983(28),
        csINVARIANT(29),
        csISO2IntlRefVersion(30),
        csNATSSEFI(31),
        csNATSSEFIADD(32),
        csNATSDANO(33),
        csNATSDANOADD(34),
        csISO10Swedish(35),
        csKSC56011987(36),
        csISO2022KR(37),
        csEUCKR(38),
        csISO2022JP(39),
        csISO2022JP2(40),
        csISO13JISC6220jp(41),
        csISO14JISC6220ro(42),
        csISO16Portuguese(43),
        csISO18Greek7Old(44),
        csISO19LatinGreek(45),
        csISO25French(46),
        csISO27LatinGreek1(47),
        csISO5427Cyrillic(48),
        csISO42JISC62261978(49),
        csISO47BSViewdata(50),
        csISO49INIS(51),
        csISO50INIS8(52),
        csISO51INISCyrillic(53),
        csISO54271981(54),
        csISO5428Greek(55),
        csISO57GB1988(56),
        csISO58GB231280(57),
        csISO61Norwegian2(58),
        csISO70VideotexSupp1(59),
        csISO84Portuguese2(60),
        csISO85Spanish2(61),
        csISO86Hungarian(62),
        csISO87JISX0208(63),
        csISO88Greek7(64),
        csISO89ASMO449(65),
        csISO90(66),
        csISO91JISC62291984a(67),
        csISO92JISC62991984b(68),
        csISO93JIS62291984badd(69),
        csISO94JIS62291984hand(70),
        csISO95JIS62291984handadd(71),
        csISO96JISC62291984kana(72),
        csISO2033(73),
        csISO99NAPLPS(74),
        csISO102T617bit(75),
        csISO103T618bit(76),
        csISO111ECMACyrillic(77),
        csa71(78),
        csa72(79),
        csISO123CSAZ24341985gr(80),
        csISO88596E(81),
        csISO88596I(82),
        csISO128T101G2(83),
        csISO88598E(84),
        csISO88598I(85),
        csISO139CSN369103(86),
        csISO141JUSIB1002(87),
        csISO143IECP271(88),
        csISO146Serbian(89),
        csISO147Macedonian(90),
        csISO150(91),
        csISO151Cuba(92),
        csISO6937Add(93),
        csISO153GOST1976874(94),
        csISO8859Supp(95),
        csISO10367Box(96),
        csISO158Lap(97),
        csISO159JISX02121990(98),
        csISO646Danish(99),
        csUSDK(100),
        csDKUS(101),
        csKSC5636(102),
        csUnicode11UTF7(103),
        csISO2022CN(104),
        csISO2022CNEXT(105),
        csUTF8(106),
        csISO885913(109),
        csISO885914(110),
        csISO885915(111),
        csISO885916(112),
        csGBK(113),
        csGB18030(114),
        csOSDEBCDICDF0415(115),
        csOSDEBCDICDF03IRV(116),
        csOSDEBCDICDF041(117),
        csUnicode(1000),
        csUCS4(1001),
        csUnicodeASCII(1002),
        csUnicodeLatin1(1003),
        csUnicodeIBM1261(1005),
        csUnicodeIBM1268(1006),
        csUnicodeIBM1276(1007),
        csUnicodeIBM1264(1008),
        csUnicodeIBM1265(1009),
        csUnicode11(1010),
        csSCSU(1011),
        csUTF7(1012),
        csUTF16BE(1013),
        csUTF16LE(1014),
        csUTF16(1015),
        csCESU8(1016),
        csUTF32(1017),
        csUTF32BE(1018),
        csUTF32LE(1019),
        csBOCU1(1020),
        csWindows30Latin1(2000),
        csWindows31Latin1(2001),
        csWindows31Latin2(2002),
        csWindows31Latin5(2003),
        csHPRoman8(2004),
        csAdobeStandardEncoding(2005),
        csVenturaUS(2006),
        csVenturaInternational(2007),
        csDECMCS(2008),
        csPC850Multilingual(2009),
        csPCp852(2010),
        csPC8CodePage437(2011),
        csPC8DanishNorwegian(2012),
        csPC862LatinHebrew(2013),
        csPC8Turkish(2014),
        csIBMSymbols(2015),
        csIBMThai(2016),
        csHPLegal(2017),
        csHPPiFont(2018),
        csHPMath8(2019),
        csHPPSMath(2020),
        csHPDesktop(2021),
        csVenturaMath(2022),
        csMicrosoftPublishing(2023),
        csWindows31J(2024),
        csGB2312(2025),
        csBig5(2026),
        csMacintosh(2027),
        csIBM037(2028),
        csIBM038(2029),
        csIBM273(2030),
        csIBM274(2031),
        csIBM275(2032),
        csIBM277(2033),
        csIBM278(2034),
        csIBM280(2035),
        csIBM281(2036),
        csIBM284(2037),
        csIBM285(2038),
        csIBM290(2039),
        csIBM297(2040),
        csIBM420(2041),
        csIBM423(2042),
        csIBM424(2043),
        csIBM500(2044),
        csIBM851(2045),
        csIBM855(2046),
        csIBM857(2047),
        csIBM860(2048),
        csIBM861(2049),
        csIBM863(2050),
        csIBM864(2051),
        csIBM865(2052),
        csIBM868(2053),
        csIBM869(2054),
        csIBM870(2055),
        csIBM871(2056),
        csIBM880(2057),
        csIBM891(2058),
        csIBM903(2059),
        csIBBM904(2060),
        csIBM905(2061),
        csIBM918(2062),
        csIBM1026(2063),
        csIBMEBCDICATDE(2064),
        csEBCDICATDEA(2065),
        csEBCDICCAFR(2066),
        csEBCDICDKNO(2067),
        csEBCDICDKNOA(2068),
        csEBCDICFISE(2069),
        csEBCDICFISEA(2070),
        csEBCDICFR(2071),
        csEBCDICIT(2072),
        csEBCDICPT(2073),
        csEBCDICES(2074),
        csEBCDICESA(2075),
        csEBCDICESS(2076),
        csEBCDICUK(2077),
        csEBCDICUS(2078),
        csUnknown8BiT(2079),
        csMnemonic(2080),
        csMnem(2081),
        csVISCII(2082),
        csVIQR(2083),
        csKOI8R(2084),
        csHZGB2312(2085),
        csIBM866(2086),
        csPC775Baltic(2087),
        csKOI8U(2088),
        csIBM00858(2089),
        csIBM00924(2090),
        csIBM01140(2091),
        csIBM01141(2092),
        csIBM01142(2093),

        csIBM01143(2094),
        csIBM01144(2095),
        csIBM01145(2096),
        csIBM01146(2097),
        csIBM01147(2098),
        csIBM01148(2099),
        csIBM01149(2100),
        csBig5HKSCS(2101),
        csIBM1047(2102),
        csPTCP154(2103),
        csAmiga1251(2104),
        csKOI7switched(2105),
        cswindows1250(2250),
        cswindows1251(2251),
        cswindows1252(2252),
        cswindows1253(2253),
        cswindows1254(2254),
        cswindows1255(2255),
        cswindows1256(2256),
        cswindows1257(2257),
        cswindows1258(2258),
        csTIS620(2259),
        reserved(3000)
    }
END

5. IANA Considerations

IANA has assigned a base arc in the 'mgmt' (standards track) OID tree for the 'ianaCharset' MODULE-IDENTITY defined in the IANA Charset MIB [CHARMIB].

Whenever any 'charset' is added to the IANA Charset Registry [CHARSET], a new version of the IANA Charset MIB [CHARMIB] may be machine-generated using the C language utility [CHARGEN], described in section 3 of this document or some other utility.

6. Internationalization Considerations

The IANA Charset MIB [CHARMIB] defines the 'IANACharset' textual convention that may be used in a given MIB module to supply explicit character set labels for one or more text string objects defined in that MIB module.

For example, the Printer MIB [RFC1759] defines the three character set label objects 'prtLocalizationCharacterSet' (for description and console strings), 'prtInterpreterDefaultCharSetIn' (for received print job input data), and 'prtIntpreterDefaultCharSetOut' (for processed print job output data).

The IANA Charset MIB [CHARMIB] supports implementation of the best practices specified in "IETF Policy on Character Sets and Languages" [RFC2277].

   Note:  The use of the 'SnmpAdminString' textual convention defined in
   [RFC3411], which has a fixed character set of UTF-8 [RFC3629], is
   STRONGLY RECOMMENDED in defining new MIB modules.  The IANA Charset
   MIB [CHARMIB] supports locale-specific MIB objects with variable
   character sets.

7. Security Considerations

This MIB module does not define any management objects. Instead, it defines a (set of) textual convention(s) which may be used by other MIB modules to define management objects.

Meaningful security considerations can only be written in the MIB modules that define management objects. Therefore, this document has no impact on the security of the Internet.

8. Acknowledgements

   The editor would like to thank:  Bert Wijnen (Lucent) for his
   original suggestion that the 'IANACharset' textual convention should
   be extracted from Printer MIB v2 [RFC3805]; Ron Bergman (Hitachi
   Printing Solutions) and Harry Lewis (IBM) for their many years of
   effort as editors of Printer MIB v2 [RFC3805].

9. References

9.1. Normative References

   [RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
                Requirement Levels", BCP 14, RFC 2119, March 1997.
   
   [RFC2277]    Alvestrand, H., "IETF Policy on Character Sets and
                Languages", RFC 2277, January 1998.
   
   [RFC2578]    McCloghrie, K., Perkins, D., and J. Schoenwaelder,
                "Structure of Management Information Version 2 (SMIv2)",
                STD 58, RFC 2578, April 1999.
   
   [RFC2579]    McCloghrie, K., Perkins, D., and J. Schoenwaelder,
                "Textual Conventions for SMIv2", STD 58, RFC 2579, April
                1999.
   
   [RFC2580]    McCloghrie, K., Perkins, D., and J. Schoenwaelder,
                "Conformance Statements for SMIv2", STD 58, RFC 2580,
                April 1999.
   
   [RFC2978]    Freed, N. and J. Postel, "IANA Charset Registration
                Procedures", BCP 19, RFC 2978, October 2000.
   
   [RFC3411]    Harrington, D., Presuhn, R., and B. Wijnen, "An
                Architecture for Describing SNMP Network Management
                Frameworks", STD 62, RFC 3411, December 2002.
   
   [RFC3629]    Yergeau, F., "UTF-8, a transformation format of ISO
                10646", RFC 3629, November 2003.

9.2. Informative References

   [CHARGEN]    IANA Charset MIB Generation Utility (archived at):
                ftp://www.pwg.org/pub/pwg/pmp/tools/ianachar.c
   
   [CHARMIB]    IANA Charset MIB (in the future, to be archived at):
                http://www.iana.org/assignments/ianacharset-mib
   
   [CHARSET]    IANA Charset Registry (archived at):
                http://www.iana.org/assignments/character-sets
   
   [CHARTEMP]   IANA Charset MIB template file (archived at):
                ftp://www.pwg.org/pub/pwg/pmp/tools/ianachar.dat
   
   [RFC1759]    Smith, R., Wright, F., Hastings, T., Zilles, S., and J.
                Gyllenskog.  "Printer MIB", RFC 1759, March 1995.
   
   [RFC3805]    Bergman, R.,  Lewis, H., and I. McDonald, "Printer MIB
                v2", RFC 3805, June 2004.
   
   [RFC3410]    Case, J., Mundy, P., Partain, D., and B. Stewart,
                "Introduction and Applicability Statements for
                Internet-Standard Network Management Framework", RFC
                3410, December 2002.

10. Authors' Addresses

   Ira McDonald
   High North Inc
   221 Ridge Ave
   Grand Marais, MI  49839
   USA
   
   Phone: +1 906 494 2434
   EMail: imcdonald@sharplabs.com
   
   Internet Assigned Numbers Authority (IANA)
   ICANN
   4676 Admiralty Way, Suite 330
   Marina del Rey, CA  90292
   USA
   
   Phone: +1 310 823 9358
   EMail: iana@iana.org
   
   Note:  Questions and comments on this IANA Charset MIB [CHARMIB]
   should be sent to the editor (imcdonald@sharplabs.com) and IANA
   (iana@iana.org) with a copy to the IETF Charsets mailing list
   (ietf-charset@iana.org).

11. Full Copyright Statement

Copyright © The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.

Intellectual Property

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org.

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society.