<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-ietf-core-cf-reg-update-09" number="9876" category="std" consensus="true" submissionType="IETF" updates="7252" obsoletes="" tocInclude="true" sortRefs="true" symRefs="true" xml:lang="en" prepTime="2025-11-05T20:18:52" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-core-cf-reg-update-09" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9876" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="CoAP Content-Format Registration Procedure Updates">Updates to the IANA Registration Procedures for Constrained Application Protocol (CoAP) Content-Formats</title>
    <seriesInfo name="RFC" value="9876" stream="IETF"/>
    <author fullname="Thomas Fossati">
      <organization showOnFrontPage="true">Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author fullname="Esko Dijk">
      <organization showOnFrontPage="true">IoTconsultancy.nl</organization>
      <address>
        <email>esko.dijk@iotconsultancy.nl</email>
      </address>
    </author>
    <date month="11" year="2025"/>
    <area>WIT</area>
    <workgroup>core</workgroup>
    <keyword>IANA</keyword>
    <keyword>registration</keyword>
    <keyword>update</keyword>
    <keyword>CoAP</keyword>
    <keyword>Content-Format</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document updates RFC 7252 by modifying the registration procedures for the "CoAP Content-Formats" IANA registry, within the "Constrained RESTful Environments (CoRE) Parameters" registry group.
This document also introduces a new column, "Media Type", to the registry.
Furthermore, this document reserves Content-Format identifiers 64998 and 64999 for use in documentation.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9876" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions-and-definitions">Conventions and Definitions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-coap-content-formats-regist">CoAP Content-Formats Registry</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.1.2">
                  <li pn="section-toc.1-1.4.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.1.1"><xref derivedContent="4.1.1" format="counter" sectionFormat="of" target="section-4.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-temporary-content-format-re">Temporary Content-Format Registrations</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.2.1"><xref derivedContent="4.1.2" format="counter" sectionFormat="of" target="section-4.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-addition-of-the-media-type-">Addition of the Media Type Column to the Registry</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.1.2.3">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.3.1"><xref derivedContent="4.1.3" format="counter" sectionFormat="of" target="section-4.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-expert-review-procedure">Expert Review Procedure</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.1.2.4">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.4.1"><xref derivedContent="4.1.4" format="counter" sectionFormat="of" target="section-4.1.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-preferred-format-for-the-co">Preferred Format for the Content Type Field</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.1.2.5">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.5.1"><xref derivedContent="4.1.5" format="counter" sectionFormat="of" target="section-4.1.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-examples-of-invalid-registr">Examples of Invalid Registration Requests</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-note-and-reference-addi">New Note and Reference Additions</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-reserving-content-format-id">Reserving Content-Format Identifiers 64998 and 64999 for Documentation</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1"><xref section="12.3" sectionFormat="of" target="RFC7252" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7252#section-12.3" derivedContent="RFC7252"/> describes the registration procedures for the "CoAP Content-Formats" IANA registry within the "Constrained RESTful Environments (CoRE) Parameters" registry group <xref target="IANA.core-params" format="default" sectionFormat="of" derivedContent="IANA.core-params"/>.
(Note that the columns of this registry have been revised according to <xref target="Err4954" format="default" sectionFormat="of" derivedContent="Err4954"/>.) In particular, it defines the rules for obtaining Constrained Application Protocol (CoAP) Content-Format identifiers from the "IETF Review or IESG Approval" range of the registry (256-9999) as well as from the "First Come First Served" (FCFS) range of the registry (10000-64999).
For the FCFS range, these rules do not involve the designated expert and are managed solely by IANA personnel to finalize the registration.</t>
      <t indent="0" pn="section-1-2">Unfortunately, the rules do not explicitly require checking that the combination of Content-Type (i.e., Media Type with optional parameters) and Content Coding associated with the requested CoAP Content-Format is semantically valid.
This task is generally non-trivial, requires knowledge from multiple documents and technologies, and should not be solely demanded from the registrar.
This lack of guidance may engender confusion in both the registering party and the registrar, and it has already led to erroneous registrations.</t>
      <t indent="0" pn="section-1-3">This document updates <xref target="RFC7252" format="default" sectionFormat="of" derivedContent="RFC7252"/> by modifying the registration procedures for the "CoAP Content-Formats" registry to mitigate the risk of unintentional or malicious errors.
These updates amend the different ranges of the registry, introduce a review procedure to be performed for most ranges of the registry, and allow the registration of temporary Content-Format identifiers.
This document also introduces a new column, "Media Type", to the registry.
Furthermore, this document reserves Content-Format identifiers 64998 and 64999 for use in documentation.</t>
    </section>
    <section anchor="conventions-and-definitions" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions-and-definitions">Conventions and Definitions</name>
      <t indent="0" pn="section-2-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>",
    "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be
    interpreted as described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
      </t>
      <t indent="0" pn="section-2-2">This document uses the terms "Media Type", "Content Coding", "Content-Type", and "Content Format" as defined in <xref section="2" sectionFormat="of" target="RFC9193" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9193#section-2" derivedContent="RFC9193"/>.
