<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.23 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-cf-reg-update-02" category="std" consensus="true" submissionType="IETF" updates="7252" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.26.0 -->
  <front>
    <title abbrev="CoAP Content-Format Registrations Update">Update to the IANA CoAP Content-Formats Registration Procedures</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-cf-reg-update-02"/>
    <author fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author fullname="Esko Dijk">
      <organization>IoTconsultancy.nl</organization>
      <address>
        <email>esko.dijk@iotconsultancy.nl</email>
      </address>
    </author>
    <date year="2025" month="February" day="07"/>
    <area>Web and Internet Transport</area>
    <workgroup>Constrained RESTful Environments</workgroup>
    <keyword>IANA</keyword>
    <keyword>registration</keyword>
    <keyword>update</keyword>
    <keyword>CoAP</keyword>
    <keyword>Content-Format</keyword>
    <abstract>
      <?line 56?>

<t>This document updates RFC7252 regarding the registration procedures for the "CoAP Content-Formats" registry, within the "CoRE Parameters" registry group. The affected registration procedures are
specifically those regarding the IETF Review or IESG Approval portion of the registry as well as those regarding the First Come First Served (FCFS) portion of the registry.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://core-wg.github.io/cf-reg-update/draft-ietf-core-cf-reg-update.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-core-cf-reg-update/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Constrained RESTful Environments Working Group mailing list (<eref target="mailto:core@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/core/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/core-wg/cf-reg-update"/>.</t>
    </note>
  </front>
  <middle>
    <?line 61?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref section="12.3" sectionFormat="of" target="RFC7252"/> describes the registration procedures for the "CoAP Content-Formats" registry within the "CoRE Parameters" registry group <xref target="IANA.core-parameters"/>.
(Note that the columns of this registry have been revised according to <xref target="Err4954"/>.)</t>
      <t>In particular, the text defines the rules for obtaining CoAP Content-Format identifiers from the IETF Review or IESG Approval portion of the registry (256-9999) as well as from the First Come First Served (FCFS) portion of the registry (10000-64999).
For the (FCFS) portion of the registry, these rules do not involve the Designated Expert (DE) and are managed solely by IANA personnel to finalize the registration.</t>
      <t>Unfortunately, the instructions 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, requiring knowledge from multiple documents and technologies, which is not a task to demand solely from the registrar.
This lack of guidance may engender confusion in both the registering party and the registrar, and has already led to erroneous registrations.</t>
      <t>In <xref target="iana"/>, this document updates <xref target="RFC7252"/> by modifying the registration procedures for the "CoAP Content-Formats" registry regarding its IETF Review or IESG Approval portion as well as its FCFS portion, to mitigate the risk of unintentional or malicious errors.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>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 <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document uses the terms "media type", "content coding", "content-type" and "content format" as defined in <xref section="2" sectionFormat="of" target="RFC9193"/>.</t>
    </section>
    <section anchor="examples-for-erroneous-registrations">
      <name>Examples for Erroneous Registrations</name>
      <t>This section contains a few examples of registration requests for a CoAP Content-Format with identifier 64999 in the FCFS space that must not be allowed to succeed.</t>
      <t>The following considerations also apply to alternative examples where, for the same combination of content type and content coding, a registration was requested for a CoAP Content-Format with identifier in the IETF Review or IESG Approval space. That is, such registrations must not be allowed to succeed.</t>
      <section anchor="ex-unknown-mt">
        <name>The Media Type is Unknown</name>
        <t>The registrant requests an FCFS Content-Format ID for an unknown media type:</t>
        <table align="left">
          <name>Attempt at Registering Content-Format for an Unknown Media Type</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/unknown+cbor</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="the-media-type-parameter-is-unknown">
        <name>The Media Type Parameter is Unknown</name>
        <t>The registrant requests an FCFS Content-Format ID for an existing media type with an unknown parameter:</t>
        <table align="left">
          <name>Attempt at Registering Content-Format for Media Type with Unknown Parameter</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/cose; unknown-parameter=1</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="the-media-type-parameter-value-is-invalid">
        <name>The Media Type Parameter Value is Invalid</name>
        <t>The registrant requests an FCFS Content-Format ID for an existing media type with an invalid parameter value:</t>
        <table align="left">
          <name>Attempt at Registering Content-Format for Media Type with Invalid Parameter Value</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/cose; cose-type=invalid</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="the-content-coding-is-unknown">
        <name>The Content Coding is Unknown</name>
        <t>The registrant requests an FCFS Content-Format ID for an existing media type with an unknown content coding:</t>
        <table align="left">
          <name>Attempt at Registering Content-Format with Unknown Content Coding</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/senml+cbor</td>
              <td align="left">inflate</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="duplicate-entry-with-default-media-type-parameters">
        <name>Duplicate Entry with Default Media Type Parameters</name>
        <t>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 64900 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="left">
          <name>Attempt at Registering an Equivalent Logical Entry with a Different Content-Format ID (1)</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/my</td>
              <td align="left">-</td>
              <td align="left">64900</td>
            </tr>
            <tr>
              <td align="left">application/my; parameter=default</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="duplicate-entry-with-default-content-coding">
        <name>Duplicate Entry with Default Content Coding</name>
        <t>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 64900 where the "Content Coding" field is left empty.</t>
        <table align="left">
          <name>Attempt at Registering an Equivalent Logical Entry with a Different Content-Format ID (2)</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/my</td>
              <td align="left">-</td>
              <td align="left">64900</td>
            </tr>
            <tr>
              <td align="left">application/my</td>
              <td align="left">identity</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="duplicate-entry-with-equivalent-parameter">
        <name>Duplicate Entry with Equivalent Parameter</name>
        <t>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 previously registered Content-Format that also includes this parameter.
