Internet-Draft CBOR-IP June 2021
Bormann Expires 4 December 2021 [Page]
Workgroup:
CBOR Working Group
Internet-Draft:
draft-bormann-cbor-tag-coap-content-format-00
Published:
Intended Status:
Standards Track
Expires:
Author:
C. Bormann
Universität Bremen TZI

CBOR Tags for CoAP Content Formats

Abstract

This document describes a set of CBOR Tags that encode CoAP Content-Formats (RFC 7252).

Status of This Memo

This Internet-Draft is submitted in full conformance with the 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 4 December 2021.

1. Introduction

[RFC8949] defines a number of CBOR Tags for common items.

Often, there is a need to identify a media type (or content type, i.e., media type optionally used with parameters) for a byte string in a CBOR data item.

[RFC7252] defines the concept of a Content-Format, which is a short 16-bit unsigned integer that identifies a specific content type, optionally together with a content encoding.

This short specification allocates tag numbers 1668546560 (0x63740000) to 1668612095 (0x6374FFFF) for the tagging of representations of specific content formats. The tag content tagged with tag number NNNN (in above range) is a byte string that is to be interpreted as a representation of the content format NNNN-1668546560.

2. Examples

[IANA.core-parameters] defines content formats that can be used as examples:

  • Content-Format 432 stands for media type application/td+json (no parameters). The corresponding tag number is 1668546992 (i.e., 1668546560+432).

    So the following CDDL snippet can be used to identify application/td+json representations:

    td-json = #6.1668546992(bstr)
    

    Note that a byte string is used as the type of the tag content, as a media type representation in general can be any byte string.

  • Content-Format 11050 stands for media type application/json in deflate encoding.

    The corresponding tag number is 1668557610 (i.e., 1668546560+11050).

    So the following CDDL snippet can be used to identify application/json representations compressed in deflate encoding:

    json-deflate = #6.1668546992(bstr)
    

    The byte string as the type for the tag content is appropriate here as the compressed form is an instance of a general byte string.

3. IANA Considerations

IANA is requested to allocate the tag numbers 1668546560 (0x63740000) to 1668612095 (0x6374FFFF) as follows:

Data Item: byte string
Semantics: representation of content-format (RFC7252) NNNN-1668546560

4. Normative References

[IANA.core-parameters]
IANA, "Constrained RESTful Environments (CoRE) Parameters", <http://www.iana.org/assignments/core-parameters>.
[RFC7252]
Shelby, Z., Hartke, K., and C. Bormann, "The Constrained Application Protocol (CoAP)", RFC 7252, DOI 10.17487/RFC7252, , <https://www.rfc-editor.org/info/rfc7252>.
[RFC8949]
Bormann, C. and P. Hoffman, "Concise Binary Object Representation (CBOR)", STD 94, RFC 8949, DOI 10.17487/RFC8949, , <https://www.rfc-editor.org/info/rfc8949>.

Acknowledgements

Michael Richardson prompted us to finally write this up.

Author's Address

Carsten Bormann
Universität Bremen TZI
Postfach 330440
D-28359 Bremen
Germany