In this document, those terms are fully capitalized.</t>
    </section>
    <section anchor="security-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-3-1">This document updates the registration procedures of CoAP Content-Formats to reduce the chances of malicious manipulation of the associated registry.</t>
      <t indent="0" pn="section-3-2">Otherwise, it does not change the Security Considerations of <xref target="RFC7252" format="default" sectionFormat="of" derivedContent="RFC7252"/>.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-4-1">This document updates the IANA procedures defined in <xref target="RFC7252" format="default" sectionFormat="of" derivedContent="RFC7252"/> for registering CoAP Content-Formats as described in <xref target="iana" format="default" sectionFormat="of" derivedContent="Section 4.1"/>. It also adds a new note concerning temporary registrations (<xref target="new-note-add" format="default" sectionFormat="of" derivedContent="Section 4.2"/>) and reserves Content-Format IDs 64998 and 64999 for documentation (<xref target="reserve-64999" format="default" sectionFormat="of" derivedContent="Section 4.3"/>).</t>
      <section anchor="iana" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-coap-content-formats-regist">CoAP Content-Formats Registry</name>
        <t indent="0" pn="section-4.1-1">This section and its subsections replace <xref section="12.3" sectionFormat="of" target="RFC7252" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7252#section-12.3" derivedContent="RFC7252"/>.</t>
        <t indent="0" pn="section-4.1-2">Internet Media Types are identified by a string, such as "application/xml" <xref target="RFC2046" format="default" sectionFormat="of" derivedContent="RFC2046"/>.
In order to minimize the overhead of using Media Types to indicate the format of payloads, <xref target="RFC7252" format="default" sectionFormat="of" derivedContent="RFC7252"/> has defined a registry for a subset of Internet Media Types to be used in CoAP and assigned each, in combination with a Content Coding, a numeric identifier.
The name of the registry is "CoAP Content-Formats", within the "Constrained RESTful Environments (CoRE) Parameters" registry group.</t>
        <t indent="0" pn="section-4.1-3">Each entry in the registry must include the Content Type, the Content Coding (if any), the Media Type registered with IANA, the numeric identifier in the range 0-65535 to be used for that Media Type in CoAP, and a reference to a document describing what a payload with that Media Type means semantically.</t>
        <t indent="0" pn="section-4.1-4">CoAP does not include a separate way to convey Content Coding information with a request or response; for that reason, the Content Coding (if any) is also specified for each identifier.
If multiple Content Codings  will be used with a Media Type, then a separate Content-Format identifier for each is to be registered.
Similarly, other parameters related to an Internet Media Type can be defined for a CoAP Content-Format entry.</t>
        <t indent="0" pn="section-4.1-5">The registration procedures for CoAP Content-Formats are described in <xref target="tbl-new-cf-proc" format="default" sectionFormat="of" derivedContent="Table 1"/>.</t>
        <table anchor="tbl-new-cf-proc" align="center" pn="table-1">
          <name slugifiedName="name-registration-procedures-for">Registration Procedures for CoAP Content-Formats</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Range</th>
              <th align="left" colspan="1" rowspan="1">Registration Procedures</th>
              <th align="left" colspan="1" rowspan="1">Note</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0-255</td>
              <td align="left" colspan="1" rowspan="1">Expert Review</td>
              <td align="left" colspan="1" rowspan="1">Review procedure described in RFC 9876, <xref target="checks" format="default" sectionFormat="of" derivedContent="Section 4.1.3"/>.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">256-9999</td>
              <td align="left" colspan="1" rowspan="1">IETF Review with Expert Review or IESG Approval with Expert Review</td>
              <td align="left" colspan="1" rowspan="1">Review procedure described in RFC 9876, <xref target="checks" format="default" sectionFormat="of" derivedContent="Section 4.1.3"/>.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">10000-19999</td>
              <td align="left" colspan="1" rowspan="1">Expert Review</td>
              <td align="left" colspan="1" rowspan="1">Review procedure described in RFC 9876, <xref target="checks" format="default" sectionFormat="of" derivedContent="Section 4.1.3"/>.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">20000-32999</td>
              <td align="left" colspan="1" rowspan="1">First Come First Served</td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-4.1-6.2.4.3.1">FCFS is allowed if
		the registration has no parameters, 
		the registration has an empty Content Coding,
		the Media Type is not yet used in this registry, and 
		the Media Type is registered (or approved for registration) in the "Media Types" registry <xref target="IANA.media-types" format="default" sectionFormat="of" derivedContent="IANA.media-types"/>.</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">33000-64997</td>
              <td align="left" colspan="1" rowspan="1">Expert Review</td>
              <td align="left" colspan="1" rowspan="1">Review procedure described in RFC 9876, <xref target="checks" format="default" sectionFormat="of" derivedContent="Section 4.1.3"/>.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">64998-64999</td>
              <td align="left" colspan="1" rowspan="1">Reserved for Documentation</td>
              <td align="left" colspan="1" rowspan="1"/>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">65000-65535</td>
              <td align="left" colspan="1" rowspan="1">Experimental Use</td>
              <td align="left" colspan="1" rowspan="1">No operational use</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-4.1-7">Because the namespace of single-byte identifiers is so small, the IANA policy for additions in the range 0-255 inclusive to the registry is "Expert Review" as described in Section <xref section="4.5" sectionFormat="bare" target="RFC8126" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8126#section-4.5" derivedContent="RFC8126"/> of <xref target="BCP26" format="default" sectionFormat="of" derivedContent="BCP26">RFC 8126</xref>.
