<?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-03" category="std" consensus="true" submissionType="IETF" updates="7252" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.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-03"/>
    <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="18"/>
    <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" IANA registry, within the "Constrained RESTful Environments (CoRE) Parameters" registry group.
This document also introduces a new column, "Media Type", to 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" IANA registry within the "Constrained RESTful Environments (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" 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 (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, 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 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 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 for certain ranges of the registry.
This document also introduces a new column, "Media Type", to the registry.</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 examples of registration requests for a CoAP Content-Format with identifier 64999 in the FCFS range of the "CoAP Content-Formats" registry, as defined in <xref section="12.3" sectionFormat="of" target="RFC7252"/> and revised according to <xref target="Err4954"/>, which must not be allowed to succeed.</t>
      <t>For each of the following example registration requests, one can create a similar instance where the requested registration is for a CoAP Content-Format identifier within the "IETF Review" or "IESG Approval" range of the registry.
Similarly, 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 (hypothetical) previously registered Content-Format ID 64900 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">Notes</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 registration) 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</td>
            <td align="left">No operational use</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 is "Expert Review," following the procedure described in <xref target="checks"/>.</t>
      <t>A new column with the title "Notes" has been added to the CoAP Content-Formats Registration Procedures shown in <xref target="tbl-new-cf-proc"/>.</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, as requested by the authors of an Internet-Draft in the IETF stream.
Alternatively, it may be created because the referenced media type is still provisional (that is, included in the IANA "Provisional Standard Media Type" registry <xref target="IANA.provisional-standard-media-types"/>).</t>
        <t>A temporary registration is marked by IANA 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 <xref target="IANA.media-types"/>, 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 is 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"/>.
If a provisional media type is later abandoned or becomes a permanent media type, IANA must update the "Media Type" field in the associated entries.
In the case of abandonment, this field should be left empty.
If the media type becomes permanent, the field should include a hyperlink to the registration information for that media type.</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 (DE) 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 either be registered in the "Media Types" registry <xref target="IANA.media-types"/> or approved for registration. Alternatively, it may be listed in the "Provisional Standard Media Type" registry <xref target="IANA.provisional-standard-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>
            <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 codepoint 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 defined in <xref section="8.3.1" sectionFormat="of" target="RFC9110"/> and follows these rules:</t>
        <ol spacing="normal" type="1"><li>
            <t>For any case-insensitive elements, lowercase characters are used.</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 single semicolon character without any adjacent whitespace characters 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="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="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>
        <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>
        <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="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 284?>

<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:
H4sIAAAAAAAAA8U7a3PbNrbf+Suw8swde1ekIydOE7Vpq/qx8UwS+/pxO52d
vTcQCUlYU4RKkFa0sv/7nnMAkCBF2blpspvp1BIFHByc94thGAaFLFIxZL2b
RcILwQrFiplgZ6MPI3akRhfwv6wQWRGeqnzOC80uxVTqIueFVBm7yFUskjIX
uhfw8TgXdwCpY1tjl2bmrF4Qw/+nKl8NmS6SIEhUnPE5IJPkfFKEUhSTMFa5
CONJmItpWNK28NnzQJfjudQagBWrBWw4O7k+DbJyPhb5MDDL9JB9d3B4EODn
YRDDsSLTJTwt8lIEgOfzgOeCA76/ijHjWcLOAOM8EwW7znmmFyovesFS5bfT
XJULuleGV5CZSNjlydX1pEzZSXYnc5XN4apAgluxgg3JMGAhURD/5t7N8bvB
Dj8hncxfn1TBnchKwJixzz+XMUOG3q+Arsym7K+4FZ/PuUzhOVLxZ6RnpPIp
Pud5PIPns6JY6OH+Pi7DR/JORG7ZPj7YH+dqqcU+AtjHjVNZzMqxBRkup/sN
3uCKFIlfeMDtyshsjaRq7tl/lNvRrJinvSDgZTFTOVEW7p8aObmeqTnX7FRp
DfSFsxngzTP5T6L2kL2TGc8VPheGEAVtiCZmw88p/Y6XbcI90beKHct/3G6C
PFPXKEtlWvAsXkVZ6kEXsC1KYNvPUhWtVUFG3AUCI2svT4++Gxw8GzLJMx4K
nqcr+xREdshixRfm++vBAFYhJUMNp7iHr5+DyohsnoZxAc9+Obo4eIlwGQst
TDyeHrwZ4pZXg4OX8BWFMiIiL3gOVwWB10P3fC4SyUOUpPoZndyxdpGrO4n6
x9NQwyUTnidhA0Ags4l/5ZM8f/H68IXVygAEVxYr/OHq5N0pSAsgWcwkCHMQ
hiHjYxR5uFxwDQ8ZWIYSZd1qj3akQu2Ck1Hk0Wr5usYWlW1igAj93mWadM8Y
O7t31WdLkFOZuQ2P6x7bPVKXJ3vsoiJRr4JkFDhq3YCnWjGZFblKyhhw4ywT
S+B4Ws6zPuu9Rxqya6Bhr++MsQMYGdrMZZKkIgh20GIRGLItwXp9JegjGxxE
z5masBAF6eGBJULHuRzDaV+LSl+ZSGy97hLNh4co2P2g0C3NwIngYYZQGm+H
4lLDmfE7wcZCZPAIRBNQ4TGAM7Kh4AArgABzLwjO4OY8L2Rcgt3rE+RCfCqA
UhO4hqVTmVqqqHEBt0NIXb5NJijMEwkIs0mu5oYo6JLA7d1JseyBDcEHV39l
owVqDk+BADybCnONmsNs9+DwZfga/u0xMGxLkab4t4J6KnNdwPlz9/FK5Hdw
1d3To9OrvW0wB8/gX/jyBYKNglPLZtxidtD9tbtwolim4FbZnUrvBC09FlpO
M1C8hJ18Woi8YLvHwE90muBDwclkfAq/aZWKdMXGKyMrsFCrLBMp0h/IylP5
T7EhgSDUN2gpihIPSFeGGRIlygh2hZH4tEhlDOHKCgD8Xko4OZ6J+NZofyUf
8zEcRbINhIgtq9AosV0ZiajPyEyRxyQpZmpRkCFjteCZu9nN8JekiGutYklU
oH3mJr+X4O3gUadkaIZWG6Qj5imgDYyXiTUIBde3uGAqMpHTr5nKwiKXd5Kn
fXdDzW4ztUxFAnwlKZiDT5GLVFQGRROqhYhnmUrVVArdpyd6pso0IcKNhWNN
gtgkgG0lUY4VuUUr5fEtEm5aygR8FzJ3xQQICWzLkSKTEs0+MIiNVUUEhCFy
JBJq1cqg5EM3OM1AlnkKUVeyYnAnlAuRg5UQqtQNodARqeh6jb7s4aFvdH3D
C6zXzsKBzM2BS5PVH3QFldIAanNZyCnFxAhPaqJLCWYAtxiJAWBzjkKJF8Cr
5BrpiMrkcASJssQA9CYiR/xJ63RbUfu1WwCvkJPpqFFHjICRoFToVpGFeLjS
26GReqapWm4SBNeKOYS4HK76mDmDM2LQd7B+W475uu5tB5G5M+Q1gn2MBlnS
d4wFBIMYm2GQrQHYzdV1r2/+sg/n9Pny5L9vzi5PjvHz1dvRu3fVh8CuuHp7
fvPuuP5U7zw6f//+5MOx2QxPWeNR0Hs/+q1nyNo7v7g+O/8wetdj5AQbFKh4
hZKSL3KB5oHrwHnhBPes13+CqG0A7ojtrtcQzhwMBq8fHvbst1eD717gt+VM
ZOZIlYH+mq9AtFXAFwuIGxEU8JjFfCELoH0f3QWo/jJjM5A1IOmf/4bk+fuQ
/TCOF4MXP9oHeOvGQ0e4xkMi3OaTjc2Gkh2POo6pSNp43iJ3E9/Rb43vjvje
wx9+glhesHDw6qcfg42gUVuPDuyYg9zUDgAZ3bTy3pPQriCGu1Umpu0hmU2s
YLnpQq8DirtcbI4BDAj1ySc+X7hg4qSyeI2k2CKtLRw8D7QOrIrbC3AbOmxd
jwHKO/0PualanxmFAMyGbbX/dzr9hE3sb710O95Eij0VhUGcPZPxDBwamDDr
pchaGb+gyzgWApwlxSuCw0qL5UThKgRoSdNNlj5oDIQDHEgJDqdAk6rlHNNc
Ci7Ity1RR1p+vAFMPkZdj7B+NPxFgV8UXBnkMACCu8+a7vBpKu3sMLSOtX1F
3G8yjB6AUzviU1iaL+G8eDCW1J2ADsnJEpCL5KJ11bNjQ4eMWSheEAWp3r1b
b06uvx6ZyOkeAdwH92Fo/4MdYL/AcdL19i3Qv8RjOOQeUvF7K6r3wXoI94Xg
800vFRPQOypXvemNCvRfYGxdaclEHy20Lc6ODJ7zeeiiWJWfeLT7A6QSn2AP
YtUOOD0yViHnV6BirLT43nG5Avxm8LUp6lGMruPIW5HvKer+D09Lks+zjCLi
b0RjaaDXNMb4u/wa8kqUxv+Ri3jjDvrGdLbUahPSo3brGv82KW660K9AYPKf
zhzIbII1xa9F2obMNvGypDwuDSaCnWSu1oGBKIfcq1Oi9RfT16cq5bAyi9My
ocC5llstCrT2siD/S2iQKJMPTUXA2e5stYB0TFCmuddxGpDu2TOUCJd/uaTN
ZhIUw7ZYrMrCIFVhEgUjTbkJljZtVhZTnpkCUBfQk8N1acYSvJRAAIXYRKvO
xzQcwHqYwMboJEVmEoI/KkjzVa2VcP/Nn7+vDaUj7R9RY2D3CSTuwB1E8p25
ji9GnB1XaeAml3YHe58jg00ifKnwUbRigphi1WsBdeGZNJGzo43R8Cg4m2Bg
JxYQMfVdIY4OhdwMxSGp0EcTUt+gKafBNjmtA7NeS0MZxFsAHysVwA6GPPi3
yAnaIUuq/5hwHDwqHB7oyjB9W7tEpQ5jiap6bG20TIIKFov8R1y4mhMAg8Ub
JmuBCQNkRWnDNG0TEAJjaw0WsebxUfAWguQ7YYu7rgxX1S9aQQFl7YbByBNr
yCrf1ypYntmc3yYg5oiPYPT+D4L8CVjkjxvwd406YT6CIXy2YjeXZ3umQlhg
YsXBJ0nMLkFktCpzSE8+oE3cvbn8sAeJ009UFXgxwJTySmL2goyCH7U5Hhfr
BYfnZ3VesvtxotRHl/FZdOlUl8fByTHXVHAVmZbYrbHlcDDczRwESdQoZ1b0
+goKCMT7S7wsvveI+KZX5tkQLjAc9B7Vzq17T8/PG3v/Azr7nHQ22GGQK5c5
Wg/slgDlmml/VauY8Ryo+nijBkS4szUPbF7ylTbKAdqDhUTyxzPMdmlfXa0E
PspFmdaOGhZ6FW6vKHcOP6G34BlB7kMcAvgCPMxHEfbUHLPlhgi8KtRSOcQO
FzQWrXeo1BsEf/vfXCxSkONQi3Tyd2PBOq+7jTyfV6LAvgVWjKVRAlMzoy3F
OA0zscQ+NEIlpO/ZJd3zftv8A/yCjSptZNz86/gAgJ6FB4eHsNx2UkylgAC3
Cr6teuF/YaMU6ybrNbU9NNwC4bmOEapYXXqwPqFxBtiLRi2ia82X4+F1mdju
B+V1U6geRJ66bRXwB8/ToECtBBXskqqw6iRxD3Db1v+6p/QnVjlwYqGypJWv
UPVkLHzHsqvIQwEdbADsS9Oes5hevdpvDthupdfv7qLBmfNMTUrsw2GbZMCn
HsbOeXYR4Wsx7OUhIXt4+LwSR4k2CATjRgsSaKYWVkPhIXAFjedOSz+cATVD
PZ2NsO1TQ7YUVcmwKY5Baka9om0abppjSLne4yLfUYDrWBX1WKMfDAnsn9mI
Wq/Y97RdNr+O+eSxpi2aQFyUoQtpFgXHXGOoAka1tk8voldknqrhDWASAe61
ISeJNAyp+6DJBrDDNjCwYYyUpBaTCRVW89S2a7GsGFfuoOemOsCd5NgThMgf
NiuJA0dNExvWQyxoWDEoI+8sdMR+nYnM1DO5dzLcHlW8bw5eSiL1bXereVfv
IcWtrpo4hpD28B0LuEurrYwsdbTqY8eI+sRm2gCclsxNQCMyyF9zal/DKXZo
h06pjzfnAeauuUg30eDZyiLddDXPo0FNfUuW6HNE6nEp7RKqRmG5W6wGz761
XKFU+YavqcONAsAWhaZ8ciPiwQMk5iq2eU1Zg2fCfceBkbI3jlIFojZf7Ff1
DIy869gc92myEa00s1+1sL1T8DrORdGkSaefovDZoLJQEG2tUNwx16L+iRHV
CFMI7Nspiq0wArdhfL2lyaB+z2t8FA09bpl7Z+OBMyOv+VrPLJC9Zj0KV3p0
KboMCICoSjj/HyP+VOyExcltzeZHW2BgijE+0/V0x1Nde2qNaK+33cxgvDaN
icKQyU3fY/r3VoZ9qa4iXttS7z6CiN79G01SjG11zAYdroM1xpEJYw03jBuP
jQnjVY0FNsMGCthpKpJCbNxvB1jDY5yodPpArgeQEHweBaMUl9BQHnaaIJJv
YTUWMQexttpIeU3c1DXkUIEm25sBZLumSKD7Lh9PquPxUr0Lb+2V9Sx+P2Yj
tnpqwPDhYe8xWmMxk+e3hlLWy1jxT/lYpKx3ffL+4vxydPlbz2HaDB8rhGwp
8jyL61Yh2caNCQ1XVKtxggwQ9YvadFrjgOkKJ5SA5VQ4q8dkthC6k5heTPp4
SGr9K0W/uZg79+lf3RBDq1rFTLEOxEChaQQLBIkiPPNMtJPB+ppmT6Uhjesu
wONR5Xor3bagaYDyKc6e0ECTKKxpaifZpsIyxigFHelNZpysSHp2OgVlfIYh
ddbQOpym6NAbe0MKzDtOwxr6GBBSGbIQwC2duffY6OtGk6XVXmMZR0k1vep1
Fo6MybbG2BrJFdhHRQGEphQp15/ZuEfpgXiNDkpEwWVKEmXHc9HEjE2pv+Ht
2uNu1IPvOMiKsWI4X5/bcmGjgEhlNOf67ESQ4a4th9VO3cqC9G0dRn9J0pgk
agwSbc4REdO91RgWYUkhYQlIYIwThG6PnM4KR8aq3NcKIQwUG+k0TjbF6Imb
UDCXSum2CHAXQjKxtxGoIL1IQEw9dQY/5BBHkvQ2rZjHI2NcgLQNFsF6jCFr
O1fpaVPqPHk0cUZ9qInpGy9+fAtzbXoGjygG9vjyWj1Qs5wV4rUd8jb5dqO0
b690M8haT0+ikVOSAk9r+7EGil7UHI/xue1rGAh2mhJk1W87bJJ6w24aajeA
WKPe5vxG/PsE90Eem6PRXWMwnnfK8S0FCILKzNTskoiNKi3La+udCaNzE/Tx
zi50ENUF9akZDMJVmUC7z8ni1Lh7TUcr9cljsXo9GkOoGTPZrHlUsSdb79hw
1yjnlkFl8qRmoNjczU5RenmeC7PNjJMLqG2YVUfedBoq+DAIBpGtOm2fOO6Y
Ip6Qx8BewCbDfavXnPhx5BMaQdXUe8zsf+8wfMSot2eYG86OUBCSUpRm9ewL
ymOP1dtAErfFpUhr78BvYZiIRqXRf988ueUe/TTyiCYxUcFl4eL4R0ZovZyj
nqDdzD4qZm1Oo9sslbhRv+XglWAcU1GGKq76dpImgRuJL4VMekMcqFLTefCY
vE116wrdRtdHaseoBcVCdrgASdKoGFW/hubXhweCRw5ic4ZFL0RMdXojFySU
6KmphtuiymeUdN9eX1+0TvHExkVUb9E00ysh9DYgoItWp1AQC7BdBNF8ncVK
W+t1KUp/3fsWhuf2hQtZF6eqqQkyZJ7xgajMNeOOTzZtGBXaBDKymlGvFBmL
deTX0frEoFkuxkwl8A9h3+Ebf2OZYr/G3nkQjleF8PZSO7F+YaRVpHXJy0bp
p++NWsJVsJFms9+qNriyHX7Pdpr2VG2pWu2DlhWNZ0piS4sKdnNhakXYTRqn
HTcIfvhTGLIr434LGs+HrLqkUhcqPk1iMxyL1j+xMPyRXM5FJcLeTFbRFvlT
clnrnQ2RbhUz/BeLauUAflqf4A4wwYHJPTYMs9WyzErME/Y/Co7rkqWfdGlb
a+qstWKTiMIqjin1Evn3JCoUYHbfyQX9tkppg+htqzFU2NLAexW5umr1NqSd
NDbeWVvG0ktMxjuf0gTbioK70GtwM5EKqsD2GU7S5hT8QVCELxwKWxfG0l6E
QC42bGYujAv4vVTkmoz23LmhRrKhphxS1K/xWP/y0WwKzbU/tuqrh9HL6GX7
jhG+xkk92KXUpFzt2QK/UFBm5gTCfQR6mE1TattLsFxYVHPXbFREefIPUBTg
KkQmhR0j8Ahi6/UuzLORHwXoxRLNrh9hZN7EpW6X/yhivcQkn6fBemjSfZnl
k9hGcHWoleHS7upkXe/D3KCuQ0zkJ+D8j6a2OWR2OkUmnpFrRWvtoaeGdDev
glQgG03pvURjoLxyftQLApe7Ng11VdOQ2lyq/fLVypUQ/EEAVAXfmS3KsRt4
iILL06PwBK6l8iFktgLl1z/FGR3lalZNWpqliX2dFOsm2JUfxe5VM9IN4I55
oV4kb3oTsNzCNOs4ZCsrVQYjfJOMs184LOkHRzwH65CxX1CPs6wfnOY0cxBz
UKCUaC77AewI3vM8VuxaYn0zwIsBsNyaJ1BI4I9VTV1Op1iGActuIhjgLmZs
7QkBer+ZOWq4arwlQb8mD22p26F1pITbzVWZKxwxZ9bqt3rolYYmI6PgX5PB
eKlBQQAA

-->

</rfc>
