Draft: draft-ietf-core-senml

Commentary: This PR should be merged only after PR 
 That looks good . Please note that RFC 2141 has been obsoleted by RFC 8141 . 
 Indeed , we fixed the RFC 2141 reference in -11 . If you can have a look at and send some comments to the mailing list , that would be highly appreciated ; we 'd like to push this to the IESG now . 
 From  's review : Please note that this set is more restricted than the range of characters allowed for URIs in general ( RFC 3986 ) or URNs in particular ( RFC 8141 ) . At the least it would be helpful to point this out , because AFAICS it will limit the URI schemes or URN namespaces that can be used . Good point . I 'd suggest text : " Note that the character set for SenML names is a subset of the characters allowed in URIs . The restricted set was chosen to enable efficient and safe use of names in various systems ( e.g. , as database keys ) . " care needs to be taken in the choice of URIs or URNs as SenML names . " Furthermore , if someone wants to use a URI scheme that allows characters outside that set ( e.g. , the ' tag ' scheme ) , then do those characters need to be encoded somehow ? ( Ick . ) If not , then we should say so . One should not try to put " full URIs " into the names . Rather the names can be used as part of a URI . Perhaps something we should be more clear about . 
 Also ABNF of the set 
 Clarify that dev : urn URIs are OK because they match the charset 
 so I think we have dealt with this and can close it . 
  's proposal for updated text is here : The PR applies the new text with slight modifications . 
 LGTM
The Name value is concatenated to the Base Name value to get the name
of the sensor.  The resulting name needs to uniquely identify and
differentiate the sensor from all others.  It is RECOMMENDED that the
full names are represented as URIs RFC3986 or URNs RFC2141.  One way
to create a unique name is to include some bit string that has
guaranteed uniqueness (such as a 1-wire address) that is assigned to
the device.  Some of the examples in this draft use the device URN
type as specified in I-D.arkko-core-dev-urn.  UUIDs RFC4122 are
another way to generate a unique name.  See sec-privacy for privacy
considerations that apply to the use of long-term stable unique
identifiers.
The resulting concatenated name MUST consist only of characters out
of the set "A" to "Z", "a" to "z", "0" to "9", "-", ":", ".", "/", or
"_" and it MUST start with a character out of the set "A" to "Z", "a"
to "z", or "0" to "9".  This restricted character set was chosen so
that these names can be directly used in other types of URI including
segments of an HTTP path with no special encoding and can be directly
used in many databases and analytic systems.  RFC5952 contains advice
on encoding an IPv6 address in a name.
The Name value is concatenated to the Base Name value to yield the
name of the sensor.  The resulting concatenated name needs to
uniquely identify and differentiate the sensor from all others.  The
concatenated name MUST consist only of characters out of the set "A"
to "Z", "a" to "z", "0" to "9", "-", ":", ".", "/", and "_";
furthermore, it MUST start with a character out of the set "A" to
"Z", "a" to "z", or "0" to "9".  This restricted character set was
chosen so that concatenated names can be used directly within various
URI schemes (including segments of an HTTP path with no special
encoding) and can be used directly in many databases and analytic
systems.  RFC5952 contains advice on encoding an IPv6 address in a
name.  See sec-privacy for privacy considerations that apply to the
use of long-term stable unique identifiers.
Although it is RECOMMENDED that concatenated names are represented as
URIs RFC3986 or URNs RFC2141, the restricted character set specified
above puts strict limits on the URI schemes and URN namespaces that
can be used.  As a result, implementers need to take care in choosing
the naming scheme for concatenated names, because such names both
need to be unique and need to conform to the restricted character
set.  One approach is to include a bit string that has guaranteed
uniqueness (such as a 1-wire address).  Some of the examples within
this document use the device URN namespace as specified in I-D.arkko-
core-dev-urn.  UUIDs RFC4122 are another way to generate a unique
name.  However, the restricted character set does not allow the use
of many URI schemes in names as such.  The use of URIs with
characters incompatible with this set, and possible mapping rules
between the two, are outside of the scope of the present document.