For the handling of temporary allocations within the 0-255 range, see also <xref target="expert-review-7120-exemptions" format="default" sectionFormat="of" derivedContent="Section 4.1.1, Paragraph 6"/>.</t>
        <t indent="0" pn="section-4.1-8">The 256-9999 range has registration procedures requiring "IETF Review with Expert Review" or "IESG Approval with Expert Review". In particular:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-9">
          <li pn="section-4.1-9.1">
            <t indent="0" pn="section-4.1-9.1.1">All assignments according to "IETF Review with Expert Review" are made on an "IETF Review" basis per Section <xref section="4.8" sectionFormat="bare" target="RFC8126" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8126#section-4.8" derivedContent="RFC8126"/> of <xref target="BCP26" format="default" sectionFormat="of" derivedContent="BCP26">RFC 8126</xref> with "Expert Review" additionally required per Section <xref section="4.5" sectionFormat="bare" target="RFC8126" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8126#section-4.5" derivedContent="RFC8126"/> of <xref target="BCP26" format="default" sectionFormat="of" derivedContent="BCP26">RFC 8126</xref>.  </t>
            <t indent="0" pn="section-4.1-9.1.2">
The procedure for early IANA allocation of Standards Track code points defined in <xref target="RFC7120" format="default" sectionFormat="of" derivedContent="RFC7120"/> also applies. When such a procedure is used, IANA will ask the designated expert(s) to approve the early allocation before registration. In addition, working group chairs are encouraged to consult the expert(s) early during the process outlined in <xref section="3.1" sectionFormat="of" target="RFC7120" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7120#section-3.1" derivedContent="RFC7120"/>.</t>
          </li>
          <li pn="section-4.1-9.2">
            <t indent="0" pn="section-4.1-9.2.1">All assignments according to "IESG Approval with Expert Review" are made on an "IESG Approval" basis per Section <xref section="4.10" sectionFormat="bare" target="RFC8126" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8126#section-4.10" derivedContent="RFC8126"/> of <xref target="BCP26" format="default" sectionFormat="of" derivedContent="BCP26">RFC 8126</xref> with "Expert Review" additionally required per Section <xref section="4.5" sectionFormat="bare" target="RFC8126" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8126#section-4.5" derivedContent="RFC8126"/> of <xref target="BCP26" format="default" sectionFormat="of" derivedContent="BCP26">RFC 8126</xref>.</t>
          </li>
        </ul>
        <t indent="0" pn="section-4.1-10">The registration policy for the 10000-19999 and 33000-64997 ranges is "Expert Review", following the procedure described in <xref target="checks" format="default" sectionFormat="of" derivedContent="Section 4.1.3"/>.</t>
        <t indent="0" pn="section-4.1-11">The registration policy for the 20000-32999 range is FCFS.
A registration request for this range must consist solely of a registered Media Type name in the "Content Type" field, without any parameter names or "Content Coding", and the Media Type must not have been used in this registry yet.
If the criteria do not apply, a registration for a different range (which requires "Expert Review") can be requested.</t>
        <t indent="0" pn="section-4.1-12">The identifiers between 65000 and 65535 inclusive are reserved for experiments.
They are not meant for vendor-specific use of any kind and <bcp14>MUST NOT</bcp14> be used in operational deployments.</t>
        <t indent="0" pn="section-4.1-13">In machine-to-machine (M2M) applications, it is not expected that generic Internet Media Types such as text/plain, application/xml, or application/octet-stream are useful for real applications in the long term.