However, the semantics of the parameter value are identical to the existing registration.</t>
        <t>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"/>.
Since for URNs, the Namespace Identifier (<tt>foo</tt> in the example) is defined as case insensitive, the two registrations are semantically identical.</t>
        <table align="left">
          <name>Attempt at Registering an Equivalent Logical Entry with a Different Content-Format ID (3)</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/eat+cwt; eat_profile="urn:foo:1"</td>
              <td align="left">-</td>
              <td align="left">64900</td>
            </tr>
            <tr>
              <td align="left">application/eat+cwt; eat_profile="urn:FOO:1"</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document hardens the registration procedures of CoAP Content-Formats in ways that reduce the chances of malicious manipulation of the associated registry.</t>
      <t>Other than that, it does not change the Security Considerations of <xref target="RFC7252"/>.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t><cref anchor="replace-self">RFC Editor: in this section, please replace RFCthis with the RFC number assigned to this document and remove this note.</cref></t>
      <t>The CoAP Content-Formats registration procedures defined in <xref section="12.3" sectionFormat="of" target="RFC7252"/> are modified as shown in <xref target="tbl-new-cf-proc"/>.</t>
      <table anchor="tbl-new-cf-proc">
        <name>Updated CoAP Content-Formats Registration Procedures</name>
        <thead>
          <tr>
            <th align="left">Range</th>
            <th align="left">Registration Procedures</th>
            <th align="left">Note</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0-255</td>
            <td align="left">Expert Review</td>
            <td align="left">Review procedure described in RFCthis, <xref target="checks"/></td>
          </tr>
          <tr>
            <td align="left">256-9999</td>
            <td align="left">IETF Review with Expert Review or IESG Approval with Expert Review</td>
            <td align="left">Review procedure described in RFCthis, <xref target="checks"/></td>
          </tr>
          <tr>
            <td align="left">10000-64999 (No parameters and empty Content Coding and media type not yet used in this registry)</td>
            <td align="left">First Come First Served</td>
            <td align="left">The corresponding media type must be registered (or approved for publication) in the "Media Types" registry <xref target="IANA.media-types"/></td>
          </tr>
          <tr>
            <td align="left">10000-64999 (Includes parameters and/or Content Coding and/or media type appears in this registry)</td>
            <td align="left">Expert Review</td>
            <td align="left">Review procedure described in RFCthis, <xref target="checks"/></td>
          </tr>
          <tr>
            <td align="left">65000-65535</td>
            <td align="left">Experimental use (no operational use)</td>
            <td align="left"> </td>
          </tr>
        </tbody>
      </table>
      <t>The 256-9999 range now has registration procedures requiring IETF Review with Expert Review or IESG Approval with Expert Review. In particular:</t>
      <ul spacing="normal">
        <li>
          <t>All assignments according to "IETF Review with Expert Review" are made on an "IETF Review" basis per <xref section="4.8" sectionFormat="of" target="BCP26"/> with "Expert Review" additionally required per <xref section="4.5" sectionFormat="of" target="BCP26"/>.  </t>
          <t>
The procedure for early IANA allocation of "standards track code points" defined in <xref target="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"/>.</t>
        </li>
        <li>
          <t>All assignments according to "IESG Approval with Expert Review" are made on an "IESG Approval" basis per <xref section="4.10" sectionFormat="of" target="BCP26"/> with "Expert Review" additionally required per <xref section="4.5" sectionFormat="of" target="BCP26"/>.</t>
        </li>
      </ul>
      <t>The 10000-64999 range now has two separate registration procedures.
If the registration consists solely of a registered media type name in the "Content Type" field, without any parameter names or "Content Coding", and the media type has not yet been used in this registry, then the policy is FCFS, as before.
In all other cases, the policy will be Expert Review, following the checklist described in <xref target="checks"/>.</t>
      <t>A new column with the title "Note" has been added to the registry, which contains information about the expected review procedure.</t>
      <section anchor="temporary-content-format-registrations">
        <name>Temporary Content-Format Registrations</name>
        <t>This section clarifies that the CoAP Content-Formats registry allows temporary registrations within the 0-255 and 256-9999 ranges.
