diff --git a/draft-ietf-core-href.md b/draft-ietf-core-href.md
index 47f3055..b9fb767 100644
--- a/draft-ietf-core-href.md
+++ b/draft-ietf-core-href.md
@@ -72,6 +72,7 @@ informative:
I-D.bormann-cbor-notable-tags: notable
RFC9170: use-lose
MNU: I-D.bormann-dispatch-modern-network-unicode
+ RFC6648: x-dash
normative:
RFC4007: zone-orig
I-D.ietf-netmod-rfc6991-bis: 6991bis
@@ -116,18 +117,22 @@ This approach simplifies parsing, comparison, and reference resolution in
environments with severe limitations on processing power, code size, and
memory size.
-This RFC updates RFC 7595 to add a note on how the "URI Schemes"
-registry of RFC 7595 cooperates with the "CRI Scheme Numbers"
-registry created by the present RFC.
+This RFC updates RFC 7595 by adding a column on the "URI Schemes"
+registry as well as a note on how that registry cooperates with the
+"CRI Scheme Numbers for Certain Unregistered Scheme Names" registry
+created by the present RFC.
[^status]
-[^status]: (This "cref" paragraph will be removed by the RFC editor:)\\
- The present revision –25 contains a few more tweaks to address
- follow-on AD review comments as well as comments from the ARTART
- review.
- It is intended to be ready for IESG evaluation.
-
+[^status]: (This "cref" paragraph will be removed by the RFC
+ editor:)\\
+ The present pull request revision is intended as additional input
+ input for IESG evaluation (2025-10-09 telechat), exploring a way
+ to integrate the two URI scheme registries created by RFC 7595 and
+ by this document (issue #140).\\
+ It presents an alternative solution so that can be discussed in
+ detail, not a consensus that this is a better solution than the
+ one in the WG document.
--- middle
@@ -189,9 +194,10 @@ CRI extensions ({{extending}}) can be defined to address some of the
constraints and/or to provide more convenient representations for
certain areas of application.
-This RFC creates a "CRI Scheme Numbers" registry and updates {{RFC7595}}
-to add a note on how this new registry cooperates with the "URI Schemes"
-registry that {{RFC7595}} describes.
+This RFC updates {{RFC7595@-schemes}} by adding a column on the "URI Schemes"
+registry as well as a note on how that registry cooperates with the
+"CRI Scheme Numbers for Certain Unregistered Scheme Names" registry
+created by the present RFC.
## Notational Conventions
@@ -695,8 +701,14 @@ section, mapped to lower case).
(Note that, in {{cddl}}, `scheme-name` is marked as a feature, as only
less constrained CRI implementations might support `scheme-name`.)
-Scheme numbers are unsigned integers that are mapped to and from URI
-scheme names by the "CRI Scheme Numbers" registry ({{cri-reg}}).
+Scheme numbers are unsigned integers that are mapped to and from
+scheme names by exactly one of the following two registries:
+
+* "Uniform Resource Identifier (URI) Schemes" Registry ({{Section 6
+ (IANA Considerations) of RFC7595@-schemes}} as updated by {{upd}}), or
+* "CRI Scheme Numbers for Certain Unregistered Scheme Names" registry
+ ({{cri-reg}}).
+
The relationship of a scheme number to its `scheme-id` is as follows:
~~~ math
@@ -1349,7 +1361,7 @@ and URI scheme names shown in {{scheme-map}}:
| 7 | coaps+tcp |
| 24 | coap+ws |
| 25 | coaps+ws |
-{: #scheme-map title="Mapping CRI scheme numbers and URI scheme names"}
+{: #scheme-map title="Mapping CRI Scheme Numbers and URI Scheme Names"}
### Decomposing a Request CRI into a set of CoAP Options {#decompose-coap}
@@ -1491,7 +1503,7 @@ included in a request containing the Proxy-Cri Option).
| TBD239 | x | x | - | | Proxy-Scheme-Number | uint | 0-3 | (none) |
{: #tab-proxy-scheme-number title="Proxy-Scheme-Number CoAP Option"}
-The Proxy-Scheme-Number Option carries a CRI Scheme Number represented as a
+The Proxy-Scheme-Number Option carries a CRI scheme number represented as a
CoAP unsigned integer.
It is used analogously to Proxy-Scheme as defined in {{Section 5.10.2
of -coap}}.
@@ -1571,18 +1583,109 @@ apply analogously to AIF-CRI {{toid}}.
[^replace-xxxx]
-## CRI Scheme Numbers Registry {#cri-reg}
+## Update to "Uniform Resource Identifier (URI) Schemes" Registry {#upd}
+
+{{RFC7595@-schemes}} is updated to add a column "CRI Scheme Number" to
+the "Uniform Resource Identifier (URI) Schemes" Registry, an unsigned
+integer unique in the union of this registry and the "CRI Scheme Numbers for
+Certain Unregistered Scheme Names" registry ({{cri-reg}}).
+
+The column is initially populated from the numbers in the "CRI scheme
+number" column of entries in {{sec-numbers}} that do refer to registered URI
+schemes.
+Existing rows that are not listed in {{sec-numbers}} at the time of initial
+setup are treated as specified for new registrations below.
+
+Also, the following note is added in the "Uniform
+Resource Identifier (URI) Schemes" Registry {{IANA.uri-schemes}}:
-This specification defines a new "CRI Scheme Numbers" registry in the
+{:quote}
+>
+The CRI Scheme Number column registers numeric identifiers for the URI
+Schemes registered.
+Registrants for the Uniform Resource Identifier (URI) Schemes Registry
+may indicate that there are special requirements on
+the CRI scheme number to be assigned for the new URI Scheme.\\
+If that is not the case, IANA will assign a value autonomously.\\
+If there is a special requirement, the value will be allocated via
+Expert Review by the Designated Expert for the "CRI Scheme Numbers for
+Certain Unregistered Scheme Names" registry in the
+"Constrained RESTful Environments (CoRE) Parameters" registry group
+{{IANA.core-parameters}}.\\
+Registrants that want to indicate special requirements on a CRI
+Scheme Number for a new URI-Scheme assignment are encouraged to notify
+the `core-parameters@ietf.org`
+mailing list of these requirements early.
+
+For the autonomous assignment, IANA will check whether the scheme name
+already has been registered in the "CRI Scheme Numbers for Certain
+Unregistered Scheme Names" registry ({{cri-reg}}).
+
+* If such a registration exists, IANA will assign the same CRI scheme
+ number for the "Uniform Resource Identifier (URI) Schemes" registry
+ that had been assigned in the row of the "CRI Scheme Numbers for
+ Certain Unregistered Scheme Names" registry, and will remove that row
+ from the latter registry autonomously.
+
+* If such a registration does not exist, IANA will autonomously assign
+ a number in the range 1000 to 20000, inclusive, that has not yet
+ been used in either registry.
+
+
+
+## CRI Scheme Numbers for Certain Unregistered Scheme Names Registry {#cri-reg}
+
+This specification defines a new "CRI Scheme Numbers for Certain
+Unregistered Scheme Names" registry in the
"Constrained RESTful Environments (CoRE) Parameters" registry group
{{IANA.core-parameters}}, with the policy "Expert Review" ({{Section 4.5
of RFC8126@-ianacons}}).
-The objective is to have CRI scheme number values registered for all
-registered URI schemes (Uniform Resource Identifier (URI) Schemes
-registry), as well as exceptionally for certain text strings that the
+The objective is to have CRI scheme number values registered for
+certain unregistered URI schemes, i.e., text strings that the
Designated Expert considers widely used in constrained applications in
place of URI scheme names.
+At the time of initial setup of the new column "CRI Scheme Number" in
+the "Uniform Resource Identifier (URI) Schemes" Registry, the rows in
+{{sec-numbers}} that are not referring to registered URI schemes are
+copied into the "CRI Scheme Numbers for Certain Unregistered Scheme
+Names" registry.
+(At the time of writing, these are the two scheme names "mqtt" and "mqtts".)
+
+The Designated Expert performs the Expert Review for the "CRI Scheme
+Numbers for Certain Unregistered Scheme Names" registry, but
+also participates in the process for the "Uniform Resource Identifier
+(URI) Schemes" registry as defined in {{upd}}.
+
+The same CRI scheme number value MUST NOT be assigned both in the "CRI
+Scheme Number" column of the "Uniform Resource Identifier (URI)
+Schemes" registry and in the "CRI Scheme Number" column of the "CRI
+Scheme Numbers for Certain Unregistered Scheme Names" registry.
+
### Instructions for the Designated Expert {#de-instructions}
The expert is instructed to be frugal in the allocation of CRI scheme
@@ -1591,10 +1694,11 @@ representations (1+0 and 1+1 encoding), keeping them in
reserve for applications that are likely to enjoy wide use and can
make good use of their shortness.
-When the expert notices that a registration has been made in the
-Uniform Resource Identifier (URI) Schemes registry (see also {{upd}}),
-the expert is requested to initiate a parallel registration in the CRI
-Scheme Numbers registry.
+When the expert is notified that a registration is impending in the
+Uniform Resource Identifier (URI) Schemes registry (see also {{upd}})
+that has declared a special requirement on the CRI scheme number,
+the expert is assigning the CRI scheme number instead of IANA doing
+that autonomously.
CRI scheme number values in the range between 1000 and
20000 (inclusive) should be assigned unless a shorter representation
in CRIs appears desirable.
@@ -1616,12 +1720,21 @@ Also note that the initial registrations in {{tab-numbers}} in
{{sec-numbers}} already include such registrations for the text strings
"mqtt" and "mqtts".)
-A registration in the CRI Scheme Numbers registry does not imply that
+A registration in the "CRI Scheme Numbers for Certain Unregistered
+Scheme Names" registry does not imply that
a URI scheme under this name exists or has been registered in the
-Uniform Resource Identifier (URI) Schemes registry -- it essentially
+Uniform Resource Identifier (URI) Schemes registry — it essentially
is only providing an integer identifier for an otherwise uninterpreted
text string.
+If a registration is made in the "Uniform Resource Identifier (URI)
+Schemes" registry with a scheme name that has an entry in the "CRI
+Scheme Numbers for Certain Unregistered Scheme Names" registry, the
+CRI scheme number from this entry is copied over to the CRI scheme
+number column of the "Uniform Resource Identifier (URI) Schemes"
+Registry, and the row is deleted from the "CRI Scheme Numbers for
+Certain Unregistered Scheme Names" registry.
+
Any questions or issues that might interest a wider audience might be
raised by the expert on the core-parameters@ietf.org mailing list for
a time-limited discussion.
@@ -1642,34 +1755,10 @@ URI scheme name:
Reference:
: a reference to a document, if available, or the registrant
-The Reference field can simply be a copy of the reference field for the
-URI-Scheme registration if that exists.
-If not, it can contain helpful information (including the name of the
-registrant) that may be available for the registration, with the
-expectation that this will be updated if a URI-Scheme registration
-under that URI scheme name is later made.
-
-### Initial Registrations
-
-The initial registrations for the CRI Scheme Numbers registry are
-provided in {{tab-numbers}} in {{sec-numbers}}.
-
-
-## Update to "Uniform Resource Identifier (URI) Schemes" Registry {#upd}
-
-{{RFC7595@-schemes}} is updated to add the following note in the "Uniform
-Resource Identifier (URI) Schemes" Registry {{IANA.uri-schemes}}:
-
-{:quote}
->
-The CRI Scheme Numbers Registry registers numeric identifiers for what
-essentially are URI Scheme names.
-Registrants for the Uniform Resource Identifier (URI) Schemes Registry
-are requested to make a parallel registration in the CRI Scheme
-Numbers registry.
-The number for this registration will be assigned by the Designated
-Expert for that registry.
-
+The Reference field can contain helpful information (including the
+name of the registrant) that may be available for the registration,
+with the expectation that this information may be made available with
+a URI-Scheme registration that is later made under that URI scheme name.
## CBOR Tags Registry {#tags-iana}
@@ -1838,6 +1927,13 @@ through the CoRE WG Wiki, .
{{tab-numbers}} defines the initial mapping from CRI scheme numbers to
URI scheme names.
+Rows with URI scheme names hat have a registration in "Uniform
+Resource Identifier (URI) Schemes" registry are used to populate the
+new "CRI scheme numbers" column in that registry ({{upd}}).
+Rows with URI scheme names hat do not have a registration in "Uniform
+Resource Identifier (URI) Schemes" registry are used to populate the
+"CRI Scheme Numbers for Certain Unregistered Scheme Names"
+registry ({{cri-reg}}).
{::include code/schemes-numbers.md}
{: #tab-numbers title="Mapping Scheme Numbers to Scheme Names"}