It is recommended that M2M applications making use of CoAP request new Internet Media Types from IANA indicating semantic information about how to create or parse a payload.
For example, a Smart Energy application payload carried as Concise Binary Object Representation (CBOR) might request a more specific type like application/se+cbor.</t>
        <section anchor="temporary-content-format-registrations" numbered="true" removeInRFC="false" toc="include" pn="section-4.1.1">
          <name slugifiedName="name-temporary-content-format-re">Temporary Content-Format Registrations</name>
          <t indent="0" pn="section-4.1.1-1">This section clarifies that the "CoAP Content-Formats" registry allows temporary registrations within the 0-64997 range.</t>
          <t indent="0" pn="section-4.1.1-2">A temporary registration may be created, for example, by an IANA early allocation action <xref target="RFC7120" format="default" sectionFormat="of" derivedContent="RFC7120"/>.
If the referenced Media Type is provisional (that is, included in the "Provisional Standard Media Type Registry" <xref target="IANA.prov-media-types" format="default" sectionFormat="of" derivedContent="IANA.prov-media-types"/>), then a created registration is always temporary.</t>
          <t indent="0" pn="section-4.1.1-3">A temporary registration is marked as such by IANA in the corresponding registry entry.
Once the required registration procedure (defined in <xref target="tbl-new-cf-proc" format="default" sectionFormat="of" derivedContent="Table 1"/>) for the temporary ID has successfully completed, and the referenced Media Type is included in the "Media Types" registry <xref target="IANA.media-types" format="default" sectionFormat="of" derivedContent="IANA.media-types"/>, IANA must remove any indication about the temporary nature of the registration so that the entry becomes permanent.</t>
          <t indent="0" pn="section-4.1.1-4">If a temporary registration does not successfully complete the registration procedure, IANA must remove the entry and set the Content-Format ID value back to "Unassigned". This may happen, for example, when an Internet-Draft requesting a Content-Format ID is abandoned.
If a temporary registration (in any range) refers to a provisional Media Type that is abandoned, IANA must remove the entry and set the Content-Format ID value back to "Unassigned".</t>
          <t indent="0" pn="section-4.1.1-5">Note that in the 10000-64997 range, the abandonment of a document requesting a Content-Format ID does not cause an entry to be removed.
That is because the required registration procedure for this range does not require completion of any standards process, nor does it require a registering document.</t>
          <t anchor="expert-review-7120-exemptions" indent="0" pn="section-4.1.1-6">Temporary registrations within the 0-255 range are exempt from the formal renewal process outlined in <xref target="RFC7120" format="default" sectionFormat="of" derivedContent="RFC7120"/>.
Specifically, IANA will not monitor the removal of registrations in this range.
Instead, the designated experts direct IANA to carry out this task.</t>
        </section>
        <section anchor="adding-the-media-type-column-to-the-registry" numbered="true" removeInRFC="false" toc="include" pn="section-4.1.2">
          <name slugifiedName="name-addition-of-the-media-type-">Addition of the Media Type Column to the Registry</name>
          <t indent="0" pn="section-4.1.2-1">To assist users of the "CoAP Content-Formats" registry in finding detailed information about the Media Type associated with each CoAP Content-Format, and to ensure that a Media Type exists before a new entry can be registered, IANA has added the new column "Media Type" to the registry.
This new column is placed to the right of the existing "Content Type" column.</t>
          <t indent="0" pn="section-4.1.2-2">The "Media Type" field for each entry lists the (base) Media Type name and provides a hyperlink to registration information for that Media Type as recorded by IANA.