The range 10000-64999 does not allow temporary registrations.</t>
        <t>A temporary registration may be created for example by an IANA early allocation action, requested by the authors of an Internet Draft in the IETF stream.
Or it may be created because the referenced media type is still provisional (that is, included in the IANA Provisional Standard Media Type Registry).</t>
        <t>A temporary registration is marked by an IANA note with the label "TEMPORARY" in the corresponding registry entry.
Once the required review procedure for the temporary ID has successfully completed, and the referenced media type is included in the IANA Media Types registry, IANA must remove the "TEMPORARY" label so that the entry becomes permanent.
If the requested temporary entry does not successfully pass its required review procedure, IANA must remove the entry again 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, or when the referenced provisional media type is abandoned.</t>
      </section>
      <section anchor="adding-the-media-type-column-to-the-registry">
        <name>Adding the Media Type Column to the Registry</name>
        <t>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 is requested to add a new column "Media Type" to the registry.
This new column can be placed directly to the right of the existing "Content Type" column.</t>
        <t>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 IANA "Provisional Standard Media Type" registry <xref target="IANA.provisional-standard-media-types"/>.</t>
        <t>Note that the registration request procedure remains unchanged. A 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">
        <name>Expert Review Procedure</name>
        <t>The Designated Expert is instructed to perform the Expert Review, as described by the following checklist:</t>
        <ol spacing="normal" type="1"><li>
            <t>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>
            <t>The media type associated with the requested Content-Format must exist (or must have been approved for registration) in the "Media Types" registry <xref target="IANA.media-types"/>;</t>
          </li>
          <li>
            <t>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>
            <t>The Content Type is in the preferred format defined in <xref target="preferred-format"/>;</t>
          </li>
          <li>
            <t>If a Content Coding is specified, it must exist (or must have been approved for registration) in the "HTTP Content Coding" registry of the "Hypertext Transfer Protocol (HTTP) Parameters" <xref target="IANA.http-parameters"/>.</t>
          </li>
        </ol>
        <t>For the 0-255 range, in addition to the checks described above, the DE is instructed to also evaluate the requested codepoint concerning the limited availability of the 1-byte codepoint space.
For the 256-9999 range and the 10000-64999 range, a similar criterion may also apply where combinations of media type parameters and content coding choices consume considerable code point space.</t>
        <!-- Should these actually use BCP14 MUSTs? -->

</section>
      <section anchor="preferred-format">
        <name>Preferred Format for the Content Type Field</name>
        <t>This section defines the preferred string format for including a requested Content Type into 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>The preferred string format is as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>For any case-insensitive elements, lowercase characters must be used.
See <xref section="8.3.1" sectionFormat="of" target="RFC9110"/> for a definition of case-insensitive elements and some examples.</t>
          </li>
          <li>
            <t>Parameter values are only quoted if the value is such that it requires use of <tt>quoted-string</tt> per <xref section="5.6.6" sectionFormat="of" target="RFC9110"/>.
Otherwise, a parameter value is included unquoted.</t>
          </li>
          <li>
            <t>A semicolon followed by one space character is used as the separator between media type and parameters.</t>
          </li>
        </ol>
      </section>
      <section removeInRFC="true" anchor="temporary-note-removal">
        <name>Temporary Note Removal</name>
        <t>The following note has been added to the registry as a temporary fix:</t>
        <ul empty="true">
          <li>
            <t>"Note: The validity of the combination of Content Coding, Content Type and parameters is checked prior to assignment."</t>
          </li>
        </ul>
        <t>IANA is instructed to remove this note from the registry when this document is approved for publication.
RFC-Editor: please remove this section once the note has been removed.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="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>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">
          <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>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>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="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>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>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="BCP26">
          <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>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>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>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 anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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>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="RFC8174" target="https://www.rfc-editor.org/info/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>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>
        </referencegroup>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="Err4954" target="https://www.rfc-editor.org/errata/eid4954" quoteTitle="false">
          <front>
            <title>RFC Errata Report 4954</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
          <seriesInfo name="RFC" value="7252"/>
        </reference>
        <reference anchor="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>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>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.http-parameters" target="https://www.iana.org/assignments/http-parameters">
          <front>
            <title>Hypertext Transfer Protocol (HTTP) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.provisional-standard-media-types" target="https://www.iana.org/assignments/provisional-standard-media-types">
          <front>
            <title>Provisional Standard Media Type Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="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>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>
    <?line 279?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thank you
Amanda Baber,
Carsten Bormann,
Francesca Palombini,
and
Marco Tiloca
for your reviews, comments, suggestions and fixes.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
/IohT9fuMQ7+H6ltnGCaPQAA

-->

</rfc>
