rfc9876.original   rfc9876.txt 
Constrained RESTful Environments T. Fossati Internet Engineering Task Force (IETF) T. Fossati
Internet-Draft Linaro Request for Comments: 9876 Linaro
Updates: 7252 (if approved) E. Dijk Updates: 7252 E. Dijk
Intended status: Standards Track IoTconsultancy.nl Category: Standards Track IoTconsultancy.nl
Expires: 11 November 2025 10 May 2025 ISSN: 2070-1721 September 2025
Update to the IANA CoAP Content-Formats Registration Procedures Updates to the IANA Registration Procedures for Constrained Application
draft-ietf-core-cf-reg-update-09 Protocol (CoAP) Content-Formats
Abstract Abstract
This document updates RFC7252 regarding the registration procedures This document updates RFC 7252 by modifying the registration
for the "CoAP Content-Formats" IANA registry, within the "Constrained procedures for the "CoAP Content-Formats" IANA registry, within the
RESTful Environments (CoRE) Parameters" registry group. This "Constrained RESTful Environments (CoRE) Parameters" registry group.
document also introduces a new column, "Media Type", to the registry. This document also introduces a new column, "Media Type", to the
Furthermore, this document reserves Content-Format identifiers 64998 registry. Furthermore, this document reserves Content-Format
and 64999 for use in documentation. identifiers 64998 and 64999 for use in documentation.
About This Document
This note is to be removed before publishing as an RFC.
The latest revision of this draft can be found at https://core-
wg.github.io/cf-reg-update/draft-ietf-core-cf-reg-update.html.
Status information for this document may be found at
https://datatracker.ietf.org/doc/draft-ietf-core-cf-reg-update/.
Discussion of this document takes place on the Constrained RESTful
Environments Working Group mailing list (mailto:core@ietf.org), which
is archived at https://mailarchive.ietf.org/arch/browse/core/.
Subscribe at https://www.ietf.org/mailman/listinfo/core/.
Source for this draft and an issue tracker can be found at
https://github.com/core-wg/cf-reg-update.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 11 November 2025. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9876.
Copyright Notice Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 3 2. Conventions and Definitions
3. Security Considerations . . . . . . . . . . . . . . . . . . . 4 3. Security Considerations
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 4. IANA Considerations
4.1. CoAP Content-Formats Registry . . . . . . . . . . . . . . 4 4.1. CoAP Content-Formats Registry
4.1.1. Temporary Content-Format Registrations . . . . . . . 7 4.1.1. Temporary Content-Format Registrations
4.1.2. Adding the Media Type Column to the Registry . . . . 7 4.1.2. Addition of the Media Type Column to the Registry
4.1.3. Expert Review Procedure . . . . . . . . . . . . . . . 8 4.1.3. Expert Review Procedure
4.1.4. Preferred Format for the Content Type Field . . . . . 9 4.1.4. Preferred Format for the Content Type Field
4.1.5. Examples for Invalid Registration Requests . . . . . 9 4.1.5. Examples of Invalid Registration Requests
4.2. Temporary Note Removal . . . . . . . . . . . . . . . . . 12 4.2. New Note and Reference Additions
4.3. New Note Addition . . . . . . . . . . . . . . . . . . . . 12 4.3. Reserving Content-Format Identifiers 64998 and 64999 for
4.4. Reserving Content-Format Identifiers 64998 and 64999 for Documentation
Documentation . . . . . . . . . . . . . . . . . . . . . . 13 5. References
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.1. Normative References
5.1. Normative References . . . . . . . . . . . . . . . . . . 13 5.2. Informative References
5.2. Informative References . . . . . . . . . . . . . . . . . 14 Acknowledgments
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
Section 12.3 of [RFC7252] describes the registration procedures for Section 12.3 of [RFC7252] describes the registration procedures for
the "CoAP Content-Formats" IANA registry within the "Constrained the "CoAP Content-Formats" IANA registry within the "Constrained
RESTful Environments (CoRE) Parameters" registry group RESTful Environments (CoRE) Parameters" registry group
[IANA.core-parameters]. (Note that the columns of this registry have [IANA.core-params]. (Note that the columns of this registry have
been revised according to [Err4954].) In particular, it defines the been revised according to [Err4954].) In particular, it defines the
rules for obtaining CoAP Content-Format identifiers from the "IETF rules for obtaining Constrained Application Protocol (CoAP) Content-
Review or IESG Approval" range of the registry (256-9999) as well as Format identifiers from the "IETF Review with Expert Review or IESG
from the First Come First Served (FCFS) range of the registry Approval with Expert Review" 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 (10000-64999). For the FCFS range, these rules do not involve the
Designated Expert (DE) and are managed solely by IANA personnel to designated expert and are managed solely by IANA personnel to
finalize the registration. finalize the registration.
Unfortunately, the rules do not explicitly require checking that the Unfortunately, the rules do not explicitly require checking that the
combination of Content-Type (i.e., Media Type with optional combination of Content-Type (i.e., Media Type with optional
parameters) and Content Coding associated with the requested CoAP parameters) and Content Coding associated with the requested CoAP
Content-Format is semantically valid. This task is generally non- Content-Format is semantically valid. This task is generally non-
trivial, requires knowledge from multiple documents and technologies, trivial, requires knowledge from multiple documents and technologies,
and should not be solely demanded from the registrar. This lack of and should not be solely demanded from the registrar. This lack of
guidance may engender confusion in both the registering party and the guidance may engender confusion in both the registering party and the
registrar, and has already led to erroneous registrations. registrar, and it has already led to erroneous registrations.
This document updates [RFC7252] by modifying the registration This document updates [RFC7252] by modifying the registration
procedures for the "CoAP Content-Formats" registry to mitigate the procedures for the "CoAP Content-Formats" registry to mitigate the
risk of unintentional or malicious errors. These updates amend the risk of unintentional or malicious errors. These updates amend the
different ranges of the registry, introduce a review procedure to be different ranges of the registry, introduce a review procedure to be
performed for most ranges of the registry, and allow the registration performed for most ranges of the registry, and allow the registration
of temporary Content-Format identifiers. This document also of temporary Content-Format identifiers. This document also
introduces a new column, "Media Type", to the registry. Furthermore, introduces a new column, "Media Type", to the registry. Furthermore,
this document reserves Content-Format identifiers 64998 and 64999 for this document reserves Content-Format identifiers 64998 and 64999 for
use in documentation. use in documentation.
skipping to change at page 4, line 7 skipping to change at line 118
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
This document uses the terms "Media Type", "Content Coding", This document uses the terms "Media Type", "Content Coding",
"Content-Type", and "Content Format" as defined in Section 2 of "Content-Type", and "Content Format" as defined in Section 2 of
[RFC9193]. In this document, those terms are fully capitalized. [RFC9193]. In this document, those terms are fully capitalized.
3. Security Considerations 3. Security Considerations
This document hardens the registration procedures of CoAP Content- This document updates the registration procedures of CoAP Content-
Formats in ways that reduce the chances of malicious manipulation of Formats to reduce the chances of malicious manipulation of the
the associated registry. associated registry.
Other than that, it does not change the Security Considerations of Otherwise, it does not change the Security Considerations of
[RFC7252]. [RFC7252].
4. IANA Considerations 4. IANA Considerations
This document updates the IANA procedures defined in [RFC7252] for This document updates the IANA procedures defined in [RFC7252] for
registering CoAP Content-Formats as described in Section 4.1. It registering CoAP Content-Formats as described in Section 4.1. It
also removes a note that was added to the registry as a temporary also adds a new note concerning temporary registrations (Section 4.2)
patch (Section 4.2), adds a new note concerning temporary and reserves Content-Format IDs 64998 and 64999 for documentation
registrations (Section 4.3) and reserves Content-Format IDs 64998 and (Section 4.3).
64999 for documentation (Section 4.4).
4.1. CoAP Content-Formats Registry 4.1. CoAP Content-Formats Registry
This section and its subsections replace Section 12.3 of [RFC7252]. This section and its subsections replace Section 12.3 of [RFC7252].
// RFC Editor: in this section, please replace RFCthis with the RFC
// number assigned to this document and remove this note.
Internet Media Types are identified by a string, such as Internet Media Types are identified by a string, such as
"application/xml" [RFC2046]. In order to minimize the overhead of "application/xml" [RFC2046]. In order to minimize the overhead of
using Media Types to indicate the format of payloads, [RFC7252] has using Media Types to indicate the format of payloads, [RFC7252] has
defined a registry for a subset of Internet Media Types to be used in 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 CoAP and assigned each, in combination with a Content Coding, a
numeric identifier. The name of the registry is "CoAP Content- numeric identifier. The name of the registry is "CoAP Content-
Formats", within the "CoRE Parameters" registry group. Formats", within the "Constrained RESTful Environments (CoRE)
Parameters" registry group.
Each entry in the registry must include the Media Type registered Each entry in the registry must include the Content Type, the Content
with IANA, the numeric identifier in the range 0-65535 to be used for Coding (if any), the Media Type registered with IANA, the numeric
that Media Type in CoAP, the Content Coding associated with this identifier in the range 0-65535 to be used for that Media Type in
identifier, and a reference to a document describing what a payload CoAP, and a reference to a document describing what a payload with
with that Media Type means semantically. that Media Type means semantically.
CoAP does not include a separate way to convey Content Coding CoAP does not include a separate way to convey Content Coding
information with a request or response, and for that reason the information with a request or response; for that reason, the Content
Content Coding is also specified for each identifier (if any). If Coding (if any) is also specified for each identifier. If multiple
multiple Content Codings will be used with a Media Type, then a Content Codings will be used with a Media Type, then a separate
separate Content-Format identifier for each is to be registered. Content-Format identifier for each is to be registered. Similarly,
Similarly, other parameters related to an Internet Media Type can be other parameters related to an Internet Media Type can be defined for
defined for a CoAP Content-Format entry. a CoAP Content-Format entry.
The registration procedures for CoAP Content-Formats are described in The registration procedures for CoAP Content-Formats are described in
Table 1. Table 1.
+=============+==============+======================================+ +=============+===============+=====================================+
| Range | Registration | Notes | | Range | Registration | Note |
| | Procedures | | | | Procedures | |
+=============+==============+======================================+ +=============+===============+=====================================+
| 0-255 | Expert | Review procedure described in | | 0-255 | Expert Review | Review procedure described in |
| | Review | RFCthis, Section 4.1.3. | | | | RFC 9876, Section 4.1.3. |
+-------------+--------------+--------------------------------------+ +-------------+---------------+-------------------------------------+
| 256-9999 | IETF Review | Review procedure described in | | 256-9999 | IETF Review | Review procedure described in |
| | with Expert | RFCthis, Section 4.1.3 | | | with Expert | RFC 9876, Section 4.1.3 |
| | Review or | | | | Review or | |
| | IESG | | | | IESG Approval | |
| | Approval | | | | with Expert | |
| | with Expert | | | | Review | |
| | Review | | +-------------+---------------+-------------------------------------+
+-------------+--------------+--------------------------------------+ | 10000-19999 | Expert Review | Review procedure described in |
| 10000-19999 | Expert | Review procedure described in | | | | RFC 9876, Section 4.1.3. |
| | Review | RFCthis, Section 4.1.3. | +-------------+---------------+-------------------------------------+
+-------------+--------------+--------------------------------------+ | 20000-32999 | First Come | FCFS is allowed if the |
| 20000-32999 | First Come | FCFS is allowed if the | | | First Served | registration has no parameters, |
| | First Served | registration: | | | | the registration has an empty |
| | (FCFS) | * has no parameters, and | | | | Content Coding, the Media Type is |
| | | * has an empty Content Coding, and | | | | not yet used in this registry, |
| | | * the Media Type is not yet used | | | | and the Media Type is registered |
| | | in this registry, and | | | | (or approved for registration) in |
| | | * the Media Type is registered (or | | | | the "Media Types" registry |
| | | approved for registration) in the | | | | [IANA.media-types]. |
| | | "Media Types" registry | +-------------+---------------+-------------------------------------+
| | | [IANA.media-types]. | | 33000-64997 | Expert Review | Review procedure described in |
+-------------+--------------+--------------------------------------+ | | | RFC 9876, Section 4.1.3. |
| 33000-64997 | Expert | Review procedure described in | +-------------+---------------+-------------------------------------+
| | Review | RFCthis, Section 4.1.3. | | 64998-64999 | Reserved for | |
+-------------+--------------+--------------------------------------+ | | Documentation | |
| 64998-64999 | - | Reserved for Documentation | +-------------+---------------+-------------------------------------+
+-------------+--------------+--------------------------------------+ | 65000-65535 | Experimental | No operational use |
| 65000-65535 | Experimental | No operational use | | | Use | |
| | Use | | +-------------+---------------+-------------------------------------+
+-------------+--------------+--------------------------------------+
Table 1: CoAP Content-Formats: Registration Procedures Table 1: Registration Procedures for CoAP Content-Formats
Because the namespace of single-byte identifiers is so small, the Because the namespace of single-byte identifiers is so small, the
IANA policy for additions in the range 0-255 inclusive to the IANA policy for additions in the range 0-255 inclusive to the
registry is "Expert Review" as described in Section 4.5 of [BCP26]. registry is "Expert Review" as described in Section 4.5 of RFC 8126
For the handling of temporary allocations within the 0-255 range, see [BCP26]. For the handling of temporary allocations within the 0-255
also Section 4.1.1, Paragraph 6. range, see also Section 4.1.1, Paragraph 6.
The 256-9999 range has registration procedures requiring "IETF Review The 256-9999 range has registration procedures requiring "IETF Review
with Expert Review" or "IESG Approval with Expert Review." In with Expert Review" or "IESG Approval with Expert Review". In
particular: particular:
* All assignments according to "IETF Review with Expert Review" are * All assignments according to "IETF Review with Expert Review" are
made on an "IETF Review" basis per Section 4.8 of [BCP26] with made on an "IETF Review" basis per Section 4.8 of RFC 8126 [BCP26]
"Expert Review" additionally required per Section 4.5 of [BCP26]. with "Expert Review" additionally required per Section 4.5 of RFC
8126 [BCP26].
The procedure for early IANA allocation of "standards track code The procedure for early IANA allocation of Standards Track code
points" defined in [RFC7120] also applies. When such a procedure points defined in [RFC7120] also applies. When such a procedure
is used, IANA will ask the Designated Expert(s) to approve the is used, IANA will ask the designated expert(s) to approve the
early allocation before registration. In addition, working group early allocation before registration. In addition, working group
chairs are encouraged to consult the Expert(s) early during the chairs are encouraged to consult the expert(s) early during the
process outlined in Section 3.1 of [RFC7120]. process outlined in Section 3.1 of [RFC7120].
* All assignments according to "IESG Approval with Expert Review" * All assignments according to "IESG Approval with Expert Review"
are made on an "IESG Approval" basis per Section 4.10 of [BCP26] are made on an "IESG Approval" basis per Section 4.10 of RFC 8126
with "Expert Review" additionally required per Section 4.5 of [BCP26] with "Expert Review" additionally required per Section 4.5
[BCP26]. of RFC 8126 [BCP26].
The registration policy for the 10000-19999 and 33000-64997 ranges is The registration policy for the 10000-19999 and 33000-64997 ranges is
"Expert Review", following the procedure described in Section 4.1.3. "Expert Review", following the procedure described in Section 4.1.3.
The registration policy for the 20000-32999 range is FCFS. A The registration policy for the 20000-32999 range is FCFS. A
registration request for this range must consist solely of a registration request for this range must consist solely of a
registered Media Type name in the "Content Type" field, without any registered Media Type name in the "Content Type" field, without any
parameter names or "Content Coding", and the Media Type must not have 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 been used in this registry yet. If the criteria do not apply, a
registration for a different range (which requires Expert Review) can registration for a different range (which requires "Expert Review")
be requested. can be requested.
The identifiers between 65000 and 65535 inclusive are reserved for The identifiers between 65000 and 65535 inclusive are reserved for
experiments. They are not meant for vendor-specific use of any kind experiments. They are not meant for vendor-specific use of any kind
and MUST NOT be used in operational deployments. and MUST NOT be used in operational deployments.
In machine-to-machine applications, it is not expected that generic In machine-to-machine (M2M) applications, it is not expected that
Internet Media Types such as text/plain, application/xml or generic Internet Media Types such as text/plain, application/xml, or
application/octet-stream are useful for real applications in the long application/octet-stream are useful for real applications in the long
term. It is recommended that M2M applications making use of CoAP term. It is recommended that M2M applications making use of CoAP
request new Internet Media Types from IANA indicating semantic request new Internet Media Types from IANA indicating semantic
information about how to create or parse a payload. For example, a information about how to create or parse a payload. For example, a
Smart Energy application payload carried as Concise Binary Object Smart Energy application payload carried as Concise Binary Object
Representation (CBOR) might request a more specific type like Representation (CBOR) might request a more specific type like
application/se+cbor. application/se+cbor.
4.1.1. Temporary Content-Format Registrations 4.1.1. Temporary Content-Format Registrations
This section clarifies that the "CoAP Content-Formats" registry This section clarifies that the "CoAP Content-Formats" registry
allows temporary registrations within the 0-64998 range. allows temporary registrations within the 0-64997 range.
A temporary registration may be created for example by an IANA early A temporary registration may be created, for example, by an IANA
allocation action [RFC7120]. If the referenced Media Type is early allocation action [RFC7120]. If the referenced Media Type is
provisional (that is, included in the IANA "Provisional Standard provisional (that is, included in the "Provisional Standard Media
Media Type" registry [IANA.provisional-standard-media-types]) then a Type Registry" [IANA.prov-media-types]), then a created registration
created registration is always temporary. is always temporary.
A temporary registration is marked as such by IANA in the A temporary registration is marked as such by IANA in the
corresponding registry entry. Once the required registration corresponding registry entry. Once the required registration
procedure (defined in Table 1) for the temporary ID has successfully procedure (defined in Table 1) for the temporary ID has successfully
completed, and the referenced Media Type is included in the IANA completed, and the referenced Media Type is included in the "Media
Media Types registry [IANA.media-types], IANA must remove any Types" registry [IANA.media-types], IANA must remove any indication
indication about the temporary nature of the registration so that the about the temporary nature of the registration so that the entry
entry becomes permanent. becomes permanent.
If a temporary registration does not successfully complete the If a temporary registration does not successfully complete the
registration procedure, IANA must remove the entry and set the registration procedure, IANA must remove the entry and set the
Content-Format ID value back to "Unassigned". This may happen for Content-Format ID value back to "Unassigned". This may happen, for
example when an Internet-Draft requesting a Content-Format ID is example, when an Internet-Draft requesting a Content-Format ID is
abandoned. If a temporary registration (in any range) refers to a abandoned. If a temporary registration (in any range) refers to a
provisional Media Type that is abandoned, IANA must remove the entry provisional Media Type that is abandoned, IANA must remove the entry
and set the Content-Format ID value back to "Unassigned". and set the Content-Format ID value back to "Unassigned".
Note that in the 10000-64998 range the abandonment of a document 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. requesting a Content-Format ID does not cause an entry to be removed.
That is because the required registration procedure for this range That is because the required registration procedure for this range
does not require completion of any standards process, nor does it does not require completion of any standards process, nor does it
require a registering document. require a registering document.
Temporary registrations within the 0-255 range are exempt from the Temporary registrations within the 0-255 range are exempt from the
formal renewal process outlined in [RFC7120]. Specifically, IANA formal renewal process outlined in [RFC7120]. Specifically, IANA
will not monitor the removal of registrations in this range. will not monitor the removal of registrations in this range.
Instead, the Designated Experts direct IANA to carry out this task. Instead, the designated experts direct IANA to carry out this task.
4.1.2. Adding the Media Type Column to the Registry 4.1.2. Addition of the Media Type Column to the Registry
To assist users of the "CoAP Content-Formats" registry in finding To assist users of the "CoAP Content-Formats" registry in finding
detailed information about the Media Type associated with each CoAP detailed information about the Media Type associated with each CoAP
Content-Format, and to ensure that a Media Type exists before a new 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 entry can be registered, IANA has added the new column "Media Type"
Type" to the registry. This new column is placed directly to the to the registry. This new column is placed to the right of the
right of the existing "Content Type" column. existing "Content Type" column.
The "Media Type" field for each entry lists the (base) Media Type The "Media Type" field for each entry lists the (base) Media Type
name and provides a hyperlink to registration information for that name and provides a hyperlink to registration information for that
Media Type as recorded by IANA. If the Media Type is provisional, Media Type as recorded by IANA. If the Media Type is provisional,
the hyperlink points to the IANA "Provisional Standard Media Type" the hyperlink points to the "Provisional Standard Media Type
registry [IANA.provisional-standard-media-types]. If a provisional Registry" [IANA.prov-media-types]. If a provisional Media Type
Media Type becomes a permanent Media Type, IANA must update the becomes a permanent Media Type, IANA must update the "Media Type"
"Media Type" field in the associated registry entries to ensure the field in the associated registry entries to ensure the hyperlink
hyperlink directs to the registration information for that Media directs to the registration information for that Media Type.
Type.
Note that the registration request procedure remains unchanged. A In a registration request, the requester does not need to fill out
requester does not need to fill out the "Media Type" field the "Media Type" field separately, as the necessary information is
separately, as the necessary information is already provided in the already provided in the "Content Type" field of the request.
"Content Type" field of the request.
4.1.3. Expert Review Procedure 4.1.3. Expert Review Procedure
The Designated Expert (DE) is instructed to perform the Expert The designated expert is instructed to perform the "Expert Review",
Review, as described by the following checklist: as described by the following checklist:
1. The combination of Content-Type and Content Coding for which the 1. The combination of Content-Type and Content Coding for which the
registration is requested must not be already present in the registration is requested must not be already present in the
"CoAP Content-Formats" registry; "CoAP Content-Formats" registry.
2. The Media Type associated with the requested Content-Format must 2. The Media Type associated with the requested Content-Format must
either be registered in the "Media Types" registry be either registered in the "Media Types" registry
[IANA.media-types] or approved for registration. Alternatively, [IANA.media-types] or approved for registration. Alternatively,
it may be listed in the "Provisional Standard Media Type" it may be listed in the "Provisional Standard Media Type
registry [IANA.provisional-standard-media-types]. The use of Registry" [IANA.prov-media-types]. The use of provisional
provisional standard Media Types is only permitted for Content- standard Media Types is only permitted for Content-Format
Format identifiers within the ranges of 0-255 and 256-9999; identifiers within the ranges of 0-255 and 256-9999.
3. The optional parameter names must have been defined in 3. The optional parameter names must have been defined in
association with the Media Type, and any parameter values association with the Media Type, and any parameter values
associated with such parameter names must be as permitted; associated with such parameter names must be as permitted.
4. The Content Type must be in the preferred format defined in 4. The Content Type must be in the preferred format defined in
Section 4.1.4; Section 4.1.4.
5. If a Content Coding is specified, it must exist (or must have 5. If a Content Coding is specified, it must exist (or must have
been approved for registration) in the "HTTP Content Coding" been approved for registration) in the "HTTP Content Coding
registry of the "Hypertext Transfer Protocol (HTTP) Parameters" Registry" within the "Hypertext Transfer Protocol (HTTP)
[IANA.http-parameters]. Parameters" registry group [IANA.http-params].
For the 0-255 range, in addition to the checks described above, the For the 0-255 range, in addition to the checks described above, the
DE is instructed to also evaluate the requested codepoint concerning designated expert is instructed to also evaluate the requested code
the limited availability of the 1-byte codepoint space. For the point concerning the limited availability of the 1-byte code point
ranges 256-9999, 10000-19999, and 33000-64997, a similar criterion space. For the ranges 256-9999, 10000-19999, and 33000-64997, a
may also apply where combinations of Media Type parameters and similar criterion may also apply where combinations of Media Type
Content Coding choices consume considerable codepoint space. parameters and Content Coding choices consume considerable code point
space.
4.1.4. Preferred Format for the Content Type Field 4.1.4. Preferred Format for the Content Type Field
This section defines the preferred string format for including a This section defines the preferred string format for including a
requested Content Type into the "CoAP Content-Formats" registry. requested Content Type in the "CoAP Content-Formats" registry.
During the review process, the Designated Expert(s) or IANA may During the review process, the designated expert(s) or IANA may
rewrite a requested Content Type into this preferred string format rewrite a requested Content Type into this preferred string format
before approval. before approval.
The preferred string format is as defined in Section 8.3.1 of The preferred string format is as defined in Section 8.3.1 of
[RFC9110] and follows these rules: [RFC9110] and follows these rules:
1. For any case-insensitive elements, lowercase characters are used. 1. For any case-insensitive elements, lowercase characters are used.
2. Parameter values are only quoted if the value is such that it 2. Parameter values are only quoted if the value is such that it
requires use of quoted-string per Section 5.6.6 of [RFC9110]. requires use of a quoted-string per Section 5.6.6 of [RFC9110].
Otherwise, a parameter value is included unquoted. Otherwise, a parameter value is included unquoted.
3. A single semicolon character without any adjacent whitespace 3. A single semicolon character without any adjacent whitespace
characters is used as the separator between Media Type and characters is used as the separator between the Media Type and
parameters. parameters.
4.1.5. Examples for Invalid Registration Requests 4.1.5. Examples of Invalid Registration Requests
This section provides examples of registration requests for the "CoAP This section provides examples of registration requests for the "CoAP
Content-Formats" Registry that are invalid but would be approved Content-Formats" registry that are invalid but would be approved
under the procedure defined in Section 12.3 of [RFC7252]. The under the procedure defined in Section 12.3 of [RFC7252]. The
checklist defined in Section 4.1.3 should prevent any of these checklist defined in Section 4.1.3 should prevent any of these
attempts from succeeding. These examples serve as a representative, attempts from succeeding. These examples serve as a representative,
but not exhaustive, sample to train the DE's eye on invalid but not exhaustive, sample to train the designated expert's eye on
registration attempts. invalid registration attempts.
All the example registration requests use two CoAP Content-Format All the example registration requests use two CoAP Content-Format
identifiers: 64998 and 64999. identifiers: 64998 and 64999.
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. Likewise, such registrations must not be allowed to
succeed.
4.1.5.1. The Media Type is Unknown 4.1.5.1. The Media Type is Unknown
The registrant requests an FCFS Content-Format ID for an unknown The registrant requests an FCFS Content-Format ID for an unknown
Media Type: Media Type:
+==========================+================+=======+ +==========================+================+=======+
| Content Type | Content Coding | ID | | Content Type | Content Coding | ID |
+==========================+================+=======+ +==========================+================+=======+
| application/unknown+cbor | - | 64999 | | application/unknown+cbor | - | 64999 |
+--------------------------+----------------+-------+ +--------------------------+----------------+-------+
Table 2: Attempt at Registering Content-Format Table 2: Attempt at Registering Content-Format
for an Unknown Media Type for an Unknown Media Type
4.1.5.2. The Media Type Parameter is Unknown 4.1.5.2. The Media Type Parameter is Unknown
The registrant requests an FCFS Content-Format ID for an existing The registrant requests an FCFS Content-Format ID for an existing
Media Type with an unknown parameter: Media Type with an unknown parameter:
+======================================+================+=======+ +======================================+================+=======+
| Content Type | Content Coding | ID | | Content Type | Content Coding | ID |
+======================================+================+=======+ +======================================+================+=======+
| application/cose;unknown-parameter=1 | - | 64999 | | application/cose;unknown-parameter=1 | - | 64999 |
+--------------------------------------+----------------+-------+ +--------------------------------------+----------------+-------+
Table 3: Attempt at Registering Content-Format for Media Type Table 3: Attempt at Registering Content-Format for a Media
with Unknown Parameter Type with an Unknown Parameter
4.1.5.3. The Media Type Parameter Value is Invalid 4.1.5.3. The Media Type Parameter Value is Invalid
The registrant requests an FCFS Content-Format ID for an existing The registrant requests an FCFS Content-Format ID for an existing
Media Type with an invalid parameter value: Media Type with an invalid parameter value:
+====================================+================+=======+ +====================================+================+=======+
| Content Type | Content Coding | ID | | Content Type | Content Coding | ID |
+====================================+================+=======+ +====================================+================+=======+
| application/cose;cose-type=invalid | - | 64999 | | application/cose;cose-type=invalid | - | 64999 |
+------------------------------------+----------------+-------+ +------------------------------------+----------------+-------+
Table 4: Attempt at Registering Content-Format for Media Table 4: Attempt at Registering Content-Format for a Media
Type with Invalid Parameter Value Type with an Invalid Parameter Value
4.1.5.4. The Content Coding is Unknown 4.1.5.4. The Content Coding is Unknown
The registrant requests an FCFS Content-Format ID for an existing The registrant requests an FCFS Content-Format ID for an existing
Media Type with an unknown Content Coding: Media Type with an unknown Content Coding:
+========================+================+=======+ +========================+================+=======+
| Content Type | Content Coding | ID | | Content Type | Content Coding | ID |
+========================+================+=======+ +========================+================+=======+
| application/senml+cbor | inflate | 64999 | | application/senml+cbor | inflate | 64999 |
+------------------------+----------------+-------+ +------------------------+----------------+-------+
Table 5: Attempt at Registering Content-Format Table 5: Attempt at Registering Content-Format
with Unknown Content Coding with Unknown Content Coding
4.1.5.5. Duplicate Entry with Default Media Type Parameters 4.1.5.5. Duplicate Entry with Default Media Type Parameters
The registrant requests an FCFS Content-Format ID for a Media Type The registrant requests an FCFS Content-Format ID for a Media Type
that includes a parameter set to its default value, while a that includes a parameter set to its default value, while a
(hypothetical) Content-Format ID 64998 is already registered for this (hypothetical) Content-Format ID 64998 is already registered for this
Media Type without that parameter. As a result, this could lead to Media Type without that parameter. As a result, this could lead to
the creation of two separate Content-Format IDs for the same the creation of two separate Content-Format IDs for the same
"logical" entry. "logical" entry.
+==================================+================+=======+ +==================================+================+=======+
| Content Type | Content Coding | ID | | Content Type | Content Coding | ID |
+==================================+================+=======+ +==================================+================+=======+
| application/my | - | 64998 | | application/my | - | 64998 |
+----------------------------------+----------------+-------+ +----------------------------------+----------------+-------+
| application/my;parameter=default | - | 64999 | | application/my;parameter=default | - | 64999 |
+----------------------------------+----------------+-------+ +----------------------------------+----------------+-------+
Table 6: Attempt at Registering an Equivalent Logical Table 6: Attempt at Registering an Equivalent Logical
Entry with a Different Content-Format ID (1) Entry with a Different Content-Format ID (1)
4.1.5.6. Duplicate Entry with Default Content Coding 4.1.5.6. Duplicate Entry with Default Content Coding
The registrant requests an FCFS Content-Format ID for the "identity" The registrant requests an FCFS Content-Format ID for the "identity"
Content Coding, which is the default coding. If accepted, this Content Coding, which is the default coding. If accepted, this
request would duplicate an entry with (hypothetical) Content-Format request would duplicate an entry with (hypothetical) Content-Format
ID 64998 where the "Content Coding" field is left empty. ID 64998 where the "Content Coding" field is left empty.
+================+================+=======+ +================+================+=======+
| Content Type | Content Coding | ID | | Content Type | Content Coding | ID |
+================+================+=======+ +================+================+=======+
| application/my | - | 64998 | | application/my | - | 64998 |
+----------------+----------------+-------+ +----------------+----------------+-------+
| application/my | identity | 64999 | | application/my | identity | 64999 |
+----------------+----------------+-------+ +----------------+----------------+-------+
Table 7: Attempt at Registering an Table 7: Attempt at Registering an
Equivalent Logical Entry with a Equivalent Logical Entry with a
Different Content-Format ID (2) Different Content-Format ID (2)
4.1.5.7. Duplicate Entry with Equivalent Parameter 4.1.5.7. Duplicate Entry with Equivalent Parameter
The registrant requests an FCFS Content-Format ID for a Media Type The registrant requests an FCFS Content-Format ID for a Media Type
that includes a parameter. The value of this parameter appears that includes a parameter. The value of this parameter appears
distinct from that of a (hypothetical) previously registered Content- distinct from that of a (hypothetical) previously registered Content-
Format ID 64998 that also includes this parameter. However, the Format ID 64998 that also includes this parameter. However, the
semantics of the parameter value are identical to the existing semantics of the parameter value are identical to the existing
registration. registration.
In this example, the eat_profile parameter value (which can be any In this example, the eat_profile parameter value (which can be any
URI) is set as a Uniform Resource Name (URN) [RFC8141]. Since for URI) is set as a Uniform Resource Name (URN) [RFC8141]. Since the
URNs, the Namespace Identifier (example in this example) is defined Namespace Identifier (see example in this example) for URNs is
as case insensitive, the two registrations are semantically defined as case insensitive, the two registrations are semantically
identical. identical.
+=====================================+================+=======+ +=====================================+================+=======+
| Content Type | Content Coding | ID | | Content Type | Content Coding | ID |
+=====================================+================+=======+ +=====================================+================+=======+
| application/ | - | 64998 | | application/ | - | 64998 |
| eat+cwt;eat_profile="urn:example:1" | | | | eat+cwt;eat_profile="urn:example:1" | | |
+-------------------------------------+----------------+-------+ +-------------------------------------+----------------+-------+
| application/ | - | 64999 | | application/ | - | 64999 |
| eat+cwt;eat_profile="urn:EXAMPLE:1" | | | | eat+cwt;eat_profile="urn:EXAMPLE:1" | | |
+-------------------------------------+----------------+-------+ +-------------------------------------+----------------+-------+
Table 8: Attempt at Registering an Equivalent Logical Entry
with a Different Content-Format ID (3)
4.2. Temporary Note Removal
This section is to be removed before publishing as an RFC.
The following note has been added to the registry as a temporary fix:
"Note: The validity of the combination of Content Coding, Content
Type and parameters is checked prior to assignment."
IANA is instructed to remove this note from the registry when this Table 8: Attempt at Registering an Equivalent Logical Entry
document is approved for publication. RFC-Editor: please remove this with a Different Content-Format ID (3)
section once the note has been removed.
4.3. New Note Addition 4.2. New Note and Reference Additions
// RFC Editor: in this section, please replace RFCthis with the RFC IANA has added the following note to the registry:
// number assigned to this document and remove this note.
IANA is instructed to add the following note to the registry: | 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 [RFC7120].
"Note: As per RFCthis, temporary registrations within the 0-255 IANA has also listed this document as an additional reference for the
range are approved by Designated Experts. These registrations are registry.
not subject to the formal [RFC7120] renewal process."
4.4. Reserving Content-Format Identifiers 64998 and 64999 for 4.3. Reserving Content-Format Identifiers 64998 and 64999 for
Documentation Documentation
IANA is instructed to reserve Content-Format identifiers 64998 and IANA has reserved Content-Format identifiers 64998 and 64999 for use
64999 for use in documentation. in documentation.
5. References 5. References
5.1. Normative References 5.1. Normative References
[BCP26] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [BCP26] Best Current Practice 26,
<https://www.rfc-editor.org/info/bcp26>.
At the time of writing, this BCP comprises the following:
Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/rfc/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
[IANA.core-parameters] [IANA.core-params]
IANA, "Constrained RESTful Environments (CoRE) IANA, "Constrained RESTful Environments (CoRE)
Parameters", Parameters",
<https://www.iana.org/assignments/core-parameters>. <https://www.iana.org/assignments/core-parameters>.
[IANA.http-parameters] [IANA.http-params]
IANA, "Hypertext Transfer Protocol (HTTP) Parameters", IANA, "Hypertext Transfer Protocol (HTTP) Parameters",
<https://www.iana.org/assignments/http-parameters>. <https://www.iana.org/assignments/http-parameters>.
[IANA.media-types] [IANA.media-types]
IANA, "Media Types", IANA, "Media Types",
<https://www.iana.org/assignments/media-types>. <https://www.iana.org/assignments/media-types>.
[IANA.provisional-standard-media-types] [IANA.prov-media-types]
IANA, "Provisional Standard Media Type Registry", IANA, "Provisional Standard Media Type Registry",
<https://www.iana.org/assignments/provisional-standard- <https://www.iana.org/assignments/provisional-standard-
media-types>. media-types>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code [RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code
Points", BCP 100, RFC 7120, DOI 10.17487/RFC7120, January Points", BCP 100, RFC 7120, DOI 10.17487/RFC7120, January
2014, <https://www.rfc-editor.org/rfc/rfc7120>. 2014, <https://www.rfc-editor.org/info/rfc7120>.
[RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained [RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained
Application Protocol (CoAP)", RFC 7252, Application Protocol (CoAP)", RFC 7252,
DOI 10.17487/RFC7252, June 2014, DOI 10.17487/RFC7252, June 2014,
<https://www.rfc-editor.org/rfc/rfc7252>. <https://www.rfc-editor.org/info/rfc7252>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC9110] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, [RFC9110] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
Ed., "HTTP Semantics", STD 97, RFC 9110, Ed., "HTTP Semantics", STD 97, RFC 9110,
DOI 10.17487/RFC9110, June 2022, DOI 10.17487/RFC9110, June 2022,
<https://www.rfc-editor.org/rfc/rfc9110>. <https://www.rfc-editor.org/info/rfc9110>.
[RFC9193] Keränen, A. and C. Bormann, "Sensor Measurement Lists [RFC9193] Keränen, A. and C. Bormann, "Sensor Measurement Lists
(SenML) Fields for Indicating Data Value Content-Format", (SenML) Fields for Indicating Data Value Content-Format",
RFC 9193, DOI 10.17487/RFC9193, June 2022, RFC 9193, DOI 10.17487/RFC9193, June 2022,
<https://www.rfc-editor.org/rfc/rfc9193>. <https://www.rfc-editor.org/info/rfc9193>.
5.2. Informative References 5.2. Informative References
[Err4954] RFC Errata Report 4954, RFC 7252, [Err4954] RFC Errata, Erratum ID 4954, RFC 7252,
<https://www.rfc-editor.org/errata/eid4954>. <https://www.rfc-editor.org/errata/eid4954>.
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, Extensions (MIME) Part Two: Media Types", RFC 2046,
DOI 10.17487/RFC2046, November 1996, DOI 10.17487/RFC2046, November 1996,
<https://www.rfc-editor.org/rfc/rfc2046>. <https://www.rfc-editor.org/info/rfc2046>.
[RFC8141] Saint-Andre, P. and J. Klensin, "Uniform Resource Names [RFC8141] Saint-Andre, P. and J. Klensin, "Uniform Resource Names
(URNs)", RFC 8141, DOI 10.17487/RFC8141, April 2017, (URNs)", RFC 8141, DOI 10.17487/RFC8141, April 2017,
<https://www.rfc-editor.org/rfc/rfc8141>. <https://www.rfc-editor.org/info/rfc8141>.
Acknowledgments Acknowledgments
Thank you Amanda Baber, Carsten Bormann, Christer Holmberg, Éric Thank you Amanda Baber, Carsten Bormann, Christer Holmberg, Éric
Vyncke, Francesca Palombini, Ketan Talaulikar, Marco Tiloca, Mohamed Vyncke, Francesca Palombini, Ketan Talaulikar, Marco Tiloca, Mohamed
Boucadair, Paul Wouters, Renzo Navas, and Rich Salz for your reviews, Boucadair, Paul Wouters, Renzo Navas, and Rich Salz for your reviews,
comments, suggestions, and fixes. comments, suggestions, and fixes.
Authors' Addresses Authors' Addresses
 End of changes. 89 change blocks. 
310 lines changed or deleted 272 lines changed or added

This html diff was produced by rfcdiff 1.48.