If the Media Type is provisional, the hyperlink points to the "Provisional Standard Media Type Registry" <xref target="IANA.prov-media-types" format="default" sectionFormat="of" derivedContent="IANA.prov-media-types"/>.
	  If a provisional Media Type becomes a permanent Media Type, IANA must update the "Media Type" field in the associated registry entries to ensure the hyperlink directs to the registration information for that Media Type.</t>
          <t indent="0" pn="section-4.1.2-3">In a registration request, the requester does not need to fill out the "Media Type" field separately, as the necessary information is already provided in the "Content Type" field of the request.</t>
        </section>
        <section anchor="checks" numbered="true" removeInRFC="false" toc="include" pn="section-4.1.3">
          <name slugifiedName="name-expert-review-procedure">Expert Review Procedure</name>
          <t indent="0" pn="section-4.1.3-1">The designated expert is instructed to perform the "Expert Review", as described by the following checklist:</t>
          <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.1.3-2"><li pn="section-4.1.3-2.1" derivedCounter="1.">
              <t indent="0" pn="section-4.1.3-2.1.1">The combination of Content-Type and Content Coding for which the registration is requested must not be already present in the "CoAP Content-Formats" registry.</t>
            </li>
            <li pn="section-4.1.3-2.2" derivedCounter="2.">
              <t indent="0" pn="section-4.1.3-2.2.1">The Media Type associated with the requested Content-Format must be either registered in the "Media Types" registry <xref target="IANA.media-types" format="default" sectionFormat="of" derivedContent="IANA.media-types"/> or approved for registration. Alternatively, it may be listed in the "Provisional Standard Media Type Registry" <xref target="IANA.prov-media-types" format="default" sectionFormat="of" derivedContent="IANA.prov-media-types"/>. The use of provisional standard Media Types is only permitted for Content-Format identifiers within the ranges of 0-255 and 256-9999.</t>
            </li>
            <li pn="section-4.1.3-2.3" derivedCounter="3.">
              <t indent="0" pn="section-4.1.3-2.3.1">The optional parameter names must have been defined in association with the Media Type, and any parameter values associated with such parameter names must be as permitted.</t>
            </li>
            <li pn="section-4.1.3-2.4" derivedCounter="4.">
              <t indent="0" pn="section-4.1.3-2.4.1">The Content Type must be in the preferred format defined in <xref target="preferred-format" format="default" sectionFormat="of" derivedContent="Section 4.1.4"/>.</t>
            </li>
            <li pn="section-4.1.3-2.5" derivedCounter="5.">
              <t indent="0" pn="section-4.1.3-2.5.1">If a Content Coding is specified, it must exist (or must have been approved for registration) in the "HTTP Content Coding Registry" within the "Hypertext Transfer Protocol (HTTP) Parameters" registry group <xref target="IANA.http-params" format="default" sectionFormat="of" derivedContent="IANA.http-params"/>.</t>
            </li>
          </ol>
          <t indent="0" pn="section-4.1.3-3">For the 0-255 range, in addition to the checks described above, the designated expert is instructed to also evaluate the requested code point concerning the limited availability of the 1-byte code point space.
For the ranges 256-9999, 10000-19999, and 33000-64997, a similar criterion may also apply where combinations of Media Type parameters and Content Coding choices consume considerable code point space.</t>
        </section>
        <section anchor="preferred-format" numbered="true" removeInRFC="false" toc="include" pn="section-4.1.4">
          <name slugifiedName="name-preferred-format-for-the-co">Preferred Format for the Content Type Field</name>
          <t indent="0" pn="section-4.1.4-1">This section defines the preferred string format for including a requested Content Type in the "CoAP Content-Formats" registry.
During the review process, the designated expert(s) or IANA may rewrite a requested Content Type into this preferred string format before approval.</t>
          <t indent="0" pn="section-4.1.4-2">The preferred string format is as defined in <xref section="8.3.1" sectionFormat="of" target="RFC9110" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9110#section-8.3.1" derivedContent="RFC9110"/> and follows these rules:</t>
          <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.1.4-3"><li pn="section-4.1.4-3.1" derivedCounter="1.">
              <t indent="0" pn="section-4.1.4-3.1.1">For any case-insensitive elements, lowercase characters are used.</t>
            </li>
            <li pn="section-4.1.4-3.2" derivedCounter="2.">
              <t indent="0" pn="section-4.1.4-3.2.1">Parameter values are only quoted if the value is such that it requires use of a <tt>quoted-string</tt> per <xref section="5.6.6" sectionFormat="of" target="RFC9110" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9110#section-5.6.6" derivedContent="RFC9110"/>.
Otherwise, a parameter value is included unquoted.</t>
            </li>
            <li pn="section-4.1.4-3.3" derivedCounter="3.">
              <t indent="0" pn="section-4.1.4-3.3.1">A single semicolon character without any adjacent whitespace characters is used as the separator between the Media Type and parameters.</t>
            </li>
          </ol>
        </section>
        <section anchor="examples-for-invalid-registration-requests" numbered="true" removeInRFC="false" toc="include" pn="section-4.1.5">
          <name slugifiedName="name-examples-of-invalid-registr">Examples of Invalid Registration Requests</name>
          <t indent="0" pn="section-4.1.5-1">This section provides examples of registration requests for the "CoAP Content-Formats" registry that are invalid but would be approved under the procedure defined in <xref section="12.3" sectionFormat="of" target="RFC7252" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7252#section-12.3" derivedContent="RFC7252"/>.
