<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc rfcedstyle="yes" ?>
<?rfc subcompact="no" ?>
<?rfc toc="yes"?>
<?rfc sortrefs="no"?>
<?rfc symrefs="yes"?>

<rfc number="5131" category="std">
  <front>

    <title abbrev="LANGTAG TC MIB">A MIB Textual Convention for Language Tags</title>

    <author fullname="David McWalter" initials="D.E." surname="McWalter" role="editor">
      <organization>Data Connection Ltd</organization>
      <address>
        <postal>
          <street>100 Church Street</street>
          <city>Enfield</city>
          <code>EN2 6BQ</code>
          <country>United Kingdom</country>
        </postal>
        <email> dmcw@dataconnection.com </email>
      </address>
    </author>

    <date month="November" year="2007"/>

    <!-- not used for anything ? -->
    <area>Operations and Management</area>

    <!-- WG name at the upperleft corner of the doc, IETF fine for individual submissions -->
    <workgroup>IETF</workgroup>

    <abstract>
      <t>
        This MIB module defines a textual convention to represent BCP 47
        language tags.  The intent is that this
        textual convention will be imported and used in MIB modules that would
        otherwise define their own representation.
      </t>
    </abstract>

  </front>
  <middle>

    <section title="Introduction">
      <t>
        This memo defines a portion of the Management Information Base (MIB)
        for use with network management protocols in the Internet community.
        It defines a textual convention to represent BCP 47 <xref target="RFC4646"/>
        language tags.
      </t>
      <t>
        The LangTag TEXTUAL-CONVENTION defined by this RFC replaces the
        similar LanguageTag TEXTUAL-CONVENTION defined by RFC 2932
        <xref target="RFC2932"/>.
      </t>
      <t>
        The old LanguageTag TEXTUAL-CONVENTION is used by some existing MIB modules.
        New MIB modules should use the LangTag TEXTUAL-CONVENTION, which has been
        created (and is to be preferred) for the following reasons:
      </t>
      <list style="symbols">
        <t>
          Its syntax description is current, and is more comprehensive.
        </t>
        <t>
          It is short enough to use as an index object without subtyping, yet is
          of adequate length to represent any language tag in practice.
        </t>
        <t>
          It is provided in a dedicated MIB module to simplify module dependencies.
        </t>
      </list>
      <t>
        It is not possible to apply changes in syntax and length to an
        existing textual convention.  This is why the creation of a new textual
        convention with a new name was necessary.
      </t>
    </section>

    <section title="Terminology">
      <t>
        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
        <xref target="RFC2119"/>.
      </t>
    </section>

    <section title="The Internet-Standard Management Framework">
      <t>
        For a detailed overview of the documents that describe the current
        Internet-Standard Management Framework, please refer to section 7 of
        RFC 3410 <xref target="RFC3410"/>.
      </t>
      <t>
        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 <xref target="RFC2578"/>, STD 58, RFC 2579
        <xref target="RFC2579"/> and STD 58, RFC 2580 <xref target="RFC2580"/>.
      </t>
    </section>

    <section title="Definitions">
      <figure>
        <artwork align="left">
LANGTAG-TC-MIB DEFINITIONS ::= BEGIN

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

langTagTcMIB MODULE-IDENTITY
    LAST-UPDATED "200711090000Z" -- 9 November 2007
    ORGANIZATION "IETF Operations and Management (OPS) Area"
    CONTACT-INFO "EMail: ops-area@ietf.org
                  Home page: http://www.ops.ietf.org/"
    DESCRIPTION
            "This MIB module defines a textual convention for
            representing BCP 47 language tags."
    REVISION     "200711090000Z" -- 9 November 2007
    DESCRIPTION
           "Initial revision, published as RFC 5131.

            Copyright (C) The IETF Trust (2007).  This version of this
            MIB module is part of RFC 5131; see the RFC itself for full
            legal notices."
    ::= { mib-2 165 }

LangTag ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "1a"
   STATUS      current
   DESCRIPTION
            "A language tag, constructed in accordance with BCP 47.

            Only lowercase characters are allowed.  The purpose of this
            restriction is to provide unique language tags for use as
            indexes.  BCP 47 recommends case conventions for user
            interfaces, but objects using this TEXTUAL-CONVENTION MUST
            use only lowercase.

            Values MUST be well-formed language tags, in conformance
            with the definition of well-formed tags in BCP 47.  An
            implementation MAY further limit the values it accepts to
            those permitted by a 'validating' processor, as defined in
            BCP 47.

            In theory, BCP 47 language tags are of unlimited length.
            The language tag described in this TEXTUAL-CONVENTION is of
            limited length. The analysis of language tag lengths in BCP
            47 confirms that this limit will not pose a problem in
            practice.  In particular, this length is greater than the
            minimum requirements set out in Section 4.3.1.

            A zero-length language tag is not a valid language tag.
            This can be used to express 'language tag absent' where
            required, for example, when used as an index field."
   REFERENCE "RFC 4646 BCP 47"
   SYNTAX      OCTET STRING (SIZE (0 | 2..63))

END
        </artwork>
      </figure>
    </section>

    <section title="Security Considerations">
      <t>
        This MIB module does not define any management objects.  Instead, it
        defines a textual convention that may be imported by other MIB
        modules and used for object definitions.
      </t>
      <t>
        Meaningful security considerations can only be written in the MIB
        modules that define management objects.  This document therefore has
        no impact on the security of the Internet.
      </t>
    </section>

    <section title="IANA Considerations">
      <t>
        LANGTAG-TC-MIB is rooted under the mib-2 subtree.  IANA has
        assigned { mib-2 165 } to the LANGTAG-TC-MIB module
        specified in this document.
      </t>
    </section>

    <section title="Acknowledgements">
      <t>
        This MIB module is a reworking of existing material from RFC 2932.
<!-- [rfced] Does this document (in combination with RFC 5132
<draft-ietf-mboned-ip-mcast-mib-07.txt>) update/obsolete RFC 2932?  -->
      </t>
      <t>
        This module was generated by editing together contributions from
        Randy Presuhn, Dan Romascanu, Bill Fenner, Juergen Schoenwaelder,
        Bert Wijnen, Doug Ewell, and Ira McDonald.
      </t>
    </section>

  </middle>
<?rfc needLines="15" ?>
  <back>

    <!-- references split to informative and normative -->
    <references title="Normative References">
      <?rfc include="reference.RFC.2119" ?>
      <?rfc include="reference.RFC.2578" ?>
      <?rfc include="reference.RFC.2579" ?>
      <?rfc include="reference.RFC.2580" ?>
      <?rfc include="reference.RFC.4646" ?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.2932" ?>
      <?rfc include="reference.RFC.3410" ?>
    </references>

  </back>
</rfc>