The checklist defined in <xref target="checks" format="default" sectionFormat="of" derivedContent="Section 4.1.3"/> should prevent any of these attempts from succeeding.
These examples serve as a representative, but not exhaustive, sample to train the designated expert's eye on invalid registration attempts.</t>
          <t indent="0" pn="section-4.1.5-2">All the example registration requests use two CoAP Content-Format identifiers: 64998 and 64999.</t>
          <section anchor="ex-unknown-mt" numbered="true" removeInRFC="false" toc="exclude" pn="section-4.1.5.1">
            <name slugifiedName="name-the-media-type-is-unknown">The Media Type is Unknown</name>
            <t indent="0" pn="section-4.1.5.1-1">The registrant requests an FCFS Content-Format ID for an unknown Media Type:</t>
            <table align="center" pn="table-2">
              <name slugifiedName="name-attempt-at-registering-cont">Attempt at Registering Content-Format for an Unknown Media Type</name>
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Content Type</th>
                  <th align="left" colspan="1" rowspan="1">Content Coding</th>
                  <th align="left" colspan="1" rowspan="1">ID</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/unknown+cbor</td>
                  <td align="left" colspan="1" rowspan="1">-</td>
                  <td align="left" colspan="1" rowspan="1">64999</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section anchor="the-media-type-parameter-is-unknown" numbered="true" removeInRFC="false" toc="exclude" pn="section-4.1.5.2">
            <name slugifiedName="name-the-media-type-parameter-is">The Media Type Parameter is Unknown</name>
            <t indent="0" pn="section-4.1.5.2-1">The registrant requests an FCFS Content-Format ID for an existing Media Type with an unknown parameter:</t>
            <table align="center" pn="table-3">
              <name slugifiedName="name-attempt-at-registering-conte">Attempt at Registering Content-Format for a Media Type with an Unknown Parameter</name>
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Content Type</th>
                  <th align="left" colspan="1" rowspan="1">Content Coding</th>
                  <th align="left" colspan="1" rowspan="1">ID</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/cose;unknown-parameter=1</td>
                  <td align="left" colspan="1" rowspan="1">-</td>
                  <td align="left" colspan="1" rowspan="1">64999</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section anchor="the-media-type-parameter-value-is-invalid" numbered="true" removeInRFC="false" toc="exclude" pn="section-4.1.5.3">
            <name slugifiedName="name-the-media-type-parameter-va">The Media Type Parameter Value is Invalid</name>
            <t indent="0" pn="section-4.1.5.3-1">The registrant requests an FCFS Content-Format ID for an existing Media Type with an invalid parameter value:</t>
            <table align="center" pn="table-4">
              <name slugifiedName="name-attempt-at-registering-conten">Attempt at Registering Content-Format for a Media Type with an Invalid Parameter Value</name>
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Content Type</th>
                  <th align="left" colspan="1" rowspan="1">Content Coding</th>
                  <th align="left" colspan="1" rowspan="1">ID</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/cose;cose-type=invalid</td>
                  <td align="left" colspan="1" rowspan="1">-</td>
                  <td align="left" colspan="1" rowspan="1">64999</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section anchor="the-content-coding-is-unknown" numbered="true" removeInRFC="false" toc="exclude" pn="section-4.1.5.4">
            <name slugifiedName="name-the-content-coding-is-unkno">The Content Coding is Unknown</name>
            <t indent="0" pn="section-4.1.5.4-1">The registrant requests an FCFS Content-Format ID for an existing Media Type with an unknown Content Coding:</t>
            <table align="center" pn="table-5">
              <name slugifiedName="name-attempt-at-registering-content">Attempt at Registering Content-Format with Unknown Content Coding</name>
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Content Type</th>
                  <th align="left" colspan="1" rowspan="1">Content Coding</th>
                  <th align="left" colspan="1" rowspan="1">ID</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/senml+cbor</td>
                  <td align="left" colspan="1" rowspan="1">inflate</td>
                  <td align="left" colspan="1" rowspan="1">64999</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section anchor="duplicate-entry-with-default-media-type-parameters" numbered="true" removeInRFC="false" toc="exclude" pn="section-4.1.5.5">
            <name slugifiedName="name-duplicate-entry-with-defaul">Duplicate Entry with Default Media Type Parameters</name>
            <t indent="0" pn="section-4.1.5.5-1">The registrant requests an FCFS Content-Format ID for a Media Type that includes a parameter set to its default value, while
a (hypothetical) Content-Format ID 64998 is already registered for this Media Type without that parameter.
As a result, this could lead to the creation of two separate Content-Format IDs for the same "logical" entry.</t>
            <table align="center" pn="table-6">
              <name slugifiedName="name-attempt-at-registering-an-e">Attempt at Registering an Equivalent Logical Entry with a Different Content-Format ID (1)</name>
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Content Type</th>
                  <th align="left" colspan="1" rowspan="1">Content Coding</th>
                  <th align="left" colspan="1" rowspan="1">ID</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/my</td>
                  <td align="left" colspan="1" rowspan="1">-</td>
                  <td align="left" colspan="1" rowspan="1">64998</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/my;parameter=default</td>
                  <td align="left" colspan="1" rowspan="1">-</td>
                  <td align="left" colspan="1" rowspan="1">64999</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section anchor="duplicate-entry-with-default-content-coding" numbered="true" removeInRFC="false" toc="exclude" pn="section-4.1.5.6">
            <name slugifiedName="name-duplicate-entry-with-default">Duplicate Entry with Default Content Coding</name>
            <t indent="0" pn="section-4.1.5.6-1">The registrant requests an FCFS Content-Format ID for the "identity" Content Coding, which is the default coding.
If accepted, this request would duplicate an entry with (hypothetical)
Content-Format ID 64998 where the "Content Coding" field is left empty.</t>
            <table align="center" pn="table-7">
              <name slugifiedName="name-attempt-at-registering-an-eq">Attempt at Registering an Equivalent Logical Entry with a Different Content-Format ID (2)</name>
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Content Type</th>
                  <th align="left" colspan="1" rowspan="1">Content Coding</th>
                  <th align="left" colspan="1" rowspan="1">ID</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/my</td>
                  <td align="left" colspan="1" rowspan="1">-</td>
                  <td align="left" colspan="1" rowspan="1">64998</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/my</td>
                  <td align="left" colspan="1" rowspan="1">identity</td>
                  <td align="left" colspan="1" rowspan="1">64999</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section anchor="duplicate-entry-with-equivalent-parameter" numbered="true" removeInRFC="false" toc="exclude" pn="section-4.1.5.7">
            <name slugifiedName="name-duplicate-entry-with-equiva">Duplicate Entry with Equivalent Parameter</name>
            <t indent="0" pn="section-4.1.5.7-1">The registrant requests an FCFS Content-Format ID for a Media Type that includes a parameter.
The value of this parameter appears distinct from that of a (hypothetical) previously registered Content-Format ID 64998 that also includes this parameter.
However, the semantics of the parameter value are identical to the existing registration.</t>
            <t indent="0" pn="section-4.1.5.7-2">In this example, the <tt>eat_profile</tt> parameter value (which can be any URI) is set as a Uniform Resource Name (URN) <xref target="RFC8141" format="default" sectionFormat="of" derivedContent="RFC8141"/>.
Since the Namespace Identifier (<tt>example</tt>, in this case) for URNs is defined as case insensitive, the two registrations are semantically identical.</t>
            <table align="center" pn="table-8">
              <name slugifiedName="name-attempt-at-registering-an-equ">Attempt at Registering an Equivalent Logical Entry with a Different Content-Format ID (3)</name>
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Content Type</th>
                  <th align="left" colspan="1" rowspan="1">Content Coding</th>
                  <th align="left" colspan="1" rowspan="1">ID</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/eat+cwt;eat_profile="urn:example:1"</td>
                  <td align="left" colspan="1" rowspan="1">-</td>
                  <td align="left" colspan="1" rowspan="1">64998</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">application/eat+cwt;eat_profile="urn:EXAMPLE:1"</td>
                  <td align="left" colspan="1" rowspan="1">-</td>
                  <td align="left" colspan="1" rowspan="1">64999</td>
                </tr>
              </tbody>
            </table>
          </section>
        </section>
      </section>
      <section anchor="new-note-add" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-new-note-and-reference-addi">New Note and Reference Additions</name>
        <t indent="0" pn="section-4.2-1">IANA has added the following note to the registry:</t>
        <blockquote pn="section-4.2-2">
          <t indent="0" pn="section-4.2-2.1">Note: As per RFC 9876, temporary registrations within the 0-255 range are approved by designated experts.
	These registrations are not subject to the formal renewal process in <xref target="RFC7120" format="default" sectionFormat="of" derivedContent="RFC7120"/>.</t>
        </blockquote>
        <t indent="0" pn="section-4.2-3">
  IANA has also listed this document as an additional reference for the registry.
</t>
      </section>
      <section anchor="reserve-64999" numbered="true" removeInRFC="false" toc="include" pn="section-4.3">
        <name slugifiedName="name-reserving-content-format-id">Reserving Content-Format Identifiers 64998 and 64999 for Documentation</name>
        <t indent="0" pn="section-4.3-1">IANA has reserved Content-Format identifiers 64998 and 64999 for use in documentation.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references" pn="section-5">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-5.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <referencegroup anchor="BCP26" target="https://www.rfc-editor.org/info/bcp26" derivedAnchor="BCP26">
          <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true">
            <front>
              <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
              <author fullname="M. Cotton" initials="M." surname="Cotton"/>
              <author fullname="B. Leiba" initials="B." surname="Leiba"/>
              <author fullname="T. Narten" initials="T." surname="Narten"/>
              <date month="June" year="2017"/>
              <abstract>
                <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
                <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
                <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="26"/>
            <seriesInfo name="RFC" value="8126"/>
            <seriesInfo name="DOI" value="10.17487/RFC8126"/>
          </reference>
        </referencegroup>
        <reference anchor="IANA.core-params" target="https://www.iana.org/assignments/core-parameters" quoteTitle="true" derivedAnchor="IANA.core-params">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.http-params" target="https://www.iana.org/assignments/http-parameters" quoteTitle="true" derivedAnchor="IANA.http-params">
          <front>
            <title>Hypertext Transfer Protocol (HTTP) Parameters</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types" quoteTitle="true" derivedAnchor="IANA.media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.prov-media-types" target="https://www.iana.org/assignments/provisional-standard-media-types" quoteTitle="true" derivedAnchor="IANA.prov-media-types">
          <front>
            <title>Provisional Standard Media Type Registry</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC7120" target="https://www.rfc-editor.org/info/rfc7120" quoteTitle="true" derivedAnchor="RFC7120">
          <front>
            <title>Early IANA Allocation of Standards Track Code Points</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <date month="January" year="2014"/>
            <abstract>
              <t indent="0">This memo describes the process for early allocation of code points by IANA from registries for which "Specification Required", "RFC Required", "IETF Review", or "Standards Action" policies apply. This process can be used to alleviate the problem where code point allocation is needed to facilitate desired or required implementation and deployment experience prior to publication of an RFC, which would normally trigger code point allocation. The procedures in this document are intended to apply only to IETF Stream documents.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="100"/>
          <seriesInfo name="RFC" value="7120"/>
          <seriesInfo name="DOI" value="10.17487/RFC7120"/>
        </reference>
        <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252" quoteTitle="true" derivedAnchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t indent="0">The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t indent="0">CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9110" target="https://www.rfc-editor.org/info/rfc9110" quoteTitle="true" derivedAnchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t indent="0">The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t indent="0">This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9193" target="https://www.rfc-editor.org/info/rfc9193" quoteTitle="true" derivedAnchor="RFC9193">
          <front>
            <title>Sensor Measurement Lists (SenML) Fields for Indicating Data Value Content-Format</title>
            <author fullname="A. Keränen" initials="A." surname="Keränen"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2022"/>
            <abstract>
              <t indent="0">The Sensor Measurement Lists (SenML) media types support multiple types of values, from numbers to text strings and arbitrary binary Data Values. In order to facilitate processing of binary Data Values, this document specifies a pair of new SenML fields for indicating the content format of those binary Data Values, i.e., their Internet media type, including parameters as well as any content codings applied.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9193"/>
          <seriesInfo name="DOI" value="10.17487/RFC9193"/>
        </reference>
      </references>
      <references anchor="sec-informative-references" pn="section-5.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="Err4954" target="https://www.rfc-editor.org/errata/eid4954" quoteTitle="false" derivedAnchor="Err4954">
          <front>
            <title>Erratum ID 4954</title>
            <author>
              <organization showOnFrontPage="true">RFC Errata</organization>
            </author>
          </front>
          <refcontent>RFC 7252</refcontent>
        </reference>
        <reference anchor="RFC2046" target="https://www.rfc-editor.org/info/rfc2046" quoteTitle="true" derivedAnchor="RFC2046">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t indent="0">This second document defines the general structure of the MIME media typing system and defines an initial set of media types. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2046"/>
          <seriesInfo name="DOI" value="10.17487/RFC2046"/>
        </reference>
        <reference anchor="RFC8141" target="https://www.rfc-editor.org/info/rfc8141" quoteTitle="true" derivedAnchor="RFC8141">
          <front>
            <title>Uniform Resource Names (URNs)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="April" year="2017"/>
            <abstract>
              <t indent="0">A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that is assigned under the "urn" URI scheme and a particular URN namespace, with the intent that the URN will be a persistent, location-independent resource identifier. With regard to URN syntax, this document defines the canonical syntax for URNs (in a way that is consistent with URI syntax), specifies methods for determining URN-equivalence, and discusses URI conformance. With regard to URN namespaces, this document specifies a method for defining a URN namespace and associating it with a namespace identifier, and it describes procedures for registering namespace identifiers with the Internet Assigned Numbers Authority (IANA). This document obsoletes both RFCs 2141 and 3406.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8141"/>
          <seriesInfo name="DOI" value="10.17487/RFC8141"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.a-1">Thank you <contact fullname="Amanda Baber"/>, <contact fullname="Carsten Bormann"/>, <contact fullname="Christer Holmberg"/>,
      <contact fullname="Éric Vyncke"/>, <contact fullname="Francesca       Palombini"/>, <contact fullname="Ketan Talaulikar"/>, <contact fullname="Marco Tiloca"/>, <contact fullname="Mohamed Boucadair"/>,
      <contact fullname="Paul Wouters"/>, <contact fullname="Renzo Navas"/>,
      and <contact fullname="Rich Salz"/> for your reviews, comments,
      suggestions, and fixes.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Thomas Fossati">
        <organization showOnFrontPage="true">Linaro</organization>
        <address>
          <email>thomas.fossati@linaro.org</email>
        </address>
      </author>
      <author fullname="Esko Dijk">
        <organization showOnFrontPage="true">IoTconsultancy.nl</organization>
        <address>
          <email>esko.dijk@iotconsultancy.nl</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
